Output:
!function() {
	try {
		var var1 = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, stack = new var1.Error().stack;
		stack && (var1._sentryDebugIds = var1._sentryDebugIds || {}, var1._sentryDebugIds[stack] = "9abacc20-28a5-4d5d-8397-64b6b4ba028b", var1._sentryDebugIdIdentifier = "sentry-dbid-9abacc20-28a5-4d5d-8397-64b6b4ba028b");
	} catch (error) {}
}();
(function() {
	try {
		var var2 = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, stack1 = new var2.Error().stack;
		stack1 && (var2._sentryDebugIds = var2._sentryDebugIds || {}, var2._sentryDebugIds[stack1] = "9abacc20-28a5-4d5d-8397-64b6b4ba028b", var2._sentryDebugIdIdentifier = "sentry-dbid-9abacc20-28a5-4d5d-8397-64b6b4ba028b");
	} catch (error1) {}
})();
(function() {
	try {
		var var3 = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, stack2 = new var3.Error().stack;
		stack2 && (var3._sentryDebugIds = var3._sentryDebugIds || {}, var3._sentryDebugIds[stack2] = "9abacc20-28a5-4d5d-8397-64b6b4ba028b", var3._sentryDebugIdIdentifier = "sentry-dbid-9abacc20-28a5-4d5d-8397-64b6b4ba028b");
	} catch (error2) {}
})();
(self.webpackChunktwitch_twilight = self.webpackChunktwitch_twilight || []).push([[88480], {
	376711: (var4, var5, var6) => {
		"use strict";
		var6.d(var5, {
			GL: () => var7,
			Z0: () => var12
		});
		var var7, InvalidTier, var8 = var6(124051), var9 = var6(25470);
		!function(var10) {
			var10.Upsell = "upsell";
			var10.Tier1 = "1000";
			var10.Tier2 = "2000";
			var10.Tier3 = "3000";
		}(var7 || (var7 = {}));
		(function(var11) {
			var11.InvalidTier = "INVALID_TIER";
			var11.SubStatusNotAvailable = "SUB_STATUS_NOT_AVAILABLE";
		})(InvalidTier || (InvalidTier = {}));
		var var12 = function() {
			function fn32(var13, var14) {
				var var15 = this;
				this.extensionId = var13;
				this.isSubscriptionStatusAvailable = var14;
				this.subscribeToChannelWhitelist = var9.Zn.get("ext_sub_to_channel_whitelist", []);
				this.useClientIdWhitelist = var9.Zn.get("ext_use_sub_to_channel_whitelist", true);
				this.onOpen = function(var16) {
					var15.sendActionToClient = function(var17) {
						var16(var17);
					};
				};
				this.resultCallback = function(var18) {
					var15.sendResultToExtension(var18);
				};
				this.onModalResult = function(var19) {
					var15.sendResultToExtension = function(var20) {
						var19({
							action: var8.tv.SubscribeToChannelResult,
							payload: var20
						});
					};
				};
			}
			Object.defineProperty(fn32.prototype, "defaultResult", {
				get: function() {
					return { didSubscribe: false };
				},
				enumerable: false,
				configurable: true
			});
			fn32.prototype.open = function(payload) {
				!this.isSubscriptionStatusAvailable || this.useClientIdWhitelist && -1 === this.subscribeToChannelWhitelist.indexOf(this.extensionId) || (undefined !== Object.values(var7).find((function(item) {
					return item === payload.payload.tier;
				})) ? this.sendActionToClient(payload.payload) : this.close(InvalidTier.InvalidTier));
			};
			fn32.prototype.close = function(var21) {
				this.sendResultToExtension({
					didSubscribe: false,
					errorCode: var21
				});
			};
			return fn32;
		}();
	},
	288480: (var22, var23, var24) => {
		"use strict";
		var24.d(var23, {
			sh: () => var38.sh,
			Z1: () => var38.Z1,
			xF: () => var308,
			WN: () => var38.WN,
			Fw: () => var38.Fw,
			z$: () => var38.z$,
			MB: () => var38.MB,
			HY: () => var38.HY,
			tv: () => var38.tv,
			ZO: () => var203.ZO
		});
		var24(937315);
		var24(578624);
		var24(843643);
		var var25 = var24(331635), var26 = var24(665265), var27 = var24(520309), str = "\nquery MobileExtensionData($channelID: ID!, $extensionID: ID!, $version: String) {\n  mobileExtensionInstallation(channelID: $channelID, extensionID: $extensionID, version: $version) {\n    installation {\n      id\n      extension {\n        id\n        name\n        authorName\n        isBitsEnabled\n        clientID\n        description\n        iconURLs {\n          square24\n          square100\n        }\n        hasIdentityLinking\n        sku\n        summary\n        version\n        views {\n          mobile {\n            viewerURL\n          }\n        }\n        vendorCode\n        state\n        whitelistedConfigURLs\n        whitelistedPanelURLs\n      }\n      activationConfig {\n        anchor\n      }\n			abilities {\n				isBitsEnabled\n				isChatEnabled\n				isSubscriptionStatusAvailable\n			}\n    }\n    token {\n      jwt\n    }\n    helixToken {\n      jwt\n    }\n    configuration {\n      broadcaster {\n        content\n        version\n      }\n      developer {\n        content\n        version\n      }\n      global {\n        content\n        version\n      }\n    }\n  }\n}\n";
		function call(var28) {
			var anchor, var29, var30;
			return (0, var25.__awaiter)(this, undefined, undefined, (function() {
				var mobileExtensionInstallation, var31, jwt, jwt1, var32, activationConfig, abilities, var33, var34, var35, var36;
				return (0, var25.__generator)(this, (function(var37) {
					switch (var37.label) {
						case 0: return [4, var27.F.graphQLRequest(str, (0, var25.__assign)({}, var28))];
						case 1:
							if (mobileExtensionInstallation = var37.sent(), !(var31 = null == mobileExtensionInstallation ? undefined : mobileExtensionInstallation.mobileExtensionInstallation)) throw new Error("Installation not found. It is likely that the provided extension version is not installed on the provided channel");
							if (jwt = var31.token, jwt1 = var31.helixToken, var32 = var31.configuration, activationConfig = var31.installation, var33 = (abilities = null != activationConfig ? activationConfig : {}).extension, var34 = abilities.abilities, var35 = var33 && (0, var26.U_)(var33.state), var36 = null === (anchor = null == activationConfig ? undefined : activationConfig.activationConfig) || undefined === anchor ? undefined : anchor.anchor, !var33 || !var35 || !var36) throw new Error("Response body is incomplete. Check the health of extensions services.");
							return [2, {
								extension: {
									authorName: var33.authorName,
									bitsEnabled: var33.isBitsEnabled,
									clientId: var33.clientID,
									description: var33.description,
									iconUrl: var33.iconURLs.square100,
									iconUrls: var33.iconURLs,
									id: var33.clientID,
									name: var33.name,
									requestIdentityLink: var33.hasIdentityLinking,
									sku: var33.sku,
									summary: var33.summary,
									token: null !== (var29 = null == jwt ? undefined : jwt.jwt) && undefined !== var29 ? var29 : "",
									helixToken: null !== (var30 = null == jwt1 ? undefined : jwt1.jwt) && undefined !== var30 ? var30 : "",
									version: var33.version,
									views: { mobile: { viewerUrl: var33.views.mobile.viewerURL } },
									vendorCode: var33.vendorCode,
									state: var35,
									whitelistedConfigUrls: var33.whitelistedConfigURLs,
									whitelistedPanelUrls: var33.whitelistedPanelURLs,
									allowlistedConfigUrls: var33.whitelistedConfigURLs,
									allowlistedPanelUrls: var33.whitelistedPanelURLs,
									viewerSummary: var33.summary
								},
								configuration: var32 || undefined,
								anchor: (0, var26.XB)(var36),
								abilities: var34 || undefined
							}];
					}
				}));
			}));
		}
		var var38 = var24(124051), EventEmitter = var24(277008), var39 = var24(376711), var40 = var24(458326), var41 = var24(569886), call1 = function(var42, var43, var44, var45, var46, var47) {
			return (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
				return (0, var25.__generator)(this, (function(var48) {
					return [2, var27.F.graphQLRequest("\nmutation SetExtensionConfiguration(\n  $extensionID: ID!\n  $channelID: ID!\n  $contentType: String!\n  $authToken: String!\n  $message: String!\n  $targets: [String!]!\n) {\n  sendExtensionMessage(input: {\n    extensionID: $extensionID,\n    channelID: $channelID,\n    contentType: $contentType,\n    extAuthToken: $authToken,\n    message: $message,\n    targets: $targets,\n  }) {\n    error {\n      code\n    }\n    rateLimitsApplied {\n      isLimitExceeded\n      limit\n      rateLimiterName\n      remainingQuota\n      resetsAt\n    }\n  }\n}\n", {
						extensionID: var42,
						channelID: var43,
						contentType: var45,
						authToken: var44,
						message: var46,
						targets: var47
					})];
				}));
			}));
		};
		function call2(var49, var50) {
			return (0, var25.__awaiter)(this, undefined, undefined, (function() {
				var sendExtensionMessage, var51, code, var52;
				return (0, var25.__generator)(this, (function(var53) {
					switch (var53.label) {
						case 0:
							var53.trys.push([
								0,
								2,
								,
								3
							]);
							return [4, call1(var49.extensionID, var49.channelID, var49.authToken, var50.contentType, var50.message, var50.targets)];
						case 1:
							if (sendExtensionMessage = var53.sent(), var51 = sendExtensionMessage.sendExtensionMessage, code = var51.error, var52 = var51.rateLimitsApplied, code) throw new Error(code.code);
							return [2, { rateLimitsApplied: var52 }];
						case 2:
							var53.sent();
							throw new Error("unable to send pubsub message");
						case 3: return [2];
					}
				}));
			}));
		}
		var var54, var55, var56, call3 = function(var57, var58, var59, var60) {
			return (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
				return (0, var25.__generator)(this, (function(var61) {
					return [2, var27.F.graphQLRequest("\nmutation SetExtensionConfiguration(\n  $channelID: ID!\n  $extensionID: ID!\n  $version: String!\n  $content: String!\n) {\n  setExtensionConfiguration(input: {\n    channelID: $channelID\n    extensionID: $extensionID\n    configVersion: $version\n    content: $content\n  }) {\n    channelID\n    extensionID\n    configVersion\n    content\n    error {\n      code\n    }\n  }\n}\n", {
						channelID: var58,
						extensionID: var57,
						version: var59,
						content: var60
					})];
				}));
			}));
		};
		function call4(var62, var63) {
			return (0, var25.__awaiter)(this, undefined, undefined, (function() {
				var var64, var65, var66, var67, var68, code1;
				return (0, var25.__generator)(this, (function(var69) {
					switch (var69.label) {
						case 0:
							var69.trys.push([
								0,
								2,
								,
								3
							]);
							return [4, call3(var62.extensionID, var62.channelID, var63.version, var63.content)];
						case 1:
							if (var64 = var69.sent().setExtensionConfiguration, var65 = var64.extensionID, var66 = var64.channelID, var67 = var64.configVersion, var68 = var64.content, code1 = var64.error) throw new Error(code1.code);
							return [2, {
								extensionID: var65,
								channelID: var66,
								configVersion: var67,
								content: var68
							}];
						case 2:
							var69.sent();
							throw new Error("unable to set configuration");
						case 3: return [2];
					}
				}));
			}));
		}
		function call5(var70) {
			return (0, var25.__awaiter)(this, undefined, undefined, (function() {
				var var71, var72, var73;
				return (0, var25.__generator)(this, (function(var74) {
					switch (var74.label) {
						case 0:
							var74.trys.push([
								0,
								2,
								,
								3
							]);
							return [4, var70];
						case 1:
							var71 = var74.sent();
							return [2, {
								status: var55.Ok,
								result: var71
							}];
						case 2:
							var72 = var74.sent();
							var73 = var72 instanceof Error ? var72 : new Error("unexpected callback error");
							return [2, {
								status: var55.Error,
								error: var73
							}];
						case 3: return [2];
					}
				}));
			}));
		}
		!function(var75) {
			var75.Broadcaster = "broadcaster";
			var75.Developer = "developer";
			var75.Global = "global";
		}(var54 || (var54 = {}));
		(function(var76) {
			var76.Ok = "ok";
			var76.Error = "error";
		})(var55 || (var55 = {}));
		(function(var77) {
			var77.SetConfiguration = "set-configuration";
			var77.SendMessageToPubsub = "send-message-to-pubsub";
		})(var56 || (var56 = {}));
		var var78, var79 = var24(265215), var80 = var24(331664);
		function pick(var81, var82) {
			return "USD" === var82 ? "$".concat(var81) : "".concat(var81, " ").concat(var82);
		}
		!function(var83) {
			var83.CurrentUser = "current_user";
			var83.Other = "other";
		}(var78 || (var78 = {}));
		var var84 = function(var85) {
			function fn1(var86) {
				var var87 = var85.call(this) || this;
				var87.iframe = var86;
				var87.destroy = function() {
					var87.iframe.ownerDocument.defaultView.removeEventListener("message", var87.handleMessage);
				};
				var87.sendContext = function(var88, var89) {
					var87.sendMessage({
						action: var38.IX.TwitchExtContext,
						context: var88,
						updatedFields: var89
					});
				};
				var87.sendExtensionAuth = function(var90) {
					var87.sendMessage({
						action: var38.IX.TwitchExtAuth,
						auth: var90
					});
				};
				var87.sendExtensionBootstrap = function(var91, var92, var93, var94) {
					var87.sendMessage({
						action: var38.IX.TwitchExtBootstrap,
						auth: var91,
						features: var92,
						configuration: var93,
						viewerInfo: var94
					});
				};
				var87.sendSupervisorInit = function(var95) {
					var87.sendMessage({
						action: var38.bP.SupervisorInit,
						options: var95
					});
				};
				var87.sendFunctionReply = function(var96) {
					var87.sendMessage(var96);
				};
				var87.sendExtensionReloadEntitlementsMessage = function() {
					var87.sendMessage({ action: var38.IX.TwitchExtReloadEntitlements });
				};
				var87.sendVisibilityChanged = function(var97, var98) {
					var87.sendMessage({
						action: var38.IX.TwitchExtVisibilityChanged,
						isVisible: var97,
						context: var98
					});
				};
				var87.sendPositionChange = function(var99) {
					var87.sendMessage({
						action: var38.IX.TwitchExtPositionChanged,
						position: var99
					});
				};
				var87.sendHighlightChange = function(var100) {
					var87.sendMessage({
						action: var38.IX.TwitchExtHighlightChanged,
						isHighlighted: var100
					});
				};
				var87.sendBitsProductsMessage = function(var101) {
					var87.sendMessage({
						action: var38.IX.TwitchExtBitsProducts,
						products: var101
					});
				};
				var87.sendBitsTransactionCompleteMessage = function(var102) {
					var87.sendMessage(var102);
				};
				var87.sendHelperPubsubMessage = function(var103, var104, var105) {
					var87.sendMessage({
						action: var38.IX.TwitchExtPubsubMessage,
						payload: {
							target: var103,
							contentType: var104,
							content: var105
						}
					});
				};
				var87.sendHelperPubsubBindFailure = function(var106, var107) {
					var87.sendMessage({
						action: var38.IX.TwitchExtPubsubBindFailure,
						payload: {
							target: var106,
							error: var107
						}
					});
				};
				var87.sendViewerUpdateMessage = function(var108) {
					var87.sendMessage({
						action: var38.IX.TwitchExtViewerUpdate,
						viewerInfo: var108
					});
				};
				var87.sendConditionParticipantsResponseMessage = function(var109, var110, var111) {
					var87.sendMessage({
						action: var38.tv.ConditionParticipantsResponse,
						payload: {
							response: var109,
							error: var111,
							callbackGuid: var110
						}
					});
				};
				var87.sendConditionsResponseMessage = function(var112, var113, var114) {
					var87.sendMessage({
						action: var38.tv.ConditionsResponse,
						payload: {
							response: var112,
							error: var114,
							callbackGuid: var113
						}
					});
				};
				var87.sendCreateConditionResponseMessage = function(var115, var116, var117) {
					var87.sendMessage({
						action: var38.tv.CreateConditionResponse,
						payload: {
							response: var115,
							error: var117,
							callbackGuid: var116
						}
					});
				};
				var87.sendCallbackResponseMessage = function(var118, var119, var120) {
					var87.sendMessage({
						action: var38.IX.TwitchExtCallbackResponse,
						name: var118,
						guid: var119,
						payload: var120
					});
				};
				var87.handleMessage = function(var121) {
					var source = var121.source, data = var121.data;
					if (source === var87.iframe.contentWindow) try {
						var87.handleExtensionAction(data);
					} catch (error3) {}
				};
				var87.handleExtensionAction = function(action) {
					-1 !== var38.HX.indexOf(action.action) && var87.emit(action.action, action);
				};
				var87.sendMessage = function(var122) {
					var87.iframe && var87.iframe.contentWindow && var87.iframe.contentWindow.postMessage(var122, var80.W.supervisorOrigin);
				};
				var87.iframe.ownerDocument.defaultView.addEventListener("message", var87.handleMessage);
				return var87;
			}
			(0, var25.__extends)(fn1, var85);
			fn1.prototype.sendExtensionReloadMessage = function() {
				this.sendMessage({ action: var38.IX.TwitchExtReload });
			};
			fn1.prototype.sendExtensionProductPricesMessage = function(products) {
				var var123 = products.products.reduce((function(acc, value) {
					var sku = value.sku, price = value.price;
					acc[sku] = { displayPrice: pick(price.price, price.currency_unit) };
					return acc;
				}), {});
				this.sendMessage({
					action: var38.IX.TwitchExtProductPrices,
					prices: var123
				});
			};
			return fn1;
		}(EventEmitter.EventEmitter), var124 = var24(281200), var125 = function(var126, var127, var128, var129) {
			var var130 = this;
			this.coordinator = var126;
			this.loginId = var127;
			this.extensionId = var128;
			this.emitConfirmationRequest = var129;
			this.functionActionMap = (0, var124.j)();
			this.functionModalMap = (0, var124.j)();
			this.registerFunctionModal = function(var131, var132) {
				var132.onOpen((function(var133) {
					var obj = {
						action: var130.loginId ? var131 : var38.tv.LoginRequest,
						extensionId: var130.extensionId,
						resultCallback: var132.resultCallback,
						defaultResult: var132.defaultResult
					};
					var133 && (obj.options = var133);
					var130.requestConfirmation(obj);
				}));
				var132.onModalResult && var132.onModalResult((function(var134) {
					var130.sendFunctionReply(var134);
				}));
				var130.functionModalMap[var131] = var132;
				var130.functionActionMap[var131] = var130.functionActionHandler(var131);
				var130.coordinator.on(var131, var130.functionActionMap[var131]);
			};
			this.unregisterFunctionModal = function(var135) {
				var130.coordinator.off(var135, var130.functionActionMap[var135]);
				delete var130.functionActionMap[var135];
				delete var130.functionModalMap[var135];
			};
			this.functionActionHandler = function(var136) {
				return function(var137) {
					var open = var130.functionModalMap[var136];
					open && open.open(var137);
				};
			};
			this.requestConfirmation = function(action1) {
				action1.action !== var38.tv.SubscribeToChannel ? var130.emitConfirmationRequest(action1) : var203.ZO.emit(var38.MB.RequestModal, action1);
			};
			this.sendFunctionReply = function(var138) {
				var130.coordinator.sendFunctionReply(var138);
			};
		}, var139 = var24(834302), var140 = var24(23042), var141 = var24(238998);
		function pick1(list, var142) {
			var elem = document.createElement("a");
			elem.href = list;
			var str1 = elem.search.slice(1), list1 = str1.split("&").filter((function(item1) {
				return item1.length > 0;
			})), var143 = list1.length > 0 ? list.slice(0, list.length - str1.length - 1) : list, list2 = Object.keys(var142).reduce((function(acc1, value1) {
				var var144 = var142[value1];
				var144 && ("disable3PT" === value1 ? acc1.push("disable_3pt") : acc1.push("".concat(encodeURIComponent(value1), "=").concat(encodeURIComponent(var144.toString()))));
				return acc1;
			}), list1);
			return list2.length > 0 ? "".concat(var143, "?").concat(list2.join("&")) : list;
		}
		var var145, var146, var147, arr = [
			"yw6kqjk1xujxpvpafcy66ww3913y6c",
			"pgn0bjv51epi7eaekt53tovjnc82qo",
			"u03ulrft3383534y48flsakbewe8hq",
			"vysfim0ck7k5a65fcr0d0t1x5jllpq",
			"7nydnrue11053qmjc6g0fd6einj75p",
			"2d2vfk9d8utgo0e9abb4j8p8po70ym",
			"d0j6f4h633ds71x7mg5pm7uytj2yi8",
			"14kjbovqviiaqi0geamleqffc95s6k",
			"ih4ptg04wzw6nf4qms0612b8uj0tbh",
			"ut0qm2nbknuy64d7t509w616a8d85l",
			"a5qgosum7si05cdwematgg2ozjtaq2",
			"mx8imve9jsliotbt7w6trgj7x9od9f",
			"skt182bso1i1ah7dnmkwqkdk26dak4",
			"sykmdeag9cvscn1y1p5pf0dbxn0fi0",
			"beppk6jwody2s05grs2psadayasnqx",
			"awp6xmg13j98jggleu6paar9cc9372",
			"ypye12ifaxutfrddcm51os0j2szn9r",
			"cs4gh6j6an4y90w3st2l26e39w5erj",
			"gi1bgvj2ila0b89o8al5r9p5refuae",
			"suw0n5ytcycbtvwhcvlgv7i81dz4ol",
			"wt4i4dd9t3zujyxq1huxzs2j77c5so",
			"7vhu0eg4sqer3hhw5xmzk9anb6j4cv",
			"fcpzxwr00t4w3eq3040q7xk4i4oaks"
		];
		!function(var148) {
			var148.Cancelled = "cancelled";
			var148.LoggedOut = "logged_out_user";
			var148.InvalidId = "invalid_id";
			var148.AlreadyFollowed = "already_followed";
		}(var145 || (var145 = {}));
		(function(var149) {
			var149.BadArguments = "bad_arguments";
			var149.ServiceError = "service_error";
		})(var146 || (var146 = {}));
		(function(var150) {
			var150.Cancelled = "cancelled";
			var150.LoggedOut = "logged_out_user";
			var150.InvalidID = "invalid_id";
			var150.UserIneligible = "user_ineligible";
			var150.InsufficientBalance = "insufficient_balance";
			var150.UnableToGetEligibility = "unable_to_get_eligibility";
			var150.UnableToLinkUser = "unable_to_link_user";
			var150.UseBitsFailure = "use_bits_failure";
		})(var147 || (var147 = {}));
		var var151 = function() {
			function fn2(var152) {
				this.developerCustomEventNames = [];
				this.dobbin = var152.dobbin;
				var var153, host, host1 = (var153 = var152.iframe.ownerDocument.referrer, (host = document.createElement("a")).href = var153, { host: host.host });
				this.trackingProperties = (0, var25.__assign)((0, var25.__assign)({}, var152.requiredProps), {
					url: var152.iframe.ownerDocument.location.href,
					host: var152.iframe.ownerDocument.location.host,
					domain: var152.iframe.ownerDocument.domain,
					user_agent: var152.iframe.ownerDocument.defaultView.navigator.userAgent,
					referrer_url: var152.iframe.ownerDocument.referrer,
					referrer_host: host1.host,
					extension_id: var152.extension.clientId,
					extension_version: var152.extension.version,
					extension_anchor: var152.anchor,
					extension_mode: var152.extensionMode
				});
			}
			fn2.prototype.trackDeveloperCustomEvent = function(var154) {
				if (arr.includes(this.trackingProperties.extension_id) && !("string" != typeof var154.dev_event_name || var154.dev_event_name.length > var38.sg) && var38.MN.includes(var154.category) && var38.E_.includes(var154.interaction_type) && (!var154.custom_metadata || !("string" != typeof var154.custom_metadata || var154.custom_metadata.length > var38.E1))) {
					if (!(var154.dev_event_name in this.developerCustomEventNames)) {
						if (this.developerCustomEventNames.length >= var38.Nm) return;
						this.developerCustomEventNames.push(var154.dev_event_name);
					}
					this.trackEvent("extension_custom_tracking_event", var154);
				}
			};
			fn2.prototype.trackEvent = function(var155, var156) {
				this.dobbin.trackEvent(var155, (0, var25.__assign)((0, var25.__assign)({}, var156), this.trackingProperties), ["spade"]);
			};
			return fn2;
		}(), var157 = function() {
			function fn3(var158, var159, var160, var161, var162, var163, var164) {
				var var165 = this;
				this.loginId = var158;
				this.tracker = var159;
				this.pubsub = var160;
				this.onSuccess = var161;
				this.extension = var162;
				this.extensionBitsProducts = var163;
				this.channelId = var164;
				this.useBitsInProgress = false;
				this.close = function(var166) {
					undefined === var166 && (var166 = false);
					var165.replyCallback({
						action: var139.t.UseBitsComplete,
						didConfirm: var166,
						didUseBits: false
					});
					var165.track(var140.KA.UseBitsFailure);
				};
				this.onModalResult = function(var167) {
					var165.replyCallback = function(var168) {
						var165.useBitsInProgress = false;
						var168.didConfirm && var168.didUseBits && var165.onSuccess(var168.bitsBalance || 0);
						var165.loginId && var165.offBitsBalanceUpdate();
						var167((0, var25.__assign)({ action: var139.t.UseBitsComplete }, var168));
					};
				};
				this.onOpen = function(var169) {
					var165.openCallback = function(var170) {
						var165.track(var140.KA.UseBitsInitialization);
						var169(var170);
					};
				};
				this.resultCallback = function(didConfirm) {
					return didConfirm.didConfirm ? (var165.track(var140.KA.UseBitsConfirmation), var165.useBitsInExtension(var165.transactionId, didConfirm.didConfirm)) : (var165.failReason = var147.Cancelled, Promise.resolve(var165.close()));
				};
				this.useBitsPromptRequired = function(var171, var172, var173) {
					undefined === var171 && (var171 = false);
					return var171 || var172 < var173;
				};
				this.openBitsConfirmationModal = function(var174) {
					var165.loginId ? var165.openCallback && (var165.onBitsBalanceUpdate(var165.loginId), var165.openCallback({ payload: (0, var25.__assign)({
						userId: var165.loginId,
						isLoggedIn: !!var165.loginId,
						clientId: var165.extension.clientId,
						extensionName: var165.extension.name,
						track: var165.track
					}, var174) })) : var165.failReason = var147.LoggedOut;
				};
				this.unsubscribeCallback = function() {};
				this.useBitsInExtension = function(var175, var176) {
					return (0, var25.__awaiter)(var165, undefined, undefined, (function() {
						var var177, var178, var179, var180, var181;
						return (0, var25.__generator)(this, (function(var182) {
							switch (var182.label) {
								case 0:
									var182.trys.push([
										0,
										6,
										,
										7
									]);
									return [4, (0, var40.SP)(this.channelId, this.extension.id, this.token, true)];
								case 1:
									var177 = var182.sent().token;
									var141.b.registerToken(this.extension.clientId, this.channelId, var177);
									var182.label = 2;
								case 2:
									var182.trys.push([
										2,
										4,
										,
										5
									]);
									return [4, (var184 = var175, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
										var endUseBitsInExtension;
										return (0, var25.__generator)(this, (function(var183) {
											switch (var183.label) {
												case 0: return [4, var27.F.graphQLRequest("\nmutation UseBits($transactionID: ID!) {\n  endUseBitsInExtension(input: {\n    transactionID: $transactionID\n  }) {\n    balance\n  }\n}\n", { transactionID: var184 })];
												case 1:
													if (!(endUseBitsInExtension = var183.sent()).endUseBitsInExtension || !endUseBitsInExtension.endUseBitsInExtension.balance) throw new Error("Failed to useBits");
													return [2, { bits_balance: endUseBitsInExtension.endUseBitsInExtension.balance }];
											}
										}));
									})))];
								case 3:
									var178 = var182.sent().bits_balance;
									var179 = {
										action: var139.t.UseBitsComplete,
										didConfirm: var176,
										didUseBits: true
									};
									this.track(var140.KA.UseBitsSuccess);
									this.replyCallback((0, var25.__assign)((0, var25.__assign)({}, var179), { bitsBalance: var178 }));
									return [2, var178];
								case 4:
									var180 = var182.sent();
									this.handleUseBitsError(var180, var147.UseBitsFailure, var140.KA.UseBitsFailure);
									return [3, 5];
								case 5: return [3, 7];
								case 6:
									var181 = var182.sent();
									this.handleUseBitsError(var181, var147.UnableToLinkUser, var140.KA.UseBitsLinkUserFailure);
									return [3, 7];
								case 7: return [2];
							}
							var var184;
						}));
					}));
				};
				this.handleUseBitsError = function(var185, var186, var187) {
					var165.failReason = var186;
					var165.openCallback ? (var165.track(var187), var165.openCallback({ error: var185 })) : var165.close(true);
				};
				this.track = function(var188, var189) {
					undefined === var189 && (var189 = {});
					var obj1 = {
						target_channel_id: var165.channelId,
						user_id: var165.loginId,
						client_id: var165.extension.clientId,
						fail_reason: var165.failReason,
						extension_name: var165.extension.name,
						extension_item_label: var165.extensionItemLabel,
						sku: var165.sku,
						transaction_id: var165.transactionId,
						bits_balance: var165.bitsBalance,
						extension_id: var165.extension.id,
						bits_required: var165.bitsRequired
					};
					var189 = Object.assign(obj1, var189);
					var165.tracker.trackEvent(var188, var189);
				};
			}
			Object.defineProperty(fn3.prototype, "defaultResult", {
				get: function() {
					return {
						didConfirm: false,
						didUseBits: false
					};
				},
				enumerable: false,
				configurable: true
			});
			fn3.prototype.open = function(sku1) {
				var var190 = this;
				if (!this.useBitsInProgress) {
					this.useBitsInProgress = true;
					var var191, var192, var193, token = var141.b.getToken(this.extension.clientId, this.channelId), var194 = (var191 = sku1.sku, var192 = this.channelId, var193 = this.extension.clientId, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
						var beginUseBitsInExtension, var195;
						return (0, var25.__generator)(this, (function(var196) {
							switch (var196.label) {
								case 0: return [4, var27.F.graphQLRequest("\nmutation IsEligible($channelID: ID!, $extensionID: ID!, $sku: String!) {\n  beginUseBitsInExtension(input: {\n    channelID: $channelID,\n    extensionClientID: $extensionID,\n    sku: $sku\n  }) {\n    balance\n    bitsRequired\n    isPromptRequired\n    transactionID\n  }\n}\n", {
									channelID: var192,
									extensionID: var193,
									sku: var191
								})];
								case 1:
									if (beginUseBitsInExtension = var196.sent(), !((var195 = beginUseBitsInExtension.beginUseBitsInExtension) && var195.transactionID && var195.isPromptRequired && var195.bitsRequired && null !== var195.balance)) throw new Error("Extension is not eligible to use bits");
									return [2, {
										transaction_id: var195.transactionID,
										prompt_required: var195.isPromptRequired,
										bits_required: var195.bitsRequired,
										bits_balance: var195.balance
									}];
							}
						}));
					})));
					Promise.all([var194, this.extensionBitsProducts]).then((function(var197) {
						var var198 = var197[0], products1 = var197[1], bits_required = var198.bits_required, transaction_id = var198.transaction_id, prompt_required = var198.prompt_required, bits_balance = var198.bits_balance, products2 = products1.products;
						if (!var190.useBitsPromptRequired(prompt_required, bits_balance, bits_required)) throw new Error("Use Bits always requires a prompt for now");
						var displayName = products2.find((function(item2) {
							return item2.sku === sku1.sku;
						})), var199 = displayName ? displayName.displayName : "";
						var190.token = token.token;
						var190.bitsBalance = bits_balance;
						var190.bitsRequired = bits_required;
						var190.transactionId = transaction_id;
						var190.sku = sku1.sku;
						var190.extensionItemLabel = var199;
						var190.channelId || (var190.failReason = var147.InvalidID);
						var190.openBitsConfirmationModal({
							channelId: var190.channelId,
							sku: sku1.sku,
							bitsRequired: bits_required,
							transactionId: transaction_id,
							extensionItemLabel: var199,
							bitsBalance: bits_balance
						});
					})).catch((function(var200) {
						var190.handleUseBitsError(var200, var147.UserIneligible, var140.KA.UseBitsUserIneligible);
					}));
				}
			};
			fn3.prototype.onBitsBalanceUpdate = function(var201) {
				var var202 = this;
				this.unsubscribeCallback = this.pubsub.subscribe({
					token: var27.F.authToken,
					topic: "user-bits-updates-v1.".concat(var201),
					success: function() {},
					failure: function() {},
					message: function(data1) {
						var202.bitsBalance = data1.data.balance;
						var202.openCallback({ payload: {
							channelId: var202.channelId,
							clientId: var202.extension.clientId,
							userId: var202.loginId,
							isLoggedIn: !!var202.loginId,
							sku: var202.sku,
							bitsRequired: var202.bitsRequired,
							transactionId: var202.transactionId,
							extensionItemLabel: var202.extensionItemLabel,
							extensionName: var202.extension.name,
							bitsBalance: var202.bitsBalance,
							track: var202.track
						} });
					}
				});
			};
			fn3.prototype.offBitsBalanceUpdate = function() {
				this.unsubscribeCallback && this.unsubscribeCallback();
			};
			return fn3;
		}(), var203 = var24(25470);
		function negate(var204, var205) {
			return !!var203.Zn.get(var204, []).find((function(item3) {
				return item3 === var205;
			}));
		}
		var var206, var207, var208 = function() {
			function fn4(var209, var210, var211) {
				var var212 = this;
				this.tracker = var209;
				this.extensionId = var210;
				this.extensionVersion = var211;
				this.close = function() {
					var212.replyCallback({
						action: var139.t.ConditionConfirmationResponse,
						payload: {
							response: var212.defaultResult,
							error: null,
							callbackGuid: var212.callbackGuid
						}
					});
					var212.tracker.trackEvent("condition_confirmation_fail", var212.trackerArgs(var212.failReason));
				};
				this.onModalResult = function(var213) {
					var212.replyCallback = var213;
				};
				this.onOpen = function(var214) {
					var212.openCallback = function(var215) {
						var212.tracker.trackEvent("condition_confirmation_init", var212.trackerArgs(null));
						var214(var215);
					};
				};
				this.resultCallback = function(acceptedCondition) {
					acceptedCondition.acceptedCondition ? (var212.tracker.trackEvent("condition_confirmation_confirmed", var212.trackerArgs(null)), var212.createConditionParticipantFlow(var212.extensionId, var212.extensionVersion, var212.conditionId, var212.conditionOwnerId, var212.bitsAmount, var212.ttlSeconds)) : var212.close();
				};
				this.createConditionParticipantFlow = function(var216, var217, var218, var219, var220, var221) {
					(function(var222, var223, var224, var225, var226, var227) {
						return (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
							return (0, var25.__generator)(this, (function(var228) {
								return [2, var27.F.graphQLRequest("mutation CreateConditionParticipant(\n    $extensionID: ID!\n    $conditionID: ID!\n    $conditionOwnerID: ID!\n    $bitsAmount: Int!\n    $ttlSeconds: Int!\n) {\n  createBitsChallengeConditionParticipantForExtension(input: {\n    conditionID: $conditionID\n    conditionOwnerID: $conditionOwnerID\n    bitsAmount: $bitsAmount\n    ttlSeconds: $ttlSeconds\n    extensionID: $extensionID\n  }) {\n    conditionParticipant {\n      id\n      endState\n      processingState\n    }\n  }\n}", {
									extensionID: "".concat(var222, ":").concat(var223),
									conditionID: var224,
									conditionOwnerID: var225,
									bitsAmount: var226,
									ttlSeconds: var227
								})];
							}));
						}));
					})(var216, var217, var218, var219, var220, var221).then((function(createBitsChallengeConditionParticipantForExtension) {
						var212.tracker.trackEvent("extension_condition_create_participant", var212.trackerArgs(null));
						var212.replyCallback({
							action: var139.t.ConditionConfirmationResponse,
							payload: {
								response: {
									acceptedCondition: true,
									conditionParticipantId: createBitsChallengeConditionParticipantForExtension.createBitsChallengeConditionParticipantForExtension.conditionParticipant.id
								},
								error: null,
								callbackGuid: var212.callbackGuid
							}
						});
					})).catch((function(var229) {
						var212.tracker.trackEvent("extension_condition_create_service_failure", var212.trackerArgs(var146.ServiceError));
						var212.replyCallback({
							action: var139.t.ConditionConfirmationResponse,
							payload: {
								response: {
									acceptedCondition: true,
									conditionParticipantId: null
								},
								error: JSON.stringify(var229),
								callbackGuid: var212.callbackGuid
							}
						});
					}));
				};
			}
			Object.defineProperty(fn4.prototype, "defaultResult", {
				get: function() {
					return {
						acceptedCondition: false,
						conditionParticipantId: null
					};
				},
				enumerable: false,
				configurable: true
			});
			fn4.prototype.open = function(payload1) {
				negate("ext_challenges_whitelist", this.extensionId) && (this.conditionId = payload1.payload.request.conditionId, this.conditionOwnerId = payload1.payload.request.conditionOwnerId, this.bitsAmount = payload1.payload.request.bitsAmount, this.ttlSeconds = payload1.payload.request.ttlSeconds, this.callbackGuid = payload1.payload.request.callbackGuid, !(this.conditionId && this.conditionOwnerId && this.bitsAmount) || this.bitsAmount <= 0 || !this.ttlSeconds || this.ttlSeconds <= 0 ? this.failReason = var146.BadArguments : this.openCallback(payload1.payload.request));
			};
			fn4.prototype.trackerArgs = function(var230) {
				return {
					condition_id: this.conditionId,
					condition_owner_id: this.conditionOwnerId,
					bits_amount: this.bitsAmount,
					extension_id: this.extensionId,
					fail_reason: var230
				};
			};
			return fn4;
		}(), call6 = function(var231, var232) {
			return (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
				var followUser, var233, var234, var235;
				return (0, var25.__generator)(this, (function(var236) {
					switch (var236.label) {
						case 0:
							var236.trys.push([
								0,
								2,
								,
								3
							]);
							return [4, var27.F.graphQLRequest("\nmutation FollowChannelByLogin($channelID: ID!, $disableNotifications:Boolean!) {\n  followUser(input: {\n    targetID: $channelID,\n    disableNotifications:$disableNotifications\n  }) {\n    follow {\n      user {\n        id\n      }\n    }\n  }\n}\n", {
								channelID: var231,
								disableNotifications: !var232
							})];
						case 1: return (followUser = var236.sent()) && followUser.followUser && followUser.followUser.follow && followUser.followUser.follow.user ? (var233 = followUser.followUser.follow.user, var234 = var233.login, var235 = var233.id, [2, {
							channel: var234,
							channelId: var235,
							isFollowing: true
						}]) : [2, {
							channel: null,
							channelId: null,
							isFollowing: false
						}];
						case 2:
							var236.sent();
							return [2, {
								channel: null,
								channelId: null,
								isFollowing: false
							}];
						case 3: return [2];
					}
				}));
			}));
		}, var237 = function() {
			function fn5(var238, var239) {
				var var240 = this;
				this.loginId = var238;
				this.tracker = var239;
				this.close = function() {
					var240.replyCallback({
						action: var139.t.FollowComplete,
						channel: var240.channel,
						didFollow: false
					});
					var240.tracker.trackEvent("extension_follow_fail", {
						target_channel: var240.channel,
						target_channel_id: var240.channelId,
						fail_reason: var240.failReason
					});
				};
				this.onModalResult = function(var241) {
					var240.replyCallback = var241;
				};
				this.onOpen = function(var242) {
					var240.openCallback = function(var243) {
						var240.tracker.trackEvent("extension_follow_init", {
							target_channel: var243.channel,
							target_channel_id: var243.channelId
						});
						var242(var243);
					};
				};
				this.resultCallback = function(var244) {
					var244.didFollow ? (var240.tracker.trackEvent("extension_follow_confirm", {
						target_channel: var240.channel,
						target_channel_id: var240.channelId
					}), var240.follow(var240.channelId, var244.notifications)) : var240.close();
				};
				this.follow = function(var245, var246) {
					return (0, var25.__awaiter)(var240, undefined, undefined, (function() {
						var var247, var248, var249, var250;
						return (0, var25.__generator)(this, (function(var251) {
							switch (var251.label) {
								case 0: return [4, call6(var245, var246)];
								case 1:
									var247 = var251.sent();
									var248 = var247.channel;
									var249 = var247.channelId;
									var250 = var247.isFollowing;
									this.tracker.trackEvent("extension_follow", {
										target_channel: var248 || this.channel,
										target_channel_id: var249 || this.channelId
									});
									this.replyCallback({
										action: var139.t.FollowComplete,
										channel: var248 || this.channel,
										didFollow: var250
									});
									return [2];
							}
						}));
					}));
				};
			}
			Object.defineProperty(fn5.prototype, "defaultResult", {
				get: function() {
					return {
						didFollow: false,
						notifications: false
					};
				},
				enumerable: false,
				configurable: true
			});
			fn5.prototype.open = function(payload2) {
				return (0, var25.__awaiter)(this, undefined, undefined, (function() {
					var var252, var253, var254, var255;
					return (0, var25.__generator)(this, (function(var256) {
						switch (var256.label) {
							case 0:
								this.channel = payload2.payload.channel;
								return this.loginId ? [4, (var259 = this.channel, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
									var user, var257, follower;
									return (0, var25.__generator)(this, (function(var258) {
										switch (var258.label) {
											case 0: return [4, var27.F.graphQLRequest("\n  query FollowStatusForLogin($login: String) {\n    user(login: $login) {\n      id\n      self {\n        follower {\n          node {\n            id\n          }\n        }\n      }\n    }\n  }", { login: var259 })];
											case 1: return (user = var258.sent()).user && user.user.id ? (var257 = user.user.id, (follower = user.user.self) && follower.follower && follower.follower.node && follower.follower.node.id ? [2, {
												channel: var259,
												channelId: var257,
												isFollowing: true
											}] : [2, {
												channel: var259,
												channelId: var257,
												isFollowing: false
											}]) : [2, {
												channel: var259,
												channelId: null,
												isFollowing: false
											}];
										}
									}));
								})))] : (this.channelId = null, this.openCallback && this.openCallback({
									channel: this.channel,
									channelId: 0,
									isFollowing: false,
									isLoggedIn: false
								}), this.failReason = var145.LoggedOut, [2]);
							case 1:
								var252 = var256.sent();
								var253 = var252.channel;
								var254 = var252.channelId;
								var255 = var252.isFollowing;
								this.channelId = var254;
								this.openCallback && this.openCallback({
									channel: var253,
									channelId: this.channelId ? parseInt(this.channelId, 10) : 0,
									isFollowing: var255,
									isLoggedIn: true
								});
								this.failReason = null === var253 ? var145.InvalidId : var255 ? var145.AlreadyFollowed : var145.Cancelled;
								return [2];
						}
						var var259;
					}));
				}));
			};
			return fn5;
		}(), var260 = function() {
			function fn6() {
				var openCallback = this;
				this.close = function() {};
				this.onOpen = function(var261) {
					openCallback.openCallback = var261;
				};
				this.onModalResult = function() {};
				this.resultCallback = function() {};
			}
			Object.defineProperty(fn6.prototype, "defaultResult", {
				get: function() {
					return null;
				},
				enumerable: false,
				configurable: true
			});
			fn6.prototype.open = function() {
				this.openCallback();
			};
			return fn6;
		}();
		!function(var262) {
			var262.UNKNOWN = "UNKNOWN";
			var262.UNAUTHORIZED = "UNAUTHORIZED";
		}(var206 || (var206 = {}));
		(function(var263) {
			var263.Component = "component";
			var263.Config = "config";
			var263.Hidden = "hidden";
			var263.LiveConfig = "liveConfig";
			var263.Mobile = "mobile";
			var263.Panel = "panel";
			var263.VideoOverlay = "videoOverlay";
		})(var207 || (var207 = {}));
		var var264, var265 = function() {
			function fn7(var266) {
				this.extension = var266;
			}
			Object.defineProperty(fn7.prototype, "clientId", {
				get: function() {
					return this.extension.clientId;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "bitsEnabled", {
				get: function() {
					return this.extension.bitsEnabled;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "description", {
				get: function() {
					return this.extension.description;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "id", {
				get: function() {
					return this.extension.id;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "name", {
				get: function() {
					return this.extension.name;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "requestIdentityLink", {
				get: function() {
					return this.extension.requestIdentityLink;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "sku", {
				get: function() {
					return this.extension.sku;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "summary", {
				get: function() {
					return this.extension.summary;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "token", {
				get: function() {
					return this.extension.token;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "version", {
				get: function() {
					return this.extension.version;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "views", {
				get: function() {
					return this.extension.views;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "vendorCode", {
				get: function() {
					return this.extension.vendorCode;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "state", {
				get: function() {
					return this.extension.state;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "whitelistedConfigUrls", {
				get: function() {
					return this.extension.allowlistedConfigUrls;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "whitelistedPanelUrls", {
				get: function() {
					return this.extension.allowlistedPanelUrls;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "allowlistedConfigUrls", {
				get: function() {
					return this.extension.allowlistedConfigUrls;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "allowlistedPanelUrls", {
				get: function() {
					return this.extension.allowlistedPanelUrls;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "asObject", {
				get: function() {
					return this.extension;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "panelHeight", {
				get: function() {
					return this.extension.views.panel && this.extension.views.panel.height;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn7.prototype, "isMonetized", {
				get: function() {
					return !(!this.extension.sku || !this.extension.vendorCode);
				},
				enumerable: false,
				configurable: true
			});
			fn7.prototype.getViewerUrlForContext = function(var267, var268, var269) {
				var str2 = "";
				switch (var267) {
					case var38.z$.Web:
						str2 = this.getViewerUrlForWeb(var268, var269);
						break;
					case var38.z$.Mobile: str2 = this.getViewerUrlForMobile();
				}
				return str2 || "";
			};
			fn7.prototype.getViewerUrlForWeb = function(var270, var271) {
				var views = this.extension.views;
				switch (var270) {
					case var38.Fw.Config: return views.config && views.config.viewerUrl;
					case var38.Fw.Dashboard: return views.liveConfig && views.liveConfig.viewerUrl;
					case var38.Fw.Viewer: return this.getViewerUrlForAnchor(var271);
				}
			};
			fn7.prototype.getViewerUrlForMobile = function() {
				return this.extension.views.mobile && this.extension.views.mobile.viewerUrl;
			};
			fn7.prototype.getViewerUrlForAnchor = function(var272) {
				var views1 = this.extension.views;
				switch (var272) {
					case var38.Z1.Component: return views1.component.viewerUrl;
					case var38.Z1.Hidden: return views1.hidden.viewerUrl;
					case var38.Z1.Overlay: return views1.videoOverlay.viewerUrl;
					case var38.Z1.Panel: return views1.panel.viewerUrl;
				}
			};
			return fn7;
		}();
		function fn8(var273, var274) {
			return {
				isBitsEnabled: var274.isBitsEnabled && var273.isBitsEnabled,
				isChatEnabled: var273.isChatEnabled,
				isSubscriptionStatusAvailable: var273.isSubscriptionStatusAvailable,
				useSharedPubsub: var274.useSharedPubsub
			};
		}
		!function(var275) {
			var275.Unauthorized = "UNAUTHORIZED";
			var275.Unknown = "UNKNOWN";
		}(var264 || (var264 = {}));
		var var276 = var24(656680), var277 = function() {
			function fn9(var278, var279, var280, var281) {
				var var282 = this;
				this.coordinator = var278;
				this.tracker = var279;
				this.authData = var280;
				this.unsubscribeMap = {};
				this.lastSequenceInfoMap = {};
				this.onHelperListenMessage = function(target) {
					var282.listen(target.target);
				};
				this.onHelperUnlistenMessage = function(target1) {
					var282.unlisten(target1.target);
				};
				this.onSubscribeSuccess = function() {};
				this.createSubscribeFailureCallbackForTarget = function(var283) {
					return function(var284) {
						var282.coordinator.sendHelperPubsubBindFailure(var283, var284);
					};
				};
				this.createCallbackForTarget = function(var285) {
					return function(var286) {
						var282.isExtensionTarget(var285) ? (var282.coordinator.sendHelperPubsubMessage(var285, var286.content_type, var286.content), var286.sequence && var282.trackSequence(var282.convertToTopic(var285), var285, var286.sequence.start, var286.sequence.number)) : var282.coordinator.sendHelperPubsubMessage(var285, "application/plain", [JSON.stringify(var286)]);
					};
				};
				this.pubsub = var281 || new var276.Q();
				this.coordinator.on(var38.IX.TwitchExtPubsubListen, this.onHelperListenMessage);
				this.coordinator.on(var38.IX.TwitchExtPubsubUnlisten, this.onHelperUnlistenMessage);
			}
			fn9.prototype.destroy = function() {
				var unlisten = this;
				this.coordinator.off(var38.IX.TwitchExtPubsubListen, this.onHelperListenMessage);
				this.coordinator.off(var38.IX.TwitchExtPubsubUnlisten, this.onHelperUnlistenMessage);
				Object.keys(this.unsubscribeMap).forEach((function(item4) {
					unlisten.unlisten(item4);
				}));
			};
			fn9.prototype.listen = function(var287) {
				this.unsubscribeMap[var287] || (this.unsubscribeMap[var287] = this.pubsub.subscribe({
					topic: this.convertToTopic(var287),
					success: this.onSubscribeSuccess,
					failure: this.createSubscribeFailureCallbackForTarget(var287),
					message: this.createCallbackForTarget(var287),
					token: this.authData && this.authData.token
				}), this.lastSequenceInfoMap[var287] = {});
			};
			fn9.prototype.unlisten = function(var288) {
				var var289 = this.unsubscribeMap[var288];
				var289 && (var289(), delete this.lastSequenceInfoMap[var288]);
			};
			fn9.prototype.updateAuthData = function(var290) {
				this.authData = var290;
			};
			fn9.prototype.isExtensionTarget = function(list3) {
				return -1 === list3.indexOf(".");
			};
			fn9.prototype.convertToTopic = function(var291) {
				if (this.isExtensionTarget(var291) && this.authData) {
					var channelId = this.authData.channelId;
					"global" === var291 && (channelId = "all");
					return "channel-ext-v1.".concat(channelId, "-").concat(this.authData.clientId, "-").concat(var291);
				}
				return var291;
			};
			fn9.prototype.trackSequence = function(var292, var293, var294, var295) {
				if (this.lastSequenceInfoMap[var293]) {
					var sequenceTime = this.lastSequenceInfoMap[var293].sequenceTime, sequenceNumber = this.lastSequenceInfoMap[var293].sequenceNumber;
					if (sequenceNumber && (sequenceTime !== var294 && (sequenceNumber = 0), sequenceNumber < var295 - 1)) {
						var var296 = sequenceNumber + 1;
						this.tracker.trackEvent("extension_pubsub_missed", {
							topic: var292,
							target: var293,
							sequenceStart: var294,
							firstMissedSequenceNumber: var296,
							lastMissedSequenceNumber: var295 - 1,
							missed: var295 - var296
						});
					}
					this.lastSequenceInfoMap[var293] = {
						sequenceNumber: var295,
						sequenceTime: var294
					};
					this.tracker.trackEvent("extension_pubsub_received", {
						topic: var292,
						target: var293,
						sequenceStart: var294,
						sequenceNumber: var295
					});
				}
			};
			return fn9;
		}(), var298 = var24(536455), var299 = function() {
			function fn10() {}
			fn10.prototype.makePurchase = function(action_details, var300, var301) {
				return (0, var25.__awaiter)(this, undefined, undefined, (function() {
					return (0, var25.__generator)(this, (function(var302) {
						return [2, Promise.resolve().then((function() {
							window.open("".concat(action_details.action_details.destination_url, "&br_id=").concat((0, var298.l)("".concat(var300)), "&locale=").concat(var301), "Twitch", "width=1024,height=600,scrollbars=yes");
						}))];
					}));
				}));
			};
			return fn10;
		}(), var303 = function() {
			return window.innerHeight;
		}, obj2 = new (var24.n(var24(740115))())();
		function fn11(var304) {
			if (obj2.has(var304)) return obj2.get(var304);
			var var305 = var304();
			obj2.set(var304, var305);
			return var305;
		}
		var var306, arr1 = [
			"allow-forms",
			"allow-scripts",
			"allow-same-origin",
			"allow-popups",
			"allow-popups-to-escape-sandbox"
		];
		!function(var307) {
			var307[var307.SupervisorFrame = 0] = "SupervisorFrame";
			var307[var307.ExtensionFrame = 1] = "ExtensionFrame";
		}(var306 || (var306 = {}));
		var var308 = function(var309) {
			function fn12(var310) {
				var var311, var312, var313, var314 = var309.call(this) || this;
				var314.lastSequenceInfoMap = {};
				var314.bitsMessagePubsubUnsubscribes = [];
				var314.handleUserAction = {
					click: function(payload3) {
						var payload4 = payload3.payload, var315 = this.iframe.getBoundingClientRect();
						this.tracker.trackEvent("extension_click", {
							px_mouse_coord_x: payload4.clientX,
							px_mouse_coord_y: payload4.clientY,
							pct_mouse_coord_x: payload4.clientX / var315.width * 100,
							pct_mouse_coord_y: payload4.clientY / var315.height * 100,
							element_tag: payload4.elementTag || "",
							element_class: payload4.elementClass ? payload4.elementClass.substring(0, 255) : ""
						});
					},
					dblclick: function(var316) {
						this.throttleDblClick(this.iframe, var316);
					},
					mousemove: function(payload5) {
						var payload6 = payload5.payload, var317 = this.iframe.getBoundingClientRect(), left = var317.left, top = var317.top, clientX = payload6.clientX, clientY = payload6.clientY, var318 = left + clientX, var319 = top + clientY;
						try {
							this.iframe.dispatchEvent(new MouseEvent("mousemove", {
								clientX,
								clientY,
								screenX: var318,
								screenY: var319,
								bubbles: true
							}));
						} catch (error4) {
							var initMouseEvent = document.createEvent("MouseEvent");
							initMouseEvent.initMouseEvent("mousemove", true, false, window, 0, var318, var319, clientX, clientY, false, false, false, false, 0, null);
							this.iframe.dispatchEvent(initMouseEvent);
						}
					},
					focusin: function() {
						if (this.activationAnchor === var38.Z1.Overlay) {
							for (var iframe = this.iframe; iframe && !iframe.hasAttribute("tabindex");) iframe = iframe.parentElement;
							iframe && iframe.focus();
						}
					}
				};
				var314.hasSentViewEvent = false;
				var314.hasBootstrapped = false;
				var314.hasLoaded = false;
				var314.throttleDblClick = (var311 = function(elem1, payload7) {
					var payload8 = payload7.payload, var320 = elem1.getBoundingClientRect();
					elem1.dispatchEvent(new MouseEvent("dblclick", {
						bubbles: true,
						clientX: payload8.clientX,
						clientY: payload8.clientY,
						screenX: var320.left + payload8.clientX,
						screenY: var320.top + payload8.clientY
					}));
				}, var312 = 1e3, var313 = false, function() {
					for (var arr2 = [], num = 0; num < arguments.length; num++) arr2[num] = arguments[num];
					var313 || (var313 = true, setTimeout((function() {
						var313 = false;
					}), var312), var311.apply(null, arr2));
				});
				var314.isVisible = true;
				var314.destroy = function() {
					var314.unsetupListeners();
					var314.bitsMessagePubsubUnsubscribes.forEach((function(item5) {
						item5();
					}));
					var314.coordinator.destroy();
					var314.iframe.remove();
				};
				var314.linkIdentity = function() {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var token1, var321, var322, var323;
						return (0, var25.__generator)(this, (function(var324) {
							switch (var324.label) {
								case 0: return (token1 = var141.b.getToken(this.extension.clientId, this.channelId)).isLinked ? [3, 2] : [4, (0, var40.SP)(this.channelId, this.extension.clientId, token1.token, true)];
								case 1:
									var321 = var324.sent();
									var322 = var321.token;
									var323 = var321.helix_token;
									var141.b.registerTokens(this.extension.clientId, this.channelId, {
										token: var322,
										helixToken: var323
									});
									this.tracker.trackEvent("extension_ui_interaction_client", { extension_interaction: "grant" });
									var324.label = 2;
								case 2: return [2];
							}
						}));
					}));
				};
				var314.unlinkIdentity = function() {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var token2, var325, var326, var327;
						return (0, var25.__generator)(this, (function(var328) {
							switch (var328.label) {
								case 0: return (token2 = var141.b.getToken(this.extension.clientId, this.channelId)).isLinked ? [4, (0, var40.SP)(this.channelId, this.extension.clientId, token2.token, false)] : [3, 2];
								case 1:
									var325 = var328.sent();
									var326 = var325.token;
									var327 = var325.helix_token;
									var141.b.registerTokens(this.extension.clientId, this.channelId, {
										token: var326,
										helixToken: var327
									});
									this.tracker.trackEvent("extension_ui_interaction_client", { extension_interaction: "revoke" });
									var328.label = 2;
								case 2: return [2];
							}
						}));
					}));
				};
				var314.visibilityChanged = function() {
					if (!var314.hasSentViewEvent && var314.activationAnchor === var38.Z1.Panel && var314.params.mode === var38.Fw.Viewer) {
						var var329 = var314.iframe.getBoundingClientRect(), var330 = var329.bottom - var329.top;
						100 * (Math.min(Math.max(var303() - var329.top, 0), var330) / var330) >= 75 && (var314.tracker.trackEvent("extension_view", {
							pct_view_visible: 75,
							px_view_visible: Math.floor(75 * var330 / 100)
						}), var314.hasSentViewEvent = true);
					}
				};
				var314.setVisible = function(var331) {
					if (var314.hasLoaded && var314.isVisible !== var331) {
						var314.coordinator.sendVisibilityChanged(var331, var331 ? var314.contextManager.context : null);
					}
					var314.isVisible = var331;
				};
				var314.setPosition = function(var332) {
					var314.coordinator.sendPositionChange(var332);
				};
				var314.setHighlighted = function(var333) {
					var314.coordinator.sendHighlightChange(var333);
				};
				var314.buildTracker = function() {
					var params = var314.params;
					return params.extensionTracker || new var151({
						anchor: var314.activationAnchor,
						dobbin: params.dobbin,
						extension: var314.extension,
						extensionMode: params.mode,
						iframe: var314.iframe,
						requiredProps: {
							login: params.trackingProperties.login,
							channel: params.trackingProperties.channel,
							channel_id: params.channelId,
							device_id: params.trackingProperties.device_id,
							user_id: params.loginId,
							platform: params.trackingProperties.platform,
							player_type: params.trackingProperties.player_type,
							locale: var314.locale,
							login_id: params.loginId
						}
					});
				};
				var314.getContextManager = function() {
					return var203.ZO.getContextManager();
				};
				var314.buildCoordinator = function() {
					return var314.params.extensionCoordinator || new var84(var314.iframe);
				};
				var314.buildFunctionManager = function() {
					return var314.params.functionManager || new var125(var314.coordinator, var314.params.loginId, var314.params.extension.id, var314.emitConfirmationRequest);
				};
				var314.buildPurchaseService = function() {
					return var314.params.purchaseService || new var299();
				};
				var314.getExtensionHeight = function() {
					var panelHeight = var314.extension.panelHeight;
					return panelHeight ? Number(panelHeight) : 300;
				};
				var314.getDefaultAnchorAttributes = function() {
					var obj3 = {};
					var314.params.mode === var38.Fw.Viewer && var314.extensionOptions.platform !== var38.z$.Mobile && (obj3.scrolling = "no");
					return obj3;
				};
				var314.getAnchorAttributes = function(var334) {
					var obj4 = {};
					if (var314.params.isPopout || false || [var38.Fw.Config, var38.Fw.Dashboard].includes(var314.params.mode)) return var334 === var306.ExtensionFrame && (obj4.style = "height: 100%;"), obj4;
					switch (var314.activationAnchor) {
						case var38.Z1.Panel:
							if (var314.extensionOptions.platform === var38.z$.Mobile) {
								obj4.style = "height: 100%;";
								break;
							}
							obj4.style = "height: ".concat(var314.getExtensionHeight(), "px;");
							break;
						case var38.Z1.Overlay:
						case var38.Z1.Component:
						case var38.Z1.Hidden: return var314.getDefaultAnchorAttributes();
					}
					return obj4;
				};
				var314.applyAnchorAttributesForSupervisor = function(elem2) {
					var style = var314.getAnchorAttributes(var306.SupervisorFrame).style;
					style && elem2.setAttribute("style", style);
				};
				var314.createSupervisorIFrame = function(var335) {
					var mode = var314.params.mode, elem3 = document.createElement("iframe");
					switch (elem3.setAttribute("class", var335), elem3.setAttribute("frameBorder", "0"), elem3.setAttribute("scrolling", "no"), elem3.setAttribute("src", var80.W.supervisorURL), elem3.setAttribute("sandbox", var314.getSandboxFlags()), elem3.setAttribute("allow", "encrypted-media *"), mode) {
						case var38.Fw.Viewer:
							var314.applyAnchorAttributesForSupervisor(elem3);
							break;
						case var38.Fw.Dashboard:
						case var38.Fw.Config: var314.params.isPopout || elem3.setAttribute("style", "width: 100%; height: 100%;");
					}
					elem3.style.display = "none";
					return elem3;
				};
				var314.initSupervisedExtension = function() {
					var var336 = var314.extension.getViewerUrlForContext(var314.extensionOptions.platform, var314.params.mode, var314.activationAnchor), sandbox = var314.getAnchorAttributes(var306.ExtensionFrame);
					sandbox.sandbox = var314.getSandboxFlags();
					var obj5 = {
						extensionURL: pick1(var336, var314.extensionOptions),
						hostOrigin: window.location.origin,
						iframeAttrs: sandbox
					};
					var314.coordinator.sendSupervisorInit(obj5);
					var314.extension.state !== var38.HY.Released && (var314.helperNotLoadedTimeout = window.setTimeout((function() {
						console.warn("Extension Warning (".concat(var314.extension.id, "): Extension Helper Library Not Loaded"));
					}), 1e4));
				};
				var314.getExtensionAuth = function() {
					var var337 = var141.b.getToken(var314.extension.clientId, var314.channelId);
					return {
						channelId: var337.payload.channel_id,
						clientId: var314.extension.clientId,
						helixToken: var141.b.getHelixToken(var314.extension.clientId, var314.channelId),
						token: var337.token,
						userId: var337.payload.opaque_user_id
					};
				};
				var314.onLongtask = function(payload9) {
					var314.tracker.trackEvent("extension_longtask", { longtask_duration: payload9.payload.longtask_duration });
				};
				var314.onMouseEnter = function() {
					var314.tracker.trackEvent("extension_mouseenter", {});
				};
				var314.handleToken = function(isNearExpiration, var338) {
					var314.helperPubsubAdapter && var314.helperPubsubAdapter.updateAuthData(var314.getExtensionAuth());
					var314.hasLoaded && !isNearExpiration.isNearExpiration && (var314.hasBootstrapped ? var314.shouldReloadExtension(isNearExpiration, var338) ? var314.reloadExtension() : var314.sendAuthUpdate(isNearExpiration) : var314.sendBootstrap(isNearExpiration));
				};
				var314.shouldReloadExtension = function(isLinked, isLinked1) {
					var var339 = isLinked.isLinked !== isLinked1.isLinked;
					return var339 && !isLinked.isLinked || var339 && !var314.extension.bitsEnabled;
				};
				var314.onExtensionLoaded = function() {
					var314.hasLoaded = true;
					var314.contextManager.initializeContext();
					var314.helperNotLoadedTimeout && (clearTimeout(var314.helperNotLoadedTimeout), delete var314.helperNotLoadedTimeout);
					var314.tracker.trackEvent("extension_helper_load_success", {});
					var314.iframe.style.removeProperty("display");
					var var340 = var141.b.getToken(var314.extension.clientId, var314.channelId);
					var314.handleToken(var340, var340);
					var314.emit(var38.WN.ExtensionFrameLoaded, var314.extension.asObject);
					var314.sendExtensionProductPrices();
					var314.sendExtensionBitsProductPrices();
					var314.sendExtensionDisplayState();
				};
				var314.onExtensionUserAction = function(payload10) {
					var314.handleUserAction[payload10.payload.type].call(var314, payload10);
				};
				var314.onConditionParticipantsRequest = function(payload11) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var341, var342;
						return (0, var25.__generator)(this, (function(var343) {
							switch (var343.label) {
								case 0: return negate("ext_challenges_whitelist", this.extension.id) ? [4, (var345 = this.extension.id, var346 = this.extension.version, var347 = this.channelId, var348 = payload11.payload.participantId, var349 = payload11.payload.participantsAfter, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
									return (0, var25.__generator)(this, (function(var344) {
										return [2, var27.F.graphQLRequest("query ChallengeParticipants(\n    $extensionID: ID!\n    $extensionVersion: String\n    $conditionOwnerID: ID!\n    $conditionParticipantOwnerID: ID!\n    $participantsAfter: Cursor\n) {\n    extension(id: $extensionID, version: $extensionVersion) {\n      id\n      challengeConditionParticipants(\n        after: $participantsAfter\n        input:{\n          endState: PENDING\n          conditionOwnerID: $conditionOwnerID\n          conditionParticipantOwnerID: $conditionParticipantOwnerID\n        })\n      {\n        pageInfo{\n          hasNextPage\n          hasPreviousPage\n        }\n        edges{\n          node {\n            id\n            endState\n            processingState\n            condition {\n              id\n            }\n          }\n          cursor\n        }\n      }\n    }\n  }", {
											extensionID: var345,
											extensionVersion: var346,
											conditionsAfter: var349,
											conditionOwnerID: var347,
											conditionParticipantOwnerID: var348
										})];
									}));
								})))] : [2];
								case 1:
									var341 = var343.sent();
									try {
										var342 = function(extension) {
											if (null === extension.extension || null === extension.extension.challengeConditionParticipants) return null;
											for (var challengeConditionParticipants = extension.extension.challengeConditionParticipants, arr3 = new Array(), hasNextPage = challengeConditionParticipants.pageInfo.hasNextPage, str3 = "", num1 = 0; num1 < challengeConditionParticipants.edges.length; num1++) {
												arr3.push(challengeConditionParticipants.edges[num1].node);
												num1 === challengeConditionParticipants.edges.length - 1 && (str3 = challengeConditionParticipants.edges[num1].cursor);
											}
											return {
												conditionParticipants: arr3,
												cursor: str3,
												hasNextPage
											};
										}(var341);
										this.coordinator.sendConditionParticipantsResponseMessage(var342, payload11.payload.callbackGuid);
									} catch (error5) {
										this.coordinator.sendConditionParticipantsResponseMessage(null, payload11.payload.callbackGuid, JSON.stringify(error5));
									}
									return [2];
							}
							var var345, var346, var347, var348, var349;
						}));
					}));
				};
				var314.onConditionsRequest = function(payload12) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var350, var351, var352;
						return (0, var25.__generator)(this, (function(var353) {
							switch (var353.label) {
								case 0:
									if (!negate("ext_challenges_whitelist", this.extension.id)) return [2];
									var353.label = 1;
								case 1:
									var353.trys.push([
										1,
										3,
										,
										4
									]);
									return [4, (var355 = this.extension.id, var356 = this.extension.version, var357 = this.channelId, var358 = payload12.payload.conditionsAfter, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
										return (0, var25.__generator)(this, (function(var354) {
											return [2, var27.F.graphQLRequest("query ChallengeConditions(\n    $extensionID: ID!\n    $extensionVersion: String\n    $conditionOwnerID: ID!\n    $conditionsAfter: Cursor\n) {\n    extension(id: $extensionID, version: $extensionVersion) {\n        challengeConditions(after: $conditionsAfter,\n        input:{\n            conditionOwnerID: $conditionOwnerID,\n            state: ACTIVE\n        })\n        {\n          pageInfo{\n            hasNextPage\n            hasPreviousPage\n          }\n          edges{\n            node {\n              id\n              name\n              state\n              createdAt\n              timeoutAt\n              updatedAt\n              participantSummary {\n                pending {\n                  total\n                  effects {\n                    useBits {\n                      totalBitsAmount\n                    }\n                  }\n                }\n                satisfied {\n                  total\n                  effects {\n                    useBits {\n                      totalBitsAmount\n                    }\n                  }\n                }\n              }\n            }\n            cursor\n          }\n        }\n      }\n    }\n", {
												extensionID: var355,
												extensionVersion: var356,
												conditionsAfter: var358,
												conditionOwnerID: var357
											})];
										}));
									})))];
								case 2:
									var350 = var353.sent();
									var351 = function(extension1) {
										if (null === extension1.extension || null === extension1.extension.challengeConditions) return null;
										for (var challengeConditions = extension1.extension.challengeConditions, arr4 = new Array(), hasNextPage1 = challengeConditions.pageInfo.hasNextPage, str4 = "", num2 = 0; num2 < challengeConditions.edges.length; num2++) {
											var node = challengeConditions.edges[num2].node;
											arr4.push({
												id: node.id,
												name: node.name,
												state: node.state,
												createdAt: node.createdAt,
												timeoutAt: node.timeoutAt,
												updatedAt: node.updatedAt,
												totalBits: node.participantSummary.pending.effects.useBits.totalBitsAmount,
												totalParticipants: node.participantSummary.pending.total
											});
											num2 === challengeConditions.edges.length - 1 && (str4 = challengeConditions.edges[num2].cursor);
										}
										return {
											challengeConditions: arr4,
											cursor: str4,
											hasNextPage: hasNextPage1
										};
									}(var350);
									this.coordinator.sendConditionsResponseMessage(var351, payload12.payload.callbackGuid);
									return [3, 4];
								case 3:
									var352 = var353.sent();
									this.coordinator.sendConditionsResponseMessage(null, payload12.payload.callbackGuid, JSON.stringify(var352));
									return [3, 4];
								case 4: return [2];
							}
							var var355, var356, var357, var358;
						}));
					}));
				};
				var314.onCreateConditionRequest = function(payload13) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var createBitsChallengeConditionForExtension, var359;
						return (0, var25.__generator)(this, (function(var360) {
							switch (var360.label) {
								case 0:
									if (!negate("ext_challenges_whitelist", this.extension.id)) return [2];
									var360.label = 1;
								case 1:
									var360.trys.push([
										1,
										3,
										,
										4
									]);
									return [4, (var362 = this.extension.id, var363 = this.channelId, var364 = this.extension.version, var365 = payload13.payload.name, var366 = payload13.payload.disableWhenSatisfied, (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
										return (0, var25.__generator)(this, (function(var361) {
											return [2, var27.F.graphQLRequest("mutation CreateCondition(\n    $extensionID: ID!\n    $extensionInstallationChannelID: ID!\n    $disableWhenSatisfied: Boolean!\n    $name: String!\n) {\n    createBitsChallengeConditionForExtension(input: {\n        disableWhenSatisfied: $disableWhenSatisfied\n        name: $name\n        extensionID: $extensionID\n        extensionInstallationChannelID: $extensionInstallationChannelID\n    }) {\n        condition {\n            id\n            state\n            name\n            createdAt\n            updatedAt\n        }\n    }\n}", {
												extensionID: "".concat(var362, ":").concat(var364),
												extensionInstallationChannelID: var363,
												name: var365,
												disableWhenSatisfied: var366
											})];
										}));
									})))];
								case 2:
									createBitsChallengeConditionForExtension = var360.sent();
									this.coordinator.sendCreateConditionResponseMessage({ condition: createBitsChallengeConditionForExtension.createBitsChallengeConditionForExtension.condition }, payload13.payload.callbackGuid);
									return [3, 4];
								case 3:
									var359 = var360.sent();
									this.coordinator.sendCreateConditionResponseMessage(null, payload13.payload.callbackGuid, JSON.stringify(var359));
									return [3, 4];
								case 4: return [2];
							}
							var var362, var363, var364, var365, var366;
						}));
					}));
				};
				var314.onExtensionPubSubRecived = function(payload14) {
					var payload15 = payload14.payload;
					var314.trackSequence(payload15.topic, payload15.target, payload15.sequenceStart, payload15.sequenceNumber);
				};
				var314.onExtensionNetworkTraffic = function(payload16) {
					var str5;
					var314.tracker.trackEvent("extension_network_request", {
						request_duration: payload16.payload.duration,
						request_end_time: payload16.payload.endTime,
						request_file_type: (str5 = payload16.payload.url, str5 && str5.split(".").pop() || ""),
						request_start_time: payload16.payload.startTime,
						request_url: payload16.payload.url
					});
				};
				var314.emitConfirmationRequest = function(var367) {
					var314.emit(var38.WN.RequestModal, var367);
				};
				var314.sendAuthUpdate = function(isLinked2) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var isSubscriptionStatusAvailable, var368;
						return (0, var25.__generator)(this, (function(var369) {
							switch (var369.label) {
								case 0:
									this.sendIdentityLinkUpdate(isLinked2);
									this.coordinator.sendExtensionAuth(this.getExtensionAuth());
									isSubscriptionStatusAvailable = fn8(this.installationAbilities, this.clientAbilities);
									return isLinked2.isLinked && isSubscriptionStatusAvailable.isSubscriptionStatusAvailable ? [4, var203.ZO.getViewerInfoForChannel("".concat(this.params.channelId))] : [3, 2];
								case 1:
									var368 = var369.sent();
									this.coordinator.sendViewerUpdateMessage(var368);
									var369.label = 2;
								case 2: return [2];
							}
						}));
					}));
				};
				var314.sendBootstrap = function(isLinked3) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var370, var371;
						return (0, var25.__generator)(this, (function(var372) {
							switch (var372.label) {
								case 0:
									this.hasBootstrapped = true;
									this.sendIdentityLinkUpdate(isLinked3);
									return (var370 = fn8(this.installationAbilities, this.clientAbilities)).isSubscriptionStatusAvailable && isLinked3.isLinked ? [4, var203.ZO.getViewerInfoForChannel("".concat(this.params.channelId))] : [3, 2];
								case 1:
									var371 = var372.sent();
									this.coordinator.sendExtensionBootstrap(this.getExtensionAuth(), var370, this.configuration, var371);
									return [3, 3];
								case 2:
									this.coordinator.sendExtensionBootstrap(this.getExtensionAuth(), var370, this.configuration, { subscriptionStatus: null });
									var372.label = 3;
								case 3:
									this.activationAnchor === var38.Z1.Component && this.setPosition({
										x: 0,
										y: 0
									});
									return [2];
							}
						}));
					}));
				};
				var314.sendIdentityLinkUpdate = function(var373) {
					var314.emit(var38.WN.IdentityLinked, var373.isLinked, var373.isUserLoggedIn && var314.canRequestIdLink);
				};
				var314.beginPurchase = function(payload17) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var374, var375, products3, var376, var377, var378 = this;
						return (0, var25.__generator)(this, (function(var379) {
							switch (var379.label) {
								case 0:
									var374 = payload17.payload.sku;
									var375 = this.extension.vendorCode;
									return [4, this.extensionProducts];
								case 1:
									if (products3 = var379.sent(), !(var376 = products3.products.find((function(item6) {
										return item6.sku === var374;
									})))) throw new Error("An extension product with the SKU ".concat(var374, " could not be found."));
									var377 = {
										asin: var376.asin,
										developer_name: var376.developer_name,
										item_name: var376.title,
										item_description: var376.description,
										item_description_short: var376.short_description,
										item_price: var376.price.price,
										item_price_currency: var376.price.currency_unit,
										vendor_code: var375,
										sku: var376.sku
									};
									this.tracker.trackEvent("extension_start_buy", var377);
									this.onBeginPurchase && this.onBeginPurchase(this.formatExtensionProductForDisplay(var376), (function() {
										return (0, var25.__awaiter)(var378, undefined, undefined, (function() {
											return (0, var25.__generator)(this, (function(var380) {
												this.tracker.trackEvent("extension_confirm_buy", var377);
												this.linkIdentity();
												this.purchaseService.makePurchase(var376, this.params.channelId, this.locale);
												return [2];
											}));
										}));
									}));
									return [2];
							}
						}));
					}));
				};
				var314.onContextUpdate = function(var381, var382) {
					var314.isVisible && (var314.params.mode === var38.Fw.Viewer ? (var381.game || (var381.game = ""), var381.playbackMode || (var381.playbackMode = var38.LS.Video)) : delete var381.game, var381.mode = var314.params.mode, var314.coordinator.sendContext(var381, var382));
				};
				var314.onCallbackRequest = function(var383) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var384;
						return (0, var25.__generator)(this, (function(var385) {
							switch (var385.label) {
								case 0: return [4, call5(function(var386, name) {
									return (0, var25.__awaiter)(this, undefined, undefined, (function() {
										return (0, var25.__generator)(this, (function(var387) {
											switch (var387.label) {
												case 0:
													switch (name.name) {
														case var56.SetConfiguration: return [3, 1];
														case var56.SendMessageToPubsub: return [3, 3];
													}
													return [3, 5];
												case 1: return [4, call4(var386, name)];
												case 2:
												case 4: return [2, var387.sent()];
												case 3: return [4, call2(var386, name)];
												case 5: throw new Error("unexpected callback \"".concat(name.name, "\""));
											}
										}));
									}));
								}(this.callbackContext, var383.request))];
								case 1:
									var384 = var385.sent();
									this.coordinator.sendCallbackResponseMessage(var383.request.name, var383.guid, var384);
									return [2];
							}
						}));
					}));
				};
				var314.onExtensionClientError = function(var388) {
					var314.emit(var38.WN.ExtensionClientError, var388);
				};
				var314.setupListeners = function() {
					var314.eventListeners = [{
						target: var314.iframe,
						event: "mouseenter",
						callback: var314.onMouseEnter.bind(var314)
					}];
					var314.eventListeners.forEach((function(item7) {
						item7.target.addEventListener(item7.event, item7.callback);
					}));
					var314.contextManager.on(var79.Gt.Context, var314.onContextUpdate);
					var314.coordinator.on(var38.bP.SupervisorReady, var314.initSupervisedExtension);
					var314.coordinator.on(var38.IX.TwitchExtLoaded, var314.onExtensionLoaded);
					var314.coordinator.on(var38.tv.TwitchExtMinimize, var314.onMinimize);
					var314.coordinator.on(var38.IX.TwitchExtNetworkTiming, var314.onExtensionNetworkTraffic);
					var314.coordinator.on(var38.IX.TwitchExtUserAction, var314.onExtensionUserAction);
					var314.coordinator.on(var38.IX.TwitchExtCustomTrackEvent, var314.trackDeveloperCustomEvent);
					var314.onBeginPurchase && var314.coordinator.on(var38.IX.TwitchExtBeginPurchase, var314.beginPurchase);
					var314.coordinator.on(var38.IX.TwitchExtBitsOnHover, var314.showBitsBalance);
					var314.coordinator.on(var38.IX.TwitchExtPubSubReceived, var314.onExtensionPubSubRecived);
					var314.coordinator.on(var38.IX.TwitchExtLongtask, var314.onLongtask);
					var314.coordinator.on(var38.tv.ConditionParticipantsRequest, var314.onConditionParticipantsRequest);
					var314.coordinator.on(var38.tv.ConditionsRequest, var314.onConditionsRequest);
					var314.coordinator.on(var38.tv.CreateConditionRequest, var314.onCreateConditionRequest);
					var314.coordinator.on(var38.IX.TwitchExtCallbackRequest, var314.onCallbackRequest);
					var314.coordinator.on(var38.IX.TwitchExtClientError, var314.onExtensionClientError);
					var141.b.subscribe(var314.extension.clientId, var314.channelId, var314.handleToken);
					var isNearExpiration1 = var141.b.getToken(var314.extension.clientId, var314.channelId);
					isNearExpiration1 && !isNearExpiration1.isNearExpiration && var314.handleToken(isNearExpiration1, isNearExpiration1);
					var314.bindHelperPubsub();
				};
				var314.reloadExtension = function() {
					var314.hasLoaded = false;
					var314.hasBootstrapped = false;
					var314.coordinator.sendExtensionReloadMessage();
				};
				var314.unsetupListeners = function() {
					var314.eventListeners.forEach((function(item8) {
						item8.target.removeEventListener(item8.event, item8.callback);
					}));
					var314.contextManager.off(var79.Gt.Context, var314.coordinator.sendContext);
					var314.coordinator.off(var38.IX.TwitchExtLoaded, var314.onExtensionLoaded);
					var314.coordinator.off(var38.IX.TwitchExtNetworkTiming, var314.onExtensionNetworkTraffic);
					var314.coordinator.off(var38.IX.TwitchExtUserAction, var314.onExtensionUserAction);
					var314.coordinator.off(var38.IX.TwitchExtLongtask, var314.onLongtask);
					var314.coordinator.off(var38.tv.TwitchExtMinimize, var314.onMinimize);
					var314.coordinator.off(var38.tv.ConditionParticipantsRequest, var314.onConditionParticipantsRequest);
					var314.coordinator.off(var38.tv.ConditionsRequest, var314.onConditionsRequest);
					var314.coordinator.off(var38.tv.CreateConditionRequest, var314.onCreateConditionRequest);
					var314.unregisterFunctionModals();
					var141.b.unsubscribe(var314.extension.clientId, var314.channelId, var314.handleToken);
					var314.helperPubsubAdapter && var314.helperPubsubAdapter.destroy();
				};
				var314.registerFunctionModals = function() {
					var314.functionManager.registerFunctionModal(var38.tv.FollowAction, new var237(var314.params.loginId, var314.tracker));
					var314.functionManager.registerFunctionModal(var38.tv.SubscribeToChannel, new var39.Z0(var314.params.extension.clientId, fn8(var314.installationAbilities, var314.clientAbilities).isSubscriptionStatusAvailable));
					var314.canRequestIdLink && var314.functionManager.registerFunctionModal(var38.tv.IdShareRequest, new var260());
					var314.extension.bitsEnabled && (var314.functionManager.registerFunctionModal(var38.tv.UseBits, new var157(String(var314.params.loginId), var314.tracker, new var276.Q(), var314.showUseBitsSuccess, var314.extension, var314.extensionBitsProducts, var314.channelId)), var314.functionManager.registerFunctionModal(var38.tv.ConditionConfirmationRequest, new var208(var314.tracker, var314.extension.id, var314.extension.version)));
				};
				var314.unregisterFunctionModals = function() {
					var314.functionManager.unregisterFunctionModal(var38.tv.FollowAction);
					var314.extension.bitsEnabled && (var314.functionManager.unregisterFunctionModal(var38.tv.UseBits), var314.functionManager.unregisterFunctionModal(var38.tv.ConditionConfirmationRequest));
				};
				var314.handlePurchaseCompleted = function(msg) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var389, products4;
						return (0, var25.__generator)(this, (function(var390) {
							switch (var390.label) {
								case 0:
									var389 = msg.msg.sku;
									return [4, this.extensionProducts];
								case 1:
									products4 = var390.sent();
									products4.products.find((function(item9) {
										return item9.sku === var389;
									})) && this.coordinator.sendExtensionReloadEntitlementsMessage();
									return [2];
							}
						}));
					}));
				};
				var314.onMinimize = function() {
					var314.emit(var38.WN.Minimize);
				};
				var314.showBitsBalance = function() {
					var314.emit(var38.WN.ShowBitsBalance);
				};
				var314.showUseBitsSuccess = function(var391) {
					var314.emit(var38.WN.ShowUseBitsSuccess, var391);
				};
				var314.handleBitsTransactionCompleted = function(var392) {
					return (0, var25.__awaiter)(var314, undefined, undefined, (function() {
						var var393, var394, products5, var395;
						return (0, var25.__generator)(this, (function(var396) {
							switch (var396.label) {
								case 0:
									var393 = var78.Other;
									String(this.params.loginId) === var392.user_id && (var393 = var78.CurrentUser);
									var394 = {
										sku: var392.sku,
										displayName: var392.sku,
										cost: {
											amount: "",
											type: ""
										}
									};
									var396.label = 1;
								case 1:
									var396.trys.push([
										1,
										3,
										,
										4
									]);
									return [4, this.extensionBitsProducts];
								case 2:
									products5 = var396.sent();
									var395 = products5.products.find((function(item10) {
										return item10.sku === var392.sku;
									}));
									this.coordinator.sendBitsTransactionCompleteMessage({
										action: var38.IX.TwitchExtBitsTransactionComplete,
										product: var395 || var394,
										transactionId: var392.transaction_id,
										userId: var392.user_id,
										displayName: var392.display_name,
										transactionReceipt: var392.transactionReceipt,
										initiator: var393
									});
									return [3, 4];
								case 3:
									var396.sent();
									this.coordinator.sendBitsTransactionCompleteMessage({
										action: var38.IX.TwitchExtBitsTransactionComplete,
										product: var394,
										transactionId: var392.transaction_id,
										userId: var392.user_id,
										displayName: var392.display_name,
										transactionReceipt: var392.transactionReceipt,
										initiator: var393
									});
									return [3, 4];
								case 4: return [2];
							}
						}));
					}));
				};
				var314.trackDeveloperCustomEvent = function(payload18) {
					var payload19 = payload18.payload;
					var314.tracker.trackDeveloperCustomEvent({
						dev_event_name: payload19.developerName,
						interaction_type: payload19.interactionType,
						category: payload19.category,
						custom_metadata: payload19.customMetadata || null
					});
				};
				var314.extension = new var265(var310.extension);
				var314.params = (0, var25.__assign)((0, var25.__assign)({}, var310), { mode: var310.platform === var38.z$.Mobile ? var38.Fw.Viewer : var310.mode });
				var314.isVisible = var310.anchor !== var38.Z1.Component;
				var314.channelId = var314.params.channelId.toString();
				var314.iframe = var314.createSupervisorIFrame(var310.iframeClassName);
				undefined !== var310.onBeginPurchase && (var314.onBeginPurchase = var310.onBeginPurchase);
				var314.setupListeners();
				var314.extension.token && !var141.b.getToken(var314.extension.clientId, var314.channelId) && (var310.extension.helixToken && !var141.b.getHelixToken(var314.extension.clientId, var314.channelId) ? var141.b.registerTokens(var314.extension.clientId, var314.channelId, {
					token: var314.extension.token,
					helixToken: var310.extension.helixToken
				}) : var141.b.registerToken(var314.extension.clientId, var314.channelId, var314.extension.token));
				var314.registerFunctionModals();
				var314.tracker.trackEvent("extension_render", {});
				var310.parentElement.appendChild(var314.iframe);
				var314.visibilityChanged();
				var314.params.loginId && var314.bitsMessagePubsubUnsubscribes.push(var203.ZO.onPurchaseCompleted(var314.params.loginId, var314.handlePurchaseCompleted));
				var314.bitsMessagePubsubUnsubscribes.push(var203.ZO.onBitsTransactionCompleted(var314.params.channelId, var314.extension.clientId, var314.params.loginId, var314.handleBitsTransactionCompleted));
				fn8(var314.installationAbilities, var314.clientAbilities).isSubscriptionStatusAvailable && var203.ZO.listenForViewerSubscriptionStatus("".concat(var314.params.loginId), "".concat(var314.params.channelId), var314.params.extension.id, (function(var397) {
					var314.coordinator.sendViewerUpdateMessage(var397);
				}));
				return var314;
			}
			(0, var25.__extends)(fn12, var309);
			Object.defineProperty(fn12.prototype, "activationAnchor", {
				get: function() {
					return this.params.anchor;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "tracker", {
				get: function() {
					return fn11(this.buildTracker);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "contextManager", {
				get: function() {
					return fn11(this.getContextManager);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "coordinator", {
				get: function() {
					return fn11(this.buildCoordinator);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "extensionOptions", {
				get: function() {
					return {
						anchor: this.activationAnchor,
						language: this.language,
						locale: this.locale,
						mode: this.params.mode,
						state: var38.d$[this.extension.state],
						platform: this.params.platform,
						popout: this.params.isPopout || false,
						disable3PT: this.params.disable3PT
					};
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "functionManager", {
				get: function() {
					return fn11(this.buildFunctionManager);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "language", {
				get: function() {
					return this.params.language || "en";
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "locale", {
				get: function() {
					return this.params.locale || "en-US";
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "purchaseService", {
				get: function() {
					return fn11(this.buildPurchaseService);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "canRequestIdLink", {
				get: function() {
					var var398 = var141.b.getToken(this.extension.clientId, this.channelId);
					return !var398.isBroadcaster && (var398.isLinked || this.extension.requestIdentityLink);
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "installationAbilities", {
				get: function() {
					return {
						isChatEnabled: !!this.params.installationAbilities && this.params.installationAbilities.isChatEnabled,
						isBitsEnabled: !!this.params.installationAbilities && this.params.installationAbilities.isBitsEnabled,
						isSubscriptionStatusAvailable: !!this.params.installationAbilities && this.params.installationAbilities.isSubscriptionStatusAvailable
					};
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "configuration", {
				get: function() {
					return this.params.configuration ? this.params.configuration : {};
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "clientAbilities", {
				get: function() {
					return {
						isBitsEnabled: !this.params.features || !!this.params.features.bits,
						useSharedPubsub: !!this.params.features && !!this.params.features.sharePubsub
					};
				},
				enumerable: false,
				configurable: true
			});
			fn12.prototype.getSandboxFlags = function() {
				return arr1.join(" ");
			};
			fn12.prototype.trackSequence = function(var399, var400, var401, var402) {
				this.lastSequenceInfoMap[var400] || (this.lastSequenceInfoMap[var400] = {});
				var sequenceTime1 = this.lastSequenceInfoMap[var400].sequenceTime, sequenceNumber1 = this.lastSequenceInfoMap[var400].sequenceNumber;
				if (sequenceNumber1 && (sequenceTime1 !== var401 && (sequenceNumber1 = 0), sequenceNumber1 < var402 - 1)) {
					var var403 = sequenceNumber1 + 1;
					this.tracker.trackEvent("extension_pubsub_missed", {
						topic: var399,
						target: var400,
						sequenceStart: var401,
						firstMissedSequenceNumber: var403,
						lastMissedSequenceNumber: var402 - 1,
						missed: var402 - var403
					});
				}
				this.lastSequenceInfoMap[var400] = {
					sequenceNumber: var402,
					sequenceTime: var401
				};
				this.tracker.trackEvent("extension_pubsub_received", {
					topic: var399,
					target: var400,
					sequenceStart: var401,
					sequenceNumber: var402
				});
			};
			Object.defineProperty(fn12.prototype, "callbackContext", {
				get: function() {
					return {
						channelID: this.channelId,
						extensionID: this.extension.clientId,
						authToken: this.getExtensionAuth().token
					};
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "extensionProducts", {
				get: function() {
					var extensionProductsCache = this.extensionProductsCache;
					if (undefined === extensionProductsCache) {
						var extension2 = this.extension, sku2 = extension2.sku, vendorCode = extension2.vendorCode;
						this.extension.isMonetized ? (this.extensionProductsCache = (0, var41.gz)(vendorCode, sku2, this.language), extensionProductsCache = this.extensionProductsCache) : extensionProductsCache = Promise.resolve({ products: [] });
					}
					return extensionProductsCache;
				},
				enumerable: false,
				configurable: true
			});
			Object.defineProperty(fn12.prototype, "extensionBitsProducts", {
				get: function() {
					var extensionBitsProductsCache = this.extensionBitsProductsCache;
					if (undefined === extensionBitsProductsCache) {
						var extension3 = this.extension;
						this.extensionBitsProductsCache = function(var405, var406) {
							return (0, var25.__awaiter)(undefined, undefined, undefined, (function() {
								var extension4, products6;
								return (0, var25.__generator)(this, (function(var407) {
									switch (var407.label) {
										case 0: return [4, var27.F.graphQLRequest("\nquery ExtensionProducts($extensionID: ID!, $version: String) {\n  extension(id: $extensionID, version: $version) {\n    products {\n      sku\n      displayName\n      cost {\n        amount\n        type\n      }\n      isInDevelopment\n    }\n  }\n}\n", {
											extensionID: var405,
											version: var406
										})];
										case 1:
											extension4 = var407.sent();
											return (null === (products6 = null == extension4 ? undefined : extension4.extension) || undefined === products6 ? undefined : products6.products) ? [2, { products: extension4.extension.products.map((function(item11) {
												return {
													sku: item11.sku,
													displayName: item11.displayName,
													cost: {
														amount: item11.cost.amount.toString(),
														type: item11.cost.type.toLowerCase()
													},
													inDevelopment: item11.isInDevelopment
												};
											})) }] : [2, { products: [] }];
									}
								}));
							}));
						}(extension3.clientId, extension3.version);
						extensionBitsProductsCache = this.extensionBitsProductsCache;
					}
					return extensionBitsProductsCache;
				},
				enumerable: false,
				configurable: true
			});
			fn12.prototype.formatExtensionProductForDisplay = function(var408) {
				return {
					description: var408.description,
					developerName: var408.developer_name,
					displayPrice: pick(var408.price.price, var408.price.currency_unit),
					extensionName: this.extension.name,
					shortDescription: var408.short_description,
					sku: var408.sku,
					title: var408.title
				};
			};
			fn12.prototype.sendExtensionProductPrices = function() {
				return (0, var25.__awaiter)(this, undefined, undefined, (function() {
					var var409;
					return (0, var25.__generator)(this, (function(var410) {
						switch (var410.label) {
							case 0: return [4, this.extensionProducts];
							case 1:
								var409 = var410.sent();
								this.extension.isMonetized && this.coordinator.sendExtensionProductPricesMessage(var409);
								return [2];
						}
					}));
				}));
			};
			fn12.prototype.sendExtensionBitsProductPrices = function() {
				return (0, var25.__awaiter)(this, undefined, undefined, (function() {
					var products7, var411, extension5 = this;
					return (0, var25.__generator)(this, (function(var412) {
						switch (var412.label) {
							case 0: return this.extension.bitsEnabled ? [4, this.extensionBitsProducts] : (this.coordinator.sendBitsProductsMessage([]), [2]);
							case 1:
								products7 = var412.sent();
								var411 = products7.products.filter((function(item12) {
									return extension5.extension.state !== var38.HY.Released || true !== item12.inDevelopment;
								})).map((function(item13) {
									var obj6 = {
										cost: item13.cost,
										displayName: item13.displayName,
										sku: item13.sku
									};
									extension5.extension.state !== var38.HY.Released && (obj6.inDevelopment = item13.inDevelopment);
									return obj6;
								}));
								this.coordinator.sendBitsProductsMessage(var411);
								return [2];
						}
					}));
				}));
			};
			fn12.prototype.sendExtensionDisplayState = function() {
				var getDisplayState = this.params.getDisplayState;
				if (getDisplayState) {
					var var413 = getDisplayState();
					switch (var413.anchor) {
						case var38.Z1.Overlay:
							this.setVisible(var413.isVisible);
							break;
						case var38.Z1.Component:
							this.setVisible(var413.isVisible);
							this.setPosition(var413.position);
					}
				}
			};
			fn12.prototype.bindHelperPubsub = function() {
				this.helperPubsubAdapter = this.params.helperPubsubAdapter || new var277(this.coordinator, this.tracker);
			};
			return fn12;
		}(EventEmitter.EventEmitter);
		function call7(var414, var415, var416, var417, var418) {
			return (0, var25.__awaiter)(this, undefined, undefined, (function() {
				var var419, var420, var421;
				return (0, var25.__generator)(this, (function(var422) {
					switch (var422.label) {
						case 0:
							var422.trys.push([
								0,
								2,
								,
								3
							]);
							return [4, call({
								channelID: var415,
								extensionID: var416,
								version: var417
							})];
						case 1:
							var419 = var422.sent();
							var420 = (0, var25.__assign)((0, var25.__assign)({}, var418), {
								channelId: parseInt(var415, 10),
								loginId: parseInt(var414, 10),
								mode: var38.Fw.Viewer,
								platform: var38.z$.Mobile,
								extension: var419.extension,
								anchor: var419.anchor,
								configuration: var419.configuration,
								installationAbilities: var419.abilities
							});
							return [2, new var308(var420)];
						case 2:
							var421 = var422.sent();
							throw new Error("Extension Response was malformed coming back from GQL. Check your network inspector to see if everything is there. Details: ".concat(var421.toString()));
						case 3: return [2];
					}
				}));
			}));
		}
		var24(237698);
		!function() {
			function fn13() {}
			fn13.ExtensionFrame = var308;
			fn13.ExtensionService = var203.ZO;
			fn13.createMobileExtensionFrame = call7;
		}();
	},
	843643: () => {
		"use strict";
		try {
			new MouseEvent("test");
		} catch (error6) {
			window.MouseEvent = function(var423, var424) {
				var initMouseEvent1 = document.createEvent("MouseEvent"), var425 = Object.assign({
					bubbles: false,
					cancelable: false,
					clientX: 0,
					clientY: 0,
					ctrlKey: false,
					altKey: false,
					shiftKey: false,
					metaKey: false,
					button: 0,
					relatedTarget: null
				}, var424 || {});
				initMouseEvent1.initMouseEvent(var423, var425.bubbles, var425.cancelable, window, var425.ctrlKey, var425.altKey, var425.shiftKey, var425.metaKey, var425.button, var425.relatedTarget);
				return initMouseEvent1;
			};
			window.MouseEvent.prototype = Event.prototype;
		}
	},
	937315: function(exports) {
		!function(Promise) {
			var var426 = setTimeout;
			function fn14() {}
			function fn15(var427) {
				if (!(this instanceof fn15)) throw new TypeError("Promises must be constructed via new");
				if ("function" != typeof var427) throw new TypeError("not a function");
				this._state = 0;
				this._handled = false;
				this._value = undefined;
				this._deferreds = [];
				fn21(var427, this);
			}
			function fn16(var428, var429) {
				for (; 3 === var428._state;) var428 = var428._value;
				0 !== var428._state ? (var428._handled = true, fn15._immediateFn((function() {
					var var430 = 1 === var428._state ? var429.onFulfilled : var429.onRejected;
					if (null !== var430) {
						var var431;
						try {
							var431 = var430(var428._value);
						} catch (error7) {
							return void fn18(var429.promise, error7);
						}
						fn17(var429.promise, var431);
					} else (1 === var428._state ? fn17 : fn18)(var429.promise, var428._value);
				}))) : var428._deferreds.push(var429);
			}
			function fn17(var432, then) {
				try {
					if (then === var432) throw new TypeError("A promise cannot be resolved with itself.");
					if (then && ("object" == typeof then || "function" == typeof then)) {
						var then1 = then.then;
						if (then instanceof fn15) return var432._state = 3, var432._value = then, void fn19(var432);
						if ("function" == typeof then1) return void fn21((var433 = then1, var434 = then, function() {
							var433.apply(var434, arguments);
						}), var432);
					}
					var432._state = 1;
					var432._value = then;
					fn19(var432);
				} catch (error8) {
					fn18(var432, error8);
				}
				var var433, var434;
			}
			function fn18(var435, var436) {
				var435._state = 2;
				var435._value = var436;
				fn19(var435);
			}
			function fn19(var437) {
				2 === var437._state && 0 === var437._deferreds.length && fn15._immediateFn((function() {
					var437._handled || fn15._unhandledRejectionFn(var437._value);
				}));
				for (var num3 = 0, length = var437._deferreds.length; num3 < length; num3++) fn16(var437, var437._deferreds[num3]);
				var437._deferreds = null;
			}
			function fn20(var438, var439, var440) {
				this.onFulfilled = "function" == typeof var438 ? var438 : null;
				this.onRejected = "function" == typeof var439 ? var439 : null;
				this.promise = var440;
			}
			function fn21(var441, var442) {
				var flag = false;
				try {
					var441((function(var443) {
						flag || (flag = true, fn17(var442, var443));
					}), (function(var444) {
						flag || (flag = true, fn18(var442, var444));
					}));
				} catch (error9) {
					if (flag) return;
					flag = true;
					fn18(var442, error9);
				}
			}
			fn15.prototype.catch = function(var445) {
				return this.then(null, var445);
			};
			fn15.prototype.then = function(var446, var447) {
				var obj7 = new this.constructor(fn14);
				fn16(this, new fn20(var446, var447, obj7));
				return obj7;
			};
			fn15.all = function(list4) {
				return new fn15((function(var448, var449) {
					if (!list4 || undefined === list4.length) throw new TypeError("Promise.all accepts an array");
					var list5 = Array.prototype.slice.call(list4);
					if (0 === list5.length) return var448([]);
					var length1 = list5.length;
					function fn22(var450, then2) {
						try {
							if (then2 && ("object" == typeof then2 || "function" == typeof then2)) {
								var then3 = then2.then;
								if ("function" == typeof then3) return void then3.call(then2, (function(var451) {
									fn22(var450, var451);
								}), var449);
							}
							list5[var450] = then2;
							0 == --length1 && var448(list5);
						} catch (error10) {
							var449(error10);
						}
					}
					for (var index = 0; index < list5.length; index++) fn22(index, list5[index]);
				}));
			};
			fn15.resolve = function(var452) {
				return var452 && "object" == typeof var452 && var452.constructor === fn15 ? var452 : new fn15((function(var453) {
					var453(var452);
				}));
			};
			fn15.reject = function(var454) {
				return new fn15((function(var455, var456) {
					var456(var454);
				}));
			};
			fn15.race = function(list6) {
				return new fn15((function(var457, var458) {
					for (var num4 = 0, length2 = list6.length; num4 < length2; num4++) list6[num4].then(var457, var458);
				}));
			};
			fn15._immediateFn = "function" == typeof setImmediate && function(var459) {
				setImmediate(var459);
			} || function(var460) {
				var426(var460, 0);
			};
			fn15._unhandledRejectionFn = function(var461) {
				"undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", var461);
			};
			fn15._setImmediateFn = function(var462) {
				fn15._immediateFn = var462;
			};
			fn15._setUnhandledRejectionFn = function(var463) {
				fn15._unhandledRejectionFn = var463;
			};
			exports.exports ? exports.exports = fn15 : Promise.Promise || (Promise.Promise = fn15);
		}(this);
	},
	16450: (exports1, var464, var465) => {
		"use strict";
		var var466, var467 = var465(814913), var468 = var465(747059), var469 = var465(926221), var470 = var465(330203), var471 = var465(690148), var472 = var465(430498), var473 = Function.prototype.bind, defineProperty = Object.defineProperty, var474 = Object.prototype.hasOwnProperty;
		var466 = function(var475, value2, var476) {
			var var477, var478 = var468(value2) && var469(value2.value);
			delete (var477 = var470(value2)).writable;
			delete var477.value;
			var477.get = function() {
				return !var476.overwriteDefinition && var474.call(this, var475) ? var478 : (value2.value = var473.call(var478, var476.resolveContext ? var476.resolveContext(this) : this), defineProperty(this, var475, value2), this[var475]);
			};
			return var477;
		};
		exports1.exports = function(var479) {
			var resolveContext = var471(arguments[1]);
			var467(resolveContext.resolveContext) && var469(resolveContext.resolveContext);
			return var472(var479, (function(var480, var481) {
				return var466(var481, var480, resolveContext);
			}));
		};
	},
	858263: (exports2, var482, var483) => {
		"use strict";
		var var484 = var483(814913), var485 = var483(550307), var486 = var483(416596), var487 = var483(690148), var488 = var483(270214);
		(exports2.exports = function(var489, var490) {
			var var491, var492, var493, var494, var495;
			arguments.length < 2 || "string" != typeof var489 ? (var494 = var490, var490 = var489, var489 = null) : var494 = arguments[2];
			var484(var489) ? (var491 = var488.call(var489, "c"), var492 = var488.call(var489, "e"), var493 = var488.call(var489, "w")) : (var491 = var493 = true, var492 = false);
			var495 = {
				value: var490,
				configurable: var491,
				enumerable: var492,
				writable: var493
			};
			return var494 ? var486(var487(var494), var495) : var495;
		}).gs = function(var496, var497, var498) {
			var var499, var500, var501, var502;
			"string" != typeof var496 ? (var501 = var498, var498 = var497, var497 = var496, var496 = null) : var501 = arguments[3];
			var484(var497) ? var485(var497) ? var484(var498) ? var485(var498) || (var501 = var498, var498 = undefined) : var498 = undefined : (var501 = var497, var497 = var498 = undefined) : var497 = undefined;
			var484(var496) ? (var499 = var488.call(var496, "c"), var500 = var488.call(var496, "e")) : (var499 = true, var500 = false);
			var502 = {
				get: var497,
				set: var498,
				configurable: var499,
				enumerable: var500
			};
			return var501 ? var486(var487(var501), var502) : var502;
		};
	},
	731638: (exports3, var503, var504) => {
		"use strict";
		var var505 = var504(304844);
		exports3.exports = function(var506) {
			if ("function" != typeof var506) return false;
			if (!hasOwnProperty.call(var506, "length")) return false;
			try {
				if ("number" != typeof var506.length) return false;
				if ("function" != typeof var506.call) return false;
				if ("function" != typeof var506.apply) return false;
			} catch (error11) {
				return false;
			}
			return !var505(var506);
		};
	},
	647427: (exports4, var507, var508) => {
		"use strict";
		var var509 = var508(814913), var510 = var508(819879), var511 = var508(815180), var512 = var508(619043), call8 = function(str6, var513) {
			return str6.replace("%v", var512(var513));
		};
		exports4.exports = function(var514, var515, var516) {
			if (!var510(var516)) throw new TypeError(call8(var515, var514));
			if (!var509(var514)) {
				if ("default" in var516) return var516.default;
				if (var516.isOptional) return null;
			}
			var var517 = var511(var516.errorMessage);
			var509(var517) || (var517 = var515);
			throw new TypeError(call8(var517, var514));
		};
	},
	938198: (exports5) => {
		"use strict";
		exports5.exports = function(var518) {
			try {
				return var518.toString();
			} catch (error12) {
				try {
					return String(var518);
				} catch (error13) {
					return null;
				}
			}
		};
	},
	619043: (exports6, var519, var520) => {
		"use strict";
		var var521 = var520(938198), regex = /[\n\r\u2028\u2029]/g;
		exports6.exports = function(var522) {
			var str7 = var521(var522);
			return null === str7 ? "<Non-coercible to string value>" : (str7.length > 100 && (str7 = str7.slice(0, 99) + "…"), str7 = str7.replace(regex, (function(var523) {
				switch (var523) {
					case "\n": return "\\n";
					case "\r": return "\\r";
					case "\u2028": return "\\u2028";
					case "\u2029": return "\\u2029";
					default: throw new Error("Unexpected character");
				}
			})));
		};
	},
	819879: (exports7, var524, var525) => {
		"use strict";
		var var526 = var525(814913), obj8 = {
			object: true,
			function: true,
			undefined: true
		};
		exports7.exports = function(var527) {
			return !!var526(var527) && hasOwnProperty.call(obj8, typeof var527);
		};
	},
	926221: (exports8, var528, var529) => {
		"use strict";
		var var530 = var529(647427), var531 = var529(550307);
		exports8.exports = function(var532) {
			return var531(var532) ? var532 : var530(var532, "%v is not a plain function", arguments[1]);
		};
	},
	550307: (exports9, var533, var534) => {
		"use strict";
		var var535 = var534(731638), regex1 = /^\s*class[\s{/}]/, var536 = Function.prototype.toString;
		exports9.exports = function(var537) {
			return !!var535(var537) && !regex1.test(var536.call(var537));
		};
	},
	304844: (exports10, var538, var539) => {
		"use strict";
		var var540 = var539(819879);
		exports10.exports = function(var541) {
			if (!var540(var541)) return false;
			try {
				return !!var541.constructor && var541.constructor.prototype === var541;
			} catch (error14) {
				return false;
			}
		};
	},
	815180: (exports11, var542, var543) => {
		"use strict";
		var var544 = var543(814913), var545 = var543(819879), var546 = Object.prototype.toString;
		exports11.exports = function(var547) {
			if (!var544(var547)) return null;
			if (var545(var547)) {
				var var548 = var547.toString;
				if ("function" != typeof var548) return null;
				if (var548 === var546) return null;
			}
			try {
				return "" + var547;
			} catch (error15) {
				return null;
			}
		};
	},
	747059: (exports12, var549, var550) => {
		"use strict";
		var var551 = var550(647427), var552 = var550(814913);
		exports12.exports = function(var553) {
			return var552(var553) ? var553 : var551(var553, "Cannot use %v", arguments[1]);
		};
	},
	814913: (exports13) => {
		"use strict";
		exports13.exports = function(var554) {
			return null != var554;
		};
	},
	410577: (exports14, var555, var556) => {
		"use strict";
		var var557 = var556(767134);
		exports14.exports = function() {
			var557(this).length = 0;
			return this;
		};
	},
	844645: (exports15, var558, var559) => {
		"use strict";
		exports15.exports = var559(873916)() ? Array.from : var559(165552);
	},
	873916: (exports16) => {
		"use strict";
		exports16.exports = function() {
			var var560, var561, from = Array.from;
			return "function" == typeof from && (var561 = from(var560 = ["raz", "dwa"]), Boolean(var561 && var561 !== var560 && "dwa" === var561[1]));
		};
	},
	165552: (exports17, var562, var563) => {
		"use strict";
		var iterator = var563(372380).iterator, var564 = var563(728746), var565 = var563(992840), var566 = var563(432665), var567 = var563(25499), var568 = var563(767134), var569 = var563(889762), var570 = var563(73748), isArray = Array.isArray, var571 = Function.prototype.call, obj9 = {
			configurable: true,
			enumerable: true,
			writable: true,
			value: null
		}, defineProperty1 = Object.defineProperty;
		exports17.exports = function(list7) {
			var var572, var573, var574, list8, var575, var576, next, var577, var578, str8, var579 = arguments[1], var580 = arguments[2];
			if (list7 = Object(var568(list7)), var569(var579) && var567(var579), this && this !== Array && var565(this)) var572 = this;
			else {
				if (!var579) {
					if (var564(list7)) return 1 !== (var575 = list7.length) ? Array.apply(null, list7) : ((list8 = new Array(1))[0] = list7[0], list8);
					if (isArray(list7)) {
						for (list8 = new Array(var575 = list7.length), var573 = 0; var573 < var575; ++var573) list8[var573] = list7[var573];
						return list8;
					}
				}
				list8 = [];
			}
			if (!isArray(list7)) {
				if (undefined !== (var578 = list7[iterator])) {
					for (next = var567(var578).call(list7), var572 && (list8 = new var572()), var577 = next.next(), var573 = 0; !var577.done;) {
						str8 = var579 ? var571.call(var579, var580, var577.value, var573) : var577.value;
						var572 ? (obj9.value = str8, defineProperty1(list8, var573, obj9)) : list8[var573] = str8;
						var577 = next.next();
						++var573;
					}
					var575 = var573;
				} else if (var570(list7)) {
					for (var575 = list7.length, var572 && (list8 = new var572()), var573 = 0, var574 = 0; var573 < var575; ++var573) {
						str8 = list7[var573];
						var573 + 1 < var575 && (var576 = str8.charCodeAt(0)) >= 55296 && var576 <= 56319 && (str8 += list7[++var573]);
						str8 = var579 ? var571.call(var579, var580, str8, var574) : str8;
						var572 ? (obj9.value = str8, defineProperty1(list8, var574, obj9)) : list8[var574] = str8;
						++var574;
					}
					var575 = var574;
				}
			}
			if (undefined === var575) for (var575 = var566(list7.length), var572 && (list8 = new var572(var575)), var573 = 0; var573 < var575; ++var573) {
				str8 = var579 ? var571.call(var579, var580, list7[var573], var573) : list7[var573];
				var572 ? (obj9.value = str8, defineProperty1(list8, var573, obj9)) : list8[var573] = str8;
			}
			var572 && (obj9.value = null, list8.length = var575);
			return list8;
		};
	},
	728746: (exports18) => {
		"use strict";
		var var581 = Object.prototype.toString, var582 = var581.call(function() {
			return arguments;
		}());
		exports18.exports = function(var583) {
			return var581.call(var583) === var582;
		};
	},
	992840: (exports19) => {
		"use strict";
		var var584 = Object.prototype.toString, var585 = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);
		exports19.exports = function(var586) {
			return "function" == typeof var586 && var585(var584.call(var586));
		};
	},
	146011: (exports20) => {
		"use strict";
		exports20.exports = function() {};
	},
	79911: (exports21, var587, var588) => {
		"use strict";
		exports21.exports = var588(492734)() ? Math.sign : var588(33670);
	},
	492734: (exports22) => {
		"use strict";
		exports22.exports = function() {
			var sign = Math.sign;
			return "function" == typeof sign && 1 === sign(10) && -1 === sign(-20);
		};
	},
	33670: (exports23) => {
		"use strict";
		exports23.exports = function(var589) {
			var589 = Number(var589);
			return isNaN(var589) || 0 === var589 ? var589 : var589 > 0 ? 1 : -1;
		};
	},
	749806: (exports24, var590, var591) => {
		"use strict";
		var var592 = var591(79911), abs = Math.abs, floor = Math.floor;
		exports24.exports = function(var593) {
			return isNaN(var593) ? 0 : 0 !== (var593 = Number(var593)) && isFinite(var593) ? var592(var593) * floor(abs(var593)) : var593;
		};
	},
	432665: (exports25, var594, var595) => {
		"use strict";
		var var596 = var595(749806), max = Math.max;
		exports25.exports = function(var597) {
			return max(0, var596(var597));
		};
	},
	458191: (exports26, var598, var599) => {
		"use strict";
		var var600 = var599(25499), var601 = var599(767134), var602 = Function.prototype.bind, var603 = Function.prototype.call, keys = Object.keys, var604 = Object.prototype.propertyIsEnumerable;
		exports26.exports = function(var605, var606) {
			return function(var607, var608) {
				var list9, var609 = arguments[2], var610 = arguments[3];
				var607 = Object(var601(var607));
				var600(var608);
				list9 = keys(var607);
				var610 && list9.sort("function" == typeof var610 ? var602.call(var610, var607) : undefined);
				"function" != typeof var605 && (var605 = list9[var605]);
				return var603.call(var605, list9, (function(var611, var612) {
					return var604.call(var607, var611) ? var603.call(var608, var609, var607[var611], var611, var607, var612) : var606;
				}));
			};
		};
	},
	416596: (exports27, var613, var614) => {
		"use strict";
		exports27.exports = var614(305339)() ? Object.assign : var614(933595);
	},
	305339: (exports28) => {
		"use strict";
		exports28.exports = function() {
			var var615, assign = Object.assign;
			return "function" == typeof assign && (assign(var615 = {}, { bar: "dwa" }, { trzy: "trzy" }), "raz" + var615.bar + var615.trzy === "razdwatrzy");
		};
	},
	933595: (exports29, var616, var617) => {
		"use strict";
		var var618 = var617(2093), var619 = var617(767134), max1 = Math.max;
		exports29.exports = function(var620, var621) {
			var var622, var623, var624, var625 = max1(arguments.length, 2);
			for (var620 = Object(var619(var620)), var624 = function(var626) {
				try {
					var620[var626] = var621[var626];
				} catch (error16) {
					var622 || (var622 = error16);
				}
			}, var623 = 1; var623 < var625; ++var623) var618(var621 = arguments[var623]).forEach(var624);
			if (undefined !== var622) throw var622;
			return var620;
		};
	},
	330203: (exports30, var627, var628) => {
		"use strict";
		var var629 = var628(844645), var630 = var628(416596), var631 = var628(767134);
		exports30.exports = function(var632) {
			var var633 = Object(var631(var632)), var634 = arguments[1], ensure = Object(arguments[2]);
			if (var633 !== var632 && !var634) return var633;
			var obj10 = {};
			var634 ? var629(var634, (function(var635) {
				(ensure.ensure || var635 in var632) && (obj10[var635] = var632[var635]);
			})) : var630(obj10, var632);
			return obj10;
		};
	},
	218414: (exports31, var636, var637) => {
		"use strict";
		var level, var638, var639, var640, create = Object.create;
		var637(738213)() || (level = var637(608793));
		exports31.exports = level ? 1 !== level.level ? create : (var638 = {}, var639 = {}, var640 = {
			configurable: false,
			enumerable: false,
			writable: true,
			value: undefined
		}, [
			"__proto__",
			"hasOwnProperty",
			"propertyIsEnumerable",
			"toString",
			"toLocaleString",
			"valueOf",
			"isPrototypeOf",
			"__defineGetter__",
			"__defineSetter__",
			"__lookupGetter__",
			"__lookupSetter__",
			"constructor"
		].forEach((function(item14) {
			var639[item14] = "__proto__" !== item14 ? var640 : {
				configurable: true,
				enumerable: false,
				writable: true,
				value: undefined
			};
		})), Object.defineProperties(var638, var639), Object.defineProperty(level, "nullPolyfill", {
			configurable: false,
			enumerable: false,
			writable: false,
			value: var638
		}), function(var641, var642) {
			return create(null === var641 ? var638 : var641, var642);
		}) : create;
	},
	555921: (exports32, var643, var644) => {
		"use strict";
		exports32.exports = var644(458191)("forEach");
	},
	763052: (exports33, var645, var646) => {
		"use strict";
		var var647 = var646(889762), obj11 = {
			function: true,
			object: true
		};
		exports33.exports = function(var648) {
			return var647(var648) && obj11[typeof var648] || false;
		};
	},
	889762: (exports34, var649, var650) => {
		"use strict";
		var var651 = var650(146011)();
		exports34.exports = function(var652) {
			return var652 !== var651 && null !== var652;
		};
	},
	2093: (exports35, var653, var654) => {
		"use strict";
		exports35.exports = var654(863380)() ? Object.keys : var654(864232);
	},
	863380: (exports36) => {
		"use strict";
		exports36.exports = function() {
			try {
				Object.keys("primitive");
				return true;
			} catch (error17) {
				return false;
			}
		};
	},
	864232: (exports37, var655, var656) => {
		"use strict";
		var var657 = var656(889762), keys1 = Object.keys;
		exports37.exports = function(var658) {
			return keys1(var657(var658) ? Object(var658) : var658);
		};
	},
	430498: (exports38, var659, var660) => {
		"use strict";
		var var661 = var660(25499), var662 = var660(555921), var663 = Function.prototype.call;
		exports38.exports = function(var664, var665) {
			var obj12 = {}, var666 = arguments[2];
			var661(var665);
			var662(var664, (function(var667, var668, var669, var670) {
				obj12[var668] = var663.call(var665, var666, var667, var668, var669, var670);
			}));
			return obj12;
		};
	},
	690148: (exports39, var671, var672) => {
		"use strict";
		var var673 = var672(889762), forEach = Array.prototype.forEach, create1 = Object.create;
		exports39.exports = function(var674) {
			var var675 = create1(null);
			forEach.call(arguments, (function(var676) {
				var673(var676) && function(var677, var678) {
					var var679;
					for (var679 in var677) var678[var679] = var677[var679];
				}(Object(var676), var675);
			}));
			return var675;
		};
	},
	488558: (exports40, var680, var681) => {
		"use strict";
		exports40.exports = var681(738213)() ? Object.setPrototypeOf : var681(608793);
	},
	738213: (exports41) => {
		"use strict";
		var create2 = Object.create, getPrototypeOf = Object.getPrototypeOf, obj13 = {};
		exports41.exports = function() {
			var setPrototypeOf = Object.setPrototypeOf;
			return "function" == typeof setPrototypeOf && getPrototypeOf(setPrototypeOf((arguments[0] || create2)(null), obj13)) === obj13;
		};
	},
	608793: (exports42, var682, var683) => {
		"use strict";
		var var684, var685, var686, var687, var688 = var683(763052), var689 = var683(767134), var690 = Object.prototype.isPrototypeOf, defineProperty2 = Object.defineProperty, obj14 = {
			configurable: true,
			enumerable: false,
			writable: true,
			value: undefined
		};
		var684 = function(var691, var692) {
			if (var689(var691), null === var692 || var688(var692)) return var691;
			throw new TypeError("Prototype must be null or an object");
		};
		exports42.exports = (var685 = function() {
			var var693, var694 = Object.create(null), obj15 = {}, set1 = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__");
			if (set1) {
				try {
					(var693 = set1.set).call(var694, obj15);
				} catch (error18) {}
				if (Object.getPrototypeOf(var694) === obj15) return {
					set: var693,
					level: 2
				};
			}
			var694.__proto__ = obj15;
			return Object.getPrototypeOf(var694) === obj15 ? { level: 2 } : ((var694 = {}).__proto__ = obj15, Object.getPrototypeOf(var694) === obj15 && { level: 1 });
		}(), var685 ? (2 === var685.level ? var685.set ? (var687 = var685.set, var686 = function(var695, var696) {
			var687.call(var684(var695, var696), var696);
			return var695;
		}) : var686 = function(var697, var698) {
			var684(var697, var698).__proto__ = var698;
			return var697;
		} : var686 = function nullPolyfill(var699, var700) {
			var var701;
			var684(var699, var700);
			(var701 = var690.call(nullPolyfill.nullPolyfill, var699)) && delete nullPolyfill.nullPolyfill.__proto__;
			null === var700 && (var700 = nullPolyfill.nullPolyfill);
			var699.__proto__ = var700;
			var701 && defineProperty2(nullPolyfill.nullPolyfill, "__proto__", obj14);
			return var699;
		}, Object.defineProperty(var686, "level", {
			configurable: false,
			enumerable: false,
			writable: false,
			value: var685.level
		})) : null);
		var683(218414);
	},
	25499: (exports43) => {
		"use strict";
		exports43.exports = function(var702) {
			if ("function" != typeof var702) throw new TypeError(var702 + " is not a function");
			return var702;
		};
	},
	872232: (exports44, var703, var704) => {
		"use strict";
		var var705 = var704(763052);
		exports44.exports = function(var706) {
			if (!var705(var706)) throw new TypeError(var706 + " is not an Object");
			return var706;
		};
	},
	767134: (exports45, var707, var708) => {
		"use strict";
		var var709 = var708(889762);
		exports45.exports = function(var710) {
			if (!var709(var710)) throw new TypeError("Cannot use null or undefined");
			return var710;
		};
	},
	270214: (exports46, var711, var712) => {
		"use strict";
		exports46.exports = var712(740525)() ? String.prototype.contains : var712(471521);
	},
	740525: (exports47) => {
		"use strict";
		var str9 = "razdwatrzy";
		exports47.exports = function() {
			return "function" == typeof str9.contains && true === str9.contains("dwa") && false === str9.contains("foo");
		};
	},
	471521: (exports48) => {
		"use strict";
		var indexOf = String.prototype.indexOf;
		exports48.exports = function(var713) {
			return indexOf.call(this, var713, arguments[1]) > -1;
		};
	},
	73748: (exports49) => {
		"use strict";
		var var714 = Object.prototype.toString, var715 = var714.call("");
		exports49.exports = function(var716) {
			return "string" == typeof var716 || var716 && "object" == typeof var716 && (var716 instanceof String || var714.call(var716) === var715) || false;
		};
	},
	377165: (exports50) => {
		"use strict";
		var var717 = Object.create(null), random = Math.random;
		exports50.exports = function() {
			var var718;
			do {
				var718 = random().toString(36).slice(2);
			} while (var717[var718]);
			return var718;
		};
	},
	720875: (exports51, var719, var720) => {
		"use strict";
		var var721, var722 = var720(488558), var723 = var720(270214), var724 = var720(858263), toStringTag = var720(372380), var725 = var720(888118), defineProperty3 = Object.defineProperty;
		var721 = exports51.exports = function(var726, var727) {
			if (!(this instanceof var721)) throw new TypeError("Constructor requires 'new'");
			var725.call(this, var726);
			var727 = var727 ? var723.call(var727, "key+value") ? "key+value" : var723.call(var727, "key") ? "key" : "value" : "value";
			defineProperty3(this, "__kind__", var724("", var727));
		};
		var722 && var722(var721, var725);
		delete var721.prototype.constructor;
		var721.prototype = Object.create(var725.prototype, { _resolve: var724((function(var728) {
			return "value" === this.__kind__ ? this.__list__[var728] : "key+value" === this.__kind__ ? [var728, this.__list__[var728]] : var728;
		})) });
		defineProperty3(var721.prototype, toStringTag.toStringTag, var724("c", "Array Iterator"));
	},
	220271: (exports52, var729, var730) => {
		"use strict";
		var var731 = var730(728746), var732 = var730(25499), var733 = var730(73748), var734 = var730(86658), isArray1 = Array.isArray, var735 = Function.prototype.call, some = Array.prototype.some;
		exports52.exports = function(var736, var737) {
			var var738, var739, var740, var741, var742, var743, str10, var744, var745 = arguments[2];
			if (isArray1(var736) || var731(var736) ? var738 = "array" : var733(var736) ? var738 = "string" : var736 = var734(var736), var732(var737), var740 = function() {
				var741 = true;
			}, "array" !== var738) if ("string" !== var738) for (var739 = var736.next(); !var739.done;) {
				if (var735.call(var737, var745, var739.value, var740), var741) return;
				var739 = var736.next();
			}
			else for (var743 = var736.length, var742 = 0; var742 < var743 && (str10 = var736[var742], var742 + 1 < var743 && (var744 = str10.charCodeAt(0)) >= 55296 && var744 <= 56319 && (str10 += var736[++var742]), var735.call(var737, var745, str10, var740), !var741); ++var742);
			else some.call(var736, (function(var746) {
				var735.call(var737, var745, var746, var740);
				return var741;
			}));
		};
	},
	86658: (exports53, var747, var748) => {
		"use strict";
		var var749 = var748(728746), var750 = var748(73748), var751 = var748(720875), var752 = var748(947573), var753 = var748(377203), iterator1 = var748(372380).iterator;
		exports53.exports = function(var754) {
			return "function" == typeof var753(var754)[iterator1] ? var754[iterator1]() : var749(var754) ? new var751(var754) : var750(var754) ? new var752(var754) : new var751(var754);
		};
	},
	888118: (exports54, var755, var756) => {
		"use strict";
		var var757, var758 = var756(410577), var759 = var756(416596), var760 = var756(25499), var761 = var756(767134), var762 = var756(858263), var763 = var756(16450), var764 = var756(372380), defineProperty4 = Object.defineProperty, defineProperties = Object.defineProperties;
		exports54.exports = var757 = function(var765, var766) {
			if (!(this instanceof var757)) throw new TypeError("Constructor requires 'new'");
			defineProperties(this, {
				__list__: var762("w", var761(var765)),
				__context__: var762("w", var766),
				__nextIndex__: var762("w", 0)
			});
			var766 && (var760(var766.on), var766.on("_add", this._onAdd), var766.on("_delete", this._onDelete), var766.on("_clear", this._onClear));
		};
		delete var757.prototype.constructor;
		defineProperties(var757.prototype, var759({
			_next: var762((function() {
				var var767;
				if (this.__list__) return this.__redo__ && undefined !== (var767 = this.__redo__.shift()) ? var767 : this.__nextIndex__ < this.__list__.length ? this.__nextIndex__++ : void this._unBind();
			})),
			next: var762((function() {
				return this._createResult(this._next());
			})),
			_createResult: var762((function(var768) {
				return undefined === var768 ? {
					done: true,
					value: undefined
				} : {
					done: false,
					value: this._resolve(var768)
				};
			})),
			_resolve: var762((function(var769) {
				return this.__list__[var769];
			})),
			_unBind: var762((function() {
				this.__list__ = null;
				delete this.__redo__;
				this.__context__ && (this.__context__.off("_add", this._onAdd), this.__context__.off("_delete", this._onDelete), this.__context__.off("_clear", this._onClear), this.__context__ = null);
			})),
			toString: var762((function() {
				return "[object " + (this[var764.toStringTag] || "Object") + "]";
			}))
		}, var763({
			_onAdd: var762((function(var770) {
				var770 >= this.__nextIndex__ || (++this.__nextIndex__, this.__redo__ ? (this.__redo__.forEach((function(item15, index1) {
					item15 >= var770 && (this.__redo__[index1] = ++item15);
				}), this), this.__redo__.push(var770)) : defineProperty4(this, "__redo__", var762("c", [var770])));
			})),
			_onDelete: var762((function(var771) {
				var var772;
				var771 >= this.__nextIndex__ || (--this.__nextIndex__, this.__redo__ && (-1 !== (var772 = this.__redo__.indexOf(var771)) && this.__redo__.splice(var772, 1), this.__redo__.forEach((function(item16, index2) {
					item16 > var771 && (this.__redo__[index2] = --item16);
				}), this)));
			})),
			_onClear: var762((function() {
				this.__redo__ && var758.call(this.__redo__);
				this.__nextIndex__ = 0;
			}))
		})));
		defineProperty4(var757.prototype, var764.iterator, var762((function() {
			return this;
		})));
	},
	967115: (exports55, var773, var774) => {
		"use strict";
		var var775 = var774(728746), var776 = var774(889762), var777 = var774(73748), iterator2 = var774(372380).iterator, isArray2 = Array.isArray;
		exports55.exports = function(var778) {
			return !!var776(var778) && (!!isArray2(var778) || !!var777(var778) || !!var775(var778) || "function" == typeof var778[iterator2]);
		};
	},
	947573: (exports56, var779, var780) => {
		"use strict";
		var var781, var782 = var780(488558), var783 = var780(858263), toStringTag1 = var780(372380), var784 = var780(888118), defineProperty5 = Object.defineProperty;
		var781 = exports56.exports = function(list10) {
			if (!(this instanceof var781)) throw new TypeError("Constructor requires 'new'");
			list10 = String(list10);
			var784.call(this, list10);
			defineProperty5(this, "__length__", var783("", list10.length));
		};
		var782 && var782(var781, var784);
		delete var781.prototype.constructor;
		var781.prototype = Object.create(var784.prototype, {
			_next: var783((function() {
				if (this.__list__) return this.__nextIndex__ < this.__length__ ? this.__nextIndex__++ : void this._unBind();
			})),
			_resolve: var783((function(var785) {
				var var786, str11 = this.__list__[var785];
				return this.__nextIndex__ === this.__length__ ? str11 : (var786 = str11.charCodeAt(0)) >= 55296 && var786 <= 56319 ? str11 + this.__list__[this.__nextIndex__++] : str11;
			}))
		});
		defineProperty5(var781.prototype, toStringTag1.toStringTag, var783("c", "String Iterator"));
	},
	377203: (exports57, var787, var788) => {
		"use strict";
		var var789 = var788(967115);
		exports57.exports = function(var790) {
			if (!var789(var790)) throw new TypeError(var790 + " is not iterable");
			return var790;
		};
	},
	372380: (exports58, var791, var792) => {
		"use strict";
		exports58.exports = var792(34195)() ? var792(918209).Symbol : var792(296613);
	},
	34195: (exports59, var793, var794) => {
		"use strict";
		var Symbol = var794(918209), obj16 = {
			object: true,
			symbol: true
		};
		exports59.exports = function() {
			var var795, Symbol1 = Symbol.Symbol;
			if ("function" != typeof Symbol1) return false;
			var795 = Symbol1("test symbol");
			try {
				String(var795);
			} catch (error19) {
				return false;
			}
			return !!obj16[typeof Symbol1.iterator] && !!obj16[typeof Symbol1.toPrimitive] && !!obj16[typeof Symbol1.toStringTag];
		};
	},
	673055: (exports60) => {
		"use strict";
		exports60.exports = function(var796) {
			return !!var796 && ("symbol" == typeof var796 || !!var796.constructor && "Symbol" === var796.constructor.name && "Symbol" === var796[var796.constructor.toStringTag]);
		};
	},
	882941: (exports61, var797, var798) => {
		"use strict";
		var var799 = var798(858263), defineProperty6 = Object.defineProperty, var800 = Object.prototype, var801 = Object.create(null);
		exports61.exports = function(var802) {
			for (var var803, var804, num5 = 0; var801[var802 + (num5 || "")];) ++num5;
			var801[var802 += num5 || ""] = true;
			defineProperty6(var800, var803 = "@@" + var802, var799.gs(null, (function(var805) {
				var804 || (var804 = true, defineProperty6(this, var803, var799(var805)), var804 = false);
			})));
			return var803;
		};
	},
	883333: (exports62, var806, var807) => {
		"use strict";
		var var808 = var807(858263), Symbol2 = var807(918209).Symbol;
		exports62.exports = function(var809) {
			return Object.defineProperties(var809, {
				hasInstance: var808("", Symbol2 && Symbol2.hasInstance || var809("hasInstance")),
				isConcatSpreadable: var808("", Symbol2 && Symbol2.isConcatSpreadable || var809("isConcatSpreadable")),
				iterator: var808("", Symbol2 && Symbol2.iterator || var809("iterator")),
				match: var808("", Symbol2 && Symbol2.match || var809("match")),
				replace: var808("", Symbol2 && Symbol2.replace || var809("replace")),
				search: var808("", Symbol2 && Symbol2.search || var809("search")),
				species: var808("", Symbol2 && Symbol2.species || var809("species")),
				split: var808("", Symbol2 && Symbol2.split || var809("split")),
				toPrimitive: var808("", Symbol2 && Symbol2.toPrimitive || var809("toPrimitive")),
				toStringTag: var808("", Symbol2 && Symbol2.toStringTag || var809("toStringTag")),
				unscopables: var808("", Symbol2 && Symbol2.unscopables || var809("unscopables"))
			});
		};
	},
	38118: (exports63, var810, var811) => {
		"use strict";
		var var812 = var811(858263), var813 = var811(263297), var814 = Object.create(null);
		exports63.exports = function(var815) {
			return Object.defineProperties(var815, {
				for: var812((function(var816) {
					return var814[var816] ? var814[var816] : var814[var816] = var815(String(var816));
				})),
				keyFor: var812((function(var817) {
					var var818;
					for (var818 in var813(var817), var814) if (var814[var818] === var817) return var818;
				}))
			});
		};
	},
	296613: (exports64, var819, var820) => {
		"use strict";
		var var821, var822, var823, var824 = var820(858263), var825 = var820(263297), Symbol3 = var820(918209).Symbol, var826 = var820(882941), var827 = var820(883333), var828 = var820(38118), create3 = Object.create, defineProperties1 = Object.defineProperties, defineProperty7 = Object.defineProperty;
		if ("function" == typeof Symbol3) try {
			String(Symbol3());
			var823 = true;
		} catch (error20) {}
		else Symbol3 = null;
		var822 = function(var829) {
			if (this instanceof var822) throw new TypeError("Symbol is not a constructor");
			return var821(var829);
		};
		exports64.exports = var821 = function pick2(var830) {
			var var831;
			if (this instanceof pick2) throw new TypeError("Symbol is not a constructor");
			return var823 ? Symbol3(var830) : (var831 = create3(var822.prototype), var830 = undefined === var830 ? "" : String(var830), defineProperties1(var831, {
				__description__: var824("", var830),
				__name__: var824("", var826(var830))
			}));
		};
		var827(var821);
		var828(var821);
		defineProperties1(var822.prototype, {
			constructor: var824(var821),
			toString: var824("", (function() {
				return this.__name__;
			}))
		});
		defineProperties1(var821.prototype, {
			toString: var824((function() {
				return "Symbol (" + var825(this).__description__ + ")";
			})),
			valueOf: var824((function() {
				return var825(this);
			}))
		});
		defineProperty7(var821.prototype, var821.toPrimitive, var824("", (function() {
			var var832 = var825(this);
			return "symbol" == typeof var832 ? var832 : var832.toString();
		})));
		defineProperty7(var821.prototype, var821.toStringTag, var824("c", "Symbol"));
		defineProperty7(var822.prototype, var821.toStringTag, var824("c", var821.prototype[var821.toStringTag]));
		defineProperty7(var822.prototype, var821.toPrimitive, var824("c", var821.prototype[var821.toPrimitive]));
	},
	263297: (exports65, var833, var834) => {
		"use strict";
		var var835 = var834(673055);
		exports65.exports = function(var836) {
			if (!var835(var836)) throw new TypeError(var836 + " is not a symbol");
			return var836;
		};
	},
	740115: (exports66, var837, var838) => {
		"use strict";
		exports66.exports = var838(89050)() ? WeakMap : var838(649904);
	},
	89050: (exports67) => {
		"use strict";
		exports67.exports = function() {
			var var839, var840;
			if ("function" != typeof WeakMap) return false;
			try {
				var839 = new WeakMap([
					[var840 = {}, "one"],
					[{}, "two"],
					[{}, "three"]
				]);
			} catch (error21) {
				return false;
			}
			return "[object WeakMap]" === String(var839) && "function" == typeof var839.set && var839.set({}, 1) === var839 && "function" == typeof var839.delete && "function" == typeof var839.has && "one" === var839.get(var840);
		};
	},
	795334: (exports68) => {
		"use strict";
		exports68.exports = "function" == typeof WeakMap && true;
	},
	649904: (exports69, var841, var842) => {
		"use strict";
		var var843, var844 = var842(889762), var845 = var842(488558), var846 = var842(872232), var847 = var842(767134), var848 = var842(377165), var849 = var842(858263), var850 = var842(86658), var851 = var842(220271), toStringTag2 = var842(372380).toStringTag, var852 = var842(795334), isArray3 = Array.isArray, defineProperty8 = Object.defineProperty, var853 = Object.prototype.hasOwnProperty, getPrototypeOf1 = Object.getPrototypeOf;
		exports69.exports = var843 = function() {
			var set2, var854 = arguments[0];
			if (!(this instanceof var843)) throw new TypeError("Constructor requires 'new'");
			set2 = var852 && var845 && WeakMap !== var843 ? var845(new WeakMap(), getPrototypeOf1(this)) : this;
			var844(var854) && (isArray3(var854) || (var854 = var850(var854)));
			defineProperty8(set2, "__weakMapData__", var849("c", "$weakMap$" + var848()));
			return var854 ? (var851(var854, (function(var855) {
				var847(var855);
				set2.set(var855[0], var855[1]);
			})), set2) : set2;
		};
		var852 && (var845 && var845(var843, WeakMap), var843.prototype = Object.create(WeakMap.prototype, { constructor: var849(var843) }));
		Object.defineProperties(var843.prototype, {
			delete: var849((function(var856) {
				return !!var853.call(var846(var856), this.__weakMapData__) && (delete var856[this.__weakMapData__], true);
			})),
			get: var849((function(var857) {
				if (var853.call(var846(var857), this.__weakMapData__)) return var857[this.__weakMapData__];
			})),
			has: var849((function(var858) {
				return var853.call(var846(var858), this.__weakMapData__);
			})),
			set: var849((function(var859, var860) {
				defineProperty8(var846(var859), this.__weakMapData__, var849("c", var860));
				return this;
			})),
			toString: var849((function() {
				return "[object WeakMap]";
			}))
		});
		defineProperty8(var843.prototype, toStringTag2, var849("c", "WeakMap"));
	},
	392215: (exports70) => {
		var var861 = function() {
			if ("object" == typeof self && self) return self;
			if ("object" == typeof window && window) return window;
			throw new Error("Unable to resolve global `this`");
		};
		exports70.exports = function() {
			if (this) return this;
			try {
				Object.defineProperty(Object.prototype, "__global__", {
					get: function() {
						return this;
					},
					configurable: true
				});
			} catch (error22) {
				return var861();
			}
			try {
				return __global__ || var861();
			} finally {
				delete Object.prototype.__global__;
			}
		}();
	},
	918209: (exports71, var862, var863) => {
		"use strict";
		exports71.exports = var863(774744)() ? globalThis : var863(392215);
	},
	774744: (exports72) => {
		"use strict";
		exports72.exports = function() {
			return "object" == typeof globalThis && !!globalThis && globalThis.Array === Array;
		};
	},
	578624: function() {
		!function(var864) {
			"use strict";
			if (!var864.fetch) {
				var var865 = "URLSearchParams" in var864, var866 = "Symbol" in var864 && "iterator" in Symbol, var867 = "FileReader" in var864 && "Blob" in var864 && function() {
					try {
						new Blob();
						return true;
					} catch (error23) {
						return false;
					}
				}(), var868 = "FormData" in var864, var869 = "ArrayBuffer" in var864;
				if (var869) var arr5 = [
					"[object Int8Array]",
					"[object Uint8Array]",
					"[object Uint8ClampedArray]",
					"[object Int16Array]",
					"[object Uint16Array]",
					"[object Int32Array]",
					"[object Uint32Array]",
					"[object Float32Array]",
					"[object Float64Array]"
				], and = function(var870) {
					return var870 && DataView.prototype.isPrototypeOf(var870);
				}, var871 = ArrayBuffer.isView || function(var872) {
					return var872 && arr5.indexOf(Object.prototype.toString.call(var872)) > -1;
				};
				fn25.prototype.append = function(var873, var874) {
					var873 = call9(var873);
					var874 = fn23(var874);
					var var875 = this.map[var873];
					this.map[var873] = var875 ? var875 + "," + var874 : var874;
				};
				fn25.prototype.delete = function(var876) {
					delete this.map[call9(var876)];
				};
				fn25.prototype.get = function(var877) {
					var877 = call9(var877);
					return this.has(var877) ? this.map[var877] : null;
				};
				fn25.prototype.has = function(var878) {
					return this.map.hasOwnProperty(call9(var878));
				};
				fn25.prototype.set = function(var879, var880) {
					this.map[call9(var879)] = fn23(var880);
				};
				fn25.prototype.forEach = function(var881, var882) {
					for (var var883 in this.map) this.map.hasOwnProperty(var883) && var881.call(var882, this.map[var883], var883, this);
				};
				fn25.prototype.keys = function() {
					var arr6 = [];
					this.forEach((function(item17, index3) {
						arr6.push(index3);
					}));
					return fn24(arr6);
				};
				fn25.prototype.values = function() {
					var arr7 = [];
					this.forEach((function(item18) {
						arr7.push(item18);
					}));
					return fn24(arr7);
				};
				fn25.prototype.entries = function() {
					var arr8 = [];
					this.forEach((function(item19, index4) {
						arr8.push([index4, item19]);
					}));
					return fn24(arr8);
				};
				var866 && (fn25.prototype[Symbol.iterator] = fn25.prototype.entries);
				var arr9 = [
					"DELETE",
					"GET",
					"HEAD",
					"OPTIONS",
					"POST",
					"PUT"
				];
				fn29.prototype.clone = function() {
					return new fn29(this, { body: this._bodyInit });
				};
				fn28.call(fn29.prototype);
				fn28.call(fn31.prototype);
				fn31.prototype.clone = function() {
					return new fn31(this._bodyInit, {
						status: this.status,
						statusText: this.statusText,
						headers: new fn25(this.headers),
						url: this.url
					});
				};
				fn31.error = function() {
					var obj17 = new fn31(null, {
						status: 0,
						statusText: ""
					});
					obj17.type = "error";
					return obj17;
				};
				var arr10 = [
					301,
					302,
					303,
					307,
					308
				];
				fn31.redirect = function(var884, var885) {
					if (-1 === arr10.indexOf(var885)) throw new RangeError("Invalid status code");
					return new fn31(null, {
						status: var885,
						headers: { location: var884 }
					});
				};
				var864.Headers = fn25;
				var864.Request = fn29;
				var864.Response = fn31;
				var864.fetch = function(var886, var887) {
					return new Promise((function(var888, var889) {
						var obj18 = new fn29(var886, var887), obj19 = new XMLHttpRequest();
						obj19.onload = function() {
							var str12, append, obj20 = {
								status: obj19.status,
								statusText: obj19.statusText,
								headers: (str12 = obj19.getAllResponseHeaders() || "", append = new fn25(), str12.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach((function(item20) {
									var parts = item20.split(":"), var890 = parts.shift().trim();
									if (var890) {
										append.append(var890, parts.join(":").trim());
									}
								})), append)
							};
							obj20.url = "responseURL" in obj19 ? obj19.responseURL : obj20.headers.get("X-Request-URL");
							var888(new fn31("response" in obj19 ? obj19.response : obj19.responseText, obj20));
						};
						obj19.onerror = function() {
							var889(new TypeError("Network request failed"));
						};
						obj19.ontimeout = function() {
							var889(new TypeError("Network request failed"));
						};
						obj19.open(obj18.method, obj18.url, true);
						"include" === obj18.credentials ? obj19.withCredentials = true : "omit" === obj18.credentials && (obj19.withCredentials = false);
						"responseType" in obj19 && var867 && (obj19.responseType = "blob");
						obj18.headers.forEach((function(item21, index5) {
							obj19.setRequestHeader(index5, item21);
						}));
						obj19.send(undefined === obj18._bodyInit ? null : obj18._bodyInit);
					}));
				};
				var864.fetch.polyfill = true;
			}
			function call9(str13) {
				if ("string" != typeof str13 && (str13 = String(str13)), /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(str13)) throw new TypeError("Invalid character in header field name");
				return str13.toLowerCase();
			}
			function fn23(var891) {
				"string" != typeof var891 && (var891 = String(var891));
				return var891;
			}
			function fn24(list11) {
				var obj21 = { next: function() {
					var var892 = list11.shift();
					return {
						done: undefined === var892,
						value: var892
					};
				} };
				var866 && (obj21[Symbol.iterator] = function() {
					return obj21;
				});
				return obj21;
			}
			function fn25(list12) {
				this.map = {};
				list12 instanceof fn25 ? list12.forEach((function(item22, index6) {
					this.append(index6, item22);
				}), this) : Array.isArray(list12) ? list12.forEach((function(item23) {
					this.append(item23[0], item23[1]);
				}), this) : list12 && Object.getOwnPropertyNames(list12).forEach((function(item24) {
					this.append(item24, list12[item24]);
				}), this);
			}
			function fn26(bodyUsed) {
				if (bodyUsed.bodyUsed) return Promise.reject(new TypeError("Already read"));
				bodyUsed.bodyUsed = true;
			}
			function create4(var893) {
				return new Promise((function(var894, var895) {
					var893.onload = function() {
						var894(var893.result);
					};
					var893.onerror = function() {
						var895(var893.error);
					};
				}));
			}
			function fn27(var896) {
				var obj22 = new FileReader(), var897 = create4(obj22);
				obj22.readAsArrayBuffer(var896);
				return var897;
			}
			function buffer(var898) {
				if (var898.slice) return var898.slice(0);
				var obj23 = new Uint8Array(var898.byteLength);
				obj23.set(new Uint8Array(var898));
				return obj23.buffer;
			}
			function fn28() {
				this.bodyUsed = false;
				this._initBody = function(var899) {
					if (this._bodyInit = var899, var899) if ("string" == typeof var899) this._bodyText = var899;
					else if (var867 && Blob.prototype.isPrototypeOf(var899)) this._bodyBlob = var899;
					else if (var868 && FormData.prototype.isPrototypeOf(var899)) this._bodyFormData = var899;
					else if (var865 && URLSearchParams.prototype.isPrototypeOf(var899)) this._bodyText = var899.toString();
					else if (var869 && var867 && and(var899)) {
						this._bodyArrayBuffer = buffer(var899.buffer);
						this._bodyInit = new Blob([this._bodyArrayBuffer]);
					} else {
						if (!var869 || !ArrayBuffer.prototype.isPrototypeOf(var899) && !var871(var899)) throw new Error("unsupported BodyInit type");
						this._bodyArrayBuffer = buffer(var899);
					}
					else this._bodyText = "";
					this.headers.get("content-type") || ("string" == typeof var899 ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : var865 && URLSearchParams.prototype.isPrototypeOf(var899) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
				};
				var867 && (this.blob = function() {
					var var900 = fn26(this);
					if (var900) return var900;
					if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
					if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
					if (this._bodyFormData) throw new Error("could not read FormData body as blob");
					return Promise.resolve(new Blob([this._bodyText]));
				}, this.arrayBuffer = function() {
					return this._bodyArrayBuffer ? fn26(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(fn27);
				});
				this.text = function() {
					var var901, readAsText, var902, var903 = fn26(this);
					if (var903) return var903;
					if (this._bodyBlob) return var901 = this._bodyBlob, readAsText = new FileReader(), var902 = create4(readAsText), readAsText.readAsText(var901), var902;
					if (this._bodyArrayBuffer) return Promise.resolve("");
					if (this._bodyFormData) throw new Error("could not read FormData body as text");
					return Promise.resolve(this._bodyText);
				};
				var868 && (this.formData = function() {
					return this.text().then(fn30);
				});
				this.json = function() {
					return this.text().then(JSON.parse);
				};
				return this;
			}
			function fn29(var904, var905) {
				var str14, var906, body = (var905 = var905 || {}).body;
				if (var904 instanceof fn29) {
					if (var904.bodyUsed) throw new TypeError("Already read");
					this.url = var904.url;
					this.credentials = var904.credentials;
					var905.headers || (this.headers = new fn25(var904.headers));
					this.method = var904.method;
					this.mode = var904.mode;
					body || null == var904._bodyInit || (body = var904._bodyInit, var904.bodyUsed = true);
				} else this.url = String(var904);
				if (this.credentials = var905.credentials || this.credentials || "omit", !var905.headers && this.headers || (this.headers = new fn25(var905.headers)), this.method = (str14 = var905.method || this.method || "GET", var906 = str14.toUpperCase(), arr9.indexOf(var906) > -1 ? var906 : str14), this.mode = var905.mode || this.mode || null, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && body) throw new TypeError("Body not allowed for GET or HEAD requests");
				this._initBody(body);
			}
			function fn30(str15) {
				var obj24 = new FormData();
				str15.trim().split("&").forEach((function(item25) {
					if (item25) {
						var parts1 = item25.split("="), var907 = parts1.shift().replace(/\+/g, " "), var908 = parts1.join("=").replace(/\+/g, " ");
						obj24.append(decodeURIComponent(var907), decodeURIComponent(var908));
					}
				}));
				return obj24;
			}
			function fn31(var909, var910) {
				var910 || (var910 = {});
				this.type = "default";
				this.status = undefined === var910.status ? 200 : var910.status;
				this.ok = this.status >= 200 && this.status < 300;
				this.statusText = "statusText" in var910 ? var910.statusText : "OK";
				this.headers = new fn25(var910.headers);
				this.url = var910.url || "";
				this._initBody(var909);
			}
		}("undefined" != typeof self ? self : this);
	}
}]);