@privacyscrubber/sdk 2.4.2 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,261 +1,11 @@
1
- (function(global) {
2
- // ── START LICENSE CRYPTO ──
3
- const PUBLIC_KEY_N = BigInt("21317979104050344678233452423803986868842680501941538057759536089609908024281729760556922188810565541201321990374637212776148857190553192389608364990754937991254608109727112734447704854882786946805547031142530865504430968628760311494129154950865158735816268612258108296781892583171421605668998979064782378729322077179022581884976242706169323540456286526420742434868559866211716347133681429395477256705746276962607312574959642065929462114149296066812527505837608212730874704915352119747022918247963886630350365119206627670591400728523813746184290857872958847087691236909900501703203494160206941648263514117706558791691");
4
- const PUBLIC_KEY_E = 65537n;
5
-
6
- function modPow(base, exp, mod) {
7
- let res = 1n;
8
- base = base % mod;
9
- while (exp > 0n) {
10
- if (exp % 2n === 1n) res = (res * base) % mod;
11
- exp = exp / 2n;
12
- base = (base * base) % mod;
13
- }
14
- return res;
15
- }
16
-
17
- function bigIntToString(bi) {
18
- let hex = bi.toString(16);
19
- if (hex.length % 2 !== 0) hex = '0' + hex;
20
- let str = '';
21
- for (let i = 0; i < hex.length; i += 2) {
22
- str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
23
- }
24
- return str;
25
- }
26
-
27
- function stringToBigInt(str) {
28
- let hex = '';
29
- for (let i = 0; i < str.length; i++) {
30
- hex += str.charCodeAt(i).toString(16).padStart(2, '0');
31
- }
32
- return BigInt('0x' + hex);
33
- }
34
-
35
- function sha256(ascii) {
36
- function rightRotate(value, amount) { return (value>>>amount) | (value<<(32 - amount)); }
37
- var mathPow = Math.pow; var maxWord = mathPow(2, 32);
38
- var lengthProperty = 'length'; var i, j;
39
- var result = ''; var words = []; var asciiBitLength = ascii[lengthProperty]*8;
40
- var hash = sha256.h = sha256.h || [];
41
- var k = sha256.k = sha256.k || [];
42
- var primeCounter = k[lengthProperty];
43
- var isComposite = {};
44
- for (var candidate = 2; primeCounter < 64; candidate++) {
45
- if (!isComposite[candidate]) {
46
- for (i = 0; i < 313; i += candidate) { isComposite[i] = candidate; }
47
- hash[primeCounter] = (mathPow(candidate, .5)*maxWord)|0;
48
- k[primeCounter++] = (mathPow(candidate, 1/3)*maxWord)|0;
49
- }
50
- }
51
- ascii += '\x80';
52
- while (ascii[lengthProperty]%64 - 56) ascii += '\x00';
53
- for (i = 0; i < ascii[lengthProperty]; i++) {
54
- j = ascii.charCodeAt(i);
55
- if (j>>8) return;
56
- words[i>>2] |= j << ((3 - i)%4)*8;
57
- }
58
- words[words[lengthProperty]] = ((asciiBitLength/maxWord)|0);
59
- words[words[lengthProperty]] = (asciiBitLength)
60
- for (j = 0; j < words[lengthProperty];) {
61
- var w = words.slice(j, j += 16);
62
- var oldHash = hash;
63
- hash = hash.slice(0, 8);
64
- for (i = 0; i < 64; i++) {
65
- var w15 = w[i - 15], w2 = w[i - 2];
66
- var a = hash[0], e = hash[4];
67
- var temp1 = hash[7] + (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) + ((e&hash[5])^((~e)&hash[6])) + k[i] + (w[i] = (i < 16) ? w[i] : (w[i - 16] + (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15>>>3)) + w[i - 7] + (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2>>>10)))|0);
68
- var temp2 = (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) + ((a&hash[1])^(a&hash[2])^(hash[1]&hash[2]));
69
- hash = [(temp1 + temp2)|0].concat(hash);
70
- hash[4] = (hash[4] + temp1)|0;
71
- }
72
- for (i = 0; i < 8; i++) { hash[i] = (hash[i] + oldHash[i])|0; }
73
- }
74
- for (i = 0; i < 8; i++) {
75
- for (j = 3; j + 1; j--) {
76
- var b = (hash[i]>>(j*8))&255;
77
- result += ((b < 16) ? 0 : '') + b.toString(16);
78
- }
79
- }
80
- return result;
81
- }
82
- // ── END LICENSE CRYPTO ──
83
-
84
- class LicenseManager {
85
- /**
86
- * Validates a license key universally across all environments.
87
- * @param {string} key - The license key.
88
- * @param {object} options - Options mapping to environment specifics.
89
- * @returns {object} { valid: boolean, tier: string|null, reason?: string, expires?: number }
90
- */
91
- static validate(key, options = {}) {
92
- if (!key) return { valid: false, tier: null, reason: "No key provided" };
93
- const rawKey = key.trim();
94
- const k = rawKey.toUpperCase();
95
- const parts = k.split('-');
96
-
97
- const now = options.mockTime !== undefined && options.mockTime !== null ? options.mockTime : Date.now();
98
- let lastSeen = 0;
99
-
100
- if (options.storage) {
101
- lastSeen = parseInt(options.storage.getItem('ps_last_seen_time') || '0', 10);
102
- if (options.mockTime === undefined || options.mockTime === null) {
103
- options.storage.setItem('ps_last_seen_time', now.toString());
104
- }
105
- }
106
-
107
- // Clock rollback guard
108
- if ((options.mockTime === undefined || options.mockTime === null) && now < lastSeen) {
109
- if (options.onAnomaly) options.onAnomaly();
110
- return { valid: false, tier: null, reason: "Clock rollback anomaly detected" };
111
- }
112
-
113
- const _atob = typeof atob !== 'undefined' ? atob : (str) => Buffer.from(str, 'base64').toString('binary');
114
-
115
- // 1. Process Pilot Keys (RSA-1024 Encrypted Timestamps)
116
- if (k.startsWith('PS-PILOT-')) {
117
- try {
118
- const payload = rawKey.substring(9);
119
- const binary = _atob(payload);
120
- const bytes = new Uint8Array(binary.length);
121
- for (let i = 0; i < binary.length; i++) {
122
- bytes[i] = binary.charCodeAt(i);
123
- }
124
- let hex = '';
125
- for (let i = 0; i < bytes.length; i++) {
126
- hex += bytes[i].toString(16).padStart(2, '0');
127
- }
128
- const S = BigInt('0x' + hex);
129
-
130
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
131
- const decryptedStr = bigIntToString(M);
132
-
133
- if (decryptedStr.startsWith('ZTDS-PILOT-')) {
134
- const expDate = parseInt(decryptedStr.substring(11), 10);
135
- if (!isNaN(expDate)) {
136
- if (now < expDate) return { valid: true, tier: 'TEAMS', expires: expDate };
137
-
138
- if (options.onExpired) options.onExpired('Pilot');
139
- return { valid: false, tier: null, reason: "Pilot expired" };
140
- }
141
- }
142
- } catch(e) {
143
- return { valid: false, tier: null, reason: "Pilot decryption failed" };
144
- }
145
- }
146
-
147
- // 1.5. Process RSA Signed Keys (PS-RSA-...)
148
- if (k.startsWith('PS-RSA-')) {
149
- try {
150
- const payload = rawKey.substring(7);
151
- const binary = _atob(payload);
152
- const bytes = new Uint8Array(binary.length);
153
- for (let i = 0; i < binary.length; i++) {
154
- bytes[i] = binary.charCodeAt(i);
155
- }
156
- let hex = '';
157
- for (let i = 0; i < bytes.length; i++) {
158
- hex += bytes[i].toString(16).padStart(2, '0');
159
- }
160
- const S = BigInt('0x' + hex);
161
-
162
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
163
- const decryptedStr = bigIntToString(M);
164
-
165
- if (decryptedStr.startsWith('ZTDS-LIC-')) {
166
- const pieces = decryptedStr.split('-');
167
- if (pieces.length >= 5) {
168
- const tier = pieces[2];
169
- const expires = parseInt(pieces[4], 10);
170
- if (!isNaN(expires)) {
171
- if (now < expires) return { valid: true, tier: tier, expires: expires };
172
-
173
- if (options.onExpired) options.onExpired('RSA');
174
- return { valid: false, tier: null, reason: "RSA key expired" };
175
- }
176
- }
177
- }
178
- } catch(e) {
179
- return { valid: false, tier: null, reason: "RSA decryption failed" };
180
- }
181
- }
182
-
183
- // 2. Process Modern Prefixed Keys (v1.4.2+ Salted Checksum)
184
- if (parts.length === 4 && parts[0] === 'PS' && ['PRO', 'TEAMS', 'SDK', 'OEM', 'ENTERPRISE'].includes(parts[1])) {
185
- const tier = parts[1];
186
- const core = parts[2];
187
- const checksum = parts[3];
188
- const salt = "ZTDS_SALT_2026_!@#";
189
- const input = core + salt + tier;
190
- let sum = 0;
191
- for (let i = 0; i < input.length; i++) {
192
- sum += input.charCodeAt(i) * (i + 1);
193
- }
194
- const expectedChecksum = (sum % 9999).toString().padStart(4, '0');
195
- if (checksum === expectedChecksum) {
196
- return { valid: true, tier: tier };
197
- }
198
- }
199
-
200
- // 3. Process Standard RS256 JWTs (eyJ...)
201
- if (rawKey.startsWith('eyJ') && rawKey.split('.').length === 3) {
202
- try {
203
- const [b64Header, b64Payload, b64Signature] = rawKey.split('.');
204
-
205
- let sigStr = b64Signature.replace(/-/g, '+').replace(/_/g, '/');
206
- while (sigStr.length % 4) sigStr += '=';
207
- const binarySig = _atob(sigStr);
208
- let hexSig = '';
209
- for (let i = 0; i < binarySig.length; i++) {
210
- hexSig += binarySig.charCodeAt(i).toString(16).padStart(2, '0');
211
- }
212
-
213
- const S = BigInt('0x' + hexSig);
214
- const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
215
-
216
- let mHex = M.toString(16);
217
- if (mHex.length % 2 !== 0) mHex = '0' + mHex;
218
-
219
- const expectedHash = sha256(b64Header + '.' + b64Payload);
220
-
221
- if (mHex.endsWith(expectedHash)) {
222
- const payloadJson = _atob(b64Payload.replace(/-/g, '+').replace(/_/g, '/'));
223
- const payload = JSON.parse(payloadJson);
224
-
225
- if (payload.exp && (now / 1000) < payload.exp) {
226
- return { valid: true, tier: payload.tier || 'PRO', expires: payload.exp * 1000 };
227
- } else {
228
- if (options.onExpired) options.onExpired('JWT');
229
- return { valid: false, tier: null, reason: "JWT expired" };
230
- }
231
- }
232
- } catch(e) {
233
- return { valid: false, tier: null, reason: "JWT validation failed" };
234
- }
235
- }
236
-
237
- return { valid: false, tier: null, reason: "Invalid format" };
238
- }
239
- }
240
-
241
- LicenseManager.PUBLIC_KEY_N = PUBLIC_KEY_N;
242
- LicenseManager.PUBLIC_KEY_E = PUBLIC_KEY_E;
243
- LicenseManager.OFFLINE_KEY_SALT = "ZTDS_SALT_2026_!@#";
244
-
245
- // Export module for ES modules, CommonJS, and Browser Global
246
- if (typeof globalThis !== 'undefined') {
247
- globalThis.LicenseManager = LicenseManager;
248
- }
249
- if (typeof global !== 'undefined') {
250
- global.LicenseManager = LicenseManager;
251
- }
252
- if (typeof window !== 'undefined') {
253
- window.LicenseManager = LicenseManager;
254
- }
255
- if (typeof exports !== 'undefined') {
256
- if (typeof module !== 'undefined' && module.exports) {
257
- module.exports = LicenseManager;
258
- }
259
- exports.LicenseManager = LicenseManager;
260
- }
261
- })(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this));
1
+ /**
2
+ * @license
3
+ * PrivacyScrubber Core Processing Engine (ZTDS)
4
+ * Copyright (c) 2026 PrivacyScrubber. All Rights Reserved.
5
+ *
6
+ * WARNING: This is proprietary, commercial software.
7
+ * Unauthorized copying, modification, distribution, or use of this source code,
8
+ * via any medium, is strictly prohibited. Protected by international copyright
9
+ * laws and treaties.
10
+ */
11
+ function _0x2b38(){const _0x51f127=['ntK2na','sNbArq','mZG4nG','tgLJzq','y2HHCG','u0fmva','mdy5na','mJmZna','mtqXmq','mZiYma','BhPtsW','nZm1oa','odq5nW','nZmXmG','mdu5mq','CNDHEq','txLjBW','sunFsW','BgvK','nZa4nW','nJy3mdG1Eu9PA3nv','mZq5na','uKPuvG','ody1mG','uLbssq','ode0mG','nJqYma','BgXIyq','zxLk','t2TmCq','mdG1nW','ufmTuG','rvLFtG','nJG5oq','z2v0sq','ndi1mW','yw5HzW','odiXmG','mJqYoa','C2XPyW','mJe4oa','v2L0Aa','nZmWoa','DgvK','nta1oa','nJG4na','vLLzuq','ndG4mG','nte1oa','mtqYmq','nZyXna','ntu0nW','vgLTzq','mJm4oq','mZGXmW','t0zgta','D2fkzq','B21HBa','t0vn','nJm0nW','sLDuia','zgvJCG','B2LnsG','otKWma','wMTAEG','C2vLBG','Cg93','ody2mG','CMvWBa','nta4nG','nZa2mq','mZiXoq','ndyWoa','oda1nW','ndy4ma','mZq4nG','ndyZnW','suXpva','zMLUzq','ote2oq','zM9YBq','mte0oq','mtiWmq','igzHAq','C3bSAq','su5fxW','Bw9JAW','yM9kBq','yKPYyG','mJC5vKvHzvj6','mJm4nZKWmfjTBxzjDG','zw5KCW','mdmXmq','wvP0zW','DNPzyW','BgvUzW','Exb0Aq','tM8GAW','otaZnW','AMTxAG','Aw5JBa','sgvTEG','mZC2ma','mJCZna','otm5nq','nZK3oq','BNnLtq','ChnFBa','mZu0ma','C3vICW','zgf0Aq','A2nPCq','C2v0sq','BeLMva','ndeYoq','BvLura','nZG2oq','mty0oa','lvbjta','mta0ma','nZCXnW','u01YDa','mdmYma','luXjqW','DhjPBq','nxDVs3fYDG','oteYnq','nZq3ma','A2v5ia','zw9IAG','mZGWmW','nZCWnG','nta0na','ovv5y2z1yW','ntaZna','u0rl','mZy5ma','mtK3na','yxnL','t1qT','ndaWnW','zgvK','DgLVBG','nZu5nq','nteXoq','mdC1na','mJuYnW','B25fEa','zNjVBq','ntG4na','mJeYnW','ru5urq','BM9Tyq','mdq4nq','odiZnW','s0vzxW','ntaXoq','odyXmG','nZC1ndbczNfYswm','ndC5nG','nty5mG','nti0mG','mdG2nq','DfjkrW','rhjUva','x3rPBq','mJK2ma','nZi2nZDID3Lmv20','yuv6AG','DcbLEa','zxHWAq','CMLUzW','nJi2ma','DcbKzq','yxn0xW','C3rVCG','mdGYoq','mJu4mq','ufvcta','mte3mq','mJa2nq','nZyWnq','nJmWmW','mtmZnG','nJu1na','DhnxAq','r0nhBq','y2SGyq','nZeZmZeWrNHUt2To','q29Kzq','odCYoq','nde0oq','nJq5oq','odu1oq','nJa1nG','BgLKia','AYbYBW','B25bBG','nZaYmG','nxWX','Dw5Kzq','mJa2nG','mJC2nW','BhKGza','nJa4mW','otG2oa','m3WYFa','ufmTua','ntC0nG','otm3oq','tLz4sW','ndC3mG','odyYoa','CM92Aq','ndKXnq','odG1nW','zxrLyW','zxKGCa','y3j5Ca','ntGXoa','mtyWmG','x1nbta','zxHWBW','ote4mG','mdy0nW','wLreuW','nZqYna','mJy4ma','mJC2oq','uLnbia','CNrZ','nJKXmG','mJyZnq','DMfSAq','mJeZmq','DgfYDa','ntmXoq','qu9brG','vevbtq','EMPKtq','sw52yq','mtCYoq','ywnL','yMfZzq','odK3oq','mJq3mLfLseH2Aq','nda4ndzXtKn2Exq','nZyWmW','CLPKvq','mtyYnG','odKYnq','ntC0oq','DgLLCG','ufjp','ugXvtG','ntaZnG','mta5nW','Dg9vCa','q2HHCG','ntu4nW','mJCXmq','CgfYCW','BM93','ndq3nW','nJi0mG','mJG1mG','otyWoq','ntaXnW','mtu0oq','nJy4mq','DhjPBG','zLf3uW','CgvYqW','nde1mW','CKXsyq','DgvT','y29UyW','CMvK','CgLYzq','C3rHCG','B24GzG','DwrLCW','mtKWnq','uvP0vW','rvLFrq','q2vzDG','oti5na','odqYoq','vf8Yma','nty3ma','nZq2mq','mZa5nG','mZuYmq','otaYmG','ota4ma','nJC4mq','CgfKuW','odmXnW','nJKZmG','mZm3odK2ofzkAuDgva','ndu2mG','mZyWoa','mJzFiq','yMLTwa','sLDu','ywDL','n216BNf5Cq','yMLUyq','zxHW','ywLSzq','ndy3oa','u0eT','odeWnq','uLnb','q2XVyW','nJiXmq','Dg9tDa','ugLSBW','mhW0Fa'];_0x2b38=function(){return _0x51f127;};return _0x2b38();}const _0x3720e9=_0x2ce7,_0x20c487=_0x2ce7;function _0x2ce7(_0x288aae,_0x19b6a1){_0x288aae=_0x288aae-0x1df;const _0x2b3804=_0x2b38();let _0x2ce70a=_0x2b3804[_0x288aae];if(_0x2ce7['FKzdha']===undefined){var _0x1f1a47=function(_0x2ac510){const _0x34e48e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26d66b='',_0x445896='';for(let _0x33b4eb=0x0,_0x2fb114,_0x4dd377,_0x5f56bd=0x0;_0x4dd377=_0x2ac510['charAt'](_0x5f56bd++);~_0x4dd377&&(_0x2fb114=_0x33b4eb%0x4?_0x2fb114*0x40+_0x4dd377:_0x4dd377,_0x33b4eb++%0x4)?_0x26d66b+=String['fromCharCode'](0xff&_0x2fb114>>(-0x2*_0x33b4eb&0x6)):0x0){_0x4dd377=_0x34e48e['indexOf'](_0x4dd377);}for(let _0x2a0051=0x0,_0x44f53a=_0x26d66b['length'];_0x2a0051<_0x44f53a;_0x2a0051++){_0x445896+='%'+('00'+_0x26d66b['charCodeAt'](_0x2a0051)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445896);};_0x2ce7['TNekzS']=_0x1f1a47,_0x2ce7['VZXtDW']={},_0x2ce7['FKzdha']=!![];}const _0x3f9ecb=_0x2b3804[0x0],_0x155293=_0x288aae+_0x3f9ecb,_0x176262=_0x2ce7['VZXtDW'][_0x155293];return!_0x176262?(_0x2ce70a=_0x2ce7['TNekzS'](_0x2ce70a),_0x2ce7['VZXtDW'][_0x155293]=_0x2ce70a):_0x2ce70a=_0x176262,_0x2ce70a;}(function(_0x22556e,_0x14b27){const _0x5e2a88={_0x384352:0x2da,_0x3dc710:0x2af,_0x462d0c:0x2d2,_0x585cb9:0x241,_0x99e4ce:0x2ae,_0x529940:0x2f3,_0x301dec:0x20b},_0x2c9375=_0x2ce7,_0x4c357c=_0x2ce7,_0x3306ef=_0x22556e();while(!![]){try{const _0x48f264=parseInt(_0x2c9375(0x269))/0x1+-parseInt(_0x4c357c(0x20c))/0x2*(parseInt(_0x4c357c(_0x5e2a88._0x384352))/0x3)+-parseInt(_0x4c357c(_0x5e2a88._0x3dc710))/0x4*(-parseInt(_0x4c357c(_0x5e2a88._0x462d0c))/0x5)+-parseInt(_0x4c357c(0x311))/0x6+-parseInt(_0x4c357c(0x248))/0x7*(-parseInt(_0x4c357c(_0x5e2a88._0x585cb9))/0x8)+parseInt(_0x4c357c(_0x5e2a88._0x99e4ce))/0x9*(parseInt(_0x2c9375(_0x5e2a88._0x529940))/0xa)+-parseInt(_0x4c357c(0x2fc))/0xb*(parseInt(_0x4c357c(_0x5e2a88._0x301dec))/0xc);if(_0x48f264===_0x14b27)break;else _0x3306ef['push'](_0x3306ef['shift']());}catch(_0x51063f){_0x3306ef['push'](_0x3306ef['shift']());}}}(_0x2b38,0x5e249),function(_0x1d7912){const _0x23dd71={_0x5c81a5:0x2b6,_0x9e61dd:0x1eb,_0x222e0f:0x2e2,_0x32b2fc:0x250,_0x38512a:0x319,_0x171efb:0x270,_0x1df62b:0x310,_0x5f5a9e:0x2ed,_0x145efa:0x1e1,_0x1a9a02:0x1ee,_0x8a7e8c:0x280,_0x17750b:0x253,_0x1294cc:0x302,_0x1fa2e1:0x1f0,_0x14511e:0x2e3,_0x4f2b5f:0x2a8,_0x511ce9:0x292,_0x1d3438:0x2be,_0x542234:0x2cc,_0x4712f1:0x2db,_0x56002e:0x2d7,_0x7177:0x1e3,_0x4f1c94:0x282,_0x5da86b:0x227,_0x3aef0c:0x29e,_0x235d40:0x2e4,_0x57533d:0x220,_0x288090:0x23c,_0x261df3:0x27b,_0x291ecf:0x207,_0x1cdcf6:0x2f5,_0x2f2654:0x27d,_0x5b62de:0x24e,_0x128a69:0x30d,_0x316d5c:0x29c,_0xd05855:0x2b7,_0x43bca9:0x2a1,_0xcfc96c:0x2eb,_0x10d1fe:0x1ed,_0x487c70:0x230,_0x1472b5:0x28a,_0x22d591:0x1e2,_0x55f687:0x315,_0x4cfa19:0x2e6,_0x5b94be:0x1e7,_0x43cf2f:0x2d3,_0x1b3986:0x29d,_0x4171fa:0x216,_0x2d5534:0x21a,_0x5cd8c1:0x2bc,_0x515bb8:0x2ee,_0x1136e1:0x284,_0x2358be:0x2c9,_0x500aa3:0x29f,_0x5995d3:0x288,_0xcd252b:0x2b1,_0x285c77:0x2f7,_0x1ca602:0x239,_0x387929:0x2a6,_0x57225a:0x222,_0x1c6ec3:0x20f,_0x17685a:0x2f2,_0x3845ea:0x306,_0x55f19e:0x305,_0x4559b2:0x23d,_0x20e9c4:0x286,_0x199ed3:0x317,_0x5da0db:0x276,_0x2a77fc:0x20a,_0x20ac98:0x1f6,_0x4a0443:0x2ef,_0x1e0059:0x313,_0x399282:0x2cd,_0x4307ab:0x23b,_0x4b3e49:0x1f1,_0x3cde3e:0x261,_0x501e23:0x29b,_0x72546f:0x240,_0x5c9241:0x2c1,_0x228cc5:0x26f,_0x49b49f:0x1f8,_0x3f46ab:0x2a0,_0x26c972:0x316,_0x1e2591:0x298,_0x1d7a9a:0x290,_0x2f5adf:0x30c,_0x13c79e:0x237,_0x59760c:0x1e6,_0x388ae8:0x1fa,_0x29c9e3:0x262,_0x4a0fa2:0x255,_0x22c1b5:0x309,_0x20c6cf:0x251,_0x4f5589:0x2fb,_0x57f20:0x223,_0x1cdfa7:0x281,_0x373599:0x27f,_0x230100:0x1ec,_0x249c56:0x23a,_0x4066d8:0x1f5,_0xe8a8eb:0x2f4,_0x5f16bf:0x257,_0x170b34:0x30b,_0x5b71aa:0x215,_0x584f36:0x2e5,_0x375502:0x1e0,_0x172e37:0x263,_0x11a258:0x21f,_0x2594d3:0x28b,_0xbf02c3:0x235,_0x57f295:0x273,_0xcc6436:0x313,_0x264c53:0x2ea,_0x141113:0x2dd,_0x383f7f:0x294,_0x3ed372:0x221,_0x336580:0x26a,_0x4ff2d8:0x25b,_0x563e70:0x2ca,_0x10f23e:0x1fe,_0x583127:0x25d,_0x106225:0x2d8,_0x14df6f:0x31d,_0x3b7931:0x2a3,_0x593613:0x2ac,_0x5c648e:0x307,_0x447207:0x275,_0x518bf9:0x307,_0x2a8c59:0x266,_0xccefa2:0x28c,_0x321a8e:0x2aa,_0x35244d:0x2f0,_0x32e2ad:0x236,_0x136ce2:0x31d,_0x3e2060:0x2a3,_0x4badf7:0x258,_0x4e5d1a:0x2bf,_0x247b06:0x279,_0x411fb3:0x2a3,_0xf34395:0x233,_0x10a364:0x258,_0x1d2fc9:0x31d,_0x1d7fa9:0x1f4,_0x46b283:0x1fc,_0x2af337:0x1f4,_0x1444e7:0x258},_0xe3ba88={_0x2dd238:0x2d1,_0x3a135a:0x217,_0x735821:0x2a9,_0x276235:0x214,_0x78ebcb:0x2ab,_0x489a42:0x2ab,_0x314d4b:0x289,_0x5a5094:0x21c,_0x1f306c:0x304,_0x3a9826:0x247,_0x2cd7b9:0x277,_0x19814d:0x229,_0x16f843:0x2c0,_0x3fae7f:0x303,_0x2ee65f:0x2fa,_0x4eb5bf:0x289,_0x1df268:0x2ab,_0x43466d:0x304,_0x4180ce:0x229,_0xe7334c:0x296,_0x53325e:0x300,_0x518cee:0x2ab,_0x380f06:0x31a,_0xa68c53:0x31a,_0x506405:0x22d,_0x1ff452:0x30e,_0x2ad9e5:0x1e5,_0x20a776:0x2a2,_0x225236:0x2c2,_0x5f1136:0x272,_0x481771:0x2b4,_0x1e607a:0x259,_0x508ffd:0x252,_0x548bb6:0x23e,_0x5a3e4c:0x201,_0x5f5974:0x2c4,_0xf7ef61:0x2e0,_0x9c4e3c:0x2c2,_0x10852f:0x224,_0x380ded:0x2e8,_0xfa09e7:0x22c,_0x37d426:0x2e8,_0x35a1a6:0x22c,_0x77b3b7:0x253,_0x3633f9:0x2fe,_0x37e334:0x28d,_0x55d271:0x274,_0x5c3cce:0x224,_0x96ec83:0x259,_0xcd2c2a:0x312,_0x1d8bb8:0x23e,_0x45be2c:0x201,_0x44b89b:0x283,_0x3b3546:0x2c6,_0x3ba3f1:0x22d,_0x219f30:0x2d0,_0x2ba9cc:0x2e8,_0x2aaebb:0x22c,_0x4f8cf1:0x24f,_0x44b6c0:0x1fb,_0x313bd1:0x22b,_0x16a537:0x205,_0x516ec5:0x213,_0x2d57d5:0x204,_0x218593:0x2dc,_0x4d9ea0:0x2ce,_0x5c91ca:0x26d,_0x4e19d7:0x22f,_0x4157b6:0x1f7,_0x2baf95:0x236,_0x5f1140:0x244,_0x545b68:0x2b4,_0x123986:0x259,_0x3fdb00:0x312,_0x3925f3:0x26b,_0x215cfb:0x300,_0x1adc37:0x30e,_0x1264ef:0x271,_0xc630e0:0x2b4,_0x31c325:0x2a9,_0x252387:0x299,_0x1f7b8c:0x208,_0x27ab54:0x2b4,_0x3db871:0x2b2,_0x7f69e8:0x2b4,_0x36151f:0x201,_0x34b0d4:0x2b0,_0x572be9:0x27e,_0x20f5b3:0x1e8,_0x2343e4:0x299,_0x4cf789:0x21b,_0x1a3760:0x24a,_0x3c1cd3:0x24a,_0x49ee9d:0x212,_0x58501d:0x24a,_0xe3795c:0x22c,_0xe5cc77:0x246,_0x251ac8:0x291,_0x4dd75a:0x2ff,_0x10fc72:0x22b,_0x4838cb:0x291,_0x4d4a00:0x1ff,_0x371bdc:0x22e,_0x468b66:0x24b,_0x7aa5d5:0x318,_0x479291:0x2a5},_0x939e4d={_0x228ef2:0x231,_0x52d016:0x25f,_0x1deb59:0x20e,_0x3d341e:0x27c,_0x3fe4ab:0x27c,_0x345b96:0x272,_0x279181:0x254,_0x54d32b:0x265,_0x3fd22b:0x264,_0x3f4ca5:0x256,_0x148072:0x228,_0x16160a:0x225,_0x2f6db2:0x2ba,_0x38f342:0x256,_0x2cc9e4:0x2b8,_0x517791:0x203,_0x1bbea4:0x22a,_0x4664fb:0x2fd,_0x4c857c:0x2f9,_0xf4fe28:0x295,_0x22ef9a:0x252},_0x4fe9c7={_0x10bd04:0x2b4,_0x289ab5:0x312,_0xe061d6:0x252,_0x4643bc:0x300,_0x28da07:0x23e,_0x545dff:0x201},_0x46d869={_0x5c2c7e:0x214,_0xc4e659:0x2b4,_0x29de25:0x2e9,_0x47679f:0x312},_0x3d1cd2={_0x238231:0x293},_0x598b6f=_0x2ce7,_0x48e4b2=_0x2ce7,_0x168cf1={'bJrbY':function(_0x2e132e,_0x1abc32){return _0x2e132e>_0x1abc32;},'vzYcI':function(_0xa48795,_0x516f94){return _0xa48795%_0x516f94;},'oiMJj':function(_0x5f0e23,_0x4a694d){return _0x5f0e23*_0x4a694d;},'PlUNG':function(_0x23b157,_0x1e8111){return _0x23b157!==_0x1e8111;},'QZtWW':function(_0x45f7e2,_0x740ce5){return _0x45f7e2*_0x740ce5;},'lzSKA':function(_0x5ced64,_0x19ef63){return _0x5ced64>>_0x19ef63;},'rZdUp':function(_0x49dba2,_0xb652d3){return _0x49dba2<<_0xb652d3;},'OkLqu':function(_0x2bd4d1,_0xc8acd8){return _0x2bd4d1<_0xc8acd8;},'MyIoM':function(_0x13d659,_0x43e9ca){return _0x13d659-_0x43e9ca;},'JpZEL':function(_0x2970d2,_0x3f8865){return _0x2970d2+_0x3f8865;},'rwayt':function(_0x17db84,_0x621650){return _0x17db84^_0x621650;},'tRJGY':function(_0x347fb9,_0x5e3048){return _0x347fb9&_0x5e3048;},'bimXQ':function(_0x3f50b1,_0xac31af){return _0x3f50b1^_0xac31af;},'rLRau':function(_0x3db423,_0x5a63c2,_0x4dc23e){return _0x3db423(_0x5a63c2,_0x4dc23e);},'fQwSj':function(_0x2fe6c6,_0x2239c5){return _0x2fe6c6&_0x2239c5;},'HemzA':function(_0x20a3b3,_0x2199e1){return _0x20a3b3+_0x2199e1;},'jkWjP':function(_0x505ce4,_0x2fe5bb){return _0x505ce4^_0x2fe5bb;},'AOAFt':function(_0x1298ce,_0x57a579,_0x3c7d12){return _0x1298ce(_0x57a579,_0x3c7d12);},'aEzjW':function(_0x238b0a,_0x3620c8){return _0x238b0a|_0x3620c8;},'DrnTv':function(_0x364d0d,_0x40bbd8){return _0x364d0d*_0x40bbd8;},'ZkZzx':function(_0xc55d11,_0x17a8c2){return _0xc55d11+_0x17a8c2;},'GCGmV':_0x598b6f(_0x23dd71._0x5c81a5)+_0x598b6f(0x1ef)+_0x48e4b2(_0x23dd71._0x9e61dd)+_0x48e4b2(_0x23dd71._0x222e0f),'eobji':_0x598b6f(_0x23dd71._0x32b2fc)+_0x598b6f(_0x23dd71._0x38512a)+_0x48e4b2(_0x23dd71._0x171efb)+_0x48e4b2(_0x23dd71._0x1df62b)+_0x48e4b2(_0x23dd71._0x5f5a9e)+_0x48e4b2(_0x23dd71._0x145efa)+_0x48e4b2(_0x23dd71._0x1a9a02)+_0x48e4b2(_0x23dd71._0x8a7e8c),'kciqV':function(_0x1d325f,_0x53b1b4,_0x7021e,_0x4fc7a1){return _0x1d325f(_0x53b1b4,_0x7021e,_0x4fc7a1);},'waJeP':_0x598b6f(_0x23dd71._0x17750b)+_0x48e4b2(_0x23dd71._0x1294cc)+_0x48e4b2(_0x23dd71._0x1fa2e1)+_0x48e4b2(_0x23dd71._0x14511e)+_0x48e4b2(_0x23dd71._0x4f2b5f)+_0x598b6f(0x267),'VYYQY':function(_0x42f385,_0x59e3ad){return _0x42f385+_0x59e3ad;},'lIfTV':function(_0x5b2af4,_0x2f3e45,_0x4ec12b,_0x4b6b08){return _0x5b2af4(_0x2f3e45,_0x4ec12b,_0x4b6b08);},'zjdMY':_0x48e4b2(0x1fb)+_0x48e4b2(_0x23dd71._0x511ce9)+_0x598b6f(0x2b5)+_0x598b6f(0x22e)+_0x598b6f(0x24b)+'d','SMrts':_0x48e4b2(0x28f),'RJTVM':function(_0x15ce6e,_0x3f9d05){return _0x15ce6e%_0x3f9d05;},'YZtgD':function(_0x4c6379,_0x5d517e){return _0x4c6379(_0x5d517e);},'mYTDU':function(_0x1b918f,_0x3ebd5b){return _0x1b918f!==_0x3ebd5b;},'NVxKU':function(_0x51aa83,_0x3a3066){return _0x51aa83(_0x3a3066);},'boJmG':_0x48e4b2(0x200)+_0x48e4b2(_0x23dd71._0x1d3438)+_0x598b6f(_0x23dd71._0x542234)+_0x598b6f(_0x23dd71._0x4712f1)+_0x598b6f(0x24c)+_0x48e4b2(0x25c)+_0x598b6f(0x2f6)+_0x598b6f(_0x23dd71._0x56002e)+_0x48e4b2(_0x23dd71._0x7177)+_0x48e4b2(_0x23dd71._0x4f1c94)+_0x598b6f(0x1f9)+_0x48e4b2(0x2f1)+_0x598b6f(_0x23dd71._0x5da86b)+_0x598b6f(_0x23dd71._0x3aef0c)+_0x598b6f(_0x23dd71._0x235d40)+_0x598b6f(0x243)+_0x48e4b2(_0x23dd71._0x57533d)+_0x48e4b2(_0x23dd71._0x288090)+_0x598b6f(_0x23dd71._0x261df3)+_0x598b6f(_0x23dd71._0x291ecf)+_0x598b6f(0x30a)+_0x598b6f(_0x23dd71._0x1cdcf6)+_0x598b6f(_0x23dd71._0x2f2654)+_0x48e4b2(_0x23dd71._0x5b62de)+_0x48e4b2(_0x23dd71._0x128a69)+_0x48e4b2(0x2a7)+_0x48e4b2(_0x23dd71._0x316d5c)+_0x598b6f(_0x23dd71._0xd05855)+_0x598b6f(_0x23dd71._0x43bca9)+_0x48e4b2(_0x23dd71._0xcfc96c)+_0x48e4b2(0x287)+_0x598b6f(_0x23dd71._0x10d1fe)+_0x48e4b2(_0x23dd71._0x487c70)+_0x598b6f(0x202)+_0x598b6f(_0x23dd71._0x1472b5)+_0x48e4b2(_0x23dd71._0x22d591)+_0x598b6f(_0x23dd71._0x55f687)+_0x48e4b2(_0x23dd71._0x4cfa19)+_0x598b6f(_0x23dd71._0x5b94be)+_0x48e4b2(_0x23dd71._0x43cf2f)+_0x48e4b2(_0x23dd71._0x1b3986)+_0x598b6f(_0x23dd71._0x4171fa)+_0x598b6f(_0x23dd71._0x2d5534)+_0x48e4b2(_0x23dd71._0x5cd8c1)+_0x598b6f(0x21d)+_0x598b6f(_0x23dd71._0x515bb8)+_0x598b6f(_0x23dd71._0x1136e1)+_0x48e4b2(_0x23dd71._0x2358be)+_0x48e4b2(_0x23dd71._0x500aa3)+_0x48e4b2(_0x23dd71._0x5995d3)+_0x598b6f(_0x23dd71._0xcd252b)+_0x598b6f(0x278)+_0x48e4b2(_0x23dd71._0x285c77)+_0x48e4b2(0x2d9)+_0x598b6f(_0x23dd71._0x1ca602)+_0x48e4b2(0x1ea)+_0x48e4b2(0x20d)+_0x598b6f(_0x23dd71._0x387929)+_0x48e4b2(0x2c7)+_0x48e4b2(_0x23dd71._0x57225a)+_0x48e4b2(0x29a)+_0x48e4b2(0x285)+_0x598b6f(0x260)+_0x48e4b2(_0x23dd71._0x1c6ec3)+_0x48e4b2(_0x23dd71._0x17685a)+_0x598b6f(_0x23dd71._0x3845ea)+_0x48e4b2(_0x23dd71._0x55f19e)+_0x598b6f(_0x23dd71._0x4559b2)+_0x48e4b2(0x210)+_0x598b6f(0x23f)+_0x48e4b2(_0x23dd71._0x20e9c4)+_0x48e4b2(_0x23dd71._0x199ed3)+_0x598b6f(_0x23dd71._0x5da0db)+_0x48e4b2(_0x23dd71._0x2a77fc)+_0x48e4b2(_0x23dd71._0x20ac98)+_0x598b6f(_0x23dd71._0x4a0443)+_0x48e4b2(_0x23dd71._0x1e0059)+_0x598b6f(0x25e)+_0x598b6f(_0x23dd71._0x399282)+_0x598b6f(_0x23dd71._0x4307ab)+_0x598b6f(_0x23dd71._0x4b3e49)+_0x48e4b2(_0x23dd71._0x3cde3e)+_0x48e4b2(0x21e)+_0x598b6f(_0x23dd71._0x501e23)+_0x598b6f(_0x23dd71._0x72546f)+_0x598b6f(_0x23dd71._0x5c9241)+_0x598b6f(0x242)+_0x48e4b2(0x26c)+_0x48e4b2(_0x23dd71._0x228cc5)+_0x48e4b2(_0x23dd71._0x49b49f)+_0x48e4b2(_0x23dd71._0x3f46ab)+_0x598b6f(_0x23dd71._0x26c972)+_0x598b6f(_0x23dd71._0x1e2591)+_0x598b6f(0x308)+_0x598b6f(_0x23dd71._0x1d7a9a)+_0x598b6f(_0x23dd71._0x2f5adf)+_0x48e4b2(0x26e)+_0x598b6f(0x2bd)+_0x48e4b2(0x1e9)+_0x48e4b2(_0x23dd71._0x13c79e)+_0x598b6f(_0x23dd71._0x59760c)+_0x48e4b2(_0x23dd71._0x388ae8)+_0x598b6f(0x301)+_0x598b6f(_0x23dd71._0x29c9e3)+_0x598b6f(0x211)+_0x48e4b2(_0x23dd71._0x4a0fa2)+_0x48e4b2(_0x23dd71._0x22c1b5)+_0x48e4b2(0x234)+_0x598b6f(_0x23dd71._0x20c6cf)+_0x48e4b2(0x314)+_0x48e4b2(_0x23dd71._0x4f5589)+_0x48e4b2(_0x23dd71._0x57f20)+_0x598b6f(0x2e7)+_0x48e4b2(_0x23dd71._0x1cdfa7)+_0x48e4b2(0x2bb)+_0x598b6f(0x27a)+_0x48e4b2(_0x23dd71._0x373599)+_0x598b6f(0x2d4)+_0x48e4b2(_0x23dd71._0x230100)+_0x48e4b2(_0x23dd71._0x249c56)+_0x598b6f(0x2de)+_0x48e4b2(0x31b)+_0x598b6f(_0x23dd71._0x4066d8)+_0x48e4b2(_0x23dd71._0xe8a8eb)+_0x48e4b2(_0x23dd71._0x5f16bf)+_0x598b6f(_0x23dd71._0x170b34)+_0x48e4b2(_0x23dd71._0x5b71aa)+_0x48e4b2(_0x23dd71._0x584f36)+_0x48e4b2(0x1df)+_0x598b6f(_0x23dd71._0x375502)+_0x48e4b2(_0x23dd71._0x172e37)+_0x48e4b2(0x2e1)+_0x48e4b2(_0x23dd71._0x11a258)+_0x48e4b2(_0x23dd71._0x2594d3)+_0x48e4b2(0x238)+_0x598b6f(_0x23dd71._0xbf02c3)+_0x48e4b2(_0x23dd71._0x57f295)+_0x598b6f(_0x23dd71._0xcc6436)+_0x48e4b2(_0x23dd71._0x264c53)+_0x48e4b2(0x268)+_0x48e4b2(0x1fd)+_0x598b6f(_0x23dd71._0x141113)+_0x598b6f(_0x23dd71._0x383f7f)+_0x598b6f(_0x23dd71._0x3ed372)+_0x598b6f(0x2cf)+_0x48e4b2(_0x23dd71._0x336580)+_0x48e4b2(0x1f2)+_0x48e4b2(_0x23dd71._0x4ff2d8)+_0x598b6f(_0x23dd71._0x563e70)+_0x48e4b2(_0x23dd71._0x10f23e)+_0x598b6f(_0x23dd71._0x583127)+_0x598b6f(_0x23dd71._0x106225)+_0x598b6f(0x219)+_0x48e4b2(0x2a4)+'1','CeYvr':_0x598b6f(_0x23dd71._0x14df6f)+_0x598b6f(_0x23dd71._0x3b7931)+'d'},_0x294e64=BigInt(_0x168cf1[_0x598b6f(_0x23dd71._0x593613)+'G']),_0xdca0e6=0x10001n;function _0x34f1fc(_0x100044,_0x289d9e,_0x431f00){const _0x28576a=_0x48e4b2,_0x1d6bf7=_0x48e4b2;let _0x71b7ba=0x1n;_0x100044=_0x100044%_0x431f00;while(_0x168cf1[_0x28576a(0x2ad)+'Y'](_0x289d9e,0x0n)){if(_0x289d9e%0x2n===0x1n)_0x71b7ba=_0x168cf1[_0x1d6bf7(0x2b3)+'I'](_0x71b7ba*_0x100044,_0x431f00);_0x289d9e=_0x289d9e/0x2n,_0x100044=_0x168cf1[_0x28576a(_0x3d1cd2._0x238231)+'j'](_0x100044,_0x100044)%_0x431f00;}return _0x71b7ba;}function _0x4ed18b(_0x3edca8){const _0x3ad917=_0x48e4b2,_0x1434a7=_0x48e4b2;let _0x25c7bd=_0x3edca8[_0x3ad917(0x252)+_0x3ad917(0x300)](0x10);if(_0x168cf1[_0x1434a7(_0x46d869._0x5c2c7e)+'G'](_0x25c7bd[_0x1434a7(_0x46d869._0xc4e659)+'th']%0x2,0x0))_0x25c7bd='0'+_0x25c7bd;let _0x468f94='';for(let _0xf46265=0x0;_0xf46265<_0x25c7bd[_0x3ad917(_0x46d869._0xc4e659)+'th'];_0xf46265+=0x2){_0x468f94+=String[_0x3ad917(_0x46d869._0x29de25)+_0x1434a7(0x218)+_0x3ad917(_0x46d869._0x47679f)](parseInt(_0x25c7bd[_0x3ad917(0x2c2)+'tr'](_0xf46265,0x2),0x10));}return _0x468f94;}function _0x587941(_0x2b51aa){const _0x26fbb8=_0x598b6f,_0x6807c0=_0x598b6f;let _0x22115f='';for(let _0x4842ce=0x0;_0x4842ce<_0x2b51aa[_0x26fbb8(_0x4fe9c7._0x10bd04)+'th'];_0x4842ce++){_0x22115f+=_0x2b51aa[_0x26fbb8(0x259)+_0x26fbb8(_0x4fe9c7._0x289ab5)+'At'](_0x4842ce)[_0x6807c0(_0x4fe9c7._0xe061d6)+_0x26fbb8(_0x4fe9c7._0x4643bc)](0x10)[_0x26fbb8(_0x4fe9c7._0x28da07)+_0x6807c0(_0x4fe9c7._0x545dff)](0x2,'0');}return BigInt('0x'+_0x22115f);}function _0x25b4b3(_0x930dd8){const _0x2cf0d9=_0x48e4b2,_0x1e5912=_0x48e4b2;function _0x8ee2a2(_0x571fb1,_0x5f648e){return _0x571fb1>>>_0x5f648e|_0x571fb1<<0x20-_0x5f648e;}var _0x2e706f=Math[_0x2cf0d9(0x297)],_0x325dde=_0x2e706f(0x2,0x20),_0x5a33c1=_0x1e5912(0x2b4)+'th',_0x37fd12,_0x538ee3,_0x45687c='',_0x5e431b=[],_0x3108dd=_0x168cf1[_0x2cf0d9(_0x939e4d._0x228ef2)+'W'](_0x930dd8[_0x5a33c1],0x8),_0xf96b44=_0x25b4b3['h']=_0x25b4b3['h']||[],_0x1151f3=_0x25b4b3['k']=_0x25b4b3['k']||[],_0x362feb=_0x1151f3[_0x5a33c1],_0x4aa414={};for(var _0x844ce3=0x2;_0x362feb<0x40;_0x844ce3++){if(!_0x4aa414[_0x844ce3]){for(_0x37fd12=0x0;_0x37fd12<0x139;_0x37fd12+=_0x844ce3){_0x4aa414[_0x37fd12]=_0x844ce3;}_0xf96b44[_0x362feb]=_0x2e706f(_0x844ce3,0.5)*_0x325dde|0x0,_0x1151f3[_0x362feb++]=_0x2e706f(_0x844ce3,0x1/0x3)*_0x325dde|0x0;}}_0x930dd8+='\u0080';while(_0x930dd8[_0x5a33c1]%0x40-0x38)_0x930dd8+='\x00';for(_0x37fd12=0x0;_0x37fd12<_0x930dd8[_0x5a33c1];_0x37fd12++){_0x538ee3=_0x930dd8[_0x2cf0d9(0x259)+_0x2cf0d9(0x312)+'At'](_0x37fd12);if(_0x538ee3>>0x8)return;_0x5e431b[_0x168cf1[_0x1e5912(_0x939e4d._0x52d016)+'A'](_0x37fd12,0x2)]|=_0x168cf1[_0x2cf0d9(_0x939e4d._0x1deb59)+'p'](_0x538ee3,(0x3-_0x37fd12)%0x4*0x8);}_0x5e431b[_0x5e431b[_0x5a33c1]]=_0x3108dd/_0x325dde|0x0,_0x5e431b[_0x5e431b[_0x5a33c1]]=_0x3108dd;for(_0x538ee3=0x0;_0x538ee3<_0x5e431b[_0x5a33c1];){var _0x37710f=_0x5e431b[_0x1e5912(_0x939e4d._0x3d341e)+'e'](_0x538ee3,_0x538ee3+=0x10),_0x4fbf94=_0xf96b44;_0xf96b44=_0xf96b44[_0x1e5912(_0x939e4d._0x3fe4ab)+'e'](0x0,0x8);for(_0x37fd12=0x0;_0x168cf1[_0x1e5912(_0x939e4d._0x345b96)+'u'](_0x37fd12,0x40);_0x37fd12++){const _0x55ea97=(_0x1e5912(_0x939e4d._0x279181)+_0x2cf0d9(0x1e4)+_0x2cf0d9(0x31c))[_0x1e5912(0x2a9)+'t']('|');let _0x15e851=0x0;while(!![]){switch(_0x55ea97[_0x15e851++]){case'0':var _0x59208a=_0x37710f[_0x37fd12-0xf],_0x8297dc=_0x37710f[_0x168cf1[_0x2cf0d9(_0x939e4d._0x54d32b)+'M'](_0x37fd12,0x2)];continue;case'1':_0xf96b44[0x4]=_0x168cf1[_0x2cf0d9(0x256)+'L'](_0xf96b44[0x4],_0x2b1cf8)|0x0;continue;case'2':var _0x238c36=_0x168cf1[_0x1e5912(_0x939e4d._0x3fd22b)+'t'](_0x168cf1[_0x1e5912(_0x939e4d._0x3fd22b)+'t'](_0x8ee2a2(_0x4f2d2a,0x2),_0x8ee2a2(_0x4f2d2a,0xd)),_0x8ee2a2(_0x4f2d2a,0x16))+(_0x168cf1[_0x1e5912(_0x939e4d._0x3fd22b)+'t'](_0x168cf1[_0x2cf0d9(0x2f8)+'Y'](_0x4f2d2a,_0xf96b44[0x1]),_0x4f2d2a&_0xf96b44[0x2])^_0xf96b44[0x1]&_0xf96b44[0x2]);continue;case'3':var _0x2b1cf8=_0x168cf1[_0x2cf0d9(_0x939e4d._0x3f4ca5)+'L'](_0xf96b44[0x7],_0x168cf1[_0x2cf0d9(0x245)+'Q'](_0x168cf1[_0x1e5912(_0x939e4d._0x148072)+'u'](_0x8ee2a2,_0x902c0e,0x6)^_0x8ee2a2(_0x902c0e,0xb),_0x8ee2a2(_0x902c0e,0x19)))+(_0x168cf1[_0x1e5912(_0x939e4d._0x16160a)+'j'](_0x902c0e,_0xf96b44[0x5])^~_0x902c0e&_0xf96b44[0x6])+_0x1151f3[_0x37fd12]+(_0x37710f[_0x37fd12]=_0x37fd12<0x10?_0x37710f[_0x37fd12]:_0x168cf1[_0x2cf0d9(_0x939e4d._0x2f6db2)+'A'](_0x168cf1[_0x1e5912(_0x939e4d._0x38f342)+'L'](_0x37710f[_0x168cf1[_0x2cf0d9(_0x939e4d._0x54d32b)+'M'](_0x37fd12,0x10)]+(_0x168cf1[_0x2cf0d9(_0x939e4d._0x2cc9e4)+'P'](_0x8ee2a2(_0x59208a,0x7),_0x8ee2a2(_0x59208a,0x12))^_0x59208a>>>0x3),_0x37710f[_0x37fd12-0x7]),_0x168cf1[_0x2cf0d9(_0x939e4d._0x517791)+'t'](_0x8ee2a2,_0x8297dc,0x11)^_0x8ee2a2(_0x8297dc,0x13)^_0x8297dc>>>0xa)|0x0);continue;case'4':var _0x4f2d2a=_0xf96b44[0x0],_0x902c0e=_0xf96b44[0x4];continue;case'5':_0xf96b44=[_0x2b1cf8+_0x238c36|0x0][_0x1e5912(_0x939e4d._0x1bbea4)+'at'](_0xf96b44);continue;}break;}}for(_0x37fd12=0x0;_0x37fd12<0x8;_0x37fd12++){_0xf96b44[_0x37fd12]=_0x168cf1[_0x2cf0d9(_0x939e4d._0x4664fb)+'W'](_0xf96b44[_0x37fd12]+_0x4fbf94[_0x37fd12],0x0);}}for(_0x37fd12=0x0;_0x37fd12<0x8;_0x37fd12++){for(_0x538ee3=0x3;_0x538ee3+0x1;_0x538ee3--){var _0x4702df=_0xf96b44[_0x37fd12]>>_0x168cf1[_0x2cf0d9(_0x939e4d._0x4c857c)+'v'](_0x538ee3,0x8)&0xff;_0x45687c+=_0x168cf1[_0x1e5912(_0x939e4d._0xf4fe28)+'x'](_0x4702df<0x10?0x0:'',_0x4702df[_0x1e5912(_0x939e4d._0x22ef9a)+_0x2cf0d9(0x300)](0x10));}}return _0x45687c;}class LicenseManager{static validate(_0x39dd80,_0x5a1444={}){const _0x51bc82=_0x48e4b2,_0xef3644=_0x48e4b2;if(!_0x39dd80)return{'valid':![],'tier':null,'reason':_0x168cf1[_0x51bc82(0x30f)+'V']};const _0x2878db=_0x39dd80[_0x51bc82(_0xe3ba88._0x2dd238)](),_0x2ee216=_0x2878db[_0xef3644(_0xe3ba88._0x3a135a)+_0xef3644(0x226)+_0xef3644(0x2df)](),_0x3ddb44=_0x2ee216[_0xef3644(_0xe3ba88._0x735821)+'t']('-'),_0x353484=_0x5a1444[_0xef3644(0x2ab)+_0x51bc82(0x289)]!==undefined&&_0x168cf1[_0xef3644(_0xe3ba88._0x276235)+'G'](_0x5a1444[_0x51bc82(_0xe3ba88._0x78ebcb)+_0x51bc82(0x289)],null)?_0x5a1444[_0x51bc82(_0xe3ba88._0x489a42)+_0xef3644(_0xe3ba88._0x314d4b)]:Date[_0x51bc82(_0xe3ba88._0x5a5094)]();let _0xfeead9=0x0;_0x5a1444[_0x51bc82(0x304)+_0xef3644(0x247)]&&(_0xfeead9=parseInt(_0x5a1444[_0x51bc82(_0xe3ba88._0x1f306c)+_0xef3644(_0xe3ba88._0x3a9826)][_0xef3644(_0xe3ba88._0x2cd7b9)+_0xef3644(_0xe3ba88._0x19814d)](_0x51bc82(_0xe3ba88._0x16f843)+_0x51bc82(_0xe3ba88._0x3fae7f)+_0xef3644(0x296)+_0xef3644(_0xe3ba88._0x2ee65f)+'e')||'0',0xa),(_0x5a1444[_0x51bc82(_0xe3ba88._0x78ebcb)+_0x51bc82(_0xe3ba88._0x4eb5bf)]===undefined||_0x5a1444[_0xef3644(_0xe3ba88._0x1df268)+_0x51bc82(_0xe3ba88._0x314d4b)]===null)&&_0x5a1444[_0xef3644(_0xe3ba88._0x43466d)+_0x51bc82(0x247)][_0xef3644(0x2c5)+_0xef3644(_0xe3ba88._0x4180ce)](_0xef3644(_0xe3ba88._0x16f843)+_0x51bc82(_0xe3ba88._0x3fae7f)+_0x51bc82(_0xe3ba88._0xe7334c)+_0x51bc82(0x2fa)+'e',_0x353484[_0xef3644(0x252)+_0xef3644(_0xe3ba88._0x53325e)]()));if((_0x5a1444[_0xef3644(_0xe3ba88._0x518cee)+_0x51bc82(_0xe3ba88._0x314d4b)]===undefined||_0x5a1444[_0xef3644(_0xe3ba88._0x489a42)+_0x51bc82(_0xe3ba88._0x314d4b)]===null)&&_0x353484<_0xfeead9){if(_0x5a1444[_0xef3644(_0xe3ba88._0x380f06)+_0x51bc82(0x28e)+'y'])_0x5a1444[_0xef3644(_0xe3ba88._0xa68c53)+_0xef3644(0x28e)+'y']();return{'valid':![],'tier':null,'reason':_0x168cf1[_0x51bc82(0x2d6)+'i']};}const _0x508a7a=typeof atob!==_0xef3644(0x31d)+_0xef3644(0x2a3)+'d'?atob:_0x262efb=>Buffer[_0xef3644(0x2e9)](_0x262efb,_0xef3644(0x209)+'64')[_0xef3644(0x252)+_0x51bc82(0x300)](_0xef3644(0x249)+'ry');if(_0x2ee216[_0x51bc82(_0xe3ba88._0x506405)+_0xef3644(_0xe3ba88._0x1ff452)+'th'](_0xef3644(_0xe3ba88._0x2ad9e5)+_0x51bc82(_0xe3ba88._0x20a776)+'-'))try{const _0x581981=_0x2878db[_0x51bc82(_0xe3ba88._0x225236)+_0x51bc82(0x224)+'g'](0x9),_0x57728a=_0x508a7a(_0x581981),_0x309c92=new Uint8Array(_0x57728a[_0xef3644(0x2b4)+'th']);for(let _0x562f3e=0x0;_0x168cf1[_0x51bc82(_0xe3ba88._0x5f1136)+'u'](_0x562f3e,_0x57728a[_0xef3644(_0xe3ba88._0x481771)+'th']);_0x562f3e++){_0x309c92[_0x562f3e]=_0x57728a[_0xef3644(_0xe3ba88._0x1e607a)+_0xef3644(0x312)+'At'](_0x562f3e);}let _0x245615='';for(let _0x4869d8=0x0;_0x4869d8<_0x309c92[_0xef3644(0x2b4)+'th'];_0x4869d8++){_0x245615+=_0x309c92[_0x4869d8][_0xef3644(_0xe3ba88._0x508ffd)+_0xef3644(_0xe3ba88._0x53325e)](0x10)[_0x51bc82(_0xe3ba88._0x548bb6)+_0x51bc82(_0xe3ba88._0x5a3e4c)](0x2,'0');}const _0x33c6b5=BigInt('0x'+_0x245615),_0x2bc322=_0x168cf1[_0x51bc82(_0xe3ba88._0x5f5974)+'V'](_0x34f1fc,_0x33c6b5,_0xdca0e6,_0x294e64),_0x5552d0=_0x4ed18b(_0x2bc322);if(_0x5552d0[_0x51bc82(0x22d)+_0x51bc82(_0xe3ba88._0x1ff452)+'th'](_0x51bc82(0x1f7)+_0x51bc82(0x2cb)+_0xef3644(_0xe3ba88._0xf7ef61))){const _0x185fe6=parseInt(_0x5552d0[_0x51bc82(_0xe3ba88._0x9c4e3c)+_0x51bc82(_0xe3ba88._0x10852f)+'g'](0xb),0xa);if(!isNaN(_0x185fe6)){if(_0x353484<_0x185fe6)return{'valid':!![],'tier':_0xef3644(0x204)+'S','expires':_0x185fe6};if(_0x5a1444[_0xef3644(_0xe3ba88._0x380ded)+_0x51bc82(_0xe3ba88._0xfa09e7)+'d'])_0x5a1444[_0x51bc82(_0xe3ba88._0x37d426)+_0xef3644(_0xe3ba88._0x35a1a6)+'d'](_0x51bc82(_0xe3ba88._0x77b3b7)+'t');return{'valid':![],'tier':null,'reason':_0x51bc82(_0xe3ba88._0x77b3b7)+_0x51bc82(_0xe3ba88._0x3633f9)+_0x51bc82(_0xe3ba88._0xfa09e7)+'d'};}}}catch(_0x11a997){return{'valid':![],'tier':null,'reason':_0x168cf1[_0x51bc82(_0xe3ba88._0x37e334)+'P']};}if(_0x2ee216[_0xef3644(_0xe3ba88._0x506405)+_0x51bc82(_0xe3ba88._0x1ff452)+'th'](_0xef3644(_0xe3ba88._0x55d271)+_0x51bc82(0x24d)))try{const _0x30a8b3=_0x2878db[_0x51bc82(_0xe3ba88._0x225236)+_0xef3644(_0xe3ba88._0x5c3cce)+'g'](0x7),_0x280f3b=_0x508a7a(_0x30a8b3),_0xe60c10=new Uint8Array(_0x280f3b[_0xef3644(0x2b4)+'th']);for(let _0x9e73ab=0x0;_0x9e73ab<_0x280f3b[_0xef3644(0x2b4)+'th'];_0x9e73ab++){_0xe60c10[_0x9e73ab]=_0x280f3b[_0x51bc82(_0xe3ba88._0x96ec83)+_0xef3644(_0xe3ba88._0xcd2c2a)+'At'](_0x9e73ab);}let _0x2cf77b='';for(let _0x31cd46=0x0;_0x168cf1[_0xef3644(_0xe3ba88._0x5f1136)+'u'](_0x31cd46,_0xe60c10[_0xef3644(0x2b4)+'th']);_0x31cd46++){_0x2cf77b+=_0xe60c10[_0x31cd46][_0xef3644(0x252)+_0xef3644(0x300)](0x10)[_0xef3644(_0xe3ba88._0x1d8bb8)+_0x51bc82(_0xe3ba88._0x45be2c)](0x2,'0');}const _0x2ab749=BigInt(_0x168cf1[_0x51bc82(_0xe3ba88._0x44b89b)+'Y']('0x',_0x2cf77b)),_0x28d9cc=_0x168cf1[_0x51bc82(_0xe3ba88._0x3b3546)+'V'](_0x34f1fc,_0x2ab749,_0xdca0e6,_0x294e64),_0x52c937=_0x4ed18b(_0x28d9cc);if(_0x52c937[_0x51bc82(_0xe3ba88._0x3ba3f1)+_0xef3644(0x30e)+'th'](_0xef3644(0x1f7)+_0xef3644(_0xe3ba88._0x219f30)+'-')){const _0x1e0d7f=_0x52c937[_0xef3644(_0xe3ba88._0x735821)+'t']('-');if(_0x1e0d7f[_0x51bc82(_0xe3ba88._0x481771)+'th']>=0x5){const _0x239203=_0x1e0d7f[0x2],_0x536e48=parseInt(_0x1e0d7f[0x4],0xa);if(!isNaN(_0x536e48)){if(_0x353484<_0x536e48)return{'valid':!![],'tier':_0x239203,'expires':_0x536e48};if(_0x5a1444[_0x51bc82(_0xe3ba88._0x2ba9cc)+_0x51bc82(_0xe3ba88._0xfa09e7)+'d'])_0x5a1444[_0xef3644(0x2e8)+_0xef3644(_0xe3ba88._0x2aaebb)+'d'](_0xef3644(_0xe3ba88._0x4f8cf1));return{'valid':![],'tier':null,'reason':_0xef3644(_0xe3ba88._0x44b6c0)+_0xef3644(0x2d5)+_0x51bc82(0x2ff)+_0x51bc82(_0xe3ba88._0x313bd1)};}}}}catch(_0x9531de){return{'valid':![],'tier':null,'reason':_0x168cf1[_0x51bc82(_0xe3ba88._0x16a537)+'Y']};}if(_0x3ddb44[_0xef3644(_0xe3ba88._0x481771)+'th']===0x4&&_0x3ddb44[0x0]==='PS'&&[_0xef3644(_0xe3ba88._0x516ec5),_0x51bc82(_0xe3ba88._0x2d57d5)+'S',_0x51bc82(_0xe3ba88._0x218593),_0x168cf1[_0xef3644(_0xe3ba88._0x4d9ea0)+'s'],_0x51bc82(0x2ec)+_0x51bc82(_0xe3ba88._0x5c91ca)+'SE'][_0x51bc82(0x2b9)+_0xef3644(_0xe3ba88._0x4e19d7)](_0x3ddb44[0x1])){const _0x1b7102=_0x3ddb44[0x1],_0x53b269=_0x3ddb44[0x2],_0x489005=_0x3ddb44[0x3],_0x28e09c=_0x51bc82(_0xe3ba88._0x4157b6)+_0x51bc82(0x1f3)+_0x51bc82(_0xe3ba88._0x2baf95)+_0x51bc82(_0xe3ba88._0x5f1140)+'@#',_0x1c35f8=_0x53b269+_0x28e09c+_0x1b7102;let _0x123102=0x0;for(let _0x2a16df=0x0;_0x2a16df<_0x1c35f8[_0xef3644(_0xe3ba88._0x545b68)+'th'];_0x2a16df++){_0x123102+=_0x1c35f8[_0x51bc82(_0xe3ba88._0x123986)+_0xef3644(_0xe3ba88._0x3fdb00)+'At'](_0x2a16df)*(_0x2a16df+0x1);}const _0x177a6f=_0x168cf1[_0x51bc82(_0xe3ba88._0x3925f3)+'M'](_0x123102,0x270f)[_0xef3644(0x252)+_0xef3644(_0xe3ba88._0x215cfb)]()[_0xef3644(_0xe3ba88._0x548bb6)+_0x51bc82(_0xe3ba88._0x45be2c)](0x4,'0');if(_0x489005===_0x177a6f)return{'valid':!![],'tier':_0x1b7102};}if(_0x2878db[_0x51bc82(0x22d)+_0x51bc82(_0xe3ba88._0x1adc37)+'th'](_0x51bc82(_0xe3ba88._0x1264ef))&&_0x2878db[_0xef3644(_0xe3ba88._0x735821)+'t']('.')[_0xef3644(_0xe3ba88._0xc630e0)+'th']===0x3)try{const [_0x24f16e,_0xaa584d,_0x505907]=_0x2878db[_0x51bc82(_0xe3ba88._0x31c325)+'t']('.');let _0x234599=_0x505907[_0xef3644(_0xe3ba88._0x252387)+_0x51bc82(0x208)](/-/g,'+')[_0xef3644(_0xe3ba88._0x252387)+_0xef3644(_0xe3ba88._0x1f7b8c)](/_/g,'/');while(_0x234599[_0xef3644(_0xe3ba88._0x27ab54)+'th']%0x4)_0x234599+='=';const _0x265064=_0x168cf1[_0xef3644(_0xe3ba88._0x3db871)+'D'](_0x508a7a,_0x234599);let _0x34b105='';for(let _0x37026e=0x0;_0x37026e<_0x265064[_0x51bc82(_0xe3ba88._0x7f69e8)+'th'];_0x37026e++){_0x34b105+=_0x265064[_0x51bc82(_0xe3ba88._0x123986)+_0x51bc82(0x312)+'At'](_0x37026e)[_0x51bc82(0x252)+_0x51bc82(_0xe3ba88._0x215cfb)](0x10)[_0x51bc82(_0xe3ba88._0x1d8bb8)+_0xef3644(_0xe3ba88._0x36151f)](0x2,'0');}const _0x96c8d3=BigInt('0x'+_0x34b105),_0x2c7630=_0x34f1fc(_0x96c8d3,_0xdca0e6,_0x294e64);let _0xa712f4=_0x2c7630[_0x51bc82(_0xe3ba88._0x508ffd)+_0x51bc82(0x300)](0x10);if(_0x168cf1[_0x51bc82(0x2c8)+'U'](_0xa712f4[_0x51bc82(0x2b4)+'th']%0x2,0x0))_0xa712f4='0'+_0xa712f4;const _0x5c48f6=_0x25b4b3(_0x24f16e+'.'+_0xaa584d);if(_0xa712f4[_0xef3644(_0xe3ba88._0x34b0d4)+_0x51bc82(_0xe3ba88._0x572be9)](_0x5c48f6)){const _0x17ffc0=_0x168cf1[_0xef3644(_0xe3ba88._0x20f5b3)+'U'](_0x508a7a,_0xaa584d[_0x51bc82(_0xe3ba88._0x252387)+_0xef3644(_0xe3ba88._0x1f7b8c)](/-/g,'+')[_0x51bc82(_0xe3ba88._0x2343e4)+_0xef3644(0x208)](/_/g,'/')),_0x6bc725=JSON[_0xef3644(_0xe3ba88._0x4cf789)+'e'](_0x17ffc0);if(_0x6bc725[_0xef3644(_0xe3ba88._0x1a3760)]&&_0x353484/0x3e8<_0x6bc725[_0xef3644(_0xe3ba88._0x3c1cd3)])return{'valid':!![],'tier':_0x6bc725[_0xef3644(_0xe3ba88._0x49ee9d)]||_0xef3644(_0xe3ba88._0x516ec5),'expires':_0x6bc725[_0xef3644(_0xe3ba88._0x58501d)]*0x3e8};else{if(_0x5a1444[_0x51bc82(_0xe3ba88._0x37d426)+_0xef3644(_0xe3ba88._0xe3795c)+'d'])_0x5a1444[_0xef3644(0x2e8)+_0xef3644(_0xe3ba88._0xe3795c)+'d'](_0xef3644(_0xe3ba88._0xe5cc77));return{'valid':![],'tier':null,'reason':_0xef3644(_0xe3ba88._0x251ac8)+_0x51bc82(_0xe3ba88._0x4dd75a)+_0x51bc82(_0xe3ba88._0x10fc72)};}}}catch(_0x6032f6){return{'valid':![],'tier':null,'reason':_0xef3644(_0xe3ba88._0x4838cb)+_0x51bc82(_0xe3ba88._0x4d4a00)+_0xef3644(0x2c3)+_0x51bc82(_0xe3ba88._0x371bdc)+_0xef3644(_0xe3ba88._0x468b66)+'d'};}return{'valid':![],'tier':null,'reason':_0x51bc82(0x206)+_0x51bc82(_0xe3ba88._0x7aa5d5)+_0x51bc82(_0xe3ba88._0x479291)+'at'};}}LicenseManager[_0x598b6f(_0x23dd71._0x5c648e)+_0x48e4b2(0x266)+_0x48e4b2(_0x23dd71._0x447207)]=_0x294e64,LicenseManager[_0x598b6f(_0x23dd71._0x518bf9)+_0x48e4b2(_0x23dd71._0x2a8c59)+_0x598b6f(0x232)]=_0xdca0e6,LicenseManager[_0x48e4b2(_0x23dd71._0xccefa2)+_0x598b6f(_0x23dd71._0x321a8e)+_0x48e4b2(_0x23dd71._0x35244d)+_0x48e4b2(0x25a)]=_0x598b6f(0x1f7)+_0x48e4b2(0x1f3)+_0x598b6f(_0x23dd71._0x32e2ad)+_0x48e4b2(0x244)+'@#',typeof globalThis!==_0x48e4b2(_0x23dd71._0x136ce2)+_0x598b6f(_0x23dd71._0x3e2060)+'d'&&(globalThis[_0x598b6f(_0x23dd71._0x4badf7)+_0x598b6f(_0x23dd71._0x4e5d1a)+_0x598b6f(_0x23dd71._0x247b06)+'er']=LicenseManager),typeof _0x1d7912!==_0x598b6f(_0x23dd71._0x14df6f)+_0x48e4b2(_0x23dd71._0x411fb3)+'d'&&(_0x1d7912[_0x48e4b2(0x258)+_0x598b6f(0x2bf)+_0x598b6f(0x279)+'er']=LicenseManager),typeof window!==_0x168cf1[_0x48e4b2(_0x23dd71._0xf34395)+'r']&&(window[_0x598b6f(_0x23dd71._0x10a364)+_0x598b6f(_0x23dd71._0x4e5d1a)+_0x48e4b2(_0x23dd71._0x247b06)+'er']=LicenseManager),typeof exports!==_0x168cf1[_0x48e4b2(_0x23dd71._0xf34395)+'r']&&(typeof module!==_0x598b6f(_0x23dd71._0x1d2fc9)+_0x48e4b2(0x2a3)+'d'&&module[_0x598b6f(_0x23dd71._0x1d7fa9)+_0x598b6f(_0x23dd71._0x46b283)]&&(module[_0x598b6f(_0x23dd71._0x2af337)+_0x48e4b2(_0x23dd71._0x46b283)]=LicenseManager),exports[_0x48e4b2(_0x23dd71._0x1444e7)+_0x48e4b2(_0x23dd71._0x4e5d1a)+_0x48e4b2(_0x23dd71._0x247b06)+'er']=LicenseManager);}(typeof globalThis!==_0x3720e9(0x31d)+_0x20c487(0x2a3)+'d'?globalThis:typeof window!==_0x20c487(0x31d)+_0x20c487(0x2a3)+'d'?window:this));