PageSourceSearch

https://web-cdn.rockflow.tech/third-party/appsflyer.min.js

js rockflow.tech collected 2026-10-02 15:45:12 UTC 65,688 bytes, 2,015 lines download raw bytes

1function _arrayLikeToArray(t, e) {
2	(null == e || e > t.length) && (e = t.length);
3	for (var o = 0, r = Array(e); o < e; o++) r[o] = t[o];
4	return r;
5}
6function _arrayWithHoles(t) {
7	if (Array.isArray(t)) return t;
8}
9function _arrayWithoutHoles(t) {
10	if (Array.isArray(t)) return _arrayLikeToArray(t);
11}
12function _defineProperty(t, e, o) {
13	return (
14		(e = _toPropertyKey(e)) in t
15			? Object.defineProperty(t, e, { value: o, enumerable: !0, configurable: !0, writable: !0 })
16			: (t[e] = o),
17		t
18	);
19}
20function _iterableToArray(t) {
21	if (("undefined" != typeof Symbol && null != t[Symbol.iterator]) || null != t["@@iterator"]) return Array.from(t);
22}
23function _iterableToArrayLimit(t, e) {
24	var o = null == t ? null : ("undefined" != typeof Symbol && t[Symbol.iterator]) || t["@@iterator"];
25	if (null != o) {
26		var r,
27			i,
28			n,
29			a,
30			s = [],
31			l = !0,
32			u = !1;
33		try {
34			if (((n = (o = o.call(t)).next), 0 !== e))
35				for (; !(l = (r = n.call(o)).done) && (s.push(r.value), s.length !== e); l = !0);
36		} catch (t) {
37			(u = !0), (i = t);
38		} finally {
39			try {
40				if (!l && null != o.return && ((a = o.return()), Object(a) !== a)) return;
41			} finally {
42				if (u) throw i;
43			}
44		}
45		return s;
46	}
47}
48function _nonIterableRest() {
49	throw new TypeError(
50		"Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.",
51	);
52}
53function _nonIterableSpread() {
54	throw new TypeError(
55		"Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.",
56	);
57}
58function ownKeys(e, t) {
59	var o,
60		r = Object.keys(e);
61	return (
62		Object.getOwnPropertySymbols &&
63			((o = Object.getOwnPropertySymbols(e)),
64			t &&
65				(o = o.filter(function (t) {
66					return Object.getOwnPropertyDescriptor(e, t).enumerable;
67				})),
68			r.push.apply(r, o)),
69		r
70	);
71}
72function _objectSpread2(e) {
73	for (var t = 1; t < arguments.length; t++) {
74		var o = null != arguments[t] ? arguments[t] : {};
75		t % 2
76			? ownKeys(Object(o), !0).forEach(function (t) {
77					_defineProperty(e, t, o[t]);
78				})
79			: Object.getOwnPropertyDescriptors
80				? Object.defineProperties(e, Object.getOwnPropertyDescriptors(o))
81				: ownKeys(Object(o)).forEach(function (t) {
82						Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(o, t));
83					});
84	}
85	return e;
86}
87function _slicedToArray(t, e) {
88	return _arrayWithHoles(t) || _iterableToArrayLimit(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest();
89}
90function _toConsumableArray(t) {
91	return _arrayWithoutHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableSpread();
92}
93function _toPrimitive(t, e) {
94	if ("object" != typeof t || !t) return t;
95	var o = t[Symbol.toPrimitive];
96	if (void 0 === o) return ("string" === e ? String : Number)(t);
97	o = o.call(t, e || "default");
98	if ("object" != typeof o) return o;
99	throw new TypeError("@@toPrimitive must return a primitive value.");
100}
101function _toPropertyKey(t) {
102	t = _toPrimitive(t, "string");
103	return "symbol" == typeof t ? t : t + "";
104}
105function _typeof(t) {
106	return (_typeof =
107		"function" == typeof Symbol && "symbol" == typeof Symbol.iterator
108			? function (t) {
109					return typeof t;
110				}
111			: function (t) {
112					return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype
113						? "symbol"
114						: typeof t;
115				})(t);
116}
117function _unsupportedIterableToArray(t, e) {
118	var o;
119	if (t)
120		return "string" == typeof t
121			? _arrayLikeToArray(t, e)
122			: "Map" === (o = "Object" === (o = {}.toString.call(t).slice(8, -1)) && t.constructor ? t.constructor.name : o) ||
123				  "Set" === o
124				? Array.from(t)
125				: "Arguments" === o || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)
126					? _arrayLikeToArray(t, e)
127					: void 0;
128}
129var AF_URL_SCHEME = "(https:\\/\\/)(([^\\.]+).)(.*\\/)(.*)",
130	VALID_AF_URL_PARTS_LENGTH = 5,
131	GOOGLE_CLICK_ID = "gclid",
132	FACEBOOK_CLICK_ID = "fbclid",
133	GBRAID = "gbraid",
134	WBRAID = "wbraid",
135	ASSOCIATED_AD_KEYWORD = "keyword",
136	AF_KEYWORDS = "af_keywords",
137	AF_CUSTOM_EXCLUDE_PARAMS_KEYS = [
138		"pid",
139		"c",
140		"af_channel",
141		"af_ad",
142		"af_adset",
143		"deep_link_value",
144		"af_sub1",
145		"af_sub2",
146		"af_sub3",
147		"af_sub4",
148		"af_sub5",
149	],
150	GCLID_EXCLUDE_PARAMS_KEYS = ["pid", "c", "af_channel", "af_ad", "af_adset", "deep_link_value"],
151	LOCAL_STORAGE_VALUES = { SS_WEB_REFERRER: "ss_webReferrer" },
152	isSkippedURL = function (t) {
153		var e = t.url,
154			o = t.skipKeys,
155			t = t.errorMsg;
156		if (e) {
157			var r = e.toLowerCase();
158			if (r)
159				return (
160					(e = o.find(function (t) {
161						return r.includes(t.toLowerCase());
162					})) && console.debug(t, e),
163					!!e
164				);
165		}
166		return !1;
167	},
168	getGoogleClickIdParameters = function (t, e) {
169		var o = e[GOOGLE_CLICK_ID],
170			r = {};
171		return (
172			o
173				? (console.debug("This user comes from Google AdWords"),
174					(r[t] = o),
175					(t = e[ASSOCIATED_AD_KEYWORD]) &&
176						(console.debug("There is a keyword associated with the ad"), (r[AF_KEYWORDS] = t)))
177				: console.debug("This user comes from SRN or custom network"),
178			r
179		);
180	},
181	stringifyParameters = function () {
182		var o = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
183			t = Object.keys(o).reduce(function (t, e) {
184				return o[e] && (t += "&".concat(e, "=").concat(o[e])), t;
185			}, "");
186		return console.debug("Generated OneLink parameters", t), t;
187	},
188	getParameterValue = function (e) {
189		var t,
190			o,
191			r,
192			i =
193				1 < arguments.length && void 0 !== arguments[1]
194					? arguments[1]
195					: { keys: [], overrideValues: {}, defaultValue: "" };
196		return (null != i && i.keys && Array.isArray(i.keys)) || (null != i && i.defaultValue)
197			? ((o = i.keys),
198				(r = void 0 === (r = i.overrideValues) ? {} : r),
199				(t = void 0 === (t = i.defaultValue) ? "" : t),
200				((o = (void 0 === o ? [] : o).find(function (t) {
201					return !!e[t];
202				})) &&
203					(r[(r = e[o])] || r)) ||
204					t)
205			: (console.error("Parameter config structure is wrong", i), null);
206	},
207	isIOS = function (t) {
208		return /iphone|ipad|ipod/i.test(t && t.toLowerCase());
209	},
210	isUACHSupported = function () {
211		return (
212			"object" === ("undefined" == typeof navigator ? "undefined" : _typeof(navigator)) &&
213			"userAgentData" in navigator &&
214			"getHighEntropyValues" in navigator.userAgentData &&
215			!isIOS(navigator && navigator.userAgent)
216		);
217	},
218	getQueryParamsAndSaveToLocalStorage = function (t) {
219		t || console.debug("website doesnt exist + ".concat(t));
220		try {
221			var e = new URL(t),
222				o = new URLSearchParams(e.search),
223				r = Array.from(o).reduce(function (t, e) {
224					var e = _slicedToArray(e, 2),
225						o = e[0],
226						e = e[1];
227					return _objectSpread2(_objectSpread2({}, t), {}, _defineProperty({}, o, encodeURIComponent(e)));
228				}, {}),
229				i = JSON.parse(localStorage.getItem("ss_incoming_params") || "[]"),
230				n = new Date().getTime() + 72e5,
231				a = _objectSpread2(_objectSpread2({}, r), {}, { af_ss_exp_at: n });
232			i.unshift(a), localStorage.setItem("ss_incoming_params", JSON.stringify(i));
233		} catch (t) {
234			console.debug("url isnt valid + ".concat(t));
235		}
236	},
237	isValidUrl = function (t) {
238		try {
239			return Boolean(new URL(t));
240		} catch (t) {
241			return !1;
242		}
243	},
244	getCurrentUrl = function () {
245		return new URL(window.location.href);
246	},
247	getReferrerUrl = function () {
248		var t = document.referrer;
249		return t ? new URL(t) : null;
250	},
251	isSameOrigin = function (t, e) {
252		return t.origin === e.origin;
253	},
254	saveWebReferrer = function () {
255		var t = getCurrentUrl(),
256			e = getReferrerUrl();
257		e && isSameOrigin(t, e)
258			? console.warn("You navigate from the same website")
259			: localStorage.setItem(LOCAL_STORAGE_VALUES.SS_WEB_REFERRER, JSON.stringify(document.referrer));
260	},
261	removeExpiredLocalStorageItems = function () {
262		var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : Date.now(),
263			t = JSON.parse(localStorage.getItem("ss_incoming_params") || "[]");
264		localStorage.setItem(
265			"ss_incoming_params",
266			JSON.stringify(
267				t.filter(function (t) {
268					t = t.af_ss_exp_at;
269					return e < t;
270				}),
271			),
272		);
273	};
274function aggregateValuesFromParameters() {
275	var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
276		e = [];
277	return (
278		Object.values(t).forEach(function (t) {
279			t &&
280				t.keys &&
281				Array.isArray(t.keys) &&
282				t.keys.forEach(function (t) {
283					return e.push(t);
284				}),
285				Array.isArray(t) &&
286					t.forEach(function (t) {
287						Array.isArray(null == t ? void 0 : t.keys) && e.push.apply(e, _toConsumableArray(t.keys));
288					});
289		}),
290		t.hasOwnProperty("googleClickIdKey") && "string" == typeof t.googleClickIdKey && e.push(GOOGLE_CLICK_ID),
291		e
292	);
293}
294function getCurrentURLParams(t) {
295	var e = {};
296	return (
297		Object.keys(localStorage).includes("ss_incoming_params")
298			? (e =
299					JSON.parse(localStorage.ss_incoming_params).find(function (e) {
300						return t.some(function (t) {
301							return t in e;
302						});
303					}) || {})
304			: console.log("Key 'ss_incoming_params' not found in localStorage."),
305		e
306	);
307}
308var isOneLinkURLValid = function (t) {
309		var e = null == (e = t || "") ? void 0 : e.toString().match(AF_URL_SCHEME);
310		return (
311			!(!e || (null == e ? void 0 : e.length) < VALID_AF_URL_PARTS_LENGTH) ||
312			(console.error("oneLinkURL is missing or not in the correct format, can't generate URL", t), !1)
313		);
314	},
315	isMSValid = function () {
316		var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
317		return (
318			!(null == t || !t.defaultValue) ||
319			(console.error("mediaSource is missing (default value was not supplied), can't generate URL", t), !1)
320		);
321	},
322	isSkipListsValid = function (t) {
323		var e = t.referrerSkipList,
324			t = t.urlSkipList,
325			t = void 0 === t ? [] : t;
326		return (
327			!isSkippedURL({
328				url: document.referrer,
329				skipKeys: void 0 === e ? [] : e,
330				errorMsg: "Generate url is skipped. HTTP referrer contains key:",
331			}) && !isSkippedURL({ url: document.URL, skipKeys: t, errorMsg: "Generate url is skipped. URL contains string:" })
332		);
333	},
334	extractCustomParams = function (t) {
335		var e = t.afCustom,
336			e = void 0 === e ? [] : e,
337			o = t.currentURLParams,
338			r = void 0 === o ? {} : o,
339			i = t.googleClickIdKey,
340			n = {};
341		return (
342			Array.isArray(e) &&
343				e.forEach(function (e) {
344					var t;
345					null != e &&
346						e.paramKey &&
347						((t = AF_CUSTOM_EXCLUDE_PARAMS_KEYS.find(function (t) {
348							return t === (null == e ? void 0 : e.paramKey);
349						})),
350						(null == e ? void 0 : e.paramKey) === i || t
351							? console.debug("Custom parameter ParamKey can't override Google-Click-Id or AF Parameters keys", e)
352							: (n[e.paramKey] = getParameterValue(r, e)));
353				}),
354			n
355		);
356	},
357	validateAndMappedParams = function () {
358		var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
359			o = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
360			e = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
361			r = t.mediaSource,
362			i = t.campaign,
363			n = t.channel,
364			a = t.ad,
365			s = t.adSet,
366			l = t.deepLinkValue,
367			u = t.afSub1,
368			h = t.afSub2,
369			d = t.afSub3,
370			c = t.afSub4,
371			g = t.afSub5,
372			p = t.afCustom,
373			f = t.googleClickIdKey,
374			m = {};
375		if (r) {
376			t = getParameterValue(o, r);
377			if (!t)
378				return (
379					console.error(
380						"mediaSource was not found in the URL and default value was not supplied, can't generate URL",
381						r,
382					),
383					null
384				);
385			m[e ? "af_media_source" : "pid"] = t;
386		}
387		if (i) {
388			r = getParameterValue(o, i);
389			if (!r && e)
390				return (
391					console.error("campaign was not found in the URL and default value was not supplied, can't generate URL", i),
392					null
393				);
394			e ? ((m.af_campaign = r), (m.af_campaign_id = r)) : (m.c = r);
395		}
396		n && (m.af_channel = getParameterValue(o, n)),
397			a && (m.af_ad = getParameterValue(o, a)),
398			s && (m.af_adset = getParameterValue(o, s)),
399			l && (m.deep_link_value = getParameterValue(o, l));
400		[u, h, d, c, g].forEach(function (t, e) {
401			t && (m["af_sub".concat(e + 1)] = getParameterValue(o, t));
402		}),
403			f &&
404				(GCLID_EXCLUDE_PARAMS_KEYS.find(function (t) {
405					return t === f;
406				})
407					? console.debug("Google Click Id ParamKey can't override AF Parameters keys", f)
408					: ((_ = getGoogleClickIdParameters(f, o)),
409						Object.keys(_).forEach(function (t) {
410							m[t] = _[t];
411						})));
412		var _,
413			t = extractCustomParams({ afCustom: p, currentURLParams: o, googleClickIdKey: f });
414		return _objectSpread2(_objectSpread2({}, m), t);
415	},
416	isPlatformValid = function (t) {
417		return t
418			? !![
419					"smartcast",
420					"tizen",
421					"roku",
422					"webos",
423					"vidaa",
424					"playstation",
425					"android",
426					"ios",
427					"steam",
428					"quest",
429					"battlenet",
430					"epic",
431					"switch",
432					"xbox",
433					"nativepc",
434				].includes(t.toLowerCase()) || (console.error("platform need to be part of the known platforms supoorted"), !1)
435			: (console.error("platform is missing , can't generate URL", t), !1);
436	};
437function getUserAgentData() {
438	return new Promise(function (e) {
439		isUACHSupported()
440			? navigator.userAgentData
441					.getHighEntropyValues(["model", "platformVersion"])
442					.then(function (t) {
443						e({ model: t.model, platformVersion: t.platformVersion });
444					})
445					.catch(function () {
446						e();
447					})
448			: e();
449	});
450}
451var createImpressionsLink = function (r) {
452	return r
453		? new Promise(function (o) {
454				getUserAgentData()
455					.then(function (t) {
456						var e = new URL(r);
457						(e.hostname = "impressions.onelink.me"),
458							t &&
459								(e.searchParams.append("af_ch_model", encodeURIComponent(t.model)),
460								e.searchParams.append("af_ch_os_version", encodeURIComponent(t.platformVersion))),
461							o(e.href);
462					})
463					.catch(function () {
464						o();
465					});
466			})
467		: (console.debug("ClickURL is not valid"), null);
468};
469function getHexColorAfterValidation(t) {
470	return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t) ? t : "#000";
471}
472function getParameterValueFromURL(t, e) {
473	return new URLSearchParams(t).get(e);
474}
475function updateFinalUrlWithForwardParameters(t, e, r) {
476	return e.reduce(function (t, e) {
477		var o = getParameterValueFromURL(r, e);
478		return o
479			? (console.debug("The URL contains forwarding parameter ".concat(e, ".")),
480				"".concat(t, "&").concat(e, "=").concat(encodeURIComponent(o)))
481			: t;
482	}, t);
483}
484var processTrackingParameters = function (t) {
485	t = updateFinalUrlWithForwardParameters(
486		t,
487		[GOOGLE_CLICK_ID, FACEBOOK_CLICK_ID, GBRAID, WBRAID],
488		window.location.search,
489	);
490	var e = getParameterValueFromURL(window.location.search, GOOGLE_CLICK_ID),
491		o = getParameterValueFromURL(window.location.search, GBRAID),
492		r = getParameterValueFromURL(window.location.search, WBRAID);
493	return (t =
494		(e || o || r) &&
495		((e = getParameterValueFromURL(window.location.search, ASSOCIATED_AD_KEYWORD)),
496		(o = getParameterValueFromURL(t, AF_KEYWORDS)),
497		e) &&
498		!o
499			? "".concat(t, "&").concat(AF_KEYWORDS, "=").concat(e)
500			: t);
501};
502function QRCode() {
503	var h,
504		t,
505		e =
506			"object" == ("undefined" == typeof global ? "undefined" : _typeof(global)) &&
507			global &&
508			global.Object === Object &&
509			global,
510		o =
511			"object" == ("undefined" == typeof self ? "undefined" : _typeof(self)) && self && self.Object === Object && self,
512		r = e || o || Function("return this")(),
513		e =
514			"object" == ("undefined" == typeof exports ? "undefined" : _typeof(exports)) &&
515			exports &&
516			!exports.nodeType &&
517			exports,
518		o =
519			e &&
520			"object" == ("undefined" == typeof module ? "undefined" : _typeof(module)) &&
521			module &&
522			!module.nodeType &&
523			module,
524		i = r.QRCode;
525	function n(t, e, o) {
526		(this.mode = s.MODE_8BIT_BYTE), (this.data = t), (this.parsedData = []);
527		for (var r = 0, i = this.data.length; r < i; r++) {
528			var n = [],
529				a = this.data.charCodeAt(r);
530			e
531				? (n[0] = a)
532				: 65536 < a
533					? ((n[0] = 240 | ((1835008 & a) >>> 18)),
534						(n[1] = 128 | ((258048 & a) >>> 12)),
535						(n[2] = 128 | ((4032 & a) >>> 6)),
536						(n[3] = 128 | (63 & a)))
537					: 2048 < a
538						? ((n[0] = 224 | ((61440 & a) >>> 12)), (n[1] = 128 | ((4032 & a) >>> 6)), (n[2] = 128 | (63 & a)))
539						: 128 < a
540							? ((n[0] = 192 | ((1984 & a) >>> 6)), (n[1] = 128 | (63 & a)))
541							: (n[0] = a),
542				this.parsedData.push(n);
543		}
544		(this.parsedData = Array.prototype.concat.apply([], this.parsedData)),
545			o ||
546				this.parsedData.length == this.data.length ||
547				(this.parsedData.unshift(191), this.parsedData.unshift(187), this.parsedData.unshift(239));
548	}
549	function l(t, e) {
550		(this.typeNumber = t),
551			(this.errorCorrectLevel = e),
552			(this.modules = null),
553			(this.moduleCount = 0),
554			(this.dataCache = null),
555			(this.dataList = []);
556	}
557	(n.prototype = {
558		getLength: function (t) {
559			return this.parsedData.length;
560		},
561		write: function (t) {
562			for (var e = 0, o = this.parsedData.length; e < o; e++) t.put(this.parsedData[e], 8);
563		},
564	}),
565		(l.prototype = {
566			addData: function (t, e, o) {
567				t = new n(t, e, o);
568				this.dataList.push(t), (this.dataCache = null);
569			},
570			isDark: function (t, e) {
571				if (t < 0 || this.moduleCount <= t || e < 0 || this.moduleCount <= e) throw new Error(t + "," + e);
572				return this.modules[t][e][0];
573			},
574			getEye: function (t, e) {
575				if (t < 0 || this.moduleCount <= t || e < 0 || this.moduleCount <= e) throw new Error(t + "," + e);
576				t = this.modules[t][e];
577				return t[1]
578					? ((e = "P" + t[1] + "_" + t[2]), "A" == t[2] && (e = "A" + t[1]), { isDark: t[0], type: e })
579					: null;
580			},
581			getModuleCount: function () {
582				return this.moduleCount;
583			},
584			make: function () {
585				this.makeImpl(!1, this.getBestMaskPattern());
586			},
587			makeImpl: function (t, e) {
588				(this.moduleCount = 4 * this.typeNumber + 17), (this.modules = new Array(this.moduleCount));
589				for (var o = 0; o < this.moduleCount; o++) {
590					this.modules[o] = new Array(this.moduleCount);
591					for (var r = 0; r < this.moduleCount; r++) this.modules[o][r] = [];
592				}
593				this.setupPositionProbePattern(0, 0, "TL"),
594					this.setupPositionProbePattern(this.moduleCount - 7, 0, "BL"),
595					this.setupPositionProbePattern(0, this.moduleCount - 7, "TR"),
596					this.setupPositionAdjustPattern("A"),
597					this.setupTimingPattern(),
598					this.setupTypeInfo(t, e),
599					7 <= this.typeNumber && this.setupTypeNumber(t),
600					null == this.dataCache &&
601						(this.dataCache = l.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)),
602					this.mapData(this.dataCache, e);
603			},
604			setupPositionProbePattern: function (t, e, o) {
605				for (var r = -1; r <= 7; r++)
606					if (!(t + r <= -1 || this.moduleCount <= t + r))
607						for (var i = -1; i <= 7; i++)
608							e + i <= -1 ||
609								this.moduleCount <= e + i ||
610								((0 <= r && r <= 6 && (0 == i || 6 == i)) ||
611								(0 <= i && i <= 6 && (0 == r || 6 == r)) ||
612								(2 <= r && r <= 4 && 2 <= i && i <= 4)
613									? ((this.modules[t + r][e + i][0] = !0),
614										(this.modules[t + r][e + i][2] = o),
615										(this.modules[t + r][e + i][1] = -0 == r || -0 == i || 6 == r || 6 == i ? "O" : "I"))
616									: (this.modules[t + r][e + i][0] = !1));
617			},
618			getBestMaskPattern: function () {
619				for (var t = 0, e = 0, o = 0; o < 8; o++) {
620					this.makeImpl(!0, o);
621					var r = v.getLostPoint(this);
622					(0 == o || r < t) && ((t = r), (e = o));
623				}
624				return e;
625			},
626			createMovieClip: function (t, e, o) {
627				var r = t.createEmptyMovieClip(e, o);
628				this.make();
629				for (var i = 0; i < this.modules.length; i++)
630					for (var n = +i, a = 0; a < this.modules[i].length; a++) {
631						var s = +a;
632						this.modules[i][a][0] &&
633							(r.beginFill(0, 100),
634							r.moveTo(s, n),
635							r.lineTo(1 + s, n),
636							r.lineTo(1 + s, 1 + n),
637							r.lineTo(s, 1 + n),
638							r.endFill());
639					}
640				return r;
641			},
642			setupTimingPattern: function () {
643				for (var t = 8; t < this.moduleCount - 8; t++)
644					null == this.modules[t][6][0] && (this.modules[t][6][0] = t % 2 == 0);
645				for (var e = 8; e < this.moduleCount - 8; e++)
646					null == this.modules[6][e][0] && (this.modules[6][e][0] = e % 2 == 0);
647			},
648			setupPositionAdjustPattern: function (t) {
649				for (var e = v.getPatternPosition(this.typeNumber), o = 0; o < e.length; o++)
650					for (var r = 0; r < e.length; r++) {
651						var i = e[o],
652							n = e[r];
653						if (null == this.modules[i][n][0])
654							for (var a = -2; a <= 2; a++)
655								for (var s = -2; s <= 2; s++)
656									-2 == a || 2 == a || -2 == s || 2 == s || (0 == a && 0 == s)
657										? ((this.modules[i + a][n + s][0] = !0),
658											(this.modules[i + a][n + s][2] = t),
659											(this.modules[i + a][n + s][1] = -2 == a || -2 == s || 2 == a || 2 == s ? "O" : "I"))
660										: (this.modules[i + a][n + s][0] = !1);
661					}
662			},
663			setupTypeNumber: function (t) {
664				for (var e = v.getBCHTypeNumber(this.typeNumber), o = 0; o < 18; o++) {
665					var r = !t && 1 == ((e >> o) & 1);
666					this.modules[Math.floor(o / 3)][(o % 3) + this.moduleCount - 8 - 3][0] = r;
667				}
668				for (o = 0; o < 18; o++) {
669					r = !t && 1 == ((e >> o) & 1);
670					this.modules[(o % 3) + this.moduleCount - 8 - 3][Math.floor(o / 3)][0] = r;
671				}
672			},
673			setupTypeInfo: function (t, e) {
674				for (var e = (this.errorCorrectLevel << 3) | e, o = v.getBCHTypeInfo(e), r = 0; r < 15; r++) {
675					var i = !t && 1 == ((o >> r) & 1);
676					r < 6
677						? (this.modules[r][8][0] = i)
678						: r < 8
679							? (this.modules[r + 1][8][0] = i)
680							: (this.modules[this.moduleCount - 15 + r][8][0] = i);
681				}
682				for (r = 0; r < 15; r++) {
683					i = !t && 1 == ((o >> r) & 1);
684					r < 8
685						? (this.modules[8][this.moduleCount - r - 1][0] = i)
686						: r < 9
687							? (this.modules[8][15 - r - 1 + 1][0] = i)
688							: (this.modules[8][15 - r - 1][0] = i);
689				}
690				this.modules[this.moduleCount - 8][8][0] = !t;
691			},
692			mapData: function (t, e) {
693				for (var o = -1, r = this.moduleCount - 1, i = 7, n = 0, a = this.moduleCount - 1; 0 < a; a -= 2)
694					for (6 == a && a--; ; ) {
695						for (var s, l, u = 0; u < 2; u++)
696							null == this.modules[r][a - u][0] &&
697								((s = !1),
698								n < t.length && (s = 1 == ((t[n] >>> i) & 1)),
699								(l = v.getMask(e, r, a - u)),
700								(this.modules[r][a - u][0] = s = l ? !s : s),
701								-1 == --i) &&
702								(n++, (i = 7));
703						if ((r += o) < 0 || this.moduleCount <= r) {
704							(r -= o), (o = -o);
705							break;
706						}
707					}
708			},
709		}),
710		(l.PAD0 = 236),
711		(l.PAD1 = 17),
712		(l.createData = function (t, e, o) {
713			for (var r = C.getRSBlocks(t, e), i = new A(), n = 0; n < o.length; n++) {
714				var a = o[n];
715				i.put(a.mode, 4), i.put(a.getLength(), v.getLengthInBits(a.mode, t)), a.write(i);
716			}
717			for (var s = 0, n = 0; n < r.length; n++) s += r[n].dataCount;
718			if (i.getLengthInBits() > 8 * s)
719				throw new Error("code length overflow. (" + i.getLengthInBits() + ">" + 8 * s + ")");
720			for (i.getLengthInBits() + 4 <= 8 * s && i.put(0, 4); i.getLengthInBits() % 8 != 0; ) i.putBit(!1);
721			for (;;) {
722				if (i.getLengthInBits() >= 8 * s) break;
723				if ((i.put(l.PAD0, 8), i.getLengthInBits() >= 8 * s)) break;
724				i.put(l.PAD1, 8);
725			}
726			return l.createBytes(i, r);
727		}),
728		(l.createBytes = function (t, e) {
729			for (var o = 0, r = 0, i = 0, n = new Array(e.length), a = new Array(e.length), s = 0; s < e.length; s++) {
730				var l = e[s].dataCount,
731					u = e[s].totalCount - l,
732					r = Math.max(r, l),
733					i = Math.max(i, u);
734				n[s] = new Array(l);
735				for (var h = 0; h < n[s].length; h++) n[s][h] = 255 & t.buffer[h + o];
736				o += l;
737				var l = v.getErrorCorrectPolynomial(u),
738					d = new b(n[s], l.getLength() - 1).mod(l);
739				a[s] = new Array(l.getLength() - 1);
740				for (h = 0; h < a[s].length; h++) {
741					var c = h + d.getLength() - a[s].length;
742					a[s][h] = 0 <= c ? d.get(c) : 0;
743				}
744			}
745			for (var g = 0, h = 0; h < e.length; h++) g += e[h].totalCount;
746			for (var p = new Array(g), f = 0, h = 0; h < r; h++)
747				for (s = 0; s < e.length; s++) h < n[s].length && (p[f++] = n[s][h]);
748			for (h = 0; h < i; h++) for (s = 0; s < e.length; s++) h < a[s].length && (p[f++] = a[s][h]);
749			return p;
750		});
751	for (
752		var s = { MODE_NUMBER: 1, MODE_ALPHA_NUM: 2, MODE_8BIT_BYTE: 4, MODE_KANJI: 8 },
753			u = { L: 1, M: 0, Q: 3, H: 2 },
754			a = 0,
755			d = 1,
756			c = 2,
757			g = 3,
758			p = 4,
759			f = 5,
760			m = 6,
761			_ = 7,
762			v = {
763				PATTERN_POSITION_TABLE: [
764					[],
765					[6, 18],
766					[6, 22],
767					[6, 26],
768					[6, 30],
769					[6, 34],
770					[6, 22, 38],
771					[6, 24, 42],
772					[6, 26, 46],
773					[6, 28, 50],
774					[6, 30, 54],
775					[6, 32, 58],
776					[6, 34, 62],
777					[6, 26, 46, 66],
778					[6, 26, 48, 70],
779					[6, 26, 50, 74],
780					[6, 30, 54, 78],
781					[6, 30, 56, 82],
782					[6, 30, 58, 86],
783					[6, 34, 62, 90],
784					[6, 28, 50, 72, 94],
785					[6, 26, 50, 74, 98],
786					[6, 30, 54, 78, 102],
787					[6, 28, 54, 80, 106],
788					[6, 32, 58, 84, 110],
789					[6, 30, 58, 86, 114],
790					[6, 34, 62, 90, 118],
791					[6, 26, 50, 74, 98, 122],
792					[6, 30, 54, 78, 102, 126],
793					[6, 26, 52, 78, 104, 130],
794					[6, 30, 56, 82, 108, 134],
795					[6, 34, 60, 86, 112, 138],
796					[6, 30, 58, 86, 114, 142],
797					[6, 34, 62, 90, 118, 146],
798					[6, 30, 54, 78, 102, 126, 150],
799					[6, 24, 50, 76, 102, 128, 154],
800					[6, 28, 54, 80, 106, 132, 158],
801					[6, 32, 58, 84, 110, 136, 162],
802					[6, 26, 54, 82, 110, 138, 166],
803					[6, 30, 58, 86, 114, 142, 170],
804				],
805				G15: 1335,
806				G18: 7973,
807				G15_MASK: 21522,
808				getBCHTypeInfo: function (t) {
809					for (var e = t << 10; 0 <= v.getBCHDigit(e) - v.getBCHDigit(v.G15); )
810						e ^= v.G15 << (v.getBCHDigit(e) - v.getBCHDigit(v.G15));
811					return ((t << 10) | e) ^ v.G15_MASK;
812				},
813				getBCHTypeNumber: function (t) {
814					for (var e = t << 12; 0 <= v.getBCHDigit(e) - v.getBCHDigit(v.G18); )
815						e ^= v.G18 << (v.getBCHDigit(e) - v.getBCHDigit(v.G18));
816					return (t << 12) | e;
817				},
818				getBCHDigit: function (t) {
819					for (var e = 0; 0 != t; ) e++, (t >>>= 1);
820					return e;
821				},
822				getPatternPosition: function (t) {
823					return v.PATTERN_POSITION_TABLE[t - 1];
824				},
825				getMask: function (t, e, o) {
826					switch (t) {
827						case a:
828							return (e + o) % 2 == 0;
829						case d:
830							return e % 2 == 0;
831						case c:
832							return o % 3 == 0;
833						case g:
834							return (e + o) % 3 == 0;
835						case p:
836							return (Math.floor(e / 2) + Math.floor(o / 3)) % 2 == 0;
837						case f:
838							return ((e * o) % 2) + ((e * o) % 3) == 0;
839						case m:
840							return (((e * o) % 2) + ((e * o) % 3)) % 2 == 0;
841						case _:
842							return (((e * o) % 3) + ((e + o) % 2)) % 2 == 0;
843						default:
844							throw new Error("bad maskPattern:" + t);
845					}
846				},
847				getErrorCorrectPolynomial: function (t) {
848					for (var e = new b([1], 0), o = 0; o < t; o++) e = e.multiply(new b([1, y.gexp(o)], 0));
849					return e;
850				},
851				getLengthInBits: function (t, e) {
852					if (1 <= e && e < 10)
853						switch (t) {
854							case s.MODE_NUMBER:
855								return 10;
856							case s.MODE_ALPHA_NUM:
857								return 9;
858							case s.MODE_8BIT_BYTE:
859							case s.MODE_KANJI:
860								return 8;
861							default:
862								throw new Error("mode:" + t);
863						}
864					else if (e < 27)
865						switch (t) {
866							case s.MODE_NUMBER:
867								return 12;
868							case s.MODE_ALPHA_NUM:
869								return 11;
870							case s.MODE_8BIT_BYTE:
871								return 16;
872							case s.MODE_KANJI:
873								return 10;
874							default:
875								throw new Error("mode:" + t);
876						}
877					else {
878						if (!(e < 41)) throw new Error("type:" + e);
879						switch (t) {
880							case s.MODE_NUMBER:
881								return 14;
882							case s.MODE_ALPHA_NUM:
883								return 13;
884							case s.MODE_8BIT_BYTE:
885								return 16;
886							case s.MODE_KANJI:
887								return 12;
888							default:
889								throw new Error("mode:" + t);
890						}
891					}
892				},
893				getLostPoint: function (t) {
894					for (var e = t.getModuleCount(), o = 0, r = 0; r < e; r++)
895						for (var i = 0; i < e; i++) {
896							for (var n = 0, a = t.isDark(r, i), s = -1; s <= 1; s++)
897								if (!(r + s < 0 || e <= r + s))
898									for (var l = -1; l <= 1; l++)
899										i + l < 0 || e <= i + l || (0 == s && 0 == l) || (a == t.isDark(r + s, i + l) && n++);
900							5 < n && (o += 3 + n - 5);
901						}
902					for (r = 0; r < e - 1; r++)
903						for (i = 0; i < e - 1; i++) {
904							var u = 0;
905							t.isDark(r, i) && u++,
906								t.isDark(r + 1, i) && u++,
907								t.isDark(r, i + 1) && u++,
908								t.isDark(r + 1, i + 1) && u++,
909								(0 != u && 4 != u) || (o += 3);
910						}
911					for (r = 0; r < e; r++)
912						for (i = 0; i < e - 6; i++)
913							t.isDark(r, i) &&
914								!t.isDark(r, i + 1) &&
915								t.isDark(r, i + 2) &&
916								t.isDark(r, i + 3) &&
917								t.isDark(r, i + 4) &&
918								!t.isDark(r, i + 5) &&
919								t.isDark(r, i + 6) &&
920								(o += 40);
921					for (i = 0; i < e; i++)
922						for (r = 0; r < e - 6; r++)
923							t.isDark(r, i) &&
924								!t.isDark(r + 1, i) &&
925								t.isDark(r + 2, i) &&
926								t.isDark(r + 3, i) &&
927								t.isDark(r + 4, i) &&
928								!t.isDark(r + 5, i) &&
929								t.isDark(r + 6, i) &&
930								(o += 40);
931					for (var h = 0, i = 0; i < e; i++) for (r = 0; r < e; r++) t.isDark(r, i) && h++;
932					return (o += 10 * (Math.abs((100 * h) / e / e - 50) / 5));
933				},
934			},
935			y = {
936				glog: function (t) {
937					if (t < 1) throw new Error("glog(" + t + ")");
938					return y.LOG_TABLE[t];
939				},
940				gexp: function (t) {
941					for (; t < 0; ) t += 255;
942					for (; 256 <= t; ) t -= 255;
943					return y.EXP_TABLE[t];
944				},
945				EXP_TABLE: new Array(256),
946				LOG_TABLE: new Array(256),
947			},
948			S = 0;
949		S < 8;
950		S++
951	)
952		y.EXP_TABLE[S] = 1 << S;
953	for (S = 8; S < 256; S++)
954		y.EXP_TABLE[S] = y.EXP_TABLE[S - 4] ^ y.EXP_TABLE[S - 5] ^ y.EXP_TABLE[S - 6] ^ y.EXP_TABLE[S - 8];
955	for (S = 0; S < 255; S++) y.LOG_TABLE[y.EXP_TABLE[S]] = S;
956	function b(t, e) {
957		if (t.length == h) throw new Error(t.length + "/" + e);
958		for (var o = 0; o < t.length && 0 == t[o]; ) o++;
959		this.num = new Array(t.length - o + e);
960		for (var r = 0; r < t.length - o; r++) this.num[r] = t[r + o];
961	}
962	function C(t, e) {
963		(this.totalCount = t), (this.dataCount = e);
964	}
965	function A() {
966		(this.buffer = []), (this.length = 0);
967	}
968	(b.prototype = {
969		get: function (t) {
970			return this.num[t];
971		},
972		getLength: function () {
973			return this.num.length;
974		},
975		multiply: function (t) {
976			for (var e = new Array(this.getLength() + t.getLength() - 1), o = 0; o < this.getLength(); o++)
977				for (var r = 0; r < t.getLength(); r++) e[o + r] ^= y.gexp(y.glog(this.get(o)) + y.glog(t.get(r)));
978			return new b(e, 0);
979		},
980		mod: function (t) {
981			if (this.getLength() - t.getLength() < 0) return this;
982			for (
983				var e = y.glog(this.get(0)) - y.glog(t.get(0)), o = new Array(this.getLength()), r = 0;
984				r < this.getLength();
985				r++
986			)
987				o[r] = this.get(r);
988			for (r = 0; r < t.getLength(); r++) o[r] ^= y.gexp(y.glog(t.get(r)) + e);
989			return new b(o, 0).mod(t);
990		},
991	}),
992		(C.RS_BLOCK_TABLE = [
993			[1, 26, 19],
994			[1, 26, 16],
995			[1, 26, 13],
996			[1, 26, 9],
997			[1, 44, 34],
998			[1, 44, 28],
999			[1, 44, 22],
1000			[1, 44, 16],
1001			[1, 70, 55],
1002			[1, 70, 44],
1003			[2, 35, 17],
1004			[2, 35, 13],
1005			[1, 100, 80],
1006			[2, 50, 32],
1007			[2, 50, 24],
1008			[4, 25, 9],
1009			[1, 134, 108],
1010			[2, 67, 43],
1011			[2, 33, 15, 2, 34, 16],
1012			[2, 33, 11, 2, 34, 12],
1013			[2, 86, 68],
1014			[4, 43, 27],
1015			[4, 43, 19],
1016			[4, 43, 15],
1017			[2, 98, 78],
1018			[4, 49, 31],
1019			[2, 32, 14, 4, 33, 15],
1020			[4, 39, 13, 1, 40, 14],
1021			[2, 121, 97],
1022			[2, 60, 38, 2, 61, 39],
1023			[4, 40, 18, 2, 41, 19],
1024			[4, 40, 14, 2, 41, 15],
1025			[2, 146, 116],
1026			[3, 58, 36, 2, 59, 37],
1027			[4, 36, 16, 4, 37, 17],
1028			[4, 36, 12, 4, 37, 13],
1029			[2, 86, 68, 2, 87, 69],
1030			[4, 69, 43, 1, 70, 44],
1031			[6, 43, 19, 2, 44, 20],
1032			[6, 43, 15, 2, 44, 16],
1033			[4, 101, 81],
1034			[1, 80, 50, 4, 81, 51],
1035			[4, 50, 22, 4, 51, 23],
1036			[3, 36, 12, 8, 37, 13],
1037			[2, 116, 92, 2, 117, 93],
1038			[6, 58, 36, 2, 59, 37],
1039			[4, 46, 20, 6, 47, 21],
1040			[7, 42, 14, 4, 43, 15],
1041			[4, 133, 107],
1042			[8, 59, 37, 1, 60, 38],
1043			[8, 44, 20, 4, 45, 21],
1044			[12, 33, 11, 4, 34, 12],
1045			[3, 145, 115, 1, 146, 116],
1046			[4, 64, 40, 5, 65, 41],
1047			[11, 36, 16, 5, 37, 17],
1048			[11, 36, 12, 5, 37, 13],
1049			[5, 109, 87, 1, 110, 88],
1050			[5, 65, 41, 5, 66, 42],
1051			[5, 54, 24, 7, 55, 25],
1052			[11, 36, 12, 7, 37, 13],
1053			[5, 122, 98, 1, 123, 99],
1054			[7, 73, 45, 3, 74, 46],
1055			[15, 43, 19, 2, 44, 20],
1056			[3, 45, 15, 13, 46, 16],
1057			[1, 135, 107, 5, 136, 108],
1058			[10, 74, 46, 1, 75, 47],
1059			[1, 50, 22, 15, 51, 23],
1060			[2, 42, 14, 17, 43, 15],
1061			[5, 150, 120, 1, 151, 121],
1062			[9, 69, 43, 4, 70, 44],
1063			[17, 50, 22, 1, 51, 23],
1064			[2, 42, 14, 19, 43, 15],
1065			[3, 141, 113, 4, 142, 114],
1066			[3, 70, 44, 11, 71, 45],
1067			[17, 47, 21, 4, 48, 22],
1068			[9, 39, 13, 16, 40, 14],
1069			[3, 135, 107, 5, 136, 108],
1070			[3, 67, 41, 13, 68, 42],
1071			[15, 54, 24, 5, 55, 25],
1072			[15, 43, 15, 10, 44, 16],
1073			[4, 144, 116, 4, 145, 117],
1074			[17, 68, 42],
1075			[17, 50, 22, 6, 51, 23],
1076			[19, 46, 16, 6, 47, 17],
1077			[2, 139, 111, 7, 140, 112],
1078			[17, 74, 46],
1079			[7, 54, 24, 16, 55, 25],
1080			[34, 37, 13],
1081			[4, 151, 121, 5, 152, 122],
1082			[4, 75, 47, 14, 76, 48],
1083			[11, 54, 24, 14, 55, 25],
1084			[16, 45, 15, 14, 46, 16],
1085			[6, 147, 117, 4, 148, 118],
1086			[6, 73, 45, 14, 74, 46],
1087			[11, 54, 24, 16, 55, 25],
1088			[30, 46, 16, 2, 47, 17],
1089			[8, 132, 106, 4, 133, 107],
1090			[8, 75, 47, 13, 76, 48],
1091			[7, 54, 24, 22, 55, 25],
1092			[22, 45, 15, 13, 46, 16],
1093			[10, 142, 114, 2, 143, 115],
1094			[19, 74, 46, 4, 75, 47],
1095			[28, 50, 22, 6, 51, 23],
1096			[33, 46, 16, 4, 47, 17],
1097			[8, 152, 122, 4, 153, 123],
1098			[22, 73, 45, 3, 74, 46],
1099			[8, 53, 23, 26, 54, 24],
1100			[12, 45, 15, 28, 46, 16],
1101			[3, 147, 117, 10, 148, 118],
1102			[3, 73, 45, 23, 74, 46],
1103			[4, 54, 24, 31, 55, 25],
1104			[11, 45, 15, 31, 46, 16],
1105			[7, 146, 116, 7, 147, 117],
1106			[21, 73, 45, 7, 74, 46],
1107			[1, 53, 23, 37, 54, 24],
1108			[19, 45, 15, 26, 46, 16],
1109			[5, 145, 115, 10, 146, 116],
1110			[19, 75, 47, 10, 76, 48],
1111			[15, 54, 24, 25, 55, 25],
1112			[23, 45, 15, 25, 46, 16],
1113			[13, 145, 115, 3, 146, 116],
1114			[2, 74, 46, 29, 75, 47],
1115			[42, 54, 24, 1, 55, 25],
1116			[23, 45, 15, 28, 46, 16],
1117			[17, 145, 115],
1118			[10, 74, 46, 23, 75, 47],
1119			[10, 54, 24, 35, 55, 25],
1120			[19, 45, 15, 35, 46, 16],
1121			[17, 145, 115, 1, 146, 116],
1122			[14, 74, 46, 21, 75, 47],
1123			[29, 54, 24, 19, 55, 25],
1124			[11, 45, 15, 46, 46, 16],
1125			[13, 145, 115, 6, 146, 116],
1126			[14, 74, 46, 23, 75, 47],
1127			[44, 54, 24, 7, 55, 25],
1128			[59, 46, 16, 1, 47, 17],
1129			[12, 151, 121, 7, 152, 122],
1130			[12, 75, 47, 26, 76, 48],
1131			[39, 54, 24, 14, 55, 25],
1132			[22, 45, 15, 41, 46, 16],
1133			[6, 151, 121, 14, 152, 122],
1134			[6, 75, 47, 34, 76, 48],
1135			[46, 54, 24, 10, 55, 25],
1136			[2, 45, 15, 64, 46, 16],
1137			[17, 152, 122, 4, 153, 123],
1138			[29, 74, 46, 14, 75, 47],
1139			[49, 54, 24, 10, 55, 25],
1140			[24, 45, 15, 46, 46, 16],
1141			[4, 152, 122, 18, 153, 123],
1142			[13, 74, 46, 32, 75, 47],
1143			[48, 54, 24, 14, 55, 25],
1144			[42, 45, 15, 32, 46, 16],
1145			[20, 147, 117, 4, 148, 118],
1146			[40, 75, 47, 7, 76, 48],
1147			[43, 54, 24, 22, 55, 25],
1148			[10, 45, 15, 67, 46, 16],
1149			[19, 148, 118, 6, 149, 119],
1150			[18, 75, 47, 31, 76, 48],
1151			[34, 54, 24, 34, 55, 25],
1152			[20, 45, 15, 61, 46, 16],
1153		]),
1154		(C.getRSBlocks = function (t, e) {
1155			var o = C.getRsBlockTable(t, e);
1156			if (o == h) throw new Error("bad rs block @ typeNumber:" + t + "/errorCorrectLevel:" + e);
1157			for (var r = o.length / 3, i = [], n = 0; n < r; n++)
1158				for (var a = o[3 * n + 0], s = o[3 * n + 1], l = o[3 * n + 2], u = 0; u < a; u++) i.push(new C(s, l));
1159			return i;
1160		}),
1161		(C.getRsBlockTable = function (t, e) {
1162			switch (e) {
1163				case u.L:
1164					return C.RS_BLOCK_TABLE[4 * (t - 1) + 0];
1165				case u.M:
1166					return C.RS_BLOCK_TABLE[4 * (t - 1) + 1];
1167				case u.Q:
1168					return C.RS_BLOCK_TABLE[4 * (t - 1) + 2];
1169				case u.H:
1170					return C.RS_BLOCK_TABLE[4 * (t - 1) + 3];
1171				default:
1172					return h;
1173			}
1174		}),
1175		(A.prototype = {
1176			get: function (t) {
1177				var e = Math.floor(t / 8);
1178				return 1 == ((this.buffer[e] >>> (7 - (t % 8))) & 1);
1179			},
1180			put: function (t, e) {
1181				for (var o = 0; o < e; o++) this.putBit(1 == ((t >>> (e - o - 1)) & 1));
1182			},
1183			getLengthInBits: function () {
1184				return this.length;
1185			},
1186			putBit: function (t) {
1187				var e = Math.floor(this.length / 8);
1188				this.buffer.length <= e && this.buffer.push(0), t && (this.buffer[e] |= 128 >>> this.length % 8), this.length++;
1189			},
1190		});
1191	var w = [
1192		[17, 14, 11, 7],
1193		[32, 26, 20, 14],
1194		[53, 42, 32, 24],
1195		[78, 62, 46, 34],
1196		[106, 84, 60, 44],
1197		[134, 106, 74, 58],
1198		[154, 122, 86, 64],
1199		[192, 152, 108, 84],
1200		[230, 180, 130, 98],
1201		[271, 213, 151, 119],
1202		[321, 251, 177, 137],
1203		[367, 287, 203, 155],
1204		[425, 331, 241, 177],
1205		[458, 362, 258, 194],
1206		[520, 412, 292, 220],
1207		[586, 450, 322, 250],
1208		[644, 504, 364, 280],
1209		[718, 560, 394, 310],
1210		[792, 624, 442, 338],
1211		[858, 666, 482, 382],
1212		[929, 711, 509, 403],
1213		[1003, 779, 565, 439],
1214		[1091, 857, 611, 461],
1215		[1171, 911, 661, 511],
1216		[1273, 997, 715, 535],
1217		[1367, 1059, 751, 593],
1218		[1465, 1125, 805, 625],
1219		[1528, 1190, 868, 658],
1220		[1628, 1264, 908, 698],
1221		[1732, 1370, 982, 742],
1222		[1840, 1452, 1030, 790],
1223		[1952, 1538, 1112, 842],
1224		[2068, 1628, 1168, 898],
1225		[2188, 1722, 1228, 958],
1226		[2303, 1809, 1283, 983],
1227		[2431, 1911, 1351, 1051],
1228		[2563, 1989, 1423, 1093],
1229		[2699, 2099, 1499, 1139],
1230		[2809, 2213, 1579, 1219],
1231		[2953, 2331, 1663, 1273],
1232	];
1233	function L() {
1234		var t = !1,
1235			e = navigator.userAgent;
1236		return (t =
1237			/android/i.test(e) && ((t = !0), (e = e.toString().match(/android ([0-9]\.[0-9])/i))) && e[1]
1238				? parseFloat(e[1])
1239				: t);
1240	}
1241	var O =
1242		"undefined" == typeof CanvasRenderingContext2D
1243			? ((k.prototype.draw = function (t) {
1244					var e = this._htOption,
1245						o = this._el,
1246						r = t.getModuleCount(),
1247						i = Math.round(e.width / r),
1248						n = Math.round((e.height - e.titleHeight) / r),
1249						a =
1250							(n <= 1 && (n = 1),
1251							(this._htOption.width = (i = i <= 1 ? 1 : i) * r),
1252							(this._htOption.height = n * r + e.titleHeight),
1253							(this._htOption.quietZone = Math.round(this._htOption.quietZone)),
1254							[]),
1255						s = "",
1256						l = Math.round(i * e.dotScale),
1257						u = Math.round(n * e.dotScale),
1258						h = (l < 4 && (u = l = 4), e.colorDark),
1259						d = e.colorLight;
1260					e.backgroundImage &&
1261						(e.autoColor
1262							? ((e.colorDark =
1263									"rgba(0, 0, 0, .6);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#99000000', EndColorStr='#99000000');"),
1264								(e.colorLight =
1265									"rgba(255, 255, 255, .7);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#B2FFFFFF', EndColorStr='#B2FFFFFF');"))
1266							: (e.colorLight = "rgba(0,0,0,0)"),
1267						(_ =
1268							'<div style="display:inline-block; z-index:-10;position:absolute;"><img src="' +
1269							e.backgroundImage +
1270							'" widht="' +
1271							(e.width + 2 * e.quietZone) +
1272							'" height="' +
1273							(e.height + 2 * e.quietZone) +
1274							'" style="opacity:' +
1275							e.backgroundImageAlpha +
1276							";filter:alpha(opacity=" +
1277							100 * e.backgroundImageAlpha +
1278							'); "/></div>'),
1279						a.push(_)),
1280						e.quietZone &&
1281							(s =
1282								"display:inline-block; width:" +
1283								(e.width + 2 * e.quietZone) +
1284								"px; height:" +
1285								(e.width + 2 * e.quietZone) +
1286								"px;background:" +
1287								e.quietZoneColor +
1288								"; text-align:center;"),
1289						a.push('<div style="font-size:0;' + s + '">'),
1290						a.push(
1291							'<table  style="font-size:0;border:0;border-collapse:collapse; margin-top:' +
1292								e.quietZone +
1293								'px;" border="0" cellspacing="0" cellspadding="0" align="center" valign="middle">',
1294						),
1295						a.push(
1296							'<tr height="' +
1297								e.titleHeight +
1298								'" align="center"><td style="border:0;border-collapse:collapse;margin:0;padding:0" colspan="' +
1299								r +
1300								'">',
1301						),
1302						e.title &&
1303							((_ = e.titleColor),
1304							(s = e.titleFont),
1305							a.push(
1306								'<div style="width:100%;margin-top:' +
1307									e.titleTop +
1308									"px;color:" +
1309									_ +
1310									";font:" +
1311									s +
1312									";background:" +
1313									e.titleBackgroundColor +
1314									'">' +
1315									e.title +
1316									"</div>",
1317							)),
1318						e.subTitle &&
1319							a.push(
1320								'<div style="width:100%;margin-top:' +
1321									(e.subTitleTop - e.titleTop) +
1322									"px;color:" +
1323									e.subTitleColor +
1324									"; font:" +
1325									e.subTitleFont +
1326									'">' +
1327									e.subTitle +
1328									"</div>",
1329							),
1330						a.push("</td></tr>");
1331					for (var c = 0; c < r; c++) {
1332						a.push('<tr style="border:0; padding:0; margin:0;" height="7">');
1333						for (var g = 0; g < r; g++) {
1334							var p = t.isDark(c, g),
1335								f = t.getEye(c, g);
1336							f
1337								? ((p = f.isDark),
1338									(f = e[(f = f.type)] || e[f.substring(0, 2)] || h),
1339									a.push(
1340										'<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
1341											i +
1342											"px;height:" +
1343											n +
1344											'px;"><span style="width:' +
1345											i +
1346											"px;height:" +
1347											n +
1348											"px;background-color:" +
1349											(p ? f : d) +
1350											';display:inline-block"></span></td>',
1351									))
1352								: ((f = e.colorDark),
1353									6 == c
1354										? ((f = e.timing_H || e.timing || h),
1355											a.push(
1356												'<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
1357													i +
1358													"px;height:" +
1359													n +
1360													"px;background-color:" +
1361													(p ? f : d) +
1362													';"></td>',
1363											))
1364										: 6 == g
1365											? ((f = e.timing_V || e.timing || h),
1366												a.push(
1367													'<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
1368														i +
1369														"px;height:" +
1370														n +
1371														"px;background-color:" +
1372														(p ? f : d) +
1373														';"></td>',
1374												))
1375											: a.push(
1376													'<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
1377														i +
1378														"px;height:" +
1379														n +
1380														'px;"><div style="display:inline-block;width:' +
1381														l +
1382														"px;height:" +
1383														u +
1384														"px;background-color:" +
1385														(p ? f : e.colorLight) +
1386														';"></div></td>',
1387												));
1388						}
1389						a.push("</tr>");
1390					}
1391					a.push("</table>"),
1392						a.push("</div>"),
1393						e.logo &&
1394							((_ = new Image()),
1395							null != e.crossOrigin && (_.crossOrigin = e.crossOrigin),
1396							(_.src = e.logo),
1397							(s = e.width / 3.5) != (_ = e.height / 3.5) && (s = _),
1398							e.logoWidth && (s = e.logoWidth),
1399							e.logoHeight && (_ = e.logoHeight),
1400							(m =
1401								"position:relative; z-index:1;display:table-cell;top:-" +
1402								((e.height - e.titleHeight) / 2 + _ / 2 + e.quietZone) +
1403								"px;text-align:center; width:" +
1404								s +
1405								"px; height:" +
1406								_ +
1407								"px;line-height:" +
1408								s +
1409								"px; vertical-align: middle;"),
1410							e.logoBackgroundTransparent || (m += "background:" + e.logoBackgroundColor),
1411							a.push(
1412								'<div style="' +
1413									m +
1414									'"><img  src="' +
1415									e.logo +
1416									'"  style="max-width: ' +
1417									s +
1418									"px; max-height: " +
1419									_ +
1420									'px;" /> <div style=" display: none; width:1px;margin-left: -1px;"></div></div>',
1421							)),
1422						e.onRenderingStart && e.onRenderingStart(e),
1423						(o.innerHTML = a.join(""));
1424					var m = o.childNodes[0],
1425						s = (e.width - m.offsetWidth) / 2,
1426						_ = (e.height - m.offsetHeight) / 2;
1427					0 < s && 0 < _ && (m.style.margin = _ + "px " + s + "px"),
1428						this._htOption.onRenderingEnd && this._htOption.onRenderingEnd(this._htOption, null);
1429				}),
1430				(k.prototype.clear = function () {
1431					this._el.innerHTML = "";
1432				}),
1433				k)
1434			: (function () {
1435					function t() {
1436						if ("svg" == this._htOption.drawer) {
1437							var t = this._oContext.getSerializedSvg(!0);
1438							(this.dataURL = t), (this._el.innerHTML = t);
1439						} else
1440							try {
1441								var e = this._elCanvas.toDataURL("image/png");
1442								this.dataURL = e;
1443							} catch (t) {
1444								console.error(t);
1445							}
1446						this._htOption.onRenderingEnd &&
1447							(this.dataURL ||
1448								console.error(
1449									"Can not get base64 data, please check: 1. Published the page and image to the server 2. The image request support CORS 3. Configured `crossOrigin:'anonymous'` option",
1450								),
1451							this._htOption.onRenderingEnd(this._htOption, this.dataURL));
1452					}
1453					var h, d;
1454					r._android &&
1455						r._android <= 2.1 &&
1456						((h = 1 / window.devicePixelRatio),
1457						(d = CanvasRenderingContext2D.prototype.drawImage),
1458						(CanvasRenderingContext2D.prototype.drawImage = function (t, e, o, r, i, n, a, s, l) {
1459							if ("nodeName" in t && /img/i.test(t.nodeName))
1460								for (var u = arguments.length - 1; 1 <= u; u--) arguments[u] = arguments[u] * h;
1461							else void 0 === s && ((arguments[1] *= h), (arguments[2] *= h), (arguments[3] *= h), (arguments[4] *= h));
1462							d.apply(this, arguments);
1463						}));
1464					function e(t, e) {
1465						(this._bIsPainted = !1),
1466							(this._android = L()),
1467							(this._el = t),
1468							(this._htOption = e),
1469							"svg" == this._htOption.drawer
1470								? ((this._oContext = {}), (this._elCanvas = {}))
1471								: ((this._elCanvas = document.createElement("canvas")),
1472									this._el.appendChild(this._elCanvas),
1473									(this._oContext = this._elCanvas.getContext("2d"))),
1474							(this._bSupportDataURI = null),
1475							(this.dataURL = null);
1476					}
1477					return (
1478						(e.prototype.draw = function (o) {
1479							var r,
1480								c = this._htOption,
1481								g = (c.title || c.subTitle || ((c.height -= c.titleHeight), (c.titleHeight = 0)), o.getModuleCount()),
1482								p = Math.round(c.width / g),
1483								f = Math.round((c.height - c.titleHeight) / g),
1484								m =
1485									(p <= 1 && (p = 1),
1486									f <= 1 && (f = 1),
1487									(c.width = p * g),
1488									(c.height = f * g + c.titleHeight),
1489									(c.quietZone = Math.round(c.quietZone)),
1490									(this._elCanvas.width = c.width + 2 * c.quietZone),
1491									(this._elCanvas.height = c.height + 2 * c.quietZone),
1492									"canvas" != this._htOption.drawer &&
1493										(this._oContext = new C2S(this._elCanvas.width, this._elCanvas.height)),
1494									this.clear(),
1495									this._oContext),
1496								i =
1497									((m.lineWidth = 0),
1498									(m.fillStyle = c.colorLight),
1499									m.fillRect(0, 0, this._elCanvas.width, this._elCanvas.height),
1500									this);
1501							function _() {
1502								0 < c.quietZone &&
1503									c.quietZoneColor &&
1504									((m.lineWidth = 0),
1505									(m.fillStyle = c.quietZoneColor),
1506									m.fillRect(0, 0, i._elCanvas.width, c.quietZone),
1507									m.fillRect(0, c.quietZone, c.quietZone, i._elCanvas.height - 2 * c.quietZone),
1508									m.fillRect(
1509										i._elCanvas.width - c.quietZone,
1510										c.quietZone,
1511										c.quietZone,
1512										i._elCanvas.height - 2 * c.quietZone,
1513									),
1514									m.fillRect(0, i._elCanvas.height - c.quietZone, i._elCanvas.width, c.quietZone));
1515							}
1516							function n(t) {
1517								c.onRenderingStart && c.onRenderingStart(c);
1518								for (var u, h, e = 0; e < g; e++)
1519									for (var o = 0; o < g; o++) {
1520										var r,
1521											i,
1522											n = o * p + c.quietZone,
1523											a = e * f + c.quietZone,
1524											s = t.isDark(e, o),
1525											l = t.getEye(e, o),
1526											d = c.dotScale;
1527										(m.lineWidth = 0),
1528											l
1529												? ((r = c[l.type] || c[l.type.substring(0, 2)] || c.colorDark), (i = c.colorLight))
1530												: c.backgroundImage
1531													? ((i = "rgba(0,0,0,0)"),
1532														6 == e
1533															? c.autoColor
1534																? ((r = c.timing_H || c.timing || c.autoColorDark), (i = c.autoColorLight))
1535																: (r = c.timing_H || c.timing || c.colorDark)
1536															: 6 == o
1537																? c.autoColor
1538																	? ((r = c.timing_V || c.timing || c.autoColorDark), (i = c.autoColorLight))
1539																	: (r = c.timing_V || c.timing || c.colorDark)
1540																: c.autoColor
1541																	? ((r = c.autoColorDark), (i = c.autoColorLight))
1542																	: (r = c.colorDark))
1543													: ((r =
1544															6 == e
1545																? c.timing_H || c.timing || c.colorDark
1546																: (6 == o && (c.timing_V || c.timing)) || c.colorDark),
1547														(i = c.colorLight)),
1548											(m.strokeStyle = s ? r : i),
1549											(m.fillStyle = s ? r : i),
1550											l
1551												? ((d = "AO" == l.type ? c.dotScaleAO : "AI" == l.type ? c.dotScaleAI : 1),
1552													c.backgroundImage && c.autoColor
1553														? ((r = ("AO" == l.type ? c.AI : c.AO) || c.autoColorDark), (i = c.autoColorLight))
1554														: (r = ("AO" == l.type ? c.AI : c.AO) || r),
1555													l.isDark)
1556												: 6 == e
1557													? (d = c.dotScaleTiming_H)
1558													: 6 == o
1559														? (d = c.dotScaleTiming_V)
1560														: c.backgroundImage,
1561											m.fillRect(n + (p * (1 - d)) / 2, c.titleHeight + a + (f * (1 - d)) / 2, p * d, f * d),
1562											1 == c.dotScale || l || (m.strokeStyle = c.colorLight);
1563									}
1564								c.title &&
1565									((m.fillStyle = c.titleBackgroundColor),
1566									m.fillRect(0, 0, this._elCanvas.width, c.titleHeight + c.quietZone),
1567									(m.font = c.titleFont),
1568									(m.fillStyle = c.titleColor),
1569									(m.textAlign = "center"),
1570									m.fillText(c.title, this._elCanvas.width / 2, +c.quietZone + c.titleTop)),
1571									c.subTitle &&
1572										((m.font = c.subTitleFont),
1573										(m.fillStyle = c.subTitleColor),
1574										m.fillText(c.subTitle, this._elCanvas.width / 2, +c.quietZone + c.subTitleTop)),
1575									c.logo
1576										? ((u = new Image()),
1577											(h = this),
1578											(u.onload = function () {
1579												var t, e, o, r, i, n, a, s, l;
1580												(t = u),
1581													(e = Math.round(c.width / 3.5)),
1582													(o = Math.round(c.height / 3.5)),
1583													e !== o && (e = o),
1584													c.logoMaxWidth
1585														? (e = Math.round(c.logoMaxWidth))
1586														: c.logoWidth && (e = Math.round(c.logoWidth)),
1587													c.logoMaxHeight
1588														? (o = Math.round(c.logoMaxHeight))
1589														: c.logoHeight && (o = Math.round(c.logoHeight)),
1590													(s =
1591														void 0 === t.naturalWidth
1592															? ((a = t.width), t.height)
1593															: ((a = t.naturalWidth), t.naturalHeight)),
1594													(c.logoMaxWidth || c.logoMaxHeight) &&
1595														(c.logoMaxWidth && a <= e && (e = a), c.logoMaxHeight && s <= o && (o = s), a <= e) &&
1596														s <= o &&
1597														((e = a), (o = s)),
1598													(r = (c.width + 2 * c.quietZone - e) / 2),
1599													(i = (c.height + c.titleHeight + 2 * c.quietZone - o) / 2),
1600													(n = Math.min(e / a, o / s)),
1601													(a *= n),
1602													(s *= n),
1603													(c.logoMaxWidth || c.logoMaxHeight) &&
1604														((r = (c.width + 2 * c.quietZone - (e = a)) / 2),
1605														(i = (c.height + c.titleHeight + 2 * c.quietZone - (o = s
1605)) / 2)),
1606													c.logoBackgroundTransparent ||
1607														((m.fillStyle = c.logoBackgroundColor), m.fillRect(r, i, e, o)),
1608													(n = m.imageSmoothingQuality),
1609													(l = m.imageSmoothingEnabled),
1610													(m.imageSmoothingEnabled = !0),
1611													(m.imageSmoothingQuality = "high"),
1612													m.drawImage(t, r + (e - a) / 2, i + (o - s) / 2, a, s),
1613													(m.imageSmoothingEnabled = l),
1614													(m.imageSmoothingQuality = n),
1615													_(),
1616													(h._bIsPainted = !0),
1617													h.makeImage();
1618											}),
1619											(u.onerror = function (t) {
1620												console.error(t);
1621											}),
1622											null != c.crossOrigin && (u.crossOrigin = c.crossOrigin),
1623											(u.originalSrc = c.logo),
1624											(u.src = c.logo))
1625										: (_(), (this._bIsPainted = !0), this.makeImage());
1626							}
1627							c.backgroundImage
1628								? (((r = new Image()).onload = function () {
1629										(m.globalAlpha = 1), (m.globalAlpha = c.backgroundImageAlpha);
1630										var t = m.imageSmoothingQuality,
1631											e = m.imageSmoothingEnabled;
1632										(m.imageSmoothingEnabled = !0),
1633											(m.imageSmoothingQuality = "high"),
1634											m.drawImage(
1635												r,
1636												0,
1637												c.titleHeight,
1638												c.width + 2 * c.quietZone,
1639												c.height + 2 * c.quietZone - c.titleHeight,
1640											),
1641											(m.imageSmoothingEnabled = e),
1642											(m.imageSmoothingQuality = t),
1643											(m.globalAlpha = 1),
1644											n.call(i, o);
1645									}),
1646									null != c.crossOrigin && (r.crossOrigin = c.crossOrigin),
1647									(r.originalSrc = c.backgroundImage),
1648									(r.src = c.backgroundImage))
1649								: n.call(i, o);
1650						}),
1651						(e.prototype.makeImage = function () {
1652							this._bIsPainted &&
1653								!function (t, e) {
1654									var o = this;
1655									(o._fFail = e),
1656										(o._fSuccess = t),
1657										null === o._bSupportDataURI
1658											? (((e = document.createElement("img")).onabort = t =
1659													function () {
1660														(o._bSupportDataURI = !1), o._fFail && o._fFail.call(o);
1661													}),
1662												(e.onerror = t),
1663												(e.onload = function () {
1664													(o._bSupportDataURI = !0), o._fSuccess && o._fSuccess.call(o);
1665												}),
1666												(e.src =
1667													"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="))
1668											: !0 === o._bSupportDataURI && o._fSuccess
1669												? o._fSuccess.call(o)
1670												: !1 === o._bSupportDataURI && o._fFail && o._fFail.call(o);
1671								}.call(this, t);
1672						}),
1673						(e.prototype.isPainted = function () {
1674							return this._bIsPainted;
1675						}),
1676						(e.prototype.clear = function () {
1677							this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height), (this._bIsPainted = !1);
1678						}),
1679						(e.prototype.remove = function () {
1680							this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height),
1681								(this._bIsPainted = !1),
1682								(this._el.innerHTML = "");
1683						}),
1684						(e.prototype.round = function (t) {
1685							return t && Math.floor(1e3 * t) / 1e3;
1686						}),
1687						e
1688					);
1689				})();
1690	function k(t, e) {
1691		(this._el = t), (this._htOption = e);
1692	}
1693	function R(t, e) {
1694		for (
1695			var o,
1696				r = e.correctLevel,
1697				i = 1,
1698				n =
1699					((t = t),
1700					(o = encodeURI(t)
1701						.toString()
1702						.replace(/\%[0-9a-fA-F]{2}/g, "a")).length + (o.length != t.length ? 3 : 0)),
1703				a = 0,
1704				s = w.length;
1705			a < s;
1706			a++
1707		) {
1708			var l = 0;
1709			switch (r) {
1710				case u.L:
1711					l = w[a][0];
1712					break;
1713				case u.M:
1714					l = w[a][1];
1715					break;
1716				case u.Q:
1717					l = w[a][2];
1718					break;
1719				case u.H:
1720					l = w[a][3];
1721			}
1722			if (n <= l) break;
1723			i++;
1724		}
1725		if (w.length < i)
1726			throw new Error("Too long data. the CorrectLevel." + ["M", "L", "H", "Q"][r] + " limit length is " + l);
1727		return (
1728			0 != e.version &&
1729				(i <= e.version
1730					? (i = e.version)
1731					: console.warn("QR Code version " + e.version + " too small, run version use " + i),
1732				(e.runVersion = i)),
1733			i
1734		);
1735	}
1736	((t = function (t, e) {
1737		if (
1738			((this._htOption = {
1739				width: 256,
1740				height: 256,
1741				typeNumber: 4,
1742				colorDark: "#000000",
1743				colorLight: "#ffffff",
1744				correctLevel: u.H,
1745				dotScale: 1,
1746				dotScaleTiming: 1,
1747				dotScaleTiming_H: h,
1748				dotScaleTiming_V: h,
1749				dotScaleA: 1,
1750				dotScaleAO: h,
1751				dotScaleAI: h,
1752				quietZone: 0,
1753				quietZoneColor: "rgba(0,0,0,0)",
1754				title: "",
1755				titleFont: "normal normal bold 16px Arial",
1756				titleColor: "#000000",
1757				titleBackgroundColor: "#ffffff",
1758				titleHeight: 0,
1759				titleTop: 30,
1760				subTitle: "",
1761				subTitleFont: "normal normal normal 14px Arial",
1762				subTitleColor: "#4F4F4F",
1763				subTitleTop: 60,
1764				logo: h,
1765				logoWidth: h,
1766				logoHeight: h,
1767				logoMaxWidth: h,
1768				logoMaxHeight: h,
1769				logoBackgroundColor: "#ffffff",
1770				logoBackgroundTransparent: !1,
1771				PO: h,
1772				PI: h,
1773				PO_TL: h,
1774				PI_TL: h,
1775				PO_TR: h,
1776				PI_TR: h,
1777				PO_BL: h,
1778				PI_BL: h,
1779				AO: h,
1780				AI: h,
1781				timing: h,
1782				timing_H: h,
1783				timing_V: h,
1784				backgroundImage: h,
1785				backgroundImageAlpha: 1,
1786				autoColor: !1,
1787				autoColorDark: "rgba(0, 0, 0, .6)",
1788				autoColorLight: "rgba(255, 255, 255, .7)",
1789				onRenderingStart: h,
1790				onRenderingEnd: h,
1791				version: 0,
1792				tooltip: !1,
1793				binary: !1,
1794				drawer: "canvas",
1795				crossOrigin: null,
1796				utf8WithoutBOM: !0,
1797			}),
1798			(e = "string" == typeof e ? { text: e } : e))
1799		)
1800			for (var o in e) this._htOption[o] = e[o];
1801		(this._htOption.version < 0 || 40 < this._htOption.version) &&
1802			(console.warn("QR Code version '" + this._htOption.version + "' is invalidate, reset to 0"),
1803			(this._htOption.version = 0)),
1804			(this._htOption.dotScale < 0 || 1 < this._htOption.dotScale) &&
1805				(console.warn(
1806					this._htOption.dotScale +
1807						" , is invalidate, dotScale must greater than 0, less than or equal to 1, now reset to 1. ",
1808				),
1809				(this._htOption.dotScale = 1)),
1810			(this._htOption.dotScaleTiming < 0 || 1 < this._htOption.dotScaleTiming) &&
1811				(console.warn(
1812					this._htOption.dotScaleTiming +
1813						" , is invalidate, dotScaleTiming must greater than 0, less than or equal to 1, now reset to 1. ",
1814				),
1815				(this._htOption.dotScaleTiming = 1)),
1816			this._htOption.dotScaleTiming_H
1817				? (this._htOption.dotScaleTiming_H < 0 || 1 < this._htOption.dotScaleTiming_H) &&
1818					(console.warn(
1819						this._htOption.dotScaleTiming_H +
1820							" , is invalidate, dotScaleTiming_H must greater than 0, less than or equal to 1, now reset to 1. ",
1821					),
1822					(this._htOption.dotScaleTiming_H = 1))
1823				: (this._htOption.dotScaleTiming_H = this._htOption.dotScaleTiming),
1824			this._htOption.dotScaleTiming_V
1825				? (this._htOption.dotScaleTiming_V < 0 || 1 < this._htOption.dotScaleTiming_V) &&
1826					(console.warn(
1827						this._htOption.dotScaleTiming_V +
1828							" , is invalidate, dotScaleTiming_V must greater than 0, less than or equal to 1, now reset to 1. ",
1829					),
1830					(this._htOption.dotScaleTiming_V = 1))
1831				: (this._htOption.dotScaleTiming_V = this._htOption.dotScaleTiming),
1832			(this._htOption.dotScaleA < 0 || 1 < this._htOption.dotScaleA) &&
1833				(console.warn(
1834					this._htOption.dotScaleA +
1835						" , is invalidate, dotScaleA must greater than 0, less than or equal to 1, now reset to 1. ",
1836				),
1837				(this._htOption.dotScaleA = 1)),
1838			this._htOption.dotScaleAO
1839				? (this._htOption.dotScaleAO < 0 || 1 < this._htOption.dotScaleAO) &&
1840					(console.warn(
1841						this._htOption.dotScaleAO +
1842							" , is invalidate, dotScaleAO must greater than 0, less than or equal to 1, now reset to 1. ",
1843					),
1844					(this._htOption.dotScaleAO = 1))
1845				: (this._htOption.dotScaleAO = this._htOption.dotScaleA),
1846			this._htOption.dotScaleAI
1847				? (this._htOption.dotScaleAI < 0 || 1 < this._htOption.dotScaleAI) &&
1848					(console.warn(
1849						this._htOption.dotScaleAI +
1850							" , is invalidate, dotScaleAI must greater than 0, less than or equal to 1, now reset to 1. ",
1851					),
1852					(this._htOption.dotScaleAI = 1))
1853				: (this._htOption.dotScaleAI = this._htOption.dotScaleA),
1854			(this._htOption.backgroundImageAlpha < 0 || 1 < this._htOption.backgroundImageAlpha) &&
1855				(console.warn(
1856					this._htOption.backgroundImageAlpha +
1857						" , is invalidate, backgroundImageAlpha must between 0 and 1, now reset to 1. ",
1858				),
1859				(this._htOption.backgroundImageAlpha = 1)),
1860			(this._htOption.height = this._htOption.height + this._htOption.titleHeight),
1861			"string" == typeof t && (t = document.getElementById(t)),
1862			(this._htOption.drawer && ("svg" == this._htOption.drawer || "canvas" == this._htOption.drawer)) ||
1863				(this._htOption.drawer = "canvas"),
1864			(this._android = L()),
1865			(this._el = t),
1866			(this._oQRCode = null);
1867		var r = {};
1868		for (o in this._htOption) r[o] = this._htOption[o];
1869		(this._oDrawing = new O(this._el, r)), this._htOption.text && this.makeCode(this._htOption.text);
1870	}).prototype.makeCode = function (t) {
1871		(this._oQRCode = new l(R(t, this._htOption), this._htOption.correctLevel)),
1872			this._oQRCode.addData(t, this._htOption.binary, this._htOption.utf8WithoutBOM),
1873			this._oQRCode.make(),
1874			this._htOption.tooltip && (this._el.title = t),
1875			this._oDrawing.draw(this._oQRCode);
1876	}),
1877		(t.prototype.makeImage = function () {
1878			"function" == typeof this._oDrawing.makeImage &&
1879				(!this._android || 3 <= this._android) &&
1880				this._oDrawing.makeImage();
1881		}),
1882		(t.prototype.clear = function () {
1883			this._oDrawing.remove();
1884		}),
1885		(t.prototype.resize = function (t, e) {
1886			(this._oDrawing._htOption.width = t), (this._oDrawing._htOption.height = e), this._oDrawing.draw(this._oQRCode);
1887		}),
1888		(t.prototype.noConflict = function () {
1889			return r.QRCode === this && (r.QRCode = i), t;
1890		}),
1891		(t.CorrectLevel = u),
1892		"function" == typeof define && (define.amd || define.cmd)
1893			? define([], function () {
1894					return t;
1895				})
1896			: o
1897				? (((o.exports = t).QRCode = t), (e.QRCode = t))
1898				: (r.QRCode = t);
1899}
1900var version = "2.9.3",
1901	formatVersion = version.replace(/\./g, "_");
1902QRCode(),
1903	removeExpiredLocalStorageItems(),
1904	getQueryParamsAndSaveToLocalStorage(window.location.href),
1905	saveWebReferrer(),
1906	(window.AF_SMART_SCRIPT = {
1907		generateOneLinkURL: function () {
1908			var i,
1909				t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : { afParameters: {} },
1910				e = t.oneLinkURL,
1911				o = t.afParameters,
1912				o = (void 0 === o ? {} : o).mediaSource,
1913				r = t.referrerSkipList,
1914				r = void 0 === r ? [] : r,
1915				n = t.urlSkipList,
1916				n = void 0 === n ? [] : n,
1917				a = t.webReferrer;
1918			return isOneLinkURLValid(e) &&
1919				isSkipListsValid({ referrerSkipList: r, urlSkipList: n }) &&
1920				isMSValid(o) &&
1921				((r = getCurrentURLParams(aggregateValuesFromParameters(t.afParameters))),
1922				(n = validateAndMappedParams(t.afParameters, r)))
1923				? ((o = _objectSpread2({ af_js_web: !0, af_ss_ver: window.AF_SMART_SCRIPT.version }, n)),
1924					(i = e + stringifyParameters(o).replace("&", "?")),
1925					(t = JSON.parse(localStorage.getItem(LOCAL_STORAGE_VALUES.SS_WEB_REFERRER))),
1926					a && t && isValidUrl(t) && ((r = "&".concat(a, "=").concat(t)), (i = "".concat(i).concat(r))),
1927					(i = processTrackingParameters(i)),
1928					console.debug("Generated OneLink URL", i),
1929					(window.AF_SMART_SCRIPT.displayQrCode = function (t) {
1930						var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
1931							o = e.logo,
1932							o = void 0 === o ? "" : o,
1933							r = e.codeColor,
1934							r = void 0 === r ? "#000" : r;
1935						return i
1936							? new QRCode(document.getElementById(t), {
1937									text: "".concat(i, "&af_ss_qr=").concat(e.logo || e.codeColor ? "c" : "true", " "),
1938									logo: o,
1939									colorDark: getHexColorAfterValidation(r),
1940									logoBackgroundTransparent: !0,
1941									crossOrigin: "anonymous",
1942									correctLevel: o ? QRCode.CorrectLevel.Q : QRCode.CorrectLevel.L,
1943								})
1944							: (console.debug("ClickURL is not valid"), null);
1945					}),
1946					createImpressionsLink(i).then(function (e) {
1947						e &&
1948							(window.AF_SMART_SCRIPT.fireImpressionsLink = function () {
1949								var t = new Image(1, 1);
1950								(t.style.display = "none"),
1951									(t.style.position = "absolute"),
1952									(t.style.left = "-1px"),
1953									(t.style.top = "-1px"),
1954									(t.src = e);
1955							});
1956					}),
1957					{ clickURL: i })
1958				: null;
1959		},
1960		generateDirectClickURL: function () {
1961			var t,
1962				e =
1963					0 < arguments.length && void 0 !== arguments[0]
1964						? arguments[0]
1965						: { afParameters: {}, referrerSkipList: [], urlSkipList: [] },
1966				o = e.afParameters,
1967				o = void 0 === o ? {} : o,
1968				r = e.referrerSkipList,
1969				r = void 0 === r ? [] : r,
1970				i = e.urlSkipList,
1971				i = void 0 === i ? [] : i,
1972				n = e.platform,
1973				a = e.app_id,
1974				s = e.redirectURL,
1975				l = o.mediaSource,
1976				o = o.campaign;
1977			return l
1978				? o
1979					? a
1980						? s
1981							? ((n = null == n ? void 0 : n.toLowerCase()),
1982								isPlatformValid(n)
1983									? "string" != typeof a
1984										? (console.error("app_id must be a string"), null)
1985										: 0 !== (null == o || null == (t = o.keys) ? void 0 : t.length) || (null != o && o.defaultValue)
1986											? isSkipListsValid({ referrerSkipList: r, urlSkipList: i }) &&
1987												isMSValid(l) &&
1988												((t = getCurrentURLParams(aggregateValuesFromParameters(e.afParameters))),
1989												(r = validateAndMappedParams(e.afParameters, t, !0)))
1990												? ((i = _objectSpread2({ af_js_web: !0, af_ss_ver: window.AF_SMART_SCRIPT.version }, r)),
1991													(e = stringifyParameters(i).replace("&", "?")),
1992													(t = "https://engagements.appsflyer.com/v1.0/c2s/click/app/".concat(n)),
1993													["ios", "android"].includes(n) && (t = "https://app.appsflyer.com"),
1994													(r = "".concat(t, "/").concat(a).concat(e, "&af_r=").concat(encodeURIComponent(s))),
1995													["ios", "android"].includes(n) &&
1996														(r = r
1997															.replace("af_media_source", "pid")
1998															.replace("af_campaign", "c")
1999															.replace("af_campaign_id", "af_c_id")),
2000													(r = processTrackingParameters(r)),
2001													console.debug("generate Direct Click URL", r),
2002													delete window.AF_SMART_SCRIPT.displayQrCode,
2003													delete window.AF_SMART_SCRIPT.fireImpressionsLink,
2004													{ clickURL: r })
2005												: null
2006											: (console.error("campaign is missing (default value was not supplied), can't generate URL", l),
2007												null)
2008									: null)
2009							: (console.error("redirectURL is missing , can't generate URL", s), null)
2010						: (console.error("app_id is missing , can't generate URL", a), null)
2011					: (console.error("campaign  is missing , can't generate URL", o), null)
2012				: (console.error("mediaSource is missing , can't generate URL", l), null);
2013		},
2014		version: formatVersion,
2015	});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.