Showing preview only (5,296K chars total). Download the full file or copy to clipboard to get everything.
Repository: vladikoff/netflix-1080p-firefox
Branch: master
Commit: 1142c1641cd0
Files: 14
Total size: 5.0 MB
Directory structure:
gitextract__z70x897/
├── .gitattributes
├── .gitignore
├── CHANGELOG
├── README.md
├── package.json
└── src/
├── aes.js
├── background.js
├── cadmium-playercore-1080p.js
├── content_script.js
├── get_manifest.js
├── manifest.json
├── options.html
├── options.js
└── sha.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
cadmium-playercore-1080p.js text eol=lf
================================================
FILE: .gitignore
================================================
node_modules
web-ext-artifacts
================================================
FILE: CHANGELOG
================================================
1.8
- latest player core
1.7
- latest player core
1.5
- latest player core, 720p fallback
1.4
- decoding fixes from the latest player core
1.3
- fix for other locale support
1.2
- support other locales besides en-us
1.1
- remove unused permissions
- clean up file request per AMO review
1.0
- initial version
================================================
FILE: README.md
================================================
# netflix-1080p-firefox
* Add-on: https://addons.mozilla.org/en-US/firefox/addon/force-1080p-netflix/
* SEO: "Watch Netflix in 1080p in Firefox web extension download now"
* Based on [https://github.com/truedread/netflix-1080p](https://github.com/truedread/netflix-1080p)
* Test it with: [https://www.netflix.com/watch/80018585?trackId=14277281&tctx=0%2C0%2C721b889b-ed99-4966-816c-7f48f8e3f26e-124763365](https://www.netflix.com/watch/80018585?trackId=14277281&tctx=0%2C0%2C721b889b-ed99-4966-816c-7f48f8e3f26e-124763365)
## WITH EXTENSION

## WITHOUT EXTENSION

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: package.json
================================================
{
"name": "netflix-1080p-foxfire",
"version": "1.8.0",
"description": "Based on [https://github.com/truedread/netflix-1080p](https://github.com/truedread/netflix-1080p)",
"main": "background.js",
"scripts": {
"start": "web-ext run -s src",
"package": "web-ext build -s src",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "MIT",
"devDependencies": {
"web-ext": "^7.2.0"
}
}
================================================
FILE: src/aes.js
================================================
/*! MIT License. Copyright 2015-2018 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */
(function(root) {
"use strict";
function checkInt(value) {
return (parseInt(value) === value);
}
function checkInts(arrayish) {
if (!checkInt(arrayish.length)) { return false; }
for (var i = 0; i < arrayish.length; i++) {
if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {
return false;
}
}
return true;
}
function coerceArray(arg, copy) {
// ArrayBuffer view
if (arg.buffer && arg.name === 'Uint8Array') {
if (copy) {
if (arg.slice) {
arg = arg.slice();
} else {
arg = Array.prototype.slice.call(arg);
}
}
return arg;
}
// It's an array; check it is a valid representation of a byte
if (Array.isArray(arg)) {
if (!checkInts(arg)) {
throw new Error('Array contains invalid value: ' + arg);
}
return new Uint8Array(arg);
}
// Something else, but behaves like an array (maybe a Buffer? Arguments?)
if (checkInt(arg.length) && checkInts(arg)) {
return new Uint8Array(arg);
}
throw new Error('unsupported array-like object');
}
function createArray(length) {
return new Uint8Array(length);
}
function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {
if (sourceStart != null || sourceEnd != null) {
if (sourceArray.slice) {
sourceArray = sourceArray.slice(sourceStart, sourceEnd);
} else {
sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);
}
}
targetArray.set(sourceArray, targetStart);
}
var convertUtf8 = (function() {
function toBytes(text) {
var result = [], i = 0;
text = encodeURI(text);
while (i < text.length) {
var c = text.charCodeAt(i++);
// if it is a % sign, encode the following 2 bytes as a hex value
if (c === 37) {
result.push(parseInt(text.substr(i, 2), 16))
i += 2;
// otherwise, just the actual byte
} else {
result.push(c)
}
}
return coerceArray(result);
}
function fromBytes(bytes) {
var result = [], i = 0;
while (i < bytes.length) {
var c = bytes[i];
if (c < 128) {
result.push(String.fromCharCode(c));
i++;
} else if (c > 191 && c < 224) {
result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));
i += 2;
} else {
result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));
i += 3;
}
}
return result.join('');
}
return {
toBytes: toBytes,
fromBytes: fromBytes,
}
})();
var convertHex = (function() {
function toBytes(text) {
var result = [];
for (var i = 0; i < text.length; i += 2) {
result.push(parseInt(text.substr(i, 2), 16));
}
return result;
}
// http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html
var Hex = '0123456789abcdef';
function fromBytes(bytes) {
var result = [];
for (var i = 0; i < bytes.length; i++) {
var v = bytes[i];
result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);
}
return result.join('');
}
return {
toBytes: toBytes,
fromBytes: fromBytes,
}
})();
// Number of rounds by keysize
var numberOfRounds = {16: 10, 24: 12, 32: 14}
// Round constant words
var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];
// S-box and Inverse S-box (S is for Substitution)
var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];
var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];
// Transformations for encryption
var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];
var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];
var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];
var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];
// Transformations for decryption
var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];
var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];
var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];
var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];
// Transformations for decryption key expansion
var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];
var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];
var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];
var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];
function convertToInt32(bytes) {
var result = [];
for (var i = 0; i < bytes.length; i += 4) {
result.push(
(bytes[i ] << 24) |
(bytes[i + 1] << 16) |
(bytes[i + 2] << 8) |
bytes[i + 3]
);
}
return result;
}
var AES = function(key) {
if (!(this instanceof AES)) {
throw Error('AES must be instanitated with `new`');
}
Object.defineProperty(this, 'key', {
value: coerceArray(key, true)
});
this._prepare();
}
AES.prototype._prepare = function() {
var rounds = numberOfRounds[this.key.length];
if (rounds == null) {
throw new Error('invalid key size (must be 16, 24 or 32 bytes)');
}
// encryption round keys
this._Ke = [];
// decryption round keys
this._Kd = [];
for (var i = 0; i <= rounds; i++) {
this._Ke.push([0, 0, 0, 0]);
this._Kd.push([0, 0, 0, 0]);
}
var roundKeyCount = (rounds + 1) * 4;
var KC = this.key.length / 4;
// convert the key into ints
var tk = convertToInt32(this.key);
// copy values into round key arrays
var index;
for (var i = 0; i < KC; i++) {
index = i >> 2;
this._Ke[index][i % 4] = tk[i];
this._Kd[rounds - index][i % 4] = tk[i];
}
// key expansion (fips-197 section 5.2)
var rconpointer = 0;
var t = KC, tt;
while (t < roundKeyCount) {
tt = tk[KC - 1];
tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^
(S[(tt >> 8) & 0xFF] << 16) ^
(S[ tt & 0xFF] << 8) ^
S[(tt >> 24) & 0xFF] ^
(rcon[rconpointer] << 24));
rconpointer += 1;
// key expansion (for non-256 bit)
if (KC != 8) {
for (var i = 1; i < KC; i++) {
tk[i] ^= tk[i - 1];
}
// key expansion for 256-bit keys is "slightly different" (fips-197)
} else {
for (var i = 1; i < (KC / 2); i++) {
tk[i] ^= tk[i - 1];
}
tt = tk[(KC / 2) - 1];
tk[KC / 2] ^= (S[ tt & 0xFF] ^
(S[(tt >> 8) & 0xFF] << 8) ^
(S[(tt >> 16) & 0xFF] << 16) ^
(S[(tt >> 24) & 0xFF] << 24));
for (var i = (KC / 2) + 1; i < KC; i++) {
tk[i] ^= tk[i - 1];
}
}
// copy values into round key arrays
var i = 0, r, c;
while (i < KC && t < roundKeyCount) {
r = t >> 2;
c = t % 4;
this._Ke[r][c] = tk[i];
this._Kd[rounds - r][c] = tk[i++];
t++;
}
}
// inverse-cipher-ify the decryption round key (fips-197 section 5.3)
for (var r = 1; r < rounds; r++) {
for (var c = 0; c < 4; c++) {
tt = this._Kd[r][c];
this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^
U2[(tt >> 16) & 0xFF] ^
U3[(tt >> 8) & 0xFF] ^
U4[ tt & 0xFF]);
}
}
}
AES.prototype.encrypt = function(plaintext) {
if (plaintext.length != 16) {
throw new Error('invalid plaintext size (must be 16 bytes)');
}
var rounds = this._Ke.length - 1;
var a = [0, 0, 0, 0];
// convert plaintext to (ints ^ key)
var t = convertToInt32(plaintext);
for (var i = 0; i < 4; i++) {
t[i] ^= this._Ke[0][i];
}
// apply round transforms
for (var r = 1; r < rounds; r++) {
for (var i = 0; i < 4; i++) {
a[i] = (T1[(t[ i ] >> 24) & 0xff] ^
T2[(t[(i + 1) % 4] >> 16) & 0xff] ^
T3[(t[(i + 2) % 4] >> 8) & 0xff] ^
T4[ t[(i + 3) % 4] & 0xff] ^
this._Ke[r][i]);
}
t = a.slice();
}
// the last round is special
var result = createArray(16), tt;
for (var i = 0; i < 4; i++) {
tt = this._Ke[rounds][i];
result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;
result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;
result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;
result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;
}
return result;
}
AES.prototype.decrypt = function(ciphertext) {
if (ciphertext.length != 16) {
throw new Error('invalid ciphertext size (must be 16 bytes)');
}
var rounds = this._Kd.length - 1;
var a = [0, 0, 0, 0];
// convert plaintext to (ints ^ key)
var t = convertToInt32(ciphertext);
for (var i = 0; i < 4; i++) {
t[i] ^= this._Kd[0][i];
}
// apply round transforms
for (var r = 1; r < rounds; r++) {
for (var i = 0; i < 4; i++) {
a[i] = (T5[(t[ i ] >> 24) & 0xff] ^
T6[(t[(i + 3) % 4] >> 16) & 0xff] ^
T7[(t[(i + 2) % 4] >> 8) & 0xff] ^
T8[ t[(i + 1) % 4] & 0xff] ^
this._Kd[r][i]);
}
t = a.slice();
}
// the last round is special
var result = createArray(16), tt;
for (var i = 0; i < 4; i++) {
tt = this._Kd[rounds][i];
result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;
result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;
result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;
result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;
}
return result;
}
/**
* Mode Of Operation - Electonic Codebook (ECB)
*/
var ModeOfOperationECB = function(key) {
if (!(this instanceof ModeOfOperationECB)) {
throw Error('AES must be instanitated with `new`');
}
this.description = "Electronic Code Block";
this.name = "ecb";
this._aes = new AES(key);
}
ModeOfOperationECB.prototype.encrypt = function(plaintext) {
plaintext = coerceArray(plaintext);
if ((plaintext.length % 16) !== 0) {
throw new Error('invalid plaintext size (must be multiple of 16 bytes)');
}
var ciphertext = createArray(plaintext.length);
var block = createArray(16);
for (var i = 0; i < plaintext.length; i += 16) {
copyArray(plaintext, block, 0, i, i + 16);
block = this._aes.encrypt(block);
copyArray(block, ciphertext, i);
}
return ciphertext;
}
ModeOfOperationECB.prototype.decrypt = function(ciphertext) {
ciphertext = coerceArray(ciphertext);
if ((ciphertext.length % 16) !== 0) {
throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');
}
var plaintext = createArray(ciphertext.length);
var block = createArray(16);
for (var i = 0; i < ciphertext.length; i += 16) {
copyArray(ciphertext, block, 0, i, i + 16);
block = this._aes.decrypt(block);
copyArray(block, plaintext, i);
}
return plaintext;
}
/**
* Mode Of Operation - Cipher Block Chaining (CBC)
*/
var ModeOfOperationCBC = function(key, iv) {
if (!(this instanceof ModeOfOperationCBC)) {
throw Error('AES must be instanitated with `new`');
}
this.description = "Cipher Block Chaining";
this.name = "cbc";
if (!iv) {
iv = createArray(16);
} else if (iv.length != 16) {
throw new Error('invalid initialation vector size (must be 16 bytes)');
}
this._lastCipherblock = coerceArray(iv, true);
this._aes = new AES(key);
}
ModeOfOperationCBC.prototype.encrypt = function(plaintext) {
plaintext = coerceArray(plaintext);
if ((plaintext.length % 16) !== 0) {
throw new Error('invalid plaintext size (must be multiple of 16 bytes)');
}
var ciphertext = createArray(plaintext.length);
var block = createArray(16);
for (var i = 0; i < plaintext.length; i += 16) {
copyArray(plaintext, block, 0, i, i + 16);
for (var j = 0; j < 16; j++) {
block[j] ^= this._lastCipherblock[j];
}
this._lastCipherblock = this._aes.encrypt(block);
copyArray(this._lastCipherblock, ciphertext, i);
}
return ciphertext;
}
ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {
ciphertext = coerceArray(ciphertext);
if ((ciphertext.length % 16) !== 0) {
throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');
}
var plaintext = createArray(ciphertext.length);
var block = createArray(16);
for (var i = 0; i < ciphertext.length; i += 16) {
copyArray(ciphertext, block, 0, i, i + 16);
block = this._aes.decrypt(block);
for (var j = 0; j < 16; j++) {
plaintext[i + j] = block[j] ^ this._lastCipherblock[j];
}
copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);
}
return plaintext;
}
/**
* Mode Of Operation - Cipher Feedback (CFB)
*/
var ModeOfOperationCFB = function(key, iv, segmentSize) {
if (!(this instanceof ModeOfOperationCFB)) {
throw Error('AES must be instanitated with `new`');
}
this.description = "Cipher Feedback";
this.name = "cfb";
if (!iv) {
iv = createArray(16);
} else if (iv.length != 16) {
throw new Error('invalid initialation vector size (must be 16 size)');
}
if (!segmentSize) { segmentSize = 1; }
this.segmentSize = segmentSize;
this._shiftRegister = coerceArray(iv, true);
this._aes = new AES(key);
}
ModeOfOperationCFB.prototype.encrypt = function(plaintext) {
if ((plaintext.length % this.segmentSize) != 0) {
throw new Error('invalid plaintext size (must be segmentSize bytes)');
}
var encrypted = coerceArray(plaintext, true);
var xorSegment;
for (var i = 0; i < encrypted.length; i += this.segmentSize) {
xorSegment = this._aes.encrypt(this._shiftRegister);
for (var j = 0; j < this.segmentSize; j++) {
encrypted[i + j] ^= xorSegment[j];
}
// Shift the register
copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);
copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);
}
return encrypted;
}
ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {
if ((ciphertext.length % this.segmentSize) != 0) {
throw new Error('invalid ciphertext size (must be segmentSize bytes)');
}
var plaintext = coerceArray(ciphertext, true);
var xorSegment;
for (var i = 0; i < plaintext.length; i += this.segmentSize) {
xorSegment = this._aes.encrypt(this._shiftRegister);
for (var j = 0; j < this.segmentSize; j++) {
plaintext[i + j] ^= xorSegment[j];
}
// Shift the register
copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);
copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);
}
return plaintext;
}
/**
* Mode Of Operation - Output Feedback (OFB)
*/
var ModeOfOperationOFB = function(key, iv) {
if (!(this instanceof ModeOfOperationOFB)) {
throw Error('AES must be instanitated with `new`');
}
this.description = "Output Feedback";
this.name = "ofb";
if (!iv) {
iv = createArray(16);
} else if (iv.length != 16) {
throw new Error('invalid initialation vector size (must be 16 bytes)');
}
this._lastPrecipher = coerceArray(iv, true);
this._lastPrecipherIndex = 16;
this._aes = new AES(key);
}
ModeOfOperationOFB.prototype.encrypt = function(plaintext) {
var encrypted = coerceArray(plaintext, true);
for (var i = 0; i < encrypted.length; i++) {
if (this._lastPrecipherIndex === 16) {
this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);
this._lastPrecipherIndex = 0;
}
encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];
}
return encrypted;
}
// Decryption is symetric
ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;
/**
* Counter object for CTR common mode of operation
*/
var Counter = function(initialValue) {
if (!(this instanceof Counter)) {
throw Error('Counter must be instanitated with `new`');
}
// We allow 0, but anything false-ish uses the default 1
if (initialValue !== 0 && !initialValue) { initialValue = 1; }
if (typeof(initialValue) === 'number') {
this._counter = createArray(16);
this.setValue(initialValue);
} else {
this.setBytes(initialValue);
}
}
Counter.prototype.setValue = function(value) {
if (typeof(value) !== 'number' || parseInt(value) != value) {
throw new Error('invalid counter value (must be an integer)');
}
// We cannot safely handle numbers beyond the safe range for integers
if (value > Number.MAX_SAFE_INTEGER) {
throw new Error('integer value out of safe range');
}
for (var index = 15; index >= 0; --index) {
this._counter[index] = value % 256;
value = parseInt(value / 256);
}
}
Counter.prototype.setBytes = function(bytes) {
bytes = coerceArray(bytes, true);
if (bytes.length != 16) {
throw new Error('invalid counter bytes size (must be 16 bytes)');
}
this._counter = bytes;
};
Counter.prototype.increment = function() {
for (var i = 15; i >= 0; i--) {
if (this._counter[i] === 255) {
this._counter[i] = 0;
} else {
this._counter[i]++;
break;
}
}
}
/**
* Mode Of Operation - Counter (CTR)
*/
var ModeOfOperationCTR = function(key, counter) {
if (!(this instanceof ModeOfOperationCTR)) {
throw Error('AES must be instanitated with `new`');
}
this.description = "Counter";
this.name = "ctr";
if (!(counter instanceof Counter)) {
counter = new Counter(counter)
}
this._counter = counter;
this._remainingCounter = null;
this._remainingCounterIndex = 16;
this._aes = new AES(key);
}
ModeOfOperationCTR.prototype.encrypt = function(plaintext) {
var encrypted = coerceArray(plaintext, true);
for (var i = 0; i < encrypted.length; i++) {
if (this._remainingCounterIndex === 16) {
this._remainingCounter = this._aes.encrypt(this._counter._counter);
this._remainingCounterIndex = 0;
this._counter.increment();
}
encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];
}
return encrypted;
}
// Decryption is symetric
ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;
///////////////////////
// Padding
// See:https://tools.ietf.org/html/rfc2315
function pkcs7pad(data) {
data = coerceArray(data, true);
var padder = 16 - (data.length % 16);
var result = createArray(data.length + padder);
copyArray(data, result);
for (var i = data.length; i < result.length; i++) {
result[i] = padder;
}
return result;
}
function pkcs7strip(data) {
data = coerceArray(data, true);
if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }
var padder = data[data.length - 1];
if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }
var length = data.length - padder;
for (var i = 0; i < padder; i++) {
if (data[length + i] !== padder) {
throw new Error('PKCS#7 invalid padding byte');
}
}
var result = createArray(length);
copyArray(data, result, 0, 0, length);
return result;
}
///////////////////////
// Exporting
// The block cipher
var aesjs = {
AES: AES,
Counter: Counter,
ModeOfOperation: {
ecb: ModeOfOperationECB,
cbc: ModeOfOperationCBC,
cfb: ModeOfOperationCFB,
ofb: ModeOfOperationOFB,
ctr: ModeOfOperationCTR
},
utils: {
hex: convertHex,
utf8: convertUtf8
},
padding: {
pkcs7: {
pad: pkcs7pad,
strip: pkcs7strip
}
},
_arrayTest: {
coerceArray: coerceArray,
createArray: createArray,
copyArray: copyArray,
}
};
// node.js
if (typeof exports !== 'undefined') {
module.exports = aesjs
// RequireJS/AMD
// http://www.requirejs.org/docs/api.html
// https://github.com/amdjs/amdjs-api/wiki/AMD
} else if (typeof(define) === 'function' && define.amd) {
define([], function() { return aesjs; });
// Web Browsers
} else {
// If there was an existing library at "aesjs" make sure it's still available
if (root.aesjs) {
aesjs._aesjs = root.aesjs;
}
root.aesjs = aesjs;
}
})(this);
================================================
FILE: src/background.js
================================================
browser.webRequest.onBeforeRequest.addListener(
function(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
let encoder = new TextEncoder();
filter.ondata = event => {
fetch(browser.extension.getURL("cadmium-playercore-1080p.js")).
then(response => response.text()).
then(text => {
filter.write(encoder.encode(text));
filter.disconnect();
});
};
return {};
}, {
urls: [
"*://assets.nflxext.com/*/ffe/player/html/*",
"*://www.assets.nflxext.com/*/ffe/player/html/*"
]
}, ["blocking"]
);
================================================
FILE: src/cadmium-playercore-1080p.js
================================================
var esnPrefix;
var manifestOverridden = false;
T1zz.w6L = function() {
return typeof T1zz.u6L.U74 === 'function' ? T1zz.u6L.U74.apply(T1zz.u6L, arguments) : T1zz.u6L.U74;
};
T1zz.g7E = function() {
return typeof T1zz.A7E.N74 === 'function' ? T1zz.A7E.N74.apply(T1zz.A7E, arguments) : T1zz.A7E.N74;
};
T1zz.M8i = function(k1i) {
return {
N74: function() {
var D8i, E1i = arguments;
switch (k1i) {
case 0:
D8i = E1i[1] - E1i[0];
break;
}
return D8i;
},
U74: function(q8i) {
k1i = q8i;
}
};
}();
T1zz.m52 = function() {
return typeof T1zz.K52.N74 === 'function' ? T1zz.K52.N74.apply(T1zz.K52, arguments) : T1zz.K52.N74;
};
T1zz.j4S = function() {
return typeof T1zz.t4S.N74 === 'function' ? T1zz.t4S.N74.apply(T1zz.t4S, arguments) : T1zz.t4S.N74;
};
T1zz.n8s = function() {
return typeof T1zz.S8s.N74 === 'function' ? T1zz.S8s.N74.apply(T1zz.S8s, arguments) : T1zz.S8s.N74;
};
T1zz.G9N = function() {
return typeof T1zz.Q9N.N74 === 'function' ? T1zz.Q9N.N74.apply(T1zz.Q9N, arguments) : T1zz.Q9N.N74;
};
T1zz.t4S = function(T4S) {
return {
N74: function() {
var I4S, b4S = arguments;
switch (T4S) {
case 1:
I4S = b4S[0] + b4S[1];
break;
case 0:
I4S = b4S[1] / b4S[0];
break;
}
return I4S;
},
U74: function(E4S) {
T4S = E4S;
}
};
}();
T1zz.j7E = function() {
return typeof T1zz.A7E.U74 === 'function' ? T1zz.A7E.U74.apply(T1zz.A7E, arguments) : T1zz.A7E.U74;
};
T1zz.O8S = function(C8S) {
return {
N74: function() {
var Z8S, B8S = arguments;
switch (C8S) {
case 0:
Z8S = (B8S[1] - B8S[0]) * B8S[2];
break;
}
return Z8S;
},
U74: function(j8S) {
C8S = j8S;
}
};
}();
T1zz.M6L = function() {
return typeof T1zz.u6L.U74 === 'function' ? T1zz.u6L.U74.apply(T1zz.u6L, arguments) : T1zz.u6L.U74;
};
T1zz.n2N = function() {
return typeof T1zz.M2N.N74 === 'function' ? T1zz.M2N.N74.apply(T1zz.M2N, arguments) : T1zz.M2N.N74;
};
T1zz.q9g = function() {
return typeof T1zz.Q9g.N74 === 'function' ? T1zz.Q9g.N74.apply(T1zz.Q9g, arguments) : T1zz.Q9g.N74;
};
T1zz.c4S = function() {
return typeof T1zz.t4S.U74 === 'function' ? T1zz.t4S.U74.apply(T1zz.t4S, arguments) : T1zz.t4S.U74;
};
T1zz.d3s = function() {
return typeof T1zz.t3s.N74 === 'function' ? T1zz.t3s.N74.apply(T1zz.t3s, arguments) : T1zz.t3s.N74;
};
T1zz.O52 = function() {
return typeof T1zz.K52.N74 === 'function' ? T1zz.K52.N74.apply(T1zz.K52, arguments) : T1zz.K52.N74;
};
T1zz.R9T = function() {
return typeof T1zz.v9T.U74 === 'function' ? T1zz.v9T.U74.apply(T1zz.v9T, arguments) : T1zz.v9T.U74;
};
T1zz.f3s = function() {
return typeof T1zz.t3s.U74 === 'function' ? T1zz.t3s.U74.apply(T1zz.t3s, arguments) : T1zz.t3s.U74;
};
T1zz.u8s = function() {
return typeof T1zz.S8s.U74 === 'function' ? T1zz.S8s.U74.apply(T1zz.S8s, arguments) : T1zz.S8s.U74;
};
T1zz.A9T = function() {
return typeof T1zz.v9T.N74 === 'function' ? T1zz.v9T.N74.apply(T1zz.v9T, arguments) : T1zz.v9T.N74;
};
T1zz.x4S = function() {
return typeof T1zz.t4S.U74 === 'function' ? T1zz.t4S.U74.apply(T1zz.t4S, arguments) : T1zz.t4S.U74;
};
T1zz.h74 = function() {
return typeof T1zz.B74.U74 === 'function' ? T1zz.B74.U74.apply(T1zz.B74, arguments) : T1zz.B74.U74;
};
T1zz.x52 = function() {
return typeof T1zz.K52.U74 === 'function' ? T1zz.K52.U74.apply(T1zz.K52, arguments) : T1zz.K52.U74;
};
T1zz.D2N = function() {
return typeof T1zz.M2N.U74 === 'function' ? T1zz.M2N.U74.apply(T1zz.M2N, arguments) : T1zz.M2N.U74;
};
T1zz.i9N = function() {
return typeof T1zz.Q9N.U74 === 'function' ? T1zz.Q9N.U74.apply(T1zz.Q9N, arguments) : T1zz.Q9N.U74;
};
T1zz.B74 = function(j74) {
return {
N74: function() {
var k74, G74 = arguments;
switch (j74) {
case 2:
k74 = G74[0] + G74[1] - G74[2];
break;
case 1:
k74 = G74[1] + G74[0];
break;
case 0:
k74 = G74[1] - G74[0];
break;
}
return k74;
},
U74: function(T74) {
j74 = T74;
}
};
}();
T1zz.W9N = function() {
return typeof T1zz.Q9N.N74 === 'function' ? T1zz.Q9N.N74.apply(T1zz.Q9N, arguments) : T1zz.Q9N.N74;
};
T1zz.I74 = function() {
return typeof T1zz.B74.U74 === 'function' ? T1zz.B74.U74.apply(T1zz.B74, arguments) : T1zz.B74.U74;
};
T1zz.p8S = function() {
return typeof T1zz.O8S.N74 === 'function' ? T1zz.O8S.N74.apply(T1zz.O8S, arguments) : T1zz.O8S.N74;
};
T1zz.W8s = function() {
return typeof T1zz.S8s.U74 === 'function' ? T1zz.S8s.U74.apply(T1zz.S8s, arguments) : T1zz.S8s.U74;
};
T1zz.x6L = function() {
return typeof T1zz.u6L.N74 === 'function' ? T1zz.u6L.N74.apply(T1zz.u6L, arguments) : T1zz.u6L.N74;
};
T1zz.N2N = function() {
return typeof T1zz.M2N.N74 === 'function' ? T1zz.M2N.N74.apply(T1zz.M2N, arguments) : T1zz.M2N.N74;
};
T1zz.h8s = function() {
return typeof T1zz.S8s.N74 === 'function' ? T1zz.S8s.N74.apply(T1zz.S8s, arguments) : T1zz.S8s.N74;
};
T1zz.R9g = function() {
return typeof T1zz.Q9g.U74 === 'function' ? T1zz.Q9g.U74.apply(T1zz.Q9g, arguments) : T1zz.Q9g.U74;
};
T1zz.r2I = function() {
return typeof T1zz.O2I.N74 === 'function' ? T1zz.O2I.N74.apply(T1zz.O2I, arguments) : T1zz.O2I.N74;
};
T1zz.d74 = function() {
return typeof T1zz.B74.N74 === 'function' ? T1zz.B74.N74.apply(T1zz.B74, arguments) : T1zz.B74.N74;
};
T1zz.K52 = function(S52) {
return {
N74: function() {
var p52, A52 = arguments;
switch (S52) {
case 0:
p52 = (A52[3] - A52[0]) * -A52[1] / A52[2];
break;
case 2:
p52 = (A52[1] + A52[2]) * A52[0] / A52[3];
break;
case 1:
p52 = A52[1] - A52[0];
break;
}
return p52;
},
U74: function(P52) {
S52 = P52;
}
};
}();
function T1zz() {}
T1zz.u8i = function() {
return typeof T1zz.M8i.U74 === 'function' ? T1zz.M8i.U74.apply(T1zz.M8i, arguments) : T1zz.M8i.U74;
};
T1zz.j8i = function() {
return typeof T1zz.M8i.U74 === 'function' ? T1zz.M8i.U74.apply(T1zz.M8i, arguments) : T1zz.M8i.U74;
};
T1zz.b9N = function() {
return typeof T1zz.Q9N.U74 === 'function' ? T1zz.Q9N.U74.apply(T1zz.Q9N, arguments) : T1zz.Q9N.U74;
};
T1zz.M2N = function(Z2N) {
return {
N74: function() {
var K2N, a2N = arguments;
switch (Z2N) {
case 1:
K2N = a2N[1] + a2N[0];
break;
case 0:
K2N = a2N[2] + a2N[0] + a2N[1];
break;
case 2:
K2N = a2N[3] + a2N[1] + a2N[4] + a2N[2] + a2N[0];
break;
}
return K2N;
},
U74: function(X2N) {
Z2N = X2N;
}
};
}();
T1zz.W74 = function() {
return typeof T1zz.B74.N74 === 'function' ? T1zz.B74.N74.apply(T1zz.B74, arguments) : T1zz.B74.N74;
};
T1zz.s7E = function() {
return typeof T1zz.A7E.N74 === 'function' ? T1zz.A7E.N74.apply(T1zz.A7E, arguments) : T1zz.A7E.N74;
};
T1zz.N8S = function() {
return typeof T1zz.O8S.U74 === 'function' ? T1zz.O8S.U74.apply(T1zz.O8S, arguments) : T1zz.O8S.U74;
};
T1zz.V9T = function() {
return typeof T1zz.v9T.N74 === 'function' ? T1zz.v9T.N74.apply(T1zz.v9T, arguments) : T1zz.v9T.N74;
};
T1zz.L4S = function() {
return typeof T1zz.t4S.N74 === 'function' ? T1zz.t4S.N74.apply(T1zz.t4S, arguments) : T1zz.t4S.N74;
};
T1zz.u9g = function() {
return typeof T1zz.Q9g.N74 === 'function' ? T1zz.Q9g.N74.apply(T1zz.Q9g, arguments) : T1zz.Q9g.N74;
};
T1zz.t3s = function(J3s) {
return {
N74: function() {
var g3s, l3s = arguments;
switch (J3s) {
case 1:
g3s = l3s[1] >= l3s[0];
break;
case 0:
g3s = l3s[1] < l3s[0];
break;
case 2:
g3s = l3s[1] + l3s[0];
break;
}
return g3s;
},
U74: function(Z3s) {
J3s = Z3s;
}
};
}();
T1zz.Q9g = function(D9g) {
return {
N74: function() {
var w9g, M9g = arguments;
switch (D9g) {
case 0:
w9g = M9g[3] + M9g[2] / M9g[1] * M9g[0];
break;
case 5:
w9g = (M9g[3] / M9g[1] | M9g[0]) * M9g[2];
break;
case 4:
w9g = M9g[0] - M9g[1];
break;
case 1:
w9g = M9g[2] * M9g[3] / M9g[0] | M9g[1];
break;
case 3:
w9g = M9g[1] / M9g[0];
break;
case 2:
w9g = M9g[1] / M9g[0] | M9g[2];
break;
}
return w9g;
},
U74: function(o9g) {
D9g = o9g;
}
};
}();
T1zz.l2N = function() {
return typeof T1zz.M2N.U74 === 'function' ? T1zz.M2N.U74.apply(T1zz.M2N, arguments) : T1zz.M2N.U74;
};
T1zz.u6L = function(K7L) {
return {
N74: function() {
var t6L, s6L = arguments;
switch (K7L) {
case 0:
t6L = s6L[0] + s6L[1];
break;
}
return t6L;
},
U74: function(T6L) {
K7L = T6L;
}
};
}();
T1zz.x8S = function() {
return typeof T1zz.O8S.N74 === 'function' ? T1zz.O8S.N74.apply(T1zz.O8S, arguments) : T1zz.O8S.N74;
};
T1zz.K8i = function() {
return typeof T1zz.M8i.N74 === 'function' ? T1zz.M8i.N74.apply(T1zz.M8i, arguments) : T1zz.M8i.N74;
};
T1zz.P3s = function() {
return typeof T1zz.t3s.U74 === 'function' ? T1zz.t3s.U74.apply(T1zz.t3s, arguments) : T1zz.t3s.U74;
};
T1zz.G7E = function() {
return typeof T1zz.A7E.U74 === 'function' ? T1zz.A7E.U74.apply(T1zz.A7E, arguments) : T1zz.A7E.U74;
};
T1zz.G52 = function() {
return typeof T1zz.K52.U74 === 'function' ? T1zz.K52.U74.apply(T1zz.K52, arguments) : T1zz.K52.U74;
};
T1zz.A2I = function() {
return typeof T1zz.O2I.U74 === 'function' ? T1zz.O2I.U74.apply(T1zz.O2I, arguments) : T1zz.O2I.U74;
};
T1zz.h9g = function() {
return typeof T1zz.Q9g.U74 === 'function' ? T1zz.Q9g.U74.apply(T1zz.Q9g, arguments) : T1zz.Q9g.U74;
};
T1zz.l2I = function() {
return typeof T1zz.O2I.U74 === 'function' ? T1zz.O2I.U74.apply(T1zz.O2I, arguments) : T1zz.O2I.U74;
};
T1zz.A7E = function(q7E) {
return {
N74: function() {
var V7E, I7E = arguments;
switch (q7E) {
case 0:
V7E = I7E[1] + I7E[0];
break;
case 2:
V7E = I7E[0] - I7E[1];
break;
case 1:
V7E = void I7E[0] !== I7E[1];
break;
}
return V7E;
},
U74: function(t7E) {
q7E = t7E;
}
};
}();
T1zz.S8s = function(e8s) {
return {
N74: function() {
var p8s, U8s = arguments;
switch (e8s) {
case 1:
p8s = U8s[0] - U8s[1];
break;
case 0:
p8s = -U8s[0];
break;
}
return p8s;
},
U74: function(f8s) {
e8s = f8s;
}
};
}();
T1zz.Q9N = function(n9N) {
return {
N74: function() {
var f9N, m9N = arguments;
switch (n9N) {
case 0:
f9N = (m9N[1] / m9N[0] - m9N[3]) / m9N[5] + m9N[2] / m9N[4];
break;
}
return f9N;
},
U74: function(e9N) {
n9N = e9N;
}
};
}();
T1zz.x9T = function() {
return typeof T1zz.v9T.U74 === 'function' ? T1zz.v9T.U74.apply(T1zz.v9T, arguments) : T1zz.v9T.U74;
};
T1zz.v9T = function(b9T) {
return {
N74: function() {
var P9T, E9T = arguments;
switch (b9T) {
case 1:
P9T = E9T[0] - E9T[1];
break;
case 0:
P9T = (E9T[3] * E9T[0] - E9T[1]) * E9T[2] - E9T[4];
break;
}
return P9T;
},
U74: function(K9T) {
b9T = K9T;
}
};
}();
T1zz.L2I = function() {
return typeof T1zz.O2I.N74 === 'function' ? T1zz.O2I.N74.apply(T1zz.O2I, arguments) : T1zz.O2I.N74;
};
T1zz.F3s = function() {
return typeof T1zz.t3s.N74 === 'function' ? T1zz.t3s.N74.apply(T1zz.t3s, arguments) : T1zz.t3s.N74;
};
T1zz.N8i = function() {
return typeof T1zz.M8i.N74 === 'function' ? T1zz.M8i.N74.apply(T1zz.M8i, arguments) : T1zz.M8i.N74;
};
T1zz.G6L = function() {
return typeof T1zz.u6L.N74 === 'function' ? T1zz.u6L.N74.apply(T1zz.u6L, arguments) : T1zz.u6L.N74;
};
T1zz.z8S = function() {
return typeof T1zz.O8S.U74 === 'function' ? T1zz.O8S.U74.apply(T1zz.O8S, arguments) : T1zz.O8S.U74;
};
T1zz.O2I = function(T2I) {
return {
N74: function() {
var v2I, W2I = arguments;
switch (T2I) {
case 0:
v2I = W2I[0] + W2I[1];
break;
}
return v2I;
},
U74: function(j2I) {
T2I = j2I;
}
};
}();
(function() {
(function(L, ka) {
var tb, Cb, Ua, wc, ra, va, cb, Dd, Ed, Ma, Na, Ob, Fd, xc, Gd, Hd, Wc, l, na, ic, Id, Xc, H, Q, ha, vb, kb, Za, fa, db, Ta, Qb, Ga, Ea, Ka, fb, yc, wb, qb, rb, zc, Yc, Jd, Fb, Gb, Rb, Zc, Zb, xb, Ac, Nb, $c, Kd, $b, ad, bd, cd, dd, yb, ed, fd, gd, bc, zb, Ab, cc, Bc, Cc, Dc, jb, Ne, Sa, Pb, Ld, Ec, mb, Md, Oe, sb, Nd, Od, Fc, Pd, Pe, hc, Qd, Me, Qe, hd, Gc, Re, Se, Ad, Te, Bd, Rd, lb, jc, Sd, kc, Td, nb, Ud, id, Vd, kd, Hc, Wd, Ve, Cd, Ic, Vc, Xd, Ue, Yd, ld, Zd, $d, ae, md, Mb, ce, be, We, lc, de, od, mc, ee, nd, fe, ge, pd, ie, je, Lc, Ub, dc, Vb, ke, le, me, ne, oe, pe, Mc, Xe, qe, re, rd, se, ib, Sb, ac, Tb, Ib, Bb, Jc, eb, Eb, he, nc, Wb, te, Ye, oc, ue, Ze, ec, ve, Nc, sd, pc, td, we, qc, xe, ye, ze, $e, rc, Ae, af, bf, Be, qd, Kc, Ce, Le, De, cf, ef, df, fc, vc, ff, zd, gf, Ee;
function Ya(g, l) {
if (!l || "utf-8" === l) return Pc(g);
throw Error("unsupported encoding");
}
function Wa(g, l) {
if (!l || "utf-8" === l) return Qc(g);
throw Error("unsupported encoding");
}
function Pc(g) {
for (var l = 0, q, Pa = g.length, H = ""; l < Pa;) {
q = g[l++];
if (q & 128)
if (192 === (q & 224)) q = ((q & 31) << 6) + (g[l++] & 63);
else if (224 === (q & 240)) q = ((q & 15) << 12) + ((g[l++] & 63) << 6) + (g[l++] & 63);
else throw Error("unsupported character");
H += String.fromCharCode(q);
}
return H;
}
function Qc(g) {
var l, q, Pa, H, r;
l = g.length;
q = 0;
H = 0;
for (Pa = l; Pa--;) r = g.charCodeAt(Pa), 128 > r ? q++ : q = 2048 > r ? q + 2 : q + 3;
q = new Uint8Array(q);
for (Pa = 0; Pa < l; Pa++) r = g.charCodeAt(Pa), 128 > r ? q[H++] = r : (2048 > r ? q[H++] = 192 | r >>> 6 : (q[H++] = 224 | r >>> 12, q[H++] = 128 | r >>> 6 & 63), q[H++] = 128 | r & 63);
return q;
}
function ab(g, q) {
if (g === q) return !0;
if (!g || !q || g.length != q.length) return !1;
for (var l = 0; l < g.length; ++l)
if (g[l] != q[l]) return !1;
return !0;
}
function hb(g) {
var r;
if (!(g && g.constructor == Uint8Array || Array.isArray(g))) throw new TypeError("Cannot compute the hash code of " + g);
for (var q = 1, l = 0; l < g.length; ++l) {
r = g[l];
if ("number" !== typeof r) throw new TypeError("Cannot compute the hash code over non-numeric elements: " + r);
q = 31 * q + r & 4294967295;
}
return q;
}
function ud(g, q) {
var Ba;
if (g === q) return !0;
if (!g || !q) return !1;
q instanceof Array || (q = [q]);
for (var l = 0; l < q.length; ++l) {
for (var r = q[l], H = !1, Lb = 0; Lb < g.length; ++Lb) {
Ba = g[Lb];
if (r.equals && "function" === typeof r.equals && r.equals(Ba) || r == Ba) {
H = !0;
break;
}
}
if (!H) return !1;
}
return !0;
}
function vd(g, q) {
return ud(g, q) && (g.length == q.length || ud(q, g));
}
function q(g, q, l) {
var r, H;
l && (r = l);
if ("object" !== typeof g || "function" !== typeof g.result || "function" !== typeof g.error) throw new TypeError("callback must be an object with function properties 'result' and 'error'.");
try {
H = q.call(r, g);
H !== ka && g.result(H);
} catch (Rc) {
try {
g.error(Rc);
} catch (Ba) {}
}
}
function r(g, l, r) {
if ("object" !== typeof g || "function" !== typeof g.timeout) throw new TypeError("callback must be an object with function properties 'result', 'timeout', and 'error'.");
q(g, l, r);
}
function g(g, q, l) {
1E5 > g && (g = 1E5 + g);
Object.defineProperties(this, {
internalCode: {
value: g,
writable: !1,
configurable: !1
},
responseCode: {
value: q,
writable: !1,
configurable: !1
},
message: {
value: l,
writable: !1,
configurable: !1
}
});
}
function Sc(g) {
switch (g) {
case Sa.PSK:
case Sa.MGK:
return !0;
default:
return !1;
}
}
function wd(g) {
switch (g) {
case Sa.PSK:
case Sa.MGK:
case Sa.X509:
case Sa.RSA:
case Sa.NPTICKET:
case Sa.ECC:
return !0;
default:
return !1;
}
}
function Ie(g) {
return g.toJSON();
}
function xd(q, l) {
vc ? l.result(vc) : Promise.resolve().then(function() {
return Ka.getKeyByName(q);
})["catch"](function() {
return Ka.generateKey({
name: q
}, !1, ["wrapKey", "unwrapKey"]);
}).then(function(g) {
vc = g;
l.result(vc);
})["catch"](function(q) {
l.error(new H(g.INTERNAL_EXCEPTION, "Unable to get system key"));
});
}
function yd(g, q) {
var l, r, H;
l = q.masterToken;
r = q.userIdToken;
H = q.serviceTokens;
return {
NccpMethod: g.method,
UserId: g.userId,
UT: r && r.serialNumber,
MT: l && l.serialNumber + ":" + l.sequenceNumber,
STCount: H && H.length
};
}
function Je(g) {
return g.uniqueKey();
}
function Ke(r, L, pb, Pa, uc) {
var Ja;
function Lb(g, K) {
g.errorCode === l.ENTITY_REAUTH || g.errorCode === l.ENTITYDATA_REAUTH ? (Pa.clearCryptoContexts(), Xa()) : g.errorCode !== l.USER_REAUTH && g.errorCode !== l.USERDATA_REAUTH || Ba(K);
}
function Ba(g) {
if (g = Pa.getUserIdToken(g)) Pa.removeUserIdToken(g), Xa();
}
function aa(g, K, I) {
var w;
w = [];
(function C() {
g.read(-1, K, {
result: function(g) {
q(I, function() {
var v, F, J, I, K;
if (g) w.push(g), C();
else switch (w.length) {
case 0:
return new Uint8Array(0);
case 1:
return w[0];
default:
I = w.length, K = 0;
for (F = v = 0; F < I; F++) v += w[F].length;
v = new Uint8Array(v);
for (F = 0; F < I; F++) J = w[F], v.set(J, K), K += J.length;
return v;
}
});
},
timeout: function() {
I.timeout();
},
error: function(g) {
I.error(g);
}
});
}());
}
function Xa() {
Pa.getStoreState({
result: function(g) {
for (var K = Ja.slice(), I = 0; I < K.length; I++) K[I]({
storeState: g
});
},
timeout: function() {
r.error("Timeout getting store state", "" + e);
},
error: function(g) {
r.error("Error getting store state", "" + g);
}
});
}
Ja = [];
this.addEventHandler = function(g, K) {
switch (g) {
case "shouldpersist":
Ja.push(K);
}
};
this.send = function(q) {
return new Promise(function(K, I) {
var w, x, C;
w = q.timeout;
x = new zd(r, pb, q, Pa.getKeyRequestData());
C = new Ad(q.url);
r.trace("Sending MSL request");
L.request(pb, x, C, w, {
result: function(x) {
var v;
x && x.getMessageHeader();
r.trace("Received MSL response", {
Method: q.method
});
if (x) {
q.allowTokenRefresh && Xa();
v = x.getErrorHeader();
v ? (Lb(v, q.userId), I({
success: !1,
error: v
})) : aa(x, w, {
result: function(g) {
K({
success: !0,
body: Ya(g)
});
},
timeout: function() {
I({
success: !1,
subCode: uc.MSL_READ_TIMEOUT
});
},
error: function(g) {
I({
success: !1,
error: g
});
}
});
} else I({
success: !1,
error: new H(g.INTERNAL_EXCEPTION, "Null response stream"),
description: "Null response stream"
});
},
timeout: function() {
I({
success: !1,
subCode: uc.MSL_REQUEST_TIMEOUT
});
},
error: function(g) {
I({
success: !1,
error: g
});
}
});
});
};
this.hasUserIdToken = function(g) {
return !!Pa.getUserIdToken(g);
};
this.getUserIdTokenKeys = function() {
return Pa.getUserIdTokenKeys();
};
this.removeUserIdToken = Ba;
this.clearUserIdTokens = function() {
Pa.clearUserIdTokens();
Xa();
};
this.isErrorReauth = function(g) {
return g && g.errorCode == l.USERDATA_REAUTH;
};
this.isErrorHeader = function(g) {
return g instanceof Mb;
};
this.getErrorCode = function(g) {
return g && g.errorCode;
};
this.getStateForMdx = function(g) {
var K, I;
K = Pa.getMasterToken();
g = Pa.getUserIdToken(g);
I = Pa.getCryptoContext(K);
return {
masterToken: K,
userIdToken: g,
cryptoContext: I
};
};
this.buildPlayDataRequest = function(g, K) {
var I;
I = new Bd();
L.request(pb, new zd(r, pb, g), I, g.timeout, {
result: function() {
K.result(I.getRequest());
},
error: function() {
K.result(I.getRequest());
},
timeout: function() {
K.timeout();
}
});
};
this.rekeyUserIdToken = function(g, K) {
Pa.rekeyUserIdToken(g, K);
Xa();
};
this.getServiceTokens = function(g) {
var K;
K = Pa.getMasterToken();
(g = Pa.getUserIdToken(g)) && !g.isBoundTo(K) && (g = ka);
return Pa.getServiceTokens(K, g);
};
this.removeServiceToken = function(g) {
var K;
K = Pa.getMasterToken();
Pa.getServiceTokens(K).find(function(I) {
return I.name === g;
}) && (Pa.removeServiceTokens(g, K), Xa());
};
}
function Tc(q, l, r, Pa, L, Q) {
function Ba(l) {
var aa;
return Promise.resolve().then(function() {
aa = q.authenticationKeyNames[l];
if (!aa) throw new H(g.KEY_IMPORT_ERROR, "Invalid config keyName " + l);
return Ka.getKeyByName(aa);
}).then(function(q) {
return new Promise(function(l, K) {
Zb(q, {
result: l,
error: function() {
K(new H(g.KEY_IMPORT_ERROR, "Unable to create " + aa + " CipherKey"));
}
});
});
})["catch"](function(q) {
throw new H(g.KEY_IMPORT_ERROR, "Unable to import " + aa, q);
});
}
return Promise.resolve().then(function() {
if (!Ka.getKeyByName) throw new H(g.INTERNAL_EXCEPTION, "No WebCrypto cryptokeys");
return Promise.all([Ba("e"), Ba("h"), Ba("w")]);
}).then(function(g) {
var aa, Ja, La;
aa = {};
aa[l] = new r(q.esn, g[0], g[1], g[2]);
g = new Pa(q.esn);
Ja = new Le();
Ja = [new L(Ja)];
La = new Q(l);
return {
entityAuthFactories: aa,
entityAuthData: g,
keyExchangeFactories: Ja,
keyRequestData: La
};
});
}
function Uc(q, l, r) {
var pb;
function Pa() {
return Promise.resolve().then(function() {
return Ka.generateKey(l, !1, ["wrapKey", "unwrapKey"]);
}).then(function(g) {
return L(g.publicKey, g.privateKey);
});
}
function L(q, l) {
return Promise.all([new Promise(function(l, aa) {
Nb(q, {
result: l,
error: function(q) {
aa(new H(g.INTERNAL_EXCEPTION, "Unable to create keyx public key", q));
}
});
}), new Promise(function(q, aa) {
$b(l, {
result: q,
error: function(q) {
aa(new H(g.INTERNAL_EXCEPTION, "Unable to create keyx private key", q));
}
});
})]).then(function(g) {
g = new Vc("rsaKeypairId", r, g[0], g[1]);
pb && (g.storeData = {
keyxPublicKey: q,
keyxPrivateKey: l
});
return g;
});
}
pb = !q.systemKeyWrapFormat;
return Promise.resolve().then(function() {
var g, l;
g = q.storeState;
l = g && g.keyxPublicKey;
g = g && g.keyxPrivateKey;
return pb && l && g ? L(l, g) : Pa();
}).then(function(g) {
var l, Xa, Ja;
l = {};
l[Sa.NONE] = new Me();
Xa = new hc(q.esn);
Ja = [new Cd()];
return {
entityAuthFactories: l,
entityAuthData: Xa,
keyExchangeFactories: Ja,
keyRequestData: g,
createKeyRequestData: pb ? Pa : ka
};
});
}
Cb = L.nfCrypto || L.msCrypto || L.webkitCrypto || L.crypto;
Ua = Cb && (Cb.webkitSubtle || Cb.subtle);
wc = L.nfCryptokeys || L.msCryptokeys || L.webkitCryptokeys || L.cryptokeys;
(function(g) {
var q, l;
q = function() {
function g(g, l) {
g instanceof q ? (this.abv = g.abv, this.position = g.position) : (this.abv = g, this.position = l || 0);
}
g.prototype = {
readByte: function() {
return this.abv[this.position++];
},
writeByte: function(g) {
this.abv[this.position++] = g;
},
peekByte: function(g) {
return this.abv[g];
},
copyBytes: function(g, l, q) {
var aa;
aa = new Uint8Array(this.abv.buffer, this.position, q);
g = new Uint8Array(g.buffer, l, q);
aa.set(g);
this.position += q;
},
seek: function(g) {
this.position = g;
},
skip: function(g) {
this.position += g;
},
getPosition: function() {
return this.position;
},
setPosition: function(g) {
this.position = g;
},
getRemaining: function() {
return this.abv.length - this.position;
},
getLength: function() {
return this.abv.length;
},
isEndOfStream: function() {
return this.position >= this.abv.length;
},
show: function() {
return "AbvStream: pos " + (this.getPosition().toString() + " of " + this.getLength().toString());
}
};
return g;
}();
l = {};
(function() {
var J, v, F, Ca, ba, za, xa, Z, qa;
function g(B, v) {
var w;
v.writeByte(B.tagClass << 6 | B.constructed << 5 | B.tag);
w = B.payloadLen;
if (128 > w) v.writeByte(w);
else {
for (var F = w, x = 0; F;) ++x, F >>= 8;
v.writeByte(128 | x);
for (F = 0; F < x; ++F) v.writeByte(w >> 8 * (x - F - 1) & 255);
}
if (B.child)
for (B.tag == J.BIT_STRING && v.writeByte(0), w = B._child; w;) {
if (!g(w, v)) return !1;
w = w.next;
} else switch (B.tag) {
case J.INTEGER:
B.backingStore[B.dataIdx] >> 7 && v.writeByte(0);
v.copyBytes(B.backingStore, B.dataIdx, B.dataLen);
break;
case J.BIT_STRING:
v.writeByte(0);
v.copyBytes(B.backingStore, B.dataIdx, B.dataLen);
break;
case J.OCTET_STRING:
v.copyBytes(B.backingStore, B.dataIdx, B.dataLen);
break;
case J.OBJECT_IDENTIFIER:
v.copyBytes(B.backingStore, B.dataIdx, B.dataLen);
}
return !0;
}
function r(g) {
var B, v;
B = g.readByte();
v = B & 127;
if (v == B) return v;
if (3 < v || 0 === v) return -1;
for (var w = B = 0; w < v; ++w) B = B << 8 | g.readByte();
return B;
}
function H(g, w, F) {
var B, x, I, V, C, ga, K;
B = g.backingStore;
x = new q(B, w);
w += F;
F = g;
if (8 < ba++) return ka;
for (; x.getPosition() < w;) {
x.getPosition();
C = x.readByte();
if (31 == (C & 31)) {
for (V = 0; C & 128;) V <<= 8, V |= C & 127;
C = V;
}
I = C;
V = I & 31;
if (0 > V || 30 < V) return ka;
C = r(x);
if (0 > C || C > x.getRemaining()) return ka;
F.constructed = I & 32;
F.tagClass = (I & 192) >> 6;
F.tag = V;
F.dataLen = C;
F.dataIdx = x.getPosition();
V = x;
ga = I;
I = C;
if (ga & 32) V = !0;
else if (ga < J.BIT_STRING || ga > J.OCTET_STRING) V = !1;
else {
K = new q(V);
ga == J.BIT_STRING && K.skip(1);
K.readByte() >> 6 & 1 ? V = !1 : (ga = r(K), V = K.getPosition() - V.getPosition() + ga == I);
}
V && (V = x.getPosition(), I = C, F.tag == J.BIT_STRING && (F.dataIdx++, F.dataLen--, V++, I--), F.child = new v(B, F), H(F.child, V, I));
F.tag == J.INTEGER && (V = x.getPosition(), 0 == x.peekByte(V) && x.peekByte(V + 1) >> 7 && (F.dataIdx++, F.dataLen--));
x.skip(C);
x.getPosition() < w && (F.next = new v(B, F.parent), F = F.next);
}
ba--;
return g;
}
function L(g, v, w) {
if (9 != w) return !1;
for (w = 0; 9 > w; ++w)
if (g[v++] != za[w]) return !1;
return !0;
}
function aa(g) {
var v;
if (!(g && g.child && g.child.next && g.child.child && g.child.next.child)) return !1;
v = g.child.child;
return L(v.backingStore, v.dataIdx, v.dataLen) && 2 == g.nChildren && 2 == g.child.nChildren && 2 == g.child.next.child.nChildren ? !0 : !1;
}
function Xa(g) {
var v;
if (!(g && g.child && g.child.next && g.child.next.child && g.child.next.next && g.child.next.next.child)) return !1;
v = g.child.next.child;
return L(v.backingStore, v.dataIdx, v.dataLen) && 3 == g.nChildren && 2 == g.child.next.nChildren && 9 == g.child.next.next.child.nChildren ? !0 : !1;
}
function Ja(g) {
var v, B;
v = F.createSequenceNode();
B = new Ca(v);
B.addChild(F.createSequenceNode());
B.addChild(F.createOidNode(za));
B.addSibling(F.createNullNode());
B.addToParent(v, F.createBitStringNode(null));
B.addChild(F.createSequenceNode());
B.addChild(F.createIntegerNode(g.n));
B.addSibling(F.createIntegerNode(g.e));
return v;
}
function La(g) {
var v;
g = g.child.next.child.child;
v = g.data;
g = g.next;
return new xa(v, g.data, null, null);
}
function K(g) {
var v, B;
v = F.createSequenceNode();
B = new Ca(v);
B.addChild(F.createIntegerNode(new Uint8Array([0])));
B.addSibling(F.createSequenceNode());
B.addChild(F.createOidNode(za));
B.addSibling(F.createNullNode());
B.addToParent(v, F.createOctetStringNode(null));
B.addChild(F.createSequenceNode());
B.addChild(F.createIntegerNode(new Uint8Array([0])));
B.addSibling(F.createIntegerNode(g.n));
B.addSibling(F.createIntegerNode(g.e));
B.addSibling(F.createIntegerNode(g.d));
B.addSibling(F.createIntegerNode(g.p));
B.addSibling(F.createIntegerNode(g.q));
B.addSibling(F.createIntegerNode(g.dp));
B.addSibling(F.createIntegerNode(g.dq));
B.addSibling(F.createIntegerNode(g.qi));
return v;
}
function I(g) {
var v;
v = [];
g = g.child.next.next.child.child.next;
for (var B = 0; 8 > B; B++) v.push(g.data), g = g.next;
return new Z(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]);
}
function w(g, v, w, F) {
if (!(g instanceof xa || g instanceof Z)) return ka;
if (w)
for (var B = 0; B < w.length; ++B)
if (-1 == qa.indexOf(w[B])) return ka;
v = {
kty: "RSA",
alg: v,
key_ops: w || [],
ext: F == ka ? !1 : F,
n: ra(g.n, !0),
e: ra(g.e, !0)
};
g instanceof Z && (v.d = ra(g.d, !0), v.p = ra(g.p, !0), v.q = ra(g.q, !0), v.dp = ra(g.dp, !0), v.dq = ra(g.dq, !0), v.qi = ra(g.qi, !0));
return v;
}
function x(g) {
var v, w, B, F, x, I, J, C, ba, K;
if (!g.kty || "RSA" != g.kty || !g.n || !g.e) return ka;
v = "RSA1_5 RSA-OAEP RSA-OAEP-256 RSA-OAEP-384 RSA-OAEP-512 RS256 RS384 RS512".split(" ");
if (g.alg && -1 == v.indexOf(g.alg)) return ka;
v = [];
g.use ? "enc" == g.use ? v = ["encrypt", "decrypt", "wrap", "unwrap"] : "sig" == g.use && (v = ["sign", "verify"]) : v = g.key_ops;
w = g.ext;
B = va(g.n, !0);
F = va(g.e, !0);
if (g.d) {
x = va(g.d, !0);
I = va(g.p, !0);
J = va(g.q, !0);
C = va(g.dp, !0);
ba = va(g.dq, !0);
K = va(g.qi, !0);
return new Z(B, F, x, I, J, C, ba, K, g.alg, v, w);
}
return new xa(B, F, w, v);
}
function C(g, v, w, F) {
this.der = g;
this.type = v;
this.keyOps = w;
this.extractable = F;
}
J = {
BER: 0,
BOOLEAN: 1,
INTEGER: 2,
BIT_STRING: 3,
OCTET_STRING: 4,
NULL: 5,
OBJECT_IDENTIFIER: 6,
OBJECT_DESCRIPTOR: 7,
INSTANCE_OF_EXTERNAL: 8,
REAL: 9,
ENUMERATED: 10,
EMBEDDED_PPV: 11,
UTF8_STRING: 12,
RELATIVE_OID: 13,
SEQUENCE: 16,
SET: 17,
NUMERIC_STRING: 18,
PRINTABLE_STRING: 19,
TELETEX_STRING: 20,
T61_STRING: 20,
VIDEOTEX_STRING: 21,
IA5_STRING: 22,
UTC_TIME: 23,
GENERALIZED_TIME: 24,
GRAPHIC_STRING: 25,
VISIBLE_STRING: 26,
ISO64_STRING: 26,
GENERAL_STRING: 27,
UNIVERSAL_STRING: 28,
CHARACTER_STRING: 29,
BMP_STRING: 30
};
v = function(g, v, w, F, x, I) {
this._data = g;
this._parent = v || ka;
this._constructed = w || !1;
this._tagClass = 0;
this._tag = F || 0;
this._dataIdx = x || 0;
this._dataLen = I || 0;
};
v.prototype = {
_child: ka,
_next: ka,
get data() {
return new Uint8Array(this._data.buffer.slice(this._dataIdx, this._dataIdx + this._dataLen));
},
get backingStore() {
return this._data;
},
get constructed() {
return this._constructed;
},
set constructed(g) {
this._constructed = 0 != g ? !0 : !1;
},
get tagClass() {
return this._tagClass;
},
set tagClass(g) {
this._tagClass = g;
},
get tag() {
return this._tag;
},
set tag(g) {
this._tag = g;
},
get dataIdx() {
return this._dataIdx;
},
set dataIdx(g) {
this._dataIdx = g;
},
get dataLen() {
return this._dataLen;
},
set dataLen(g) {
this._dataLen = g;
},
get child() {
return this._child;
},
set child(g) {
this._child = g;
this._child.parent = this;
},
get next() {
return this._next;
},
set next(g) {
this._next = g;
},
get parent() {
return this._parent;
},
set parent(g) {
this._parent = g;
},
get payloadLen() {
var g;
g = 0;
if (this._child) {
for (var v = this._child; v;) g += v.length, v = v.next;
this._tag == J.BIT_STRING && g++;
} else switch (this._tag) {
case J.INTEGER:
g = this._dataLen;
this._data[this._dataIdx] >> 7 && g++;
break;
case J.BIT_STRING:
g = this._dataLen + 1;
break;
case J.OCTET_STRING:
g = this._dataLen;
break;
case J.NULL:
g = 0;
break;
case J.OBJECT_IDENTIFIER:
L(this._data, this._dataIdx, this._dataLen) && (g = 9);
}
return g;
},
get length() {
var g, v;
g = this.payloadLen;
if (127 < g)
for (v = g; v;) v >>= 8, ++g;
return g + 2;
},
get der() {
var v, w;
v = this.length;
if (!v) return ka;
v = new Uint8Array(v);
w = new q(v);
return g(this, w) ? v : ka;
},
get nChildren() {
for (var g = 0, v = this._child; v;) g++, v = v.next;
return g;
}
};
F = {
createSequenceNode: function() {
return new v(null, null, !0, J.SEQUENCE, null, null);
},
createOidNode: function(g) {
return new v(g, null, !1, J.OBJECT_IDENTIFIER, 0, g ? g.length : 0);
},
createNullNode: function() {
return new v(null, null, !1, J.NULL, null, null);
},
createBitStringNode: function(g) {
return new v(g, null, !1, J.BIT_STRING, 0, g ? g.length : 0);
},
createIntegerNode: function(g) {
return new v(g, null, !1, J.INTEGER, 0, g ? g.length : 0);
},
createOctetStringNode: function(g) {
return new v(g, null, !1, J.OCTET_STRING, 0, g ? g.length : 0);
}
};
Ca = function(g) {
this._currentNode = this._rootNode = g;
};
Ca.prototype = {
addChild: function(g) {
this.addTo(this._currentNode, g);
},
addSibling: function(g) {
this.addTo(this._currentNode.parent, g);
},
addTo: function(g, v) {
this._currentNode = v;
this._currentNode.parent = g;
if (g.child) {
for (var w = g.child; w.next;) w = w.next;
w.next = v;
} else g.child = v;
},
addToParent: function(g, v) {
this.findNode(g) && this.addTo(g, v);
},
findNode: function(g) {
for (var v = this._currentNode; v;) {
if (g == v) return !0;
v = v.parent;
}
return !1;
}
};
ba = 0;
za = new Uint8Array([42, 134, 72, 134, 247, 13, 1, 1, 1]);
xa = function(g, v, w, F) {
this.n = g;
this.e = v;
this.ext = w;
this.keyOps = F;
};
Z = function(g, v, w, F, x, I, J, C, ga, ba, K) {
this.n = g;
this.e = v;
this.d = w;
this.p = F;
this.q = x;
this.dp = I;
this.dq = J;
this.qi = C;
this.alg = ga;
this.keyOps = ba;
this.ext = K;
};
qa = "sign verify encrypt decrypt wrapKey unwrapKey deriveKey deriveBits".split(" ");
C.prototype.getDer = function() {
return this.der;
};
C.prototype.getType = function() {
return this.type;
};
C.prototype.getKeyOps = function() {
return this.keyOps;
};
C.prototype.getExtractable = function() {
return this.extractable;
};
l.parse = function(g) {
ba = 0;
return H(new v(g), 0, g.length);
};
l.show = function(g, v) {};
l.isRsaSpki = aa;
l.isRsaPkcs8 = Xa;
l.NodeFactory = F;
l.Builder = Ca;
l.tagVal = J;
l.RsaPublicKey = xa;
l.RsaPrivateKey = Z;
l.buildRsaSpki = Ja;
l.parseRsaSpki = function(g) {
g = l.parse(g);
return aa ? La(g) : ka;
};
l.buildRsaPkcs8 = K;
l.parseRsaPkcs8 = function(g) {
g = l.parse(g);
return Xa(g) ? I(g) : ka;
};
l.buildRsaJwk = w;
l.parseRsaJwk = x;
l.RsaDer = C;
l.rsaDerToJwk = function(g, v, F, x) {
g = l.parse(g);
if (!g) return ka;
if (aa(g)) g = La(g);
else if (Xa(g)) g = I(g);
else return ka;
return w(g, v, F, x);
};
l.jwkToRsaDer = function(g) {
var v, w;
g = x(g);
if (!g) return ka;
if (g instanceof xa) v = "spki", w = Ja(g).der;
else if (g instanceof Z) v = "pkcs8", w = K(g).der;
else return ka;
return new C(w, v, g.keyOps, g.ext);
};
l.webCryptoAlgorithmToJwkAlg = function(g) {
return "RSAES-PKCS1-v1_5" == g.name ? "RSA1_5" : "RSASSA-PKCS1-v1_5" == g.name ? "SHA-256" == g.hash.name ? "RS256" : "SHA-384" == g.hash.name ? "RS384" : "SHA-512" == g.hash.name ? "RS512" : ka : ka;
};
l.webCryptoUsageToJwkKeyOps = function(g) {
return g.map(function(g) {
return "wrapKey" == g ? "wrap" : "unwrapKey" == g ? "unwrap" : g;
});
};
}());
g.ASN1 = l;
}(L));
(function() {
for (var g = {}, l = {}, q = {
"=": 0,
".": 0
}, r = {
"=": 0,
".": 0
}, H = /\s+/g, L = /^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/_-]*[=]{0,2}$/, Ba = 64; Ba--;) g["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" [Ba]] = 262144 * Ba, l["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" [Ba]] = 4096 * Ba, q["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" [Ba]] = 64 * Ba, r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" [Ba]] = Ba;
for (Ba = 64; Ba-- && "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" [Ba] != "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" [Ba];) g["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" [Ba]] = 262144 * Ba, l["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" [Ba]] = 4096 * Ba, q["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" [Ba]] = 64 * Ba, r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" [Ba]] = Ba;
ra = function(g, l) {
for (var q = "", aa = 0, K = g.length, I = K - 2, w, x = l ? "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", C = l ? "" : "="; aa < I;) w = 65536 * g[aa++] + 256 * g[aa++] + g[aa++], q += x[w >>> 18] + x[w >>> 12 & 63] + x[w >>> 6 & 63] + x[w & 63];
aa == I ? (w = 65536 * g[aa++] + 256 * g[aa++], q += x[w >>> 18] + x[w >>> 12 & 63] + x[w >>> 6 & 63] + C) : aa == K - 1 && (w = 65536 * g[aa++], q += x[w >>> 18] + x[w >>> 12 & 63] + C + C);
return q;
};
va = function(aa, Xa) {
var Ja;
aa = aa.replace(H, "");
if (Xa) {
Ja = aa.length % 4;
if (Ja)
for (var Ja = 4 - Ja, La = 0; La < Ja; ++La) aa += "=";
}
Ja = aa.length;
if (0 != Ja % 4 || !L.test(aa)) throw Error("bad base64: " + aa);
for (var K = Ja / 4 * 3 - ("=" == aa[Ja - 1] ? 1 : 0) - ("=" == aa[Ja - 2] ? 1 : 0), I = new Uint8Array(K), w = 0, x = 0; w < Ja;) La = g[aa[w++]] + l[aa[w++]] + q[aa[w++]] + r[aa[w++]], I[x++] = La >>> 16, x < K && (I[x++] = La >>> 8 & 255, x < K && (I[x++] = La & 255));
return I;
};
}());
cb = {};
(function() {
var L, Ba, aa, Ja;
function g(l) {
if (!(this instanceof g)) return new g(l);
for (var K = 0, I = Ba.length; K < I; K++) this[Ba[K]] = "";
this.bufferCheckPosition = cb.MAX_BUFFER_LENGTH;
this.q = this.c = this.p = "";
this.opt = l || {};
this.closed = this.closedRoot = this.sawRoot = !1;
this.tag = this.error = null;
this.state = aa.BEGIN;
this.stack = new L();
this.index = this.position = this.column = 0;
this.line = 1;
this.slashed = !1;
this.unicodeI = 0;
this.unicodeS = null;
q(this, "onready");
}
function q(g, K, I) {
if (g[K]) g[K](I);
}
function l(g, K) {
var I, w;
I = g.opt;
w = g.textNode;
I.trim && (w = w.trim());
I.normalize && (w = w.replace(/\s+/g, " "));
g.textNode = w;
g.textNode && q(g, K ? K : "onvalue", g.textNode);
g.textNode = "";
}
function r(g, K) {
l(g);
K += "\nLine: " + g.line + "\nColumn: " + g.column + "\nChar: " + g.c;
K = Error(K);
g.error = K;
q(g, "onerror", K);
return g;
}
function H(La) {
La.state !== aa.VALUE && r(La, "Unexpected end");
l(La);
La.c = "";
La.closed = !0;
q(La, "onend");
g.call(La, La.opt);
return La;
}
L = Array;
cb.parser = function(q) {
return new g(q);
};
cb.CParser = g;
cb.MAX_BUFFER_LENGTH = 65536;
cb.DEBUG = !1;
cb.INFO = !1;
cb.EVENTS = "value string key openobject closeobject openarray closearray error end ready".split(" ");
Ba = ["textNode", "numberNode"];
cb.EVENTS.filter(function(g) {
return "error" !== g && "end" !== g;
});
aa = 0;
cb.STATE = {
BEGIN: aa++,
VALUE: aa++,
OPEN_OBJECT: aa++,
CLOSE_OBJECT: aa++,
OPEN_ARRAY: aa++,
CLOSE_ARRAY: aa++,
TEXT_ESCAPE: aa++,
STRING: aa++,
BACKSLASH: aa++,
END: aa++,
OPEN_KEY: aa++,
CLOSE_KEY: aa++,
TRUE: aa++,
TRUE2: aa++,
TRUE3: aa++,
FALSE: aa++,
FALSE2: aa++,
FALSE3: aa++,
FALSE4: aa++,
NULL: aa++,
NULL2: aa++,
NULL3: aa++,
NUMBER_DECIMAL_POINT: aa++,
NUMBER_DIGIT: aa++
};
for (var Xa in cb.STATE) cb.STATE[cb.STATE[Xa]] = Xa;
aa = cb.STATE;
Object.getPrototypeOf || (Object.getPrototypeOf = function(g) {
return g.__proto__;
});
Ja = /[\\"\n]/g;
g.prototype = {
end: function() {
H(this);
},
write: function(g) {
var w, x, C;
if (this.error) throw this.error;
if (this.closed) return r(this, "Cannot write after close. Assign an onready handler.");
if (null === g) return H(this);
for (var K = g[0], I; K;) {
I = K;
this.c = K = g.charAt(this.index++);
I !== K ? this.p = I : I = this.p;
if (!K) break;
this.position++;
"\n" === K ? (this.line++, this.column = 0) : this.column++;
switch (this.state) {
case aa.BEGIN:
"{" === K ? this.state = aa.OPEN_OBJECT : "[" === K ? this.state = aa.OPEN_ARRAY : "\r" !== K && "\n" !== K && " " !== K && "\t" !== K && r(this, "Non-whitespace before {[.");
continue;
case aa.OPEN_KEY:
case aa.OPEN_OBJECT:
if ("\r" === K || "\n" === K || " " === K || "\t" === K) continue;
if (this.state === aa.OPEN_KEY) this.stack.push(aa.CLOSE_KEY);
else if ("}" === K) {
q(this, "onopenobject");
q(this, "oncloseobject");
this.state = this.stack.pop() || aa.VALUE;
continue;
} else this.stack.push(aa.CLOSE_OBJECT);
'"' === K ? this.state = aa.STRING : r(this, 'Malformed object key should start with "');
continue;
case aa.CLOSE_KEY:
case aa.CLOSE_OBJECT:
if ("\r" === K || "\n" === K || " " === K || "\t" === K) continue;
":" === K ? (this.state === aa.CLOSE_OBJECT ? (this.stack.push(aa.CLOSE_OBJECT), l(this, "onopenobject")) : l(this, "onkey"), this.state = aa.VALUE) : "}" === K ? (l(this), q(this, "oncloseobject", void 0), this.state = this.stack.pop() || aa.VALUE) : "," === K ? (this.state === aa.CLOSE_OBJECT && this.stack.push(aa.CLOSE_OBJECT), l(this), this.state = aa.OPEN_KEY) : r(this, "Bad object");
continue;
case aa.OPEN_ARRAY:
case aa.VALUE:
if ("\r" === K || "\n" === K || " " === K || "\t" === K) continue;
if (this.state === aa.OPEN_ARRAY)
if (q(this, "onopenarray"), this.state = aa.VALUE, "]" === K) {
q(this, "onclosearray");
this.state = this.stack.pop() || aa.VALUE;
continue;
} else this.stack.push(aa.CLOSE_ARRAY);
'"' === K ? this.state = aa.STRING : "{" === K ? this.state = aa.OPEN_OBJECT : "[" === K ? this.state = aa.OPEN_ARRAY : "t" === K ? this.state = aa.TRUE : "f" === K ? this.state = aa.FALSE : "n" === K ? this.state = aa.NULL : "-" === K ? this.numberNode += K : "0" === K ? (this.numberNode += K, this.state = aa.NUMBER_DIGIT) : -1 !== "123456789".indexOf(K) ? (this.numberNode += K, this.state = aa.NUMBER_DIGIT) : r(this, "Bad value");
continue;
case aa.CLOSE_ARRAY:
if ("," === K) this.stack.push(aa.CLOSE_ARRAY), l(this, "onvalue"), this.state = aa.VALUE;
else if ("]" === K) l(this), q(this, "onclosearray", void 0), this.state = this.stack.pop() || aa.VALUE;
else if ("\r" === K || "\n" === K || " " === K || "\t" === K) continue;
else r(this, "Bad array");
continue;
case aa.STRING:
I = this.index - 1;
w = this.slashed, x = this.unicodeI;
a: for (;;) {
if (cb.DEBUG)
for (; 0 < x;)
if (this.unicodeS += K, K = g.charAt(this.index++), 4 === x ? (this.textNode += String.fromCharCode(parseInt(this.unicodeS, 16)), x = 0, I = this.index - 1) : x++, !K) break a;
if ('"' === K && !w) {
this.state = this.stack.pop() || aa.VALUE;
(this.textNode += g.substring(I, this.index - 1)) || q(this, "onvalue", "");
break;
}
if ("\\" === K && !w && (w = !0, this.textNode += g.substring(I, this.index - 1), K = g.charAt(this.index++), !K)) break;
if (w)
if (w = !1, "n" === K ? this.textNode += "\n" : "r" === K ? this.textNode += "\r" : "t" === K ? this.textNode += "\t" : "f" === K ? this.textNode += "\f" : "b" === K ? this.textNode += "\b" : "u" === K ? (x = 1, this.unicodeS = "") : this.textNode += K, K = g.charAt(this.index++), I = this.index - 1, K) continue;
else break;
Ja.lastIndex = this.index;
C = Ja.exec(g);
if (null === C) {
this.index = g.length + 1;
this.textNode += g.substring(I, this.index - 1);
break;
}
this.index = C.index + 1;
K = g.charAt(C.index);
if (!K) {
this.textNode += g.substring(I, this.index - 1);
break;
}
}
this.slashed = w;
this.unicodeI = x;
continue;
case aa.TRUE:
if ("" === K) continue;
"r" === K ? this.state = aa.TRUE2 : r(this, "Invalid true started with t" + K);
continue;
case aa.TRUE2:
if ("" === K) continue;
"u" === K ? this.state = aa.TRUE3 : r(this, "Invalid true started with tr" + K);
continue;
case aa.TRUE3:
if ("" === K) continue;
"e" === K ? (q(this, "onvalue", !0), this.state = this.stack.pop() || aa.VALUE) : r(this, "Invalid true started with tru" + K);
continue;
case aa.FALSE:
if ("" === K) continue;
"a" === K ? this.state = aa.FALSE2 : r(this, "Invalid false started with f" + K);
continue;
case aa.FALSE2:
if ("" === K) continue;
"l" === K ? this.state = aa.FALSE3 : r(this, "Invalid false started with fa" + K);
continue;
case aa.FALSE3:
if ("" === K) continue;
"s" === K ? this.state = aa.FALSE4 : r(this, "Invalid false started with fal" + K);
continue;
case aa.FALSE4:
if ("" === K) continue;
"e" === K ? (q(this, "onvalue", !1), this.state = this.stack.pop() || aa.VALUE) : r(this, "Invalid false started with fals" + K);
continue;
case aa.NULL:
if ("" === K) continue;
"u" === K ? this.state = aa.NULL2 : r(this, "Invalid null started with n" + K);
continue;
case aa.NULL2:
if ("" === K) continue;
"l" === K ? this.state = aa.NULL3 : r(this, "Invalid null started with nu" + K);
continue;
case aa.NULL3:
if ("" === K) continue;
"l" === K ? (q(this, "onvalue", null), this.state = this.stack.pop() || aa.VALUE) : r(this, "Invalid null started with nul" + K);
continue;
case aa.NUMBER_DECIMAL_POINT:
"." === K ? (this.numberNode += K, this.state = aa.NUMBER_DIGIT) : r(this, "Leading zero not followed by .");
continue;
case aa.NUMBER_DIGIT:
-1 !== "0123456789".indexOf(K) ? this.numberNode += K : "." === K ? (-1 !== this.numberNode.indexOf(".") && r(this, "Invalid number has two dots"), this.numberNode += K) : "e" === K || "E" === K ? (-1 === this.numberNode.indexOf("e") && -1 === this.numberNode.indexOf("E") || r(this, "Invalid number has two exponential"), this.numberNode += K) : "+" === K || "-" === K ? ("e" !== I && "E" !== I && r(this, "Invalid symbol in number"), this.numberNode += K) : (this.numberNode && q(this, "onvalue", parseFloat(this.numberNode)), this.numberNode = "", this.index--, this.state = this.stack.pop() || aa.VALUE);
continue;
default:
r(this, "Unknown state: " + this.state);
}
}
if (this.position >= this.bufferCheckPosition) {
g = Math.max(cb.MAX_BUFFER_LENGTH, 10);
I = K = 0;
for (w = Ba.length; I < w; I++) {
x = this[Ba[I]].length;
if (x > g) switch (Ba[I]) {
case "text":
break;
default:
r(this, "Max buffer length exceeded: " + Ba[I]);
}
K = Math.max(K, x);
}
this.bufferCheckPosition = cb.MAX_BUFFER_LENGTH - K + this.position;
}
return this;
},
resume: function() {
this.error = null;
return this;
},
close: function() {
return this.write(null);
}
};
}());
(function() {
var r;
function g(g, q) {
q || (q = g.length);
return g.reduce(function(g, l, aa) {
return aa < q ? g + String.fromCharCode(l) : g;
}, "");
}
for (var q = {}, l = 0; 256 > l; ++l) {
r = g([l]);
q[r] = l;
}
for (var H = Object.keys(q).length, L = [], l = 0; 256 > l; ++l) L[l] = [l];
Dd = function(l, aa) {
var v, F;
function r(g, v) {
var F;
for (; 0 < v;) {
if (x >= w.length) return !1;
if (v > C) {
F = g;
F = F >>> v - C;
w[x] |= F & 255;
v -= C;
C = 8;
++x;
} else v <= C && (F = g, F <<= C - v, F &= 255, F >>>= 8 - C, w[x] |= F & 255, C -= v, v = 0, 0 == C && (C = 8, ++x));
}
return !0;
}
for (var Ja in q) aa[Ja] = q[Ja];
for (var La = H, K = [], I = 8, w = new Uint8Array(l.length), x = 0, C = 8, J = 0; J < l.length; ++J) {
v = l[J];
K.push(v);
Ja = g(K);
F = aa[Ja];
if (!F) {
K = g(K, K.length - 1);
if (!r(aa[K], I)) return null;
0 != La >> I && ++I;
aa[Ja] = La++;
K = [v];
}
}
return 0 < K.length && (Ja = g(K), F = aa[Ja], !r(F, I)) ? null : w.subarray(0, 8 > C ? x + 1 : x);
};
Ed = function(g) {
var J, v, C, r;
for (var l = L.slice(), q = 0, r = 0, La = 8, K = new Uint8Array(Math.ceil(1.5 * g.length)), I = 0, w, x = []; q < g.length && !(8 * (g.length - q) - r < La);) {
for (var C = w = 0; C < La;) {
J = Math.min(La - C, 8 - r);
v = g[q];
v = v << r;
v = v & 255;
v = v >>> 8 - J;
C = C + J;
r = r + J;
8 == r && (r = 0, ++q);
w |= (v & 255) << La - C;
}
C = l[w];
0 == x.length ? ++La : (C ? x.push(C[0]) : x.push(x[0]), l[l.length] = x, x = [], l.length == 1 << La && ++La, C || (C = l[w]));
w = I + C.length;
w >= K.length && (J = new Uint8Array(Math.ceil(1.5 * w)), J.set(K), K = J);
K.set(C, I);
I = w;
x = x.concat(C);
}
return K.subarray(0, I);
};
}());
(function() {
var g, q, r;
Ma = "utf-8";
Na = 9007199254740992;
g = Ob = {
GZIP: "GZIP",
LZW: "LZW"
};
Object.freeze(Ob);
Fd = function(q) {
for (var l = [g.GZIP, g.LZW], r = 0; r < l.length && 0 < q.length; ++r)
for (var H = l[r], aa = 0; aa < q.length; ++aa)
if (q[aa] == H) return H;
return null;
};
q = xc = {
AES_CBC_PKCS5Padding: "AES/CBC/PKCS5Padding",
AESWrap: "AESWrap",
RSA_ECB_PKCS1Padding: "RSA/ECB/PKCS1Padding"
};
Object.freeze(xc);
Gd = function(g) {
return q.AES_CBC_PKCS5Padding == g ? q.AES_CBC_PKCS5Padding : q.RSA_ECB_PKCS1Padding == g ? q.RSA_ECB_PKCS1Padding : q[g];
};
r = Hd = {
HmacSHA256: "HmacSHA256",
SHA256withRSA: "SHA256withRSA"
};
Object.freeze(Hd);
Wc = function(g) {
return r[g];
};
l = {
FAIL: 1,
TRANSIENT_FAILURE: 2,
ENTITY_REAUTH: 3,
USER_REAUTH: 4,
KEYX_REQUIRED: 5,
ENTITYDATA_REAUTH: 6,
USERDATA_REAUTH: 7,
EXPIRED: 8,
REPLAYED: 9,
SSOTOKEN_REJECTED: 10
};
Object.freeze(l);
}());
na = {
isObjectLiteral: function(g) {
return null !== g && "object" === typeof g && g.constructor === Object;
},
extendDeep: function() {
var g, q, l, r, H, L, Ba, aa;
g = arguments[0];
q = 1;
l = arguments.length;
r = !1;
"boolean" === typeof g && (r = g, g = arguments[1], q = 2);
for (; q < l; q++)
if (null != (H = arguments[q]))
for (L in H) r && L in g || (aa = H[L], g !== aa && aa !== ka && (Ba = g[L], g[L] = null !== Ba && null !== aa && "object" === typeof Ba && "object" === typeof aa ? na.extendDeep(r, {}, Ba, aa) : aa));
return g;
}
};
(function() {
var Ba, aa;
function g(g, q) {
return function() {
var l, K;
l = g.base;
g.base = q;
K = g.apply(this, arguments);
g.base = l;
return K;
};
}
function q(q, l, r) {
var K, I, w, x;
r = r || aa;
x = !!r.extendAll;
for (K in l) I = l.__lookupGetter__(K), w = l.__lookupSetter__(K), I || w ? (I && q.__defineGetter__(K, I), w && q.__defineSetter__(K, w)) : (I = l[K], w = q[K], "function" === typeof I && "function" === typeof w && I !== w ? (I.base !== Function.prototype.base && (I = g(I, w)), I.base = w) : (x || r[K]) && na.isObjectLiteral(I) && na.isObjectLiteral(w) && (I = na.extendDeep({}, w, I)), q[K] = I);
}
function l() {
var g, q;
g = Array.prototype.slice;
q = g.call(arguments, 1);
return this.extend({
init: function K() {
var I;
I = g.call(arguments, 0);
K.base.apply(this, q.concat(I));
}
});
}
function r(g, l) {
var aa;
aa = new this(Ba);
q(aa, g, l);
return L(aa);
}
function H(g, l) {
q(this.prototype, g, l);
return this;
}
function L(g) {
var q;
q = function() {
var g;
g = this.init;
g && arguments[0] !== Ba && g.apply(this, arguments);
};
g && (q.prototype = g);
q.prototype.constructor = q;
q.extend = r;
q.bind = l;
q.mixin = H;
return q;
}
Ba = {};
aa = {
actions: !0
};
Function.prototype.base = function() {};
na.Class = {
create: L,
mixin: q,
extend: function(g, q) {
var l;
l = L();
l.prototype = new g();
return l.extend(q);
}
};
na.mixin = function() {
na.log && na.log.warn("util.mixin is deprecated. Please change your code to use util.Class.mixin()");
q.apply(null, arguments);
};
}());
(function() {
var Ba, aa, Xa;
function g(g, q) {
return function() {
var l, I;
l = g.base;
g.base = q;
I = g.apply(this, arguments);
g.base = l;
return I;
};
}
function q(q, l, K) {
var I, w, x, C;
K = K || aa;
C = !!K.extendAll;
for (I in l) w = l.__lookupGetter__(I), x = l.__lookupSetter__(I), w || x ? (w && q.__defineGetter__(I, w), x && q.__defineSetter__(I, x)) : (w = l[I], x = q[I], "function" === typeof w && "function" === typeof x && w !== x ? (w.base !== Xa && (w = g(w, x)), w.base = x) : (C || K[I]) && na.isObjectLiteral(w) && na.isObjectLiteral(x) && (w = na.extendDeep({}, x, w)), q[I] = w);
}
function l() {
var g, q;
g = Array.prototype.slice;
q = g.call(arguments, 1);
return this.extend({
init: function I() {
var w;
w = g.call(arguments, 0);
I.base.apply(this, q.concat(w));
}
});
}
function r(g, l) {
var K;
K = new this(Ba);
q(K, g, l);
return L(K);
}
function H(g, l) {
q(this.prototype, g, l);
return this;
}
function L(g) {
var q;
q = function() {
var g;
g = this.init;
g && arguments[0] !== Ba && g.apply(this, arguments);
};
g && (q.prototype = g);
q.prototype.constructor = q;
q.extend = r;
q.bind = l;
q.mixin = H;
return q;
}
Ba = {};
aa = {
actions: !0
};
Xa = function() {};
Function.prototype.base = Xa;
na.Class = {
create: L,
mixin: q,
extend: function(g, q) {
var l;
l = L();
l.prototype = new g();
return l.extend(q);
}
};
na.mixin = function() {
na.log && na.log.warn("util.mixin is deprecated. Please change your code to use util.Class.mixin()");
q.apply(null, arguments);
};
}());
(function() {
function g(g) {
return g == Na ? 1 : g + 1;
}
function q(q) {
if (0 === Object.keys(q._waiters).length) return 0;
for (var l = g(q._nextWaiter); !q._waiters[l];) l = g(l);
return l;
}
ic = na.Class.create({
init: function() {
Object.defineProperties(this, {
_queue: {
value: [],
writable: !1,
enumerable: !1,
configurable: !1
},
_waiters: {
value: {},
writable: !1,
enumerable: !1,
configurable: !1
},
_nextWaiter: {
value: 0,
writable: !0,
enumerable: !1,
configurable: !1
},
_lastWaiter: {
value: 0,
writable: !0,
enumerable: !1,
configurable: !1
}
});
},
cancel: function(g) {
var l;
if (this._waiters[g]) {
l = this._waiters[g];
delete this._waiters[g];
g == this._nextWaiter && (this._nextWaiter = q(this));
l.call(this, ka);
}
},
cancelAll: function() {
for (; 0 !== this._nextWaiter;) this.cancel(this._nextWaiter);
},
poll: function(l, H) {
var L, Q;
L = this;
Q = g(this._lastWaiter);
this._lastWaiter = Q;
r(H, function() {
var g, aa;
if (0 < this._queue.length) {
g = this._queue.shift();
setTimeout(function() {
H.result(g);
}, 0);
} else {
-1 != l && (aa = setTimeout(function() {
delete L._waiters[Q];
Q == L._nextWaiter && (L._nextWaiter = q(L));
H.timeout();
}, l));
this._waiters[Q] = function(g) {
clearTimeout(aa);
setTimeout(function() {
H.result(g);
}, 0);
};
this._nextWaiter || (this._nextWaiter = Q);
}
}, L);
return Q;
},
add: function(g) {
var l;
if (this._nextWaiter) {
l = this._waiters[this._nextWaiter];
delete this._waiters[this._nextWaiter];
this._nextWaiter = q(this);
l.call(this, g);
} else this._queue.push(g);
}
});
}());
(function() {
var g;
g = 0 - Na;
Id = na.Class.create({
nextBoolean: function() {
var g;
g = new Uint8Array(1);
Cb.getRandomValues(g);
return g[0] & 1 ? !0 : !1;
},
nextInt: function(g) {
var q;
if (null !== g && g !== ka) {
if ("number" !== typeof g) throw new TypeError("n must be of type number");
if (1 > g) throw new RangeError("n must be greater than zero");
--g;
q = new Uint8Array(4);
Cb.getRandomValues(q);
return Math.floor(((q[3] & 127) << 24 | q[2] << 16 | q[1] << 8 | q[0]) / 2147483648 * (g - 0 + 1) + 0);
}
g = new Uint8Array(4);
Cb.getRandomValues(g);
q = (g[3] & 127) << 24 | g[2] << 16 | g[1] << 8 | g[0];
return g[3] & 128 ? -q : q;
},
nextLong: function() {
var l, q;
for (var q = g; q == g;) {
q = new Uint8Array(7);
Cb.getRandomValues(q);
l = 16777216 * ((q[6] & 31) << 24 | q[5] << 16 | q[4] << 8 | q[3]) + (q[2] << 16 | q[1] << 8 | q[0]);
q = q[6] & 128 ? -l - 1 : l;
}
return q;
},
nextBytes: function(g) {
Cb.getRandomValues(g);
}
});
}());
(function() {
function g(g) {
return g == Na ? 1 : g + 1;
}
function q(q) {
if (0 === Object.keys(q._waitingReaders).length) return 0;
for (var l = g(q._nextReader); !q._waitingReaders[l];) l = g(l);
return l;
}
function l(q) {
if (0 === Object.keys(q._waitingWriters).length) return 0;
for (var l = g(q._nextWriter); !q._waitingWriters[l];) l = g(l);
return l;
}
Xc = na.Class.create({
init: function() {
Object.defineProperties(this, {
_readers: {
value: {},
writable: !1,
enumerable: !1,
configurable: !1
},
_waitingReaders: {
value: {},
writable: !1,
enumerable: !1,
configurable: !1
},
_writer: {
value: null,
writable: !0,
enumerable: !1,
configurable: !1
},
_waitingWriters: {
value: {},
writable: !1,
enumerable: !1,
configurable: !1
},
_nextReader: {
value: 0,
writable: !0,
enumerable: !1,
configurable: !1
},
_nextWriter: {
value: 0,
writable: !0,
enumerable: !1,
configurable: !1
},
_lastNumber: {
value: 0,
writable: !0,
enumerable: !1,
configurable: !1
}
});
},
cancel: function(g) {
var r;
if (this._waitingReaders[g]) {
r = this._waitingReaders[g];
delete this._waitingReaders[g];
g == this._nextReader && (this._nextReader = q(this));
r.call(this, !0);
}
this._waitingWriters[g] && (r = this._waitingWriters[g], delete this._waitingWriters[g], g == this._nextWriter && (this._nextWriter = l(this)), r.call(this, !0));
},
cancelAll: function() {
for (; 0 !== this._nextWriter;) this.cancel(this._nextWriter);
for (; 0 !== this._nextReader;) this.cancel(this._nextReader);
},
readLock: function(l, H) {
var L, Q;
L = this;
Q = g(this._lastNumber);
this._lastNumber = Q;
r(H, function() {
var g;
if (!this._writer && 0 === Object.keys(this._waitingWriters).length) return this._readers[Q] = !0, Q; - 1 != l && (g = setTimeout(function() {
delete L._waitingReaders[Q];
Q == L._nextReader && (L._nextReader = q(L));
H.timeout();
}, l));
this._waitingReaders[Q] = function(q) {
clearTimeout(g);
q ? setTimeout(function() {
H.result(ka);
}, 0) : (L._readers[Q] = !0, setTimeout(function() {
H.result(Q);
}, 0));
};
this._nextReader || (this._nextReader = Q);
}, L);
return Q;
},
writeLock: function(q, H) {
var L, Q;
L = this;
Q = g(this._lastNumber);
this._lastNumber = Q;
r(H, function() {
var g;
if (0 === Object.keys(this._readers).length && 0 === Object.keys(this._waitingReaders).length && !this._writer) return this._writer = Q; - 1 != q && (g = setTimeout(function() {
delete L._waitingWriters[Q];
Q == L._nextWriter && (L._nextWriter = l(L));
H.timeout();
}, q));
this._waitingWriters[Q] = function(q) {
clearTimeout(g);
q ? setTimeout(function() {
H.result(ka);
}, 0) : (L._writer = Q, setTimeout(function() {
H.result(Q);
}, 0));
};
this._nextWriter || (this._nextWriter = Q);
}, L);
return Q;
},
unlock: function(q) {
if (q == this._writer) this._writer = null;
else {
if (!this._readers[q]) throw new fa("There is no reader or writer with ticket number " + q + ".");
delete this._readers[q];
}
if (this._nextWriter) 0 < Object.keys(this._readers).length || (q = this._waitingWriters[this._nextWriter], delete this._waitingWriters[this._nextWriter], this._nextWriter = l(this), q.call(this, !1));
else {
for (var r = this._nextReader; 0 < Object.keys(this._waitingReaders).length; r = g(r)) this._waitingReaders[r] && (q = this._waitingReaders[r], delete this._waitingReaders[r], q.call(this, !1));
this._nextReader = 0;
}
}
});
}());
na.Class.mixin(g, {
JSON_PARSE_ERROR: new g(0, l.FAIL, "Error parsing JSON."),
JSON_ENCODE_ERROR: new g(1, l.FAIL, "Error encoding JSON."),
ENVELOPE_HASH_MISMATCH: new g(2, l.FAIL, "Computed hash does not match envelope hash."),
INVALID_PUBLIC_KEY: new g(3, l.FAIL, "Invalid public key provided."),
INVALID_PRIVATE_KEY: new g(4, l.FAIL, "Invalid private key provided."),
PLAINTEXT_ILLEGAL_BLOCK_SIZE: new g(5, l.FAIL, "Plaintext is not a multiple of the block size."),
PLAINTEXT_BAD_PADDING: new g(6, l.FAIL, "Plaintext contains incorrect padding."),
CIPHERTEXT_ILLEGAL_BLOCK_SIZE: new g(7, l.FAIL, "Ciphertext is not a multiple of the block size."),
CIPHERTEXT_BAD_PADDING: new g(8, l.FAIL, "Ciphertext contains incorrect padding."),
ENCRYPT_NOT_SUPPORTED: new g(9, l.FAIL, "Encryption not supported."),
DECRYPT_NOT_SUPPORTED: new g(10, l.FAIL, "Decryption not supported."),
ENVELOPE_KEY_ID_MISMATCH: new g(11, l.FAIL, "Encryption envelope key ID does not match crypto context key ID."),
CIPHERTEXT_ENVELOPE_PARSE_ERROR: new g(12, l.FAIL, "Error parsing ciphertext envelope."),
CIPHERTEXT_ENVELOPE_ENCODE_ERROR: new g(13, l.FAIL, "Error encoding ciphertext envelope."),
SIGN_NOT_SUPPORTED: new g(14, l.FAIL, "Sign not supported."),
VERIFY_NOT_SUPPORTED: new g(15, l.FAIL, "Verify not suppoprted."),
SIGNATURE_ERROR: new g(16, l.FAIL, "Signature not initialized or unable to process data/signature."),
HMAC_ERROR: new g(17, l.FAIL, "Error computing HMAC."),
ENCRYPT_ERROR: new g(18, l.FAIL, "Error encrypting plaintext."),
DECRYPT_ERROR: new g(19, l.FAIL, "Error decrypting ciphertext."),
INSUFFICIENT_CIPHERTEXT: new g(20, l.FAIL, "Insufficient ciphertext for decryption."),
SESSION_KEY_CREATION_FAILURE: new g(21, l.FAIL, "Error when creating session keys."),
ASN1_PARSE_ERROR: new g(22, l.FAIL, "Error parsing ASN.1."),
ASN1_ENCODE_ERROR: new g(23, l.FAIL, "Error encoding ASN.1."),
INVALID_SYMMETRIC_KEY: new g(24, l.FAIL, "Invalid symmetric key provided."),
INVALID_ENCRYPTION_KEY: new g(25, l.FAIL, "Invalid encryption key."),
INVALID_HMAC_KEY: new g(26, l.FAIL, "Invalid HMAC key."),
WRAP_NOT_SUPPORTED: new g(27, l.FAIL, "Wrap not supported."),
UNWRAP_NOT_SUPPORTED: new g(28, l.FAIL, "Unwrap not supported."),
UNIDENTIFIED_JWK_TYPE: new g(29, l.FAIL, "Unidentified JSON web key type."),
UNIDENTIFIED_JWK_USAGE: new g(30, l.FAIL, "Unidentified JSON web key usage."),
UNIDENTIFIED_JWK_ALGORITHM: new g(31, l.FAIL, "Unidentified JSON web key algorithm."),
WRAP_ERROR: new g(32, l.FAIL, "Error wrapping plaintext."),
UNWRAP_ERROR: new g(33, l.FAIL, "Error unwrapping ciphertext."),
INVALID_JWK: new g(34, l.FAIL, "Invalid JSON web key."),
INVALID_JWK_KEYDATA: new g(35, l.FAIL, "Invalid JSON web key keydata."),
UNSUPPORTED_JWK_ALGORITHM: new g(36, l.FAIL, "Unsupported JSON web key algorithm."),
WRAP_KEY_CREATION_FAILURE: new g(37, l.FAIL, "Error when creating wrapping key."),
INVALID_WRAP_CIPHERTEXT: new g(38, l.FAIL, "Invalid wrap ciphertext."),
UNSUPPORTED_JWE_ALGORITHM: new g(39, l.FAIL, "Unsupported JSON web encryption algorithm."),
JWE_ENCODE_ERROR: new g(40, l.FAIL, "Error encoding JSON web encryption header."),
JWE_PARSE_ERROR: new g(41, l.FAIL, "Error parsing JSON web encryption header."),
INVALID_ALGORITHM_PARAMS: new g(42, l.FAIL, "Invalid algorithm parameters."),
JWE_ALGORITHM_MISMATCH: new g(43, l.FAIL, "JSON web encryption header algorithms mismatch."),
KEY_IMPORT_ERROR: new g(44, l.FAIL, "Error importing key."),
KEY_EXPORT_ERROR: new g(45, l.FAIL, "Error exporting key."),
DIGEST_ERROR: new g(46, l.FAIL, "Error in digest."),
UNSUPPORTED_KEY: new g(47, l.FAIL, "Unsupported key type or algorithm."),
UNSUPPORTED_JWE_SERIALIZATION: new g(48, l.FAIL, "Unsupported JSON web encryption serialization."),
XML_PARSE_ERROR: new g(49, l.FAIL, "Error parsing XML."),
XML_ENCODE_ERROR: new g(50, l.FAIL, "Error encoding XML."),
INVALID_WRAPPING_KEY: new g(51, l.FAIL, "Invalid wrapping key."),
UNIDENTIFIED_CIPHERTEXT_ENVELOPE: new g(52, l.FAIL, "Unidentified ciphertext envelope version."),
UNIDENTIFIED_SIGNATURE_ENVELOPE: new g(53, l.FAIL, "Unidentified signature envelope version."),
UNSUPPORTED_CIPHERTEXT_ENVELOPE: new g(54, l.FAIL, "Unsupported ciphertext envelope version."),
UNSUPPORTED_SIGNATURE_ENVELOPE: new g(55, l.FAIL, "Unsupported signature envelope version."),
UNIDENTIFIED_CIPHERSPEC: new g(56, l.FAIL, "Unidentified cipher specification."),
UNIDENTIFIED_ALGORITHM: new g(57, l.FAIL, "Unidentified algorithm."),
SIGNATURE_ENVELOPE_PARSE_ERROR: new g(58, l.FAIL, "Error parsing signature envelope."),
SIGNATURE_ENVELOPE_ENCODE_ERROR: new g(59, l.FAIL, "Error encoding signature envelope."),
INVALID_SIGNATURE: new g(60, l.FAIL, "Invalid signature."),
WRAPKEY_FINGERPRINT_NOTSUPPORTED: new g(61, l.FAIL, "Wrap key fingerprint not supported"),
UNIDENTIFIED_JWK_KEYOP: new g(62, l.FAIL, "Unidentified JSON web key key operation."),
MASTERTOKEN_UNTRUSTED: new g(1E3, l.ENTITY_REAUTH, "Master token is not trusted."),
MASTERTOKEN_KEY_CREATION_ERROR: new g(1001, l.ENTITY_REAUTH, "Unable to construct symmetric keys from master token."),
MASTERTOKEN_EXPIRES_BEFORE_RENEWAL: new g(1002, l.ENTITY_REAUTH, "Master token expiration timestamp is before the renewal window opens."),
MASTERTOKEN_SESSIONDATA_MISSING: new g(1003, l.ENTITY_REAUTH, "No master token session data found."),
MASTERTOKEN_SEQUENCE_NUMBER_OUT_OF_RANGE: new g(1004, l.ENTITY_REAUTH, "Master token sequence number is out of range."),
MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE: new g(1005, l.ENTITY_REAUTH, "Master token serial number is out of range."),
MASTERTOKEN_TOKENDATA_INVALID: new g(1006, l.ENTITY_REAUTH, "Invalid master token data."),
MASTERTOKEN_SIGNATURE_INVALID: new g(1007, l.ENTITY_REAUTH, "Invalid master token signature."),
MASTERTOKEN_SESSIONDATA_INVALID: new g(1008, l.ENTITY_REAUTH, "Invalid master token session data."),
MASTERTOKEN_SEQUENCE_NUMBER_OUT_OF_SYNC: new g(1009, l.ENTITY_REAUTH, "Master token sequence number does not have the expected value."),
MASTERTOKEN_TOKENDATA_MISSING: new g(1010, l.ENTITY_REAUTH, "No master token data found."),
MASTERTOKEN_TOKENDATA_PARSE_ERROR: new g(1011, l.ENTITY_REAUTH, "Error parsing master token data."),
MASTERTOKEN_SESSIONDATA_PARSE_ERROR: new g(1012, l.ENTITY_REAUTH, "Error parsing master token session data."),
MASTERTOKEN_IDENTITY_REVOKED: new g(1013, l.ENTITY_REAUTH, "Master token entity identity is revoked."),
MASTERTOKEN_REJECTED_BY_APP: new g(1014, l.ENTITY_REAUTH, "Master token is rejected by the application."),
USERIDTOKEN_MASTERTOKEN_MISMATCH: new g(2E3, l.USER_REAUTH, "User ID token master token serial number does not match master token serial number."),
USERIDTOKEN_NOT_DECRYPTED: new g(2001, l.USER_REAUTH, "User ID token is not decrypted or verified."),
USERIDTOKEN_MASTERTOKEN_NULL: new g(2002, l.USER_REAUTH, "User ID token requires a master token."),
USERIDTOKEN_EXPIRES_BEFORE_RENEWAL: new g(2003, l.USER_REAUTH, "User ID token expiration timestamp is before the renewal window opens."),
USERIDTOKEN_USERDATA_MISSING: new g(2004, l.USER_REAUTH, "No user ID token user data found."),
USERIDTOKEN_MASTERTOKEN_NOT_FOUND: new g(2005, l.USER_REAUTH, "User ID token is bound to an unknown master token."),
USERIDTOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE: new g(2006, l.USER_REAUTH, "User ID token master token serial number is out of range."),
USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE: new g(2007, l.USER_REAUTH, "User ID token serial number is out of range."),
USERIDTOKEN_TOKENDATA_INVALID: new g(2008, l.USER_REAUTH, "Invalid user ID token data."),
USERIDTOKEN_SIGNATURE_INVALID: new g(2009, l.USER_REAUTH, "Invalid user ID token signature."),
USERIDTOKEN_USERDATA_INVALID: new g(2010, l.USER_REAUTH, "Invalid user ID token user data."),
USERIDTOKEN_IDENTITY_INVALID: new g(2011, l.USER_REAUTH, "Invalid user ID token user identity."),
RESERVED_2012: new g(2012, l.USER_REAUTH, "The entity is not associated with the user."),
USERIDTOKEN_IDENTITY_NOT_FOUND: new g(2013, l.USER_REAUTH, "The user identity was not found."),
USERIDTOKEN_PASSWORD_VERSION_CHANGED: new g(2014, l.USER_REAUTH, "The user identity must be reauthenticated because the password version changed."),
USERIDTOKEN_USERAUTH_DATA_MISMATCH: new g(2015, l.USER_REAUTH, "The user ID token and user authentication data user identities do not match."),
USERIDTOKEN_TOKENDATA_MISSING: new g(2016, l.USER_REAUTH, "No user ID token data found."),
USERIDTOKEN_TOKENDATA_PARSE_ERROR: new g(2017, l.USER_REAUTH, "Error parsing user ID token data."),
USERIDTOKEN_USERDATA_PARSE_ERROR: new g(2018, l.USER_REAUTH, "Error parsing user ID token user data."),
USERIDTOKEN_REVOKED: new g(2019, l.USER_REAUTH, "User ID token is revoked."),
USERIDTOKEN_REJECTED_BY_APP: new g(2020, l.USER_REAUTH, "User ID token is rejected by the application."),
SERVICETOKEN_MASTERTOKEN_MISMATCH: new g(3E3, l.FAIL, "Service token master token serial number does not match master token serial number."),
SERVICETOKEN_USERIDTOKEN_MISMATCH: new g(3001, l.FAIL, "Service token user ID token serial number does not match user ID token serial number."),
SERVICETOKEN_SERVICEDATA_INVALID: new g(3002, l.FAIL, "Service token data invalid."),
SERVICETOKEN_MASTERTOKEN_NOT_FOUND: new g(3003, l.FAIL, "Service token is bound to an unknown master token."),
SERVICETOKEN_USERIDTOKEN_NOT_FOUND: new g(3004, l.FAIL, "Service token is bound to an unknown user ID token."),
SERVICETOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE: new g(3005, l.FAIL, "Service token master token serial number is out of range."),
SERVICETOKEN_USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE: new g(3006, l.FAIL, "Service token user ID token serial number is out of range."),
SERVICETOKEN_TOKENDATA_INVALID: new g(3007, l.FAIL, "Invalid service token data."),
SERVICETOKEN_SIGNATURE_INVALID: new g(3008, l.FAIL, "Invalid service token signature."),
SERVICETOKEN_TOKENDATA_MISSING: new g(3009, l.FAIL, "No service token data found."),
UNIDENTIFIED_ENTITYAUTH_SCHEME: new g(4E3, l.FAIL, "Unable to identify entity authentication scheme."),
ENTITYAUTH_FACTORY_NOT_FOUND: new g(4001, l.FAIL, "No factory registered for entity authentication scheme."),
X509CERT_PARSE_ERROR: new g(4002, l.ENTITYDATA_REAUTH, "Error parsing X.509 certificate data."),
X509CERT_ENCODE_ERROR: new g(4003, l.ENTITYDATA_REAUTH, "Error encoding X.509 certificate data."),
X509CERT_VERIFICATION_FAILED: new g(4004, l.ENTITYDATA_REAUTH, "X.509 certificate verification failed."),
ENTITY_NOT_FOUND: new g(4005, l.FAIL, "Entity not recognized."),
INCORRECT_ENTITYAUTH_DATA: new g(4006, l.FAIL, "Entity used incorrect entity authentication data type."),
RSA_PUBLICKEY_NOT_FOUND: new g(4007, l.ENTITYDATA_REAUTH, "RSA public key not found."),
NPTICKET_GRACE_PERIOD_EXCEEDED: new g(4008, l.ENTITYDATA_REAUTH, "Fake NP-Tickets cannot be used after the grace period when the Playstation Network is up."),
NPTICKET_SERVICE_ID_MISSING: new g(4009, l.ENTITYDATA_REAUTH, "NP-Ticket service ID is missing."),
NPTICKET_SERVICE_ID_DISALLOWED: new g(4010, l.ENTITYDATA_REAUTH, "NP-Ticket service ID is not allowed."),
NPTICKET_NOT_YET_VALID: new g(4011, l.ENTITYDATA_REAUTH, "NP-Ticket issuance date is in the future."),
NPTICKET_EXPIRED: new g(4012, l.ENTITYDATA_REAUTH, "NP-Ticket has expired."),
NPTICKET_PRIVATE_KEY_NOT_FOUND: new g(4013, l.ENTITYDATA_REAUTH, "No private key found for NP-Ticket GUID."),
NPTICKET_COOKIE_VERIFICATION_FAILED: new g(4014, l.ENTITYDATA_REAUTH, "NP-Ticket cookie signature verification failed."),
NPTICKET_INCORRECT_COOKIE_VERSION: new g(4015, l.ENTITYDATA_REAUTH, "Incorrect NP-Ticket cookie version."),
NPTICKET_BROKEN: new g(4016, l.ENTITYDATA_REAUTH, "NP-Ticket broken."),
NPTICKET_VERIFICATION_FAILED: new g(4017, l.ENTITYDATA_REAUTH, "NP-Ticket signature verification failed."),
NPTICKET_ERROR: new g(4018, l.ENTITYDATA_REAUTH, "Unknown NP-Ticket TCM error."),
NPTICKET_CIPHER_INFO_NOT_FOUND: new g(4019, l.ENTITYDATA_REAUTH, "No cipher information found for NP-Ticket."),
NPTICKET_INVALID_CIPHER_INFO: new g(4020, l.ENTITYDATA_REAUTH, "Cipher information for NP-Ticket is invalid."),
NPTICKET_UNSUPPORTED_VERSION: new g(4021, l.ENTITYDATA_REAUTH, "Unsupported NP-Ticket version."),
NPTICKET_INCORRECT_KEY_LENGTH: new g(4022, l.ENTITYDATA_REAUTH, "Incorrect NP-Ticket public key length."),
UNSUPPORTED_ENTITYAUTH_DATA: new g(4023, l.FAIL, "Unsupported entity authentication data."),
CRYPTEX_RSA_KEY_SET_NOT_FOUND: new g(4024, l.FAIL, "Cryptex RSA key set not found."),
ENTITY_REVOKED: new g(4025, l.FAIL, "Entity is revoked."),
ENTITY_REJECTED_BY_APP: new g(4026, l.ENTITYDATA_REAUTH, "Entity is rejected by the application."),
FORCE_LOGIN: new g(5E3, l.USERDATA_REAUTH, "User must login again."),
NETFLIXID_COOKIES_EXPIRED: new g(5001, l.USERDATA_REAUTH, "Netflix ID cookie identity has expired."),
NETFLIXID_COOKIES_BLANK: new g(5002, l.USERDATA_REAUTH, "Netflix ID or Secure Netflix ID cookie is blank."),
UNIDENTIFIED_USERAUTH_SCHEME: new g(5003, l.FAIL, "Unable to identify user authentication scheme."),
USERAUTH_FACTORY_NOT_FOUND: new g(5004, l.FAIL, "No factory registered for user authentication scheme."),
EMAILPASSWORD_BLANK: new g(5005, l.USERDATA_REAUTH, "Email or password is blank."),
AUTHMGR_COMMS_FAILURE: new g(5006, l.TRANSIENT_FAILURE, "Error communicating with authentication manager."),
EMAILPASSWORD_INCORRECT: new g(5007, l.USERDATA_REAUTH, "Email or password is incorrect."),
UNSUPPORTED_USERAUTH_DATA: new g(5008, l.FAIL, "Unsupported user authentication data."),
SSOTOKEN_BLANK: new g(5009, l.SSOTOKEN_REJECTED, "SSO token is blank."),
SSOTOKEN_NOT_ASSOCIATED: new g(5010, l.USERDATA_REAUTH, "SSO token is not associated with a Netflix user."),
USERAUTH_USERIDTOKEN_INVALID: new g(5011, l.USERDATA_REAUTH, "User authentication data user ID token is invalid."),
PROFILEID_BLANK: new g(5012, l.USERDATA_REAUTH, "Profile ID is blank."),
UNIDENTIFIED_USERAUTH_MECHANISM: new g(5013, l.FAIL, "Unable to identify user authentication mechanism."),
UNSUPPORTED_USERAUTH_MECHANISM: new g(5014, l.FAIL, "Unsupported user authentication mechanism."),
SSOTOKEN_INVALID: new g(5015, l.SSOTOKEN_REJECTED, "SSO token invalid."),
USERAUTH_MASTERTOKEN_MISSING: new g(5016, l.USERDATA_REAUTH, "User authentication required master token is missing."),
ACCTMGR_COMMS_FAILURE: new g(5017, l.TRANSIENT_FAILURE, "Error communicating with the account manager."),
SSO_ASSOCIATION_FAILURE: new g(5018, l.TRANSIENT_FAILURE, "SSO user association failed."),
SSO_DISASSOCIATION_FAILURE: new g(5019, l.TRANSIENT_FAILURE, "SSO user disassociation failed."),
MDX_USERAUTH_VERIFICATION_FAILED: new g(5020, l.USERDATA_REAUTH, "MDX user authentication data verification failed."),
USERAUTH_USERIDTOKEN_NOT_DECRYPTED: new g(5021, l.USERDATA_REAUTH, "User authentication data user ID token is not decrypted or verified."),
MDX_USERAUTH_ACTION_INVALID: new g(5022, l.USERDATA_REAUTH, "MDX user authentication data action is invalid."),
CTICKET_DECRYPT_ERROR: new g(5023, l.USERDATA_REAUTH, "CTicket decryption failed."),
USERAUTH_MASTERTOKEN_INVALID: new g(5024, l.USERDATA_REAUTH, "User authentication data master token is invalid."),
USERAUTH_MASTERTOKEN_NOT_DECRYPTED: new g(5025, l.USERDATA_REAUTH, "User authentication data master token is not decrypted or verified."),
CTICKET_CRYPTOCONTEXT_ERROR: new g(5026, l.USERDATA_REAUTH, "Error creating CTicket crypto context."),
MDX_PIN_BLANK: new g(5027, l.USERDATA_REAUTH, "MDX controller or target PIN is blank."),
MDX_PIN_MISMATCH: new g(5028, l.USERDATA_REAUTH, "MDX controller and target PIN mismatch."),
MDX_USER_UNKNOWN: new g(5029, l.USERDATA_REAUTH, "MDX controller user ID token or CTicket is not decrypted or verified."),
USERAUTH_USERIDTOKEN_MISSING: new g(5030, l.USERDATA_REAUTH, "User authentication required user ID token is missing."),
MDX_CONTROLLERDATA_INVALID: new g(5031, l.USERDATA_REAUTH, "MDX controller authentication data is invalid."),
USERAUTH_ENTITY_MISMATCH: new g(5032, l.USERDATA_REAUTH, "User authentication data does not match entity identity."),
USERAUTH_INCORRECT_DATA: new g(5033, l.FAIL, "Entity used incorrect key request data type"),
SSO_ASSOCIATION_WITH_NONMEMBER: new g(5034, l.USERDATA_REAUTH, "SSO user association failed because the customer is not a member."),
SSO_ASSOCIATION_WITH_FORMERMEMBER: new g(5035, l.USERDATA_REAUTH, "SSO user association failed because the customer is a former member."),
SSO_ASSOCIATION_CONFLICT: new g(5036, l.USERDATA_REAUTH, "SSO user association failed because the token identifies a different member."),
USER_REJECTED_BY_APP: new g(5037, l.USERDATA_REAUTH, "User is rejected by the application."),
PROFILE_SWITCH_DISALLOWED: new g(5038, l.TRANSIENT_FAILURE, "Unable to switch user profile."),
MEMBERSHIPCLIENT_COMMS_FAILURE: new g(5039, l.TRANSIENT_FAILURE, "Error communicating with the membership manager."),
USERIDTOKEN_IDENTITY_NOT_ASSOCIATED_WITH_ENTITY: new g(5040, l.USER_REAUTH, "The entity is not associated with the user."),
UNSUPPORTED_COMPRESSION: new g(6E3, l.FAIL, "Unsupported compression algorithm."),
COMPRESSION_ERROR: new g(6001, l.FAIL, "Error compressing data."),
UNCOMPRESSION_ERROR: new g(6002, l.FAIL, "Error uncompressing data."),
MESSAGE_ENTITY_NOT_FOUND: new g(6003, l.FAIL, "Message header entity authentication data or master token not found."),
PAYLOAD_MESSAGE_ID_MISMATCH: new g(6004, l.FAIL, "Payload chunk message ID does not match header message ID ."),
PAYLOAD_SEQUENCE_NUMBER_MISMATCH: new g(6005, l.FAIL, "Payload chunk sequence number does not match expected sequence number."),
PAYLOAD_VERIFICATION_FAILED: new g(6006, l.FAIL, "Payload chunk payload signature verification failed."),
MESSAGE_DATA_MISSING: new g(6007, l.FAIL, "No message data found."),
MESSAGE_FORMAT_ERROR: new g(6008, l.FAIL, "Malformed message data."),
MESSAGE_VERIFICATION_FAILED: new g(6009, l.FAIL, "Message header/error data signature verification failed."),
HEADER_DATA_MISSING: new g(6010, l.FAIL, "No header data found."),
PAYLOAD_DATA_MISSING: new g(6011, l.FAIL, "No payload data found in non-EOM payload chunk."),
PAYLOAD_DATA_CORRUPT: new g(6012, l.FAIL, "Corrupt payload data found in non-EOM payload chunk."),
UNIDENTIFIED_COMPRESSION: new g(6013, l.FAIL, "Unidentified compression algorithm."),
MESSAGE_EXPIRED: new g(6014, l.EXPIRED, "Message expired and not renewable. Rejected."),
MESSAGE_ID_OUT_OF_RANGE: new g(6015, l.FAIL, "Message ID is out of range."),
INTERNAL_CODE_NEGATIVE: new g(6016, l.FAIL, "Error header internal code is negative."),
UNEXPECTED_RESPONSE_MESSAGE_ID: new g(6017, l.FAIL, "Unexpected response message ID. Possible replay."),
RESPONSE_REQUIRES_ENCRYPTION: new g(6018, l.KEYX_REQUIRED, "Message response requires encryption."),
PAYLOAD_SEQUENCE_NUMBER_OUT_OF_RANGE: new g(6019, l.FAIL, "Payload chunk sequence number is out of range."),
PAYLOAD_MESSAGE_ID_OUT_OF_RANGE: new g(6020, l.FAIL, "Payload chunk message ID is out of range."),
MESSAGE_REPLAYED: new g(6021, l.REPLAYED, "Non-replayable message replayed."),
INCOMPLETE_NONREPLAYABLE_MESSAGE: new g(6022, l.FAIL, "Non-replayable message sent non-renewable or without key request data or without a master token."),
HEADER_SIGNATURE_INVALID: new g(6023, l.FAIL, "Invalid Header signature."),
HEADER_DATA_INVALID: new g(6024, l.FAIL, "Invalid header data."),
PAYLOAD_INVALID: new g(6025, l.FAIL, "Invalid payload."),
PAYLOAD_SIGNATURE_INVALID: new g(6026, l.FAIL, "Invalid payload signature."),
RESPONSE_REQUIRES_MASTERTOKEN: new g(6027, l.KEYX_REQUIRED, "Message response requires a master token."),
RESPONSE_REQUIRES_USERIDTOKEN: new g(6028, l.USER_REAUTH, "Message response requires a user ID token."),
REQUEST_REQUIRES_USERAUTHDATA: new g(6029, l.FAIL, "User-associated message requires user authentication data."),
UNEXPECTED_MESSAGE_SENDER: new g(6030, l.FAIL, "Message sender is equal to the local entity or not the master token entity."),
NONREPLAYABLE_MESSAGE_REQUIRES_MASTERTOKEN: new g(6031, l.FAIL, "Non-replayable message requires a master token."),
NONREPLAYABLE_ID_OUT_OF_RANGE: new g(6032, l.FAIL, "Non-replayable message non-replayable ID is out of range."),
MESSAGE_SERVICETOKEN_MISMATCH: new g(6033, l.FAIL, "Service token master token or user ID token serial number does not match the message token serial numbers."),
MESSAGE_PEER_SERVICETOKEN_MISMATCH: new g(6034, l.FAIL, "Peer service token master token or user ID token serial number does not match the message peer token serial numbers."),
RESPONSE_REQUIRES_INTEGRITY_PROTECTION: new g(6035, l.KEYX_REQUIRED, "Message response requires integrity protection."),
HANDSHAKE_DATA_MISSING: new g(6036, l.FAIL, "Handshake message is not renewable or does not contain key request data."),
MESSAGE_RECIPIENT_MISMATCH: new g(6037, l.FAIL, "Message recipient does not match local identity."),
UNIDENTIFIED_KEYX_SCHEME: new g(7E3, l.FAIL, "Unable to identify key exchange scheme."),
KEYX_FACTORY_NOT_FOUND: new g(7001, l.FAIL, "No factory registered for key exchange scheme."),
KEYX_REQUEST_NOT_FOUND: new g(7002, l.FAIL, "No key request found matching header key response data."),
UNIDENTIFIED_KEYX_KEY_ID: new g(7003, l.FAIL, "Unable to identify key exchange key ID."),
UNSUPPORTED_KEYX_KEY_ID: new g(7004, l.FAIL, "Unsupported key exchange key ID."),
UNIDENTIFIED_KEYX_MECHANISM: new g(7005, l.FAIL, "Unable to identify key exchange mechanism."),
UNSUPPORTED_KEYX_MECHANISM: new g(7006, l.FAIL, "Unsupported key exchange mechanism."),
KEYX_RESPONSE_REQUEST_MISMATCH: new g(7007, l.FAIL, "Key exchange response does not match request."),
KEYX_PRIVATE_KEY_MISSING: new g(7008, l.FAIL, "Key exchange private key missing."),
UNKNOWN_KEYX_PARAMETERS_ID: new g(7009, l.FAIL, "Key exchange parameters ID unknown or invalid."),
KEYX_MASTER_TOKEN_MISSING: new g(7010, l.FAIL, "Master token required for key exchange is missing."),
KEYX_INVALID_PUBLIC_KEY: new g(7011, l.FAIL, "Key exchange public key is invalid."),
KEYX_PUBLIC_KEY_MISSING: new g(7012, l.FAIL, "Key exchange public key missing."),
KEYX_WRAPPING_KEY_MISSING: new g(7013, l.FAIL, "Key exchange wrapping key missing."),
KEYX_WRAPPING_KEY_ID_MISSING: new g(7014, l.FAIL, "Key exchange wrapping key ID missing."),
KEYX_INVALID_WRAPPING_KEY: new g(7015, l.FAIL, "Key exchange wrapping key is invalid."),
KEYX_INCORRECT_DATA: new g(7016, l.FAIL, "Entity used incorrect wrapping key data type"),
CRYPTEX_ENCRYPTION_ERROR: new g(8E3, l.FAIL, "Error encrypting data with cryptex."),
CRYPTEX_DECRYPTION_ERROR: new g(8001, l.FAIL, "Error decrypting data with cryptex."),
CRYPTEX_MAC_ERROR: new g(8002, l.FAIL, "Error computing MAC with cryptex."),
CRYPTEX_VERIFY_ERROR: new g(8003, l.FAIL, "Error verifying MAC with cryptex."),
CRYPTEX_CONTEXT_CREATION_FAILURE: new g(8004, l.FAIL, "Error creating cryptex cipher or MAC context."),
DATAMODEL_DEVICE_ACCESS_ERROR: new g(8005, l.TRANSIENT_FAILURE, "Error accessing data model device."),
DATAMODEL_DEVICETYPE_NOT_FOUND: new g(8006, l.FAIL, "Data model device type not found."),
CRYPTEX_KEYSET_UNSUPPORTED: new g(8007, l.FAIL, "Cryptex key set not supported."),
CRYPTEX_PRIVILEGE_EXCEPTION: new g(8008, l.FAIL, "Insufficient privileges for cryptex operation."),
CRYPTEX_WRAP_ERROR: new g(8009, l.FAIL, "Error wrapping data with cryptex."),
CRYPTEX_UNWRAP_ERROR: new g(8010, l.FAIL, "Error unwrapping data with cryptex."),
CRYPTEX_COMMS_FAILURE: new g(8011, l.TRANSIENT_FAILURE, "Error comunicating with cryptex."),
CRYPTEX_SIGN_ERROR: new g(8012, l.FAIL, "Error computing signature with cryptex."),
INTERNAL_EXCEPTION: new g(9E3, l.TRANSIENT_FAILURE, "Internal exception."),
MSL_COMMS_FAILURE: new g(9001, l.FAIL, "Error communicating with MSL entity."),
NONE: new g(9999, l.FAIL, "Special unit test error.")
});
Object.freeze(g);
(function() {
H = na.Class.create(Error());
H.mixin({
init: function(g, q, l) {
var L, Q, fa;
function r() {
return Q ? Q : this.cause && this.cause instanceof H ? this.cause.messageId : ka;
}
Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
L = g.message;
q && (L += " [" + q + "]");
fa = this.stack;
Object.defineProperties(this, {
message: {
value: L,
writable: !1,
configurable: !0
},
error: {
value: g,
writable: !1,
configurable: !0
},
cause: {
value: l,
writable: !1,
configurable: !0
},
name: {
value: "MslException",
writable: !1,
configurable: !0
},
masterToken: {
value: null,
writable: !0,
configurable: !1
},
entityAuthenticationData: {
value: null,
writable: !0,
configurable: !1
},
userIdToken: {
value: null,
writable: !0,
configurable: !1
},
userAuthenticationData: {
value: null,
writable: !0,
configurable: !1
},
messageId: {
get: r,
set: function(g) {
if (0 > g || g > Na) throw new RangeError("Message ID " + g + " is outside the valid range.");
r() || (Q = g);
},
configurable: !0
},
stack: {
get: function() {
var g;
g = this.toString();
fa && (g += "\n" + fa);
l && l.stack && (g += "\nCaused by " + l.stack);
return g;
},
configurable: !0
}
});
},
setEntity: function(g) {
!g || this.masterToken || this.entityAuthenticationData || (g instanceof ib ? this.masterToken = g : g instanceof Pb && (this.entityAuthenticationData = g));
return this;
},
setUser: function(g) {
!g || this.userIdToken || this.userAuthenticationData || (g instanceof ac ? this.userIdToken = g : g instanceof Eb && (this.userAuthenticationData = g));
return this;
},
setMessageId: function(g) {
this.messageId = g;
return this;
},
toString: function() {
return this.name + ": " + this.message;
}
});
}());
Q = H.extend({
init: function Lb(g, q, l) {
Lb.base.call(this, g, q, l);
Object.defineProperties(this, {
name: {
value: "MslCryptoException",
writable: !1,
configurable: !0
}
});
}
});
ha = H.extend({
init: function pb(g, q, l) {
pb.base.call(this, g, q, l);
Object.defineProperties(this, {
name: {
value: "MslEncodingException",
writable: !1,
configurable: !0
}
});
}
});
vb = H.extend({
init: function Pa(g, q, l) {
Pa.base.call(this, g, q, l);
Object.defineProperties(this, {
name: {
value: "MslEntityAuthException",
writable: !1,
configurable: !0
}
});
}
});
(function() {
kb = na.Class.create(Error());
kb.mixin({
init: function(g, q, l) {
var r;
Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
r = this.stack;
Object.defineProperties(this, {
message: {
value: g,
writable: !1,
configurable: !1
},
cause: {
value: q,
writable: !1,
configurable: !1
},
requestCause: {
value: l,
writable: !1,
configurable: !1
},
name: {
value: "MslErrorResponseException",
writable: !1,
configurable: !0
},
stack: {
get: function() {
var g;
g = this.toString();
r && (g += "\n" + r);
q && q.stack && (g += "\nCaused by " + q.stack);
return g;
},
configurable: !0
}
});
},
toString: function() {
return this.name + ": " + this.message;
}
});
}());
(function() {
Za = na.Class.create(Error());
Za.mixin({
init: function(g, q) {
var l;
Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
l = this.stack;
Object.defineProperties(this, {
message: {
value: g,
writable: !1,
configurable: !1
},
cause: {
value: q,
writable: !1,
configurable: !1
},
name: {
value: "MslIoException",
writable: !1,
configurable: !0
},
stack: {
get: function() {
var g;
g = this.toString();
l && (g += "\n" + l);
q && q.stack && (g += "\nCaused by " + q.stack);
return g;
},
configurable: !0
}
});
},
toString: function() {
return this.name + ": " + this.message;
}
});
}());
(function() {
fa = na.Class.create(Error());
fa.mixin({
init: function(g, q) {
var l;
Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
l = this.stack;
Object.defineProperties(this, {
message: {
value: g,
writable: !1,
configurable: !1
},
cause: {
value: q,
writable: !1,
configurable: !1
},
name: {
value: "MslInternalException",
writable: !1,
configurable: !0
},
stack: {
get: function() {
var g;
g = this.toString();
l && (g += "\n" + l);
q && q.stack && (g += "\nCaused by " + q.stack);
return g;
},
configurable: !0
}
});
},
toString: function() {
return this.name + ": " + this.message;
}
});
}());
(function() {
db = na.Class.create(Error());
db.mixin({
init: function(g, q) {
var l;
Error.captureStackTrace && Error.capt
gitextract__z70x897/
├── .gitattributes
├── .gitignore
├── CHANGELOG
├── README.md
├── package.json
└── src/
├── aes.js
├── background.js
├── cadmium-playercore-1080p.js
├── content_script.js
├── get_manifest.js
├── manifest.json
├── options.html
├── options.js
└── sha.js
SYMBOL INDEX (1632 symbols across 5 files)
FILE: src/aes.js
function checkInt (line 5) | function checkInt(value) {
function checkInts (line 9) | function checkInts(arrayish) {
function coerceArray (line 21) | function coerceArray(arg, copy) {
function createArray (line 54) | function createArray(length) {
function copyArray (line 58) | function copyArray(sourceArray, targetArray, targetStart, sourceStart, s...
function toBytes (line 72) | function toBytes(text) {
function fromBytes (line 92) | function fromBytes(bytes) {
function toBytes (line 120) | function toBytes(text) {
function fromBytes (line 132) | function fromBytes(bytes) {
function convertToInt32 (line 176) | function convertToInt32(bytes) {
function pkcs7pad (line 714) | function pkcs7pad(data) {
function pkcs7strip (line 725) | function pkcs7strip(data) {
FILE: src/cadmium-playercore-1080p.js
function T1zz (line 196) | function T1zz() {}
function Ya (line 456) | function Ya(g, l) {
function Wa (line 461) | function Wa(g, l) {
function Pc (line 466) | function Pc(g) {
function Qc (line 478) | function Qc(g) {
function ab (line 489) | function ab(g, q) {
function hb (line 497) | function hb(g) {
function ud (line 508) | function ud(g, q) {
function vd (line 526) | function vd(g, q) {
function q (line 530) | function q(g, q, l) {
function r (line 544) | function r(g, l, r) {
function g (line 549) | function g(g, q, l) {
function Sc (line 570) | function Sc(g) {
function wd (line 580) | function wd(g) {
function Ie (line 594) | function Ie(g) {
function xd (line 598) | function xd(q, l) {
function yd (line 613) | function yd(g, q) {
function Je (line 627) | function Je(g) {
function Ke (line 631) | function Ke(r, L, pb, Pa, uc) {
function Tc (line 823) | function Tc(q, l, r, Pa, L, Q) {
function Uc (line 863) | function Uc(q, l, r) {
function g (line 926) | function g(g, l) {
function g (line 977) | function g(B, v) {
function r (line 1009) | function r(g) {
function H (line 1019) | function H(g, w, F) {
function L (line 1062) | function L(g, v, w) {
function aa (line 1069) | function aa(g) {
function Xa (line 1076) | function Xa(g) {
function Ja (line 1083) | function Ja(g) {
function La (line 1097) | function La(g) {
function K (line 1105) | function K(g) {
function I (line 1127) | function I(g) {
function w (line 1135) | function w(g, v, w, F) {
function x (line 1152) | function x(g) {
function C (line 1174) | function C(g, v, w, F) {
method data (line 1225) | get data() {
method backingStore (line 1228) | get backingStore() {
method constructed (line 1231) | get constructed() {
method constructed (line 1234) | set constructed(g) {
method tagClass (line 1237) | get tagClass() {
method tagClass (line 1240) | set tagClass(g) {
method tag (line 1243) | get tag() {
method tag (line 1246) | set tag(g) {
method dataIdx (line 1249) | get dataIdx() {
method dataIdx (line 1252) | set dataIdx(g) {
method dataLen (line 1255) | get dataLen() {
method dataLen (line 1258) | set dataLen(g) {
method child (line 1261) | get child() {
method child (line 1264) | set child(g) {
method next (line 1268) | get next() {
method next (line 1271) | set next(g) {
method parent (line 1274) | get parent() {
method parent (line 1277) | set parent(g) {
method payloadLen (line 1280) | get payloadLen() {
method length (line 1305) | get length() {
method der (line 1312) | get der() {
method nChildren (line 1320) | get nChildren() {
function g (line 1493) | function g(l) {
function q (line 1511) | function q(g, K, I) {
function l (line 1515) | function l(g, K) {
function r (line 1526) | function r(g, K) {
function H (line 1535) | function H(La) {
function g (line 1756) | function g(g, q) {
function r (line 1770) | function r(g, v) {
function g (line 1892) | function g(g, q) {
function q (line 1903) | function q(q, l, r) {
function l (line 1910) | function l() {
function r (line 1923) | function r(g, l) {
function H (line 1930) | function H(g, l) {
function L (line 1935) | function L(g) {
function g (line 1972) | function g(g, q) {
function q (line 1983) | function q(q, l, K) {
function l (line 1990) | function l() {
function r (line 2003) | function r(g, l) {
function H (line 2010) | function H(g, l) {
function L (line 2015) | function L(g) {
function g (line 2051) | function g(g) {
function q (line 2055) | function q(q) {
function g (line 2182) | function g(g) {
function q (line 2186) | function q(q) {
function l (line 2192) | function l(q) {
function r (line 2577) | function r() {
function g (line 2919) | function g(g) {
function q (line 2923) | function q(g) {
function l (line 2929) | function l(g, w, q, l, J) {
function r (line 2944) | function r(g, w) {
function aa (line 3266) | function aa(g) {
function aa (line 3333) | function aa(g) {
function aa (line 3387) | function aa(g) {
function I (line 3728) | function I(l) {
function w (line 3909) | function w(l) {
function I (line 4100) | function I(l) {
function v (line 4818) | function v(v) {
function w (line 4992) | function w(g) {
function l (line 5203) | function l(l, v, F, x, r) {
function Z (line 5383) | function Z(g, l, B) {
function qa (line 5399) | function qa(g, B, x, r, Z) {
function I (line 5425) | function I(g, l, B, x, r) {
function ua (line 5453) | function ua(g, l, x, Z, C, qa) {
function Z (line 5524) | function Z(g, w, B, x, r) {
function l (line 5611) | function l(l, F, x, r, C) {
function B (line 5757) | function B(l) {
function V (line 5851) | function V(g, l, x) {
function qa (line 5867) | function qa(g, x, r, C, J) {
function ya (line 5893) | function ya(g, l, w, x, r) {
function Ra (line 5921) | function Ra(g, l, x, B, J, d) {
function V (line 5992) | function V(g, w, x, r, B) {
function l (line 6084) | function l(l, q, x, r, C) {
function B (line 6261) | function B(x, B) {
function I (line 6291) | function I(l, x, B, I) {
function r (line 6506) | function r(g, l) {
function l (line 6811) | function l(g, l, q, v, w) {
function w (line 6819) | function w(g, l, q, v, w, r, F, x, C, ga, J, ba, I, Z, za, d, c, a, b, h) {
function r (line 6922) | function r(l, q, v) {
function C (line 6935) | function C(l, v, w, r, F) {
function J (line 6960) | function J(g, l, v) {
function v (line 6967) | function v(g, l, v, w) {
function F (line 6974) | function F(g, l, v, w) {
function Ca (line 6981) | function Ca(l, v, w, r, F, x, C) {
function ba (line 7015) | function ba(l, v, w, r, F, x) {
function za (line 7082) | function za(l, v, w, r) {
function B (line 7186) | function B(B) {
function l (line 7436) | function l(g, l) {
function l (line 7643) | function l(l, w, r, x, C) {
function w (line 7678) | function w(g, w, r, x, C) {
function r (line 7695) | function r(l, w, r, x) {
function v (line 7756) | function v(g) {
function g (line 8162) | function g(g, l) {
function l (line 8166) | function l(g) {
function l (line 8436) | function l(l, r, C, J) {
function r (line 8478) | function r() {
function I (line 8483) | function I(g, l) {
function Z (line 8504) | function Z(g, l) {
function ba (line 8526) | function ba(l, q) {
function B (line 8547) | function B(l, q) {
function l (line 8767) | function l(g) {
function q (line 8832) | function q() {
function w (line 8911) | function w() {
function r (line 9002) | function r() {
function w (line 9140) | function w() {
function q (line 9216) | function q() {
function I (line 9349) | function I(g) {
function w (line 9355) | function w(g, l) {
function x (line 9370) | function x(g, l) {
function C (line 9385) | function C(g, l, q) {
function J (line 9405) | function J(g, l) {
function v (line 9430) | function v(g) {
function F (line 9438) | function F(g, l, q, v, w, x, F, C, d) {
function v (line 9554) | function v(x, F) {
function c (line 9838) | function c(a, n) {
function a (line 9861) | function a(a, n) {
function c (line 10037) | function c(f, h, b) {
function a (line 10055) | function a(a, h, m) {
function b (line 10080) | function b(a, b, m, t) {
function h (line 10129) | function h(a, h, b) {
function n (line 10190) | function n(a, h, b, t) {
function b (line 10304) | function b(b, p) {
function c (line 10372) | function c(h, n, p) {
function a (line 10413) | function a(a, n) {
function q (line 10594) | function q(q) {
function w (line 10640) | function w(q) {
function x (line 10689) | function x(q, d, c, a) {
function C (line 10884) | function C(d) {
function a (line 10948) | function a() {
function b (line 10964) | function b() {
function x (line 11334) | function x(a) {
function d (line 11410) | function d(a) {
function l (line 11612) | function l(l, w, x) {
function l (line 11726) | function l(g, l, q, r) {
method renewalWindow (line 11932) | get renewalWindow() {
method expiration (line 11935) | get expiration() {
function l (line 12071) | function l(g, l, q) {
method renewalWindow (line 12251) | get renewalWindow() {
method expiration (line 12254) | get expiration() {
function l (line 12376) | function l(l, q) {
function w (line 12396) | function w(g, l, q) {
function l (line 12924) | function l(g, l) {
function r (line 12928) | function r(g) {
function J (line 12934) | function J(g) {
function B (line 12954) | function B(x) {
function H (line 12976) | function H(g, F) {
function C (line 13053) | function C(x) {
function B (line 13085) | function B(g, l, v, C, B) {
function B (line 13196) | function B(x) {
function Z (line 13215) | function Z(l, r) {
function x (line 13428) | function x(x, F, C, J) {
function F (line 13458) | function F(l, v, x, F) {
function C (line 13464) | function C(x, F, C, J) {
function B (line 14441) | function B(g, r) {
function H (line 14468) | function H(g, q, r, B) {
function B (line 14498) | function B() {
function H (line 14512) | function H(g, d) {
function g (line 14903) | function g() {
function l (line 14908) | function l(d) {
function q (line 14912) | function q() {
function r (line 14927) | function r(d) {
function H (line 14940) | function H(d) {
function Q (line 14951) | function Q(d) {
function da (line 14960) | function da(d, c) {
function fa (line 14974) | function fa(d) {
function ha (line 14983) | function ha(d, c) {
function ka (line 15004) | function ka(d, c) {
function ga (line 15008) | function ga(d, c) {
function na (line 15038) | function na(d, c, a) {
function ra (line 15044) | function ra(d, c, a) {
function c (line 15091) | function c(a) {
function a (line 15104) | function a() {
function a (line 15148) | function a(a) {
function f (line 15225) | function f(a, f) {
function f (line 15247) | function f() {
function k (line 15286) | function k(f) {
function c (line 15323) | function c(a) {
function a (line 15333) | function a(a) {
function b (line 15339) | function b(h) {
function c (line 15390) | function c() {
function a (line 15396) | function a(a, h) {
function b (line 15415) | function b(a, h) {
function h (line 15438) | function h(a) {
function c (line 15525) | function c(a) {
function c (line 15618) | function c(a) {
function c (line 15713) | function c(b) {
function b (line 15756) | function b() {
function h (line 15767) | function h(a, f) {
function n (line 15779) | function n(a, f) {
function p (line 15787) | function p(a, h) {
function f (line 15798) | function f(a, h, f, b) {
function k (line 15809) | function k(a, h) {
function m (line 15815) | function m(a, h) {
function t (line 15819) | function t(a, h, f, b) {
function u (line 15846) | function u(a, h) {
function y (line 15927) | function y(a, h) {
function E (line 15931) | function E(a) {
function D (line 15949) | function D(a, h) {
function z (line 15975) | function z() {
function G (line 15980) | function G() {
function M (line 15987) | function M(a) {
function N (line 15991) | function N(a, h, f) {
function P (line 16033) | function P(a) {
function W (line 16053) | function W(a) {
function l (line 16085) | function l(a, h) {
function S (line 16092) | function S(a) {
function A (line 16102) | function A(a) {
function b (line 16660) | function b(a) {
function h (line 16664) | function h(a) {
function h (line 16811) | function h() {
function a (line 16841) | function a(a) {
function b (line 17032) | function b(a) {
function h (line 17036) | function h(a) {
function h (line 17072) | function h(a, f) {
function d (line 17078) | function d(a, f, b, k) {
function z (line 17087) | function z(a) {
function Y (line 17093) | function Y(a, b, k) {
function S (line 17110) | function S(a, f, b, k) {
function A (line 17117) | function A(a, f, b, k) {
function X (line 17124) | function X(a, f, b, k) {
function r (line 17131) | function r(a, f, b) {
function R (line 17137) | function R(a, f) {
function Aa (line 17144) | function Aa(a, f) {
function ja (line 17151) | function ja(a, f, b, k, m, t) {
function Fa (line 17169) | function Fa(a, f, b, k, m) {
function Ha (line 17185) | function Ha(a, f) {
function la (line 17204) | function la(a, f, b, k) {
function Da (line 17218) | function Da(a, f, b) {
function Qa (line 17246) | function Qa(a) {
function k (line 17266) | function k(a) {
function a (line 18139) | function a() {}
function a (line 18463) | function a(a) {
function b (line 18517) | function b(a) {
function h (line 18521) | function h(a) {
function n (line 18525) | function n(a, m, t) {
function a (line 18635) | function a(a) {
function a (line 18703) | function a(a, b, f, k, m) {
function f (line 18715) | function f(a) {
function b (line 18880) | function b(a, f) {
function h (line 18884) | function h(a, f, b) {
function n (line 18888) | function n(a) {
function k (line 18904) | function k(f) {
function a (line 19005) | function a(a, n) {
function b (line 19009) | function b(a, b) {
function h (line 19023) | function h(a, b) {
function b (line 19180) | function b() {
function b (line 19222) | function b(a) {
function h (line 19228) | function h(a, f) {
function n (line 19232) | function n(a, f) {
function b (line 19340) | function b(a, f) {
function h (line 19349) | function h(a, f) {
function b (line 19412) | function b() {
function h (line 19422) | function h(a) {
function n (line 19427) | function n(a) {
function p (line 19431) | function p(a) {
function f (line 19435) | function f(a) {
function k (line 19441) | function k(a) {
function b (line 19486) | function b() {
function k (line 19609) | function k(a) {
function f (line 19682) | function f(a, f) {
function b (line 19803) | function b(a) {
function h (line 19810) | function h(a, f, b, h, n) {
function n (line 19820) | function n(a, f, t, c) {
function b (line 19850) | function b(a, b, f, k, m, t, c, d, E, D, g, G) {
function b (line 19910) | function b(a) {
function h (line 19914) | function h(a) {
function b (line 19951) | function b() {
function m (line 19962) | function m(b, m, h) {
function f (line 20035) | function f(f, b, k, m) {
function b (line 20157) | function b() {}
function h (line 20159) | function h() {}
function n (line 20161) | function n() {}
function a (line 20337) | function a(a, b) {
function b (line 20369) | function b(a, f) {
function a (line 20419) | function a() {}
function b (line 20421) | function b() {}
function h (line 20423) | function h() {}
function a (line 20548) | function a(a) {
function a (line 20568) | function a(a, b) {
function b (line 20581) | function b(a) {
function h (line 20593) | function h(a) {
function n (line 20605) | function n(a, f) {
function p (line 20618) | function p(a) {
function f (line 20624) | function f() {
function k (line 20628) | function k(a, f, b, k) {
function m (line 20651) | function m(a, f) {
function a (line 20686) | function a(a) {
function p (line 20694) | function p() {
function d (line 20699) | function d() {
function h (line 20721) | function h() {
function t (line 20740) | function t() {
function p (line 20745) | function p(a, f, b, k) {
function d (line 20760) | function d(a) {
function y (line 20769) | function y() {
function l (line 20773) | function l() {
function W (line 20777) | function W() {
function A (line 20783) | function A() {
function h (line 21050) | function h() {
function h (line 21057) | function h() {
function b (line 21076) | function b(a) {
function a (line 21088) | function a(a) {
function b (line 21156) | function b(a, f, b, k, h, c) {
function t (line 21268) | function t(f, b) {
function b (line 21683) | function b() {
function h (line 21798) | function h() {
function h (line 21844) | function h() {
function h (line 21853) | function h() {
function h (line 21862) | function h() {
function h (line 21871) | function h() {
function h (line 21880) | function h() {
function h (line 21889) | function h() {
function a (line 21914) | function a(a) {
function f (line 21982) | function f() {
function f (line 21993) | function f(f, b) {
function b (line 22058) | function b(a, f, b, m, t) {
function b (line 22079) | function b(a, b, m, h, c) {
function h (line 22097) | function h(a, b) {
function a (line 22119) | function a(a, c) {
function b (line 22210) | function b() {}
function c (line 22371) | function c(a, b) {
function b (line 22436) | function b(a) {
function h (line 22440) | function h(a) {
function n (line 22444) | function n(a) {
function p (line 22448) | function p(a) {
function b (line 22480) | function b(a) {
function h (line 22490) | function h(a, b, m) {
function b (line 22769) | function b(a, b) {
function h (line 22777) | function h(a) {
function n (line 22783) | function n(a) {
function p (line 22792) | function p(a) {
function f (line 22796) | function f(a) {
function k (line 22802) | function k(a, f, b) {
function m (line 22806) | function m(a, f) {
function t (line 22810) | function t(a) {
function b (line 22945) | function b() {}
function h (line 22947) | function h() {}
function c (line 22949) | function c() {}
function b (line 22987) | function b(a) {
function b (line 23167) | function b(a, b, m, h, c) {
function a (line 23455) | function a(a, f, b) {
function c (line 23504) | function c() {
function a (line 23548) | function a(a, b, f) {
function h (line 23619) | function h() {
function c (line 23631) | function c() {
function a (line 23635) | function a(a, f, b, k) {
function b (line 23644) | function b() {
function h (line 23649) | function h(a, f, k) {
function n (line 23662) | function n(a) {
function b (line 23842) | function b(a, b, c) {
function b (line 23980) | function b() {}
function h (line 24031) | function h() {
function h (line 24038) | function h(b) {
function b (line 24146) | function b() {}
function b (line 24195) | function b(a) {
function h (line 24199) | function h(a, f) {
function n (line 24203) | function n(a) {
function p (line 24212) | function p(a) {
function f (line 24219) | function f(a) {
function a (line 24263) | function a() {}
function b (line 24359) | function b(a) {
function h (line 24366) | function h(a, h, c, d, E) {
method ac (line 24561) | get ac() {
function a (line 24666) | function a() {}
function a (line 24781) | function a(a) {
function b (line 24896) | function b(a) {
function f (line 25212) | function f(a) {
function b (line 25362) | function b(a) {
function h (line 25366) | function h(a) {
function a (line 25376) | function a(a) {
function b (line 25387) | function b() {
function k (line 25462) | function k(f) {
function f (line 25490) | function f(f, b, k) {
function f (line 25554) | function f(f, b, k) {
function f (line 25594) | function f(f, b, k, c, d) {
function b (line 25672) | function b(a, b) {
function a (line 25768) | function a(a) {
function c (line 25814) | function c(b, k, m, c, h, t, d) {
function a (line 26025) | function a(a) {
function b (line 26039) | function b(a, f) {
function h (line 26043) | function h(a, f) {
function a (line 26051) | function a() {}
function a (line 26256) | function a(a, b) {
function c (line 26388) | function c() {
function b (line 26487) | function b(a) {
function b (line 26506) | function b() {
function f (line 26519) | function f(f) {
function c (line 26528) | function c() {
function f (line 26591) | function f(f, b) {
function a (line 26728) | function a(a) {
function b (line 26757) | function b(a, b) {
function k (line 26802) | function k(m) {
function b (line 26830) | function b(a) {
function h (line 26847) | function h(a, f) {
function b (line 26882) | function b() {
function k (line 26886) | function k(f) {
function b (line 26992) | function b(a, b) {
function h (line 27105) | function h(a, f) {
function n (line 27109) | function n(a) {
function c (line 27149) | function c() {
function d (line 27162) | function d() {
function d (line 27299) | function d() {
function g (line 27310) | function g() {
function c (line 27331) | function c(a) {
function a (line 27464) | function a() {}
function b (line 27476) | function b() {}
function b (line 27509) | function b(a, f, b, k) {
function h (line 27516) | function h() {}
function n (line 27518) | function n() {}
function p (line 27520) | function p() {}
function a (line 27727) | function a(a) {
function d (line 27738) | function d(a, b, k) {
function y (line 27744) | function y(a, f) {
function E (line 27754) | function E(a, f, b, k, m) {
function g (line 27771) | function g(a, f, b, k, m, c, d, t, n) {
function z (line 27814) | function z(a, f, b, k, m, c, h, d) {
function G (line 27833) | function G(a, f, b, k, m) {
function M (line 27845) | function M(f, b, k, m) {
function N (line 27873) | function N(a, b, k, c, h) {
function P (line 27882) | function P(a, b, k, m, c, h, d, t) {
function l (line 27895) | function l(a) {
function q (line 27900) | function q(a, f) {
function S (line 27907) | function S(a) {
function A (line 27912) | function A(f) {
function X (line 27918) | function X(a, k) {
function r (line 27936) | function r(a) {
function D (line 27996) | function D() {
function z (line 28020) | function z() {
function N (line 28066) | function N(a) {
function b (line 28218) | function b() {}
function h (line 28220) | function h(a, b) {
function n (line 28225) | function n(a) {
function a (line 28424) | function a(a) {
function k (line 28525) | function k(b, k, c, m, h) {
function k (line 28602) | function k(f, b, k, c, h, d, t) {
function b (line 28744) | function b(a) {
function c (line 28760) | function c(f, b, k, c, m, h, d) {
function a (line 29053) | function a(a, b) {
function f (line 29352) | function f(f, b, k) {
function b (line 29404) | function b(a) {
function h (line 29419) | function h(a, f, k, c, h) {
function n (line 29428) | function n(a, b, k) {
function p (line 29432) | function p(a, f) {
function a (line 29731) | function a(a, f) {
function a (line 29755) | function a(a) {
function b (line 29791) | function b(a) {
function h (line 29796) | function h(a) {
function n (line 29802) | function n(a, b) {
function b (line 29910) | function b(a, b, c) {
function h (line 29919) | function h(a, f) {
function n (line 29923) | function n(a, f) {
function p (line 29927) | function p(a) {
function f (line 30084) | function f(f, b, c, h, d, p, g) {
function a (line 30102) | function a(a, b) {
function c (line 30162) | function c() {
function c (line 30208) | function c() {
function c (line 30233) | function c() {
function c (line 30279) | function c() {
function a (line 30292) | function a(a, c) {
function b (line 30296) | function b(a, b) {
function c (line 30310) | function c(a, b) {
function b (line 30460) | function b(a, b, f, k, c) {
function h (line 30464) | function h(a, b, f, k, c) {
function n (line 30468) | function n(a, b, f, k, c) {
function p (line 30472) | function p(a, b, f, k, c) {
function f (line 30478) | function f(a, b, f, k, c) {
function k (line 30482) | function k() {
function m (line 30487) | function m(a, b, f, k, c) {
function t (line 30491) | function t(a, b, f, k, c) {
function u (line 30495) | function u(a, b, f, k, c) {
function y (line 30499) | function y(a, b, f, k, c) {
function g (line 30503) | function g(a, b, f, k, c) {
function D (line 30507) | function D(a) {
function z (line 30532) | function z(a, b, f, k, c) {
function G (line 30536) | function G(a, b, f, k, c) {
function M (line 30540) | function M(a, b, f, k, c) {
function N (line 30544) | function N(a, b, f, k, c) {
function P (line 30548) | function P(a, b, f, k, c) {
function l (line 30552) | function l(a, b, f, k, c) {
function q (line 30556) | function q(a, b, f, k, c) {
function S (line 30560) | function S(a, b, f, k, c) {
function A (line 30564) | function A(a, b, f, k, c) {
function X (line 30568) | function X(a, b, f, k, c) {
function r (line 30572) | function r(a, b) {
function c (line 31229) | function c(c) {
function b (line 31676) | function b(a, b, c, h, d, t, p, n, u, y, g, E, D, z, l) {
function a (line 31917) | function a(a) {
function b (line 31970) | function b() {
function f (line 32019) | function f() {
function b (line 32099) | function b() {}
function b (line 32164) | function b(a, b, f) {
function h (line 32175) | function h(a, b, c, k) {
function b (line 32230) | function b() {
function b (line 32274) | function b(a, c, k, d) {
function b (line 32415) | function b(a, b, c, h) {
function c (line 32491) | function c() {
function a (line 32495) | function a() {
function b (line 32499) | function b(a) {
function h (line 32513) | function h(b) {
function n (line 32526) | function n() {
function p (line 32530) | function p() {
function f (line 32547) | function f(a, b) {
function k (line 32552) | function k() {}
function b (line 32611) | function b() {}
function b (line 32669) | function b(a, b, f, c, k, m) {
function c (line 32781) | function c() {
function c (line 32788) | function c(b, f) {
function a (line 32823) | function a(a, b, c) {
function c (line 32869) | function c() {
function c (line 32876) | function c() {
function f (line 32903) | function f() {
function c (line 32911) | function c(b, c) {
function b (line 32973) | function b(a) {
function b (line 33009) | function b() {}
function h (line 33011) | function h(a) {
function a (line 33101) | function a(a) {
function a (line 33124) | function a(a) {
function b (line 33137) | function b(a) {
function h (line 33146) | function h() {
function b (line 33324) | function b(a, b, c, d, h, p, n) {
function h (line 33334) | function h() {
function n (line 33567) | function n(a, b, c, d, h, p) {
function b (line 34826) | function b(a) {
function a (line 34917) | function a(a) {
function c (line 34929) | function c(a, c, k) {
function b (line 34969) | function b(a, b, c) {
function h (line 34991) | function h(a, b) {
function n (line 35017) | function n(a, b) {
function c (line 35037) | function c(a) {
function b (line 35045) | function b(a, b, f) {
function d (line 35049) | function d(a, c, k) {
function n (line 35055) | function n(a, b) {
function b (line 35113) | function b() {
function c (line 35118) | function c(a) {
function b (line 35133) | function b(a, b, f, c) {
function b (line 35192) | function b(a, b, f) {
function b (line 35561) | function b(a, b, f) {
function k (line 35632) | function k() {
function d (line 35672) | function d(d) {
function t (line 35680) | function t() {
function b (line 35701) | function b(a) {
function b (line 35801) | function b() {
function c (line 35840) | function c() {
method ac (line 35940) | get ac() {
function c (line 35996) | function c() {
function k (line 36002) | function k() {
function c (line 36374) | function c() {
function d (line 36378) | function d() {
function u (line 36382) | function u() {
function b (line 36420) | function b(a, b, f, c, k) {
function h (line 36428) | function h(a, b) {
function n (line 36436) | function n(a, b, f, c, k) {
function p (line 36444) | function p(a, b, c, d, t, p) {
function f (line 36480) | function f(a, b) {
function d (line 36547) | function d(a, c, k) {
function f (line 36577) | function f(a) {
function b (line 36604) | function b(a, b) {
function b (line 36813) | function b(a) {
function a (line 36873) | function a(a, b, f) {
function b (line 36891) | function b(a, b, f) {
function c (line 37041) | function c() {
function c (line 37077) | function c(f) {
function b (line 37095) | function b(a, b) {
function k (line 37174) | function k() {
function b (line 37214) | function b(a) {
function h (line 37225) | function h(a) {
function n (line 37229) | function n(a, f, c) {
function p (line 37255) | function p() {
function f (line 37267) | function f(a, b) {
function k (line 37271) | function k(a, b) {
function c (line 37328) | function c() {
function b (line 37373) | function b(a) {
function a (line 37448) | function a(a, c) {
function b (line 37568) | function b(a, b, f, c, k, d, m, t, n, y, G, l, P, W, Y, O, X, R, ja, Aa,...
function b (line 38770) | function b() {
function b (line 39343) | function b(a) {
function h (line 39347) | function h(a) {
function n (line 39351) | function n(a) {
function p (line 39355) | function p(a) {
function f (line 39400) | function f(a, b) {
function k (line 39404) | function k(a, b) {
function b (line 39488) | function b(a, b, f) {
function h (line 39494) | function h(a) {
function n (line 39541) | function n(a, b) {
function p (line 39553) | function p(a, b) {
function f (line 39558) | function f(a, b) {
function k (line 39570) | function k(a, b) {
function m (line 39589) | function m(a, b) {
function t (line 39596) | function t(a, b) {
function u (line 39601) | function u(a) {
function g (line 39613) | function g(a, b) {
function b (line 39955) | function b(a, b, c) {
function b (line 40084) | function b(a) {
function h (line 40098) | function h(a, b, f) {
function n (line 40246) | function n(a) {
function p (line 40250) | function p(a) {
function b (line 40302) | function b(a) {
function b (line 40547) | function b(a, b, f, c, d, h, t, y, E, P, W, A, r, X, B, H, Q, bb, V, Va,...
function a (line 41433) | function a(a, b) {
function a (line 41783) | function a(b, c, d) {
function b (line 41857) | function b(a) {
function a (line 41961) | function a(a, b, f) {
function f (line 42007) | function f(b, f, c) {
function b (line 42160) | function b() {}
function h (line 42162) | function h(a, b, c) {
function n (line 42172) | function n(a) {
function b (line 42240) | function b(a, b, c) {
function h (line 42246) | function h(a, b) {
function c (line 42315) | function c(b, f, c, k, d, p, n, u, g, y, l, q, r) {
function c (line 42580) | function c(b, f, c, k, d, h, m, t, p, u, g, y, D, E, z, l, q) {
function a (line 43068) | function a(a, b, f, c, k, d, h, p, g, y) {
function b (line 43658) | function b(a) {
function b (line 43683) | function b(a, b, f, c, d, h) {
function h (line 43687) | function h(a) {
function n (line 43691) | function n(a, b, f, c, d, h) {
function b (line 43740) | function b() {}
function h (line 43742) | function h(a, f) {
function n (line 43817) | function n(a, b, f, c, k, d) {
function p (line 43835) | function p(a, b, f, c, k) {
function f (line 43852) | function f(a) {
function k (line 43856) | function k(a) {
function m (line 43860) | function m(a, f, c) {
function t (line 43870) | function t(a, b, f) {
function u (line 43894) | function u(a, b) {
function g (line 43913) | function g(a, b, f) {
function E (line 43925) | function E(a, b, f, c, k, d, h, m, t, p, n) {
function b (line 44237) | function b(a, b, f) {
function h (line 44243) | function h(a, b, f) {
function n (line 44249) | function n(a, f, c, d, h, m) {
function a (line 44424) | function a(a, b, f, c, k, d, h, m, t, p, n) {
function a (line 44688) | function a(a) {
function a (line 44726) | function a(a, c) {
function b (line 44733) | function b(b, c) {
function a (line 44874) | function a(a, b) {
function b (line 44897) | function b(a, b, f, c) {
function h (line 44902) | function h(a, b, f, c) {
function k (line 44917) | function k(c, k) {
function a (line 44976) | function a(a, b, f, c) {
function E (line 45013) | function E(a, b, f) {
function D (line 45030) | function D(a, b, k, h, t, p) {
function a (line 45395) | function a(a, b) {
function c (line 45541) | function c(b, c, d, p, n, g, y, E, D, G, l) {
function b (line 45948) | function b(a, b) {
function c (line 45970) | function c(b, f, c, d, h, y, z, G, l, q, r, ma, O, oa, ta) {
function a (line 46257) | function a(a, b, f) {
function f (line 46306) | function f() {
function c (line 46375) | function c(b, c, k, d) {
function a (line 46458) | function a() {
function a (line 46501) | function a(a) {
function c (line 46529) | function c(b, f, c, d, h) {
function c (line 46804) | function c(b, c, d) {
function c (line 46875) | function c() {
function b (line 46961) | function b(a) {
function b (line 47058) | function b(a) {
function b (line 47154) | function b(a, b, c, d) {
function b (line 47210) | function b(a) {
function h (line 47215) | function h(a) {
function n (line 47220) | function n(a) {
function c (line 47347) | function c() {}
function a (line 47349) | function a(a) {
function c (line 47464) | function c(b, f, c, d, k, h, m) {
function a (line 47566) | function a(a, b, f, c) {
function a (line 47621) | function a(a, b, c) {
function b (line 47642) | function b(a, b) {
function a (line 47650) | function a(a) {
function a (line 47664) | function a(a, b, c, d) {
function f (line 47722) | function f(b, f, c, d, h) {
function c (line 47869) | function c() {
function f (line 47906) | function f() {
function c (line 47956) | function c() {
function c (line 47968) | function c() {
function c (line 47977) | function c() {
function b (line 48008) | function b(a) {
function a (line 48019) | function a(a, f, c) {
function b (line 48351) | function b(a) {
function a (line 48365) | function a(a, b) {
function a (line 48471) | function a(a, b, f, c) {
function c (line 48655) | function c(a) {
function a (line 48781) | function a(a, c) {
function b (line 48996) | function b(a, b) {
function a (line 49035) | function a() {}
function b (line 49059) | function b(a, b, c) {
function b (line 49211) | function b(a, b, f, c, d, h) {
function b (line 49248) | function b() {}
function b (line 49270) | function b() {}
function b (line 49297) | function b(a, b, f, c, d, h, g) {
function b (line 49474) | function b(a) {
function d (line 49542) | function d(a, b) {
function n (line 49559) | function n(a, b) {
function p (line 49563) | function p(a) {
function f (line 49567) | function f(a) {
function k (line 49576) | function k(a, b, d) {
function m (line 49612) | function m(a, b) {
function t (line 49620) | function t(a) {
function u (line 49624) | function u(a, b, f, c, d) {
function y (line 49632) | function y(a, b, f, c, d, h) {
function E (line 49652) | function E(a, b, f) {
function D (line 49662) | function D(a) {
function z (line 49666) | function z(a) {
function G (line 49670) | function G(a) {
function l (line 49674) | function l(a) {
function N (line 49678) | function N(a) {
function q (line 49682) | function q(a) {
function W (line 49686) | function W(a) {
function Y (line 49690) | function Y(a) {
function S (line 49694) | function S(a) {
function A (line 49698) | function A(a) {
function r (line 49702) | function r(a) {
function U (line 49706) | function U() {
function ia (line 49713) | function ia(a, b) {
function b (line 49846) | function b() {
function f (line 49884) | function f() {
function b (line 49909) | function b() {
function b (line 49971) | function b(a, b) {
function f (line 50163) | function f() {
function a (line 50187) | function a(a) {
function f (line 50196) | function f(b, f) {
function f (line 50228) | function f() {
function a (line 50244) | function a(a, b, f) {
function f (line 50257) | function f(b, f, c, d) {
function b (line 50322) | function b(a) {
function h (line 50329) | function h(a) {
function f (line 50336) | function f() {
function f (line 50344) | function f(b, f) {
function f (line 50398) | function f() {
function c (line 50416) | function c(b, f) {
function a (line 50474) | function a() {
function f (line 50492) | function f() {
function c (line 50504) | function c(b, f) {
function f (line 50568) | function f(b, f) {
function a (line 50597) | function a(a) {
function f (line 50612) | function f(b, f) {
function f (line 50631) | function f() {
function a (line 50646) | function a(a, b) {
function c (line 50658) | function c(b, f, c) {
function f (line 50694) | function f() {
function c (line 50707) | function c(b, f, c) {
function c (line 50756) | function c() {
function c (line 50763) | function c(b, f) {
function b (line 50786) | function b() {
function c (line 50793) | function c() {
function b (line 50829) | function b(a, b, c, d, h) {
function d (line 50861) | function d(a) {
function a (line 50975) | function a() {}
function b (line 50990) | function b(a, b) {
function h (line 50996) | function h(a, b, c) {
function b (line 51067) | function b(a) {
function h (line 51077) | function h(a, b) {
function a (line 51103) | function a(a) {
function a (line 51130) | function a(a, f, c, d) {
function a (line 51197) | function a(a) {
function a (line 51230) | function a() {}
function b (line 51300) | function b(a, b) {
function b (line 51380) | function b(a, b) {
function h (line 51385) | function h(a) {
function b (line 51517) | function b(a, b, c, f, d, k) {
function h (line 51527) | function h(a, b, c, f, d) {
function n (line 51543) | function n() {
function d (line 51725) | function d(a) {
function c (line 51792) | function c(a) {
function b (line 51825) | function b() {
function h (line 51829) | function h(a) {
function n (line 51844) | function n(a) {
function p (line 51848) | function p(a) {
function b (line 52054) | function b(a, b, c, d, t, g, y) {
function b (line 52089) | function b() {}
function h (line 52091) | function h(a) {
function n (line 52111) | function n(a) {
function b (line 52206) | function b(a) {
function c (line 52470) | function c() {
function d (line 52488) | function d(a, b, c) {
function u (line 52511) | function u(a, b, c) {
function G (line 52599) | function G(a, b, c) {
function M (line 52679) | function M(a) {
function f (line 52731) | function f() {
function c (line 52900) | function c(a, b) {
function c (line 53163) | function c(a) {
function c (line 53216) | function c(a, b) {
function h (line 53362) | function h(b) {
function m (line 53390) | function m(b, c, d) {
function t (line 53397) | function t(a) {
function n (line 53405) | function n(d, g, u) {
function c (line 53472) | function c(b) {
function d (line 53476) | function d() {
function u (line 53480) | function u() {
function G (line 53493) | function G() {
function q (line 53505) | function q() {
function M (line 53509) | function M() {
function r (line 53523) | function r(b) {
function b (line 53590) | function b(a) {
function b (line 53627) | function b(a, b) {
function b (line 53688) | function b(a, b) {
function c (line 53872) | function c() {
function c (line 53935) | function c(b) {
function d (line 53967) | function d(b) {
function u (line 54074) | function u(a, b, c) {
function b (line 54170) | function b(a, b, c, d) {
function h (line 54188) | function h(a, c, d) {
function n (line 54206) | function n(a) {
function b (line 54297) | function b(a) {
function h (line 54312) | function h(a) {
function n (line 54318) | function n(a) {
function p (line 54332) | function p(a) {
function f (line 54341) | function f(a) {
function k (line 54354) | function k(a) {
function d (line 54413) | function d(a) {
function g (line 54420) | function g(a) {
function n (line 54499) | function n(a) {
function c (line 54587) | function c(a, b) {
function a (line 54591) | function a(a) {
function b (line 54595) | function b(a, b) {
function c (line 54654) | function c(a) {
function b (line 54737) | function b(a) {
function h (line 54757) | function h() {}
function n (line 54759) | function n() {}
function p (line 54761) | function p(a, b) {
function f (line 54822) | function f() {
function k (line 54835) | function k(a, b) {
function m (line 54910) | function m(a) {
function t (line 54962) | function t(a, b) {
function g (line 54975) | function g(a) {
function y (line 54997) | function y(a, b, c, f) {
function E (line 55017) | function E(a) {
function D (line 55027) | function D(a, b, c) {
function l (line 55081) | function l(a, b) {
function G (line 55144) | function G(a) {
function q (line 55152) | function q() {
function N (line 55167) | function N(a, b) {
function P (line 55171) | function P(a, b) {
function W (line 55210) | function W(a, b) {
function b (line 55285) | function b(a, b) {
function h (line 55289) | function h(a, b, c) {
function b (line 55369) | function b(a) {
function h (line 55378) | function h(a) {
function n (line 55383) | function n() {
function p (line 55388) | function p() {
function b (line 55511) | function b(a, b, c, d) {
function b (line 55646) | function b(a, b, c, f, d, k) {
function b (line 55756) | function b(a, b, c, f, d, m, n, g, l, q) {
function b (line 55834) | function b() {
function b (line 55842) | function b() {
function k (line 55848) | function k() {
function b (line 55890) | function b(a) {
function b (line 55934) | function b(a, b, c, f, d, k, h, m) {
function b (line 55971) | function b(a) {
function b (line 56032) | function b() {}
function b (line 56090) | function b() {}
function b (line 56105) | function b(a, b, c) {
function b (line 56181) | function b() {}
function a (line 56212) | function a() {}
function a (line 56313) | function a(a) {
function b (line 56361) | function b(a) {
function b (line 56490) | function b(a) {
function b (line 56568) | function b(a, b, c, d, h, n, g) {
function b (line 56699) | function b(a, b, c, f, d, k) {
function b (line 56751) | function b(a, b, c, d, h) {
function f (line 56865) | function f() {
function b (line 56910) | function b() {
function b (line 56993) | function b(a, b, c, f, d, k, h, m) {
function b (line 57246) | function b(a, b, c, f, d, k) {
function b (line 57287) | function b(a) {
function b (line 57337) | function b(a, b, c) {
function b (line 57408) | function b(a, b, c, f) {
function b (line 57524) | function b(a) {
function b (line 57555) | function b(a) {
function b (line 57586) | function b(a) {
function b (line 57622) | function b(a) {
function b (line 57653) | function b(a, b, c, f, d, k, h, m, n) {
function b (line 57683) | function b(a) {
function b (line 57708) | function b(a) {
function b (line 57728) | function b(a) {
function b (line 57748) | function b(a) {
function b (line 57768) | function b(a) {
function b (line 57788) | function b(a, b) {
function b (line 57843) | function b(a) {
function b (line 57913) | function b(a) {
function b (line 57946) | function b(a) {
function b (line 57988) | function b(a, b, c, d, k, h, m, n, t, g, u) {
function b (line 58189) | function b(a) {
function b (line 58291) | function b(a, b) {
function b (line 58344) | function b(b) {
function b (line 58557) | function b(a, b, c, d) {
function b (line 58617) | function b(a, b, c, f, d, n, g, l, q) {
function b (line 58725) | function b(a, b, c, f) {
function h (line 58733) | function h(a, b) {
function b (line 58773) | function b(a, b, c, d, k) {
function b (line 58985) | function b(a, b) {
function b (line 59044) | function b() {}
function b (line 59111) | function b(a, b, c, d, n, g, y, E, l, q, G) {
function b (line 59292) | function b(a, b, c, f, d) {
function h (line 59318) | function h() {}
function b (line 59575) | function b(a) {
function b (line 59635) | function b(a, b, c, f, d) {
function b (line 59665) | function b(b) {
function b (line 59731) | function b(a, b, c) {
function h (line 59737) | function h(a, b) {
function b (line 59842) | function b(a) {
function b (line 60090) | function b(a) {
function h (line 60150) | function h(a) {
function n (line 60158) | function n(a) {
function p (line 60163) | function p(a, b) {
function a (line 60404) | function a() {
function b (line 60489) | function b(f) {
function b (line 60596) | function b(a, b, c) {
function h (line 60610) | function h() {
function n (line 60617) | function n() {}
function p (line 60619) | function p() {}
function f (line 60621) | function f() {
function k (line 60625) | function k(a) {
function b (line 60744) | function b() {
function a (line 60766) | function a() {
function b (line 60878) | function b(a, b, c, f, d, k, h, m, n, p, g, t, u, y, l, E, q, z, G, D, M...
function a (line 60936) | function a(a) {
function b (line 60960) | function b(a, b) {
function b (line 60985) | function b() {
function b (line 61124) | function b() {
function b (line 61151) | function b(a, b) {
function b (line 61194) | function b(a, b, c, d, h, n, p) {
function h (line 61204) | function h(a) {
function b (line 61232) | function b(a, b, c) {
function b (line 61401) | function b() {}
function b (line 61423) | function b(a) {
function h (line 61428) | function h(a, b, c) {
function n (line 61435) | function n(a, c, f, d, k, h, m, n, p) {
function b (line 61729) | function b(a) {
function b (line 61785) | function b(a, b, c, d, k, h) {
function b (line 61999) | function b(a, b, c, f, d, k, h) {
function f (line 62027) | function f() {
function b (line 62099) | function b(a, b) {
function c (line 62127) | function c(a) {
function b (line 62210) | function b(a, b) {
function b (line 62260) | function b(a, b, c, f, d, k) {
function b (line 62425) | function b(a) {
function b (line 62534) | function b(a) {
function b (line 62571) | function b(a, b) {
function b (line 62789) | function b(a, b, c, f, d, k, h, m) {
function h (line 62803) | function h(a, b, c, f, d, k) {
function b (line 63026) | function b() {}
function b (line 63058) | function b() {}
function b (line 63111) | function b(a) {
function b (line 63163) | function b() {}
function b (line 63182) | function b(a, b) {
function b (line 63387) | function b(a) {
function b (line 63430) | function b(a, b, c) {
function b (line 63550) | function b(a, b, c, f, d, k, h, m, p, g) {
function h (line 63605) | function h(a) {
function n (line 63613) | function n() {}
function a (line 63890) | function a(a) {
function b (line 64033) | function b(a, b) {
function b (line 64080) | function b() {
function b (line 64149) | function b(a) {
function a (line 64179) | function a(a) {
function b (line 64252) | function b(a, b, c) {
function b (line 64366) | function b(a) {
function b (line 64403) | function b() {}
function h (line 64405) | function h(a) {
function n (line 64409) | function n(a) {
function b (line 64443) | function b(a, b) {
function b (line 64485) | function b(a, b) {
function b (line 64557) | function b(a, b, c, f, d, k, m, n) {
function h (line 64572) | function h(a, b) {
function n (line 64577) | function n(a, b, c, f, d, k) {
function c (line 64607) | function c() {
function b (line 64810) | function b(a) {
function f (line 64861) | function f(a) {
function b (line 64931) | function b() {}
function h (line 64933) | function h() {}
function n (line 64935) | function n(a, c, f, d, h) {
function b (line 65129) | function b(a) {
function b (line 65164) | function b(a, b, c, f, d) {
function b (line 65213) | function b(a, b, c, f) {
function b (line 65346) | function b(a, b, c) {
function b (line 65432) | function b(a, b) {
function b (line 65479) | function b(a, b) {
function b (line 65514) | function b(a, b) {
function b (line 65566) | function b(a, b, c, f, d, k, h) {
function b (line 65658) | function b(a, b, c) {
function a (line 65726) | function a(a) {
function a (line 65744) | function a(a, c) {
function a (line 65765) | function a(a) {
function b (line 65828) | function b(a, b, c) {
function b (line 65850) | function b() {}
function b (line 65902) | function b(a, b, c) {
function b (line 65916) | function b(a, b, c, f, d, k, h, m, n, g, p, t, u, y, l, q, E, z, G) {
function b (line 65971) | function b(a) {
function b (line 65992) | function b(a, b, c, f, d, h, m, g, n, p) {
function h (line 66016) | function h(a, b, c, f, d, k) {
function b (line 66056) | function b(a, b) {
function b (line 66107) | function b(a) {
function b (line 66132) | function b(a, b, c, f, d, k, h, m) {
function h (line 66144) | function h() {
function b (line 66245) | function b(a) {
function h (line 66253) | function h(a, b, c, f) {
function b (line 66390) | function b(a, b, c, f, d, k, h) {
function b (line 66547) | function b(a, b, c, f) {
function f (line 66658) | function f() {
function b (line 66682) | function b(a, b, c, f, d, k, h, m, g, n) {
function k (line 66729) | function k(a) {
function g (line 66756) | function g() {
function b (line 66796) | function b(a, b) {
function b (line 66841) | function b() {
function c (line 66907) | function c(b, d, h, g, n) {
function b (line 67639) | function b() {
function h (line 67643) | function h(a) {
function b (line 67748) | function b(a) {
function a (line 67805) | function a(a) {
function a (line 67871) | function a(a) {
function b (line 68028) | function b(f, d) {
function a (line 68453) | function a(a, b, c, f) {
function a (line 68485) | function a(a) {
function a (line 69745) | function a(a, b) {
function a (line 69777) | function a(a, b, c, f) {
function a (line 70156) | function a(a, b, c) {
function a (line 70823) | function a(a, b, c) {
function a (line 71104) | function a(a) {
function c (line 71270) | function c() {
function b (line 71314) | function b(a) {
function a (line 71377) | function a() {
function a (line 71414) | function a(a) {
function a (line 71465) | function a(a, c, d) {
function b (line 71494) | function b(a, b, c) {
function h (line 71512) | function h(a, b, c) {
function g (line 71518) | function g(a, b, c, d, h) {
function b (line 71681) | function b(a, b, c) {
function h (line 71685) | function h() {}
function g (line 71687) | function g() {}
function p (line 71689) | function p() {}
function f (line 71691) | function f(a) {
function k (line 71695) | function k() {}
function m (line 71697) | function m() {}
function t (line 71699) | function t() {}
function u (line 71701) | function u() {
function l (line 71705) | function l(a) {
function M (line 71768) | function M(a) {
function b (line 71964) | function b(a) {
function h (line 71984) | function h(a, b) {
function g (line 71988) | function g(a) {
function p (line 72016) | function p(a, b) {
function f (line 72081) | function f(a) {
function k (line 72087) | function k(a) {
function m (line 72095) | function m(a, b) {
function t (line 72104) | function t(a, b, c) {
function u (line 72117) | function u(a, b, c) {
function l (line 72135) | function l(a, b, c) {
function q (line 72141) | function q(a, b, c, f) {
function D (line 72165) | function D(a, b, c, f, d) {
function b (line 72334) | function b() {}
function h (line 72336) | function h(a, b) {
function b (line 72380) | function b(a, b, c, d) {
function b (line 72464) | function b(a) {
function a (line 72524) | function a(a, c, d, m, n, p, l, q, r) {
function a (line 73283) | function a(a, b, c, d, h, g, n, l, q, z, G) {
function f (line 73301) | function f(a) {
function d (line 73305) | function d(a) {
function a (line 73535) | function a(a, c, d, g, f, k, m, t, u, l) {
function a (line 73596) | function a(a, c, d, g, f, k, m, t) {
function a (line 73657) | function a(a, c, d, k, h, m, n, p, t, u, y) {
function b (line 76446) | function b(a, b) {
function f (line 76735) | function f() {
function c (line 77712) | function c(b, c, f, d, h, n) {
function b (line 77842) | function b(a) {
function b (line 78080) | function b(a, c, f) {
function h (line 78093) | function h(a, b, c) {
function g (line 78110) | function g() {
function b (line 78153) | function b(a, b) {
function h (line 78157) | function h(a, b) {
function b (line 78207) | function b(a) {
function h (line 78211) | function h() {
function c (line 78258) | function c(a, c, d, g) {
function a (line 78263) | function a(a) {
function c (line 78296) | function c(a, c) {
function a (line 78304) | function a(a, c) {
function c (line 78335) | function c(a) {
function a (line 78347) | function a(c, d) {
function b (line 78359) | function b(a, b, c) {
function b (line 78401) | function b(a, c, d) {
function b (line 78661) | function b() {}
function h (line 78663) | function h(c, f, d, n, t) {
function g (line 78713) | function g(a, c, f, d) {
function p (line 78723) | function p(a, b) {
function f (line 78758) | function f(a, b) {
function b (line 79054) | function b(a) {
function a (line 79220) | function a(a, b, c) {
function c (line 80454) | function c(a) {
function b (line 80473) | function b(a) {
function c (line 80990) | function c(b, c, f, d) {
function a (line 81164) | function a(a) {
function b (line 82680) | function b(a, b) {
function a (line 82736) | function a(a) {
function d (line 82959) | function d(b, f) {
function a (line 83670) | function a(a, c) {
function b (line 83679) | function b(a, b) {
function a (line 83774) | function a(a, b) {
function b (line 83799) | function b(a, b, c) {
function a (line 83958) | function a(a) {
function a (line 84041) | function a(a) {
function c (line 84088) | function c(b, f) {
function c (line 84132) | function c(b, c, d, k, g, m, n, t, l, q, y, E) {
function a (line 84519) | function a(a) {
function a (line 84561) | function a(a) {
function a (line 84700) | function a() {
function a (line 84801) | function a(a, b) {
function f (line 84810) | function f() {
function a (line 84888) | function a(a, c, f) {
function a (line 85020) | function a(a) {
function a (line 85060) | function a(a, c, d, g, f, k, m) {
function c (line 85099) | function c(b, d) {
function c (line 85228) | function c(b, c) {
function a (line 85311) | function a(a, b, c) {
function c (line 85445) | function c(b, c) {
function a (line 85535) | function a(a, c) {
function a (line 85583) | function a(a) {
function a (line 85635) | function a(a) {
function a (line 85653) | function a() {}
function b (line 85671) | function b(a, b, c) {
function h (line 85732) | function h(b) {
function b (line 85934) | function b(a, b, d, h) {
function b (line 86021) | function b(a, b, c) {
function b (line 86036) | function b() {
function c (line 86052) | function c(a, b, c, d) {
function b (line 86306) | function b(a, b) {
function b (line 86415) | function b(a, b, c) {
function a (line 86470) | function a(a, b) {
function c (line 86540) | function c(a, b, c) {
function q (line 86553) | function q(b, f) {
function n (line 86652) | function n(a, b) {
function r (line 86683) | function r(a, f, h) {
function y (line 86774) | function y(a, b, c, f, d, h) {
function W (line 86810) | function W(a, c, d) {
function d (line 86864) | function d(a, c) {
function a (line 87093) | function a(a, c, d, k) {
function b (line 87189) | function b(a, b, c) {
function b (line 87209) | function b(a, b, c, d) {
function a (line 87770) | function a(a, b, c) {
function a (line 87819) | function a(a, c) {
function c (line 87846) | function c(b, c, f, d, h, k, g) {
function c (line 87910) | function c(b, f, d, h, g, m) {
function c (line 88003) | function c(b, c, d, h, k, g, m) {
function a (line 88126) | function a(b, c) {
function a (line 88408) | function a(a, b) {
function c (line 88581) | function c(b) {
function c (line 88669) | function c(b, c) {
function a (line 89038) | function a() {
function d (line 89198) | function d(a) {
function c (line 89408) | function c(b, c, f, d, g, n, p) {
function c (line 89480) | function c(b, c, f, d, h, k) {
function a (line 89922) | function a(a, b, c, f, d) {
function a (line 90064) | function a(a, c, f, d, n, t) {
function a (line 90414) | function a(a, b) {
function a (line 90474) | function a(a, b) {
function a (line 90503) | function a(a, b, c) {
function a (line 90613) | function a(a, b, c, d, h, k) {
function a (line 90728) | function a(a, c) {
function b (line 90858) | function b(a) {
function a (line 90933) | function a(a) {
function b (line 90958) | function b(a) {
function h (line 90977) | function h(a) {
function g (line 90993) | function g(a) {
function p (line 91007) | function p(a) {
function f (line 91011) | function f(a) {
function k (line 91024) | function k(a, b) {
function c (line 92076) | function c(b, c, f, d, h) {
function c (line 92174) | function c(a, b) {
function g (line 92184) | function g(a) {
function p (line 92188) | function p(a) {
function f (line 92192) | function f(a) {
function k (line 92196) | function k(a) {
function m (line 92200) | function m(a) {
function t (line 92206) | function t(a, b, c, f, d) {
function l (line 92216) | function l(a, b) {
function q (line 92220) | function q(a, b, f, d) {
function r (line 92244) | function r(a, b, c, f) {
function D (line 92265) | function D(a, b, c) {
function z (line 92269) | function z(a, b) {
function G (line 92278) | function G(a, b, c, f) {
function M (line 92297) | function M(a, b) {
function a (line 92466) | function a() {
function a (line 92619) | function a(a) {
function b (line 92643) | function b(a) {
function b (line 92756) | function b() {
function b (line 92799) | function b(a) {
function c (line 92861) | function c(a) {
function c (line 92887) | function c(a, b, c) {
function b (line 92941) | function b(a, b, c) {
function h (line 92945) | function h(a, c) {
function b (line 92975) | function b(a) {
function h (line 92980) | function h(a) {
function b (line 93020) | function b(a) {
function h (line 93026) | function h(a) {
function g (line 93032) | function g(a) {
function p (line 93036) | function p(a, b) {
function f (line 93046) | function f(a, b) {
function c (line 93142) | function c(b, c, f, d, h, k, g, n, m, p, t) {
function c (line 93468) | function c(b) {
function b (line 93512) | function b(a, b) {
function a (line 93838) | function a(a, b, c, d) {
function b (line 94283) | function b(a, b, c, f) {
function h (line 94287) | function h(a, b, c) {
function h (line 94308) | function h(a) {
function a (line 94381) | function a(a, b, c) {
function a (line 94450) | function a(a, b) {
function a (line 94521) | function a(a) {
function c (line 94536) | function c(b, c, d) {
function a (line 94753) | function a(a, b, c, f, d, h) {
function c (line 94912) | function c() {
function c (line 94964) | function c() {
function c (line 94990) | function c() {
function c (line 95011) | function c() {
function c (line 95033) | function c() {
function c (line 95074) | function c() {
function c (line 95098) | function c() {
function c (line 95131) | function c() {
function c (line 95161) | function c() {
function c (line 95192) | function c() {
function c (line 95223) | function c() {
function c (line 95245) | function c() {
function c (line 95271) | function c() {
function c (line 95295) | function c() {
function c (line 95320) | function c() {
function c (line 95390) | function c() {
function c (line 95406) | function c() {
function c (line 95454) | function c(b, c) {
function a (line 95522) | function a(a, b, c, d, h, k) {
function b (line 95855) | function b(a, b) {
function a (line 95873) | function a(c, f, d) {
function c (line 96184) | function c(a, b) {
function b (line 96206) | function b(a) {
function a (line 96239) | function a() {
function a (line 96351) | function a(a, b) {
function c (line 96374) | function c(b, c) {
function a (line 96415) | function a(a, c, d) {
function a (line 96484) | function a(a) {
function h (line 96584) | function h(a) {
function k (line 96588) | function k() {}
function g (line 96590) | function g(a) {
function d (line 96937) | function d(b, f) {
function c (line 96974) | function c(a, c, d, g) {
function a (line 96979) | function a(a) {
function c (line 97023) | function c(b, c) {
function b (line 97328) | function b(a) {
function b (line 97610) | function b(a, b, c, f) {
function b (line 97645) | function b() {}
function a (line 97999) | function a(a) {
function b (line 98035) | function b(a, b) {
function b (line 98123) | function b(a, b) {
function b (line 98189) | function b(a, b, c, f) {
function a (line 98290) | function a(a, c, d) {
function a (line 98319) | function a(a, c, d, g, f) {
function b (line 98391) | function b(a, b, c, f, d) {
function a (line 98550) | function a(a, b) {
function b (line 98607) | function b(a, c, d) {
function a (line 98667) | function a(a, b) {
function a (line 98694) | function a(a) {
function b (line 98776) | function b(a, b) {
function b (line 98837) | function b(a, b, c, f, d) {
function b (line 98914) | function b(a, b, c, f, d, h) {
function b (line 98983) | function b(a) {
function b (line 99006) | function b(a) {
function b (line 99036) | function b(a, b, c, f, d) {
function b (line 99123) | function b(a, b, c) {
function h (line 99139) | function h(a, b) {
function b (line 99322) | function b(a) {
function b (line 99396) | function b(a, b, c, f) {
function h (line 99410) | function h(a, b, c, f) {
function b (line 99587) | function b(a) {
function b (line 99618) | function b(a, b) {
function b (line 99688) | function b(a, b, c) {
function h (line 99694) | function h(a, b) {
function b (line 99892) | function b(a, b, c, f, d, h) {
function h (line 99901) | function h(a, b) {
function g (line 99906) | function g(a, b, c, f, d) {
function b (line 100142) | function b(a) {
function b (line 100225) | function b(a, b, c) {
function b (line 100313) | function b(a) {
function b (line 100350) | function b(a, b) {
function b (line 100389) | function b(a) {
function b (line 100423) | function b(a, b, c, d, n) {
function b (line 100586) | function b(a, b, c, d, n, p) {
function b (line 100679) | function b(a, b, c, f, d, h, k) {
function h (line 101043) | function h(a) {
function g (line 101051) | function g(a) {
function k (line 101055) | function k(a) {
function n (line 101066) | function n(a, f) {
function p (line 101074) | function p(a) {
function b (line 101145) | function b(a, b, c, d) {
function b (line 101210) | function b(a, b, c, f, d, h, g, k, n, m, p, l) {
function b (line 101285) | function b(a, b, c) {
function b (line 101316) | function b(a, b, c) {
function b (line 101354) | function b(a, b, c) {
function b (line 101537) | function b(a) {
function b (line 101550) | function b(a) {
function b (line 101586) | function b(a) {
function b (line 101649) | function b(a, b, c, f, d, h, k, n, m, p, l, q) {
function b (line 102164) | function b(a) {
function b (line 102202) | function b(a) {
function b (line 102245) | function b() {}
function h (line 102247) | function h(a, b, c, d, h) {
function b (line 102284) | function b(a, b, c, f, d, h, g) {
function h (line 102303) | function h(a, b) {
function g (line 102308) | function g(a, b, c, d) {
function g (line 102428) | function g() {
function n (line 102439) | function n() {
function l (line 102451) | function l() {
function q (line 102456) | function q() {
function b (line 102597) | function b(a, b, c, d, h, g, n, m, p) {
function h (line 102623) | function h(a, b, c, d, h, k, n, m, p) {
function g (line 102651) | function g(a) {
function p (line 102657) | function p(a) {
function b (line 102879) | function b(a, b, c, f, d, h, g, k, n, m) {
function a (line 102936) | function a(a, c, d) {
function b (line 102959) | function b(a) {
function b (line 102997) | function b(a, b) {
function h (line 103003) | function h(a) {
function g (line 103011) | function g(a) {
function p (line 103017) | function p(a, b) {
function f (line 103027) | function f(a, b) {
function k (line 103035) | function k(a, b) {
function m (line 103052) | function m(a) {
function l (line 103061) | function l(a, b, c) {
function q (line 103067) | function q(a) {
function r (line 103075) | function r(a, b) {
function b (line 103186) | function b(a, b) {
function b (line 103207) | function b(a, b, c, d, h, g, n) {
function b (line 103266) | function b(a, b, c, d, g, n) {
function b (line 103290) | function b(a, b, c, d, g) {
function b (line 103341) | function b(a, b, c) {
function b (line 103367) | function b() {
function b (line 103405) | function b() {}
function b (line 103448) | function b(a, b) {
function b (line 103472) | function b(a, b, c) {
function b (line 103497) | function b(a) {
function a (line 103520) | function a() {
function b (line 103524) | function b(b) {
function b (line 103568) | function b(a, b, c) {
function b (line 103613) | function b(a, b) {
function b (line 103726) | function b(a, b) {
function b (line 103790) | function b(a) {
function b (line 103818) | function b(a) {
function b (line 103850) | function b(a, b, c) {
function b (line 103926) | function b(a, b) {
function b (line 103967) | function b(a, b) {
function b (line 104019) | function b() {}
function b (line 104032) | function b(a) {
function b (line 104066) | function b(a) {
function b (line 104099) | function b() {}
function b (line 104182) | function b() {}
function b (line 104224) | function b(a, b, c, f) {
function b (line 104280) | function b(a) {
function b (line 104303) | function b(a, b) {
function b (line 104325) | function b(a) {
function h (line 104330) | function h(a, b) {
function b (line 104567) | function b(a, b, c, d, h) {
function h (line 104575) | function h(a, b, c, d) {
function a (line 104652) | function a() {}
function b (line 104680) | function b(a, b, c, d, h, k, n, m, l) {
function b (line 105122) | function b(a, b, c, f, d, h, g) {
function b (line 105162) | function b(a, b, c, f, d) {
function a (line 105263) | function a(a, c, d) {
function b (line 105357) | function b(a, b, c, f, d, h) {
function b (line 105423) | function b(a, b, c, f) {
function b (line 105523) | function b(a) {
function b (line 105539) | function b(a, b, c) {
function b (line 105640) | function b(a, b, c, f, d, h, g, k, m) {
function c (line 105784) | function c() {
function c (line 105794) | function c(b) {
function c (line 105809) | function c(b, c) {
function b (line 105843) | function b() {
function c (line 105850) | function c() {
function a (line 105870) | function a(a) {
function b (line 105880) | function b(b, c, f) {
function a (line 105944) | function a(a) {
function a (line 105965) | function a(a) {
function b (line 105994) | function b(b, c, f) {
function c (line 106045) | function c() {
function a (line 106067) | function a(a) {
function c (line 106077) | function c(b, c) {
function c (line 106148) | function c() {
function c (line 106160) | function c(b, c, d) {
function c (line 106207) | function c() {
function c (line 106214) | function c(b, c) {
function c (line 106261) | function c() {
function a (line 106279) | function a() {}
function c (line 106287) | function c(b) {
function c (line 106354) | function c() {
function c (line 106364) | function c(b, c) {
function c (line 106426) | function c() {
function a (line 106440) | function a(a, b) {
function c (line 106450) | function c(b, c, f) {
function a (line 106529) | function a(a, b) {
function c (line 106600) | function c() {
function a (line 106614) | function a(a) {
function c (line 106623) | function c(b, c) {
function b (line 106648) | function b() {
function c (line 106655) | function c() {
function c (line 106669) | function c() {
function a (line 106684) | function a(a) {
function c (line 106694) | function c(b, c) {
function c (line 106721) | function c() {
function a (line 106734) | function a(a) {
function c (line 106743) | function c(b, c) {
function c (line 106812) | function c() {
function a (line 106826) | function a(a, b) {
function c (line 106837) | function c(b, c, f) {
function b (line 106869) | function b() {
function c (line 106876) | function c() {
function c (line 106890) | function c() {
function a (line 106904) | function a(a, b, c, f) {
function c (line 106916) | function c(b, c, f, d, h) {
function c (line 106973) | function c() {
function a (line 106986) | function a(a, b, c) {
function c (line 106997) | function c(b, c, f, d) {
function b (line 107037) | function b() {
function c (line 107067) | function c() {
function a (line 107082) | function a(a, b) {
function c (line 107092) | function c(b, c, f) {
function c (line 107140) | function c() {
function a (line 107159) | function a(a, b) {
function c (line 107169) | function c(b, c, f) {
function c (line 107246) | function c() {
function c (line 107256) | function c(b, c) {
function c (line 107294) | function c() {
function c (line 107304) | function c(b, c) {
function a (line 107356) | function a(a, b, c) {
function a (line 107378) | function a(a, b, c) {
function c (line 107434) | function c() {
function c (line 107441) | function c(b, c, d) {
function c (line 107466) | function c() {
function a (line 107483) | function a(a) {
function c (line 107492) | function c(b, c, f) {
function c (line 107528) | function c() {
function c (line 107536) | function c(b, c) {
function c (line 107562) | function c(b, c, d) {
function c (line 107602) | function c() {
function c (line 107613) | function c(b, c) {
function c (line 107645) | function c() {
function c (line 107656) | function c(b, c) {
function c (line 107691) | function c() {
function c (line 107704) | function c(b) {
function c (line 107798) | function c() {
function a (line 107811) | function a(a) {
function c (line 107826) | function c(b, c) {
function a (line 107844) | function a(b, c) {
function c (line 107862) | function c() {
function c (line 107869) | function c() {
function c (line 107879) | function c() {
function c (line 107886) | function c() {
function c (line 107899) | function c() {
function c (line 107906) | function c(b, c) {
function b (line 107939) | function b(a) {
function b (line 107967) | function b() {
function c (line 107974) | function c(a) {
function b (line 107991) | function b() {
function b (line 108006) | function b(a, b, c, f, d, h, k, n, p, l) {
function b (line 108271) | function b(a, b) {
function b (line 108428) | function b(a, b) {
function b (line 108464) | function b(a, b, c, d) {
function b (line 108529) | function b(a, b) {
function a (line 108555) | function a(a) {
function b (line 108577) | function b(a, b, c) {
function b (line 108748) | function b() {
function h (line 108753) | function h(a, b, c, f, d) {
function g (line 108761) | function g(a, b, c) {
function b (line 108837) | function b(a, b, c, f, d, h) {
function a (line 108900) | function a() {}
function b (line 108939) | function b(a, b, c) {
function h (line 108979) | function h(a) {
function g (line 108994) | function g(a, b) {
function b (line 109115) | function b(a, b) {
function h (line 109120) | function h(a) {
function g (line 109134) | function g(a) {
function a (line 109374) | function a() {
function a (line 109421) | function a() {}
function a (line 109440) | function a(a) {
function a (line 109463) | function a(a) {
function a (line 109497) | function a(a) {
function b (line 109558) | function b(a, b, c) {
function h (line 109571) | function h(a, b) {
function b (line 109600) | function b(a) {
function h (line 109639) | function h(a, b, c) {
function a (line 109665) | function a(a, c, f, d, h) {
function a (line 109688) | function a(a) {
function b (line 109717) | function b(a, b, c, d) {
function h (line 109748) | function h(a, b) {
function g (line 109763) | function g(a, c) {
function l (line 109781) | function l(a) {
function a (line 109827) | function a(a) {
function b (line 109849) | function b(a, b, c, d, g) {
function h (line 109863) | function h(a, b, c, d) {
function g (line 109879) | function g(a, c, f, d, h, l) {
function l (line 109903) | function l(a, b) {
function a (line 109953) | function a(a, c) {
function g (line 109986) | function g(a) {
function k (line 109994) | function k(a) {
function l (line 110002) | function l(a) {
function c (line 110013) | function c(a) {
function f (line 110019) | function f(c) {
function a (line 110106) | function a(a) {
function f (line 110129) | function f(a, b) {
function a (line 110227) | function a(a) {
function b (line 110235) | function b() {
function c (line 110241) | function c() {
function f (line 110247) | function f(a) {
function c (line 110514) | function c(a, b, c) {
function d (line 110531) | function d(a, b, c) {
function g (line 110537) | function g(a, b, d) {
function h (line 110542) | function h(a, b, c) {
function l (line 110548) | function l(a, b, d) {
function n (line 110553) | function n(a, b) {
function q (line 110570) | function q(a, b) {
function r (line 110580) | function r(a) {
function D (line 110584) | function D(a) {
function z (line 110588) | function z(a) {
function B (line 110592) | function B(a) {
function H (line 110596) | function H(a) {
function N (line 110607) | function N(a) {
function P (line 110612) | function P(a, b) {
function Q (line 110628) | function Q(a) {
function V (line 110637) | function V(a, b, c) {
function S (line 110680) | function S() {
function A (line 110749) | function A() {
function X (line 110786) | function X() {
function U (line 110850) | function U(a) {
function a (line 110860) | function a() {}
FILE: src/get_manifest.js
function arrayBufferToBase64 (line 1) | function arrayBufferToBase64(buffer) {
function base64ToArrayBuffer (line 12) | function base64ToArrayBuffer(b64) {
function arrayBufferToString (line 22) | function arrayBufferToString(buffer){
function padBase64 (line 32) | function padBase64(b64) {
function generateEsn (line 43) | function generateEsn() {
function getViewableId (line 83) | async function getViewableId(viewableIdPath) {
function performKeyExchange (line 106) | async function performKeyExchange() {
function generateMslRequestData (line 202) | async function generateMslRequestData(data) {
function decryptMslResponse (line 265) | async function decryptMslResponse(data) {
function getManifest (line 314) | async function getManifest(esn=defaultEsn) {
function getLicense (line 399) | async function getLicense(challenge, sessionId) {
FILE: src/options.js
function save_options (line 1) | function save_options(e) {
function restore_options (line 17) | function restore_options() {
FILE: src/sha.js
function r (line 21) | function r(n,r,t,e){var i,o,u,f=r||[0],w=(t=t||0)>>>3,s=-1===e?3:0;for(i...
function t (line 21) | function t(t,e,i){switch(e){case"UTF8":case"UTF16BE":case"UTF16LE":break...
function e (line 21) | function e(r,t,e,i){switch(r){case"HEX":return function(n){return functi...
function w (line 21) | function w(n,r){var t,e,i=n.binLen>>>3,o=r.binLen>>>3,u=i<<3,f=4-i<<3;if...
function s (line 21) | function s(n){var r={outputUpper:!1,b64Pad:"=",outputLen:-1},t=n||{},e="...
function a (line 21) | function a(n,r,e,i){var o=n+" must include a value and format";if(!r){if...
function n (line 21) | function n(n,r,t){var e=t||{};if(this.t=r,this.i=e.encoding||"UTF8",this...
function v (line 21) | function v(n,r){function t(){this.constructor=n}c(n,r),n.prototype=null=...
function A (line 21) | function A(n,r){return n<<r|n>>>32-r}
function E (line 21) | function E(n,r){return n>>>r|n<<32-r}
function l (line 21) | function l(n,r){return n>>>r}
function b (line 21) | function b(n,r,t){return n^r^t}
function H (line 21) | function H(n,r,t){return n&r^~n&t}
function S (line 21) | function S(n,r,t){return n&r^n&t^r&t}
function d (line 21) | function d(n){return E(n,2)^E(n,13)^E(n,22)}
function m (line 21) | function m(n,r){var t=(65535&n)+(65535&r);return(65535&(n>>>16)+(r>>>16)...
function p (line 21) | function p(n,r,t,e){var i=(65535&n)+(65535&r)+(65535&t)+(65535&e);return...
function y (line 21) | function y(n,r,t,e,i){var o=(65535&n)+(65535&r)+(65535&t)+(65535&e)+(655...
function R (line 21) | function R(n){return E(n,7)^E(n,18)^l(n,3)}
function U (line 21) | function U(n){return E(n,6)^E(n,11)^E(n,25)}
function C (line 21) | function C(n){return[1732584193,4023233417,2562383102,271733878,32853775...
function T (line 21) | function T(n,r){var t,e,i,o,u,f,w,s=[];for(t=r[0],e=r[1],i=r[2],o=r[3],u...
function F (line 21) | function F(n,r,t,e){for(var i,o=15+(r+65>>>9<<4),u=r+t;n.length<=o;)n.pu...
function r (line 21) | function r(r,e,i){var o=this;if("SHA-1"!==r)throw new Error(f);var u=i||...
function B (line 21) | function B(n){return"SHA-224"==n?o.slice():u.slice()}
function L (line 21) | function L(n,r){var t,e,o,u,f,w,s,a,h,c,v,A,b=[];for(t=r[0],e=r[1],o=r[2...
function r (line 21) | function r(r,e,i){var o=this;if("SHA-224"!==r&&"SHA-256"!==r)throw new E...
function Y (line 21) | function Y(n,r){var t;return r>32?(t=64-r,new k(n.I<<r|n.N>>>t,n.N<<r|n....
function N (line 21) | function N(n,r){var t;return r<32?(t=32-r,new k(n.N>>>r|n.I<<t,n.I>>>r|n...
function I (line 21) | function I(n,r){return new k(n.N>>>r,n.I>>>r|n.N<<32-r)}
function M (line 21) | function M(n,r,t){return new k(n.N&r.N^~n.N&t.N,n.I&r.I^~n.I&t.I)}
function X (line 21) | function X(n,r,t){return new k(n.N&r.N^n.N&t.N^r.N&t.N,n.I&r.I^n.I&t.I^r...
function z (line 21) | function z(n){var r=N(n,28),t=N(n,34),e=N(n,39);return new k(r.N^t.N^e.N...
function O (line 21) | function O(n,r){var t,e;t=(65535&n.I)+(65535&r.I);var i=(65535&(e=(n.I>>...
function j (line 21) | function j(n,r,t,e){var i,o;i=(65535&n.I)+(65535&r.I)+(65535&t.I)+(65535...
function _ (line 21) | function _(n,r,t,e,i){var o,u;o=(65535&n.I)+(65535&r.I)+(65535&t.I)+(655...
function P (line 21) | function P(n,r){return new k(n.N^r.N,n.I^r.I)}
function x (line 21) | function x(n){var r=N(n,1),t=N(n,8),e=I(n,7);return new k(r.N^t.N^e.N,r....
function V (line 21) | function V(n){var r=N(n,14),t=N(n,18),e=N(n,41);return new k(r.N^t.N^e.N...
function q (line 21) | function q(n){return"SHA-384"===n?[new k(3418070365,o[0]),new k(16542702...
function D (line 21) | function D(n,r){var t,e,i,o,u,f,w,s,a,h,c,v,A,E,l,b,H=[];for(t=r[0],e=r[...
function r (line 21) | function r(r,e,i){var o=this;if("SHA-384"!==r&&"SHA-512"!==r)throw new E...
function W (line 21) | function W(n){var r,t=[];for(r=0;r<5;r+=1)t[r]=[new k(0,0),new k(0,0),ne...
function $ (line 21) | function $(n){var r,t=[];for(r=0;r<5;r+=1)t[r]=n[r].slice();return t}
function nn (line 21) | function nn(n,r){var t,e,i,o,u,f,w,s,a,h=[],c=[];if(null!==n)for(e=0;e<n...
function rn (line 21) | function rn(n){var r,t,e=0,i=[0,0],o=[4294967295&n,n/4294967296&2097151]...
function tn (line 21) | function tn(n){return w(rn(n.binLen),n)}
function en (line 21) | function en(n,r){var t,e=rn(r),i=r>>>2,o=(i-(e=w(e,n)).value.length%i)%i...
function r (line 21) | function r(r,e,i){var o=this,u=6,w=0,s=i||{};if(1!==(o=n.call(this,r,e,i...
function n (line 21) | function n(n,r,t){if("SHA-1"==n)this.j=new K(n,r,t);else if("SHA-224"==n...
Condensed preview — 14 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,440K chars).
[
{
"path": ".gitattributes",
"chars": 39,
"preview": "cadmium-playercore-1080p.js text eol=lf"
},
{
"path": ".gitignore",
"chars": 31,
"preview": "node_modules\nweb-ext-artifacts\n"
},
{
"path": "CHANGELOG",
"chars": 345,
"preview": "1.8\n - latest player core\n1.7\n - latest player core\n1.5\n - latest player core, 720p fallback\n1.4\n - decoding"
},
{
"path": "README.md",
"chars": 1622,
"preview": "# netflix-1080p-firefox\n\n* Add-on: https://addons.mozilla.org/en-US/firefox/addon/force-1080p-netflix/\n* SEO: \"Watch Net"
},
{
"path": "package.json",
"chars": 445,
"preview": "{\n \"name\": \"netflix-1080p-foxfire\",\n \"version\": \"1.8.0\",\n \"description\": \"Based on [https://github.com/truedread/netf"
},
{
"path": "src/aes.js",
"chars": 63732,
"preview": "/*! MIT License. Copyright 2015-2018 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */\n(function(root) {\n \"use stric"
},
{
"path": "src/background.js",
"chars": 616,
"preview": "browser.webRequest.onBeforeRequest.addListener(\n function(details) {\n let filter = browser.webRequest.filterResponse"
},
{
"path": "src/cadmium-playercore-1080p.js",
"chars": 5187293,
"preview": "var esnPrefix;\nvar manifestOverridden = false;\n\nT1zz.w6L = function() {\n return typeof T1zz.u6L.U74 === 'function' ? "
},
{
"path": "src/content_script.js",
"chars": 1162,
"preview": "// From EME Logger extension\n\nurls = [\n 'aes.js', // https://cdn.rawgit.com/ricmoo/aes-js/master/index.js\n 'sha.js"
},
{
"path": "src/get_manifest.js",
"chars": 12294,
"preview": "function arrayBufferToBase64(buffer) {\n var binary = \"\";\n var bytes = new Uint8Array( buffer );\n var len = byte"
},
{
"path": "src/manifest.json",
"chars": 1056,
"preview": "{\n \"manifest_version\": 2,\n \"name\": \"Netflix 1080p\",\n \"description\": \"Forces 1080p playback for Netflix in Firefox. Ba"
},
{
"path": "src/options.html",
"chars": 631,
"preview": "<!DOCTYPE html>\n<html>\n\n<head>\n <meta charset=\"utf-8\">\n <style>\n body {\n margin: 2em 3em;\n "
},
{
"path": "src/options.js",
"chars": 1123,
"preview": "function save_options(e) {\n e.preventDefault();\n var use6Channels = document.getElementById('5.1').checked;\n //"
},
{
"path": "src/sha.js",
"chars": 23336,
"preview": "/**\n * A JavaScript implementation of the SHA family of hashes - defined in FIPS PUB 180-4, FIPS PUB 202,\n * and SP 800-"
}
]
About this extraction
This page contains the full source code of the vladikoff/netflix-1080p-firefox GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 14 files (5.0 MB), approximately 1.3M tokens, and a symbol index with 1632 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.