var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t) {
        return -1 == o(n) && (e(n), r(`function ${t || n.name || ""}() { [native code] }`)), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            return "function" == typeof this && i[o(this)] || n.call(this)
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();
let FingerprintGenerator = require('fingerprint-generator').FingerprintGenerator

let fingerprintGenerator = new FingerprintGenerator({
    browsers: [
        {name: "chrome", minVersion: 105},
        // { name: "edge", minVersion: 99 },
        // "safari"
    ],
    devices: [
        // "mobile",
        "desktop"
    ],
    operatingSystems: [
        "windows", "macos",
        // "android",
        // "ios"
    ]
});
let {fingerprint, headers} = fingerprintGenerator.getFingerprint();

const crypto = require('crypto');
var stackTrace = {};
var idx = 0;
var arrs = {};
console.time("处理完毕，耗时");

Date.now = function now() { return 1685096207545 };
Date.parse = function () { return 1685096207545 };
Date.prototype.valueOf = function () { return 1685096207545 };
Date.prototype.getTime = function () { return 1685096207545 };
Date.prototype.toString = function () { return 1685096207545 };
Performance.prototype.now = function now(){ return Number('1685096207545'.slice(8))}

Math.random = function random() { return 0.08636862211354912 };
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
debug = false;
dtavm = {}
v_events = {}
v_start_stamp = Date.now()
print = console.log
dtavm.log = console.log
con3 = console.log
con3 = function (){}

proxy = function (tt, name) {
    return new Proxy(tt, {
        get(target, p, receiver) {
            let res = Reflect.get(target, p, receiver);
            console.log(`${name} get`, p, typeof res)
            return res;
        }
    })
}

var v_console_logger = console.log
var v_console_log = function () {
    if (true) {
        v_console_logger.apply(this, arguments)
    }
}
// console.log = function () {}
window = this;

window = v_saf(window)
window.window = window
window.Promise = Promise
window.ReadableStream = v_saf(function ReadableStream() {})
window.TransformStream = v_saf(function TransformStream() {})
window.SubmitEvent = v_saf(function SubmitEvent() {})


proxy = function (tt, name) {
    return new Proxy(tt, {
        get(target, p, receiver) {
            let res = Reflect.get(target, p, receiver);
            console.log(`${name} get`, p, typeof res)
            return res;
        }
    })
}
window.CSS = proxy({
    supports: function (){
        print('CSS.supports', arguments)
        return true;
    }
}, 'CSS')
window = new Proxy(window, {
    get(target, p, receiver) {
        // if (p === 'addEventListener'){
        //     debugger;
        // }
        let res = Reflect.get(target, p, receiver);
        console.log('get window', p, typeof res)
        // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))

        // if (!['_registeredHandlers'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol' && p !== 'removeEventListener') {
        //     return proxy(res, p)
        // }
        return res;
    },
    set(target, p, newValue, receiver) {
        console.log('set window', p, newValue)
        if (typeof newValue === 'string' && newValue.startsWith('3g')) {
            _console(newValue)
            // process.exit(0)
        }
        Reflect.set(target, p, newValue, receiver)
    }
});


// let HeaderGeneratorOptions = require('header-generator').HeaderGeneratorOptions


_console2 = console.log
// Math.random = function (){
//     _console2("call random")
//     return 0.12364546
// }
//
// _date = Date
// ssssssss = new _date('2023-05-14T03:24:00')
// Date = function() {
//     return ssssssss;
// }
// Date.__proto__ = _date

// var _hasOwnProperty = Object.hasOwnProperty;
// Object.hasOwnProperty = function (){
//     let res =  _hasOwnProperty.apply(this, arguments);
//     print('Object.hasOwnProperty', arguments, res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//     return res;
// }
// var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = function (){
//     let res =  _getOwnPropertyDescriptor.apply(this, arguments);
//     print('Object.getOwnPropertyDescriptor', arguments[1], res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//
//     return res;
// }
function aaProxy(obj, name) {
    // return obj;
    return new Proxy(obj, {
        get(target, propKey, receiver) { //拦截对象属性的读取，比如proxy.foo和proxy['foo']。
            let temp = Reflect.get(target, propKey, receiver);
            print(`${name} -> get ${propKey.toString()} return -> ${temp == undefined}`);
            if (typeof temp == 'object') {
                temp = myProxy(temp, name + " => " + propKey)
            }
            return temp;
        },
        set(target, propKey, value, receiver) { //拦截对象属性的设置，比如proxy.foo = v或proxy['foo'] = v，返回一个布尔值。
            const temp = Reflect.set(target, propKey, value, receiver);
            print(`${name} -> set ${propKey} value -> ${value}`);
            // if (propKey == 'pathname')debugger;
            return temp;
        },
        has(target, propKey) { //拦截propKey in proxy的操作，返回一个布尔值。
            const temp = Reflect.has(target, propKey);
            try {
                print(`${name} -> has ${propKey}`, temp);
            } catch (e) {
            }
            return temp;
        },
        deleteProperty(target, propKey) { //拦截delete proxy[propKey]的操作，返回一个布尔值。
            const temp = Reflect.deleteProperty(target, propKey);
            return temp;
        },
        ownKeys(target) { //拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for...in循环，返回一个数组。该方法返回目标对象所有自身的属性的属性名，而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。
            const temp = Reflect.ownKeys(target);
            return temp;
        },
        getOwnPropertyDescriptor(target, propKey) { //拦截Object.getOwnPropertyDescriptor(proxy, propKey)，返回属性的描述对象。
            const temp = Reflect.getOwnPropertyDescriptor(target, propKey);
            return temp;
        },
        defineProperty(target, propKey, propDesc) { //拦截Object.defineProperty(proxy, propKey, propDesc）、Object.defineProperties(proxy, propDescs)，返回一个布尔值。
            const temp = Reflect.defineProperty(target, propKey, propDesc);
            return temp;
        },
        preventExtensions(target) { //拦截Object.preventExtensions(proxy)，返回一个布尔值。
            const temp = Reflect.preventExtensions(target);
            return temp;
        },
        getPrototypeOf(target) { //拦截Object.getPrototypeOf(proxy)，返回一个对象。
            const temp = Reflect.getPrototypeOf(target);
            return temp;
        },
        isExtensible(target) { //拦截Object.isExtensible(proxy)，返回一个布尔值。
            const temp = Reflect.isExtensible(target);
            return temp;
        },
        setPrototypeOf(target, proto) { //拦截Object.setPrototypeOf(proxy, proto)，返回一个布尔值。如果目标对象是函数，那么还有两种额外操作可以拦截。
            const temp = Reflect.setPrototypeOf(target, proto);
            return temp;
        },
        apply(target, object, args) { //拦截 Proxy 实例作为函数调用的操作，比如proxy(...args)、proxy.call(object, ...args)、proxy.apply(...)。
            const temp = Reflect.apply(target, object, args);
            return temp;
        },
        construct(target, args) { //拦截 Proxy 实例作为构造函数调用的操作，比如new proxy(...args)。
            const temp = Reflect.construct(target, args);
            return temp;
        }
    })
}

// dtavm.proxy =
debug = false
var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t, nn) {
        tt = ''
        if (nn) {
            tt = ' ' + nn
        }
        return -1 == o(n) && (e(n), r(`function${tt} ${t || n.name || ""}() { [native code] }`)), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            let res = "function" == typeof this && i[o(this)] || n.call(this)
            // print('toString', arguments, '|||', 'res', res)

            return res;
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();

function v_hook_href(obj, name, initurl) {
    var r = Object.defineProperty(obj, 'href', {
        get: function () {
            if (!(this.protocol) && !(this.host)) {
                r = ''
            } else {
                r = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + this.pathname + this.search + this.hash;
            }
            // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
            return r
        },
        set: function (href) {
            href = href.trim()
            v_console_log(`  [*] ${name || obj.constructor.name} -> href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (this.protocol ? this.protocol : 'http:') + href
            } else {
                href = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            this.protocol = a[1] ? a[1] : "";
            this.host = a[2] ? a[2] : "";
            this.port = a[3] ? a[3] : "";
            this.pathname = a[4] ? a[4] : "";
            this.search = a[5] ? a[5] : "";
            this.hash = a[6] ? a[6] : "";
            this.hostname = this.host;
            this.origin = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "");
        }
    });
    // r = Object.defineProperty(r, 'search', {
    //     get: function(){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[get]:`, this.search)
    //
    //         // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
    //         return this.search_
    //     },
    //     set: function(href){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[set]:`, href)
    //
    //         this.search_ = href
    //     }
    // });
    if (initurl && initurl.trim()) {
        var temp = v_new_toggle;
        v_new_toggle = true;
        r.href = initurl;
        v_new_toggle = temp;
    }

    return r
}

function _inherits(t, e) {
    t.prototype = Object.create(e.prototype, {
        constructor: {value: t, writable: !0, configurable: !0}
    }), e && Object.setPrototypeOf(t, e)
}

// Object.defineProperty(Object.prototype, Symbol.toStringTag, {
//     get() { return Object.getPrototypeOf(this).constructor.name }
// });
var v_new_toggle = true
Object.freeze(console)//only for javascript-obfuscator anti console debug.

v_console_log = function () {
}
var v_random = (function () {
    var seed = 276951438;
    return function random() {
        return seed = (seed * 9301 + 49297) % 233280, (seed / 233280)
    }
})()
var v_new = function (v) {
    var temp = v_new_toggle;
    v_new_toggle = true;
    var r = new v;
    v_new_toggle = temp;
    return r
}


RTCSessionDescription = v_saf(function RTCSessionDescription() {
    ;
})

EventTarget = v_saf(function EventTarget() {
    ;
})
CanvasRenderingContext2D = v_saf(function CanvasRenderingContext2D() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
CanvasGradient = v_saf(function CanvasGradient() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
WebGL2RenderingContext = v_saf(function WebGL2RenderingContext() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MutationObserver = v_saf(function MutationObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
OffscreenCanvasRenderingContext2D = v_saf(function OffscreenCanvasRenderingContext2D() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
NavigatorUAData = v_saf(function NavigatorUAData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
FeaturePolicy = v_saf(function FeaturePolicy() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
NodeList = v_saf(function NodeList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLCollection = v_saf(function HTMLCollection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLAllCollection = v_saf(function HTMLAllCollection(arrs) {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this.items == allNodes
})
Object.defineProperties(HTMLAllCollection.prototype, {
    items: {value: {}},
    item: {
        value: v_saf(function item() {

        })
    },
    length: {
        value: 0
    },
    namedItem: {
        value: v_saf(function namedItem() {

        })
    }
})
DOMTokenList = v_saf(function DOMTokenList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Event = v_saf(function Event() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
RTCIceCandidate = v_saf(function RTCIceCandidate() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Bluetooth = v_saf(function Bluetooth() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
CredentialsContainer = v_saf(function CredentialsContainer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Navigator = v_saf(function Navigator() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this._plugins = typeof PluginArray == 'undefined' ? [] : v_new(PluginArray);
    this._mimeTypes = typeof MimeTypeArray == 'undefined' ? [] : v_new(MimeTypeArray)
})

navis = {
    appCodeName: "Mozilla",
    appName: "Netscape",
    appVersion: "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
    language: "en-US",
    languages: ['en-US', 'en', 'zh-CN'],
    maxTouchPoints: 0,
    platform: "MacIntel",
    product: "Gecko",
    productSub: "20030107",
    userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
    vendor: "Google Inc.",
    vendorSub: "",
    webdriver: false,
}

// navis = fingerprint.navigator
Object.defineProperties(Navigator.prototype, {
    mediaDevices: {
        get() {
            v_console_log("  [*] Navigator -> mediaDevices[get]",);
            return v_new(MediaDevices)
        }
    },
    // cpuClass: {
    //     get(){
    //         v_console_log("  [*] Navigator -> cpuClass[get]", this._plugins || []);
    //         return ''
    //     }
    // },
    plugins: {
        get: v_saf(function plugins() {
            v_console_log("  [*] Navigator -> plugins[get]", this._plugins || []);
            return this._plugins || []
        }, undefined, 'get')
    },
    mimeTypes: {
        get: v_saf(function mimeTypes() {
            v_console_log("  [*] Navigator -> mimeTypes[get]", this._mimeTypes || []);
            return this._mimeTypes || []
        }, undefined, 'get')
    },
    appCodeName: {
        get() {
            v_console_log("  [*] Navigator -> appCodeName[get]", "Mozilla");
            // return "Mozilla"
            return navis.appCodeName
        }
    },
    appName: {
        get() {
            v_console_log("  [*] Navigator -> appName[get]", "Netscape");
            // return "Netscape"
            return navis.appName
        }
    },
    appVersion: {
        get() {
            v_console_log("  [*] Navigator -> appVersion[get]", "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62");
            // return "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.appVersion
        }
    },
    hardwareConcurrency: {
        get() {
            v_console_log("  [*] Navigator -> hardwareConcurrency[get]", 8);
            return 8
        }
    },
    maxTouchPoints: {
        get() {
            v_console_log("  [*] Navigator -> maxTouchPoints[get]", 0);
            return 0
        }
    },
    platform: {
        get() {
            v_console_log("  [*] Navigator -> platform[get]", "MacIntel");
            return navis.platform
        }
    },
    product: {
        get() {
            v_console_log("  [*] Navigator -> product[get]", "Gecko");
            return navis.product
        }
    },
    productSub: {
        get() {
            v_console_log("  [*] Navigator -> productSub[get]", "20030107");
            return navis.productSub
        }
    },
    userAgent: {
        get: v_saf(function userAgent() {

            v_console_log("  [*] Navigator -> userAgent[get]", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62");
            // return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.userAgent
        }, undefined, 'get')
    },
    vendor: {
        get: v_saf(function vendor() {
            v_console_log("  [*] Navigator -> vendor[get]", "Google Inc.");
            return navis.vendor
        }, undefined, 'get')
    },
    vendorSub: {
        get() {
            v_console_log("  [*] Navigator -> vendorSub[get]", "");
            return ""
        }
    },
    doNotTrack: {
        get() {
            v_console_log("  [*] Navigator -> doNotTrack[get]", null);
            return null
        }
    },
    webdriver: {
        get() {
            v_console_log("  [*] Navigator -> webdriver[get]", false);
            return false
        }
    },
    geolocation: {
        get() {
            v_console_log("  [*] Navigator -> geolocation[get]", {});
            return {}
        }
    },
    bluetooth: {
        get() {
            v_console_log("  [*] Navigator -> bluetooth[get]", {});
            return v_new(Bluetooth)
        }
    },
    credentials: {
        get() {
            v_console_log("  [*] Navigator -> credentials[get]", {});
            return v_new(CredentialsContainer)
        }
    },
    languages: {
        get() {
            v_console_log("  [*] Navigator -> languages[get]", {});
            return {}
        }
    },
    connection: {
        get() {
            v_console_log("  [*] Navigator -> connection[get]", {});
            return {}
        }
    },
    vibrate: {
        get() {
            v_console_log("  [*] Navigator -> vibrate[get]", {});
            return {}
        }
    },
    storage: {
        get() {
            v_console_log("  [*] Navigator -> storage[get]", {});
            return {}
        }
    },
    requestMediaKeySystemAccess: {
        get() {
            v_console_log("  [*] Navigator -> requestMediaKeySystemAccess[get]", {});
            return v_saf(function requestMediaKeySystemAccess() {
            })
        }
    },
    [Symbol.toStringTag]: {value: "Navigator", writable: false, enumerable: false, configurable: true},
})
TextMetrics = v_saf(function TextMetrics() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Plugin = v_saf(function Plugin() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(Plugin.prototype, {
    name: {value: '', writable: true},
    description: {value: '', writable: true},
    filename: {value: '', writable: true},
    length: {value: '', writable: true},
})
PluginArray = v_saf(function PluginArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(Plugin);
    this[0].description = "Portable Document Format";
    this[0].filename = "internal-pdf-viewer";
    this[0].length = 2;
    this[0].name = "PDF Viewer";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].filename = "internal-pdf-viewer";
    this[1].length = 2;
    this[1].name = "Chrome PDF Viewer";
    this[2] = v_new(Plugin);
    this[2].description = "Portable Document Format";
    this[2].filename = "internal-pdf-viewer";
    this[2].length = 2;
    this[2].name = "Chromium PDF Viewer";
    this[3] = v_new(Plugin);
    this[3].description = "Portable Document Format";
    this[3].filename = "internal-pdf-viewer";
    this[3].length = 2;
    this[3].name = "Microsoft Edge PDF Viewer";
    this[4] = v_new(Plugin);
    this[4].description = "Portable Document Format";
    this[4].filename = "internal-pdf-viewer";
    this[4].length = 2;
    this[4].name = "WebKit built-in PDF";
})
// PluginArray = new Proxy(PluginArray, {
//     get(target, p, receiver) {
//         let temp = Reflect.get(target, p, receiver);
//         console.log('PluginArray get ', p);
//         return temp;
//     }
// })
Object.defineProperties(PluginArray.prototype, {
    [Symbol.toStringTag]: {
        value: 'PluginArray',
    }
})
MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
WebKitMutationObserver = v_saf(function WebKitMutationObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
// Crypto = v_saf(function Crypto(){if (!v_new_toggle){ throw TypeError("Illegal constructor") };
//     this.getRandomValues = function(){
//         v_console_log('  [*] Crypto -> getRandomValues[func]')
//         var e=arguments[0]; return e.map(function(x, i){return e[i]=v_random()*1073741824});}
//     this.randomUUID = function(){
//         v_console_log('  [*] Crypto -> randomUUID[func]')
//         function get2(){return (v_random()*255^0).toString(16).padStart(2,'0')}
//         function rpt(func,num){var r=[];for(var i=0;i<num;i++){r.push(func())};return r.join('')}
//         return [rpt(get2,4),rpt(get2,2),rpt(get2,2),rpt(get2,2),rpt(get2,6)].join('-')}})
Image = v_saf(function Image() {
    ;
    return v_new(HTMLImageElement)
})
webkitResolveLocalFileSystemURL = v_saf(function webkitResolveLocalFileSystemURL() {
})
webkitRequestAnimationFrame = v_saf(function webkitRequestAnimationFrame() {
})
requestAnimationFrame = v_saf(function requestAnimationFrame() {
})
File = v_saf(function File() {
})
webkitRTCPeerConnection = v_saf(function webkitRTCPeerConnection() {
    ;
});
_inherits(webkitRTCPeerConnection, EventTarget)

Object.defineProperties(webkitRTCPeerConnection.prototype, {
    onicecandidate: {
        set() {
            print("  [*] webkitRTCPeerConnection -> onicecandidate[set]", [].slice.call(arguments));
        }
    },
    createDataChannel: {
        value: v_saf(function createDataChannel() {
            print("  [*] webkitRTCPeerConnection -> createDataChannel[func]", [].slice.call(arguments));
        })
    },
    createOffer: {
        value: v_saf(function createOffer() {
            print("  [*] webkitRTCPeerConnection -> createOffer[func]", [].slice.call(arguments));
        })
    },
    setLocalDescription: {
        value: v_saf(function setLocalDescription() {
            print("  [*] webkitRTCPeerConnection -> setLocalDescription[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "webkitRTCPeerConnection", writable: false, enumerable: false, configurable: true},
})

RTCPeerConnection = v_saf(function RTCPeerConnection() {
    ;
});
_inherits(RTCPeerConnection, EventTarget)
RTCDataChannel = v_saf(function RTCDataChannel() {
    ;
});
_inherits(RTCDataChannel, EventTarget)
Object.defineProperties(RTCDataChannel.prototype, {
    binaryType: {
        get() {
            print('  [*] RTCDataChannel -> binaryType[get] ', 'arraybuffer')
            return 'arraybuffer'
        }
    }
})
window.RTCDataChannel = RTCDataChannel;
Node = v_saf(function Node() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Node, EventTarget)
OffscreenCanvas = v_saf(function OffscreenCanvas() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(OffscreenCanvas, EventTarget)
WebSocket = v_saf(function WebSocket() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WebSocket, EventTarget)
RTCPeerConnectionIceEvent = v_saf(function RTCPeerConnectionIceEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(RTCPeerConnectionIceEvent, Event)
CompressionStream = v_saf(function CompressionStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CompressionStream = CompressionStream;
LayoutShiftAttribution = v_saf(function LayoutShiftAttribution() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.LayoutShiftAttribution = LayoutShiftAttribution;
FeaturePolicy = v_saf(function FeaturePolicy() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FeaturePolicy = FeaturePolicy;
XRHitTestResult = v_saf(function XRHitTestResult() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.XRHitTestResult = XRHitTestResult;
// todo hasOwnProperty 的环境
window.crossOriginIsolated = false
window.AbstractRange = v_saf(function AbstractRange() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.RTCDtlsTransport = v_saf(function RTCDtlsTransport() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.BarcodeDetector = v_saf(function BarcodeDetector() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.EventCounts = v_saf(function EventCounts() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.VisualViewport = v_saf(function VisualViewport() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FinalizationRegistry = v_saf(function FinalizationRegistry() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.WritableStreamDefaultController = v_saf(function WritableStreamDefaultController() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.HID = v_saf(function HID() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FileSystemDirectoryHandle = v_saf(function FileSystemDirectoryHandle() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.AudioData = v_saf(function AudioData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.DOMRectList = v_saf(function DOMRectList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FragmentDirective = v_saf(function FragmentDirective() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.Sanitizer = v_saf(function Sanitizer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.Lock = v_saf(function Lock() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.EyeDropper = v_saf(function EyeDropper() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSLayerBlockRule = v_saf(function CSSLayerBlockRule() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.ServiceWorkerContainer = v_saf(function ServiceWorkerContainer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.IdleDetector = v_saf(function IdleDetector() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.HTMLDialogElement = v_saf(function HTMLDialogElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSFontPaletteValuesRule = v_saf(function CSSFontPaletteValuesRule() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSMathClamp = v_saf(function CSSMathClamp() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.NavigationPreloadManager = v_saf(function NavigationPreloadManager() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.LaunchParams = v_saf(function LaunchParams() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.BrowserCaptureMediaStreamTrack = v_saf(function BrowserCaptureMediaStreamTrack() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FontData = v_saf(function FontData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.ReadableByteStreamController = v_saf(function ReadableByteStreamController() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.OffscreenCanvas = v_saf(function OffscreenCanvas() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.MediaSourceHandle = v_saf(function MediaSourceHandle() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.XRCamera = v_saf(function XRCamera() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});


MessageEvent = v_saf(function MessageEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MessageEvent, Event)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
UIEvent = v_saf(function UIEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(UIEvent, Event)
Worker = v_saf(function Worker() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Worker, EventTarget)
Performance = v_saf(function Performance() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Performance, EventTarget)
XMLHttpRequestEventTarget = v_saf(function XMLHttpRequestEventTarget() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(XMLHttpRequestEventTarget, EventTarget)
Object.defineProperties(XMLHttpRequestEventTarget.prototype, {
    onloadstart: {enumerable: true, configurable: true, writable: true},
    onprogress: {enumerable: true, configurable: true, writable: true},
    onabort: {enumerable: true, configurable: true, writable: true},
    onerror: {enumerable: true, configurable: true, writable: true},
    onload: {enumerable: true, configurable: true, writable: true},
    ontimeout: {enumerable: true, configurable: true, writable: true},
    onloadend: {enumerable: true, configurable: true, writable: true},
    status: {
        get() {
            console.log("status_call222", arguments);
            return 0;
        }, enumerable: true, configurable: true
    },

})
Document = v_saf(function Document() {
    ;
});
_inherits(Document, Node)
Element = v_saf(function Element() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MouseEvent = v_saf(function MouseEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MouseEvent, UIEvent)
KeyboardEvent = v_saf(function KeyboardEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(KeyboardEvent, UIEvent)
XMLHttpRequest = v_saf(function XMLHttpRequest() {
    ;
});
_inherits(XMLHttpRequest, XMLHttpRequestEventTarget)
Object.defineProperties(XMLHttpRequest.prototype, {
    onreadystatechange: {
        get() {
            console.log("onreadystatechange_call", arguments)
        }, enumerable: true, configurable: true
    },
    headers: {enumerable: true, configurable: true, value: {}},
    readyState: {
        get() {
            console.log("readyState_call", arguments)
        }, enumerable: true, configurable: true
    },
    timeout: {
        get() {
            console.log("timeout_call", arguments)
        }, enumerable: true, configurable: true
    },
    withCredentials: {
        get() {
            console.log("withCredentials_call", arguments)
        }, enumerable: true, configurable: true
    },
    upload: {
        get() {
            console.log("upload_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseURL: {
        get() {
            console.log("responseURL_call", arguments)
        }, enumerable: true, configurable: true
    },
    status: {
        get() {
            console.log("status_call", arguments);
            return 0;
        }, enumerable: true, configurable: true
    },
    statusText: {
        get() {
            console.log("statusText_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseType: {
        get() {
            console.log("responseType_call", arguments)
        }, enumerable: true, configurable: true
    },
    response: {
        get() {
            console.log("response_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseText: {
        // value:
        get() {
            console.log("responseText_call", arguments);
            return ' uPF3AwEoJlHlzWNlesZQyw==nEDp0BiUXDVv+kZI0xmvWA2l1/2Sd+cwEqZ/dab98vw/EW9vHnlu0ewwQ6/XbKoC/4OMgkSZlMatR5Juv64BjfveRzkJCkOxeOqOk82GovL+Lz68K0ps6QBt+rFSkT/Q9/HmcE+4gxnSBp2rS1FPXpuulY3PxlibjQHx4beX+JTnZBN+EC9mU+dCite0S5/uqq5SVVm7QQhHJikbu5oY0H72574dVVA22nEDH4QT4XKjfzPsPqdxUEOh77Y+H5aA6X6gLPtQz7L2uWO/naJhfodv6ngafMaz/pgYGIbCZJySNifAsPDEXTRsJIIi+mmCMOjadxgmYo7x2ZZXHUS4ATT7yIBYRsPHoWEyk37f7zzyNJ8N+LXhZF4vc++yBopxHJpDrCevB8zHA6mJPl+vdaojopVeOjMllg9CNemDelw0IPKj7hRp2ohhjMISI8tVlX9FdgAG5GcXAxs1tJNvZ72tOiEueFcY4qxjgK+9ZrfEjvVWx5qdnYjUHSruCn6wAd3yd7qG0/9tZjKjSogKOYsa8HXyuBaMEcb3DZc9dvzi8CqM6kCMaztIfwnklpbrufz9+CKOkcCAbJQnff8rb286T90uXbhcEBQGY6a8K4vYSEXsL0YaO+KcErqGyn6Eb6jQDdhr+ahQYcX4GaObwz5SLL0fZd9tML5R30G0hO5KFT1kw6kpPHtDUtQMtq6/OQB0jSioN+AQrNrHHG369g1v02danTP9BM03yNDL06f3yaVzQgiWf9uk4iSCwDGyWaciKnOWyMDtkWa+aRrrc6fLE/cBaOMPeHC9tU6o6q71k6SkV6LY/cNTn4InnVV3ZOeTZSNYSq7ufeTSbRnbr5sdWLLFUyWClwAPzf6bzaHwIy839XZoSFSLVeVOlCuf0xWLJ5b4BDCX2/5ZiXBK08qKsPWYipmfAwG+6R7HiyAIzYma6x8JBcEbMVxUSeUnOwqXWK5mF4YGXpnv3WpxuU5TLWHNI4RuljlOOM01K2tssd0XUrUSkbE4YpAlzT9rQFuUHHL98n0tf6gLT6dRqpGx5LjI8BLwatS6KMEzoa++BVtJKGWvUi6aP0xSVy9axRQxUFsFpeaJt4/u+jjclIqIkscTd1v+VKKMYLcoSDFfYbtF1005RUaIlSuHhsP9u6BM7QtanQD7Q/t1I91gRYekXgeJ/1PJdzVSSrGAY0DGkcl9oNgV5XaAY/PzNx6YmKk7YQx50/ynwSG9Wz8jBO0tx6K5dwfEB6tWvS+5VFN8QPBzXwBs/e2hQTnN/nT/hz9F3r6M3UGjp2Wey2dyolw2noQ4BTpMLls8Y9Bk9LHN4kW9u1x7TU2HTwx754VVcy/iEhvFJQcT1i8VT7Ozg2p5Gdh2hwRyr5lHXutAlFYad698dYVFu5Ow5tVu0lnj0QQZ6D3GUi0yYcTCImyVY6AbqIzGZxlTN0NzokG1aqSbUSJmHLLxsZ4jaKK4NegXQVlAxcN3NzXvexdB5NXQRD49Mj6FQ3BxEXrPuKRKKLqlTvFbDpZp3BC0rqtXgk+tYCg+FP3rwXWnNPlZSuAoyeJOdmTtcVMTyO50M+VS3caWHf3MNpBrwzMkQh8BRw3XKwf1mvENc4rOYqSgtlzSFQ+BdjExHNdU1Z1HFClDekC0gU4Ep9UFz2vL+ZHKGXGcSDED78NJXWJdS0Kz2FJhTKFM69pa7bnQEunY3MEfAw4=';
        }
    },
    responseXML: {
        get() {
            console.log("responseXML_call", arguments)
        }, enumerable: true, configurable: true
    },
    UNSENT: {
        get() {
            console.log("UNSENT_call", arguments)
        }, enumerable: true, configurable: true
    },
    OPENED: {
        get() {
            console.log("OPENED_call", arguments)
        }, enumerable: true, configurable: true
    },
    HEADERS_RECEIVED: {
        get() {
            console.log("HEADERS_RECEIVED_call", arguments)
        }, enumerable: true, configurable: true
    },
    LOADING: {
        get() {
            console.log("LOADING_call", arguments)
        }, enumerable: true, configurable: true
    },
    DONE: {
        get() {
            console.log("DONE_call", arguments)
        }, enumerable: true, configurable: true
    },
    abort: {
        get() {
            console.log("abort_call", arguments)
        }, enumerable: true, configurabled: true
    },
    getAllResponseHeaders: {
        get() {
            console.log("getAllResponseHeaders_call", arguments)
        }, enumerable: true, configurable: true
    },
    getResponseHeader: {
        get() {
            console.log("getResponseHeader_call", arguments)
        }, enumerable: true, configurable: true
    },
    open: {
        value: v_saf(function open() {
            console.log("open_call", arguments)
        }, undefined, ''), enumerable: true, configurable: true
    },
    overrideMimeType: {
        get() {
            console.log("overrideMimeType_call", arguments)
        }, enumerable: true, configurable: true
    },
    send: {
        value: v_saf(function () {
            console.log("send_call", arguments);
            debugger;
            this.onload && this.onload()
        }), enumerable: true, configurable: true
    },
    setRequestHeader: {
        value: v_saf(function () {
            print("setRequestHeader_call", arguments, arguments[1].length);
            this.headers[arguments[0].toLowerCase()] = arguments[1];
            if (arguments[0] === 'EE30zvQLWf-b') {
                console.log(this.headers)
            }
            ;
        }, undefined, undefined), enumerable: true, configurable: true
    },
})
// XMLHttpRequest.prototype.open = function(){
//     console.log("xhr_call_open", arguments)
// }
// XMLHttpRequest.prototype.send = function(){
//     console.log("xhr_call_send", arguments)
// }
// XMLHttpRequest.prototype.setRequestHeader = function(){
//     console.log("xhr_setRequestHeader_send", arguments)
// }


function v_init_event_target() {

    function _mk_mouse_event(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {
        if (type == 'click') {
            var m = new PointerEvent()
            m.pointerType = "mouse"
        } else {
            var m = new MouseEvent()
        }
        m.isTrusted = true
        m.type = type
        m.canBubble = canBubble
        m.cancelable = cancelable
        m.view = view
        m.detail = detail
        m.screenX = screenX;
        m.movementX = screenX
        m.screenY = screenY;
        m.movementY = screenY
        m.clientX = clientX;
        m.layerX = clientX;
        m.offsetX = clientX;
        m.pageX = clientX;
        m.x = clientX;
        m.clientY = clientY;
        m.layerY = clientY;
        m.offsetY = clientY;
        m.pageY = clientY;
        m.y = clientY;
        m.ctrlKey = ctrlKey
        m.altKey = altKey
        m.shiftKey = shiftKey
        m.metaKey = metaKey
        m.button = button
        m.relatedTarget = relatedTarget
        // print(m   )
        return m
    }

    function  make_mouse(type, x, y) {
        return _mk_mouse_event(type, true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null)
    }

    function mouse_click(x, y) {
        for (var i = 0; i < (v_events['click'] || []).length; i++) {
            v_events['click'][i][1](make_mouse('click', x, y))
        }
        for (var i = 0; i < (v_events['mousedown'] || []).length; i++) {
            v_events['mousedown'][i][1](make_mouse('mousedown', x, y))
        }
        for (var i = 0; i < (v_events['mouseup'] || []).length; i++) {
            v_events['mouseup'][i][1](make_mouse('mouseup', x, y))
        }
    }

    var offr = Math.random()

    function make_touch(_this, type, x, y, timeStamp) {
        var offx = Math.random()
        var offy = Math.random()
        var t = v_new(new v_saf(function Touch() {
        }))
        t = clientX = offx + x
        t = clientY = offy + y
        t = force = 1
        t = identifier = 0
        t = pageX = offx + x
        t = pageY = offy + y
        t = radiusX = 28 + offr
        t = radiusY = 28 + offr
        t = rotationAngle = 0
        t = screenX = 0
        t = screenY = 0
        var e = v_new(new v_saf(function TouchEvent() {
        }))
        e.isTrusted = true
        e.altKey = false
        e.bubbles = true
        e.cancelBubble = false
        e.cancelable = false
        e.changedTouches = e.targetTouches = e.touches = [t]
        e.composed = true
        e.ctrlKey = false
        e.currentTarget = null
        e.defaultPrevented = false
        e.detail = 0
        e.eventPhase = 0
        e.metaKey = false
        e.path = _this == window ? [window] : [_this, window]
        e.returnValue = true
        e.shiftKey = false
        e.sourceCapabilities = new v_saf(function InputDeviceCapabilities() {
            this.firesTouchEvents = true
        })
        e.srcElement = _this
        e.target = _this
        e.type = type
        e.timeStamp = timeStamp == undefined ? (new Date - v_start_stamp) : ((v_fake_stamp += Math.random() * 20) - v_start_stamp)
        e.view = window
        e.which = 0
        return e
    }

    function make_trace(x1, y1, x2, y2) {
        // 贝塞尔曲线
        function step_len(x1, y1, x2, y2) {
            var ln = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
            return (ln / 10) ^ 0
        }

        var slen = step_len(x1, y1, x2, y2)
        if (slen < 3) {
            return []
        }

        function factorial(x) {
            for (var y = 1; x > 1; x--) {
                y *= x
            }
            return y;
        }

        var lp = Math.random()
        var rp = Math.random()
        var xx1 = (x1 + (x2 - x1) / 12 * (4 - lp * 4)) ^ 0
        var yy1 = (y1 + (y2 - y1) / 12 * (8 + lp * 4)) ^ 0
        var xx2 = (x1 + (x2 - x1) / 12 * (8 + rp * 4)) ^ 0
        var yy2 = (y1 + (y2 - y1) / 12 * (4 - rp * 4)) ^ 0
        var points = [[x1, y1], [xx1, yy1], [xx2, yy2], [x2, y2]]
        var N = points.length
        var n = N - 1
        var traces = []
        var step = slen
        for (var T = 0; T < step + 1; T++) {
            var t = T * (1 / step)
            var x = 0
            var y = 0
            for (var i = 0; i < N; i++) {
                var B = factorial(n) * t ** i * (1 - t) ** (n - i) / (factorial(i) * factorial(n - i))
                x += points[i][0] * B
                y += points[i][1] * B
            }
            traces.push([x ^ 0, y ^ 0])
        }
        return traces
    }

    function touch(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        console.log('traces:', traces)
        for (var i = 0; i < (v_events['touchstart'] || []).length; i++) {
            v_events['touchstart'][i][1](make_touch(v_events['touchstart'][i][0], 'touchstart', x1, y1))
        }
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            for (var i = 0; i < (v_events['touchmove'] || []).length; i++) {
                v_events['touchmove'][i][1](make_touch(v_events['touchmove'][i][0], 'touchmove', x, y))
            }
        }
        for (var i = 0; i < (v_events['touchend'] || []).length; i++) {
            v_events['touchend'][i][1](make_touch(v_events['touchend'][i][0], 'touchend', x2, y2))
        }
    }

    function mouse_move(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        // console.log('traces:', traces)
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            // for (var i = 0; i < (v_events['mousemove'] || []).length; i++) {
            v_events['mousemove'](make_mouse(v_events['mousemove'], x, y))
            // }
        }
    }

    window.make_mouse = make_mouse
    window.mouse_click = mouse_click
    window.mouse_move = mouse_move
    window.touch = touch
    // EventTarget.prototype.addEventListener = function(){v_console_log('  [*] EventTarget -> addEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.dispatchEvent = function(){v_console_log('  [*] EventTarget -> dispatchEvent[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.removeEventListener = function(){v_console_log('  [*] EventTarget -> removeEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
}

HTMLElement = v_saf(function HTMLElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLElement, Element)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLBodyElement = v_saf(function HTMLBodyElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLBodyElement, HTMLElement)
Object.defineProperties(HTMLBodyElement.prototype, {
    [Symbol.toStringTag]: {value: "HTMLBodyElement", writable: false, enumerable: false, configurable: true},
})
HTMLCanvasElement = v_saf(function HTMLCanvasElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLCanvasElement, HTMLElement)
HTMLAnchorElement = v_saf(function HTMLAnchorElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    // return v_hook_href(this, 'HTMLAnchorElement', location.href)
}, undefined, undefined);
// _inherits(HTMLAnchorElement, HTMLElement)
// Object.defineProperties(HTMLAnchorElement.prototype, {
//     // href: {
//     //     get() {
//     //         print("  [*] HTMLAnchorElement -> href[get]", "https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false")
//     //         return 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false'
//     //     }, set() {
//     //         v_console_log("  [*] HTMLAnchorElement -> href[set]", [].slice.call(arguments));
//     //     }
//     // },
//     // host: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> host[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> host[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     // protocol: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[get]", "https:");
//     //         return "https:"
//     //     }
//     // },
//     // pathname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[get]", "/air/booking/index.html");
//     //         return "/air/booking/index.html"
//     //     }
//     // },
//     // search: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> search[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> search[get]", "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true")
//     //         return "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true"
//     //     }
//     // },
//     // hash: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[get]", "");
//     //         return ""
//     //     }
//     // },
//     // port: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> port[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> port[get]", "");
//     //         return ""
//     //     }
//     // },
//     // hostname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     [Symbol.toStringTag]: {value: "HTMLAnchorElement", writable: false, enumerable: false, configurable: true},
// })

HTMLImageElement = v_saf(function HTMLImageElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLImageElement, HTMLElement)
HTMLIFrameElement = v_saf(function HTMLIFrameElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLIFrameElement, HTMLElement)

HTMLMediaElement = v_saf(function HTMLMediaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMediaElement, HTMLElement)
Object.defineProperties(HTMLMediaElement.prototype, {
    canPlayType: {
        value: v_saf(function canPlayType() {
            v_console_log("  [*] HTMLMediaElement -> canPlayType[func]", [].slice.call(arguments));
            let values = {
                'audio/aac; codecs="flac"': '',
                'audio/flac': 'probably',
                'audio/mpeg; codecs="mp3"': "probably",
                'audio/mpeg; codecs="vp9"': "",
                'audio/webm; codecs="vp8"': "",
                'audio/webz': "",
                'audio/x-m4a; codecs="mp3"': "",
                'audio/x-m4a; codecs="vp8, mp4a.40"': "",
                'audio/x-m4a; codecs="vp9, mp4a.40.2"': "",
                'video/mp4': 'maybe',
                'video/mp4; codecs="ac-3"': "",
                'video/mp4; codecs="avc1.42011E"': "",
                'video/mp4; codecs="avc1.42E009"': 'maybe',
                'video/mp4; codecs="avc1.42E034"': 'probably',
                'video/mp4; codecs="avc1.42F01E"': 'probably',
                'video/mp4; codecs="avc1.4D001E"': 'probably',
                'video/mp4; codecs="avc3.42001E"': 'probably',
                'video/mp4; codecs="avc3.42E01E, mp4a.40.29"': 'probably',
                'video/mp4; codecs="flac"': 'probably',
                'video/mp4; codecs="hev1"': "",
                'video/mp4; codecs="hvc1x"': "",
                'video/mp4; codecs="lavc1337"': "",
                'video/mp4; codecs="mp4a.40.02"': 'probably',
                'video/mp4; codecs="mp4a.40.5"': 'probably',
                'video/mp4; codecs="mp4a.67"': 'probably',
                'video/mp4; codecs="opus"': 'probably',
                'video/ogg; codecs="flac"': 'probably',
                'video/ogg; codecs="opus"': 'probably',
                'video/ogg; codecs="vp8"': 'probably',
                'video/webm': 'maybe',
                'video/webm; codecs="av01.0.04M.08"': 'probably',
                'video/webm; codecs="vp09.02.10.08"': "probably",
                'video/x-dv': "",
                'video/x-m4v; codecs="avc1.42AC23"': "maybe",
            }
        })
    },
    NETWORK_EMPTY: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_IDLE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_LOADING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_NO_SOURCE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_NOTHING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    HAVE_METADATA: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    HAVE_CURRENT_DATA: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    HAVE_FUTURE_DATA: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_ENOUGH_DATA: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "HTMLMediaElement", writable: false, enumerable: false, configurable: true},
})
WindowProperties = v_saf(function WindowProperties() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WindowProperties, EventTarget)
Window = v_saf(function Window() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Window, WindowProperties)

var Screen = v_saf(function Screen() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Screen, EventTarget)
// Screen = dtavm.proxy(Screen, 'Screen')
Object.defineProperties(Screen.prototype, {
    availWidth: {
        get: v_saf(function availWidth() {
            v_console_log("  [*] Screen -> availWidth[get]", screens.availWidth);

            // return 2560
            return screens.availWidth
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    availHeight: {
        get: v_saf(function availHeight() {
            v_console_log("  [*] Screen -> availHeight[get]", screens.availHeight);

            // return 2560
            return screens.availHeight
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    width: {
        get: v_saf(function width() {
            v_console_log("  [*] Screen -> width[get]", screens.width);

            // return 2560
            return screens.width

        }, undefined, 'get'), enumerable: true, configurable: true
    },
    height: {
        get: v_saf(function height() {
            v_console_log("  [*] Screen -> height[get]", screens.height);

            // return 2560
            return screens.height
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    colorDepth: {
        get() {
            v_console_log("  [*] Screen -> colorDepth[get]", screens.colorDepth);

            // return 24
            return screens.colorDepth

        }, enumerable: true, configurable: true
    },
    pixelDepth: {
        get() {
            v_console_log("  [*] Screen -> pixelDepth[get]", screens.pixelDepth);

            // return 24
            return screens.pixelDepth

        }, enumerable: true, configurable: true
    },
    availLeft: {
        get() {
            v_console_log("  [*] Screen -> availLeft[get]", screens.availLeft);

            // return 0
            return screens.availLeft

        }, enumerable: true, configurable: true
    },
    availTop: {
        get() {
            v_console_log("  [*] Screen -> availTop[get]", screens.availTop);

            // return 25
            return screens.availTop

        }, enumerable: true, configurable: true
    },
    orientation: {
        get() {
            v_console_log("  [*] Screen -> orientation[get]");
            return {}
        }, enumerable: true, configurable: true
    },
    onchange: {
        get() {
            return null
        }, enumerable: true, configurable: true
    },
    isExtended: {
        get() {
            return true
        }, enumerable: true, configurable: true
    },
    [Symbol.toStringTag]: {value: "Screen", writable: false, enumerable: false, configurable: true},
})
// Screen.prototype = dtavm.proxy(Screen.prototype, ' Screen.prototype')
HTMLDocument = v_saf(function HTMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;Object.defineProperty(this, 'location', {
        get() {
            return location
        }
    })
});
_inherits(HTMLDocument, Document)
HTMLHeadElement = v_saf(function HTMLHeadElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLHeadElement, HTMLElement)
HTMLBodyElement = v_saf(function HTMLBodyElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLBodyElement, HTMLElement)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
External(HTMLBodyElement, Event)
WebGLShaderPrecisionFormat = v_saf(function WebGLShaderPrecisionFormat() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(WebGLShaderPrecisionFormat.prototype, {
    precision: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype precision')
            return 23
        }
    },
    rangeMax: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMax')

            return 127
        }
    },
    rangeMin: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMin')

            return 127
        }
    },
})
MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(Plugin);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}, "1": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}, "1": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";
})
CSSStyleDeclaration = v_saf(function CSSStyleDeclaration() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
EXTTextureFilterAnisotropic = v_saf(function EXTTextureFilterAnisotropic() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(EXTTextureFilterAnisotropic.prototype, {
    MAX_TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},
    TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},

})
Location = v_saf(function Location() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
WebGLRenderingContext = v_saf(function WebGLRenderingContext() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;

    function WebGLBuffer() {
    }

    function WebGLProgram() {
    }

    function WebGLShader() {
    }

    this._toggle = {}
    this.createBuffer = function () {
        v_console_log('  [*] WebGLRenderingContext -> createBuffer[func]');
        return v_new(WebGLBuffer)
    }
    this.createProgram = function () {
        v_console_log('  [*] WebGLRenderingContext -> createProgram[func]');
        return v_new(WebGLProgram)
    }
    this.createShader = function () {
        v_console_log('  [*] WebGLRenderingContext -> createShader[func]');
        return v_new(WebGLShader)
    }
    this.getSupportedExtensions = function () {
        v_console_log('  [*] WebGLRenderingContext -> getSupportedExtensions[func]')
        return [
            "ANGLE_instanced_arrays",
            "EXT_blend_minmax",
            "EXT_color_buffer_half_float",
            "EXT_disjoint_timer_query",
            "EXT_float_blend",
            "EXT_frag_depth",
            "EXT_shader_texture_lod",
            "EXT_texture_compression_rgtc",
            "EXT_texture_filter_anisotropic",
            "EXT_sRGB",
            "KHR_parallel_shader_compile",
            "OES_element_index_uint",
            "OES_fbo_render_mipmap",
            "OES_standard_derivatives",
            "OES_texture_float",
            "OES_texture_float_linear",
            "OES_texture_half_float",
            "OES_texture_half_float_linear",
            "OES_vertex_array_object",
            "WEBGL_color_buffer_float",
            "WEBGL_compressed_texture_s3tc",
            "WEBGL_compressed_texture_s3tc_srgb",
            "WEBGL_debug_renderer_info",
            "WEBGL_debug_shaders",
            "WEBGL_depth_texture",
            "WEBGL_draw_buffers",
            "WEBGL_lose_context",
            "WEBGL_multi_draw"
        ]
    }
    var self = this
    this.getExtension = function (key) {
        v_console_log('  [*] WebGLRenderingContext -> getExtension[func]:', key)

        class WebGLDebugRendererInfo {
            get UNMASKED_VENDOR_WEBGL() {
                self._toggle[37445] = 1;
                return 37445
            }

            get UNMASKED_RENDERER_WEBGL() {
                self._toggle[37446] = 1;
                return 37446
            }
        }

        class WebGLLoseContext {
            loseContext() {
            }

            restoreContext() {
            }
        }

        if (key == 'WEBGL_debug_renderer_info') {
            var r = new WebGLDebugRendererInfo
        } else if (key == 'EXT_texture_filter_anisotropic') {
            var r = v_new(EXTTextureFilterAnisotropic)
        } else if (key == 'WEBGL_lose_context') {
            var r = new WebGLLoseContext
        } else {
            var r = new WebGLDebugRendererInfo
        }
        return aaProxy(r, key)
    }
    this.getParameter = function (key) {
        v_console_log('  [*] WebGLRenderingContext -> getParameter[func]:', key)
        if (this._toggle[key]) {
            if (key == 37445) {
                return "Google Inc. (ATI Technologies Inc.)"
            }
            if (key == 37446) {
                return "ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1)"
            }
        } else {
            if (key == 33902) {
                return new Float32Array([1, 1])
            }
            if (key == 33901) {
                return new Float32Array([1, 1024])
            }
            if (key == 35661) {
                return 32
            }
            if (key == 34047) {
                return 16
            }
            if (key == 34076) {
                return 16384
            }
            if (key == 36349) {
                return 1024
            }
            if (key == 34024) {
                return 16384
            }
            if (key == 34930) {
                return 16
            }
            if (key == 3379) {
                return 16384
            }
            if (key == 36348) {
                return 30
            }
            if (key == 34921) {
                return 16
            }
            if (key == 35660) {
                return 16
            }
            if (key == 36347) {
                return 4095
            }
            if (key == 3386) {
                return new Int32Array([32767, 32767])
            }
            if (key == 3410) {
                return 8
            }
            if (key == 7937) {
                return "WebKit WebGL"
            }
            if (key == 35724) {
                return "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"
            }
            if (key == 3415) {
                return 0
            }
            if (key == 7936) {
                return "WebKit"
            }
            if (key == 7938) {
                return "WebGL 1.0 (OpenGL ES 2.0 Chromium)"
            }
            if (key == 3411) {
                return 8
            }
            if (key == 3412) {
                return 8
            }
            if (key == 3413) {
                return 8
            }
            if (key == 3414) {
                return 24
            }
            return null
        }
    }
    this.getContextAttributes = function () {
        v_console_log('  [*] WebGLRenderingContext -> getContextAttributes[func]')
        return {
            alpha: true,
            antialias: true,
            depth: true,
            desynchronized: false,
            failIfMajorPerformanceCaveat: false,
            powerPreference: "default",
            premultipliedAlpha: true,
            preserveDrawingBuffer: false,
            stencil: false,
            xrCompatible: false,
        }
    }
    this.getShaderPrecisionFormat = function (a, b) {
        v_console_log('  [*] WebGLRenderingContext -> getShaderPrecisionFormat[func]', a, b)

        var r1 = v_new(WebGLShaderPrecisionFormat)
        r1.rangeMin = 127
        r1.rangeMax = 127
        r1.precision = 23
        var r2 = v_new(WebGLShaderPrecisionFormat)
        r2.rangeMin = 31
        r2.rangeMax = 30
        r2.precision = 0
        if (a == 35633 && b == 36338) {
            return r1
        }
        if (a == 35633 && b == 36337) {
            return r1
        }
        if (a == 35633 && b == 36336) {
            return r1
        }
        if (a == 35633 && b == 36341) {
            return r2
        }
        if (a == 35633 && b == 36340) {
            return r2
        }
        if (a == 35633 && b == 36339) {
            return r2
        }
        if (a == 35632 && b == 36338) {
            return r1
        }
        if (a == 35632 && b == 36337) {
            return r1
        }
        if (a == 35632 && b == 36336) {
            return r1
        }
        if (a == 35632 && b == 36341) {
            return r2
        }
        if (a == 35632 && b == 36340) {
            return r2
        }
        if (a == 35632 && b == 36339) {
            return r2
        }
        throw Error('getShaderPrecisionFormat')
    }
    v_saf(this.createBuffer, 'createBuffer')
    v_saf(this.createProgram, 'createProgram')
    v_saf(this.createShader, 'createShader')
    v_saf(this.getSupportedExtensions, 'getSupportedExtensions')
    v_saf(this.getExtension, 'getExtension')
    v_saf(this.getParameter, 'getParameter')
    v_saf(this.getContextAttributes, 'getContextAttributes')
    v_saf(this.getShaderPrecisionFormat, 'getShaderPrecisionFormat')
})
PerformanceEntry = v_saf(function PerformanceEntry() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MediaDevices = v_saf(function MediaDevices() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaDevices, EventTarget)
Object.defineProperties(MediaDevices.prototype, {
    ondevicechange: {
        value: v_saf(function ondevicechange() {
            v_console_log("MediaDevices ondevicechange", arguments)
        })
    },
    enumerateDevices: {
        value: function () {
            return {
                then: function () {
                    return this
                }, catch: function () {
                }
            }
        }
    }
})
PerformanceElementTiming = v_saf(function PerformanceElementTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceElementTiming, PerformanceEntry)
PerformanceEventTiming = v_saf(function PerformanceEventTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceEventTiming, PerformanceEntry)
PerformanceLongTaskTiming = v_saf(function PerformanceLongTaskTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceLongTaskTiming, PerformanceEntry)
PerformanceMark = v_saf(function PerformanceMark() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMark, PerformanceEntry)
PerformanceMeasure = v_saf(function PerformanceMeasure() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMeasure, PerformanceEntry)
PerformanceNavigation = v_saf(function PerformanceNavigation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceResourceTiming = v_saf(function PerformanceResourceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceResourceTiming, PerformanceEntry)
PerformanceNavigationTiming = v_saf(function PerformanceNavigationTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceNavigationTiming, PerformanceResourceTiming)
PerformanceObserver = v_saf(function PerformanceObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceObserverEntryList = v_saf(function PerformanceObserverEntryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformancePaintTiming, PerformanceEntry)
PerformanceServerTiming = v_saf(function PerformanceServerTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceTiming = v_saf(function PerformanceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLUnknownElement = v_saf(function HTMLUnknownElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLUnknownElement, HTMLElement)
HTMLVideoElement = v_saf(function HTMLVideoElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLVideoElement, HTMLMediaElement)

Storage = v_saf(function Storage() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
ImageData = v_saf(function ImageData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(ImageData.prototype, {
    data: {
        value: Uint8ClampedArray.from([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255]),
        writable: true
    },
    height: {value: 5, writable: true},
    width: {value: 5, writable: true},
    colorSpace: {value: 'srgb', writable: true},
})
Touch = v_saf(function Touch() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
TouchEvent = v_saf(function TouchEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(TouchEvent, UIEvent)
window.TouchEvent = TouchEvent
window.StaticRange = v_saf(function StaticRange() {
})
PointerEvent = v_saf(function PointerEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PointerEvent, MouseEvent)
HTMLHtmlElement = v_saf(function HTMLHtmlElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLHtmlElement, HTMLElement)
HTMLMetaElement = v_saf(function HTMLMetaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMetaElement, HTMLElement)
HTMLTitleElement = v_saf(function HTMLTitleElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLTitleElement, HTMLElement)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLStyleElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLStyleElement, HTMLElement)
Object.defineProperties(Node.prototype, {
    attrs: {
        value: {}
    },
    setAttribute: {
        value: function (key, value) {
            this.attrs[key] = value
        }
    },
    parentNode: {
        value: v_new(HTMLScriptElement)
    },
    insertBefore: {
        value: function (tag, newNode) {
            return tag
        }
    }
})
Object.defineProperties(RTCSessionDescription.prototype, {
    sdp: {
        get: v_saf(function get() {
            print("  [*] RTCSessionDescription -> sdp[get]", "v=0\r\no=- 5120583643863650707 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:4FAM\r\na=ice-pwd:B2HUyhm4GPxXqRVTf952iddh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:D1:0B:04:EA:37:9E:D6:94:EC:73:F1:B0:12:13:1D:8F:A0:F6:F9:0A:BA:CD:06:FA:E0:83:15:61:0F:6F:FD\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n");
            return "v=0\r\no=- 5120583643863650722 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:4FAM\r\na=ice-pwd:B2HUyhm4GPxXqRVTf952iddh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D2:D1:0B:04:EA:37:9E:D6:94:EC:73:F1:B0:12:13:1D:8F:A0:F6:F9:0A:BA:CD:06:FA:E0:83:15:61:0F:6F:FD\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n"

        })
    },
    type: {
        get: v_saf(function get() {
            print("  [*] RTCSessionDescription -> type[get]", "offer");
            return "offer"
        })
    },
    [Symbol.toStringTag]: {value: "RTCSessionDescription", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(EventTarget.prototype, {
    [Symbol.toStringTag]: {value: "EventTarget", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(CanvasRenderingContext2D.prototype, {
    filleStyleVal: {value: '', writable: true},
    rectVal: {value: '', writable: true},
    // filleStyleVal: {value:'', writable:true},
    fillRect: {
        value: v_saf(function fillRect() {
            v_console_log("  [*] CanvasRenderingContext2D -> fillRect[func]", [].slice.call(arguments));
            this.rectVal = arguments;
        })
    },
    arc: {
        value: v_saf(function arc() {
            v_console_log("  [*] CanvasRenderingContext2D -> arc[func]", [].slice.call(arguments));
        })
    },
    createLinearGradient: {
        value: v_saf(function createLinearGradient() {
            v_console_log("  [*] CanvasRenderingContext2D -> createLinearGradient[func]", [].slice.call(arguments));
        })
    },
    moveTo: {
        value: v_saf(function moveTo() {
            v_console_log("  [*] CanvasRenderingContext2D -> moveTo[func]", [].slice.call(arguments));
            this.moveToText = arguments;
        })
    },
    lineTo: {
        value: v_saf(function lineTo() {
            v_console_log("  [*] CanvasRenderingContext2D -> lineTo[func]", [].slice.call(arguments));
            this.lineToText = arguments
        })
    },
    getImageData: {
        value: v_saf(function getImageData() {
            print("  [*] CanvasRenderingContext2D -> getImageData[func]", [].slice.call(arguments));
            let t = v_new(ImageData)
            if (arguments[0] == 18 && arguments[1] == 90) {
                console.log('ggiggg')
                t.data = Uint8ClampedArray.from([214, 122, 6, 255])
                t.width = 1;
                t.height = 1;
            }
            if (arguments[0] == 38 && arguments[1] == 77) {
                console.log('ggiggg')
                t.data = Uint8ClampedArray.from([255, 255, 255, 255])
                t.width = 1;
                t.height = 1;
            }
            t.imageData = arguments;
            console.log(t)
            return t
        }, undefined, '')
    },
    measureText: {
        value: v_saf(function measureText() {
            v_console_log("  [*] CanvasRenderingContext2D -> measureText[func]", [].slice.call(arguments));
            let t = v_new(TextMetrics)
            t.text = arguments
            t.fontval = this.fontVal

            console.log(t, this)
            return t
        })
    },
    fillText: {
        value: v_saf(function fillText() {
            v_console_log("  [*] CanvasRenderingContext2D -> fillText[func]", [].slice.call(arguments));
            this.fillTextVal = arguments
        }, undefined, '')
    },
    fillStyle: {
        set: v_saf(function fillStyle() {
            v_console_log("  [*] CanvasRenderingContext2D -> fillStyle[set]", [].slice.call(arguments));
            this.filleStyleVal = arguments;
        }, undefined, 'set'),
        get: v_saf(function fillStyle() {
            v_console_log("  [*] CanvasRenderingContext2D -> fillStyle[get]", [].slice.call(arguments));
            return this.filleStyleVal
        }, undefined, 'get')
    },
    lineWidth: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> lineWidth[set]", [].slice.call(arguments));
        }
    },
    strokeStyle: {
        set: v_saf(function strokeStyle() {
            v_console_log("  [*] CanvasRenderingContext2D -> strokeStyle[set]", [].slice.call(arguments));
            this._strokeStyle = arguments
        }, undefined, 'set'),
        get: v_saf(function strokeStyle() {
            v_console_log("  [*] CanvasRenderingContext2D -> strokeStyle[get]", [].slice.call(arguments));
            return this._strokeStyle;
        }, undefined, 'get')
    },
    textBaseline: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> textBaseline[set]", [].slice.call(arguments));
        }
    },
    font: {
        set: v_saf(function font() {
            v_console_log("  [*] CanvasRenderingContext2D -> font[set]", [].slice.call(arguments));
            this.fontVal = arguments[0];
        }, undefined, 'set'),
        get: v_saf(function font() {
            v_console_log("  [*] CanvasRenderingContext2D -> font[get]", [].slice.call(arguments));
            return this.fontVal
        }, undefined, 'get')
    },
    shadowOffsetX: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> shadowOffsetX[set]", [].slice.call(arguments));
            this.shadowOffsetXText = arguments[0]
        }
    },
    shadowOffsetY: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> shadowOffsetY[set]", [].slice.call(arguments));
            this.shadowOffsetYText = arguments[0]
        }
    },
    shadowBlur: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> shadowBlur[set]", [].slice.call(arguments));
            this.shadowBlurText = arguments[0]
        }
    },
    shadowColor: {
        set() {
            v_console_log("  [*] CanvasRenderingContext2D -> shadowColor[set]", [].slice.call(arguments));
            this.shadowColorText = arguments[0]
        }
    },
    beginPath: {
        value: v_saf(function beginPath() {
            v_console_log("  [*] CanvasRenderingContext2D -> beginPath[func]", [].slice.call(arguments));
        })
    },
    stroke: {
        value: v_saf(function stroke() {
            v_console_log("  [*] CanvasRenderingContext2D -> stroke[func]", [].slice.call(arguments));
        })
    },
    closePath: {
        value: v_saf(function closePath() {
            v_console_log("  [*] CanvasRenderingContext2D -> closePath[func]", [].slice.call(arguments));
        })
    },
    fill: {
        value: v_saf(function fill() {
            v_console_log("  [*] CanvasRenderingContext2D -> fill[func]", [].slice.call(arguments));
        })
    },
    drawImage: {
        value: v_saf(function drawImage() {
            v_console_log("  [*] CanvasRenderingContext2D -> drawImage[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "CanvasRenderingContext2D", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(CanvasGradient.prototype, {
    addColorStop: {
        value: v_saf(function addColorStop() {
            v_console_log("  [*] CanvasGradient -> addColorStop[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "CanvasGradient", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(WebGL2RenderingContext.prototype, {
    createShader: {
        value: v_saf(function createShader() {
            v_console_log("  [*] WebGL2RenderingContext -> createShader[func]", [].slice.call(arguments));
        })
    },
    shaderSource: {
        value: v_saf(function shaderSource() {
            v_console_log("  [*] WebGL2RenderingContext -> shaderSource[func]", [].slice.call(arguments));
        })
    },
    compileShader: {
        value: v_saf(function compileShader() {
            v_console_log("  [*] WebGL2RenderingContext -> compileShader[func]", [].slice.call(arguments));
        })
    },
    getShaderParameter: {
        value: v_saf(function getShaderParameter() {
            v_console_log("  [*] WebGL2RenderingContext -> getShaderParameter[func]", [].slice.call(arguments));
        })
    },
    attachShader: {
        value: v_saf(function attachShader() {
            v_console_log("  [*] WebGL2RenderingContext -> attachShader[func]", [].slice.call(arguments));
        })
    },
    linkProgram: {
        value: v_saf(function linkProgram() {
            v_console_log("  [*] WebGL2RenderingContext -> linkProgram[func]", [].slice.call(arguments));
        })
    },
    getProgramParameter: {
        value: v_saf(function getProgramParameter() {
            v_console_log("  [*] WebGL2RenderingContext -> getProgramParameter[func]", [].slice.call(arguments));
        })
    },
    bindBuffer: {
        value: v_saf(function bindBuffer() {
            v_console_log("  [*] WebGL2RenderingContext -> bindBuffer[func]", [].slice.call(arguments));
        })
    },
    bufferData: {
        value: v_saf(function bufferData() {
            v_console_log("  [*] WebGL2RenderingContext -> bufferData[func]", [].slice.call(arguments));
        })
    },
    getAttribLocation: {
        value: v_saf(function getAttribLocation() {
            v_console_log("  [*] WebGL2RenderingContext -> getAttribLocation[func]", [].slice.call(arguments));
        })
    },
    vertexAttribPointer: {
        value: v_saf(function vertexAttribPointer() {
            v_console_log("  [*] WebGL2RenderingContext -> vertexAttribPointer[func]", [].slice.call(arguments));
        })
    },
    enableVertexAttribArray: {
        value: v_saf(function enableVertexAttribArray() {
            v_console_log("  [*] WebGL2RenderingContext -> enableVertexAttribArray[func]", [].slice.call(arguments));
        })
    },
    useProgram: {
        value: v_saf(function useProgram() {
            v_console_log("  [*] WebGL2RenderingContext -> useProgram[func]", [].slice.call(arguments));
        })
    },
    getUniformLocation: {
        value: v_saf(function getUniformLocation() {
            v_console_log("  [*] WebGL2RenderingContext -> getUniformLocation[func]", [].slice.call(arguments));
        })
    },
    uniform4fv: {
        value: v_saf(function uniform4fv() {
            v_console_log("  [*] WebGL2RenderingContext -> uniform4fv[func]", [].slice.call(arguments));
        })
    },
    drawArrays: {
        value: v_saf(function drawArrays() {
            v_console_log("  [*] WebGL2RenderingContext -> drawArrays[func]", [].slice.call(arguments));
        })
    },
    readPixels: {
        value: v_saf(function readPixels() {
            v_console_log("  [*] WebGL2RenderingContext -> readPixels[func]", [].slice.call(arguments));
        })
    },
    createProgram: {
        value: v_saf(function createProgram() {
            v_console_log("  [*] WebGL2RenderingContext -> createProgram[func]", [].slice.call(arguments));
        })
    },
    createBuffer: {
        value: v_saf(function createBuffer() {
            v_console_log("  [*] WebGL2RenderingContext -> createBuffer[func]", [].slice.call(arguments));
        })
    },
    DEPTH_BUFFER_BIT: {"value": 256, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BUFFER_BIT: {"value": 1024, "writable": false, "enumerable": true, "configurable": false},
    COLOR_BUFFER_BIT: {"value": 16384, "writable": false, "enumerable": true, "configurable": false},
    POINTS: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    LINES: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    LINE_LOOP: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    LINE_STRIP: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    TRIANGLES: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    TRIANGLE_STRIP: {"value": 5, "writable": false, "enumerable": true, "configurable": false},
    TRIANGLE_FAN: {"value": 6, "writable": false, "enumerable": true, "configurable": false},
    ZERO: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    ONE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    SRC_COLOR: {"value": 768, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_SRC_COLOR: {"value": 769, "writable": false, "enumerable": true, "configurable": false},
    SRC_ALPHA: {"value": 770, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_SRC_ALPHA: {"value": 771, "writable": false, "enumerable": true, "configurable": false},
    DST_ALPHA: {"value": 772, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_DST_ALPHA: {"value": 773, "writable": false, "enumerable": true, "configurable": false},
    DST_COLOR: {"value": 774, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_DST_COLOR: {"value": 775, "writable": false, "enumerable": true, "configurable": false},
    SRC_ALPHA_SATURATE: {"value": 776, "writable": false, "enumerable": true, "configurable": false},
    FUNC_ADD: {"value": 32774, "writable": false, "enumerable": true, "configurable": false},
    BLEND_EQUATION: {"value": 32777, "writable": false, "enumerable": true, "configurable": false},
    BLEND_EQUATION_RGB: {"value": 32777, "writable": false, "enumerable": true, "configurable": false},
    BLEND_EQUATION_ALPHA: {"value": 34877, "writable": false, "enumerable": true, "configurable": false},
    FUNC_SUBTRACT: {"value": 32778, "writable": false, "enumerable": true, "configurable": false},
    FUNC_REVERSE_SUBTRACT: {"value": 32779, "writable": false, "enumerable": true, "configurable": false},
    BLEND_DST_RGB: {"value": 32968, "writable": false, "enumerable": true, "configurable": false},
    BLEND_SRC_RGB: {"value": 32969, "writable": false, "enumerable": true, "configurable": false},
    BLEND_DST_ALPHA: {"value": 32970, "writable": false, "enumerable": true, "configurable": false},
    BLEND_SRC_ALPHA: {"value": 32971, "writable": false, "enumerable": true, "configurable": false},
    CONSTANT_COLOR: {"value": 32769, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_CONSTANT_COLOR: {"value": 32770, "writable": false, "enumerable": true, "configurable": false},
    CONSTANT_ALPHA: {"value": 32771, "writable": false, "enumerable": true, "configurable": false},
    ONE_MINUS_CONSTANT_ALPHA: {"value": 32772, "writable": false, "enumerable": true, "configurable": false},
    BLEND_COLOR: {"value": 32773, "writable": false, "enumerable": true, "configurable": false},
    ARRAY_BUFFER: {"value": 34962, "writable": false, "enumerable": true, "configurable": false},
    ELEMENT_ARRAY_BUFFER: {"value": 34963, "writable": false, "enumerable": true, "configurable": false},
    ARRAY_BUFFER_BINDING: {"value": 34964, "writable": false, "enumerable": true, "configurable": false},
    ELEMENT_ARRAY_BUFFER_BINDING: {"value": 34965, "writable": false, "enumerable": true, "configurable": false},
    STREAM_DRAW: {"value": 35040, "writable": false, "enumerable": true, "configurable": false},
    STATIC_DRAW: {"value": 35044, "writable": false, "enumerable": true, "configurable": false},
    DYNAMIC_DRAW: {"value": 35048, "writable": false, "enumerable": true, "configurable": false},
    BUFFER_SIZE: {"value": 34660, "writable": false, "enumerable": true, "configurable": false},
    BUFFER_USAGE: {"value": 34661, "writable": false, "enumerable": true, "configurable": false},
    CURRENT_VERTEX_ATTRIB: {"value": 34342, "writable": false, "enumerable": true, "configurable": false},
    FRONT: {"value": 1028, "writable": false, "enumerable": true, "configurable": false},
    BACK: {"value": 1029, "writable": false, "enumerable": true, "configurable": false},
    FRONT_AND_BACK: {"value": 1032, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_2D: {"value": 3553, "writable": false, "enumerable": true, "configurable": false},
    CULL_FACE: {"value": 2884, "writable": false, "enumerable": true, "configurable": false},
    BLEND: {"value": 3042, "writable": false, "enumerable": true, "configurable": false},
    DITHER: {"value": 3024, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_TEST: {"value": 2960, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_TEST: {"value": 2929, "writable": false, "enumerable": true, "configurable": false},
    SCISSOR_TEST: {"value": 3089, "writable": false, "enumerable": true, "configurable": false},
    POLYGON_OFFSET_FILL: {"value": 32823, "writable": false, "enumerable": true, "configurable": false},
    SAMPLE_ALPHA_TO_COVERAGE: {"value": 32926, "writable": false, "enumerable": true, "configurable": false},
    SAMPLE_COVERAGE: {"value": 32928, "writable": false, "enumerable": true, "configurable": false},
    NO_ERROR: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    INVALID_ENUM: {"value": 1280, "writable": false, "enumerable": true, "configurable": false},
    INVALID_VALUE: {"value": 1281, "writable": false, "enumerable": true, "configurable": false},
    INVALID_OPERATION: {"value": 1282, "writable": false, "enumerable": true, "configurable": false},
    OUT_OF_MEMORY: {"value": 1285, "writable": false, "enumerable": true, "configurable": false},
    CW: {"value": 2304, "writable": false, "enumerable": true, "configurable": false},
    CCW: {"value": 2305, "writable": false, "enumerable": true, "configurable": false},
    LINE_WIDTH: {"value": 2849, "writable": false, "enumerable": true, "configurable": false},
    ALIASED_POINT_SIZE_RANGE: {"value": 33901, "writable": false, "enumerable": true, "configurable": false},
    ALIASED_LINE_WIDTH_RANGE: {"value": 33902, "writable": false, "enumerable": true, "configurable": false},
    CULL_FACE_MODE: {"value": 2885, "writable": false, "enumerable": true, "configurable": false},
    FRONT_FACE: {"value": 2886, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_RANGE: {"value": 2928, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_WRITEMASK: {"value": 2930, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_CLEAR_VALUE: {"value": 2931, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_FUNC: {"value": 2932, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_CLEAR_VALUE: {"value": 2961, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_FUNC: {"value": 2962, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_FAIL: {"value": 2964, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_PASS_DEPTH_FAIL: {"value": 2965, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_PASS_DEPTH_PASS: {"value": 2966, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_REF: {"value": 2967, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_VALUE_MASK: {"value": 2963, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_WRITEMASK: {"value": 2968, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_FUNC: {"value": 34816, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_FAIL: {"value": 34817, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_PASS_DEPTH_FAIL: {"value": 34818, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_PASS_DEPTH_PASS: {"value": 34819, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_REF: {"value": 36003, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_VALUE_MASK: {"value": 36004, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BACK_WRITEMASK: {"value": 36005, "writable": false, "enumerable": true, "configurable": false},
    VIEWPORT: {"value": 2978, "writable": false, "enumerable": true, "configurable": false},
    SCISSOR_BOX: {"value": 3088, "writable": false, "enumerable": true, "configurable": false},
    COLOR_CLEAR_VALUE: {"value": 3106, "writable": false, "enumerable": true, "configurable": false},
    COLOR_WRITEMASK: {"value": 3107, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_ALIGNMENT: {"value": 3317, "writable": false, "enumerable": true, "configurable": false},
    PACK_ALIGNMENT: {"value": 3333, "writable": false, "enumerable": true, "configurable": false},
    MAX_TEXTURE_SIZE: {"value": 3379, "writable": false, "enumerable": true, "configurable": false},
    MAX_VIEWPORT_DIMS: {"value": 3386, "writable": false, "enumerable": true, "configurable": false},
    SUBPIXEL_BITS: {"value": 3408, "writable": false, "enumerable": true, "configurable": false},
    RED_BITS: {"value": 3410, "writable": false, "enumerable": true, "configurable": false},
    GREEN_BITS: {"value": 3411, "writable": false, "enumerable": true, "configurable": false},
    BLUE_BITS: {"value": 3412, "writable": false, "enumerable": true, "configurable": false},
    ALPHA_BITS: {"value": 3413, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_BITS: {"value": 3414, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_BITS: {"value": 3415, "writable": false, "enumerable": true, "configurable": false},
    POLYGON_OFFSET_UNITS: {"value": 10752, "writable": false, "enumerable": true, "configurable": false},
    POLYGON_OFFSET_FACTOR: {"value": 32824, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_BINDING_2D: {"value": 32873, "writable": false, "enumerable": true, "configurable": false},
    SAMPLE_BUFFERS: {"value": 32936, "writable": false, "enumerable": true, "configurable": false},
    SAMPLES: {"value": 32937, "writable": false, "enumerable": true, "configurable": false},
    SAMPLE_COVERAGE_VALUE: {"value": 32938, "writable": false, "enumerable": true, "configurable": false},
    SAMPLE_COVERAGE_INVERT: {"value": 32939, "writable": false, "enumerable": true, "configurable": false},
    COMPRESSED_TEXTURE_FORMATS: {"value": 34467, "writable": false, "enumerable": true, "configurable": false},
    DONT_CARE: {"value": 4352, "writable": false, "enumerable": true, "configurable": false},
    FASTEST: {"value": 4353, "writable": false, "enumerable": true, "configurable": false},
    NICEST: {"value": 4354, "writable": false, "enumerable": true, "configurable": false},
    GENERATE_MIPMAP_HINT: {"value": 33170, "writable": false, "enumerable": true, "configurable": false},
    BYTE: {"value": 5120, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_BYTE: {"value": 5121, "writable": false, "enumerable": true, "configurable": false},
    SHORT: {"value": 5122, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_SHORT: {"value": 5123, "writable": false, "enumerable": true, "configurable": false},
    INT: {"value": 5124, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT: {"value": 5125, "writable": false, "enumerable": true, "configurable": false},
    FLOAT: {"value": 5126, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_COMPONENT: {"value": 6402, "writable": false, "enumerable": true, "configurable": false},
    ALPHA: {"value": 6406, "writable": false, "enumerable": true, "configurable": false},
    RGB: {"value": 6407, "writable": false, "enumerable": true, "configurable": false},
    RGBA: {"value": 6408, "writable": false, "enumerable": true, "configurable": false},
    LUMINANCE: {"value": 6409, "writable": false, "enumerable": true, "configurable": false},
    LUMINANCE_ALPHA: {"value": 6410, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_SHORT_4_4_4_4: {"value": 32819, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_SHORT_5_5_5_1: {"value": 32820, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_SHORT_5_6_5: {"value": 33635, "writable": false, "enumerable": true, "configurable": false},
    FRAGMENT_SHADER: {"value": 35632, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_SHADER: {"value": 35633, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_ATTRIBS: {"value": 34921, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_UNIFORM_VECTORS: {"value": 36347, "writable": false, "enumerable": true, "configurable": false},
    MAX_VARYING_VECTORS: {"value": 36348, "writable": false, "enumerable": true, "configurable": false},
    MAX_COMBINED_TEXTURE_IMAGE_UNITS: {"value": 35661, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_TEXTURE_IMAGE_UNITS: {"value": 35660, "writable": false, "enumerable": true, "configurable": false},
    MAX_TEXTURE_IMAGE_UNITS: {"value": 34930, "writable": false, "enumerable": true, "configurable": false},
    MAX_FRAGMENT_UNIFORM_VECTORS: {"value": 36349, "writable": false, "enumerable": true, "configurable": false},
    SHADER_TYPE: {"value": 35663, "writable": false, "enumerable": true, "configurable": false},
    DELETE_STATUS: {"value": 35712, "writable": false, "enumerable": true, "configurable": false},
    LINK_STATUS: {"value": 35714, "writable": false, "enumerable": true, "configurable": false},
    VALIDATE_STATUS: {"value": 35715, "writable": false, "enumerable": true, "configurable": false},
    ATTACHED_SHADERS: {"value": 35717, "writable": false, "enumerable": true, "configurable": false},
    ACTIVE_UNIFORMS: {"value": 35718, "writable": false, "enumerable": true, "configurable": false},
    ACTIVE_ATTRIBUTES: {"value": 35721, "writable": false, "enumerable": true, "configurable": false},
    SHADING_LANGUAGE_VERSION: {"value": 35724, "writable": false, "enumerable": true, "configurable": false},
    CURRENT_PROGRAM: {"value": 35725, "writable": false, "enumerable": true, "configurable": false},
    NEVER: {"value": 512, "writable": false, "enumerable": true, "configurable": false},
    LESS: {"value": 513, "writable": false, "enumerable": true, "configurable": false},
    EQUAL: {"value": 514, "writable": false, "enumerable": true, "configurable": false},
    LEQUAL: {"value": 515, "writable": false, "enumerable": true, "configurable": false},
    GREATER: {"value": 516, "writable": false, "enumerable": true, "configurable": false},
    NOTEQUAL: {"value": 517, "writable": false, "enumerable": true, "configurable": false},
    GEQUAL: {"value": 518, "writable": false, "enumerable": true, "configurable": false},
    ALWAYS: {"value": 519, "writable": false, "enumerable": true, "configurable": false},
    KEEP: {"value": 7680, "writable": false, "enumerable": true, "configurable": false},
    REPLACE: {"value": 7681, "writable": false, "enumerable": true, "configurable": false},
    INCR: {"value": 7682, "writable": false, "enumerable": true, "configurable": false},
    DECR: {"value": 7683, "writable": false, "enumerable": true, "configurable": false},
    INVERT: {"value": 5386, "writable": false, "enumerable": true, "configurable": false},
    INCR_WRAP: {"value": 34055, "writable": false, "enumerable": true, "configurable": false},
    DECR_WRAP: {"value": 34056, "writable": false, "enumerable": true, "configurable": false},
    VENDOR: {"value": 7936, "writable": false, "enumerable": true, "configurable": false},
    RENDERER: {"value": 7937, "writable": false, "enumerable": true, "configurable": false},
    VERSION: {"value": 7938, "writable": false, "enumerable": true, "configurable": false},
    NEAREST: {"value": 9728, "writable": false, "enumerable": true, "configurable": false},
    LINEAR: {"value": 9729, "writable": false, "enumerable": true, "configurable": false},
    NEAREST_MIPMAP_NEAREST: {"value": 9984, "writable": false, "enumerable": true, "configurable": false},
    LINEAR_MIPMAP_NEAREST: {"value": 9985, "writable": false, "enumerable": true, "configurable": false},
    NEAREST_MIPMAP_LINEAR: {"value": 9986, "writable": false, "enumerable": true, "configurable": false},
    LINEAR_MIPMAP_LINEAR: {"value": 9987, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_MAG_FILTER: {"value": 10240, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_MIN_FILTER: {"value": 10241, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_WRAP_S: {"value": 10242, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_WRAP_T: {"value": 10243, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE: {"value": 5890, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP: {"value": 34067, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_BINDING_CUBE_MAP: {"value": 34068, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_POSITIVE_X: {"value": 34069, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_NEGATIVE_X: {"value": 34070, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_POSITIVE_Y: {"value": 34071, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_NEGATIVE_Y: {"value": 34072, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_POSITIVE_Z: {"value": 34073, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_CUBE_MAP_NEGATIVE_Z: {"value": 34074, "writable": false, "enumerable": true, "configurable": false},
    MAX_CUBE_MAP_TEXTURE_SIZE: {"value": 34076, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE0: {"value": 33984, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE1: {"value": 33985, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE2: {"value": 33986, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE3: {"value": 33987, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE4: {"value": 33988, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE5: {"value": 33989, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE6: {"value": 33990, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE7: {"value": 33991, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE8: {"value": 33992, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE9: {"value": 33993, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE10: {"value": 33994, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE11: {"value": 33995, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE12: {"value": 33996, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE13: {"value": 33997, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE14: {"value": 33998, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE15: {"value": 33999, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE16: {"value": 34000, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE17: {"value": 34001, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE18: {"value": 34002, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE19: {"value": 34003, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE20: {"value": 34004, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE21: {"value": 34005, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE22: {"value": 34006, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE23: {"value": 34007, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE24: {"value": 34008, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE25: {"value": 34009, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE26: {"value": 34010, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE27: {"value": 34011, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE28: {"value": 34012, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE29: {"value": 34013, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE30: {"value": 34014, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE31: {"value": 34015, "writable": false, "enumerable": true, "configurable": false},
    ACTIVE_TEXTURE: {"value": 34016, "writable": false, "enumerable": true, "configurable": false},
    REPEAT: {"value": 10497, "writable": false, "enumerable": true, "configurable": false},
    CLAMP_TO_EDGE: {"value": 33071, "writable": false, "enumerable": true, "configurable": false},
    MIRRORED_REPEAT: {"value": 33648, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_VEC2: {"value": 35664, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_VEC3: {"value": 35665, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_VEC4: {"value": 35666, "writable": false, "enumerable": true, "configurable": false},
    INT_VEC2: {"value": 35667, "writable": false, "enumerable": true, "configurable": false},
    INT_VEC3: {"value": 35668, "writable": false, "enumerable": true, "configurable": false},
    INT_VEC4: {"value": 35669, "writable": false, "enumerable": true, "configurable": false},
    BOOL: {"value": 35670, "writable": false, "enumerable": true, "configurable": false},
    BOOL_VEC2: {"value": 35671, "writable": false, "enumerable": true, "configurable": false},
    BOOL_VEC3: {"value": 35672, "writable": false, "enumerable": true, "configurable": false},
    BOOL_VEC4: {"value": 35673, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT2: {"value": 35674, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT3: {"value": 35675, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT4: {"value": 35676, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_2D: {"value": 35678, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_CUBE: {"value": 35680, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_ENABLED: {"value": 34338, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_SIZE: {"value": 34339, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_STRIDE: {"value": 34340, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_TYPE: {"value": 34341, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_NORMALIZED: {"value": 34922, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_POINTER: {"value": 34373, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: {"value": 34975, "writable": false, "enumerable": true, "configurable": false},
    IMPLEMENTATION_COLOR_READ_TYPE: {"value": 35738, "writable": false, "enumerable": true, "configurable": false},
    IMPLEMENTATION_COLOR_READ_FORMAT: {"value": 35739, "writable": false, "enumerable": true, "configurable": false},
    COMPILE_STATUS: {"value": 35713, "writable": false, "enumerable": true, "configurable": false},
    LOW_FLOAT: {"value": 36336, "writable": false, "enumerable": true, "configurable": false},
    MEDIUM_FLOAT: {"value": 36337, "writable": false, "enumerable": true, "configurable": false},
    HIGH_FLOAT: {"value": 36338, "writable": false, "enumerable": true, "configurable": false},
    LOW_INT: {"value": 36339, "writable": false, "enumerable": true, "configurable": false},
    MEDIUM_INT: {"value": 36340, "writable": false, "enumerable": true, "configurable": false},
    HIGH_INT: {"value": 36341, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER: {"value": 36160, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER: {"value": 36161, "writable": false, "enumerable": true, "configurable": false},
    RGBA4: {"value": 32854, "writable": false, "enumerable": true, "configurable": false},
    RGB5_A1: {"value": 32855, "writable": false, "enumerable": true, "configurable": false},
    RGB565: {"value": 36194, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_COMPONENT16: {"value": 33189, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_INDEX8: {"value": 36168, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_STENCIL: {"value": 34041, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_WIDTH: {"value": 36162, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_HEIGHT: {"value": 36163, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_INTERNAL_FORMAT: {"value": 36164, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_RED_SIZE: {"value": 36176, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_GREEN_SIZE: {"value": 36177, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_BLUE_SIZE: {"value": 36178, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_ALPHA_SIZE: {"value": 36179, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_DEPTH_SIZE: {"value": 36180, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_STENCIL_SIZE: {"value": 36181, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: {"value": 36048, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: {"value": 36049, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: {
        "value": 36050,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: {
        "value": 36051,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    COLOR_ATTACHMENT0: {"value": 36064, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_ATTACHMENT: {"value": 36096, "writable": false, "enumerable": true, "configurable": false},
    STENCIL_ATTACHMENT: {"value": 36128, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_STENCIL_ATTACHMENT: {"value": 33306, "writable": false, "enumerable": true, "configurable": false},
    NONE: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_COMPLETE: {"value": 36053, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_INCOMPLETE_ATTACHMENT: {"value": 36054, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: {
        "value": 36055,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    FRAMEBUFFER_INCOMPLETE_DIMENSIONS: {"value": 36057, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_UNSUPPORTED: {"value": 36061, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_BINDING: {"value": 36006, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_BINDING: {"value": 36007, "writable": false, "enumerable": true, "configurable": false},
    MAX_RENDERBUFFER_SIZE: {"value": 34024, "writable": false, "enumerable": true, "configurable": false},
    INVALID_FRAMEBUFFER_OPERATION: {"value": 1286, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_FLIP_Y_WEBGL: {"value": 37440, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_PREMULTIPLY_ALPHA_WEBGL: {"value": 37441, "writable": false, "enumerable": true, "configurable": false},
    CONTEXT_LOST_WEBGL: {"value": 37442, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_COLORSPACE_CONVERSION_WEBGL: {"value": 37443, "writable": false, "enumerable": true, "configurable": false},
    BROWSER_DEFAULT_WEBGL: {"value": 37444, "writable": false, "enumerable": true, "configurable": false},
    READ_BUFFER: {"value": 3074, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_ROW_LENGTH: {"value": 3314, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_SKIP_ROWS: {"value": 3315, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_SKIP_PIXELS: {"value": 3316, "writable": false, "enumerable": true, "configurable": false},
    PACK_ROW_LENGTH: {"value": 3330, "writable": false, "enumerable": true, "configurable": false},
    PACK_SKIP_ROWS: {"value": 3331, "writable": false, "enumerable": true, "configurable": false},
    PACK_SKIP_PIXELS: {"value": 3332, "writable": false, "enumerable": true, "configurable": false},
    COLOR: {"value": 6144, "writable": false, "enumerable": true, "configurable": false},
    DEPTH: {"value": 6145, "writable": false, "enumerable": true, "configurable": false},
    STENCIL: {"value": 6146, "writable": false, "enumerable": true, "configurable": false},
    RED: {"value": 6403, "writable": false, "enumerable": true, "configurable": false},
    RGB8: {"value": 32849, "writable": false, "enumerable": true, "configurable": false},
    RGBA8: {"value": 32856, "writable": false, "enumerable": true, "configurable": false},
    RGB10_A2: {"value": 32857, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_BINDING_3D: {"value": 32874, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_SKIP_IMAGES: {"value": 32877, "writable": false, "enumerable": true, "configurable": false},
    UNPACK_IMAGE_HEIGHT: {"value": 32878, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_3D: {"value": 32879, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_WRAP_R: {"value": 32882, "writable": false, "enumerable": true, "configurable": false},
    MAX_3D_TEXTURE_SIZE: {"value": 32883, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_2_10_10_10_REV: {"value": 33640, "writable": false, "enumerable": true, "configurable": false},
    MAX_ELEMENTS_VERTICES: {"value": 33000, "writable": false, "enumerable": true, "configurable": false},
    MAX_ELEMENTS_INDICES: {"value": 33001, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_MIN_LOD: {"value": 33082, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_MAX_LOD: {"value": 33083, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_BASE_LEVEL: {"value": 33084, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_MAX_LEVEL: {"value": 33085, "writable": false, "enumerable": true, "configurable": false},
    MIN: {"value": 32775, "writable": false, "enumerable": true, "configurable": false},
    MAX: {"value": 32776, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_COMPONENT24: {"value": 33190, "writable": false, "enumerable": true, "configurable": false},
    MAX_TEXTURE_LOD_BIAS: {"value": 34045, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_COMPARE_MODE: {"value": 34892, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_COMPARE_FUNC: {"value": 34893, "writable": false, "enumerable": true, "configurable": false},
    CURRENT_QUERY: {"value": 34917, "writable": false, "enumerable": true, "configurable": false},
    QUERY_RESULT: {"value": 34918, "writable": false, "enumerable": true, "configurable": false},
    QUERY_RESULT_AVAILABLE: {"value": 34919, "writable": false, "enumerable": true, "configurable": false},
    STREAM_READ: {"value": 35041, "writable": false, "enumerable": true, "configurable": false},
    STREAM_COPY: {"value": 35042, "writable": false, "enumerable": true, "configurable": false},
    STATIC_READ: {"value": 35045, "writable": false, "enumerable": true, "configurable": false},
    STATIC_COPY: {"value": 35046, "writable": false, "enumerable": true, "configurable": false},
    DYNAMIC_READ: {"value": 35049, "writable": false, "enumerable": true, "configurable": false},
    DYNAMIC_COPY: {"value": 35050, "writable": false, "enumerable": true, "configurable": false},
    MAX_DRAW_BUFFERS: {"value": 34852, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER0: {"value": 34853, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER1: {"value": 34854, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER2: {"value": 34855, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER3: {"value": 34856, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER4: {"value": 34857, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER5: {"value": 34858, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER6: {"value": 34859, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER7: {"value": 34860, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER8: {"value": 34861, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER9: {"value": 34862, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER10: {"value": 34863, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER11: {"value": 34864, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER12: {"value": 34865, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER13: {"value": 34866, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER14: {"value": 34867, "writable": false, "enumerable": true, "configurable": false},
    DRAW_BUFFER15: {"value": 34868, "writable": false, "enumerable": true, "configurable": false},
    MAX_FRAGMENT_UNIFORM_COMPONENTS: {"value": 35657, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_UNIFORM_COMPONENTS: {"value": 35658, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_3D: {"value": 35679, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_2D_SHADOW: {"value": 35682, "writable": false, "enumerable": true, "configurable": false},
    FRAGMENT_SHADER_DERIVATIVE_HINT: {"value": 35723, "writable": false, "enumerable": true, "configurable": false},
    PIXEL_PACK_BUFFER: {"value": 35051, "writable": false, "enumerable": true, "configurable": false},
    PIXEL_UNPACK_BUFFER: {"value": 35052, "writable": false, "enumerable": true, "configurable": false},
    PIXEL_PACK_BUFFER_BINDING: {"value": 35053, "writable": false, "enumerable": true, "configurable": false},
    PIXEL_UNPACK_BUFFER_BINDING: {"value": 35055, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT2x3: {"value": 35685, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT2x4: {"value": 35686, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT3x2: {"value": 35687, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT3x4: {"value": 35688, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT4x2: {"value": 35689, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_MAT4x3: {"value": 35690, "writable": false, "enumerable": true, "configurable": false},
    SRGB: {"value": 35904, "writable": false, "enumerable": true, "configurable": false},
    SRGB8: {"value": 35905, "writable": false, "enumerable": true, "configurable": false},
    SRGB8_ALPHA8: {"value": 35907, "writable": false, "enumerable": true, "configurable": false},
    COMPARE_REF_TO_TEXTURE: {"value": 34894, "writable": false, "enumerable": true, "configurable": false},
    RGBA32F: {"value": 34836, "writable": false, "enumerable": true, "configurable": false},
    RGB32F: {"value": 34837, "writable": false, "enumerable": true, "configurable": false},
    RGBA16F: {"value": 34842, "writable": false, "enumerable": true, "configurable": false},
    RGB16F: {"value": 34843, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_INTEGER: {"value": 35069, "writable": false, "enumerable": true, "configurable": false},
    MAX_ARRAY_TEXTURE_LAYERS: {"value": 35071, "writable": false, "enumerable": true, "configurable": false},
    MIN_PROGRAM_TEXEL_OFFSET: {"value": 35076, "writable": false, "enumerable": true, "configurable": false},
    MAX_PROGRAM_TEXEL_OFFSET: {"value": 35077, "writable": false, "enumerable": true, "configurable": false},
    MAX_VARYING_COMPONENTS: {"value": 35659, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_2D_ARRAY: {"value": 35866, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_BINDING_2D_ARRAY: {"value": 35869, "writable": false, "enumerable": true, "configurable": false},
    R11F_G11F_B10F: {"value": 35898, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_10F_11F_11F_REV: {"value": 35899, "writable": false, "enumerable": true, "configurable": false},
    RGB9_E5: {"value": 35901, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_5_9_9_9_REV: {"value": 35902, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BUFFER_MODE: {"value": 35967, "writable": false, "enumerable": true, "configurable": false},
    MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: {
        "value": 35968,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    TRANSFORM_FEEDBACK_VARYINGS: {"value": 35971, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BUFFER_START: {"value": 35972, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BUFFER_SIZE: {"value": 35973, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: {
        "value": 35976,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    RASTERIZER_DISCARD: {"value": 35977, "writable": false, "enumerable": true, "configurable": false},
    MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: {
        "value": 35978,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: {
        "value": 35979,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    INTERLEAVED_ATTRIBS: {"value": 35980, "writable": false, "enumerable": true, "configurable": false},
    SEPARATE_ATTRIBS: {"value": 35981, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BUFFER: {"value": 35982, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BUFFER_BINDING: {"value": 35983, "writable": false, "enumerable": true, "configurable": false},
    RGBA32UI: {"value": 36208, "writable": false, "enumerable": true, "configurable": false},
    RGB32UI: {"value": 36209, "writable": false, "enumerable": true, "configurable": false},
    RGBA16UI: {"value": 36214, "writable": false, "enumerable": true, "configurable": false},
    RGB16UI: {"value": 36215, "writable": false, "enumerable": true, "configurable": false},
    RGBA8UI: {"value": 36220, "writable": false, "enumerable": true, "configurable": false},
    RGB8UI: {"value": 36221, "writable": false, "enumerable": true, "configurable": false},
    RGBA32I: {"value": 36226, "writable": false, "enumerable": true, "configurable": false},
    RGB32I: {"value": 36227, "writable": false, "enumerable": true, "configurable": false},
    RGBA16I: {"value": 36232, "writable": false, "enumerable": true, "configurable": false},
    RGB16I: {"value": 36233, "writable": false, "enumerable": true, "configurable": false},
    RGBA8I: {"value": 36238, "writable": false, "enumerable": true, "configurable": false},
    RGB8I: {"value": 36239, "writable": false, "enumerable": true, "configurable": false},
    RED_INTEGER: {"value": 36244, "writable": false, "enumerable": true, "configurable": false},
    RGB_INTEGER: {"value": 36248, "writable": false, "enumerable": true, "configurable": false},
    RGBA_INTEGER: {"value": 36249, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_2D_ARRAY: {"value": 36289, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_2D_ARRAY_SHADOW: {"value": 36292, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_CUBE_SHADOW: {"value": 36293, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_VEC2: {"value": 36294, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_VEC3: {"value": 36295, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_VEC4: {"value": 36296, "writable": false, "enumerable": true, "configurable": false},
    INT_SAMPLER_2D: {"value": 36298, "writable": false, "enumerable": true, "configurable": false},
    INT_SAMPLER_3D: {"value": 36299, "writable": false, "enumerable": true, "configurable": false},
    INT_SAMPLER_CUBE: {"value": 36300, "writable": false, "enumerable": true, "configurable": false},
    INT_SAMPLER_2D_ARRAY: {"value": 36303, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_SAMPLER_2D: {"value": 36306, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_SAMPLER_3D: {"value": 36307, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_SAMPLER_CUBE: {"value": 36308, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_SAMPLER_2D_ARRAY: {"value": 36311, "writable": false, "enumerable": true, "configurable": false},
    DEPTH_COMPONENT32F: {"value": 36012, "writable": false, "enumerable": true, "configurable": false},
    DEPTH32F_STENCIL8: {"value": 36013, "writable": false, "enumerable": true, "configurable": false},
    FLOAT_32_UNSIGNED_INT_24_8_REV: {"value": 36269, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: {
        "value": 33296,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: {
        "value": 33297,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    FRAMEBUFFER_ATTACHMENT_RED_SIZE: {"value": 33298, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: {"value": 33299, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: {"value": 33300, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: {"value": 33301, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: {"value": 33302, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: {"value": 33303, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_DEFAULT: {"value": 33304, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_INT_24_8: {"value": 34042, "writable": false, "enumerable": true, "configurable": false},
    DEPTH24_STENCIL8: {"value": 35056, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNED_NORMALIZED: {"value": 35863, "writable": false, "enumerable": true, "configurable": false},
    DRAW_FRAMEBUFFER_BINDING: {"value": 36006, "writable": false, "enumerable": true, "configurable": false},
    READ_FRAMEBUFFER: {"value": 36008, "writable": false, "enumerable": true, "configurable": false},
    DRAW_FRAMEBUFFER: {"value": 36009, "writable": false, "enumerable": true, "configurable": false},
    READ_FRAMEBUFFER_BINDING: {"value": 36010, "writable": false, "enumerable": true, "configurable": false},
    RENDERBUFFER_SAMPLES: {"value": 36011, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: {
        "value": 36052,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    MAX_COLOR_ATTACHMENTS: {"value": 36063, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT1: {"value": 36065, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT2: {"value": 36066, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT3: {"value": 36067, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT4: {"value": 36068, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT5: {"value": 36069, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT6: {"value": 36070, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT7: {"value": 36071, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT8: {"value": 36072, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT9: {"value": 36073, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT10: {"value": 36074, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT11: {"value": 36075, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT12: {"value": 36076, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT13: {"value": 36077, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT14: {"value": 36078, "writable": false, "enumerable": true, "configurable": false},
    COLOR_ATTACHMENT15: {"value": 36079, "writable": false, "enumerable": true, "configurable": false},
    FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: {"value": 36182, "writable": false, "enumerable": true, "configurable": false},
    MAX_SAMPLES: {"value": 36183, "writable": false, "enumerable": true, "configurable": false},
    HALF_FLOAT: {"value": 5131, "writable": false, "enumerable": true, "configurable": false},
    RG: {"value": 33319, "writable": false, "enumerable": true, "configurable": false},
    RG_INTEGER: {"value": 33320, "writable": false, "enumerable": true, "configurable": false},
    R8: {"value": 33321, "writable": false, "enumerable": true, "configurable": false},
    RG8: {"value": 33323, "writable": false, "enumerable": true, "configurable": false},
    R16F: {"value": 33325, "writable": false, "enumerable": true, "configurable": false},
    R32F: {"value": 33326, "writable": false, "enumerable": true, "configurable": false},
    RG16F: {"value": 33327, "writable": false, "enumerable": true, "configurable": false},
    RG32F: {"value": 33328, "writable": false, "enumerable": true, "configurable": false},
    R8I: {"value": 33329, "writable": false, "enumerable": true, "configurable": false},
    R8UI: {"value": 33330, "writable": false, "enumerable": true, "configurable": false},
    R16I: {"value": 33331, "writable": false, "enumerable": true, "configurable": false},
    R16UI: {"value": 33332, "writable": false, "enumerable": true, "configurable": false},
    R32I: {"value": 33333, "writable": false, "enumerable": true, "configurable": false},
    R32UI: {"value": 33334, "writable": false, "enumerable": true, "configurable": false},
    RG8I: {"value": 33335, "writable": false, "enumerable": true, "configurable": false},
    RG8UI: {"value": 33336, "writable": false, "enumerable": true, "configurable": false},
    RG16I: {"value": 33337, "writable": false, "enumerable": true, "configurable": false},
    RG16UI: {"value": 33338, "writable": false, "enumerable": true, "configurable": false},
    RG32I: {"value": 33339, "writable": false, "enumerable": true, "configurable": false},
    RG32UI: {"value": 33340, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ARRAY_BINDING: {"value": 34229, "writable": false, "enumerable": true, "configurable": false},
    R8_SNORM: {"value": 36756, "writable": false, "enumerable": true, "configurable": false},
    RG8_SNORM: {"value": 36757, "writable": false, "enumerable": true, "configurable": false},
    RGB8_SNORM: {"value": 36758, "writable": false, "enumerable": true, "configurable": false},
    RGBA8_SNORM: {"value": 36759, "writable": false, "enumerable": true, "configurable": false},
    SIGNED_NORMALIZED: {"value": 36764, "writable": false, "enumerable": true, "configurable": false},
    COPY_READ_BUFFER: {"value": 36662, "writable": false, "enumerable": true, "configurable": false},
    COPY_WRITE_BUFFER: {"value": 36663, "writable": false, "enumerable": true, "configurable": false},
    COPY_READ_BUFFER_BINDING: {"value": 36662, "writable": false, "enumerable": true, "configurable": false},
    COPY_WRITE_BUFFER_BINDING: {"value": 36663, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BUFFER: {"value": 35345, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BUFFER_BINDING: {"value": 35368, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BUFFER_START: {"value": 35369, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BUFFER_SIZE: {"value": 35370, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_UNIFORM_BLOCKS: {"value": 35371, "writable": false, "enumerable": true, "configurable": false},
    MAX_FRAGMENT_UNIFORM_BLOCKS: {"value": 35373, "writable": false, "enumerable": true, "configurable": false},
    MAX_COMBINED_UNIFORM_BLOCKS: {"value": 35374, "writable": false, "enumerable": true, "configurable": false},
    MAX_UNIFORM_BUFFER_BINDINGS: {"value": 35375, "writable": false, "enumerable": true, "configurable": false},
    MAX_UNIFORM_BLOCK_SIZE: {"value": 35376, "writable": false, "enumerable": true, "configurable": false},
    MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: {
        "value": 35377,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: {
        "value": 35379,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    UNIFORM_BUFFER_OFFSET_ALIGNMENT: {"value": 35380, "writable": false, "enumerable": true, "configurable": false},
    ACTIVE_UNIFORM_BLOCKS: {"value": 35382, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_TYPE: {"value": 35383, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_SIZE: {"value": 35384, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BLOCK_INDEX: {"value": 35386, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_OFFSET: {"value": 35387, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_ARRAY_STRIDE: {"value": 35388, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_MATRIX_STRIDE: {"value": 35389, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_IS_ROW_MAJOR: {"value": 35390, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BLOCK_BINDING: {"value": 35391, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BLOCK_DATA_SIZE: {"value": 35392, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BLOCK_ACTIVE_UNIFORMS: {"value": 35394, "writable": false, "enumerable": true, "configurable": false},
    UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: {
        "value": 35395,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: {
        "value": 35396,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: {
        "value": 35398,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    INVALID_INDEX: {"value": 4294967295, "writable": false, "enumerable": true, "configurable": false},
    MAX_VERTEX_OUTPUT_COMPONENTS: {"value": 37154, "writable": false, "enumerable": true, "configurable": false},
    MAX_FRAGMENT_INPUT_COMPONENTS: {"value": 37157, "writable": false, "enumerable": true, "configurable": false},
    MAX_SERVER_WAIT_TIMEOUT: {"value": 37137, "writable": false, "enumerable": true, "configurable": false},
    OBJECT_TYPE: {"value": 37138, "writable": false, "enumerable": true, "configurable": false},
    SYNC_CONDITION: {"value": 37139, "writable": false, "enumerable": true, "configurable": false},
    SYNC_STATUS: {"value": 37140, "writable": false, "enumerable": true, "configurable": false},
    SYNC_FLAGS: {"value": 37141, "writable": false, "enumerable": true, "configurable": false},
    SYNC_FENCE: {"value": 37142, "writable": false, "enumerable": true, "configurable": false},
    SYNC_GPU_COMMANDS_COMPLETE: {"value": 37143, "writable": false, "enumerable": true, "configurable": false},
    UNSIGNALED: {"value": 37144, "writable": false, "enumerable": true, "configurable": false},
    SIGNALED: {"value": 37145, "writable": false, "enumerable": true, "configurable": false},
    ALREADY_SIGNALED: {"value": 37146, "writable": false, "enumerable": true, "configurable": false},
    TIMEOUT_EXPIRED: {"value": 37147, "writable": false, "enumerable": true, "configurable": false},
    CONDITION_SATISFIED: {"value": 37148, "writable": false, "enumerable": true, "configurable": false},
    WAIT_FAILED: {"value": 37149, "writable": false, "enumerable": true, "configurable": false},
    SYNC_FLUSH_COMMANDS_BIT: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    VERTEX_ATTRIB_ARRAY_DIVISOR: {"value": 35070, "writable": false, "enumerable": true, "configurable": false},
    ANY_SAMPLES_PASSED: {"value": 35887, "writable": false, "enumerable": true, "configurable": false},
    ANY_SAMPLES_PASSED_CONSERVATIVE: {"value": 36202, "writable": false, "enumerable": true, "configurable": false},
    SAMPLER_BINDING: {"value": 35097, "writable": false, "enumerable": true, "configurable": false},
    RGB10_A2UI: {"value": 36975, "writable": false, "enumerable": true, "configurable": false},
    INT_2_10_10_10_REV: {"value": 36255, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK: {"value": 36386, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_PAUSED: {"value": 36387, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_ACTIVE: {"value": 36388, "writable": false, "enumerable": true, "configurable": false},
    TRANSFORM_FEEDBACK_BINDING: {"value": 36389, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_IMMUTABLE_FORMAT: {"value": 37167, "writable": false, "enumerable": true, "configurable": false},
    MAX_ELEMENT_INDEX: {"value": 36203, "writable": false, "enumerable": true, "configurable": false},
    TEXTURE_IMMUTABLE_LEVELS: {"value": 33503, "writable": false, "enumerable": true, "configurable": false},
    TIMEOUT_IGNORED: {"value": -1, "writable": false, "enumerable": true, "configurable": false},
    MAX_CLIENT_WAIT_TIMEOUT_WEBGL: {"value": 37447, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "WebGL2RenderingContext", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(MutationObserver.prototype, {
    observe: {
        value: v_saf(function observe() {
            v_console_log("  [*] MutationObserver -> observe[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "MutationObserver", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, {
    measureText: {
        value: v_saf(function measureText() {
            v_console_log("  [*] OffscreenCanvasRenderingContext2D -> measureText[func]", [].slice.call(arguments));
            this.measureTextVal = arguments[0]
        })
    },
    font: {
        set() {
            v_console_log("  [*] OffscreenCanvasRenderingContext2D -> font[set]", [].slice.call(arguments));
        }
    },
    [Symbol.toStringTag]: {
        value: "OffscreenCanvasRenderingContext2D",
        writable: false,
        enumerable: false,
        configurable: true
    },
})
Object.defineProperties(NavigatorUAData.prototype, {
    getHighEntropyValues: {
        value: v_saf(function getHighEntropyValues() {
            v_console_log("  [*] NavigatorUAData -> getHighEntropyValues[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "NavigatorUAData", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(FeaturePolicy.prototype, {
    getAllowlistForFeature: {
        value: v_saf(function getAllowlistForFeature() {
            v_console_log("  [*] FeaturePolicy -> getAllowlistForFeature[func]", [].slice.call(arguments));
        })
    },
    features: {
        value: v_saf(function features() {
            v_console_log("  [*] FeaturePolicy -> features[func]", [].slice.call(arguments));
        })
    },
    allowedFeatures: {
        value: v_saf(function allowedFeatures() {
            v_console_log("  [*] FeaturePolicy -> allowedFeatures[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "FeaturePolicy", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(NodeList.prototype, {
    length: {
        get() {
            v_console_log("  [*] NodeList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "NodeList", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(HTMLCollection.prototype, {
    length: {
        get() {
            v_console_log("  [*] HTMLCollection -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "HTMLCollection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(DOMTokenList.prototype, {
    length: {
        get() {
            v_console_log("  [*] DOMTokenList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "DOMTokenList", writable: false, enumerable: false, configurable: true},
})
// Object.defineProperties(Event.prototype, {
//     target: {get(){ v_console_log("  [*] Event -> target[get]", {});return {} }},
//     NONE: {"value":0,"writable":false,"enumerable":true,"configurable":false},
//     CAPTURING_PHASE: {"value":1,"writable":false,"enumerable":true,"configurable":false},
//     AT_TARGET: {"value":2,"writable":false,"enumerable":true,"configurable":false},
//     BUBBLING_PHASE: {"value":3,"writable":false,"enumerable":true,"configurable":false},
//     [Symbol.toStringTag]: {value:"Event",writable:false,enumerable:false,configurable:true},
// })
Object.defineProperties(RTCIceCandidate.prototype, {
    candidate: {
        get() {
            v_console_log("  [*] RTCIceCandidate -> candidate[get]", "candidate:1047676015 1 udp 2113937151 525b31c9-16e3-40af-98bd-98206a0caa63.local 51227 typ host generation 0 ufrag 4FAM network-cost 999");
            return "candidate:1047676015 1 udp 2113937151 525b31c9-16e3-40af-98bd-98206a0caa63.local 51227 typ host generation 0 ufrag 4FAM network-cost 999"
        }
    },
    [Symbol.toStringTag]: {value: "RTCIceCandidate", writable: false, enumerable: false, configurable: true},
})
let fonts = [];
let mTexts = {
    "50px  sans-serif": 152.84999084472656,
    "50px  serif": 132.39996337890625,
    "50px 'Andale Mono',  sans-serif": 180.029296875,
    "50px 'Andale Mono',  serif": 180.029296875,
    "50px 'Arial Narrow',  sans-serif": 111.6943359375,
    "50px 'Arial Narrow',  serif": 111.6943359375,
    "50px 'Arial Unicode MS',  sans-serif": 136.1572265625,
    "50px 'Arial Unicode MS',  serif": 136.1572265625,
    "50px 'Batang',  sans-serif": 152.84999084472656,
    "50px 'Batang',  serif": 132.39996337890625,
    "50px 'Bell MT',  sans-serif": 152.84999084472656,
    "50px 'Bell MT',  serif": 132.39996337890625,
    "50px 'Brush Script',  sans-serif": 152.84999084472656,
    "50px 'Brush Script',  serif": 132.39996337890625,
    "50px 'Brush Script MT',  sans-serif": 133.740234375,
    "50px 'Brush Script MT',  serif": 133.740234375,
    "50px 'Calibri',  sans-serif": 152.84999084472656,
    "50px 'Calibri',  serif": 132.39996337890625,
    "50px 'Charter',  sans-serif": 139.55078125,
    "50px 'Charter',  serif": 139.55078125,
    "50px 'Courier',  sans-serif": 180.029296875,
    "50px 'Courier',  serif": 180.029296875,
    "50px 'Courier New',  sans-serif": 180.029296875,
    "50px 'Courier New',  serif": 180.029296875,
    "50px 'Curlz MT',  sans-serif": 152.84999084472656,
    "50px 'Curlz MT',  serif": 132.39996337890625,
    "50px 'DejaVu Sans',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans',  serif": 132.39996337890625,
    "50px 'DejaVu Sans Mono',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans Mono',  serif": 132.39996337890625,
    "50px 'DejaVu Serif Condensed',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Serif Condensed',  serif": 132.39996337890625,
    "50px 'Droid Sans',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans',  serif": 132.39996337890625,
    "50px 'Droid Sans Fallback',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans Fallback',  serif": 132.39996337890625,
    "50px 'Droid Serif',  sans-serif": 152.84999084472656,
    "50px 'Droid Serif',  serif": 132.39996337890625,
    "50px 'Forte',  sans-serif": 152.84999084472656,
    "50px 'Forte',  serif": 132.39996337890625,
    "50px 'Futura',  sans-serif": 139.35546875,
    "50px 'Futura',  serif": 139.35546875,
    "50px 'Geneva',  sans-serif": 162.3046875,
    "50px 'Geneva',  serif": 162.3046875,
    "50px 'Hei',  sans-serif": 153.41796875,
    "50px 'Hei',  serif": 153.41796875,
    "50px 'Leelawadee',  sans-serif": 152.84999084472656,
    "50px 'Leelawadee',  serif": 132.39996337890625,
    "50px 'Levenim MT',  sans-serif": 152.84999084472656,
    "50px 'Levenim MT',  serif": 132.39996337890625,
    "50px 'Liberation Sans',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans',  serif": 132.39996337890625,
    "50px 'Liberation Sans Narrow',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans Narrow',  serif": 132.39996337890625,
    "50px 'Marlett',  sans-serif": 152.84999084472656,
    "50px 'Marlett',  serif": 132.39996337890625,
    "50px 'Meiryo UI',  sans-serif": 152.84999084472656,
    "50px 'Meiryo UI',  serif": 132.39996337890625,
    "50px 'Microsoft Uighur',  sans-serif": 152.84999084472656,
    "50px 'Microsoft Uighur',  serif": 132.39996337890625,
    "50px 'Microsoft YaHei UI',  sans-serif": 152.84999084472656,
    "50px 'Microsoft YaHei UI',  serif": 132.39996337890625,
    "50px 'MS Mincho',  sans-serif": 152.84999084472656,
    "50px 'MS Mincho',  serif": 132.39996337890625,
    "50px 'MS UI Gothic',  sans-serif": 152.84999084472656,
    "50px 'MS UI Gothic',  serif": 132.39996337890625,
    "50px 'NanumGothic',  sans-serif": 148.39996337890625,
    "50px 'NanumGothic',  serif": 148.39996337890625,
    "50px 'Nirmala UI',  sans-serif": 152.84999084472656,
    "50px 'Nirmala UI',  serif": 132.39996337890625,
    "50px 'Palatino',  sans-serif": 132.91015625,
    "50px 'Palatino',  serif": 132.91015625,
    "50px 'Papyrus',  sans-serif": 139.84375,
    "50px 'Papyrus',  serif": 139.84375,
    "50px 'PMingLiU',  sans-serif": 152.84999084472656,
    "50px 'PMingLiU',  serif": 132.39996337890625,
    "50px 'PT Serif',  sans-serif": 134.0999755859375,
    "50px 'PT Serif',  serif": 134.0999755859375,
    "50px 'SimHei',  sans-serif": 152.84999084472656,
    "50px 'SimHei',  serif": 132.39996337890625,
    "50px 'STIXVariants',  sans-serif": 140.84999084472656,
    "50px 'STIXVariants',  serif": 124.79997253417969,
    "50px 'STSong',  sans-serif": 132.94996643066406,
    "50px 'STSong',  serif": 132.94996643066406,
    "50px 'Traditional Arabic',  sans-serif": 152.84999084472656,
    "50px 'Traditional Arabic',  serif": 132.39996337890625,
    "50px 'Urdu Typesetting',  sans-serif": 152.84999084472656,
    "50px 'Urdu Typesetting',  serif": 132.39996337890625,
    "50px 'Verdana',  sans-serif": 175.4150390625,
    "50px 'Verdana',  serif": 175.4150390625,
    "50px 'Wingdings',  sans-serif": 311.5966796875,
    "50px 'Wingdings',  serif": 311.5966796875,
    "50px 'Wingdings 3',  sans-serif": 244.5068359375,
    "50px 'Wingdings 3',  serif": 244.5068359375,
    "50px 'Helkevtrica',  sans-serif": 152.84999084472656,
    "50px 'Helkevtrica',  serif": 132.39996337890625
}

Object.defineProperties(TextMetrics.prototype, {
    width: {
        get() {
            // fonts.push(this.fontval[0])
            width = mTexts[this.fontval]
            v_console_log(this.text[0], "  [*] TextMetrics -> width[get]", width);

            return width
            // return 132.39996337890625
        }
    },
    actualBoundingBoxAscent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxAscent[get]", 556.640625);
            return 556.640625
        }
    },
    actualBoundingBoxDescent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxDescent[get]", -203.61328125);
            return -203.61328125
        }
    },
    actualBoundingBoxLeft: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxLeft[get]", -22.94921875);
            return -22.94921875
        }
    },
    actualBoundingBoxRight: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxRight[get]", 579.1015625);
            return 579.1015625
        }
    },
    [Symbol.toStringTag]: {value: "TextMetrics", writable: false, enumerable: false, configurable: true},
})
// PluginArray = myProxy(PluginArray, 'PluginArray')
// Object.defineProperties(PluginArray.prototype, {
//     length: {
//         get() {
//             v_console_log("  [*] PluginArray -> length[get]", 5);
//             return 5
//         }
//     },
//     [Symbol.toStringTag]: {value:"PluginArray",writable:false,enumerable:false,configurable:true},
// })

Object.defineProperties(Plugin.prototype, {
    [Symbol.toStringTag]: {value: "Plugin", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(MimeType.prototype, {
    [Symbol.toStringTag]: {value: "MimeType", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(WebKitMutationObserver.prototype, {
    observe: {
        value: v_saf(function observe() {
            v_console_log("  [*] WebKitMutationObserver -> observe[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "WebKitMutationObserver", writable: false, enumerable: false, configurable: true},
})
// Object.defineProperties(Crypto.prototype, {
//     [Symbol.toStringTag]: {value:"Crypto",writable:false,enumerable:false,configurable:true},
// })
Object.defineProperties(Image.prototype, {
    src: {
        set() {
            v_console_log("  [*] Image -> src[set]", [].slice.call(arguments));
        }
    },
    [Symbol.toStringTag]: {value: "Image", writable: false, enumerable: false, configurable: true},
})
publicDescription = undefined;
Object.defineProperties(RTCPeerConnection.prototype, {
    localDescription: {
        value: {
            get: v_saf(function get() {
                print('get localDescription')
                return publicDescription
            })
        }
    },
    onicecandidate: {
        set() {
            print("  [*] RTCPeerConnection -> onicecandidate[set]", [].slice.call(arguments));
        }
    },

    createDataChannel: {
        value: v_saf(function createDataChannel(label, option) {
            print("  [*] RTCPeerConnection -> createDataChannel[func]", [].slice.call(arguments));
            return {
                'onopen': function onopen() {
                    print("  [*] RTCPeerConnection -> createDataChannel[func] onopen", [].slice.call(arguments));

                },
                'onmessage': function onmessage() {
                    print("  [*] RTCPeerConnection -> createDataChannel[func] onmessage", [].slice.call(arguments));

                },
            }
        })
    },
    createOffer: {
        value: v_saf(function createOffer() {
            print("  [*] RTCPeerConnection -> createOffer[func]", [].slice.call(arguments));
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                print('RTCPeerConnection createOffer');
                let res = v_new(RTCSessionDescription)
                res.sdp = RTCSessionDescription.prototype.sdp
                res.type = RTCSessionDescription.prototype.type
                resolve(res)
            })
            return p;
            // return {
            //     then: function (func, func2) {
            //         v_console_log("  [*] RTCPeerConnection -> createOffer[func] then", [].slice.call(arguments));
            //         // func2(v_new(RTCSessionDescription));
            //         // func(v_new(RTCSessionDescription));
            //         return func(v_new(RTCSessionDescription));
            //     }, catch: function () {
            //     }
            // }
        })
    },
    setLocalDescription: {
        value: v_saf(function setLocalDescription() {
            // print("  [*] RTCPeerConnection -> setLocalDescription[func]", [].slice.call(arguments));
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                // let res = this.setLocalDescription(v_new(RTCSessionDescription))
                // console.log('RTCPeerConnection create',res);
                print("  [*] RTCPeerConnection -> setLocalDescription[func] then", [].slice.call(arguments));
                publicDescription = arguments[0]
                // window.debug = true
                resolve(publicDescription)
                // return res
            })
            return p;
            // return {
            //     then: function (func, func2) {
            //         print("  [*] RTCPeerConnection -> setLocalDescription[func] then", [].slice.call(arguments));
            //
            //         return this
            //     }, catch: function () {
            //     }
            // }
        })
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(Node.prototype, {
    childs: {value: []},
    appendChild: {
        value: v_saf(function appendChild() {
            v_console_log("  [*] Node -> appendChild[func]", [].slice.call(arguments));
            this.childs.push(arguments[0])
            return arguments[0];
        })
    },
    removeChild: {
        value: v_saf(function removeChild() {
            v_console_log("  [*] Node -> removeChild[func]", [].slice.call(arguments));
        })
    },
    textContent: {
        set() {
            v_console_log("  [*] Node -> textContent[set]", [].slice.call(arguments));
            this.text = arguments[0]
        }
    },
    ELEMENT_NODE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    ATTRIBUTE_NODE: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    TEXT_NODE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    CDATA_SECTION_NODE: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_REFERENCE_NODE: {"value": 5, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_NODE: {"value": 6, "writable": false, "enumerable": true, "configurable": false},
    PROCESSING_INSTRUCTION_NODE: {"value": 7, "writable": false, "enumerable": true, "configurable": false},
    COMMENT_NODE: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_NODE: {"value": 9, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_TYPE_NODE: {"value": 10, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_FRAGMENT_NODE: {"value": 11, "writable": false, "enumerable": true, "configurable": false},
    NOTATION_NODE: {"value": 12, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_DISCONNECTED: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_PRECEDING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_FOLLOWING: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINS: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINED_BY: {"value": 16, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: {
        "value": 32,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    [Symbol.toStringTag]: {value: "Node", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(OffscreenCanvas.prototype, {
    getContext: {
        value: v_saf(function getContext() {
            v_console_log("  [*] OffscreenCanvas -> getContext[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "OffscreenCanvas", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(WebSocket.prototype, {
    onmessage: {
        set() {
            v_console_log("  [*] WebSocket -> onmessage[set]", [].slice.call(arguments));
        }
    },
    CONNECTING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    OPEN: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    CLOSING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    CLOSED: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "WebSocket", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(RTCPeerConnectionIceEvent.prototype, {
    candidate: {
        get() {
            v_console_log("  [*] RTCPeerConnectionIceEvent -> candidate[get]", {});
            return {}
        }
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnectionIceEvent", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(MessageEvent.prototype, {
    data: {
        get() {
            v_console_log("  [*] MessageEvent -> data[get]", {});
            return {}
        }
    },
    [Symbol.toStringTag]: {value: "MessageEvent", writable: false, enumerable: false, configurable: true},
})

Object.defineProperties(UIEvent.prototype, {
    which: {
        get() {
            v_console_log("  [*] UIEvent -> which[get]", 91);
            return 91
        }
    },
    [Symbol.toStringTag]: {value: "UIEvent", writable: false, enumerable: false, configurable: true},
})


window.RTCPeerConnectionIceEvent = RTCPeerConnectionIceEvent;
window.webkitResolveLocalFileSystemURL = webkitResolveLocalFileSystemURL;
window.webkitRequestAnimationFrame = webkitRequestAnimationFrame;
Object.defineProperties(HTMLIFrameElement.prototype, {
    id: {enumerable: true, configurable: true, writable: true},
    contentWindow: {value: window, enumerable: true, configurable: true, writable: true},
})
window.HTMLScriptElement = HTMLScriptElement
window.HTMLIFrameElement = HTMLIFrameElement
window.HTMLStyleElement = HTMLStyleElement
window.HTMLVideoElement = HTMLVideoElement
window.File = File;
SharedWorker = v_saf(function SharedWorker() {
})
window.SharedWorker = SharedWorker;
postMessage = v_saf(function postMessage() {
})
window.postMessage = postMessage;
PushManager = v_saf(function PushManager() {
})
window.PushManager = PushManager;
times = 0;
window.Event = Event;
window.devicePixelRatio = 1;

function v_getele(name, func) {
    if (name == "head" && func == "querySelector") {
        return v_new(HTMLHeadElement)
    }
    if (name == "head > title" && func == "querySelector") {
        return v_new(HTMLTitleElement)
    }
    if (name == "body" && func == "querySelector") {
        return v_new(HTMLBodyElement)
    }
    if (name == "base" && func == "querySelector") {
        return v_new(HTMLBaseElement)
    }
    if (name == "jb-app" && func == "querySelector") {
        return v_new(HTMLElement)
    }
    if (name == "svg" && func == "querySelector") {
        return v_new(SVGSVGElement)
    }
    if (name == "jtp-xsell-utils" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "first-focus-fares-heading" && func == "getElementById") {
        return v_new(HTMLHeadingElement)
    }
    if (name == "jtp-xsell-default" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "#jtp-packages" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "#vacations-cross-sell" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "html" && func == "querySelector") {
        return v_new(HTMLHtmlElement)
    }
    return null
}

function v_geteles(name, func) {
    if (name == "html" && func == "getElementsByTagName") {
        return [v_new(HTMLHtmlElement)]
    }
    if (name == "shouldRememberUser" && func == "getElementsByName") {
        return v_new(NodeList)
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement)]
    }
    if (name == "base" && func == "getElementsByTagName") {
        return [v_new(HTMLBaseElement)]
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement)]
    }
    if (name == "*" && func == "querySelectorAll") {
        return [v_new(HTMLHtmlElement), v_new(HTMLHeadElement), v_new(HTMLBaseElement), v_new(HTMLMetaElement), v_new(HTMLTitleElement), v_new(HTMLMetaElement), v_new(HTMLMetaElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLLinkElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLLinkElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLScriptElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLMetaElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLBodyElement), v_new(HTMLElement), v_new(HTMLElement), v_new(HTMLAnchorElement), v_new(HTMLElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGGElement), v_new(SVGPathElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLAnchorElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLButtonElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGTitleElement), v_new(SVGGElement), v_new(SVGGElement), v_new(SVGGElement), v_new(SVGGElement), v_new(SVGGElement), v_new(SVGPathElement), v_new(SVGPathElement), v_new(SVGPathElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGGElement), v_new(SVGPathElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGGElement), v_new(SVGPathElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGGElement), v_new(SVGPathElement), v_new(SVGRectElement), v_new(SVGCircleElement), v_new(SVGPathElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGStyleElement), v_new(SVGCircleElement), v_new(SVGCircleElement), v_new(SVGCircleElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLElement), v_new(HTMLAnchorElement), v_new(HTMLAnchorElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLElement), v_new(HTMLAnchorElement), v_new(HTMLAnchorElement), v_new(HTMLDivElement), v_new(HTMLSpanElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLUListElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGGElement), v_new(SVGPolygonElement), v_new(HTMLDivElement), v_new(HTMLDivElement), v_new(HTMLUListElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLLIElement), v_new(HTMLAnchorElement), v_new(HTMLLIElement), v_new(HTMLElement), v_new(SVGSVGElement), v_new(SVGPathElement), v_new(HTMLSpanElement), v_new(HTMLDivElement), v_new(HTMLElement), v_new(HTMLDivElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLDivElement), v_new(HTMLScriptElement)]
    }
    if (name == "style[ng-transition=\"resp-booking-airways\"]" && func == "querySelectorAll") {
        return [v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement)]
    }
    if (name == "cdk-live-announcer-element" && func == "getElementsByClassName") {
        return []
    }
    if (name == "#jtp-packages" && func == "querySelectorAll") {
        return [v_new(HTMLDivElement)]
    }
    if (name == "body" && func == "getElementsByTagName") {
        return [v_new(HTMLBodyElement)]
    }
    if (name == 'script[src^=chrome-extension][src$=prompt\\.js], script[src^=moz-extension][src$=prompt\\.js]' && func == 'querySelectorAll') {
        return v_new(NodeList)
    }
    return null
}

let _console = console.log


let events = {}
// window.Event = {
//     prototype:{
//         createEvent: function (type) {
//             return {
//                 "isTrusted": true,
//                 type: '',
//                 detail: '',
//                 initCustomEvent: function (type, canBubble, cancelable, detail) {
//                     this.type = type;
//                     this.detail = detail;
//                     return {type, canBubble, cancelable, detail}
//                 }
//             }
//         },
//     }
// }
Object.defineProperties(Event.prototype, {
    target: {
        get() {
            v_console_log("  [*] Event -> target[get]", {});
            return {}
        }
    },
    timeStamp: {
        get() {
            v_console_log("  [*] Event -> timeStamp[get]", 6122.799999713898);
            return 6122.799999713898
        }
    },
    // preventDefault: {value: v_saf(function preventDefault(){v_console_log("  [*] Event -> preventDefault[func]", [].slice.call(arguments));})},
    type: {
        get() {
            v_console_log("  [*] Event -> type[get]", "blur");
            return "blur"
        }
    },
    defaultPrevented: {
        get() {
            v_console_log("  [*] Event -> defaultPrevented[get]", true);
            return true
        },
    },
    composedPath: {
        value: v_saf(function composedPath() {
            v_console_log("  [*] Event -> composedPath[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    stopPropagation: {
        value: v_saf(function stopPropagation() {
            v_console_log("  [*] Event -> stopPropagation[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    preventDefault: {
        value: v_saf(function preventDefault() {
            v_console_log("  [*] Event -> preventDefault[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    cancelBubble: {
        // value: function cancelBubble() {
        //     v_console_log("  [*] Event -> cancelBubble[func]", [].slice.call(arguments));
        // },
        //     // get(){},
        //     // set(){},
    },
    stopImmediatePropagation: {
        value: v_saf(function preventDefault() {
            v_console_log("  [*] Event -> stopImmediatePropagation[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    NONE: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    CAPTURING_PHASE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    AT_TARGET: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    BUBBLING_PHASE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "Event", writable: false, enumerable: false, configurable: true},
})


createPrototype = function (name, obj) {
    Object.assign(obj, {
        constructor: function () {
        },
        // name: name,
        prototype: {
            toString: function () {
                return `'function ${name}() { [native code] }'`
                // throw new TypeError('Illegal invocation')
            }
        },
        toString: function () {
            return `'function ${name}() { [native code] }'`
        }
    })
    // Object.defineProperty(obj.prototype, {
    //     [Symbol.toStringTag]: {value:name,writable:false,enumerable:false,configurable:true},
    //     prototype: {
    //         toString: function (){
    //             return `'function ${name}() { [native code] }'`
    //             // throw new TypeError('Illegal invocation')
    //         }
    //     },
    // })
    return obj

}


// for (let i = 0; i < O[47].length; i++) {
//     var t = O[47][i];
//
//
// }


PerformanceEntry = {
    name: 'PerformanceEntry',
    prototype: {}
}
Bluetooth = function Bluetooth() {
}
BluetoothDevice = function BluetoothDevice() {
}

AWSCInner = {
    register: function () {
        // _console2('AWSCInner register', arguments)
    }
}
Element = function Element() {
    prototype: {
        webkitMatchesSelector: function webkitMatchesSelector() {

        }
    }
}


chrome = {
    loadTimes: function () {
    },
    csi: function () {
    },
}

MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(MimeType);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";

})
Object.defineProperties(MimeTypeArray.prototype, {
    length: {
        get() {
            v_console_log("  [*] MimeTypeArray -> length[get]", 3);
            return 3
        }
    },
    [Symbol.toStringTag]: {value: "MimeTypeArray", writable: false, enumerable: false, configurable: true},
})

navigator = v_new(Navigator)


// navigator = dtavm.proxy(navigator,'navigator')
location = v_new(Location)
v_hook_href(location, "location", 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false')
location.__proto__ = Location.prototype
origin = location.origin
self = window;
globalThis = window

let performanceNow = Math.random() * 200
window.performance = {
    now: function () {
        return performanceNow + Math.random() * 3000
    },
    "timeOrigin": 1684049607547.1,
    "timing": {
        "connectStart": 1684048540500,
        "navigationStart": 1684048540499,
        "secureConnectionStart": 0,
        "fetchStart": 1684048540500,
        "domContentLoadedEventStart": 0,
        "responseStart": 1684048540502,
        "domInteractive": 0,
        "domainLookupEnd": 1684048540500,
        "responseEnd": 1684048540502,
        "redirectStart": 0,
        "requestStart": 1684048540501,
        "unloadEventEnd": 1684048540503,
        "unloadEventStart": 1684048540503,
        "domLoading": 1684048540507,
        "domComplete": 0,
        "domainLookupStart": 1684048540500,
        "loadEventStart": 0,
        "domContentLoadedEventEnd": 0,
        "loadEventEnd": 0,
        "redirectEnd": 0,
        "connectEnd": 1684048540500
    },
    "navigation": {
        "type": 1,
        "redirectCount": 0
    },
    getEntriesByName: function getEntriesByName() {
    },
    memory: {
        jsHeapSizeLimit: 4294705152,
        totalJSHeapSize: 11528626,
        usedJSHeapSize: 9311362,
    }
}
// window.Proxy = window
window.BigInt = BigInt
window.OffscreenCanvas = function OffscreenCanvas() {
}
window.hasOwnProperty = function hasOwnProperty() {
    _console2('window hasOwnProperty', arguments)
    return window[arguments['0']]
}
DOMTokenList = function DOMTokenList() {

}
window.addEventListener = function (type, callback) {
    _console2('addEventListener111', type, callback)
    events[type] = callback;
    v_events[type] = callback;
    if (type === 'addEventListener11') {
        callback(v_new(Event))
    }
    return true;
}

window.removeEventListener = function removeEventListener(type, callback) {
    delete events[type]
    // callback()
    return true
}
// Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor() {
//
// }
screens = {
    availHeight: 1330,
    availLeft: 0,
    availTop: 25,
    availWidth: 3440,
    colorDepth: 24,
    height: 1440,
    orientation: {angle: 0, type: 'landscape-primary', onchange: null},
    pixelDepth: 24,
    width: 3440
}
window.screen = v_new(Screen)

// window.screen = aaProxy(window.screen, 'screen')
window.screenX = 0
window.screenY = 25
window.isSecureContext = true
window.innerWidth = 1920;
window.outerWidth = 1920;
window.innerHeight = 892;
window.outerHeight = 971;
window.screenLeft = 0;
window.screenTop = 364;
top = window
window.top = top;

htmlEle = {
    appendChild: function () {
        // _console2('appendChild', arguments);
        return {}
    },

    removeChild: function () {
        // _console2('removeChild', arguments);

    },
    clientHeight: 0,
    clientWidth: 1904
}
let allNodes = [];
var childNodes = []

function _createElement(name) {
    var htmlmap = {
        "HTMLElement": ["abbr", "address", "article", "aside", "b", "bdi", "bdo", "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", "footer", "header", "hgroup", "i", "kbd", "main", "mark", "nav", "noscript", "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", "summary", "sup", "u", "var", "wbr"],
        "HTMLCanvasElement": ["canvas"],
        "HTMLAnchorElement": ["a"],
        "HTMLImageElement": ["img"],
        "HTMLIFrameElement": ["iframe"],
        "HTMLMediaElement": [],
        "HTMLHeadElement": ["head"],
        "HTMLBodyElement": ["body"],
        "HTMLUnknownElement": [],
        'HTMLScriptElement': ['script'],
        'HTMLVideoElement': ['video'],
        'HTMLStyleElement': ['style']
    }
    var ret, htmlmapkeys = Object.keys(htmlmap)
    name = name.toLocaleLowerCase()
    for (var i = 0; i < htmlmapkeys.length; i++) {
        if (htmlmap[htmlmapkeys[i]].indexOf(name) != -1) {
            ret = v_new(window[htmlmapkeys[i]])
            // if (htmlmapkeys[i] == "canvas"){
            // ret = dtavm.proxy(ret, htmlmapkeys[i])
            // }
            break
        }
    }
    if (!ret) {
        ret = v_new(HTMLUnknownElement);
        throw TypeError("为定义的类型")
    }
    if (typeof CSSStyleDeclaration != 'undefined') {
        ret.v_style = v_new(CSSStyleDeclaration)
    }
    ret.v_tagName = name.toUpperCase()
    allNodes.push(ret)
    print('_createElement name ', name, ret)

    return ret
}

document = {
    all: HTMLAllCollection,
    characterSet: 'UTF-8',
    charset: 'UTF-8',
    compatMode: 'CSS1Compat',
    documentMode: undefined,
    images: [],
    // createElementNS: v_saf(function createElementNS(){
    //     return _createElement.apply(this, arguments)
    // }),
    constructor: function () {

    },
    [Symbol.toPrimitive](hint) {
        if (hint === 'number') {
            return 42;
        }
        return this;
    },
    toString: function () {
        return '[object HTMLDocument]'
    },

    location: location,
    getElementsByTagName: function () {
        _console2(arguments);
        return v_geteles(...arguments, 'getElementsByTagName')
    },
    referrer: '',
    // createElement: v_saf(function createElement(name) {
    //     return _createElement(name)
    // }),
    getElementById: function getElementById(valId) {
        // if (valId === 'multiFormSubmit') return null;
        let res = v_getele(valId, 'getElementById')
        console.log('use getElementById', valId, res)
        return res
        // return null
        // return {
        //     name: valId + " ele"
        // }
    },
    currentScript: {nonce: ''},
    hasFocus: function hasFocus() {
        return false
    },
    documentElement: htmlEle,
    readyState: 'loading',
    visibilityState: 'visible',

    // addEventListener: function addEventListener(type, callback) {
    //     _console2('document2 addEventListener', arguments)
    //     events[type] = callback
    //     if (type == 'DOMContentLoaded'){
    //         _console2('callDOMContentLoaded' , callback )
    //         callback()
    //     }
    //     // debugger;
    //
    // },
    createEvent: function (type) {
        _console2('createEvent111', type)
        return {
            "isTrusted": true,
            type: '',
            detail: '',
            initCustomEvent: function (type, canBubble, cancelable, detail) {
                _console2('initCustomEvent', type, detail)
                this.type = type;
                this.detail = detail;
                // return {type, canBubble, cancelable, detail}
            }
        }
    },
    querySelector: function querySelector() {
        _console2('document querySelector', arguments)
        // if (arguments['0'] === '#baxia-dialog-content') debugger;
        // return null;
        return {
            name: 'querySelector',
            bind: function () {
                _console2('document querySelector bind', arguments)

            }
        }
    },
    hidden: false

}

_stri = JSON.stringify;
// JSON.stringify = v_saf(function stringify() {
//     console.log('stringify', arguments[0][0])
//     if (arguments[0].toString() === '[object Arguments]' && arguments[0][0].isTrusted == true) {
//         return '{"0":{"isTrusted":false}}'
//     }
//     return _stri.apply(this, arguments)
// })
// document = v_new(Document)
CustomEvent = v_saf(function CustomEvent() {
});
_inherits(CustomEvent, EventTarget)
Object.defineProperties(CustomEvent.prototype, {
    "isTrusted": {
        get() {
            return true
        }
    },
    type: {value: ''},
    detail: {
        get() {
            return this.d
        },

    },
    initCustomEvent: function (type, canBubble, cancelable, detail) {
        this.type = type
        this.detail = detail
        return {type, canBubble, cancelable, detail}
    }
})
Object.defineProperties(Document.prototype, {

    createEvent: {
        value: v_saf(function createEvent() {
            v_console_log("  [*] Document -> createEvent[func]", [].slice.call(arguments));
            if (arguments[0] == 'CustomEvent') {
                return CustomEvent()
            }
        })
    },
    createElement: {
        value: v_saf(function createElement(name) {
            return _createElement(name, 'createElement')
        })
    },
    createElementNS: {
        value: v_saf(function createElementNS(name) {
            return _createElement(name, 'createElementNS')
        })
    },
    featurePolicy: {
        get() {
            v_console_log("  [*] Document -> featurePolicy[get]", {});
            return {}
        }
    },
    visibilityState: {
        get() {
            v_console_log("  [*] Document -> visibilityState[get]", "visible");
            return "visible"
        }
    },
    onreadystatechange: {"enumerable": true, "configurable": true},
    onmouseenter: {"enumerable": true, "configurable": true},
    onmouseleave: {"enumerable": true, "configurable": true},
    [Symbol.toStringTag]: {value: "Document", writable: false, enumerable: false, configurable: true},
})
Object.defineProperty(document, Symbol.toStringTag, {
    value: 'HTMLDocument'
})
Object.defineProperty(document, Symbol.iterator, {
    value: function f() {

    }
})
// Object.defineProperty(document,constructor, {
//     value: 'HTMLDocument'
// })
document.addEventListener = function (type, callback) {
    _console2('addEventListener11', type, callback)
    events[type] = callback;
    v_events[type] = callback;

    // if (type === 'DOMContentLoaded' || type === 'wheel'|| type === 'visibilitychange'){
    //     callback({
    //         "isTrusted": true,
    //         type:type,
    //         target: {
    //             visibilityState: 'visible'
    //         }
    //     })
    // }
    return true
}
window.addEventListener = function (type, callback) {
    _console2('addEventListener12', type, callback)
    events[type] = callback;
    if (type === 'DOMContentLoaded' || type == 'visibilitychange') {
        callback({
            "isTrusted": true,
            type: type
        })
    }
    return true
}
addEventListener = window.addEventListener
// window.document = dtavm.proxy(document, 'document');
// Object.assign(window.document, document)
// Date = dtavm.proxy(Date)
window.toString = function () {
    return '[object Window]'
}


window.HTMLAnchorElement = HTMLAnchorElement
//     [Symbol.toStringTag]: function (){
//         return 'HTMLAnchorElement'
//     },
//     [Symbol.iterator]: function (){
//     }
// })
window.HTMLFormElement = v_saf(function HTMLFormElement() {
})
_inherits(window.HTMLFormElement, HTMLElement)
Object.defineProperties(window.HTMLFormElement.prototype, {
    [Symbol.toStringTag]: {
        value: 'HTMLFormElement',
        [Symbol.iterator]: {
            value: function () {
            }
        }
    },
    submit: {
        value: v_saf(function submit() {
            _console2("HTMLFormElement.prototype.submit", arguments)
        }),
        configurable: true, writable: false
    }
})
window.CustomEvent = CustomEvent
Object.defineProperties(window.CustomEvent, {
    detail: {},
    constructor: {
        value: function () {
        },
        writable: true, enumerable: false, configurable: true
    },
    [Symbol.iterator]: {
        value: function () {
        }
    },
    [Symbol.toStringTag]: {
        value: function () {

        }
    }
})

// Object.defineProperties(window.HTMLAnchorElement.prototype, {
//     href: {
//         get: function (){},
//         set: function (){},
//          enumerable: true, configurable: true
//     }
// })
// Object.defineProperties(window.HTMLFormElement.prototype, {
//     submit: {
//         value: function (){},
//         "writable": true,
//         "enumerable": true,
//         "configurable": true
//     },
//     constructor: {
//         value: function (){},
//         "writable": true,
//         "enumerable": false,
//         "configurable": true
//     }
// })
// navigator = dtavm.proxy(navigator, 'navigator');


window.Math = Math

let storage = {
    items: {
        // "f": "Aybc2A2IAQAAV6ZBFR6AQE9OjvCO-QqU_KrlzuUUGRZlMAK4SiVVBgNsvYNrAS0rIPCuchZ2wH8AAOfvAAAAAA==",
    },
    setItem: function (name, value) {
        this.items[name] = value
    },
    getItem: function (name, value) {
        return this.items[name]
    },
    removeItem: function (name) {
        delete this.items[name]
    }

}

function dispatchEvent(event) {
    _console2('dispatchEvent', event)
    if (event && event.type in events) {
        events[event.type](event)
    }
    try {
        event.instrumented = v_saf(function instrumented() {
            v_console_log(" instrumented  call")
        })
        event.detail.exchange(event)
    } catch (e) {

    }
    return true

}

function v_init_document() {
    Document.prototype.getElementById = v_saf(function getElementById(name) {
        var r = v_getele(name, 'getElementById');
        v_console_log('  [*] Document -> getElementById', name, r);
        return r
    })
    Document.prototype.querySelector = v_saf(function querySelector(name) {
        var r = v_getele(name, 'querySelector');
        v_console_log('  [*] Document -> querySelector', name, r);
        return r
    })
    Document.prototype.getElementsByClassName = v_saf(function getElementsByClassName(name) {
        var r = v_geteles(name, 'getElementsByClassName');
        v_console_log('  [*] Document -> getElementsByClassName', name, r);
        return r
    })
    Document.prototype.getElementsByName = v_saf(function getElementsByName(name) {
        var r = v_geteles(name, 'getElementsByName');
        v_console_log('  [*] Document -> getElementsByName', name, r);
        return r
    })
    Document.prototype.getElementsByTagName = v_saf(function getElementsByTagName(name) {
        var r = v_geteles(name, 'getElementsByTagName');
        v_console_log('  [*] Document -> getElementsByTagName', name, r);
        return r
    })
    Document.prototype.getElementsByTagNameNS = v_saf(function getElementsByTagNameNS(name) {
        var r = v_geteles(name, 'getElementsByTagNameNS');
        v_console_log('  [*] Document -> getElementsByTagNameNS', name, r);
        return r
    })
    Document.prototype.querySelectorAll = v_saf(function querySelectorAll(name) {
        var r = v_geteles(name, 'querySelectorAll');
        v_console_log('  [*] Document -> querySelectorAll', name, r);
        return r
    })
    var v_head = v_new(HTMLHeadElement)
    var v_body = v_new(HTMLBodyElement)
    Object.defineProperties(Document.prototype, {
        head: {
            get() {
                v_console_log("  [*] Document -> head[get]", v_head);
                return v_head
            }
        },
        body: {
            get() {
                v_console_log("  [*] Document -> body[get]", v_body);

                return v_body
            }
        },
    })
}

function v_init_canvas() {
    HTMLCanvasElement.prototype.getContext = v_saf(function getContext() {
        console.log("GET getContext ");
        if (arguments[0] == '2d') {
            var r = v_new(CanvasRenderingContext2D);
            return r
        }
        ;
        if (arguments[0] == 'webgl' || arguments[0] == 'experimental-webgl') {
            var r = v_new(WebGLRenderingContext);
            r._canvas = this;
            return r
        }
        ;
        return null
    })
    HTMLCanvasElement.prototype.toDataURL = v_saf(function toDataURL() {
        console.log('HTMLCanvasElement.prototype.toDataURL', this);
        return "data:image/png;base64, "
    })
    HTMLCanvasElement.prototype.toBlob = v_saf(function toBlob() {
        return console.log('HTMLCanvasElement.prototype.toBlob')
    })
}

v_init_canvas();
v_init_document();
v_init_event_target()
window.dispatchEvent = dispatchEvent;
// _funcHasOwnprop = Function.prototype.hasOwnProperty
// Function.prototype.hasOwnProperty = function (){
//     console.log('Function.prototype.hasOwnProperty', arguments)
//     if (arguments[0] === 'value')return false;
//     return _funcHasOwnprop.apply(this, arguments)
// }
window.Function = Function;
window.Object = Object;
window.Array = Array;
window.Date = Date;
window.String = String;
window.RegExp = RegExp;
window.Float32Array = Float32Array;
window.Float64Array = Float64Array;
window.Int32Array = Int32Array;
window.Reflect = Reflect;
window.Uint8Array = Uint8Array;
window.ArrayBuffer = ArrayBuffer;
window.Int8Array = Int8Array;
window.isNaN = isNaN;
window.parseInt = parseInt;
window.parseFloat = parseFloat;
window.encodeURI = encodeURI;
window.encodeURIComponent = encodeURIComponent;
window.decodeURI = decodeURI;
window.decodeURIComponent = decodeURIComponent;
window.Number = Number;
window.Uint8ClampedArray = Uint8ClampedArray;
window.Int16Array = Int16Array;
window.Uint16Array = Uint16Array;
window.Map = Map;
window.Set = Set;
window.WeakMap = WeakMap;
window.WeakSet = WeakSet;
window.Buffer = undefined

Animation = v_saf(function Animation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Animation, Node)
Comment = v_saf(function Comment() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Comment, Node)
DOMMatrixReadOnly = v_saf(function DOMMatrixReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
let medias = [];
let mediaRes = {
    "(max-aspect-ratio: 33/32)": false,
    "(max-aspect-ratio: 67/64)": true,
    "(max-aspect-ratio: 135/128)": true,
    "(max-aspect-ratio: 271/256)": true,
    "(max-aspect-ratio: 543/512)": true,
    "(max-aspect-ratio: 1087/1024)": true,
    "(max-aspect-ratio: 2175/2048)": true,
    "(max-aspect-ratio: 4351/4096)": true,
    "(max-aspect-ratio: 8703/8192)": true,
    "(max-aspect-ratio: 17407/16384)": true,
    "(max-aspect-ratio: 34815/32768)": true,
    "(max-aspect-ratio: 69631/65536)": true,
    "(max-aspect-ratio: 139263/131072)": true,
    "(max-aspect-ratio: 278527/262144)": true,
    "(max-aspect-ratio: 557055/524288)": true,
    "(max-aspect-ratio: 1114111/1048576)": true,
    "(max-aspect-ratio: 2228223/2097152)": true,
    "(max-aspect-ratio: 4456447/4194304)": true,
    "(max-aspect-ratio: 8912895/8388608)": true,
    "(max-aspect-ratio: 17825791/16777216)": true,
    "(max-aspect-ratio: 35651583/33554432)": true,
    "(max-aspect-ratio: 71303167/67108864)": true,
    "(max-aspect-ratio: 142606335/134217728)": true,
    "(max-aspect-ratio: 285212671/268435456)": true,
    "(max-aspect-ratio: 570425343/536870912)": true,
    "(max-aspect-ratio: 1140850687/1073741824)": true,
    "(max-aspect-ratio: 2281701375/2147483648)": true,
    "(max-aspect-ratio: 4563402751/4294967296)": true,
    "(max-aspect-ratio: 9126805503/8589934592)": true,
    "(max-aspect-ratio: 18253611007/17179869184)": true,
    "(max-aspect-ratio: 36507222015/34359738368)": true,
    "(max-aspect-ratio: 73014444031/68719476736)": true,
    "(max-aspect-ratio: 146028888063/137438953472)": true,
    "(max-aspect-ratio: 292057776127/274877906944)": true,
    "(max-aspect-ratio: 584115552255/549755813888)": true,
    "(max-aspect-ratio: 1168231104511/1099511627776)": true,
    "(max-aspect-ratio: 2336462209023/2199023255552)": true,
    "(max-aspect-ratio: 4672924418047/4398046511104)": true,
    "(max-aspect-ratio: 9345848836095/8796093022208)": true,
    "(max-aspect-ratio: 18691697672191/17592186044416)": true,
    "(max-aspect-ratio: 37383395344383/35184372088832)": true,
    "(max-aspect-ratio: 74766790688767/70368744177664)": true,
    "(max-aspect-ratio: 149533581377535/140737488355328)": true,
    "(max-aspect-ratio: 299067162755071/281474976710656)": true,
    "(max-aspect-ratio: 598134325510143/562949953421312)": true,
    "(max-aspect-ratio: 1196268651020287/1125899906842624)": true,
    "(max-aspect-ratio: 17/16)": true,
    "(max-aspect-ratio: 35/32)": true,
    "(max-aspect-ratio: 71/64)": true,
    "(max-aspect-ratio: 143/128)": true,
    "(max-aspect-ratio: 287/256)": true,
    "(max-aspect-ratio: 575/512)": true,
    "(max-aspect-ratio: 1151/1024)": true,
    "(max-aspect-ratio: 2303/2048)": true,
    "(max-aspect-ratio: 4607/4096)": true,
    "(max-aspect-ratio: 9215/8192)": true,
    "(max-aspect-ratio: 18431/16384)": true,
    "(max-aspect-ratio: 36863/32768)": true,
    "(max-aspect-ratio: 73727/65536)": true,
    "(max-aspect-ratio: 147455/131072)": true,
    "(max-aspect-ratio: 294911/262144)": true,
    "(max-aspect-ratio: 589823/524288)": true,
    "(max-aspect-ratio: 1179647/1048576)": true,
    "(max-aspect-ratio: 2359295/2097152)": true,
    "(max-aspect-ratio: 4718591/4194304)": true,
    "(max-aspect-ratio: 9437183/8388608)": true,
    "(max-aspect-ratio: 18874367/16777216)": true,
    "(max-aspect-ratio: 37748735/33554432)": true,
    "(max-aspect-ratio: 75497471/67108864)": true,
    "(max-aspect-ratio: 150994943/134217728)": true,
    "(max-aspect-ratio: 301989887/268435456)": true,
    "(max-aspect-ratio: 603979775/536870912)": true,
    "(max-aspect-ratio: 1207959551/1073741824)": true,
    "(max-aspect-ratio: 2415919103/2147483648)": true,
    "(max-aspect-ratio: 4831838207/4294967296)": true,
    "(max-aspect-ratio: 9663676415/8589934592)": true,
    "(max-aspect-ratio: 19327352831/17179869184)": true,
    "(max-aspect-ratio: 38654705663/34359738368)": true,
    "(max-aspect-ratio: 77309411327/68719476736)": true,
    "(max-aspect-ratio: 154618822655/137438953472)": true,
    "(max-aspect-ratio: 309237645311/274877906944)": true,
    "(max-aspect-ratio: 618475290623/549755813888)": true,
    "(max-aspect-ratio: 1236950581247/1099511627776)": true,
    "(max-aspect-ratio: 2473901162495/2199023255552)": true,
    "(max-aspect-ratio: 4947802324991/4398046511104)": true,
    "(max-aspect-ratio: 9895604649983/8796093022208)": true,
    "(max-aspect-ratio: 19791209299967/17592186044416)": true,
    "(max-aspect-ratio: 39582418599935/35184372088832)": true,
    "(max-aspect-ratio: 79164837199871/70368744177664)": true,
    "(max-aspect-ratio: 158329674399743/140737488355328)": true,
    "(max-aspect-ratio: 316659348799487/281474976710656)": true,
    "(max-aspect-ratio: 633318697598975/562949953421312)": true,
    "(max-aspect-ratio: 1266637395197951/1125899906842624)": true,
    "(max-width: 919px)": false,
    "(max-width: 929px)": false,
    "(max-width: 934px)": true,
    "(max-width: 936px)": true,
    "(max-width: 937px)": true,
    "(min-resolution: 0.0001dpi)": true,
    "(max-resolution: 24dpi)": false,
    "(max-resolution: 48dpi)": false,
    "(max-resolution: 96dpi)": true,
    "(max-resolution: 72dpi)": false,
    "(max-resolution: 84dpi)": false,
    "(max-resolution: 90dpi)": false,
    "(max-resolution: 93dpi)": false,
    "(max-resolution: 95dpi)": false,
    "(overflow-inline: none)": false,
    "(overflow-inline: scroll)": false,
    "(max-aspect-ratio: 1/1)": false,
    "(max-aspect-ratio: 2/1)": true,
    "(max-aspect-ratio: 3/2)": true,
    "(max-aspect-ratio: 5/4)": true,
    "(max-aspect-ratio: 9/8)": true,
    "(max-aspect-ratio: 19/16)": true,
    "(max-aspect-ratio: 39/32)": true,
    "(max-aspect-ratio: 79/64)": true,
    "(max-aspect-ratio: 159/128)": true,
    "(max-aspect-ratio: 319/256)": true,
    "(max-aspect-ratio: 639/512)": true,
    "(max-aspect-ratio: 1279/1024)": true,
    "(max-aspect-ratio: 2559/2048)": true,
    "(max-aspect-ratio: 5119/4096)": true,
    "(max-aspect-ratio: 10239/8192)": true,
    "(max-aspect-ratio: 20479/16384)": true,
    "(max-aspect-ratio: 40959/32768)": true,
    "(max-aspect-ratio: 81919/65536)": true,
    "(max-aspect-ratio: 163839/131072)": true,
    "(max-aspect-ratio: 327679/262144)": true,
    "(max-aspect-ratio: 655359/524288)": true,
    "(max-aspect-ratio: 1310719/1048576)": true,
    "(max-aspect-ratio: 2621439/2097152)": true,
    "(max-aspect-ratio: 5242879/4194304)": true,
    "(max-aspect-ratio: 10485759/8388608)": true,
    "(max-aspect-ratio: 20971519/16777216)": true,
    "(max-aspect-ratio: 41943039/33554432)": true,
    "(max-aspect-ratio: 83886079/67108864)": true,
    "(max-aspect-ratio: 167772159/134217728)": true,
    "(max-aspect-ratio: 335544319/268435456)": true,
    "(max-aspect-ratio: 671088639/536870912)": true,
    "(max-aspect-ratio: 1342177279/1073741824)": true,
    "(max-aspect-ratio: 2684354559/2147483648)": true,
    "(max-aspect-ratio: 5368709119/4294967296)": true,
    "(max-aspect-ratio: 10737418239/8589934592)": true,
    "(max-aspect-ratio: 21474836479/17179869184)": true,
    "(max-aspect-ratio: 42949672959/34359738368)": true,
    "(max-aspect-ratio: 85899345919/68719476736)": true,
    "(max-aspect-ratio: 171798691839/137438953472)": true,
    "(max-aspect-ratio: 343597383679/274877906944)": true,
    "(max-aspect-ratio: 687194767359/549755813888)": true,
    "(max-aspect-ratio: 1374389534719/1099511627776)": true,
    "(max-aspect-ratio: 2748779069439/2199023255552)": true,
    "(max-aspect-ratio: 5497558138879/4398046511104)": true,
    "(max-aspect-ratio: 10995116277759/8796093022208)": true,
    "(max-aspect-ratio: 21990232555519/17592186044416)": true,
    "(max-aspect-ratio: 43980465111039/35184372088832)": true,
    "(max-aspect-ratio: 87960930222079/70368744177664)": true,
    "(max-aspect-ratio: 175921860444159/140737488355328)": true,
    "(max-aspect-ratio: 351843720888319/281474976710656)": true,
    "(max-aspect-ratio: 703687441776639/562949953421312)": true,
    "(max-aspect-ratio: 1407374883553279/1125899906842624)": true,
    "(grid: 0)": true,
    "(grid: 1)": false,
    "(any-hover: none)": false,
    "(any-hover: hover)": true,
    "(q: 1)": false,
    "(max-height: 600px)": false,
    "(max-height: 1200px)": true,
    "(max-height: 900px)": true,
    "(max-height: 750px)": false,
    "(max-height: 825px)": false,
    "(max-height: 863px)": false,
    "(max-height: 882px)": false,
    "(max-height: 891px)": true,
    "(max-height: 887px)": false,
    "(max-height: 889px)": false,
    "(max-height: 890px)": false,
    "(max-width: 600px)": false,
    "(max-width: 1200px)": true,
    "(max-width: 900px)": false,
    "(max-width: 1050px)": true,
    "(max-width: 975px)": true,
    "(max-width: 938px)": true,
    "(max-width: 957px)": true,
    "(max-width: 966px)": true,
    "(max-width: 971px)": true,
    "(max-width: 973px)": true,
    "(max-width: 974px)": true,
    "(max-color-index: 1000)": true,
    "(max-color-index: 500)": true,
    "(max-color-index: 250)": true,
    "(max-color-index: 125)": true,
    "(max-color-index: 62)": true,
    "(max-color-index: 31)": true,
    "(max-color-index: 15)": true,
    "(max-color-index: 7)": true,
    "(max-color-index: 3)": true,
    "(max-color-index: 1)": true,
    "(max-color-index: 0)": true,
    "(forced-colors: none)": true,
    "(forced-colors: active)": false,
    "(prefers-reduced-transparency: no-preference)": false,
    "(prefers-reduced-transparency: reduce)": false,
    "(light-level: normal)": false,
    "(light-level: dim)": false,
    "(light-level: washed)": false,
    "(max-color: 8)": true,
    "(max-color: 4)": false,
    "(max-color: 6)": false,
    "(max-color: 7)": false,
    "(hover: none)": false,
    "(hover: hover)": true,
    "(max-monochrome: 1)": true,
    "(max-monochrome: 0)": true,
    "(prefers-reduced-motion: no-preference)": true,
    "(prefers-reduced-motion: reduce)": false,
    "(pointer: none)": false,
    "(pointer: coarse)": false,
    "(pointer: fine)": true,
    "(color-gamut: srgb)": true,
    "(color-gamut: p3)": false,
    "(color-gamut: rec2020)": false,
    "(scripting: none)": false,
    "(scripting: initial-only)": false,
    "(scripting: enabled)": false,
    "(scan: interlace)": false,
    "(scan: progressive)": false,
    "(display-mode: fullscreen)": false,
    "(display-mode: standalone)": false,
    "(display-mode: minimal-ui)": false,
    "(display-mode: browser)": true,
    "(inverted-colors: none)": false,
    "(inverted-colors: inverted)": false,
    "(overflow-block: none)": false,
    "(overflow-block: scroll)": false,
    "(overflow-block: optional-paged)": false,
    "(overflow-block: paged)": false,
    "(orientation: landscape)": true,
    "(orientation: portrait)": false,
    "(prefers-contrast: no-preference)": true,
    "(prefers-contrast: high)": false,
    "(prefers-contrast: low)": false,
    "(any-pointer: none)": false,
    "(any-pointer: coarse)": false,
    "(any-pointer: fine)": true,
    "(update: none)": false,
    "(update: slow)": false,
    "(update: fast)": false,
    "(prefers-color-scheme: no-preference)": false,
    "(prefers-color-scheme: light)": false,
    "(prefers-color-scheme: dark)": true,
    "(max-aspect-ratio: 11/8)": true,
    "(max-aspect-ratio: 23/16)": true,
    "(max-aspect-ratio: 47/32)": true,
    "(max-aspect-ratio: 95/64)": true,
    "(max-aspect-ratio: 191/128)": true,
    "(max-aspect-ratio: 383/256)": true,
    "(max-aspect-ratio: 767/512)": true,
    "(max-aspect-ratio: 1535/1024)": true,
    "(max-aspect-ratio: 3071/2048)": true,
    "(max-aspect-ratio: 6143/4096)": true,
    "(max-aspect-ratio: 12287/8192)": true,
    "(max-aspect-ratio: 24575/16384)": true,
    "(max-aspect-ratio: 49151/32768)": true,
    "(max-aspect-ratio: 98303/65536)": true,
    "(max-aspect-ratio: 196607/131072)": true,
    "(max-aspect-ratio: 393215/262144)": true,
    "(max-aspect-ratio: 786431/524288)": true,
    "(max-aspect-ratio: 1572863/1048576)": true,
    "(max-aspect-ratio: 3145727/2097152)": true,
    "(max-aspect-ratio: 6291455/4194304)": true,
    "(max-aspect-ratio: 12582911/8388608)": true,
    "(max-aspect-ratio: 25165823/16777216)": true,
    "(max-aspect-ratio: 50331647/33554432)": true,
    "(max-aspect-ratio: 100663295/67108864)": true,
    "(max-aspect-ratio: 201326591/134217728)": true,
    "(max-aspect-ratio: 402653183/268435456)": true,
    "(max-aspect-ratio: 805306367/536870912)": true,
    "(max-aspect-ratio: 1610612735/1073741824)": true,
    "(max-aspect-ratio: 3221225471/2147483648)": true,
    "(max-aspect-ratio: 6442450943/4294967296)": true,
    "(max-aspect-ratio: 12884901887/8589934592)": true,
    "(max-aspect-ratio: 25769803775/17179869184)": true,
    "(max-aspect-ratio: 51539607551/34359738368)": true,
    "(max-aspect-ratio: 103079215103/68719476736)": true,
    "(max-aspect-ratio: 206158430207/137438953472)": true,
    "(max-aspect-ratio: 412316860415/274877906944)": true,
    "(max-aspect-ratio: 824633720831/549755813888)": true,
    "(max-aspect-ratio: 1649267441663/1099511627776)": true,
    "(max-aspect-ratio: 3298534883327/2199023255552)": true,
    "(max-aspect-ratio: 6597069766655/4398046511104)": true,
    "(max-aspect-ratio: 13194139533311/8796093022208)": true,
    "(max-aspect-ratio: 26388279066623/17592186044416)": true,
    "(max-aspect-ratio: 52776558133247/35184372088832)": true,
    "(max-aspect-ratio: 105553116266495/70368744177664)": true,
    "(max-aspect-ratio: 211106232532991/140737488355328)": true,
    "(max-aspect-ratio: 422212465065983/281474976710656)": true,
    "(max-aspect-ratio: 844424930131967/562949953421312)": true,
    "(max-aspect-ratio: 1688849860263935/1125899906842624)": true,
    "(max-height: 896px)": true,
    "(max-height: 898px)": true,
    "(max-height: 899px)": true,
    "(max-width: 1013px)": true,
    "(max-width: 1032px)": true,
    "(max-width: 1041px)": true,
    "(max-width: 1046px)": true,
    "(max-width: 1048px)": true,
    "(max-width: 1049px)": true,
    "(max-aspect-ratio: 7/4)": true,
    "(max-aspect-ratio: 15/8)": true,
    "(max-aspect-ratio: 31/16)": true,
    "(max-aspect-ratio: 63/32)": true,
    "(max-aspect-ratio: 127/64)": true,
    "(max-aspect-ratio: 255/128)": true,
    "(max-aspect-ratio: 511/256)": true,
    "(max-aspect-ratio: 1023/512)": true,
    "(max-aspect-ratio: 2047/1024)": true,
    "(max-aspect-ratio: 4095/2048)": true,
    "(max-aspect-ratio: 8191/4096)": true,
    "(max-aspect-ratio: 16383/8192)": true,
    "(max-aspect-ratio: 32767/16384)": true,
    "(max-aspect-ratio: 65535/32768)": true,
    "(max-aspect-ratio: 131071/65536)": true,
    "(max-aspect-ratio: 262143/131072)": true,
    "(max-aspect-ratio: 524287/262144)": true,
    "(max-aspect-ratio: 1048575/524288)": true,
    "(max-aspect-ratio: 2097151/1048576)": true,
    "(max-aspect-ratio: 4194303/2097152)": true,
    "(max-aspect-ratio: 8388607/4194304)": true,
    "(max-aspect-ratio: 16777215/8388608)": true,
    "(max-aspect-ratio: 33554431/16777216)": true,
    "(max-aspect-ratio: 67108863/33554432)": true,
    "(max-aspect-ratio: 134217727/67108864)": true,
    "(max-aspect-ratio: 268435455/134217728)": true,
    "(max-aspect-ratio: 536870911/268435456)": true,
    "(max-aspect-ratio: 1073741823/536870912)": true,
    "(max-aspect-ratio: 2147483647/1073741824)": true,
    "(max-aspect-ratio: 4294967295/2147483648)": true,
    "(max-aspect-ratio: 8589934591/4294967296)": true,
    "(max-aspect-ratio: 17179869183/8589934592)": true,
    "(max-aspect-ratio: 34359738367/17179869184)": true,
    "(max-aspect-ratio: 68719476735/34359738368)": true,
    "(max-aspect-ratio: 137438953471/68719476736)": true,
    "(max-aspect-ratio: 274877906943/137438953472)": true,
    "(max-aspect-ratio: 549755813887/274877906944)": true,
    "(max-aspect-ratio: 1099511627775/549755813888)": true,
    "(max-aspect-ratio: 2199023255551/1099511627776)": true,
    "(max-aspect-ratio: 4398046511103/2199023255552)": true,
    "(max-aspect-ratio: 8796093022207/4398046511104)": true,
    "(max-aspect-ratio: 17592186044415/8796093022208)": true,
    "(max-aspect-ratio: 35184372088831/17592186044416)": true,
    "(max-aspect-ratio: 70368744177663/35184372088832)": true,
    "(max-aspect-ratio: 140737488355327/70368744177664)": true,
    "(max-aspect-ratio: 281474976710655/140737488355328)": true,
    "(max-aspect-ratio: 562949953421311/281474976710656)": true,
    "(max-aspect-ratio: 1125899906842623/562949953421312)": true,
    "(max-aspect-ratio: 2251799813685247/1125899906842624)": true,
    "(max-height: 1050px)": true,
    "(max-height: 1125px)": true,
    "(max-height: 1163px)": true,
    "(max-height: 1182px)": true,
    "(max-height: 1191px)": true,
    "(max-height: 1196px)": true,
    "(max-height: 1198px)": true,
    "(max-height: 1199px)": true,
    "(max-width: 1125px)": true,
    "(max-width: 1163px)": true,
    "(max-width: 1182px)": true,
    "(max-width: 1191px)": true,
    "(max-width: 1196px)": true,
    "(max-width: 1198px)": true,
    "(max-width: 1199px)": true,
    "(max-resolution: 192dpi)": true,
    "(max-resolution: 384dpi)": true,
    "(max-resolution: 768dpi)": true,
    "(max-resolution: 1536dpi)": true,
    "(max-resolution: 3072dpi)": true,
    "(max-resolution: 6144dpi)": true,
    "(max-resolution: 12288dpi)": true,
    "(max-resolution: 24576dpi)": true,
    "(max-resolution: 49152dpi)": true,
    "(max-resolution: 98304dpi)": true,
    "(max-resolution: 196608dpi)": true,
    "(max-resolution: 393216dpi)": true,
    "(max-resolution: 786432dpi)": true,
    "(max-resolution: 1572864dpi)": true,
    "(max-resolution: 3145728dpi)": true,
    "(max-resolution: 6291456dpi)": true,
    "(max-resolution: 12582912dpi)": true,
    "(max-resolution: 25165824dpi)": true,
    "(max-resolution: 50331648dpi)": true,
    "(max-resolution: 100663296dpi)": true,
    "(max-resolution: 201326592dpi)": true,
    "(max-resolution: 402653184dpi)": true,
    "(max-resolution: 805306368dpi)": true,
    "(max-resolution: 1610612736dpi)": true,
    "(max-resolution: 3221225472dpi)": true,
    "(max-resolution: 6442450944dpi)": true,
    "(max-resolution: 12884901888dpi)": true,
    "(max-resolution: 25769803776dpi)": true,
    "(max-resolution: 51539607552dpi)": true,
    "(max-resolution: 103079215104dpi)": true,
    "(max-resolution: 206158430208dpi)": true,
    "(max-resolution: 412316860416dpi)": true,
    "(max-resolution: 824633720832dpi)": true,
    "(max-resolution: 1649267441664dpi)": true,
    "(max-resolution: 3298534883328dpi)": true,
    "(max-resolution: 6597069766656dpi)": true,
    "(max-resolution: 13194139533312dpi)": true,
    "(max-resolution: 26388279066624dpi)": true,
    "(max-resolution: 52776558133248dpi)": true,
    "(max-resolution: 105553116266496dpi)": true,
    "(max-resolution: 211106232532992dpi)": true,
    "(max-resolution: 422212465065984dpi)": true,
    "(max-resolution: 844424930131968dpi)": true,
    "(max-resolution: 1688849860263936dpi)": true,
    "(max-resolution: 3377699720527872dpi)": true,
    "(max-resolution: 6755399441055744dpi)": true,
    "(max-resolution: 13510798882111488dpi)": true,
    "(max-resolution: 27021597764222976dpi)": true,
    "(max-resolution: 20266198323167230dpi)": true,
    "(max-resolution: 23643898043695104dpi)": true,
    "(max-resolution: 25332747903959040dpi)": true,
    "(max-resolution: 26177172834091010dpi)": true,
    "(max-resolution: 26599385299156990dpi)": true,
    "(max-resolution: 26810491531689984dpi)": true,
    "(max-resolution: 26916044647956480dpi)": true,
    "(max-resolution: 26968821206089730dpi)": true,
    "(max-resolution: 26995209485156350dpi)": true,
    "(max-resolution: 27008403624689664dpi)": true,
    "(max-resolution: 27015000694456320dpi)": true,
    "(max-resolution: 27018299229339650dpi)": true,
    "(max-resolution: 27019948496781310dpi)": true,
    "(max-resolution: 27020773130502144dpi)": true,
    "(max-resolution: 27021185447362560dpi)": true,
    "(max-resolution: 27021391605792770dpi)": true,
    "(max-resolution: 27021494685007870dpi)": true,
    "(max-resolution: 27021546224615424dpi)": true,
    "(max-resolution: 27021571994419200dpi)": true,
    "(max-resolution: 27021584879321090dpi)": true,
    "(max-resolution: 27021591321772030dpi)": true,
    "(max-resolution: 27021594542997504dpi)": true,
    "(max-resolution: 27021596153610240dpi)": true,
    "(max-resolution: 27021596958916610dpi)": true,
    "(max-resolution: 27021597361569790dpi)": true,
    "(max-resolution: 27021597562896384dpi)": true,
    "(max-resolution: 27021597663559680dpi)": true,
    "(max-resolution: 27021597713891330dpi)": true,
    "(max-resolution: 27021597739057150dpi)": true,
    "(max-resolution: 27021597751640064dpi)": true,
    "(max-resolution: 27021597757931520dpi)": true,
    "(max-resolution: 27021597761077250dpi)": true,
    "(max-resolution: 27021597762650110dpi)": true,
    "(max-resolution: 27021597763436544dpi)": true,
    "(max-resolution: 27021597763829760dpi)": true,
    "(max-resolution: 27021597764026370dpi)": true,
    "(max-resolution: 27021597764124670dpi)": true,
    "(max-resolution: 27021597764173824dpi)": true,
    "(max-resolution: 27021597764198400dpi)": true,
    "(max-resolution: 27021597764210690dpi)": true,
    "(max-resolution: 27021597764216830dpi)": true,
    "(max-resolution: 27021597764219904dpi)": true,
    "(max-resolution: 27021597764221440dpi)": true,
    "(max-resolution: 27021597764222210dpi)": true,
    "(max-resolution: 27021597764222590dpi)": true,
    "(max-resolution: 27021597764222784dpi)": true,
    "(max-resolution: 27021597764222880dpi)": true,
    "(max-resolution: 27021597764222930dpi)": true,
    "(max-resolution: 27021597764222950dpi)": true,
    "(max-resolution: 27021597764222964dpi)": true,
    "(max-aspect-ratio: 3/1)": true,
    "(max-aspect-ratio: 4/1)": true,
    "(max-aspect-ratio: 5/1)": true,
    "(max-aspect-ratio: 6/1)": true,
    "(max-aspect-ratio: 7/1)": true,
    "(max-aspect-ratio: 8/1)": true,
    "(max-aspect-ratio: 9/1)": true,
    "(max-aspect-ratio: 10/1)": true,
    "(max-aspect-ratio: 11/1)": true,
    "(max-aspect-ratio: 12/1)": true,
    "(max-aspect-ratio: 13/1)": true,
    "(max-aspect-ratio: 14/1)": true,
    "(max-aspect-ratio: 15/1)": true,
    "(max-aspect-ratio: 16/1)": true,
    "(max-aspect-ratio: 17/1)": true,
    "(max-aspect-ratio: 18/1)": true,
    "(max-aspect-ratio: 19/1)": true,
    "(max-aspect-ratio: 20/1)": true,
    "(max-aspect-ratio: 21/1)": true,
    "(max-aspect-ratio: 22/1)": true,
    "(max-aspect-ratio: 23/1)": true,
    "(max-aspect-ratio: 24/1)": true,
    "(max-aspect-ratio: 25/1)": true,
    "(max-aspect-ratio: 26/1)": true,
    "(max-aspect-ratio: 27/1)": true,
    "(max-aspect-ratio: 28/1)": true,
    "(max-aspect-ratio: 29/1)": true,
    "(max-aspect-ratio: 30/1)": true,
    "(max-aspect-ratio: 31/1)": true,
    "(max-aspect-ratio: 32/1)": true,
    "(max-aspect-ratio: 33/1)": true,
    "(max-aspect-ratio: 34/1)": true,
    "(max-aspect-ratio: 35/1)": true,
    "(max-aspect-ratio: 36/1)": true,
    "(max-aspect-ratio: 37/1)": true,
    "(max-aspect-ratio: 38/1)": true,
    "(max-aspect-ratio: 39/1)": true,
    "(max-aspect-ratio: 40/1)": true,
    "(max-aspect-ratio: 41/1)": true,
    "(max-aspect-ratio: 42/1)": true,
    "(max-aspect-ratio: 43/1)": true,
    "(max-aspect-ratio: 44/1)": true,
    "(max-aspect-ratio: 45/1)": true,
    "(max-aspect-ratio: 46/1)": true,
    "(max-aspect-ratio: 47/1)": true,
    "(max-aspect-ratio: 48/1)": true,
    "(max-aspect-ratio: 49/1)": true,
    "(max-aspect-ratio: 50/1)": true,
    "(max-aspect-ratio: 51/1)": true,
    "(max-aspect-ratio: 101/2)": true,
    "(max-aspect-ratio: 203/4)": true,
    "(max-aspect-ratio: 407/8)": true,
    "(max-aspect-ratio: 815/16)": true,
    "(max-aspect-ratio: 1631/32)": true,
    "(max-aspect-ratio: 3263/64)": true,
    "(max-aspect-ratio: 6527/128)": true,
    "(max-aspect-ratio: 13055/256)": true,
    "(max-aspect-ratio: 26111/512)": true,
    "(max-aspect-ratio: 52223/1024)": true,
    "(max-aspect-ratio: 104447/2048)": true,
    "(max-aspect-ratio: 208895/4096)": true,
    "(max-aspect-ratio: 417791/8192)": true,
    "(max-aspect-ratio: 835583/16384)": true,
    "(max-aspect-ratio: 1671167/32768)": true,
    "(max-aspect-ratio: 3342335/65536)": true,
    "(max-aspect-ratio: 6684671/131072)": true,
    "(max-aspect-ratio: 13369343/262144)": true,
    "(max-aspect-ratio: 26738687/524288)": true,
    "(max-aspect-ratio: 53477375/1048576)": true,
    "(max-aspect-ratio: 106954751/2097152)": true,
    "(max-aspect-ratio: 213909503/4194304)": true,
    "(max-aspect-ratio: 427819007/8388608)": true,
    "(max-aspect-ratio: 855638015/16777216)": true,
    "(max-aspect-ratio: 1711276031/33554432)": true,
    "(max-aspect-ratio: 3422552063/67108864)": true,
    "(max-aspect-ratio: 6845104127/134217728)": true,
    "(max-aspect-ratio: 13690208255/268435456)": true,
    "(max-aspect-ratio: 27380416511/536870912)": true,
    "(max-aspect-ratio: 54760833023/1073741824)": true,
    "(max-aspect-ratio: 109521666047/2147483648)": true,
    "(max-aspect-ratio: 219043332095/4294967296)": true,
    "(max-aspect-ratio: 438086664191/8589934592)": true,
    "(max-aspect-ratio: 876173328383/17179869184)": true,
    "(max-aspect-ratio: 1752346656767/34359738368)": true,
    "(max-aspect-ratio: 3504693313535/68719476736)": true,
    "(max-aspect-ratio: 7009386627071/137438953472)": true,
    "(max-aspect-ratio: 14018773254143/274877906944)": true,
    "(max-aspect-ratio: 28037546508287/549755813888)": true,
    "(max-aspect-ratio: 56075093016575/1099511627776)": true,
    "(max-aspect-ratio: 112150186033151/2199023255552)": true,
    "(max-aspect-ratio: 224300372066303/4398046511104)": true,
    "(max-aspect-ratio: 448600744132607/8796093022208)": true,
    "(max-aspect-ratio: 897201488265215/17592186044416)": true,
    "(max-aspect-ratio: 1794402976530431/35184372088832)": true,
    "(max-aspect-ratio: 3588805953060863/70368744177664)": true,
    "(max-aspect-ratio: 7177611906121727/140737488355328)": true,
    "(max-height: 2400px)": true,
    "(max-height: 4800px)": true,
    "(max-height: 9600px)": true,
    "(max-height: 19200px)": true,
    "(max-height: 38400px)": true,
    "(max-height: 76800px)": true,
    "(max-height: 153600px)": true,
    "(max-height: 307200px)": true,
    "(max-height: 614400px)": true,
    "(max-height: 1228800px)": true,
    "(max-height: 2457600px)": true,
    "(max-height: 4915200px)": true,
    "(max-height: 9830400px)": true,
    "(max-height: 19660800px)": true,
    "(max-height: 39321600px)": true,
    "(max-height: 78643200px)": true,
    "(max-height: 157286400px)": true,
    "(max-height: 314572800px)": true,
    "(max-height: 629145600px)": true,
    "(max-height: 1258291200px)": true,
    "(max-height: 2516582400px)": true,
    "(max-height: 5033164800px)": true,
    "(max-height: 10066329600px)": true,
    "(max-height: 20132659200px)": true,
    "(max-height: 40265318400px)": true,
    "(max-height: 80530636800px)": true,
    "(max-height: 161061273600px)": true,
    "(max-height: 322122547200px)": true,
    "(max-height: 644245094400px)": true,
    "(max-height: 1288490188800px)": true,
    "(max-height: 2576980377600px)": true,
    "(max-height: 5153960755200px)": true,
    "(max-height: 10307921510400px)": true,
    "(max-height: 20615843020800px)": true,
    "(max-height: 41231686041600px)": true,
    "(max-height: 82463372083200px)": true,
    "(max-height: 164926744166400px)": true,
    "(max-height: 329853488332800px)": true,
    "(max-height: 659706976665600px)": true,
    "(max-height: 1319413953331200px)": true,
    "(max-height: 2638827906662400px)": true,
    "(max-height: 5277655813324800px)": true,
    "(max-height: 10555311626649600px)": true,
    "(max-height: 21110623253299200px)": true,
    "(max-height: 42221246506598400px)": true,
    "(max-height: 84442493013196800px)": true,
    "(max-height: 168884986026393600px)": true,
    "(max-height: 337769972052787200px)": true,
    "(max-height: 675539944105574400px)": true,
    "(max-height: 506654958079180800px)": true,
    "(max-height: 591097451092377600px)": true,
    "(max-height: 633318697598976000px)": true,
    "(max-height: 654429320852275200px)": true,
    "(max-height: 664984632478924800px)": true,
    "(max-height: 670262288292249600px)": true,
    "(max-height: 672901116198912000px)": true,
    "(max-height: 674220530152243200px)": true,
    "(max-height: 674880237128908800px)": true,
    "(max-height: 675210090617241600px)": true,
    "(max-height: 675375017361408000px)": true,
    "(max-height: 675457480733491200px)": true,
    "(max-height: 675498712419532800px)": true,
    "(max-height: 675519328262553600px)": true,
    "(max-height: 675529636184064000px)": true,
    "(max-height: 675534790144819200px)": true,
    "(max-height: 675537367125196800px)": true,
    "(max-height: 675538655615385600px)": true,
    "(max-height: 675539299860480000px)": true,
    "(max-height: 675539621983027200px)": true,
    "(max-height: 675539783044300800px)": true,
    "(max-height: 675539863574937600px)": true,
    "(max-height: 675539903840256000px)": true,
    "(max-height: 675539923972915200px)": true,
    "(max-height: 675539934039244800px)": true,
    "(max-height: 675539939072409600px)": true,
    "(max-height: 675539941588992000px)": true,
    "(max-height: 675539942847283200px)": true,
    "(max-height: 675539943476428800px)": true,
    "(max-height: 675539943791001600px)": true,
    "(max-height: 675539943948288000px)": true,
    "(max-height: 675539944026931200px)": true,
    "(max-height: 675539944066252800px)": true,
    "(max-height: 675539944085913600px)": true,
    "(max-height: 675539944095744000px)": true,
    "(max-height: 675539944100659200px)": true,
    "(max-height: 675539944103116800px)": true,
    "(max-height: 675539944104345600px)": true,
    "(max-height: 675539944104960000px)": true,
    "(max-height: 675539944105267200px)": true,
    "(max-height: 675539944105420800px)": true,
    "(max-height: 675539944105497600px)": true,
    "(max-height: 675539944105536000px)": true,
    "(max-height: 675539944105555200px)": true,
    "(max-height: 675539944105564800px)": true,
    "(max-height: 675539944105569500px)": true,
    "(max-height: 675539944105572000px)": true,
    "(max-height: 675539944105573100px)": true,
    "(max-height: 675539944105573800px)": true,
    "(max-height: 675539944105574100px)": true,
    "(max-width: 2400px)": true,
    "(max-width: 4800px)": true,
    "(max-width: 9600px)": true,
    "(max-width: 19200px)": true,
    "(max-width: 38400px)": true,
    "(max-width: 76800px)": true,
    "(max-width: 153600px)": true,
    "(max-width: 307200px)": true,
    "(max-width: 614400px)": true,
    "(max-width: 1228800px)": true,
    "(max-width: 2457600px)": true,
    "(max-width: 4915200px)": true,
    "(max-width: 9830400px)": true,
    "(max-width: 19660800px)": true,
    "(max-width: 39321600px)": true,
    "(max-width: 78643200px)": true,
    "(max-width: 157286400px)": true,
    "(max-width: 314572800px)": true,
    "(max-width: 629145600px)": true,
    "(max-width: 1258291200px)": true,
    "(max-width: 2516582400px)": true,
    "(max-width: 5033164800px)": true,
    "(max-width: 10066329600px)": true,
    "(max-width: 20132659200px)": true,
    "(max-width: 40265318400px)": true,
    "(max-width: 80530636800px)": true,
    "(max-width: 161061273600px)": true,
    "(max-width: 322122547200px)": true,
    "(max-width: 644245094400px)": true,
    "(max-width: 1288490188800px)": true,
    "(max-width: 2576980377600px)": true,
    "(max-width: 5153960755200px)": true,
    "(max-width: 10307921510400px)": true,
    "(max-width: 20615843020800px)": true,
    "(max-width: 41231686041600px)": true,
    "(max-width: 82463372083200px)": true,
    "(max-width: 164926744166400px)": true,
    "(max-width: 329853488332800px)": true,
    "(max-width: 659706976665600px)": true,
    "(max-width: 1319413953331200px)": true,
    "(max-width: 2638827906662400px)": true,
    "(max-width: 5277655813324800px)": true,
    "(max-width: 10555311626649600px)": true,
    "(max-width: 21110623253299200px)": true,
    "(max-width: 42221246506598400px)": true,
    "(max-width: 84442493013196800px)": true,
    "(max-width: 168884986026393600px)": true,
    "(max-width: 337769972052787200px)": true,
    "(max-width: 675539944105574400px)": true,
    "(max-width: 506654958079180800px)": true,
    "(max-width: 591097451092377600px)": true,
    "(max-width: 633318697598976000px)": true,
    "(max-width: 654429320852275200px)": true,
    "(max-width: 664984632478924800px)": true,
    "(max-width: 670262288292249600px)": true,
    "(max-width: 672901116198912000px)": true,
    "(max-width: 674220530152243200px)": true,
    "(max-width: 674880237128908800px)": true,
    "(max-width: 675210090617241600px)": true,
    "(max-width: 675375017361408000px)": true,
    "(max-width: 675457480733491200px)": true,
    "(max-width: 675498712419532800px)": true,
    "(max-width: 675519328262553600px)": true,
    "(max-width: 675529636184064000px)": true,
    "(max-width: 675534790144819200px)": true,
    "(max-width: 675537367125196800px)": true,
    "(max-width: 675538655615385600px)": true,
    "(max-width: 675539299860480000px)": true,
    "(max-width: 675539621983027200px)": true,
    "(max-width: 675539783044300800px)": true,
    "(max-width: 675539863574937600px)": true,
    "(max-width: 675539903840256000px)": true,
    "(max-width: 675539923972915200px)": true,
    "(max-width: 675539934039244800px)": true,
    "(max-width: 675539939072409600px)": true,
    "(max-width: 675539941588992000px)": true,
    "(max-width: 675539942847283200px)": true,
    "(max-width: 675539943476428800px)": true,
    "(max-width: 675539943791001600px)": true,
    "(max-width: 675539943948288000px)": true,
    "(max-width: 675539944026931200px)": true,
    "(max-width: 675539944066252800px)": true,
    "(max-width: 675539944085913600px)": true,
    "(max-width: 675539944095744000px)": true,
    "(max-width: 675539944100659200px)": true,
    "(max-width: 675539944103116800px)": true,
    "(max-width: 675539944104345600px)": true,
    "(max-width: 675539944104960000px)": true,
    "(max-width: 675539944105267200px)": true,
    "(max-width: 675539944105420800px)": true,
    "(max-width: 675539944105497600px)": true,
    "(max-width: 675539944105536000px)": true,
    "(max-width: 675539944105555200px)": true,
    "(max-width: 675539944105564800px)": true,
    "(max-width: 675539944105569500px)": true,
    "(max-width: 675539944105572000px)": true,
    "(max-width: 675539944105573100px)": true,
    "(max-width: 675539944105573800px)": true,
    "(max-width: 675539944105574100px)": true
}

Object.defineProperties(MediaQueryList.prototype, {
    addListener: {
        addListener() {
            v_console_log("  [*] MediaQueryList -> addListener[get]", {});
            return {}
        }
    },
    removeListener: {
        removeListener() {
            v_console_log("  [*] MediaQueryList -> removeListener[get]", {});
            return {}
        }
    },
    // matches: {"value":0,"writable":true,"enumerable":true,"configurable":false},
    matches: {
        get() {
            medias.push(this.type[0]);
            let t = mediaRes[this.type[0]];
            if (t === undefined) {
                t = false;
            }
            v_console_log("  [*] MediaQueryList -> matches[get]", this.type[0], t);

            return t;
        }
    },

    media: {"value": 1, "writable": true, "enumerable": true, "configurable": false},
    onchange: {"value": 2, "writable": true, "enumerable": true, "configurable": false},
})
DOMParser = v_saf(function DOMParser() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
FileReader = v_saf(function FileReader() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Audio = v_saf(function Audio() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Option = v_saf(function Option() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
IntersectionObserver = v_saf(function IntersectionObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaStream = v_saf(function MediaStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Path2D = v_saf(function Path2D() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Text = v_saf(function Text() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLSerializer = v_saf(function XMLSerializer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
PublicKeyCredential = v_saf(function PublicKeyCredential() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAssertionResponse = v_saf(function AuthenticatorAssertionResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAttestationResponse = v_saf(function AuthenticatorAttestationResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorResponse = v_saf(function AuthenticatorResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLDocument = v_saf(function XMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPoint = v_saf(function DOMPoint() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPointReadOnly = v_saf(function DOMPointReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
mozRTCPeerConnection = v_saf(function mozRTCPeerConnection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
BluetoothUUID = v_saf(function BluetoothUUID() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});

document.__proto__ = HTMLDocument.prototype
window.document = document
window.BluetoothUUID = BluetoothUUID
window.Animation = Animation;
window.Worker = Worker;
window.URL = URL;
window.WebGLRenderingContext = WebGLRenderingContext;
window.HTMLCanvasElement = HTMLCanvasElement;
window.CanvasRenderingContext2D = CanvasRenderingContext2D;
window.UIEvent = UIEvent;
window.clearInterval = clearInterval;
window.setInterval = function (func, delay) {
    // console.log('setInterval',delay,  func)
    try {
        func()
    } catch (e) {
    }
};
window.XMLDocument = XMLDocument;
window.crypto = crypto
window.DOMPoint = DOMPoint;
window.DOMPointReadOnly = DOMPointReadOnly;
window.External = External;
window.Blob = Blob;
window.Comment = Comment;
window.Document = Document;
window.DOMException = DOMException;
window.DOMMatrixReadOnly = DOMMatrixReadOnly;
window.RTCPeerConnection = RTCPeerConnection;
window.webkitRTCPeerConnection = webkitRTCPeerConnection;
window.mozRTCPeerConnection = mozRTCPeerConnection;
window.DOMParser = DOMParser;
window.FileReader = FileReader;
window.FormData = FormData;
window.Audio = Audio;
window.Image = Image;
window.Option = Option;
window.IntersectionObserver = IntersectionObserver;
window.MediaStream = MediaStream;
window.MessageChannel = MessageChannel;
window.MutationObserver = MutationObserver;
window.Path2D = Path2D;
window.PerformanceObserver = PerformanceObserver;
window.ReadableStream = ReadableStream;
window.Text = Text;
window.TextDecoderStream = TextDecoderStream;
window.TextEncoderStream = TextEncoderStream;
window.TransformStream = TransformStream;
window.URLSearchParams = URLSearchParams;
window.XMLHttpRequest = XMLHttpRequest;
window.XMLSerializer = XMLSerializer;
window.PublicKeyCredential = PublicKeyCredential;
window.AuthenticatorAssertionResponse = AuthenticatorAssertionResponse;
window.AuthenticatorAttestationResponse = AuthenticatorAttestationResponse;
window.AuthenticatorResponse = AuthenticatorResponse;

window.pageYOffset = 0
external = {}
external.__proto__ = External.prototype
window.external = external
window.console = console;
// localStorage = dtavm.proxy(storage, 'localStorage');
localStorage = storage;
// sessionStorage = dtavm.proxy(storage, 'sessionStorage');
sessionStorage = storage;
window.localStorage = localStorage;
window.Boolean = Boolean;
window.sessionStorage = sessionStorage;
window.fetch = fetch;
window.navigator = navigator;
History = v_saf(function History() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
BarProp = v_saf(function BarProp() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(BarProp.prototype, {
    visible: {
        get() {
            return true;
        }
    }
})
Object.defineProperties(History.prototype, {
    replaceState: {
        value: v_saf(function replaceState() {
            v_console_log("  [*] History -> replaceState[func]", [].slice.call(arguments));
        })
    },
    length: {
        get() {
            v_console_log("  [*] History -> length[get]", 3);
            return 3
        }
    },
    [Symbol.toStringTag]: {value: "History", writable: false, enumerable: false, configurable: true},
})

// window.window = window;
// Object.defineProperty(window, [Symbol.toPrimitive], {
//     value:function (){
//         return NaN
// }
// })

history = v_new(History)
// window = dtavm.proxy(window,"window"); //代理器代理之后，会创建一个新对象
window.self = window;
window.toolbar = v_new(BarProp)
window.locationbar = v_new(BarProp)
window.history = history
_setTimeout = setTimeout
timesIds = 0;
window.setTimeout = function setTimeout(func, delay) {
    console.log(func, delay)
    // if (delay==0)func()
    try {
        // console.log(func)
        func()
    } catch (e) {
    }
    // _setTimeout.call(this, func, 1)
    timesIds++;
    return timesIds;
};
window.location = location
v_hook_href(HTMLAnchorElement.prototype, 'HTMLAnchorElement', 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false')

window.Reflect = Reflect
window.Error = Error;
window.JSON = JSON;
// window.crypto = crypto
window.Uint32Array = Uint32Array
window.window = window;
// window = dtavm.proxy(window, 'window')
window.__proto__ = Window
window.undefined = undefined;
window.isFinite = isFinite;
window.unescape = unescape;
window.TypeError = TypeError;
window.Infinity = Infinity;
window.structuredClone = v_saf(function structuredClone() {
    v_console_log("structuredClone")
})
window.getComputedStyle = v_saf(function getComputedStyle(element) {
    v_console_log(' getComputedStyle ', element)
});
window.matchMedia = function matchMedia(type) {
    let t = v_new(MediaQueryList)
    t.type = arguments
    return t;
}
window.clearTimeout = v_saf(function clearTimeout() {
    console.log('clearTimeout ', arguments)
})
window.window = window;

// window = dtavm.proxy(window, 'window')

this == global; //global就是全局上下文代理对象；

this != window; // this 是global 但是 window是代理器，所以这里是 !=;

_console2 = function () {
};
// _console2 = console.log;






(function S(window) {
    var globalObject$1 = {},
        globalObject$2 = {};
    var encodedStringArray = ["3NIYBuL2DfpteR1f", "QE_ewWAgxRyxk97j", "t-obR_brB_ZeeRkQ5hmX", "function", "0OFXGqG8UIE", "otQpeM3mZ9ZrOG9UileROBddzDo", "LN2", "_NtLHLusd7MRZHNR1y7GTANd2BFvXt3elA", "ND7dmiAU4gGa4pmmIclwpaan", "djWt", "TgU", "mSO_8QNLh1XrnZOwK9Q9", "9NIGHg", "4op5IJiQdLwT", "qtEAeuvNJ_c", "DV7Sliwbjgr60oC2F5RzufzhMJSCvWR1dDAynwy7VBptze_e6OEcVYKfEE-ruEjOuNu0CVjrFg-R", "26skSd0", "xsopdZblMuh_Mg", "mgWX1WNLvFM", "K5sMR__zZvMzMG5w_w", "a40VT9P0Kq95NWMq936cNmM", "enumerable", "3zE", "gKF3N5KLf4EEBGZ1izL_V1Ih-ypHXZarpYKf", "removeChild", "oa1lLdyaYKY", "type", "cFW95g1luU7M8vW-Takuhs3p", "hcZ5KoakSqlXT2pZ9ECMXQdb", "NcoRH_Cwe8QZFgQd20GQTCNWuwA", "zoZHEg", "kAnEhVEWgRvoiJA", "SR34sWEouBy_lbyv", "9yuz5ktzpmWqiw", "min", "-OtkJYqH", "qy3bmiIA1BG7mYW6CIRb7vmkONefrTYMZzIRjF2vSkpphPvmvfpFGprPFRyE-F_KvdOuVAyWWxHKtnAnxuyX-74z-BvMvbZoGENOt-1Rywa7MkyWgY97S6Jx73ejdnEqcL7AUyVgvUbPAM55vTW7CBug5aTbooyPDSZ6zM5zVJrSpYitWDPGHi_lgtv2tDPn6UuCWdhpocp8c1BI6Wo7uxdsEoocB6PEERUb", "document", "fo1YEL6cUpMjQ0cp-DzzU0Y65A", "DHaW5GJushun0g", "t4NzI5-6UbUiQTMJj3A", "H6w5a-HhfcMNaHRBsRM", "2147483647", "iFzcjAA9", "1yLtgwpKhiONoeTfPJps7N8", "eY1pMIC7afkmIA", "sh6l_0d-7E0", "kuZsM5i4Y4xWfWFE", "target", "TV2X9GBE_W7yjJWBUg", "0ugDTbM", "wNsbT6racsZvfF5RzQ", "TypeError", "On2SyzJriUiqsterO-p3kA", "kUTjuxk4hR77pZM", "Ax3dnT9O0h6hlJ34DcsZp6y-etfO8nIXZXR8yASoXU070f7HraMJTJH5Vxa3-F6Lws_KGEqqW0HJ9g", "f8gpPcm8C_NIJUltn1c", "sort", "VEWR_W9Z", "gtQ8ftnWJu9VTjIp3Dy3BRk", "createElement", "k4hDAOOaSbY1b0pz", "rZoiSe_y", "floor", "7wejo1RlrGOJpP7VbtsW", "bRHdjXZ2-w", "GlGj9UQonXOc", "1QXVngdbkkE", "host|srflx|prflx|relay", "ddxqEp-xFKI", "tTfBg3Y0", "XB_irREI5w", "nJdoIOG_FZwzFzE-", "HGHXhVYz3QvsldCB", "DlH-hzEv5iY", "o9UgfsQ", "hNIbbvf0dPEp", "Y3CfwydNmg", "HrMLWvrOQ_AkBEVQ3Uih", "WwXZmCAC1hOI28ywbp4-3Ov1ZNjM7nN0FzxmyVyvDFx-qeKHvfp5XpaeOlD88hya4o7pAV23SlmGpyQsrueUxft331LU7OEWAzwpu5hEvkbTTgTapYRtLdt3pDOnPx4oZZHYNXhg4nXZXMt90y3nF16jr_7R87CPfkpE0sR2eYLcq8mfAhePWnzj14LQ5yLrwAKPTuhv6f1ZfE9UuAB9wAQtVPwpdr_bdR0nkS-cbVCM8TY0scCRv5nN5tznrarYi-AhCsNhzy6REl4riNwGaa1kWTvpBaX3R-UFC8FAe39Ve6-Md4JqAdK49JLaNaK0R9HJ7ZWBjaegcLEL2C3Wc_ABSWFmjK4n29uTJd6d7u1zjwJQIlTpSuFUjJFJR4q4JEITxzMO_PYslNbdUiDzFNFiqAyi", "l-lZD74", "RegExp", "prototype", "HYNrE4ueJq4JMGNOvBrxdkwW4CEzIdrr", "-zvGmzctxzGPvw", "eIgiY8zsK-oHJ3dW4WKfUxdE2GR0TMGVmMHff_ses_rIJh83AUT2oid7taxbU64_VDFfoP0A_P40HZuMG1s1YUnWaOBkS1uqvrPUDCS-Eb0_oPkjKnjWy1SLBbxbjqKU3TNq1PedW8N-7XTbZaIap-IdRhk2Ez9zz6_LLmPXyydqFH8-oqA5_c5ZaCJlW4NPcqM4_FjIU0Hk87LjBPrSO-jDqQWmigQ9-uGGHtMt0ew0fsuNB2cgAD97aSFXERRXd1HEhT_Gbpw0pOGdKXyx3wrW44RJsBlW41ekvHPw3MXpxiBxwD6QrilUGm8jul4PoV41TBp9PBscyD72YZtxwk-n_-6bPBKZMjx0xVFhXwj8c6XxkPFf9Vf1LCb_4DgCm-Kme5KqTlebJmZ66JxOmyzVFPZYHkocvJ72SrCRDa-e", "lrZZUa_MapUJXxMV4zawQndm", "8WSixkxl7W4", "number", "H599NI2VXLkBUwwn", "encodeURIComponent", "1s8TQLvxEf4", "4NkZQvuGJ992HXM", "cos", "Dl7BlywF3wHgz5K1N4Vwu-WWN4-bpCA", "EFPfjSc6tiPWvQ", "oop8PYWnc7Ytfj4TpyPIRAFV3y9hVYTP15alJKBK5bqEF2wuB1fuvTVR7u4SDepsMjRD6LJH6K4zbQ", "xNomYNfpB8R3", "yR_7pB8z8Q", "q5l8KoI", "0mqa0SB4nA", "15", "4RLoqkgmvj6H", "DYE-Y7bgDc8sAXVWvx_qLVpHs0I", "tvMue-7KLt5KaQ", "bPBTF_y1VYpiQxwy4UWqaD9p-RFAOfv_7PXHANsmmYTjWHF1cjGD1hcGxMRweoEDKB92lNh-wJMXbuemFWJJazS2M8ETNXecmoGeKnzJTIsI", "10", "7rwodNvyMZEPK25W7gipSQZI1A", "iframe", "wP4_N8amIbd_Njs", "wNxtOOGnQ4ZVWB085WajTzYx6x9TWfo", "0pY2d874Ke8QLiYSiA", "mj70qB4", "K5czadXHK9Ax", "LRLMsl0ox1fznP_TY4U6xtU", "1fd1", "Ua5nNJTwRNllZCY", "oNABH8fPDtl5CEAZkD-lOWcypixvcA", "MED9oxc56jLGuLWQ", "Q-I", "SOxFBr6ddoBxexZk1RfscEAtoBIiNIjh6_g", "aRX5nXwds1mX2tqwVo4", "-wLMvTwJ9jesmrA", "2cRPBq28", "GDmy9xFQgmGTtfvTLaBAiNeI", "YvZqN5mw", "eRLJgCdX3DKvjYLtAt4KtaM", "4FH3uQs7nR_-u5CPRcEoz7Dr", "defineProperty", "TXjYiDEdkBS-56g", "-Z0hbYf0NOZYezUf8nuaEktNzDt6X9iY2s6zMuEhgg", "pM4SU-vJHdh1XR0rig7bZWU5tB4AIbzRrrqoCscv18rvAykFeCyHy14_g983K9lOAA0Dn45skIoLNci4dChyQHO2dIpQIDffoLbicnXZW5FH6spbAyShzHusL5gi7Y6_mF0SsuD6Y5xaoyjeW9EghtA", "u7FMG6Q", "1YEVVPrsAPobIQwTxF3raGsDpVE2brKThdzuVKcU8uo", "^[xX][nN]--", "k7J1b6A", "FW2cwmVKnw", "6cdtNo-PNtE0dGpI0ig", "all", "xM9qZZa7daFGb3k3qSrCHksdnTIDE9Kjpdjfff4Z4rGxGQh8QjWM6CZPh64QJvhyC2sE4f1Ns7hoZt6YVVlicAzHYOYTTQH-1baNOjaoXPYq4agLeVHWo0HAGIM20IPTxz5-17vpBO4vkGSmLftrxdYKDFlxETcyjeiCLjXr2nhvB2UlxZh_4b1YJVAgD8gGAKIw-B6CEwSsnbO4Q675AP_R11ntggJr-qL7D5s29P9_D_uKTD1xazlkfiFQIRMRV2DD2FSga8Ms8afPJSXtll2MmoRLrREA9AagwHK9xq7sn3do2CeF4SdOWRwj8FsLuBgvF0c", "FB6V2XZqxn6C_N7aTttm5OGZcZq-8ThLQgE1-37MXiEZ", "Mk_19wUirDrArbThPLNQjd6YVuaYlRA0fRgeqQ", "n_JLCg", "Sii04VQ", "qdNSOcGoSIBoG0U", "afU4e5Xqcc9rJC84", "wBfY0zM", "JHLk9QVxkSrT", "B_g7K9TwNbF8PiFmiEg", "rc07YfvSbs1s", "rkzPnDM6zAWx_OfhQMoA", "27gURdfSAclyE0k", "cbQ1eMrtYfgVeyYJ5nSxTgxZnDl3Xsf92I3gK65XmA", "xvVtNPzlM5EtNjRJ", "n27skBgD5Dq139zDZuI", "Xz7C0hQYxHK-", "JwP0oBwi3DS1_auPH_Ffl4uZAryhgxscGRg8vDSEcDZI94OM29xfe6Gvbng", "Image", "jwrcjzw", "JX3i", "9BHBmTlZ0C-n", "NVXquAIg9hHL4r-LIb1Tog", "qTqk7npo6A", "JkaA22ZWhmX_9A", "8", "z5sneoTlEYxW", "Gx7OlhAGwQKTyNSyTYYhzPLxf_jf-3FtEzk", "F_8MUsnIKA", "qNQ_ZdfhIuw", "data", "ts84Zc_yLJpjezIU8SD9dA", "7DCInW5d3maxxsSbS8Mp0a_-BJ3g_w", "v1nWgjsRum7-vA", "iu5yKIK3Lw", "cWKX7ht0miy70eWdM8o", "7JRICbGTR4IZSlp11lS1I3wv", "WhU", "s-oMCYA", "writable", "I377r2ohzhHf2J-rafcSyaaiZ5LD3w", "8ogGc8rtauo", "method", "1u9hMpDnYLdPKjkL", "qL8tcPvoeOw", "rfxiIJy0cKhsShQdrhTwD0YTiQ", "FUHJrlo", "imXXhGs3xjD924-lZfQu_632aonC", "sZhDTg", "daFoYo-xdf0-YXsT1gWJe1pI", "gvgfWeLaLJxiF1d_wU6Fdm97", "xTLUlWgc6T-u5a3GVg", "NBjKlXw6iSGF2NXA", "qCS_8ztHm2eLog", "od8-dsLjS-dFPkBypHG8Dw", "el6p4VBjplX1r_vKdQ", "FuI5RNTVA_5BWXpI9Rs", "oNtREa2QQ41BVVE", "ALVfIq6mRYkuHAkqln3HU2gnlA", "8xXmoxcp-jme6LU", "gi_y6xdiqQHtzt3ECZVTkvuP", "ylPFlGYy-Q34mw", "o6MuWun8Jf4dVi0j", "RoBqPNeDZ5kUMCxl", "width", "nodeName", "PLNrG5m7YpQXAjg-oAvnQFEKlWA7LZO35f0", "7etgLICsLLhULjci-w", "j5Emd4XFKeQ5Nm8b31bsHT8trCYSK6ygxu-RBIZ22Q", "f_MJfYPrGJQ5RHMqpk7-HwsjnlZTY6foiQ", "HCXEkTNCyw", "7H21vF4Y5Ff5r7i6RQ", "1eN5P9uAFA", "By-cwEhB-0b1k6nJGYs__7w", "gjel_0BpqUyMsO8", "nodeType", "F_olNNWZKLVvOmY", "getPrototypeOf", "S1eN8n1ZiVHl593VQg", "u78LccvF", "", "RSeJ", "SF-66TFmvW4", "3IdnPYQ", "0JxnJvy2PIslHg", "3-0IWarnFf17Q1c", "BzLTx1t6hA", "onreadystatechange", "jWHXjDYDmQ", "\uD83D\uDE0E", "Document", "eiD0_hc91zeaneY", "p8RNAPeyE4NYQgkgvQbL", "Ung", "dWqHxmo", "-LNwUYO3DOYiEkZ_3g", "h4caX_j4FtomBRMxphnpMmoTqVwc", "frameElement", "fromCharCode", "yeofWrvLGPh4eVUP9wSDJX1JrQsrK_WZ7viyYe5CqKKBPUZWYSzd7SZgnsNg", "FkbBky4", "qMAARNzCT8Q", "8z7t6hY19DWZk-7-IO1bz4eJWfPMhw9bHRAEojHPfScGo5musoxvLPOGfz7a1y6k8Pv0JnqAemeyzjQBncOErY5VjFg", "r5A", "1mbQlzcKyhD-4Zuy", "wv5iPNmHdaxuA28mvXb5DyoT", "OfJoPPel", "SpR0K7e8VaM7bXw", "T0_t9x0v0kX33pryMg", "\uFFFD{}", "jLBGB7-dSYwXRA0nmgr1OE5qqkkGNr7_86SfHJRz0Z68LVQeI3zIl0JL0Yh6d5xjQB1kwZt7yaYNDprsIXd4JiHMasgec3Keoq77YiL-D4lZmZVUHiu8mCE", "QuFG", "Error", "6WiByT1fhXjnwsmJYJEDtvveO7G0tnQOWX0r72ze", "parentNode", "assign", "bind", "UfZQAKeuTQ", "1XmW1S1SiG7t", "wtNrNLKCZKRqJDR75w", "MIZuJcaHdJwRLyx2", "hegTEb2BMvwvRlk", "configurable", "qdlUJpWqM7Yd", "EiXOmBsdykum", "p-xTAZGNe5QwfBBu1Bn2ZD4qows", "click", "RLRTEfmLRYM0IQlDrVnrYj0N5VZpbargs6bxPQ", "ASXI0Sdslzef2ZbRYdsQrtk", "wN5cFK2JNw", "0jLejSEh8gzs2Y_sWoJ2_fG-IZWRswhGa3RjhCs", "5NE3Z8T_L8VHZGlrumi8ExlG0nV1Ws3mhs73bLx9nraUaFBUQgel-GU0xr1hBI1pEi9CqeppoMU2S5z2dA53DhzZD-AmXEqO-KKcYxGsJ60JzbF2Y3CAmAOUE6U", "capture", "H45fLraT", "xvUseMftVMpnPA", "2et0OJa8O7hILDwI4mOMBE4zhDJ4NoHS3pmxRLVd_b8", "kGWXxSdOkW7o3g", "form", "-ljekWoH6Gf-2Q", "7dsMYIXpeZkwGg", "S5spfcX1c9cceXlThTnFFFcZ3TE-Fdw", "zOZJCOT-", "BAKH315en3qwwJ2e", "3QGu0A", "o_pfWKWSXZB1UgUjnT3hOHg3415Sd7T777boRIRg2JW7f2tZdDuowUgFwMQpJ9t0IEMqz8Z2kpZbJu74dGBMH3KoGo8XNTI", "1", "caM2ZNXJI5EtDjIw7jbFS0Qii2M", "rfFm", "rP0oZ9DiKvt3NW4ri3vZOUUA2zINJdLBkJHobrUW4Q", "qw3snwoHsgPUt_qTdcNpxtyAAu3z6BIvPSA", "DhCEnlwb", "which", "w2bRjygu3gDgzOTiUMIsxa7c", "AqgTa__SR90RYUk", "4TmP0HJVyR6tmoTsDIsgr_KrJJOZvDgrYg", "substring", "hKw", "XfRHC7KGCg", "stringify", "^(xn--zn7c)?$|%", "onload", "XbwecJDPXsByYQ", "EoYQTOXAPv40Hgc", "-TnXkSIYhAyE14amc5xlyuKyMtPI5i9-CGZ83UK9DkRg5bLR", "xWD9qE4BoTz_sPHVbf5jw5GWAe_91C90VQ", "^https?:\\\x2F\\\x2F", "\uD83D\uDCCA", "9wnWwCMHywabwJaSf50kz-75Z9f06GF4ETc2gwz4Fg", "TRUE", "qYwDS-bkWqUTb1Ac7w", "bMM", "q_hME-U", "iqd-IJzz", "YvZiJYqzdpQ", "VVWlrGp_6GI", "e2PVnWIl5A", "apB4PrSReoAhLGlhu3f3", "body", "M8oEHMOzD9A", "PEQ", "vFiSgXIyxUeBgJyCY8MO0bPTL5X2sXRrb2Iuv1zsTxt04ZjduA", "ZkPrih0qqxLI", "u3_nhTUOzGn_ww", "YI8", "toLowerCase", "from-page-runscript", "ab90BOaF", "EaoIRunIFIEvDREl3hq9OWU6pVxJI7rqsuuCDo1_2JGjTQ", "JGar-VlbvkA", "RE-_xRRg2Siy8aa9Bw", "String", "QJopfeDGcsE_DyVbqHL4HhI", "Ue14Jc-HT5teOU58rDHfdjoZ4hM", "SQ-GwilggF-B25jgQ5MCqfr7fNzRrFFDeXZ0yBO4", "Y2ffnyAziTrOp4yTFdgms6vVKg", "BtYhVM3SKuJNdHtN_Fa2MAxG_iBmcsHqoQ", "Kk_BziwymCuxj43HIw", "uIo", "9qI2Yd_HLqFy", "L3S55nw90g", "0j_FiFkTzy-kvYCBGg", "IBj-u2k1uBq4nrS0", "R4R6DN2Df_9AGyhP8hi3QFQ", "XqlqMtWoP6weECEotmLoThgvyWc", "ZEPZjzAynCLDp5fXIw", "h1zutgol5jjL_-vEf-UD4ZDlRqTxyn9H", "9-EBBKeSPO1nXFM", "59U", "s8lkYIyMLKY", "iMAHYPE", "yiek4RdlpUG3xar6F8s9xJm4YrfVzQp-FAhIhgS9XUI7hw", "Y4FCD7KIS4A", "[xX][nN]--", "9", "HnaX03lMnQqN3ou4XI9O9f6yZZmo2CRpFWgkkBu7CyILl5XinJEBEvrYB3iE1xyG6p7wBCOBAl6cxSQj0f-K", "16BzN8mUfJ43JG8", "TBz_rQAg5R2r", "\u26CE", "vd1RVfizTIA4B0xwoQHEYw", "Cmmf_1xuwXQ", "qMwQYOL4ZfpgHA", "sCqW2jBDg1HvzIKoRcwtpfz6e4zG9DotYQ", "BYA1b8ffPQ", "zk2ExWhIl2nJk4H8NQ", "ZC_2gwcGwBCWqZyR", "kvZDD6GLDI1oSER-igXzPnw_7U4aKKj-sg", "value", "sxCn8BtV8EW2xf_3", "YHjZjy4JqTra1rOgae4a_A", "WHLDigwxiTbL", "IDK261x39XKK8fg", "b4I", "HEjLsgwy0xOj7Q", "W2LWhzYl2DrS3Q", "^(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])$", "EYgiaYLrNPU", "1Wf7tTgYyAalx8D1YJly74Hlc6U", "YLUubY_EOe0pbitR1hGtSGZFsDZQYeH-iPDoHMYnjMy7aA", "6LVyJdq1ae8gNlRftWGw", "NzLThQ4H_Q-f-puiJA", "aawKSfvCAMgtSE5s8B8", "parentElement", "svgpP-T2LrR6NTt2gVvQMxQXwys0", "TDea1HFHn3Gzr9biRfUK57I", "max", "join", "M91MJbk", "dcwvW9k", "Yp0yfrD_Fu4sAHlc", "k6MBIb-RHg", "UbROAu2NW88o", "match", "8AbHsywi0As", "azCq-RdbvXSj4qU", "BJgrIMD8OQ", "i9JcSQ", "dM9SH7uwZrpbemxPwn6XVR5dxxNrT8Pa39z1d_AWrA", "G1yR721e4UT_gpKbXw", "hsQTE-nmELlrdgwKxAqPIA", "wSuntARPoA", "pow", "nluB-mNV", "3a49cdnWFO8jGQsDvRE", "flSrzmMhq2De", "VV7EmA", "VkLVkmk5zyq1kNvNLJlM7Q", "dGGB0m1jokXkpQ", "yqshfsXHNP8eCSg", "Hel$&?6%){mZ+#@\uD83D\uDC7A", "length", "hnHEl2ch", "initCustomEvent", "m4kTGqU", "v_9pOY-ZcZxReygMhA", "NfsHW-PVBshwGFt_", "chucxxd_", "ehrVxCEQ3V6U0ceoa6M2", "MNsbXf-_AtpCAwI", "kTzL3id-3g", "awHJmj8U1R2v", "boolean", "R3uq9E5hkXzo47nISo0YpQ", "0bI-TMHV", "WhjzswYmpw", "lv8OTaaPSLp-G0tq3QzyLTly9FxKYLA", "R1CZ1HBj12vzt9qBQIAbobDYe8mjp3AGPjdgpjKSB2s", "hI4-acfedNM6XA", "{\\s*\\[\\s*native\\s+code\\s*]\\s*}\\s*$", "DOMContentLoaded", "6HKUx2UDiQU", "abs", "IzDWiDIA1A", "\u202EGfKLUWvCn\u202D", "qwOU2mg", "m_ZTVK-TWd10VR5sq3_9GTIh4Q0FLY7xxPSrAs1uz-ThfzBXLTf1", "a4xpO5SifLo5Jyo53SyIb1kT0Wp4QdvV8ZbFYf0dorrbDkovFEif-jV4m-RbRrYiVmpKu-YJvscSNI34P3UhOkHPaQ", "SYRuFpSUb4A", "xeM2cdzoO-dt", "tcQGQKb4E9xFCAg", "CustomEvent", "HXuw60BXpFXd5bLhZbM7", "C3_XizsO3hnpxYM", "OffscreenCanvas", "K6NJEfmjS5k5QQNm8j-Ha18", "charset", "pOwgdoDkPd5GCjwT0CiyHFFjkCcEQs2owtWZVddvgA", "head", "iterator", "hYpPHbKEWpwfFk484R21", "xyiH3GtKlFezrA", "([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})", "Qkb5qxEz5RjY9KqELw", "wju99TpkqA", "indexOf", "fireEvent", "uSPDvUcej1zkyOOt", "BuoPXv_TBftnXw", "wjmx6VVPqEk", "G0LXixMbwEy30ovIHZ0", "location", "JSON", "xbM6fpXcPOM9ZiwP12KlBUFqmnFrDZX4hA", "setAttribute", "6sA7eA", "pIwycpzQQectXjZA-iuW", "arguments", "9cQMFfI", "(?:)", "link", "q3rujiMHxGr30Zy8", "ywyd3EJQhE60q9ykDvQhhNrg", "95BJHKSiRQ", "nZ9lNpC8I68FL0hQ", "3FX08gYqyQ", "jcATHPjXCtpLEUBTpFThEzU8rRojI7Gu2uPrWM0kxoW8ZjpCfjjy20FC-Y8gDsRGNE4z395rg5tda6GtayFPCWKrH50eMzia2MiuN0iJbN4K0csGBmrihnL9PLc7r7Ht-1Ubstnket1InRqHHdNX8ekvO2dSNwcRuOX9GwuT9wEBaxpeyOZGhbAmBl1eLvguDd0LzDuxLiCYkMyKfZL0fsy22ifMsipXzp3eOKUV0s9cOvb1eQMJRkAKEl4rLG0oM229-1neSvME_Nj0EQDeq3m4l_t5ky1rkWPCzQyOoaOSvkdA5BO6xBBwejoT024Gxy0Rbz9JIi4l5nzSDZRRvi3Whqi-THrhEnAb-xZRN3nARo_Ivb9qnHukDwWCikZ56o3PTcDRYynpQR1ZieIg-F2ndME3bzU00PaeHI3-IKKV0oXFlM-Qml0AUdyJuMNh5JbHt12OTdiqkiFR_GcNYlBA7fRLml2NVUmMbF35yjU9H_-ljeFRvKjICEBhGhqDMr_r9jD9_k4MwTWpKWpegrBP7-v43T0S3vb_kweqndUI2SCrhUf2lrTUsVIyFdQMGPcTLUSoZ5CQakgrrPdDjnWi1XadeD_7Iof9us6Ewh5cB1DqZLGp0Al2OHf6JEAeP-IwGDqh3rUVaWyKDwKlKg8vgSc_RUbG1Xr_74BsZhmq330gj9C4GOzV5-Skcbk1xSeQSKmEZPaFVAwK6qovOvWb8zKp6Q1v3lVY7gSlPYx3zgYG8Q-X_gu2oc3RujeNiVW06ummrI9zJCIcrLrPcWVTpP19CJJyRVl96yb37GEGdOd06GJm68zsDU9XimB620vzwobxnhQELmen6l61c5nRmKAmGb6w1blQahmXi3ishdnsM46rD64RrN5aii5mCIX1DM3GNcalw6Di0FWdKAUDfBjK817atuuJNHkcQtiERODq7JXi-cRznnBFrFD2M6eNu6XTrXPk4x6selsex8SqwHk4Oy8jGFVSDgOumnX3Sjy6T5xmdv3qRaXLfgZO-z09gGUTmuYnn3FR07V7iC3yZ4pkChPJbMJ0U5a5FWSsCtX3x8vvhivfMdQNU04RgPGWaxGY--FBt7vMP-nW5mp3s40aaIoapqGaMTRgLHRLkMQ5w5zrMKf2K1l16h5yUjWD8QKizhEah6WMV6ZDc7zGdT1DRngekCqUG-aYmgjdLsTcdxirJT3PYusgP1B0qtsFetV3U5E2FMCgDb5er6ynoUMOkGoDX0uyYBnglQhSAK4Ndv4De6rjxqG1Z03ewNykfx8R8Zg4XIy_lh_XrDvkqmWgWO_3_UDg08d_8ngszc0LGreIo4J1SMdXBO2HZKu_IwnWjXYcaF30BwtQxWR6fQKOvszH2CZ6eL8cZOK9iPHW66rmqPl2sieWGt8bBfQNL8aPXehC5lABVJdDlQYWeMpktKCWPjIIP4NcaQZn_xHCft_FoxWdKmXDyATjsZvDpuvs4rEJtnEXEb1S-fJPsbFgznD1d7tU7ONdut_BQFO7yvVssv5FVa4DhMnuyX4ssZiFxK4knjShVGoAgZQI57y_k-ALDYfFv99YnML2JkVeOfZPOresPW6QxF6ZkVpp0Y2CRsMjKDZ_PDWplTHgcDDf6DagG8eTazs0jrN9M28c_7UReF431OdOqsumfBJGRtI40KfkK-S0pkQpAEpD9VbRkSUldzag3xYehD39ITgBwBG_I7TZ1s0MWd9kPDjO7GyXo24MHFo9RMat-HhXE-63GielwmINO0npLs8g_hh_EPCPQsSLDLCz9WsGyW9aVrStU1qSKUMDicl6dI5vmA4xtTLUcm_wbwKuSZPAoIQiLgOKv0x2Vy9fkammBFjrcDb6X7ujvb8NlRTD43_QsOtOsU80TDZgi9a6Xl2H-4uXI2HEZaI4bwCGSRjnbQ-e-EZccbP8NC0vec11kWBmmUCjGgDEl0BkJU3sfCtKS2SPUyAOOMPqCW7bEK9JH-eO1tegGcnFTTmDU_fuqU-3XxZkqgyjAAsD9FN5wwhYMwZTYQ0wpRkJbCv8gpohb8zgph6IO3wqfzV5R-QIdjQ8Bqli8bnx3xg3cppC4VBVTGp0Bhxz_Wpf0TO5_h7GLeuoxCjTq8pnFLjldIFK9JUXNgKpFNjUedYC-L81towu1Uu4-b1r1j2W67i1qrS0wPQ4yYBAZ1CR200vFITGVqK35gatTSOwrxMeiOytU92IjiR1_3Uh-aLT9Ao7-pyhpsZbhc0KkbmNs0acDejITUBmo9GdzzYJaMVGRS7-XkMX2e3rgu5xS6I-IzV8pw9Q9iJuyS7nQEN5evSQnRPA6xCo5uUOYcgqoDzyTis_S3LhXz2cQTxiIQNrDzhwOmbqWXPidi2z2ujDseal_r_5Bk_hJgP9y8VGt6MFaOGVbsxExw7HZZgwIp9FEP9UoYq10OaIhNI5Z-6Nx_WAit8K2YigtnzMRIEMU3mKhqfysyZpcAc6m4qFx-hE0dDrTgaXkOH0qjKOdmsMMdwUVXU5_m3yguomouxxdBxYTabnS8o60__ZRCD6JMk4tpBqXlTBJODrLLQxCrkfme6G2qKStvbxUsHANPYCsTNOWG4wIMd3zRrepZ_kOL43LFeICplHVAHklYQjZhmGvb5aWyqjGQPqGO9etiuyls_wjp2uJUcnMPnCZ-vpzao5Y4g_Dk0QOLZ089wGy0RCehoYW5qEU-vwQOWkuZaHrjSwfdgSYeBxgCHPDPs1i3wjsOKYRdjej0qLqp6gZ5km6P3SedZCCUKt0oPT7Yo4noKV3bIWPOI8ysERFxlTdDakCl30tJ6cLPK395PBItUsWEUJz4snzbO-OZZkhSeqEELUT6L99j9JHNysZh2liZd8IZjeFT9YAkroQrSU9iqfzv74cH0NPAxQJC0ptr7Wb0M6VEBCxfNKkKgDnVTIHxUxeJNewHOSHWiWTekeaSOXwERWK0cl1ynbbKeZdl0kA7JFDGuRoLOvjmAMvg2rP2z1xFnus6vvFmpSuw0R9iUqNfFmBzaQ06sulhIaNRt1YLuS4DQyrfv3SkkBFEGCWx8HrfxxcIuX2nTLbGHK6sALRrrFlOi7TDCvZ-qNgmxynw9h0b8Gfrn_yyB3lOud42KSmZv00_kK90fWwEvgXpkLa8ZT-coaCXdm4PF2tn2mZZtkjfOI5n0i7pNcD52vDMJqQNqeX9dUvpOTOOJELf_X2Z8VPdM60JzVojtT2PgpG2Ig9CqL2q4prc5_2ukEq9yboPLtzQyNqHxrjHNLyotdgvLc9qOtwlxA1ZppX4IWhlov0wGgqJs", "UIEvent", "le0L", "QZdHKcKpB9ZqXGktyAGrXVhkhEQ", "7ukzVMX4J8tOfGB15FKsCQ9J0CRFaNL4oaQ", "o7MtYYbHUv05dRlI8CGM", "m3W2r18Xp33jvQ", "kbRsBeyCKtdNZEE-ySmycmJdils0A9vnqA", "alO_-xRHsnT9vOWALQ", "create", "21", "Float32Array", "6\uFE0F\u20E3", "RclWHKuMY49y", "cBWk5FZgpnCKq9nSaP462o8", "FaxZO6OoXbs5Gg4yjiPKaXgloV4OCr-fzsKwBdxawOfrPk1WOUD_4htGjaQMSslYMSAdrI0X2pBLPoLeZWIwfxm6aOx1SQzhi8m5TmXZWrUXlf8zdg", "i-9uHJfgcrNa", "w-deC5yMcaEEeiN3-R3ddiIxkwsPLw", "f-0QT5PSaw", "concat", "XdlkK6WnTw", "WD-X1EZEqHKZssyqH8oypL7k", "EcNkL7q0ebNWV0NA82GHYQJC3w", "CKQ1dZPJNtg", "hasAttributes", "EYtpKILJaIYEMg", "70", "object", "38AMTuvcMdc", "h0L_mg0omy3LkA", "Klz2txg4_z7ts7ybBv5IjtKuT7P0mBRRRhld4TuNKHJDrcz8yJQ1fq2WZjs", "443", "attachEvent", "slice", "cbFODLCgWL8UOl1ImF8", "documentMode", "t13XqSQ8", "Ius7ddiOMs9Sc2s", "SubmitEvent", "5CX3mjkHxSbYzKr4Xg", "g2Os73t7qkvppb38But1hg", "PWO__kZksHXuvarWCPhYuo2TAr6qiBUScVoArzrJajoYz4Th25wfOPD4XDaeiWv_jeWecDzHKD3kxEJc3J3ksYgCtDmimIFtfGcT3c0lwGejaWSpouNJIs5WhVXBSUsOCumwCjNJ3CrlMqQasnvadwuGkMPunL7ySUZR-eA-UeKw0b_ndmHpPAmNq_K8glOItHLoPYwUioc3KXUh0D0D0nMSc5lvF461YX5vhA6tOHbzl1Fa3b3-6aSkueCAyNSHnsoSX-cv9Eu3TXtY87lxBt4XM0WOZNqGOo50e7UhDAQ9Gvm3E-RXbP2Ty4a4a4STaMO_xIHi1YHBSNdspnLrFZV9IQcA48JY5eW0Fbj6idIk_CRwFhjFItQctuMlJfjbTyN2ulV-jYdC_7a9Lk2eWvgJzTCLxI3eaFknoytA1zMCIylgLC0sMeXq8itzSWCXXj1_HPoh83cSK8X3U8Og3PKxThWqeew1-vAzyuMdcIqEvR0IK3D2ExZqre7Yi-AUpV1RXYhWWeGybo0QuMnJYVO-WFFdZIOVcU9GOKoFf2Sxdo0MKuNIZg17HPWdsWrqoFiqkuIWlyg_0_eNEkCgf8INc88ykpxXwD5SF2krZqCr8KcHzVwfZrDZldBVgP7pyBXdttdCbwm-0YYfoOwLgbGEedCQoehta9EZejrH3rINcMOPN2lPjUM7SU8a2kHRf4wo4w4r2lk97eqlWBSAnkw4VpYQHpjAMPvzUK9d2SPFcKmiSKwyWrJQNGp-BJUoJ-xDf0ZIAiTNj9r4CxVx08D9HQzBoyqY0OHSUplRUpaX4xbIQ9qMRH5S-uP8LNnVKudWemRNNazuu8RQEK8g0G9-Kh6JvQcTcB3pjr84L9USJyh5kG9K7B--HmCtJZzYvjNYqlxTkmkbYQVMacRnv5Lh06p0XPpjFU4tjeiJ4U9ntVdJQHdNS3qQL9zgFLJKmB9nLgYrWokVdr1UjM6kbHwBZ9aGlJea_PP9qq4QOIRi6cRbrn_X40VF_BptwOL0RISfYsi1C3OAMM_zdhvCGdZl8GjLuK1Y-Xjf6z0eutoDsmxmUmgXEbw80iW65OG3OV4n_qk3Ql7nCUwrxBhhXM_ODQq10TOxCw54gI3PgdPkNHrJejNGlwhSlb_NRafN9ItzZLoNd668ORJvphHs1QVpn57vpMGxPY07v1hvbf8wgSk_xqQAnddazQWOlO7fUyyqnnvc7TrQgWcPsxz7ARVfVtahfsSo4eBLhL5PK6r3rhfrzEamwQVbeAIa3rpLbzIK1KG6CHyC5CkFOadpD5RdW9kL4AViRe9ZbGHBCo-AcmmipBQtB2DHq3bvq1M43A9VkfxkHMykzedbv7Xzat3rh5UZTmBsfp_ViQj-yUQsHVZ5VQhDBkCOI90BjT345gW3in8x2kf7X_us-3XyLKm732XAClAvkZ-vkCfij77IRq5kwC9QG7oklcN9MLMAQCxsAFJDCBKlVMi4vBr9XUy4RkaNYp0Wxgf_VAnIFTFv6-0QNALDVlDu6wXlEW5Bd9yJHyF8MzuLcJoK6sH-ZTOnWR4aPVnttCVuEXDgBmlOjeLnzmPg1BkHg8VuIOc7OvTGaRcp_miEkdDGnp4HOols1pV0VqwYtG4w0piRKkTonIGyVAu6hrqOdkzgBXMq2rft-EiAfw5HkkcRAqKQouHtWu5SNZu_z5kJfK-9IZkKtJfvbroBiEo9b2-n93Dcv5xwdtQ4Cs21v_-Zon8PU9b4q3QPv50KetyulPAeu2DOULPBuw5r-2Ygoh8Lb9Ojc8Di6BcC6qsugvvpHHHVzTHJJvfGJKUl0cMS0bEU5jZsSimEv5YtEPLU8oHmaDhck88ch8EX8wQHFAGuMLAuAM58FVOsDeSMpqPDciFAr8gkAn0ugcpqyhqixLgt7qEDy6A6Vfj-gCZfzczOmnzZNNiEJesb8KAzbbHE0_RO14Xl8-gp9ouwontFoM1iswrt-0EhcnoeuzhlrNhg4ktFEaUFqLvCO5kEr7WhUf3AOpmipJGx2K-bC7ax9oBEKT2Y_llDX4lugt6B0ZrBy0Kt3YqmvgbLUgBSerym0g2hEOKi_p2DoqPVW5-yPMMoTI9_j0AGa5BJE2_duwBb1y7zZW-AoeQbhWF20nitQCWNEzaBbfUbVgT6LaoBDQokExYfbluAUzjl3f8pZe6ArRU-wTUgAqYI7odSQv79eXkV_GQ3KJqMG8-eQAAxRunKTSsNA365OWayeywuTbFm_H1rs7bfAXozYI6Tw33t4pca-OyzdFNJc3vStUPfwITQAreySonWI7tHt7mI71RmJLFrRb8QZUGw-3CFCZ9L7Y6br9RO-5Ai4833geKK7InMkd4AzMEV24siT09sD0QAUAYAl7V2seFEaW7oGBufw1k-yXXVUq058n6JgDTrv0fXBTQvaEkhJ2uawkocUlUXaS6fa381BIs74D6q9Yxna1djJpT4yaWRNSU9XVDha39T8KU4KXAOPaVo49mdiH6_-9qBZNVXOEWeHE_ezY2j2jEB3niral1y6o9CvnGdDD_S4PdunXETuyOm7hm6OkpkN09xR2NJ_Xh_kkj7VYnx4czStXWUPK1pEjBCgRGGue8nsybh6vgTKSGAyPN8TAng_pMdnqxToUTzGckDL2BdKTIKm7een1RlyE9XKxKW2jeZsL2FgBnNTHq4MvOhi623_SMruUhcolwLFDEoCopHii__zA2SMZ1ktBGgLNOdEkc2_CYpIK4lASALgz6JVl9312-ztekVOBZrQjOHODxrKh-wrXebZX-zsrfqiqdencoWVygqvWVGTTZ4nFKD4fyiYiTFfAoRlDHLIZlaqe156A1ZSNnxs2UTwKNVHC_TmCd4q8Hv4btf7RItWcA8YhxB39Cqk6ju09reWxw7jPKG__ioUEvlKRelI6s_joLA1DbmIs85pYIs9Uykg4AzKunwyPawb4Zi0wEnibmevAvn7tEpBQlMf9e2G7QVuMNMffJDHEler8X_HKK1SNWTmlzBqJIuNROBL628i-vg2BQrX5KMUkwUu_62veo88r3lAkTJ1TN0a85u1d9NRXmy7RdqdkQQ6okAhBs6NZ3eIKvIbxyj2lNSZJ7qO0MQZYA7eipIeEHgWv99eulD9yCNyG6kXXW8r4bYWELHG8UN3znHJEoORdXVR3fxoCMmqWbU72ggvTrpETs-ng-nm0l-PTK6g1qfdCJ6EIWxNVeboc2YV40kfhCCCynCdUGpDTF4UUVEZrIkCp7IIdfuciTzYUNrTgwTfeTkPzfR9Di0JfOWVaIIWSw", "wUftrAMj5CXiprPNButNroS1Vq61hg0EfkUm-yPcfWRLydaknMhPNOvhRziJgW71huqpMyvOIif2zl1snJjntMNCv2b3zdMgaUFWxucxzTSqIUTo0_0FU6se3XOVQG1ZXaS4AVtB0EOzIbQArFiUZSfMy5qRwcb2FjQ0u702S_2v2vGqNw", "empty", "cop5IN7QO6dLbTwX1Vua", "XYNCGKiETecRBG9olQ", "afY", "tXyC4QZxxDHstg", "href", "\uFFFD\uFFFD[\x00\x00\uFFFD\x00\x00]\x00", "W6kTXebyGN4SfUgSm1bV", "if8wV8DmMslNbmQ", "DCu3_FRUg2-Jsw", "MQzk9RYHll-384GLdw", "EhKEzSdkxFuN1sD4Y9oWt_XOcITTqjdccQ", "-SeW32A07g", "YJMeR_TjHNAhEUVw_kWRaA", "QotXH7g", "8TfGsjsyxjGxmaipAu9f0fC5Cw", "Hgew", "DLkDT_TdQLIzIxt0khKoJg", "3yrrog869TSn__KbSPkD88PYQqA", "fwOjwCBx43_Fzv3wZeQG", "rokSQeLZRdgsJ0V-", "EwTxmG0Ot16H5s6MWrB94O7fLNmx", "yTHmiwsX8DeCqrSJIpR60OWUEfS1rBVzVA", "QboJTaPJLPMxIWg", "0qNcEPn8MoZrQBk", "uIduBA", "usRKB6S2e91qfCI", "U7wZFuXIBtI1HApE2lmxbThu7kFyYODC2g", "\u202EaKhiQyEym\u202D", "xRWC13xMnVuRlpagGpF92q7cPIyS", "UEGf9nVc5UE", "QnmQ3HscpEGkl-3eN_A", "soRbM8H7", "98lHHJOYHJp9GBEy012leA", "Symbol", "split", "8-1tLIOjZKVIaHlN-n-ZXg1f0ittRs3O18_gf-cYqPzIJ0tSTgu57Wg0-uNGSKsxVy9cv_dU6-w7RcqQJFo2WA6HC-okSkSqqLe1XRGjIP15grFncjXMqRTQTMcXhYDCh0wvrOfQSb0l_DySRvcL9epTXxM5FC0svZKTJSex53c4XCRv6Mc99NMXaSA0BM4WGvE1u27IAnrIseC0QZvXQuyc60is91guq6Ksa5R79M0mT7SBEmciN3BkKn4UFQ9gVRfJhBXgQN5ky6mdNG2hoAvTn6wXoy5TvxugiVy508moqG84jEKD9WgEVmJ2oiJG8A8", "ceil", "X-tLLquaHLI", "BxrfhiowzSw", "TFqo7A0P6Q", "url", "IganzB5esm-d", "sKJ0LrytZugIZWcP", "hi6Y1l5Ny0m77tz0J5tnhPG3ZLqCqgV4TW5G20c", "zfgfSJbWQMtDfUNY2Q8", "NHmCzH52", "parseInt", "zQHfgXE-1w", "xzmQ1zJu6Tc", "6n6fzW1NnA", "m74bbOvOaQ", "2FuF0UFUlFXem4vCM8RgjqyvOIW5ryEqQQ", "FI9qIcmpK7EeDwAutnX7UQ", "D1Hpo0Ia9TA", "RBj2sxIlxA", "window", "19gtaIn5KspKS2c9xTaxF097nzkbGd-92tyHQ8l6j8qz", "EHeJ3WxQgQI", "YtMoft_4A-J5PWEK8WyW", "HEjtogEj_gzC9Q", "ZaN-LIujcfwQO3NL4Ga-QRxC0nRsW8a31cA", "charAt", "JKwTTqPU", "GG-l9FIFq1noqas", "\uD800\uDFFF", "Cw6VzhpxjFi525THb6wJ", "bubbles", "FRiC1Xl43lq5idE", "13", "EnvBhC4Xqw_lkNjmBYc", "O27wsAMu4jnJ47GFKbd5h8OGDbezhAhgDAM", "HX604kFrsnLzsrDRCfgWvZDdBLG2glYfcFALpXTOaiAZgZ7n0NIUOP35Vj2C", "Int32Array", "5M4kcM-H", "dzvCkCcNhwi5wpK_Yqdww8G7Mdfd-x5tG3N_3g", "3bkSRu3RPNAnHEYvlF6sJjFh6FJIf_2lqbiqR9s4ko__FmoDdH_MmV9AhZ5-dJAPaVdymMkvxtQf", "4oc", "EAzRhigd0h-J39XsWA", "T6Q", "qPw1Y9imCA", "s8cZCPzKL81cDw", "lZoIRavvCN4rXRgy-FmYOk1VslhYOKE", "round", "KUP9rQQPpjXV9LyuKA", "iY1kG--MYs9ELg", "f61tO56db5AoD3YrunDi", "YBeQyWAjpFCgzoQ", "now", "adpTDoabCI9vHRUR31KrfTI", "setTimeout", "u3TJiwYyyQjrzbbDaas", "5R6t6Rd3llOfj8z8JIZ-nvb6PdOZkixkew", "7qYPfr7IQcBpal5-", "1Br1rx9L1TLc9b-pVYc", "TPJyJdiCdLhxDWIbtXPlTgoAijA", "Q9NkKriz", "N7A", "MV_45ikj8SL09vipLLJbhNmEHpOXiBEj", "123", "x-ByLpi2Zg", "sin", "pNseFeLNFJBqHQx_", "NXirrEB-pyf4qqjQEshFvZGFUKmgjgIOcEEds2jSa2gfzpP3hc4MaubvXjCE23viivmIIiPAKTu21FUO3Z_zoJMWry60", "OlL3uy0w4j-R6KzPaIVN7rG4", "RangeError", "zfUnNcfuJfJ4P2N5kWLSKhYQni8VGJ-d79c", "HYIcQYXEHvgU", "qTHrii825hWXlY2pII1r1t2AHsOxuhszdA", "undefined", "JV_nr2kR0wHd1Iw", "c8tgGuqmQohpURxsuCea", "yes3ds7sOP1NbT038jXHGkgVkDwVX5_HyNjLPu4cs-nfbFV9YFS6_igapvoSDvxrJSgmuqtJta8uEO2dUQ1XZ1uNVYAvHAPpu9HYV3iwca5qt-hhYVOd7gjJWuxIk5bo8SQ9kcDWQbJE9ED6dqQI9vRTVFZ4Cylk_ZPUEEnViQNxBk5_uYQboddZQ2NicedJNOkxuRyhEz7wt-2jeND_K7SqvxCtvg", "Option", "tXy621Vxs3H9iLPOCutWuA", "Lm2n8k9Jpw", "performance", "decodeURIComponent", "6twrf8P9A-tqInkH6XWJEw8egz07F9WX6Y3pdPFA47g", "DTrkuFIJ5Qel9OH1eK5TvNzWTQ", "rwU", "BQTTkX4", "8ONMBI-GMA", "p1abkHNUmBDCng", "Tnu_", "2t4OV-0", "B8F5OZ-xYA", "9d5BFA", "K2HetAg2yCCh6b-bC-VLg5uNFg", "HVTA0T4d2Q", "PAqs8BNRjX2b76I", "1hHkhztBkyXZ3rj-", "5Su06lpEgTaQkc7x", "hoN0I4W-SA", "lB2KzWRJ", "qVOGxzl7jmrE", "oAKujgx0gnm_ng", "w-0xcMjqTP5OeT8IqC_FHEUQjQNgBZ_dxoiSJbRM56-vMlF8Xh65_DVp", "YiqR2nN0kFuX-MHcTI1dxg", "NGqg51Nj-knto7c", "5_wQF_-qTw", "gju4-Ht8kFU", "ushjYQ", "uoAsa5zlWL5WYg", "O9UYCfrF", "2", "Q-hpKrG-RIhmTDI", "detachEvent", "11", "9LxtKcDPc7VCWC4D2lObT1NMjkAuBYbQjsWMfA", "gpUBTubIBeI", "7Q_konM", "kKR6Jpc", "BJMtWP7DErU0", "EiaPzGRboUzlgcykDtImrfP6ddzJ42IrNDIry00", "5ed4NJqwN7REIC8X9H2BVg5LmHVnSoKO0IuMYrtD", "VKl1DauVV4kmFVJ1mkatdTR4_URs", "iNgKROc", "F3Xfh2JOn0U", "cmSE2nAg2A", "c5d0J464fugxPX9NuH26AEJOm3xQJts", "llDUiwAG", "O8hJAbKONOc", "r0OI3z5b0UOl1sLhCIdh", "GmvvvQ0n_AzO8OzMSuwQltI", "zPQlMNLrJvM", "uxnlrS0s0g", "S1uqqk5gpiLwpvb9Gf5N65iKEaedkgcTZhtc8jWSazEInpb1ho9Iafz5VQ", "v3A", "dP8JWLjtfg", "uMc5eczZLJd5bCwf", "textContent", "gfILROfBWA", "Fk-k62AenQ", "g80SV_rZeN1YUBUnjRA", "f5o", "PnjH8ms68g_u4IiUXuI72Jz-QdfY", "U2XGgmkgwB_31pihaMoj8K-ucI7S-GEwJnoqk1ahGFJw3JDR66UWB9KRWRD64w", "aMc0bw", "kyvCxmIo2D2zgA", "GWrHjjQQ-iQ", "HB2JxUZ01XCa490", "O7Q4YOyqIuVcPnc", "Nv9jJdyZP5dtM29CxGTsUQU", "aJkDGuDRXtU8", "NUrqqhgD5B7tnrH2Yqkrl5P8ErCeh0R3fh4DxV30Hh8v0_Dk3dFcE5fAJWKR3A", "fZpRH6KWUg", "RF2lxBJ8mAef4sKqCuNTuauUNPr-", "xOESWfv1EvlhZwQK6A6YJiwiqh0yL-g", "d-tDBfOFY7tJTjcKxk-HVhw", "event", "5T2i70ZQsEydsOg", "sFHmqmoW1Qs", "src", "6", "uxvAzyIDwxmEzpuU", "JkSewCR5m1nR", "3T2F3DBDzDm9pg", "_0L6ujQz1Q", "azfBlBoE-36j-g", "tDm_-1RrsXaKq5uSKb1QisOXG_8", "tLsJSKbuZNVYdBxy2g4", "LFiy-kZrsi6zxqSed7FtydGh", "xuBQD5mTYpYvXg9q3h31eg", "CwiNimI", "zaZ-apDSOJxteGBumT7BLVY29X8NXZiM", "NtpmPN--OboJ", "r9g1cMDkPrMXeigR_jU", "34AHUtH8TfkEfUhg0EnyckcE6x0-", "Q2ZR", "CSS", "PGuk5UguiQ", "Uint32Array", "Xyju", "j2PAgWoTkwOgx4a3GZx2_6C2eZGfp2RxfHILlFmbKBZ3yg", "VpwmfIDpPQ", "gMA2d8_tOfxnNGVV_W22AgxJ0j1qaZPI19nhULkbuvzII1dTWVG2tiR6p7ppFKgwSzpGoOF7t-l5apaPMkgrWw-bHvA7XB7w", "gQey_lB6_X6O6rWPe_QCz43OHL_sw1tdTwxitjLWDyE", "28BDEQ", "string", "9Gs", "c1mg7m9trHv2pKnmFsBJtoKWBauA", "Q1r6oR49_nbr_K_NKL1M", "rtcvZsTmFPl6bSQd-xilOjIp", "ofA-JYbJ", "uIUCTr3GKbQrDnZK", "iFT-g2Q68B30xQ", "4fkLFeCzRNo3CSg", "svg", "kpVMCayNSKsi", "3", "zxjhuUIA7g", "FCnw_xhVoDHt6vXMEL5Or9I", "MK0sfpv2MM4-fSVuiV2iagwp_SNc", "HKMKX-_eXJdeHQMotFnpDiAeoQRmcvmurQ", "RmSJwy8", "put", "4", "iULttFs5", "LFU", "querySelectorAll", "_5NEA6eIS48qWw", "uuY6e8PhNfBVeCgNjXzFBlMWhCEhIN_Gx5zLZrcGvPfWPE1oXh-38yUXq_YdF-JwFHcquq5Er_IuUp2RBUQvAEyPP8l2V1S6vJTkHUXhe6Eh1ZJgK2bK8gOddMETh5CBjHUxj7XNWa0x8nSeN_9XoaZOGlxgI3xmzs-EPCM", "isFinite", "hidden", "8pdJS7XzRJECQwZN9k3DEHkY4khlPay1-OCgfIJ2gJvufxhBNBy9iQdc5JQ5LMcPEABhmcA5mrleI4XiOWdRE0D9SQ", "getEntriesByName", "XrsSXvLwXv89FFBCxA", "LA6Hwyhh81uY3ZLiT5or0PHoebOQ4mZ5EXlx3lOkEQVW8PiMoPg6Ts2A", "aK0WIOrEB9c", "7VvbmjUV0hP-3sHuR8oup-uGf9bfhiQlNmtFx0OoD1t_sco", "LGeY2XRAhXzKldL3Vg", "wk37rh4lwhbaz7mAOA", "dispatchEvent", "5aRieb3YYqp-", "console", "XMLHttpRequest", "gfg6KMXBEtlEM0FYvEfOETQ7", "h_NyJo2xXLBHfGcX7XCQUFdHzXFkTNLXxNPzYPlCu-CSPF9MFB6t-2tu6f8cVrQ7WT1kqvhA9dM5S9WELUkjTCSSGP4qEFej", "Array", "QFCPxW4", "p7NHD-W2TZ0ZbQNs2x-kVXpY", "FopZAbSPc7oKC1g7vQ", "_F-j-kp_gFjejQ", "Reflect", "eOVCBuvq", "9uEqMdHs", "3soHW-i2", "4QO9ixVQgWShjfL9JJNQouc", "6hqw4kVynkKyksKHPukEj5PIWw", "any", "K2PLlCo6nST5ppWAEpA2qQ", "udhmNpSyNaMbe3IG63PNDUIQiiZ4X4bUkdzOI7ob4-XNJww", "iegtR9fgf9FJPywi8Eq_GxtNmnFTfIi89A", "9_4mfdX3", "3J8WdajsGNY", "8nLmpkgE5zbX0aSQSNwSx4-KWIj401AHDFMDs2E", "-X_3sQ8g", "interactive", "innerText", "dIgwPN3XJp01Fj043CfRQw", "AG_k", "h-IZV9XID6Y", "FkC_60Zb_w", "dfwLdYPjTaUiDSlovUrYGwU_wTxcZLqE3NzRaedPs8ScZA4zDgbCpCpAzr4DR5Y_EH0", "getItem", "ealtIZqgapMPBXBWkA", "56ZbRambQYA3IWFxs3M", "ArrayBuffer", "h-0Gb5XjcLozGjxU", "className", "L2-A60Zil2XQ-KWF", "top", "JXWk_Hxbsn3I7aY", "5t1GBKeVSoVpUkB42l24Jn0H81JJF7C6", "J6IqZ839Cukc", "G_VNE6OPVI57eA", "_I1XPJW2ZroCLG1LnnmWQAo", "wQ665VFj62a5x-_BD6xZldecVpi2", "p7oeeNU", "filename", "8JgiVP7bM9hv", "addEventListener", "Infinity", "application\x2Fx-www-form-urlencoded", "UrhYGg", "JrFFEayUXZQ1PDETrSD4WncTgGo6GZWC142pLuMK6fTIPEk", "dsUCHfvJEPJ4UEdCwFuIaTB5-VpKbvTZ", "sBfsqSUo5j2nzO-8Rg", "CiqezGVPgEq9rYC4D4xsp-ag", "GwLZjTcd", "getEntriesByType", "LVvMjnYszBT0kcmsPu5UrI67", "ZNpxJ9OzUNoXXA8h", "Rqwxa4v6E_0POVtOmzHYMl5lknstEA", "jf5BDL-uCatKPh4PgAiGMTRdo09-JPCFjfLxKa8CkfPdKRA", "DjH3oEsU7TWzrO_8facc-tPKTaT1nlpBM0JB5Q", "xvoJVOTlCupAYQ", "nnHQn1gKkRC9mo6bF5J-4b4", "0", "4SqP4HV4", "HeMaTKzy", "Uint8Array", "1p0vXPPoQ-l7KwA", "u9tdDvap", "0eBUNefPQg", "6M1gA7O-De8NORk", "HdcO", "xdI5Zoj-BLdKIj1R6G2nSQ", "JVDAmncwwBe8hM3mNpFD84M", "SHeb1XR5w1Xx4w", "udhMALK3Sdx-fA", "3Nc6eYzFK_t_MGUImVniAD0lomAJKb-uwamIDpl03dSufSRefCo", "ZKUjaN31bNgKOHBy1WWPQiIe", "vmeqklBD0yTn", "PvxfH_CM", "WlifyGllgF__6p3_VpMMt6va", "mvIiZ5XlRsQ", "crypto", "v-dvIJGqcLN8Zmt36nSNOw", "\uD83C\uDF7C", "DYh6PaaUWp4yL3Y", "MVWx8lNUuyG2-Q", "ljCMwCpZmV6oj5fkB5kwteH2P8eHoCAiOmYAhU7_TgFhza2ptedTEI3EUxqupUbduog", "Jnb_9wgLqRfMsLP7CqVJptyB", "qgS5_UB3tSb9uajVUvxArIO7FP-Cwk9QSQEWzmfqPFMPjJfw35wed7rWSHjLkTSy3_zr", "g7BEGam7Qp0k", "mLBPC_e8T5Q8FRs3_l2ULXlr6U9ZPeyM8OP4Rdtwipi9UGEZIX7f1xVqy4srdsUaRUFXxtx9wd9ZfIc", "LexJCu8", "Math", "h6dYHOCrWIMrAgwg7ESIJyNn8hVPZfqb7P-jTYlqm5WsCGFPPWnDlFV2zdR7cpcEX0NalNEv2s8AKNA", "vOR3PI-8Lo1efRY7mTHKEA", "G-w", "Y7FTB6adXqcV", "iH74rzg", "File", "v-BmIZmof69ZYDQIuTs", "ajHMkncDlBip_MQ", "KmK7s0FOoAXNz6KifKczjdDyA6-c0k1_U0pR1kugDgp_2-b738NfRYTNI2mJiVDUiISQfV_PUUv6gBAr0A", "left", "ZQDJl38X0jqe4tA", "map", "XZ1WGLKdQ8QKEHlon0mQNw", "lastIndexOf", "0YoNS7rh", "return", "obUPeejAEQ", "PzKw5ktw", "4LAWQPjZBZY9EEQ", "I-AhdNE", "osE", "^[\\x20-\\x7E]$", "ofYSTev1BOhCdw0D3giPJiwp", "kZdxBOC0au4", "IoAAQe7OCcglBR41nBH_fCpYvhgGUw", "Bs5n", "J9x0Kc67O6cZOC4fsTTeVwge0Tk8E5nb2A", "constructor", "djc", "J1ut91RdvEw", "XF_ClmYm", "F2XdiScZwxD35aG5GQ", "HUik83Vi_nXlrfnDEcwcrrLBRbGrglw", "1T655Vloxw2Oqf7Q", "global", "9wOo-kpgoSiFqeCUeuIF35CGR-TyzVoJ", "NUHUlhYm-Q", "OnO-6FRjpkn7qLzX", "mark", "Z4xJG7SCXJpJVhFZ7A6lWDs-vkRsRai97Q", "x_ppMZG7M7FAZzgxqifJDERG", "k-c5eKXOPe1uKCc", "pLlUEK2OQp5LSxEyjwTiIiJh6wZV", "Event", "nJp3F-2VcPtjMQFc3CGMa35-9ywlHQ", "bfa3b538e448862d", "8AbGnicN9Dmv_-C-SbAY8s7K", "reduce", "Mmnv7AQy-iDw6LyfK5E", "fgWxy0I", "X-BAG7OBZYg", "0ZZzOIe2K5AvcTkJ", "children", "jaYifdXZDMEoBwA", "3p0VX__BWtc-", "OmeR3FtdtQ", "clear", "Ag3rjx4h23DHqPI", "WEid3hoA8Q6S", "KxvCgTgf", "createEvent", "rHTnpwcE", "l_4T", "FALSE", "DeJnNQ", "XmadxjxAiVI", "some", "ZB_3-W0", "DXzwqDwq-jzItfjne_8R1pnCeq_wxQ", "gPETMfLBOspWFGI", "kcJOCeqmC75HGRc-sg", "\u3297\uFE0F", "wOlGCYGZeYF6bRJ7wBf-bQ", "Bww", "2II4Jdj2KOUI", "Ov1wJ5m6OodVbj4", "un_stggwyQc", "3kjNgHAi", "zFU", "URL", "3kDehy0bth7zkA", "LUPw_wk9z1Tu", "yXHPzRQH-Aiw", "EhDU", "gNkMbQ", "ReferenceError", "WeakSet", "AC_htxA6xk-k-_w", "Md12E56kcA", "9D-zwnZF93HfhNLrYw", "Promise", "ywrKgz0H5j6InsyoOfI", "eD7EzjhwnA", "status", "zfoSZr7oUJY", "Dm2w5SZ8zFM", "Function", "dUiyvF4gmnQ", "Date", "8we-6Fd1_A", "vCXCmnEzyRqYw4X1YKoF_w", "UNDEFINED", "self", "u-Q7ftjkO5hwITM", "vv5nKJuqf6ZDRB0DojH6CUgL", "zjeJ0BJWglT6z4aeQNAxhu_4bpnT", "GUuj3g", "VGKH_g1m2wiOppXGK_F0vKiTepDn8hojc3o", "rf8udc_vP8FMTSI50nqCCBB8t2ALBNLp5g", "5D7_4xt_zA", "PL84c9X1dfwXO2h66GCPXQ", "XLEYGOmN", "sLFgK7Kub-QqbHMc", "LoRgMdm4bq4", "RUuE0hB_i1TClQ", "0E2JlngpmA", "set", "gxem4Vl65CE", "R2Cs6k1vsHPxvA", "closed", "ljSr9ntM", "BiDilngxzwI", "-gvLkzUh3xG-ndeXFcE", "DJIPV86MF8N1GlU", "d68ga9mzdOQ1DAwS", "HTf_4x4", "TnrQr1MLkRg", "TBPCiSgE62qc", "cCKB1E9FoVWZut8", "Float64Array", "VXPzsh09-jvnturRfOUHwYnFS6TowkRoOx9j6S7KPmNA", "gSGs71po5W6R5rs", "nyDXhRgb7QCD2NqYdw", "ZcxmeYs", "JvtaCsCCBZowShQEiQDodDYm6A", "uQSr9jNJvmeeosHDDaBAjs70GeGqmx9P", "__proto__", "bJ1LC663Q704OFoai1_GZTxc-19wcK_Y-6_idLUC8fs", "juxzfceEBqptNk0XonU", "wM4XBcff", "NkrgoQ4u6SjF5bWUI6BdkdWGGqa2jgNXWgMdvTnccTgK5N31w4Y0YOW5d2-IhWH4r7KFazfZJ3T4kzpdk9yC8MseyyP-iZliJkJSzdth7T74bD7itpNfP91eyn_WHQhLILGnGl1FyyjnJdxq5H_edSOTloetg6HsMDAFhdNeFJD7nO2uJRSJegHalKOgoDLBvGH8PpsCwqtqPHAw8kpc-ig6Lct7aMGwZHQD5VDzQB2ruTQSw5ajzc6-va7ejJTKjOBAEc5G5DbtNxAf4tQBWcwVN0KiOOvVJZNlbaw", "zOZLA-TGGNAuAlBl8gb5TA", "QH2l1BFstWzHnKueW6I", "fsofQ_7Kf9tqXDoonQ8", "cIcUT5q8bMlv", "aupJG7eDTLR2", "1eNVBLOeMA", "charCodeAt", "e4xSVLWRTekUQlQ47A", "name", "Ic8", "O8wmPd7uU5cOODI", "Dy2__1Bcl3GqnImfJIk", "XmyT_Hw", "Int8Array", "QVK35Up8omTZufOyE-RRmc2JX76zvE1JHBFR8TmYZ29Mqdj80cQubf6LImiHmHz5z_i5IDufNWW5xhEPmp-klMQdsFviws4tZxl-ist_", "0DzFgys6wUyFncjy", "FDCG02ROrXU", "CKsufNDzOQ", "yDCX0ilIiHvyx4-8SQ", "JM4bBfe9CtAEAhFZo0CBVTZQvEg0J-S7tqz-bZI9n9WkOVo", "if4", "12", "error", "-Quh4E9vqGmEpPTVYuEc0JTHW-f3z0IWG0Jc_HidMHlLpZy0gsd1IaT4Ni_L0DOv0qHFJ36YcWW0nQYdi9m225BQ7SbohohmZHt5xJMmqn7nA339-7oUZZlS702dGglaUKrjYCschXHpMKYf2GKOd2GfxZq2zOG2EhETprlmAbv0kOijJAvxblCS4ey1iUuU3mu2PuYNzu0ufSx4jVcbjiBQJ8MsROStNCc07hf5OBzqwggCjeK6svPm5rnYmI3D351WDY03phKoB2VR-KFtbMdJMC-XILCfbtctJt85UFd_TqP0QI5POaTIx4S6bu6KPMPV3dS7jdGeDIw75C2yTcUkZUZXp5Ay_bftCqc", "replace", "140", "jeM5apjWL9xab1tGnTT5XUMah20", "previousElementSibling", "HDHkvx09pCa6v7LIU65L4cqXAKruzQwVZ10A2X3GFjUA1dfqiMUZMeryViY", "-2\u202EGfKLUWvCn\u202D", "6_8ALvzEIshSEXpExH_wGA", "HESWxXZHj0zmlpY", "D4xGU7w", "mHM", "pzXA9Aci5D-z97qzJZgO_sDbRA", "H9owfpY", "TBQ", "input", "filter", "-NcZXA", "ie9HIemmKpwALQ", "3pkwMsXjcfwUfHsh", "ue9VA-KETqlHeA0o_inAMmlfvxkxNrk", "5", "removeEventListener", "dataset", "80", "dKVHGua7VZoZSlJMzQ", "7", "xgaJ329BgFSinw", "4f83ZYDwadI", "v8FrKoWlYqNObj4fqCvWGl4NkS09BYjc0YiWNrJX-rOBb1Z-SA2_624y_OUQEORmA28D-KlUurJ9WcrTRQ19LgCXJ6s4Cw_m4emLfR-9U7IjvadocDXp8VqfJYZP6ZiQmXonh66HfPhzqyyEIvJD19kZA1IoVHY96ZXPM0Dt33s_SDFt6-l8r5sCMm80DcoYLe1gqB-GEBS5ouivSJ3RSuDH802s1lxjwa37Ta5-ttYgCcLJSh0sfz0sJ3AJUXRVAVmD_zSxPutkw-LXajf7m1aCoNcB_UcOtRfk4iqpmZevgGo5mHnZ9F1BUxVt61BQqRFpZFJ2HCESxne_OOF4gjWvt56IfVLRfEVmiitrTxrsM4SjiNJl8VqFOXqrr2VT2rDkNczjBQjbby8iptgNyGKaQ7sWShV-usG0dv4", "Jlf7o1Qf6x7q5anLHro", "BEev_1paqmjO2g", "JVO94UR4", "done", "fW7GmBw65TzH", "qDGQ2j9smG6qjQ", "OyaB0DZrlA", "_1bxrQhMjg", "unshift", "hW7En3wn-D-a8Q", "Nl-MzChL", "KfFQPLy4SQ", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F", "AirnsgYt9CA", "iLYWVbv5Dco6RxVJ", "o80RUOjKHttAEwR4plb2FCM9rBAEJru83_SuAZRnxJS2YSpPdTKxll5W8pgwKcxJKkQw3YlpkIRdYty5ZC8HBnryTtVVDG_ZkPTgZWOKaMlL0JNZAz_juirkfMs18OWhpUcc9diyc4RKlFmcUclgxZRjM3ZLZ1Yftca0aVaovxUNJ1sYl5F-yb13LxYMHLc2BtdIu225LS6dhNydQ8-qT56EnXyLzTBWgIPwYKZCrJhdErHkeCAVf0tJDhJzNyFmMGW3q3jyB9sA3ZXpWTuErnS5mvMnzl5jmyPSnVzf9ILdvw029FXqzF8qbwBezjdj2zdKCy8CSCku", "-oQtdfP8MecI", "toString", "uuw7YdPyNuxrKw", "m_ZdQrzAC5Z7AQpPgxftNA", "9wmG6Vdr8XrEpQ", "9AM", "nEigyltMvFDe5fjTZJU", "YL80epXAMsN1Aw87", "Yad1dIrFdLY0dABtzHD3FE8p5nREBZqU", "getOwnPropertyDescriptor", "action", "GS7p_BQE2xef_Y6R", "detail", "b3qq3EN_umDK8-vQbsUthg", "PEC3_HdY80v3vg", "9Y9GIoS7bq9gZxJM9BemVgIBjWpUfIY", "70bnvy4ToCg", "f33b0DEU", "Of5nKZqyIrdHOWBbkjrKEFYZ", "YodZF-e8SrIYQkU", "lDip4kp_8UShqe_kTPEE", "BJQ6co3EUYU", "-1zmqQU1", "udg", "B4VLHqXGe8lUTwoB", "o-UOQKfIWchceUFH2QaF", "BBTyvk5w", "characterSet", "getElementsByClassName", "BEf8uBkkwwin1IrXfbZz1IuCBqmrnBtT", "0oJvPpagOKUY", "ovFVB6qzU-NKdE5NvkS1MDI", "oOVaH7mDLpU3TE8ayl7xOmggvBFxabbjvA", "hasOwnProperty", "NjTBkysa1n6OwJKwDg", "bdp_JZeiZqlNW21f_36UeghZ0z5hUu7B2dvycOsUre4", "eb8qZdX2M9sYJXFU5UK5RwVb20J1Qt2t", "UQnHwA", "A-1kI5C5VqBJdA", "bkiNk0pYlEw", "aiX1ryws7kWYosXK", "AZEeSMXuHMgUCVR0", "1li3-nN0_kHtpO0", "height", "Safari", "JULGniocyBbu2ouvCQ", "oMEXV_LrH-FkZAZGxAiYIzRMoQwlNvTQ9-S1ceREpa6bdEFQfGXV6CNmgM9tIPVz", "GtlKC56GNw", "Object", "3wa1gxpCjGaWmcbgJJFHqfI", "ZK50ZoHqduc6YGs", "HhSUyGQ", "catch", "multipart\x2Fform-data", "y98LduLATsp_AR0V0Eu5Aw", "MLY3Y8j0GfUCOSg", "__93Poq6Va5EeWk", "E2Oz7lIgs0I", "14", "b7RbB7SXSrM3Ih4W", "VrxLMeuIFNtMH1Q", "gNF5KJ0", "snKOzGU-", "iRzTuhE5_Ar48Q", "nOA5Y5LOK_5gPCs5uWiWcRANl2EtQJGF7dOW", "YjWHxm9KlEOi", "lalsYqCwdJ4BOiEZqiLiD14GlyM", "xrp0IdSUYL0", "WXm8xm1WsH6Mlv-x", "80nFgSoUsxDp8ow", "VrhBNdOqHtBJWloe8jKxeA", "tagName", "EijKjSA", "P0SF7mJ27Hzr", "2Ck", "vMJleYTlGKRcIjU", "CmaZ3SFqmULcjtexC9p8kq6xIdmJpjU8Qj0xiRH7SF086a3I8694HdKffAO8r1jduIKtXxruTxjC8GA1", "f6ZzYr6Ce9gBHl9urXrvVhwSx2dSHrG4k5eL", "open", "lkLHm1AD5i7ejQ", "ENhCGaiMDZtwCQ", "dJEvdJ_4NclaYzYW9niQPUlY4CV0V9uB", "MR_JkiUs8Uy-wIG-IYlEoL2lP4qKvic", "LhCN6lZJhw", "LM5tLMe-Pq4NaisatDHbUg0b1DwzG4veztilIOY", "fZlCQJnzR5Effx1N6Q", "a2-b-3t00EKrxZjt", "tDGQoDV8", "enctype", "byteLength", "E3P5qQMZuDU", "7J1XAqKZQpcPBBQB5Cm6X2c38k9W", "rdg6dMv0O6tldDAD-zX7TgUL", "gRXGuCJn", "PMEGQLvy", "description", "z_g2cbLjOt9cGzoUxg", "tuAAT_LoUOAeeQw", "LkOV8ylXmUzo9g", "akX2qyk", "ovMnetPMLtA", "MHnuqTci4nOF", "zl_IfemcYJNNKg", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=", "message", "Element", "-XfKnCYrpg6Qqw", "bbZVQg", "5e0-Ge_HHNpQFVdTiVXwEy4-qzc3Pw", "qKc", "VF-nzH0E3g", "M0G16C11v2I", "Zu1AKuKzVJM", "crJFCrjhRZQV", "G1iK13Jb5U4", "YKIGXKA", "j-giYaTpdMd-U35p9g", "ZiKA3GlI10y2_pCwVsY", "isArray", "4E-o81hYsDzWgvXcQ_E63w", "appendChild", "Q02z50V_rw", "_sd9KpmmIq9WBD0U93qbdABBhXdrT-aZnISrK7BOg6c", "qHDuoQkr5hU", "0IRiMI6MZKUkeTkM", "rekwbI3BF9h2KTM7", "iN4_d8KjHO46OF9g", "El-g4UlG1GbF", "sNpvI42nIKNTN2hSpinfElATwWIxHoaAktHJHu8Krvw", "push", "gDnM3g", "KJ0VVYbcGvkUQBk", "KYx5Oceo", "getOwnPropertyNames", "Ya18NoC1dro1", "7fwad-frce81Xwc2hTKVOiF2xy4FEefSmJo", "SUy_4AFnuFjaxe__ZQ", "unescape", "y_AoeNf8QuF3fT4", "B2e86BlPq33LvPSAH8hCjLCyIOqEry4", "Z5kzct39OvsWNmZH8HOOQgZVyXVlXdCEidDObuoPouvZNw4mEFXnszZqpL1bRL09SDNfsvkO5fUpBZWeFFw4fE7KdftpTlKoqqfrVw3uTb8v8v0jLBvC7l-uDoM5wo3FwSZlz6WxVuQk4mLSY7oi_cxNWV1-DCkKwoDDAWv7nDRyFGkmtKQg8cFAaiV-SpJUebQg_E7fXFTy_7XZWv3IX6ue6ADlmXY-re-XD9hVs7A4XJ6iV3M_OWJsaCF4QhNMVzKZmXXXf456m7mdJXizwxfa-4hPsxhO-1K5vX3gzs_ryTxh0xzdrDYeEwoj8g4dkEhzVXlpA3lKjhynaYph21St58_RIjrSIi59iyhqHiqvOraInd0I9BbZYCLn4DEWh-63bZe2TFuPOX587IZIiT3fDcgBBEZT5Q", "oxbV4w4_4Du2-g", "iR4", "jz-0xXdkrWCchOWKO9w", "s_xzCuG1Rq5lbg", "sc8ifdXkKdQFYg4", "4awSSK3aXcJsIVN52ki_MG4", "706U", "u5t_P4eHaA", "O2-m80Rhnm-As-eT", "Fyy3_1V0pFGWtaSeE7xPwIbxEr21", "Lm7biGkw3TfM-g", "T10", "start", "czeg", "X2iN2ml1jn8", "forEach", "typeAttr", "querySelector", "iexYB5-f", "DguP7ENqlVjqoufbcKkU3MfG", "g0TgrwAq", "Ob14LKaCJZIaWT1XpWPvTkIr", "0vYLTOniPtdsfw", "Z5Q", "rIQuaIDiEItEBUto", "FWTnohMY4w", "0_E4cNj1J_Y", "B339vBMz9DXY-Pjbe_4J34HUSbvm1loDElNQoGKNI2RD4uro3pspffikaiTUyiWs_OiYIG-HLmmz7WgMwZOEx9YD1j7jlIR_bRAGlMYxsWqreXWw4spLIptp12LLABVWPay6BwcUqVOoeYYUti6MOj6Ti8zT0fC-fzYymM5DCY3mgfDuEgmUZxzHiQ", "-RXNlmwh2Ss", "apply", "log", "2Tf5vA", "readyState", "gfUxdsjsL_htY2ZrvHk", "LuNlL5Wa", "complete", "FtdOHKSQXZ9qEE9jyECpIQ", "5eddFrK3HoNsWkdAkxbhMQ", "parse", "HZ5uN9yFfg", "3zaQ02FQgnqL3tA", "Vyg", "ZeN-NY2JIIZvACp7jnGACA", "C7cQGe0", "setPrototypeOf", "EEDe1jUPnRfkm9b6H7l3pryPXQ", "fxfakiILxw8", "Xli9xDtZ6iSUrZXXGPxHp7WNfqnm2wwEdnx231nJMls", "g4sjdeDhPvsBOH4WsA", "get", "aatsZIU", "u1vcnCcA", "submit", "call", "SVrgtxM_njTKr-g", "V1j3yl0c1g", "iLJpHob-YQ", "true", "C0j5gE8C_D_nzLmFR8oB6pyWf4s", "ViiKxWRIiEiri8G2Rdw", "DkmXwXhOl3zKg4_5Kt10s6mgG5yGqyo", "H3TOkTUZoQfJ3L4", "PYARVevDOPVB", "every"];
    var globalEmptyObj = Object.create(null);
    var opcodeHandlerMap = [[[5, 165], [4, 23], [4, 102], [4, 236], [2, 199], [9, 230], [4, 170], [7, 54], [9, 153], [4, 131], [7, 174], [7, 18], [6, 135], [3, 225], [6, 127], [1, 164], [6, 120], [9, 208], [5, 70], [6, 152], [9, 21], [4, 144], [2, 196], [0, 140], [9, 95], [1, 136], [8, 96], [9, 223], [5, 145], [0, 67], [7, 216], [7, 58], [5, 92], [1, 13], [6, 129], [3, 44], [1, 41], [8, 125], [9, 231], [2, 122], [3, 134], [0, 99], [9, 180], [4, 73], [6, 66], [4, 207], [5, 104], [4, 86], [1, 222], [2, 158], [0, 161], [7, 184], [2, 218], [4, 12], [6, 55], [5, 132], [0, 167], [8, 91], [0, 56], [7, 60], [1, 87], [2, 149], [9, 109], [1, 72], [6, 93], [8, 192], [4, 28], [0, 159], [9, 34], [9, 22], [9, 194], [1, 97], [9, 80], [7, 228], [2, 185], [5, 75], [2, 206], [6, 210], [5, 163], [3, 226], [7, 209], [7, 26], [1, 10], [3, 27], [7, 213], [2, 154], [4, 7], [6, 85], [5, 61], [8, 1], [2, 234], [3, 229], [4, 68], [1, 202], [4, 191], [5, 64], [6, 3], [5, 11], [8, 193], [0, 31], [9, 83], [2, 221], [2, 115], [7, 46], [7, 123], [1, 169], [5, 190], [6, 43], [6, 220], [0, 42], [8, 106], [7, 20], [5, 205], [8, 6], [9, 176], [0, 101], [8, 4], [6, 14], [4, 139], [1, 168], [0, 40], [2, 118], [6, 71], [6, 155], [4, 74], [7, 15], [1, 116], [4, 8], [7, 77], [9, 24], [7, 0], [2, 88], [4, 117], [9, 62], [9, 187], [3, 103], [0, 233], [9, 182], [0, 215], [4, 79], [4, 183], [3, 111], [5, 227], [4, 178], [8, 147], [6, 29], [0, 142], [0, 224], [8, 32], [6, 219], [5, 107], [1, 16], [7, 197], [7, 57], [3, 39], [4, 130], [7, 204], [5, 5], [0, 151], [1, 198], [8, 133], [9, 49], [0, 119], [0, 2], [5, 84], [4, 82], [6, 189], [3, 100], [8, 175], [7, 179], [5, 81], [0, 94], [1, 201], [7, 38], [3, 65], [5, 121], [4, 217], [7, 156], [6, 143], [9, 157], [6, 19], [1, 212], [3, 50], [2, 30], [3, 89], [4, 59], [0, 52], [0, 214], [5, 90], [7, 126], [8, 53], [3, 148], [8, 166], [5, 51], [5, 138], [1, 114], [7, 98], [0, 177], [3, 37], [0, 162], [6, 235], [6, 211], [5, 36], [9, 17], [1, 146], [5, 78], [3, 150], [1, 172], [0, 25], [2, 108], [2, 160], [1, 128], [1, 9], [2, 35], [7, 203], [9, 186], [7, 141], [2, 105], [7, 173], [4, 137], [1, 69], [5, 188], [6, 181], [5, 63], [2, 45], [2, 112], [3, 110], [9, 113], [7, 171], [4, 200], [0, 48], [3, 47], [9, 124], [6, 195], [6, 76], [7, 232], [2, 33]], [[1, 125], [6, 56], [5, 81], [9, 67], [6, 82], [9, 160], [3, 96], [8, 78], [1, 109], [6, 48], [8, 76], [0, 207], [2, 219], [7, 143], [9, 190], [7, 41], [1, 165], [7, 192], [2, 157], [4, 185], [7, 172], [0, 197], [3, 235], [1, 135], [0, 131], [5, 166], [4, 142], [5, 58], [9, 89], [5, 202], [1, 6], [0, 110], [6, 75], [0, 171], [9, 153], [1, 20], [8, 162], [3, 102], [8, 4], [2, 43], [6, 122], [8, 51], [0, 124], [3, 223], [6, 44], [1, 230], [2, 45], [2, 64], [5, 79], [5, 94], [0, 163], [4, 111], [0, 90], [9, 151], [1, 225], [3, 200], [9, 234], [2, 83], [6, 140], [1, 152], [6, 77], [8, 133], [7, 220], [7, 35], [2, 206], [0, 228], [2, 189], [5, 214], [6, 129], [5, 8], [7, 3], [9, 196], [4, 15], [9, 127], [2, 0], [0, 69], [3, 101], [8, 19], [4, 170], [5, 116], [3, 199], [4, 173], [3, 47], [4, 23], [5, 53], [0, 87], [9, 26], [0, 84], [7, 95], [7, 5], [6, 210], [5, 209], [6, 50], [2, 198], [0, 213], [1, 121], [7, 191], [2, 227], [5, 66], [4, 73], [4, 24], [3, 71], [7, 204], [5, 123], [4, 1], [8, 99], [8, 187], [1, 86], [1, 148], [8, 92], [1, 181], [5, 59], [2, 55], [9, 169], [1, 57], [6, 70], [6, 216], [2, 149], [2, 88], [0, 13], [2, 208], [7, 113], [5, 108], [2, 183], [6, 22], [0, 217], [1, 18], [6, 7], [8, 12], [0, 186], [3, 32], [3, 168], [2, 203], [8, 29], [3, 159], [8, 180], [2, 164], [6, 65], [6, 68], [9, 52], [1, 106], [5, 103], [8, 156], [3, 97], [1, 174], [2, 105], [9, 150], [0, 134], [4, 40], [4, 63], [4, 100], [9, 9], [1, 232], [0, 222], [2, 179], [8, 72], [5, 25], [1, 34], [4, 154], [4, 205], [1, 39], [2, 118], [5, 194], [9, 2], [2, 218], [0, 17], [4, 137], [8, 178], [8, 80], [6, 236], [9, 28], [3, 21], [3, 107], [9, 54], [0, 188], [0, 93], [8, 10], [5, 182], [8, 184], [9, 60], [4, 31], [4, 146], [8, 126], [7, 144], [6, 36], [7, 91], [0, 212], [6, 117], [0, 74], [3, 112], [2, 138], [0, 114], [0, 130], [7, 85], [5, 155], [0, 46], [3, 27], [2, 119], [4, 115], [2, 136], [9, 221], [9, 175], [6, 104], [5, 147], [6, 49], [8, 120], [0, 14], [6, 37], [1, 42], [4, 176], [1, 145], [9, 201], [6, 16], [9, 195], [6, 161], [5, 233], [5, 139], [7, 224], [2, 226], [5, 167], [0, 193], [0, 128], [9, 231], [4, 158], [1, 33], [8, 62], [5, 177], [7, 229], [9, 61], [3, 98], [2, 141], [3, 215], [4, 132], [5, 11], [9, 38], [6, 211], [6, 30]], [[8, 194], [2, 20], [9, 105], [8, 120], [6, 21], [6, 62], [2, 168], [1, 130], [5, 49], [5, 18], [9, 68], [2, 193], [0, 164], [5, 182], [1, 223], [7, 167], [3, 116], [8, 95], [7, 101], [2, 29], [3, 205], [8, 47], [2, 36], [2, 17], [5, 23], [0, 97], [6, 87], [5, 32], [5, 91], [1, 188], [2, 191], [6, 72], [0, 232], [7, 2], [3, 96], [9, 121], [1, 134], [9, 157], [5, 220], [7, 75], [6, 111], [2, 115], [9, 128], [9, 159], [1, 58], [3, 185], [8, 86], [7, 190], [3, 171], [2, 197], [6, 84], [0, 66], [9, 136], [7, 151], [7, 80], [5, 30], [1, 135], [4, 235], [6, 138], [6, 37], [7, 27], [3, 59], [2, 10], [4, 192], [9, 163], [0, 13], [1, 52], [4, 102], [2, 12], [7, 1], [1, 127], [6, 26], [5, 196], [8, 61], [1, 187], [2, 221], [0, 144], [0, 166], [7, 189], [6, 69], [6, 186], [3, 42], [3, 203], [5, 65], [9, 31], [0, 129], [8, 133], [1, 114], [5, 212], [2, 210], [9, 41], [6, 45], [9, 118], [2, 179], [8, 4], [4, 56], [6, 104], [4, 55], [2, 15], [8, 25], [2, 184], [3, 229], [0, 233], [1, 176], [9, 9], [9, 50], [8, 201], [4, 125], [8, 123], [0, 234], [0, 214], [7, 53], [4, 158], [4, 107], [8, 28], [9, 141], [7, 224], [8, 5], [4, 112], [4, 165], [4, 206], [0, 106], [0, 148], [7, 54], [8, 131], [3, 39], [8, 14], [9, 57], [4, 109], [2, 174], [4, 119], [3, 140], [7, 89], [6, 200], [8, 145], [5, 79], [4, 73], [7, 90], [6, 113], [2, 92], [2, 202], [7, 6], [6, 199], [1, 153], [1, 155], [6, 137], [4, 172], [8, 236], [8, 7], [5, 211], [6, 19], [9, 16], [4, 149], [1, 51], [6, 161], [2, 74], [2, 227], [6, 124], [5, 70], [6, 222], [1, 180], [2, 93], [3, 100], [9, 108], [9, 98], [2, 156], [7, 60], [8, 175], [4, 204], [0, 99], [8, 33], [6, 208], [4, 177], [3, 117], [8, 143], [5, 150], [2, 8], [9, 77], [6, 88], [3, 63], [7, 11], [5, 213], [6, 46], [3, 35], [0, 170], [5, 64], [9, 44], [0, 147], [0, 226], [6, 122], [8, 146], [7, 71], [1, 40], [3, 48], [4, 231], [5, 83], [9, 78], [2, 85], [6, 181], [7, 230], [3, 81], [3, 34], [0, 22], [4, 0], [4, 228], [7, 38], [1, 76], [7, 94], [4, 103], [6, 3], [4, 139], [0, 162], [6, 24], [4, 169], [3, 110], [4, 82], [6, 142], [1, 215], [7, 216], [3, 225], [9, 152], [3, 126], [6, 209], [5, 219], [8, 218], [7, 67], [9, 160], [7, 195], [6, 43], [2, 178], [7, 132], [6, 198], [4, 154], [3, 207], [5, 217], [2, 183], [5, 173]], [[3, 187], [7, 233], [6, 1], [4, 101], [1, 2], [9, 22], [0, 173], [4, 172], [3, 62], [3, 65], [3, 228], [3, 37], [1, 93], [4, 189], [8, 128], [0, 44], [6, 77], [4, 123], [9, 112], [8, 35], [0, 223], [8, 230], [9, 174], [1, 215], [4, 75], [0, 180], [5, 83], [6, 156], [1, 137], [9, 143], [8, 67], [3, 51], [5, 171], [0, 98], [4, 40], [5, 54], [8, 108], [5, 179], [3, 47], [8, 97], [4, 199], [6, 158], [0, 170], [4, 7], [0, 153], [6, 110], [2, 21], [4, 181], [8, 96], [1, 58], [6, 29], [2, 176], [5, 168], [8, 221], [5, 33], [1, 63], [4, 19], [4, 160], [6, 144], [7, 149], [2, 64], [1, 48], [9, 100], [9, 202], [8, 109], [4, 139], [0, 24], [7, 89], [5, 85], [6, 175], [9, 66], [6, 122], [6, 90], [5, 135], [8, 210], [1, 119], [8, 127], [9, 163], [4, 115], [8, 236], [8, 197], [3, 134], [5, 117], [7, 212], [4, 114], [3, 203], [7, 142], [8, 78], [3, 70], [0, 126], [6, 0], [5, 201], [7, 104], [4, 13], [6, 99], [1, 17], [3, 61], [5, 46], [1, 36], [5, 188], [3, 42], [3, 159], [8, 105], [0, 71], [3, 226], [2, 103], [2, 10], [2, 53], [3, 18], [1, 74], [6, 205], [9, 8], [3, 69], [9, 208], [4, 79], [1, 50], [2, 133], [1, 84], [0, 198], [9, 55], [2, 140], [1, 88], [7, 11], [1, 41], [0, 192], [1, 222], [5, 34], [7, 191], [7, 118], [6, 235], [8, 91], [7, 130], [5, 216], [1, 132], [3, 186], [9, 224], [9, 219], [1, 59], [5, 147], [1, 164], [5, 107], [9, 231], [9, 52], [3, 220], [7, 178], [2, 76], [7, 25], [5, 131], [4, 80], [8, 9], [3, 166], [2, 16], [9, 32], [2, 49], [6, 155], [4, 81], [6, 86], [5, 45], [3, 152], [8, 232], [5, 102], [7, 161], [3, 207], [4, 60], [6, 190], [0, 157], [8, 217], [8, 227], [0, 56], [9, 87], [1, 183], [8, 185], [7, 14], [6, 234], [5, 206], [7, 26], [9, 169], [3, 12], [1, 31], [2, 15], [7, 184], [9, 209], [5, 150], [7, 218], [4, 151], [3, 43], [3, 68], [2, 146], [7, 196], [9, 116], [9, 23], [6, 136], [8, 57], [9, 38], [7, 129], [6, 141], [6, 6], [0, 82], [0, 27], [4, 204], [1, 167], [9, 20], [9, 229], [7, 3], [5, 94], [8, 154], [6, 213], [7, 72], [4, 182], [4, 225], [5, 165], [7, 214], [0, 211], [4, 138], [3, 4], [5, 111], [0, 124], [0, 195], [8, 177], [3, 92], [7, 106], [2, 125], [1, 113], [3, 148], [3, 145], [0, 120], [4, 121], [0, 39], [2, 95], [5, 5], [5, 30], [9, 194], [3, 28], [9, 193], [4, 73], [5, 162], [3, 200]], [[1, 154], [4, 30], [1, 77], [2, 189], [9, 24], [9, 139], [9, 140], [5, 108], [2, 44], [9, 187], [6, 219], [0, 39], [6, 50], [8, 204], [8, 124], [0, 19], [7, 82], [8, 197], [3, 157], [1, 61], [8, 42], [0, 8], [6, 193], [2, 103], [8, 6], [6, 83], [6, 137], [2, 150], [4, 47], [2, 57], [9, 172], [8, 179], [0, 182], [5, 134], [8, 72], [7, 213], [6, 191], [9, 208], [6, 129], [0, 113], [3, 0], [9, 48], [2, 96], [0, 116], [1, 91], [3, 203], [8, 168], [0, 12], [6, 49], [6, 36], [4, 190], [0, 160], [0, 125], [1, 17], [5, 223], [4, 212], [8, 198], [6, 200], [5, 90], [3, 122], [7, 234], [6, 1], [5, 207], [4, 128], [9, 155], [0, 136], [6, 29], [3, 88], [8, 79], [3, 166], [3, 80], [3, 92], [3, 100], [3, 64], [5, 120], [4, 161], [0, 89], [8, 121], [9, 70], [7, 130], [6, 216], [7, 199], [7, 145], [2, 2], [3, 165], [7, 149], [4, 60], [3, 14], [5, 22], [1, 143], [3, 232], [7, 156], [0, 195], [2, 225], [7, 178], [4, 184], [9, 85], [0, 201], [8, 215], [3, 221], [5, 63], [5, 138], [3, 144], [3, 169], [1, 38], [0, 21], [2, 218], [9, 217], [9, 118], [9, 93], [4, 26], [4, 56], [5, 222], [6, 105], [7, 16], [5, 162], [8, 33], [5, 84], [8, 67], [5, 126], [3, 141], [8, 163], [8, 3], [2, 101], [2, 153], [7, 175], [6, 76], [6, 46], [0, 194], [0, 18], [4, 229], [0, 180], [5, 95], [6, 41], [5, 55], [4, 11], [3, 174], [1, 164], [8, 159], [9, 99], [2, 170], [6, 119], [3, 98], [6, 185], [0, 45], [6, 109], [1, 51], [4, 68], [0, 183], [5, 10], [6, 173], [6, 28], [2, 75], [6, 52], [5, 13], [2, 107], [6, 148], [3, 62], [7, 86], [6, 104], [7, 117], [6, 111], [6, 78], [4, 31], [1, 27], [4, 20], [2, 115], [0, 158], [7, 9], [6, 188], [0, 5], [2, 37], [4, 236], [9, 35], [9, 210], [1, 25], [6, 133], [5, 231], [0, 228], [3, 230], [9, 81], [6, 146], [7, 59], [9, 176], [5, 142], [9, 209], [8, 53], [0, 73], [7, 34], [9, 110], [0, 102], [9, 202], [9, 123], [6, 196], [7, 40], [9, 54], [1, 87], [1, 226], [6, 227], [2, 112], [6, 147], [2, 7], [0, 131], [8, 152], [6, 71], [1, 106], [4, 211], [0, 206], [8, 224], [2, 66], [4, 127], [4, 167], [1, 233], [8, 43], [5, 235], [4, 94], [2, 58], [7, 32], [1, 23], [0, 15], [0, 135], [1, 205], [5, 97], [1, 65], [5, 69], [8, 171], [5, 151], [5, 132], [0, 74], [3, 220], [7, 192], [2, 4], [6, 177], [7, 186], [4, 114], [5, 214], [5, 181]], [[1, 164], [8, 65], [0, 60], [5, 233], [2, 26], [8, 11], [7, 82], [9, 219], [5, 5], [0, 130], [8, 216], [9, 70], [9, 75], [7, 195], [3, 80], [9, 200], [8, 107], [4, 136], [2, 220], [6, 180], [7, 234], [1, 84], [2, 225], [3, 201], [0, 100], [0, 158], [5, 97], [8, 167], [2, 228], [9, 181], [2, 4], [2, 174], [6, 41], [8, 49], [2, 206], [8, 176], [9, 115], [2, 161], [2, 32], [5, 22], [5, 139], [0, 36], [3, 69], [8, 7], [6, 30], [6, 50], [9, 196], [2, 110], [3, 81], [0, 226], [8, 34], [8, 172], [4, 117], [9, 52], [7, 106], [1, 104], [7, 231], [0, 159], [7, 105], [6, 235], [3, 116], [6, 33], [0, 16], [9, 221], [7, 48], [6, 35], [7, 210], [7, 224], [0, 204], [0, 77], [0, 1], [5, 71], [5, 149], [1, 17], [7, 112], [0, 138], [4, 78], [3, 23], [2, 177], [6, 10], [9, 91], [1, 146], [5, 89], [5, 150], [9, 87], [7, 54], [1, 39], [0, 205], [8, 96], [4, 203], [8, 183], [0, 191], [2, 68], [8, 14], [8, 152], [4, 37], [9, 114], [7, 157], [8, 165], [2, 13], [9, 55], [5, 145], [1, 88], [9, 214], [1, 21], [7, 67], [4, 232], [6, 59], [8, 102], [7, 154], [2, 111], [2, 28], [1, 218], [1, 12], [3, 142], [5, 222], [5, 92], [1, 173], [5, 79], [5, 160], [1, 133], [5, 155], [6, 42], [9, 129], [0, 147], [7, 122], [7, 64], [0, 223], [5, 213], [4, 24], [7, 109], [0, 236], [9, 0], [7, 58], [8, 3], [7, 194], [2, 179], [7, 229], [3, 171], [5, 85], [0, 168], [9, 44], [2, 57], [2, 8], [4, 120], [6, 128], [8, 73], [2, 162], [8, 209], [6, 202], [7, 188], [8, 53], [0, 98], [3, 151], [0, 169], [4, 153], [5, 125], [6, 134], [2, 208], [5, 90], [7, 192], [4, 199], [1, 132], [0, 207], [1, 20], [9, 131], [1, 185], [8, 15], [8, 143], [2, 119], [7, 178], [1, 166], [2, 83], [8, 76], [8, 72], [6, 61], [5, 25], [3, 137], [7, 86], [8, 18], [3, 127], [6, 197], [4, 56], [9, 19], [1, 43], [5, 175], [9, 27], [5, 38], [9, 40], [4, 140], [6, 45], [1, 187], [3, 6], [8, 184], [2, 103], [8, 47], [3, 51], [1, 230], [8, 121], [9, 101], [8, 93], [3, 113], [0, 31], [2, 156], [9, 135], [6, 108], [3, 144], [7, 189], [7, 215], [0, 190], [4, 212], [1, 46], [0, 94], [9, 217], [2, 198], [4, 118], [3, 124], [1, 2], [2, 99], [1, 29], [2, 123], [2, 66], [8, 148], [0, 227], [5, 9], [4, 141], [7, 170], [6, 95], [1, 62], [6, 163], [6, 182], [0, 193], [3, 211], [1, 126], [8, 63], [4, 74], [4, 186]], [[8, 207], [1, 41], [0, 223], [0, 43], [8, 131], [7, 157], [4, 113], [2, 191], [7, 11], [5, 40], [1, 73], [1, 97], [3, 3], [1, 186], [5, 203], [7, 189], [3, 14], [5, 57], [6, 197], [7, 128], [0, 48], [3, 196], [6, 165], [0, 35], [8, 45], [7, 142], [8, 222], [8, 156], [1, 193], [6, 25], [3, 229], [0, 101], [5, 21], [0, 69], [2, 68], [7, 144], [8, 214], [2, 51], [9, 52], [1, 105], [4, 184], [1, 61], [5, 219], [6, 169], [3, 150], [2, 176], [3, 9], [4, 236], [0, 12], [5, 135], [9, 33], [0, 126], [7, 226], [0, 111], [9, 164], [8, 107], [0, 224], [9, 225], [5, 70], [0, 44], [9, 152], [9, 37], [0, 212], [9, 205], [4, 120], [4, 175], [4, 75], [1, 204], [1, 146], [9, 143], [7, 84], [9, 91], [7, 64], [3, 108], [2, 100], [2, 134], [9, 63], [8, 71], [8, 65], [0, 172], [8, 109], [5, 38], [1, 209], [4, 66], [6, 192], [0, 190], [2, 110], [3, 4], [5, 22], [1, 228], [3, 72], [7, 96], [7, 216], [7, 95], [8, 46], [2, 202], [7, 174], [8, 83], [2, 15], [8, 178], [8, 106], [0, 139], [5, 5], [8, 102], [0, 89], [3, 116], [5, 162], [5, 217], [8, 81], [7, 177], [7, 17], [7, 31], [4, 149], [6, 235], [6, 133], [5, 180], [3, 47], [2, 122], [2, 141], [2, 42], [4, 215], [1, 147], [0, 129], [1, 93], [3, 198], [3, 221], [9, 220], [0, 82], [6, 13], [4, 182], [7, 24], [6, 54], [8, 231], [2, 103], [7, 92], [3, 136], [6, 20], [0, 194], [2, 195], [1, 117], [9, 50], [4, 125], [2, 60], [8, 140], [4, 163], [4, 232], [6, 161], [0, 27], [3, 32], [6, 2], [9, 1], [3, 167], [3, 210], [5, 208], [8, 188], [9, 77], [0, 10], [8, 158], [0, 119], [2, 233], [0, 201], [2, 19], [7, 115], [1, 230], [2, 121], [8, 181], [7, 39], [6, 218], [0, 74], [7, 118], [6, 79], [8, 67], [9, 171], [1, 148], [3, 159], [5, 88], [1, 112], [4, 145], [4, 179], [4, 30], [2, 55], [3, 59], [2, 114], [7, 168], [3, 200], [3, 123], [6, 211], [9, 36], [3, 99], [4, 16], [6, 34], [8, 127], [3, 18], [3, 85], [5, 7], [2, 76], [1, 56], [1, 8], [5, 187], [7, 28], [2, 132], [6, 98], [8, 154], [5, 137], [8, 90], [0, 138], [0, 151], [8, 234], [6, 94], [1, 104], [4, 86], [2, 206], [5, 166], [2, 80], [5, 0], [2, 155], [6, 185], [0, 49], [9, 227], [5, 62], [8, 26], [0, 87], [1, 160], [9, 213], [3, 78], [7, 29], [2, 183], [4, 58], [2, 153], [3, 199], [9, 23], [3, 124], [6, 53], [8, 170], [2, 173], [4, 130], [1, 6]], [[9, 231], [8, 158], [0, 117], [0, 62], [5, 134], [8, 160], [5, 126], [8, 152], [2, 88], [2, 83], [2, 2], [1, 85], [2, 30], [5, 81], [8, 40], [3, 56], [4, 232], [3, 64], [7, 186], [4, 198], [7, 75], [0, 13], [5, 224], [5, 24], [0, 93], [3, 209], [3, 67], [9, 48], [5, 65], [3, 80], [1, 138], [8, 140], [6, 124], [3, 22], [6, 8], [5, 181], [2, 109], [9, 19], [4, 34], [6, 1], [8, 226], [2, 78], [7, 122], [3, 113], [9, 98], [0, 103], [5, 234], [6, 120], [9, 207], [1, 20], [0, 210], [3, 82], [1, 180], [3, 223], [3, 212], [0, 17], [6, 155], [6, 227], [0, 111], [1, 59], [2, 12], [5, 142], [0, 219], [6, 49], [0, 101], [4, 163], [1, 21], [9, 156], [6, 39], [4, 165], [6, 97], [7, 99], [4, 221], [6, 27], [4, 135], [9, 10], [7, 179], [5, 196], [5, 123], [1, 23], [4, 203], [4, 189], [5, 91], [7, 166], [6, 136], [3, 233], [2, 145], [4, 148], [1, 55], [9, 61], [5, 52], [5, 204], [9, 53], [7, 174], [0, 28], [8, 188], [0, 133], [8, 36], [7, 128], [1, 141], [5, 216], [6, 177], [6, 183], [3, 92], [5, 143], [2, 16], [6, 147], [4, 213], [2, 89], [8, 161], [8, 169], [2, 35], [0, 146], [4, 178], [7, 69], [4, 70], [2, 125], [4, 202], [2, 191], [7, 7], [3, 4], [3, 119], [3, 235], [2, 18], [2, 73], [4, 54], [8, 6], [5, 206], [7, 157], [4, 118], [2, 195], [0, 194], [4, 76], [8, 150], [8, 63], [6, 26], [4, 15], [8, 37], [9, 168], [5, 211], [9, 153], [8, 171], [0, 184], [7, 214], [7, 192], [2, 94], [5, 220], [3, 132], [9, 182], [9, 170], [8, 106], [9, 41], [9, 127], [3, 77], [1, 5], [7, 108], [5, 43], [2, 45], [6, 159], [1, 9], [2, 90], [3, 218], [4, 197], [3, 199], [8, 176], [3, 149], [2, 14], [0, 38], [5, 116], [5, 71], [7, 228], [9, 79], [9, 229], [2, 172], [7, 208], [6, 187], [6, 107], [4, 95], [9, 167], [1, 42], [2, 60], [9, 87], [5, 164], [5, 130], [1, 102], [2, 0], [0, 44], [1, 162], [2, 230], [9, 25], [5, 201], [0, 222], [5, 114], [6, 144], [9, 51], [8, 104], [8, 205], [2, 190], [9, 100], [0, 86], [0, 11], [7, 139], [3, 175], [0, 29], [2, 50], [6, 96], [3, 110], [2, 112], [1, 217], [0, 72], [5, 84], [5, 47], [6, 185], [2, 121], [3, 193], [2, 58], [2, 3], [3, 32], [2, 154], [1, 105], [7, 33], [4, 131], [1, 200], [5, 151], [4, 236], [8, 115], [0, 68], [3, 46], [2, 57], [2, 173], [5, 137], [5, 74], [6, 129], [1, 31], [6, 66], [6, 225], [1, 215]], [[8, 71], [5, 155], [9, 217], [7, 146], [5, 46], [6, 3], [0, 36], [7, 41], [9, 150], [8, 121], [1, 179], [4, 63], [1, 11], [7, 9], [3, 28], [8, 86], [3, 56], [2, 181], [1, 139], [2, 5], [0, 54], [0, 189], [6, 129], [1, 122], [7, 126], [3, 137], [3, 48], [4, 66], [2, 27], [7, 16], [0, 120], [5, 55], [4, 147], [8, 130], [1, 208], [7, 113], [6, 6], [7, 140], [6, 159], [2, 92], [4, 222], [8, 143], [1, 205], [7, 235], [7, 131], [6, 110], [8, 164], [4, 124], [4, 186], [0, 228], [8, 12], [4, 225], [6, 182], [0, 194], [7, 119], [7, 7], [8, 38], [6, 26], [9, 22], [8, 13], [9, 207], [3, 128], [0, 96], [0, 105], [2, 114], [9, 188], [2, 171], [9, 202], [2, 220], [8, 95], [2, 39], [5, 45], [1, 234], [3, 2], [5, 145], [5, 60], [9, 200], [2, 70], [6, 78], [1, 98], [2, 149], [1, 103], [1, 125], [4, 141], [4, 57], [7, 61], [9, 69], [0, 168], [3, 40], [5, 136], [7, 14], [9, 21], [1, 198], [3, 178], [0, 184], [8, 160], [6, 165], [1, 196], [4, 19], [4, 104], [5, 158], [5, 195], [4, 172], [2, 183], [2, 74], [6, 193], [5, 216], [9, 58], [8, 236], [3, 177], [3, 93], [4, 79], [9, 233], [8, 75], [1, 163], [2, 167], [0, 162], [4, 34], [6, 106], [8, 67], [9, 101], [7, 180], [8, 232], [8, 85], [1, 31], [0, 24], [7, 23], [2, 51], [0, 35], [7, 135], [7, 81], [3, 118], [4, 134], [0, 226], [1, 107], [6, 211], [7, 169], [7, 185], [7, 88], [2, 49], [9, 0], [6, 10], [3, 42], [7, 18], [2, 153], [3, 151], [4, 90], [2, 108], [0, 73], [7, 201], [1, 29], [4, 203], [3, 83], [4, 132], [2, 117], [2, 64], [2, 111], [5, 87], [2, 82], [2, 99], [4, 25], [6, 123], [8, 62], [0, 89], [0, 187], [4, 209], [0, 154], [5, 206], [9, 223], [0, 59], [0, 84], [2, 133], [4, 218], [2, 68], [3, 215], [6, 212], [0, 138], [8, 219], [5, 156], [2, 176], [3, 173], [4, 190], [5, 116], [7, 47], [0, 174], [2, 53], [3, 1], [9, 127], [0, 221], [1, 20], [5, 192], [2, 229], [1, 30], [2, 65], [6, 204], [1, 43], [8, 44], [5, 50], [3, 199], [3, 17], [7, 80], [0, 4], [4, 142], [5, 52], [4, 109], [6, 33], [3, 37], [2, 161], [8, 175], [0, 112], [5, 91], [9, 191], [1, 15], [7, 166], [5, 144], [2, 8], [6, 76], [8, 77], [2, 94], [2, 100], [0, 227], [2, 170], [2, 72], [5, 230], [7, 102], [7, 152], [2, 157], [2, 214], [3, 97], [3, 197], [9, 148], [4, 115], [1, 231], [7, 213], [4, 210], [8, 224], [0, 32]], [[1, 20], [7, 76], [2, 65], [0, 101], [9, 27], [7, 58], [9, 106], [4, 222], [6, 85], [6, 230], [2, 81], [7, 225], [5, 220], [4, 183], [6, 193], [8, 8], [1, 235], [8, 192], [9, 7], [7, 184], [6, 165], [2, 171], [2, 211], [9, 153], [0, 104], [4, 212], [4, 169], [0, 61], [9, 123], [7, 30], [5, 95], [3, 89], [8, 42], [9, 96], [9, 139], [6, 141], [8, 216], [3, 233], [2, 60], [4, 67], [1, 190], [6, 109], [5, 2], [4, 210], [3, 19], [6, 213], [5, 37], [9, 32], [4, 10], [1, 9], [1, 182], [8, 48], [6, 199], [0, 112], [0, 191], [3, 205], [9, 166], [6, 25], [9, 202], [1, 155], [9, 176], [4, 162], [3, 51], [3, 33], [1, 98], [8, 143], [5, 135], [7, 93], [9, 152], [5, 87], [5, 29], [9, 80], [7, 0], [7, 156], [7, 187], [6, 72], [1, 26], [7, 118], [2, 14], [5, 46], [9, 214], [7, 146], [3, 79], [1, 116], [8, 4], [4, 218], [5, 172], [2, 121], [8, 127], [5, 168], [8, 145], [7, 147], [2, 103], [2, 158], [6, 207], [0, 198], [8, 45], [0, 167], [1, 34], [2, 110], [4, 221], [4, 204], [7, 134], [4, 6], [3, 105], [9, 132], [1, 53], [5, 62], [1, 215], [5, 92], [8, 148], [1, 24], [2, 137], [0, 125], [7, 84], [6, 196], [6, 114], [2, 175], [7, 178], [7, 3], [6, 17], [9, 124], [0, 177], [7, 223], [5, 144], [8, 129], [2, 188], [0, 197], [3, 186], [3, 120], [4, 236], [7, 234], [7, 138], [0, 52], [6, 91], [3, 35], [2, 94], [7, 195], [5, 15], [4, 54], [0, 224], [0, 117], [5, 57], [1, 31], [1, 113], [1, 180], [3, 43], [7, 86], [9, 108], [8, 179], [6, 38], [9, 99], [5, 115], [0, 78], [6, 47], [8, 149], [3, 41], [9, 185], [1, 122], [4, 39], [9, 36], [6, 160], [9, 111], [4, 18], [9, 170], [8, 66], [1, 23], [7, 107], [8, 200], [7, 142], [0, 209], [5, 231], [5, 44], [8, 189], [9, 208], [6, 77], [9, 164], [1, 228], [0, 174], [8, 133], [4, 1], [6, 50], [3, 128], [7, 12], [5, 181], [7, 206], [2, 226], [5, 82], [4, 217], [5, 88], [5, 150], [2, 201], [6, 154], [8, 163], [6, 16], [2, 73], [0, 151], [5, 71], [5, 126], [2, 203], [5, 64], [8, 157], [3, 131], [5, 100], [6, 130], [2, 28], [1, 68], [4, 136], [2, 13], [9, 56], [1, 173], [1, 159], [1, 102], [9, 74], [7, 161], [7, 90], [1, 63], [2, 21], [2, 232], [0, 229], [1, 70], [7, 40], [3, 219], [8, 227], [1, 59], [0, 22], [3, 194], [6, 119], [5, 83], [9, 75], [1, 140], [1, 11], [6, 97], [8, 69], [5, 49], [6, 5], [0, 55]]];
    var parameterArray = [
        {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [5, 34, 301]
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            t: [5, 4],
            C: [4, 5],
            v: [0, 1, 2, 3]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [4]
        }, {
            t: [1],
            C: [1],
            v: [0, 301]
        }, {
            l: 1,
            t: [0],
            C: [0],
            v: [143, 222]
        }, {
            t: [0],
            C: [0],
            v: [19]
        }, {
            V: 0,
            t: [],
            C: [1, 2, 3, 4, 5],
            v: [119, 301]
        }, {
            t: [4, 13, 17, 19, 18, 21],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
            v: [36, 48, 90, 122, 125, 172, 189, 199, 209, 210, 226, 258, 337, 353]
        }, {
            t: [],
            C: [],
            v: [0, 6, 7, 10, 14, 15, 17, 19, 23, 42, 53, 69, 97, 101, 116, 139, 154, 166, 171, 194, 203, 214, 237, 238, 273, 285, 316]
        }, {
            l: 3,
            t: [1],
            C: [0, 1, 2],
            v: []
        }, {
            t: [7, 3],
            C: [0, 1, 2, 3, 4, 5, 6, 7],
            v: []
        }, {
            t: [],
            C: [3, 6, 7, 8, 9, 10, 12],
            v: [0, 1, 2, 4, 5, 11, 43, 125, 136, 146, 172, 201, 301]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0],
            v: [2, 5, 9, 10, 11]
        }, {
            t: [3],
            C: [0, 1, 3],
            v: [2]
        }, {
            t: [1],
            C: [1, 2, 3],
            v: [0, 4]
        }, {
            t: [],
            C: [0, 1, 2],
            v: [8, 10, 13, 247]
        }, {
            t: [],
            C: [],
            v: [9, 24, 27, 29]
        }, {
            t: [],
            C: [0, 1, 2, 3],
            v: [5, 6, 125, 172]
        }, {
            t: [1],
            C: [0, 1],
            v: [2, 3, 7, 8, 9, 93, 351]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [15, 16, 24, 29, 31]
        }, {
            t: [3],
            C: [1, 3],
            v: [0, 2, 5, 6, 7, 9]
        }, {
            t: [],
            C: [],
            v: [5]
        }, {
            t: [11, 14, 0, 2, 8, 5],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
            v: [68, 231, 233, 239, 331, 357]
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            l: 1,
            t: [3, 2],
            C: [0, 2, 3],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [],
            C: [0, 1],
            v: [8, 14, 23, 24, 42]
        }, {
            t: [3],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8],
            v: [23, 36, 63, 65, 109, 151, 166, 194, 216, 250, 297, 316, 356]
        }, {
            t: [],
            C: [0, 1, 2, 4],
            v: [3, 7, 17, 78]
        }, {
            t: [16, 24, 21, 15, 26, 38, 30, 5, 39, 17, 6],
            C: [2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 21, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44],
            v: [0, 1, 3, 10, 14, 18, 19, 20, 22, 23, 28, 29, 37, 42, 45, 51, 53, 54, 58, 63, 65, 66, 79, 85, 86, 87, 90, 92, 100, 101, 109, 110, 116, 135, 141, 151, 156, 163, 165, 166, 173, 176, 177, 180, 181, 182, 185, 194, 198, 204, 211, 213, 216, 237, 238, 245, 250, 255, 256, 259, 265, 266, 278, 281, 285, 286, 290, 296, 297, 300, 301, 303, 309, 311, 316, 322, 332, 335, 342, 345, 349, 352, 355, 356, 361]
        }, {
            t: [],
            C: [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24],
            v: [0, 6, 13, 16, 30, 33, 34, 73, 168, 224, 295]
        }, {
            t: [0],
            C: [0, 1],
            v: [3]
        }, {
            t: [0],
            C: [0, 1, 2],
            v: [6, 7, 14, 24, 26, 195]
        }, {
            t: [],
            C: [],
            v: [15, 19]
        }, {
            t: [3],
            C: [2, 3, 4],
            v: [0, 1]
        }, {
            l: 3,
            t: [6],
            C: [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19],
            v: [9, 13, 23, 31, 43, 87, 92, 141, 166, 182, 194, 198, 238, 286, 309]
        }, {
            t: [4],
            C: [0, 1, 2, 3, 4],
            v: [27, 125, 172]
        }, {
            t: [],
            C: [1, 2, 4, 5, 7, 8, 10, 11, 13, 20, 21],
            v: [0, 3, 6, 9, 12, 14, 15, 16, 17, 18, 19, 22, 25, 29, 30, 172, 189]
        }, {
            t: [0],
            C: [0],
            v: [5, 261]
        }, {
            t: [1, 0],
            C: [0, 1, 2, 3],
            v: [185]
        }, {
            t: [],
            C: [],
            v: [7, 20]
        }, {
            t: [1],
            C: [0, 1, 2, 4],
            v: [3, 25]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [10, 15]
        }, {
            t: [0],
            C: [0, 1, 2, 3, 5],
            v: [4, 9, 104, 150, 161, 261, 271, 298, 313]
        }, {
            l: 4,
            t: [1],
            C: [0, 1, 2, 3],
            v: [230, 301]
        }, {
            t: [0],
            C: [0],
            v: [4]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5],
            v: [10, 15, 125, 172, 309]
        }, {
            t: [0],
            C: [0],
            v: [4]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8],
            v: [297]
        }, {
            t: [5, 4],
            C: [4, 5],
            v: [0, 1, 2, 3]
        }, {
            t: [2],
            C: [0, 2],
            v: [1, 11, 20, 22]
        }, {
            t: [4],
            C: [1, 4],
            v: [0, 2, 3, 6, 11, 93, 351]
        }, {
            t: [2],
            C: [0, 1, 2, 3],
            v: [16, 32, 34, 126, 158, 186, 230, 292, 293, 301, 328, 343, 357]
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4],
            v: [128, 157]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            t: [0],
            C: [0],
            v: [1, 5, 7, 10, 25]
        }, {
            t: [],
            C: [0],
            v: [3, 8, 13, 18, 61, 138]
        }, {
            t: [3, 2],
            C: [0, 1, 2, 3, 4, 5],
            v: [18, 21, 22, 23, 133]
        }, {
            t: [],
            C: [],
            v: [3]
        }, {
            t: [],
            C: [1, 3],
            v: [0, 2, 5, 6, 116]
        }, {
            t: [7, 13, 16, 6, 10, 1],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19],
            v: [11, 21, 42, 121, 125, 132, 172, 178, 189, 195, 283, 306]
        }, {
            t: [],
            C: [],
            v: [17]
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
            v: [5, 19, 23, 24, 31, 42, 46, 53, 69, 77, 93, 101, 139, 154, 166, 194, 200, 203, 214, 237, 238, 280, 285, 316, 351]
        }, {
            t: [],
            C: [],
            v: [242]
        }, {
            t: [],
            C: [],
            v: [25, 34]
        }, {
            t: [0],
            C: [0, 1],
            v: [8, 26, 195]
        }, {
            t: [1],
            C: [0, 1],
            v: [2, 3, 4, 292]
        }, {
            t: [0],
            C: [0, 1, 2, 3],
            v: [13, 22, 32, 72]
        }, {
            V: 0,
            t: [],
            C: [],
            v: [222]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0, 1],
            v: [2]
        }, {
            t: [2, 1],
            C: [0, 1, 2],
            v: [107, 244, 302]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0, 1],
            v: [2, 14, 25, 37]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [1, 3],
            C: [0, 1, 2, 3],
            v: [120, 147]
        }, {
            t: [6, 0],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
            v: [47, 62, 107, 112, 127, 152, 196, 219, 247, 291, 310, 320, 347]
        }, {
            t: [],
            C: [],
            v: [0, 1]
        }, {
            t: [1, 2],
            C: [0, 1, 2, 3],
            v: [4, 10]
        }, {
            t: [0],
            C: [0],
            v: [3, 261]
        }, {
            t: [2],
            C: [0, 1, 2],
            v: [144, 160, 219]
        }, {
            l: 4,
            t: [0],
            C: [0, 1, 2, 3],
            v: []
        }, {
            t: [3, 1, 5, 6, 2, 4],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [125, 172, 189]
        }, {
            t: [1],
            C: [1, 2],
            v: [0, 13, 15, 24]
        }, {
            t: [0, 7, 9, 11],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
            v: [225, 357]
        }, {
            t: [],
            C: [0, 1],
            v: [3, 13, 18, 19, 23, 61, 166, 194]
        }, {
            t: [],
            C: [],
            v: [6]
        }, {
            t: [1, 3],
            C: [0, 1, 2, 3],
            v: []
        }, {
            t: [1],
            C: [0, 1, 2, 3, 5],
            v: [4, 167, 174, 192, 261, 271, 298]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [188, 279]
        }, {
            t: [1],
            C: [1],
            v: [0, 4, 292, 301]
        }, {
            t: [0],
            C: [0],
            v: [37]
        }, {
            t: [1, 5, 27, 26, 2, 28],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
            v: [48, 125, 132, 172, 189]
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            t: [0, 7, 4],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8],
            v: [321]
        }, {
            t: [1],
            C: [1],
            v: [0, 261]
        }, {
            t: [],
            C: [],
            v: [3, 4, 6, 300]
        }, {
            t: [0],
            C: [0],
            v: [1, 2]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [5, 10]
        }, {
            t: [1, 0],
            C: [0, 1],
            v: [13, 15]
        }, {
            l: 6,
            V: 1,
            t: [],
            C: [0, 2, 3, 4, 5],
            v: [131]
        }, {
            t: [0],
            C: [0],
            v: [4]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [9, 21, 172]
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4],
            v: [27, 272, 295]
        }, {
            t: [0],
            C: [0],
            v: [128, 314]
        }, {
            t: [3],
            C: [1, 2, 3, 5, 6, 8, 9],
            v: [0, 4, 7, 13, 34, 42, 195, 276]
        }, {
            t: [0],
            C: [0],
            v: [17, 51]
        }, {
            t: [0],
            C: [0],
            v: [1, 2]
        }, {
            t: [0],
            C: [0, 2],
            v: [1, 6, 253, 283]
        }, {
            t: [],
            C: [],
            v: [182]
        }, {
            t: [],
            C: [],
            v: [128, 157, 308, 314, 338]
        }, {
            t: [2, 0],
            C: [0, 1, 2],
            v: [221, 351]
        }, {
            t: [],
            C: [2, 4, 5, 6, 9],
            v: [0, 1, 3, 7, 8, 10, 14, 23, 122, 125, 172, 209, 337]
        }, {
            t: [2],
            C: [0, 1, 2],
            v: [128, 338]
        }, {
            t: [0],
            C: [0, 1],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [19]
        }, {
            t: [],
            C: [],
            v: [0, 1]
        }, {
            t: [0],
            C: [0, 3, 4],
            v: [1, 2, 342]
        }, {
            t: [],
            C: [],
            v: [3, 5]
        }, {
            t: [0],
            C: [0],
            v: [3]
        }, {
            t: [],
            C: [0, 1, 5, 7, 8, 10, 11, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
            v: [2, 3, 4, 6, 9, 13, 14, 15, 42, 48, 60, 83, 125, 172, 189, 349]
        }, {
            t: [0],
            C: [0],
            v: [16]
        }, {
            t: [4, 6, 1, 0],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8],
            v: []
        }, {
            t: [0],
            C: [0, 1],
            v: [36]
        }, {
            t: [3, 37, 19, 34, 30, 13],
            C: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37],
            v: [0, 32, 41, 43, 67, 80, 81, 84, 105, 125, 132, 172, 190, 208, 212, 218, 294, 349]
        }, {
            t: [1],
            C: [0, 1, 2, 3],
            v: [8, 25]
        }, {
            t: [1],
            C: [1, 2, 3],
            v: [0, 4, 7, 13, 14, 15, 17, 19, 24, 25, 78]
        }, {
            t: [],
            C: [0],
            v: [6, 15, 26, 35, 37]
        }, {
            t: [5, 2, 0],
            C: [0, 1, 2, 3, 4, 5],
            v: [19, 324]
        }, {
            t: [],
            C: [0, 1, 2, 4, 6],
            v: [3, 5, 125, 146, 172, 301]
        }, {
            t: [],
            C: [4, 5, 9, 10, 11, 13, 14, 15, 16, 18, 24, 25, 27, 29, 32, 34, 35, 36],
            v: [0, 1, 2, 3, 6, 7, 8, 12, 17, 19, 20, 21, 22, 23, 26, 28, 30, 31, 33, 44, 82, 123, 125, 134, 155, 172, 183, 189, 246, 249, 334, 341, 359]
        }, {
            t: [],
            C: [1, 2],
            v: [0, 8, 14, 23, 24, 26, 27, 42]
        }, {
            t: [2],
            C: [2, 3, 5],
            v: [0, 1, 4, 292]
        }, {
            t: [],
            C: [],
            v: [4, 15, 17, 25, 29]
        }, {
            l: 7,
            t: [1, 2, 5],
            C: [0, 1, 2, 3, 5, 6, 8, 9, 10],
            v: [4, 35, 99, 115, 252]
        }, {
            t: [5],
            C: [1, 2, 3, 4, 5, 6, 7],
            v: [0, 18, 125, 172, 189]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            t: [],
            C: [1, 4, 6, 9, 11, 16, 19, 26, 27, 28],
            v: [0, 2, 3, 5, 7, 8, 10, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 25, 113, 125, 172, 189, 235]
        }, {
            t: [],
            C: [0, 2, 3, 5, 7, 9, 10, 13],
            v: [1, 4, 6, 8, 11, 12, 17, 19, 20, 22, 23, 33, 123, 134, 155, 172, 183, 246, 249, 341, 359]
        }, {
            t: [5],
            C: [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17],
            v: [7, 10, 125, 172, 209, 337]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0],
            v: [1, 3, 5, 9, 11]
        }, {
            t: [0],
            C: [0],
            v: [178, 283]
        }, {
            t: [2],
            C: [2],
            v: [0, 1]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [23, 61, 138, 166, 194, 300, 301]
        }, {
            t: [0],
            C: [0],
            v: [1, 342]
        }, {
            t: [1, 0],
            C: [0, 1, 2],
            v: [4, 351]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4],
            v: [5, 24, 46, 59, 89, 93, 220, 221, 241, 243, 280, 307, 317, 351, 354]
        }, {
            t: [1],
            C: [0, 1, 2],
            v: [5, 119]
        }, {
            t: [0],
            C: [0, 1],
            v: []
        }, {
            t: [],
            C: [0, 2, 3, 4, 6, 7],
            v: [1, 5, 9, 18, 32, 43, 125, 172, 189, 253, 283]
        }, {
            t: [],
            C: [1],
            v: [0, 4, 14, 19, 25]
        }, {
            t: [0],
            C: [0],
            v: [349]
        }, {
            t: [10, 2],
            C: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
            v: [4, 19, 23, 42, 53, 69, 97, 101, 139, 154, 166, 194, 203, 214, 237, 238, 273, 285, 316]
        }, {
            t: [0],
            C: [0, 1, 2],
            v: []
        }, {
            t: [0, 1],
            C: [0, 1],
            v: []
        }, {
            t: [],
            C: [0, 1, 2, 3, 10, 15, 16, 17, 18, 19, 20, 21],
            v: [4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 68, 231, 233, 239, 331]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [3]
        }, {
            t: [1],
            C: [1],
            v: [0, 301]
        }, {
            t: [],
            C: [1, 2, 3, 5],
            v: [0, 4, 6, 7, 8, 9, 11, 357]
        }, {
            t: [0],
            C: [0],
            v: [9, 301]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19],
            v: [12, 14, 21, 27, 28, 32, 33, 43, 80, 125, 172, 218]
        }, {
            t: [0],
            C: [0],
            v: [37]
        }, {
            t: [1],
            C: [0, 1],
            v: [2, 9]
        }, {
            l: 2,
            V: 3,
            t: [],
            C: [0, 1, 4, 5, 6],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [27]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [2],
            C: [1, 2, 3, 4],
            v: [0, 315]
        }, {
            t: [9, 6],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
            v: [26, 120, 325]
        }, {
            t: [2],
            C: [1, 2],
            v: [0, 9]
        }, {
            l: 5,
            t: [0],
            C: [0, 1, 2, 3, 4, 6, 7, 8],
            v: []
        }, {
            l: 3,
            t: [4],
            C: [0, 1, 2, 4],
            v: []
        }, {
            t: [15, 32, 18, 10, 9, 14],
            C: [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33],
            v: [6, 8, 16, 17, 30, 34, 42, 44, 82, 123, 125, 126, 134, 146, 155, 158, 172, 183, 186, 189, 217, 230, 246, 249, 292, 293, 301, 328, 334, 341, 343, 357, 359]
        }, {
            t: [3, 1],
            C: [0, 1, 2, 3, 4],
            v: []
        }, {
            l: 2,
            V: 9,
            t: [],
            C: [0, 3, 4, 7],
            v: [1, 5, 6, 8, 140, 244]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [3, 301]
        }, {
            t: [6, 10],
            C: [0, 6, 7, 8, 9, 10, 11, 12, 13],
            v: [1, 2, 3, 4, 5, 93, 220, 317, 351, 354]
        }, {
            t: [0],
            C: [0],
            v: [3, 261]
        }, {
            t: [],
            C: [],
            v: [39]
        }, {
            t: [0],
            C: [0, 1],
            v: [4, 12, 16, 28]
        }, {
            t: [0],
            C: [0],
            v: [5]
        }, {
            t: [1],
            C: [0, 1],
            v: [4]
        }, {
            t: [],
            C: [0, 1],
            v: [4, 27, 32, 125, 172]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [11]
        }, {
            t: [4, 3],
            C: [0, 1, 3, 4],
            v: [2, 32, 158, 186]
        }, {
            t: [274],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361],
            v: []
        }, {
            l: 4,
            t: [],
            C: [0, 1, 2, 3, 5],
            v: [99, 115]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0, 1],
            v: [2, 5, 6]
        }, {
            t: [],
            C: [],
            v: [20, 32]
        }, {
            t: [0],
            C: [0],
            v: [6]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [344]
        }, {
            t: [3],
            C: [0, 3],
            v: [1, 2, 5]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [2, 1],
            C: [0, 1, 2, 3],
            v: [36]
        }, {
            t: [],
            C: [0, 2, 4, 5, 6, 7],
            v: [1, 3, 11, 12, 172, 333]
        }, {
            t: [0],
            C: [0],
            v: [2, 8, 9]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [185, 335]
        }, {
            t: [2],
            C: [1, 2, 3],
            v: [0, 5, 34]
        }, {
            t: [11],
            C: [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13],
            v: [0, 5, 8, 15, 21, 195]
        }, {
            l: 0,
            t: [],
            C: [],
            v: [99]
        }, {
            t: [],
            C: [],
            v: [0, 15]
        }, {
            t: [0],
            C: [0],
            v: [7]
        }, {
            l: 0,
            t: [],
            C: [],
            v: [131]
        }, {
            V: 1,
            t: [],
            C: [0, 2, 3, 4, 5],
            v: [12, 15, 20, 24, 28, 29]
        }, {
            t: [0],
            C: [0],
            v: [5]
        }, {
            t: [6, 16, 4, 26, 11, 19],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
            v: [113, 125, 172, 189, 235]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [4, 9]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [182]
        }, {
            t: [],
            C: [4, 7, 10, 13, 17, 18, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32],
            v: [0, 1, 2, 3, 5, 6, 8, 9, 11, 12, 14, 15, 16, 20, 22, 23, 36, 48, 90, 125, 172, 189, 199, 210, 258, 353]
        }, {
            t: [],
            C: [],
            v: [4, 7]
        }, {
            t: [0],
            C: [0],
            v: [7, 8]
        }, {
            t: [5],
            C: [0, 1, 2, 3, 4, 5],
            v: [191]
        }, {
            t: [0],
            C: [0],
            v: [3, 8, 9]
        }, {
            t: [],
            C: [0, 1, 2, 4],
            v: [3, 10, 28, 78]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [0, 1, 3, 4],
            C: [0, 1, 2, 3, 4],
            v: [23, 166, 194]
        }, {
            t: [2],
            C: [1, 2],
            v: [0, 5, 6, 11, 351]
        }, {
            t: [0],
            C: [0, 3],
            v: [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14]
        }, {
            t: [0],
            C: [0],
            v: [1, 51]
        }, {
            t: [4, 10, 11],
            C: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11],
            v: [2, 25]
        }, {
            t: [3],
            C: [0, 1, 3, 4, 5],
            v: [2, 11, 15, 247, 310]
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            t: [12, 13],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21],
            v: [14, 30, 51, 110, 135, 163, 173, 256, 265, 300, 301, 349, 361]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 13, 15, 16, 17],
            v: [6, 8, 12, 14, 125, 172, 189]
        }, {
            t: [],
            C: [],
            v: [1, 5]
        }, {
            t: [3],
            C: [2, 3],
            v: [0, 1]
        }, {
            t: [],
            C: [0, 2, 4, 7, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
            v: [1, 3, 5, 6, 8, 9, 11, 12, 40, 78, 125, 133, 172, 179, 318]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            t: [10, 11],
            C: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16],
            v: [0, 7, 19, 23, 42, 53, 69, 97, 101, 139, 154, 166, 171, 194, 203, 214, 237, 238, 273, 285, 316]
        }, {
            t: [],
            C: [],
            v: [0, 1, 2]
        }, {
            t: [2],
            C: [0, 1, 2, 3],
            v: [225]
        }, {
            t: [],
            C: [0, 1, 2],
            v: [4, 7, 12, 18, 61, 138]
        }, {
            t: [],
            C: [0, 2, 3, 5, 6, 8, 12, 13, 14, 15, 16, 18, 19, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
            v: [1, 4, 7, 9, 10, 11, 17, 20, 23, 24, 42, 91, 125, 172, 309]
        }, {
            l: 3,
            V: 0,
            t: [1],
            C: [1, 2, 4, 5, 6, 7, 8],
            v: [55, 120, 263, 346]
        }, {
            t: [],
            C: [],
            v: [1, 5]
        }, {
            t: [],
            C: [0, 4, 9, 10, 11, 15],
            v: [1, 2, 3, 5, 6, 7, 8, 12, 13, 14, 16]
        }, {
            t: [0],
            C: [0],
            v: [343]
        }, {
            t: [0],
            C: [0],
            v: [6, 15, 26, 36, 37]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [11, 27]
        }, {
            t: [12],
            C: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13],
            v: [7, 11, 48, 125, 172, 189]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [20, 1, 0, 22, 2, 28],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
            v: [13, 21, 32, 42, 43, 125, 132, 172, 175, 189, 195, 253, 283, 299]
        }, {
            t: [0],
            C: [0],
            v: [7]
        }, {
            t: [],
            C: [],
            v: [0, 1]
        }, {
            t: [],
            C: [],
            v: [8, 16]
        }, {
            t: [],
            C: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
            v: [1, 20, 32, 42, 48, 125, 130, 172, 189]
        }, {
            t: [0],
            C: [0],
            v: [6, 7, 8]
        }, {
            t: [],
            C: [0],
            v: [18, 19]
        }, {
            t: [5],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [23, 57, 90, 234, 332]
        }, {
            t: [0],
            C: [0],
            v: [128, 308]
        }, {
            l: 5,
            t: [9, 6, 10],
            C: [3, 4, 6, 7, 8, 9, 10, 11, 12],
            v: [0, 1, 2, 125, 251]
        }, {
            t: [2],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [27, 125, 172]
        }, {
            t: [],
            C: [0],
            v: [2, 3]
        }, {
            t: [5, 4, 6, 1, 2, 3, 7],
            C: [1, 2, 3, 4, 5, 6, 7],
            v: [0, 23, 61, 138, 166, 194, 300, 301]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [3],
            C: [1, 2, 3, 4, 5, 6, 7],
            v: [0, 118, 165, 204, 216, 361]
        }, {
            t: [3],
            C: [0, 2, 3],
            v: [1, 7, 9, 10, 13, 17, 25, 27, 33, 34, 85]
        }, {
            t: [],
            C: [],
            v: [2]
        }, {
            t: [0],
            C: [0],
            v: [10]
        }, {
            t: [],
            C: [],
            v: [12, 17, 19, 300]
        }, {
            t: [],
            C: [],
            v: [6, 9]
        }, {
            t: [3],
            C: [1, 2, 3, 4, 5, 6],
            v: [0, 63, 118, 165, 204, 216]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0],
            v: [27, 206, 319]
        }, {
            t: [0],
            C: [0],
            v: [3, 7]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [0],
            C: [0],
            v: [12]
        }, {
            t: [4, 5],
            C: [0, 1, 2, 3, 4, 5],
            v: [71, 145, 348]
        }, {
            t: [],
            C: [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
            v: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 125, 172, 209, 337]
        }, {
            t: [9],
            C: [1, 2, 3, 5, 6, 8, 9],
            v: [0, 4, 7, 13, 34, 42, 195, 276]
        }, {
            t: [],
            C: [],
            v: [26]
        }, {
            t: [],
            C: [],
            v: [1, 2, 34]
        }, {
            t: [],
            C: [],
            v: [1, 2]
        }, {
            t: [0, 10, 7, 5],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            v: [96, 148, 229, 232, 257, 329]
        }, {
            t: [],
            C: [],
            v: [17, 18]
        }, {
            t: [0],
            C: [0],
            v: [1, 4]
        }, {
            t: [29, 5, 23, 12, 11, 7],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37],
            v: [42, 48, 73, 125, 130, 168, 172, 189, 200, 224, 272, 295]
        }, {
            t: [],
            C: [],
            v: [10, 18]
        }, {
            t: [],
            C: [],
            v: [1, 8]
        }, {
            t: [0, 4, 10, 6],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
            v: [104, 150, 161, 167, 174, 192, 261, 271, 298, 313]
        }, {
            t: [4],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [12, 125, 172]
        }, {
            t: [0],
            C: [0, 1, 2, 3],
            v: [19]
        }, {
            t: [0],
            C: [0, 1],
            v: []
        }, {
            V: 0,
            t: [],
            C: [1, 2, 3, 4, 5],
            v: [7, 14, 19, 20]
        }, {
            t: [],
            C: [3, 4, 12],
            v: [0, 1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 23, 31, 42, 53, 69, 93, 101, 139, 154, 166, 194, 200, 203, 214, 237, 238, 285, 316, 351]
        }, {
            t: [0],
            C: [0, 1, 2],
            v: [125, 251]
        }, {
            t: [6],
            C: [1, 2, 3, 4, 6, 7, 9, 10, 11],
            v: [0, 5, 8, 15, 21, 195]
        }, {
            t: [0],
            C: [0],
            v: [17]
        }, {
            l: 0,
            t: [2],
            C: [1, 2, 3],
            v: [99]
        }, {
            t: [],
            C: [],
            v: [4, 7]
        }, {
            t: [0],
            C: [0, 1],
            v: []
        }, {
            t: [],
            C: [],
            v: [111, 289]
        }, {
            t: [9],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 9, 10],
            v: [8, 125, 172, 318]
        }, {
            t: [],
            C: [0],
            v: [1, 7, 12, 16]
        }, {
            t: [1],
            C: [1, 2, 3],
            v: [0, 358]
        }, {
            t: [],
            C: [],
            v: [2]
        }, {
            t: [],
            C: [0, 1, 2, 4, 5, 6, 7, 9, 10, 12, 13, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34],
            v: [3, 8, 11, 14, 18, 19, 22, 23, 42, 45, 51, 66, 79, 85, 100, 110, 135, 163, 165, 166, 173, 176, 177, 181, 185, 194, 213, 216, 250, 255, 256, 259, 265, 278, 290, 296, 300, 301, 303, 309, 322, 335, 349, 355, 361]
        }, {
            t: [0],
            C: [0],
            v: [13, 17]
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            t: [],
            C: [2, 4, 5, 6, 7],
            v: [0, 1, 3, 8, 14, 23, 125, 172]
        }, {
            t: [],
            C: [0],
            v: [2, 4]
        }, {
            t: [1],
            C: [1],
            v: [0, 3]
        }, {
            t: [],
            C: [],
            v: [5, 9, 17, 27]
        }, {
            t: [],
            C: [0, 2, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17],
            v: [1, 3, 4, 5, 12, 26, 27, 125, 172]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: []
        }, {
            t: [],
            C: [0, 1],
            v: [10, 12]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 6, 7],
            v: [5, 10]
        }, {
            t: [1, 0],
            C: [0, 1],
            v: []
        }, {
            t: [2],
            C: [0, 1, 2, 3],
            v: [27, 41, 90, 156, 211]
        }, {
            t: [],
            C: [],
            v: [3]
        }, {
            t: [2],
            C: [1, 2],
            v: [0, 3]
        }, {
            l: 2,
            t: [7, 6],
            C: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10],
            v: [26, 55, 120, 147, 184, 205, 262, 270, 327, 346]
        }, {
            t: [0],
            C: [0],
            v: [3]
        }, {
            t: [],
            C: [0, 1, 2],
            v: [52, 197]
        }, {
            t: [],
            C: [],
            v: [2]
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            v: [19, 125, 172, 189]
        }, {
            t: [1],
            C: [0, 1, 2, 3],
            v: [58, 90, 234, 332]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4],
            v: [7, 11, 13, 16, 20, 24, 48, 125, 172, 189]
        }, {
            t: [],
            C: [],
            v: [7]
        }, {
            t: [11, 13, 6],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
            v: [47, 56, 62, 107, 112, 127, 140, 152, 196, 219, 228, 244, 247, 291, 310, 320, 326, 347]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [1, 2],
            C: [0, 1, 2],
            v: [3, 351]
        }, {
            t: [],
            C: [1, 2],
            v: [0, 8, 14, 23, 24, 26, 27, 42]
        }, {
            t: [],
            C: [],
            v: [4, 11]
        }, {
            V: 1,
            t: [],
            C: [0, 2, 3, 4, 5],
            v: [7, 10, 14, 16]
        }, {
            t: [3],
            C: [0, 1, 2, 3, 4, 5],
            v: [296]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [10, 12],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
            v: [108, 185, 278]
        }, {
            V: 3,
            t: [],
            C: [0, 1, 2, 4, 5],
            v: [6, 10, 26, 36]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [1],
            C: [1, 2],
            v: [0, 9, 14, 15, 18, 25]
        }, {
            t: [3, 1],
            C: [0, 1, 3],
            v: [2, 351]
        }, {
            t: [],
            C: [],
            v: [3]
        }, {
            t: [],
            C: [],
            v: [30]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [4, 5, 8, 11, 15, 24, 46, 77, 93, 280, 351]
        }, {
            t: [],
            C: [0, 1],
            v: [2, 3, 6, 18, 20, 25]
        }, {
            l: 3,
            V: 6,
            t: [0],
            C: [0, 1, 2, 4, 5],
            v: [342, 348]
        }, {
            t: [],
            C: [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15],
            v: [0, 9, 14, 21, 22, 25, 31, 125, 172]
        }, {
            l: 1,
            t: [2],
            C: [0, 2],
            v: [3]
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [0, 1, 3, 4, 5, 6, 7, 8, 9, 11],
            v: [2, 10, 12, 13, 14, 19, 21, 22, 25, 125, 172, 254, 264, 309]
        }, {
            t: [0],
            C: [0],
            v: [7]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0, 1, 3, 4],
            v: [2, 5, 6, 16, 20, 22, 125, 172, 210]
        }, {
            t: [2],
            C: [2],
            v: [0, 1]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [5, 16]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0],
            v: [12, 20, 28, 29]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [1, 3, 2],
            C: [1, 2, 3],
            v: [0, 4, 5]
        }, {
            t: [0],
            C: [0],
            v: [1, 7, 10]
        }, {
            t: [],
            C: [0],
            v: [20, 28, 34, 309]
        }, {
            t: [0],
            C: [0],
            v: [32]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [3],
            v: [0, 1, 2, 4]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            l: 2,
            t: [3],
            C: [0, 1, 3, 4],
            v: [201, 301]
        }, {
            V: 2,
            t: [],
            C: [0, 1, 3, 4, 6, 7, 8],
            v: [5, 9, 10, 17, 25, 27]
        }, {
            t: [],
            C: [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
            v: [0, 3, 125, 172, 189]
        }, {
            t: [],
            C: [],
            v: [3]
        }, {
            t: [],
            C: [],
            v: [2]
        }, {
            l: 2,
            t: [1, 0],
            C: [0, 1],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [12]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [7]
        }, {
            t: [0],
            C: [0],
            v: [4]
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [0, 5]
        }, {
            l: 1,
            t: [0],
            C: [0],
            v: []
        }, {
            t: [2, 3],
            C: [0, 1, 2, 3],
            v: [19, 171]
        }, {
            t: [],
            C: [],
            v: [0, 1]
        }, {
            t: [],
            C: [],
            v: [3, 15]
        }, {
            t: [12],
            C: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
            v: [0, 1, 2, 3, 4, 5, 6, 23, 61, 138, 166, 170, 194, 300]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [],
            v: [10, 36]
        }, {
            l: 3,
            t: [0],
            C: [0, 1, 2, 4],
            v: [98, 360]
        }, {
            t: [8, 13, 11, 3],
            C: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
            v: [0]
        }, {
            t: [],
            C: [],
            v: [10]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0, 1],
            v: [12, 25, 102, 142, 288, 305, 340]
        }, {
            t: [9, 10, 6, 3, 7, 8],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
            v: [43, 125, 136, 146, 172, 201, 301]
        }, {
            t: [12, 7, 5, 0, 8, 10],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
            v: [42, 48, 60, 83, 125, 172, 189, 349]
        }, {
            t: [],
            C: [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15],
            v: [4, 7, 125, 172, 189]
        }, {
            t: [1],
            C: [0, 1, 2, 3, 4, 5, 7],
            v: [6, 11, 12, 13, 21, 26, 195]
        }, {
            t: [0],
            C: [0],
            v: [2, 261]
        }, {
            t: [0],
            C: [0],
            v: [23]
        }, {
            t: [],
            C: [],
            v: [1, 2]
        }, {
            t: [3],
            C: [1, 3, 4],
            v: [0, 2]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            V: 0,
            t: [],
            C: [],
            v: [23, 30]
        }, {
            t: [1],
            C: [0, 1, 3],
            v: [2, 6, 10, 14, 15, 25, 26, 28, 35, 37, 78]
        }, {
            t: [],
            C: [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 16],
            v: [4, 9, 14, 15, 19, 21, 28, 31, 172]
        }, {
            t: [],
            C: [2, 3, 4, 5, 7],
            v: [0, 1, 6, 8, 9, 18, 20, 25]
        }, {
            t: [],
            C: [0, 1, 2],
            v: [8, 20, 29, 58, 135, 163, 297, 311, 332, 352]
        }, {
            t: [],
            C: [0],
            v: [115]
        }, {
            t: [0, 10, 7, 13, 4, 2],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
            v: [40, 78, 125, 133, 172, 179, 318, 333]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [2, 4]
        }, {
            t: [0],
            C: [0, 1],
            v: [7, 9, 17, 34]
        }, {
            t: [5],
            C: [1, 3, 5],
            v: [0, 2, 4, 12, 15, 16, 20, 24, 28, 31, 85]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: [109]
        }, {
            t: [],
            C: [],
            v: [1]
        }, {
            t: [],
            C: [0, 1, 2, 5, 8, 9, 18, 20],
            v: [3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 24, 25, 26, 29, 42, 125, 172, 189, 195, 299]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [7]
        }, {
            t: [],
            C: [0],
            v: [2, 15, 16, 24, 31]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4],
            v: [22, 25, 26, 32, 125, 172]
        }, {
            t: [],
            C: [0],
            v: [1, 2, 3]
        }, {
            t: [0, 2],
            C: [0, 1, 2],
            v: []
        }, {
            t: [],
            C: [0, 2, 4, 5, 7, 8],
            v: [1, 3, 6, 11, 172]
        }, {
            t: [0],
            C: [0],
            v: [19]
        }, {
            t: [13, 14, 8, 2, 3, 15, 10, 12, 11],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
            v: [70, 74]
        }, {
            t: [],
            C: [],
            v: [2]
        }, {
            t: [],
            C: [],
            v: [2, 9, 17, 19]
        }, {
            t: [4, 0],
            C: [0, 1, 2, 3, 4],
            v: [120]
        }, {
            t: [],
            C: [],
            v: [0, 1]
        }, {
            t: [0],
            C: [0],
            v: [16]
        }, {
            t: [],
            C: [0, 1, 2, 3, 5, 6, 7, 8, 9],
            v: [4, 14, 18, 42, 121, 125, 172, 178, 189, 283, 306]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5],
            v: []
        }, {
            t: [1, 0],
            C: [0, 1],
            v: [46]
        }, {
            t: [10],
            C: [0, 6, 7, 8, 9, 10, 11, 12, 13],
            v: [1, 2, 3, 4, 5, 93, 220, 317, 351, 354]
        }, {
            t: [0],
            C: [0],
            v: [15]
        }, {
            t: [],
            C: [1, 2],
            v: [0, 8, 14, 23, 24, 26, 27, 42]
        }, {
            t: [],
            C: [],
            v: [15, 19]
        }, {
            t: [],
            C: [0],
            v: [4, 7, 12, 18, 61, 138]
        }, {
            t: [2],
            C: [0, 2],
            v: [1, 5]
        }, {
            t: [0],
            C: [0],
            v: [11, 261]
        }, {
            t: [],
            C: [0, 1],
            v: [4, 10, 12, 18, 23, 61, 166, 194]
        }, {
            t: [],
            C: [],
            v: [182]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [0, 1],
            v: [3, 8, 13, 18, 61, 138]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [0, 3, 4, 7, 8, 11, 12, 13, 14, 19, 22, 23, 25, 26, 29, 30, 32, 33, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 57],
            v: [1, 2, 5, 6, 9, 10, 15, 16, 17, 18, 20, 21, 24, 27, 28, 31, 34, 35, 36, 37, 42, 48, 125, 130, 172, 189, 200, 272]
        }, {
            t: [],
            C: [0, 2, 4, 5, 6, 7],
            v: [1, 3, 11, 172]
        }, {
            t: [],
            C: [1, 2, 4, 6, 7],
            v: [0, 3, 5, 8, 13, 15, 20, 21, 22, 25, 125, 172]
        }, {
            t: [],
            C: [],
            v: [0]
        }, {
            t: [9],
            C: [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 24],
            v: [0, 8, 13, 20, 22, 23, 25, 30, 32, 33, 42, 43, 45, 47, 48, 49, 51, 56, 57, 125, 172, 189]
        }, {
            t: [0],
            C: [0],
            v: [63, 118, 165, 204, 216, 361]
        }, {
            t: [3, 1],
            C: [0, 1, 2, 3],
            v: [17, 18]
        }, {
            t: [1],
            C: [1],
            v: [0, 2]
        }, {
            t: [4],
            C: [1, 2, 4, 5, 6, 7, 8],
            v: [0, 3]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [301]
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [20, 24]
        }, {
            t: [0, 1],
            C: [0, 1],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [11]
        }, {
            l: 3,
            t: [1],
            C: [0, 1, 2],
            v: []
        }, {
            t: [1],
            C: [0, 1, 2, 3, 5],
            v: [4, 167, 174, 192, 261, 271, 298]
        }, {
            t: [4],
            C: [0, 1, 3, 4, 5, 6, 7, 8],
            v: [2, 19, 23, 42, 53, 69, 97, 101, 116, 139, 154, 156, 166, 194, 203, 214, 237, 238, 273, 285, 316]
        }, {
            t: [0],
            C: [0],
            v: [8, 261]
        }, {
            t: [0],
            C: [0],
            v: [11, 15, 21, 24]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [4, 16, 18, 19, 32]
        }, {
            t: [0],
            C: [0],
            v: [2, 3]
        }, {
            t: [4],
            C: [2, 3, 4, 5, 6, 7, 8, 9],
            v: [0, 1]
        }, {
            t: [0],
            C: [0, 1, 2],
            v: [27, 28]
        }, {
            t: [6],
            C: [1, 4, 5, 6, 7, 8, 9],
            v: [0, 2, 3, 136, 201, 301]
        }, {
            t: [1, 2, 0],
            C: [0, 1, 2],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [2]
        }, {
            t: [1],
            C: [0, 1, 2, 4, 5],
            v: [3, 34, 126, 292, 293, 301]
        }, {
            t: [0],
            C: [0],
            v: [7]
        }, {
            t: [18],
            C: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
            v: [0, 1, 2, 3, 4, 5, 6, 7, 23, 61, 138, 166, 194, 300]
        }, {
            t: [12],
            C: [3, 4, 5, 6, 9, 10, 12, 14, 15],
            v: [0, 1, 2, 7, 8, 11, 13, 17, 23, 31, 42, 53, 69, 101, 139, 154, 166, 194, 200, 203, 214, 237, 238, 285, 316]
        }, {
            t: [],
            C: [],
            v: [0, 4, 5, 6, 19, 23, 42, 53, 69, 97, 101, 116, 139, 154, 166, 194, 203, 214, 237, 238, 273, 285, 316]
        }, {
            V: 0,
            t: [5],
            C: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            v: []
        }, {
            t: [12, 8, 5, 17, 32, 23],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38],
            v: [13, 40, 42, 78, 114, 125, 132, 172, 187, 189, 195, 276, 287, 350]
        }, {
            t: [1, 0, 5],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [106]
        }, {
            t: [11],
            C: [1, 2, 4, 6, 9, 10, 11],
            v: [0, 3, 5, 7, 8, 13, 15, 20, 21, 22, 23, 25, 113]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: [8, 10, 11, 300]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [2],
            C: [0, 1, 2],
            v: [165, 255]
        }, {
            t: [0],
            C: [0, 1],
            v: [2, 3, 5, 6, 7, 8]
        }, {
            t: [],
            C: [2, 3, 4, 5],
            v: [0, 1, 20, 85]
        }, {
            l: 3,
            t: [1, 0],
            C: [0, 1, 2],
            v: [131]
        }, {
            t: [],
            C: [],
            v: [3, 22]
        }, {
            l: 1,
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [283]
        }, {
            t: [],
            C: [1, 2, 3, 5, 6, 8, 10],
            v: [0, 4, 7, 9, 11, 13, 16, 22, 24, 27, 29, 31, 34, 42, 125, 172, 189, 195, 276, 350]
        }, {
            t: [0],
            C: [0],
            v: [2, 4, 6, 204, 216]
        }, {
            t: [],
            C: [0, 1, 3, 4, 5],
            v: [2, 6, 10, 11, 14, 15, 17, 116]
        }, {
            t: [],
            C: [],
            v: [10, 14]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [2],
            C: [1, 2, 3],
            v: [0, 98]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 5],
            v: [9, 21, 172]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [7],
            C: [0, 1, 2, 3, 4, 5, 7],
            v: [6, 11, 12, 13, 21, 26, 195]
        }, {
            t: [5],
            C: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
            v: [2, 19, 23, 42, 47, 53, 69, 97, 101, 107, 112, 116, 139, 154, 156, 166, 171, 194, 196, 203, 214, 219, 237, 238, 247, 273, 277, 285, 291, 316, 320]
        }, {
            t: [],
            C: [0],
            v: [18, 290]
        }, {
            t: [0],
            C: [0],
            v: [1, 37]
        }, {
            t: [0],
            C: [0, 1],
            v: [103, 219, 247]
        }, {
            t: [2, 0],
            C: [0, 1, 2],
            v: []
        }, {
            t: [],
            C: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
            v: [3, 27, 125, 172]
        }, {
            t: [2],
            C: [1, 2, 3, 5, 6, 8, 9],
            v: [0, 4, 7, 13, 34, 42, 195, 276]
        }, {
            t: [5],
            C: [0, 1, 2, 3, 4, 5, 7],
            v: [6, 11, 12, 13, 21, 26, 195]
        }, {
            t: [2, 1],
            C: [0, 1, 2],
            v: [27, 269, 319]
        }, {
            t: [0],
            C: [0],
            v: [2, 6, 11]
        }, {
            t: [0],
            C: [0],
            v: [1, 2, 5, 204, 216]
        }, {
            t: [],
            C: [0, 1, 3, 4, 5, 8, 12, 13, 14, 15, 16, 19, 21, 22, 26, 27],
            v: [2, 6, 7, 9, 10, 11, 17, 18, 20, 23, 24, 25, 31, 81, 105, 125, 172, 190, 294, 349]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [4, 1],
            C: [0, 1, 2, 3, 4, 5, 6, 7],
            v: [14, 30, 51, 135, 163, 173, 349, 361]
        }, {
            t: [5, 24, 18, 3, 6, 8],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
            v: [42, 91, 125, 172, 254, 264, 309]
        }, {
            t: [],
            C: [],
            v: [6, 16]
        }, {
            t: [1],
            C: [1],
            v: [0, 14, 19, 20, 25]
        }, {
            t: [],
            C: [0],
            v: [1, 7, 10, 25, 33]
        }, {
            t: [3],
            C: [0, 1, 2, 3, 6, 7],
            v: [4, 5, 55, 120, 346]
        }, {
            V: 2,
            t: [],
            C: [0, 1, 3, 4, 5],
            v: [301, 358]
        }, {
            t: [],
            C: [0, 2, 3, 4, 5, 6, 7, 8],
            v: [1, 9, 172, 189]
        }, {
            l: 0,
            t: [],
            C: [],
            v: []
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [2],
            C: [0, 1, 2, 3],
            v: [4]
        }, {
            t: [],
            C: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27],
            v: [3, 18, 19, 20, 21, 30, 33, 38, 42, 114, 125, 172, 287]
        }, {
            t: [6],
            C: [0, 1, 2, 3, 4, 6],
            v: [5, 125, 172]
        }, {
            t: [],
            C: [],
            v: [0, 1, 2]
        }, {
            t: [0],
            C: [0],
            v: [3, 6, 11]
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [1],
            C: [1],
            v: [0]
        }, {
            l: 10,
            t: [9, 7, 11, 1],
            C: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14],
            v: [49, 76, 164, 193, 267, 268]
        }, {
            t: [0, 4],
            C: [0, 1, 2, 4, 5],
            v: [3, 12, 18, 19, 26, 27, 125, 172]
        }, {
            t: [2],
            C: [1, 2, 3, 4, 6, 7, 9, 10, 11],
            v: [0, 5, 8, 15, 21, 195]
        }, {
            t: [],
            C: [],
            v: []
        }, {
            t: [0],
            C: [0],
            v: [1]
        }, {
            t: [],
            C: [],
            v: [0, 3]
        }, {
            t: [0],
            C: [0],
            v: [5]
        }, {
            t: [1],
            C: [0, 1],
            v: [5, 7, 8, 9, 351]
        }, {
            t: [],
            C: [],
            v: [0, 23, 26]
        }, {
            t: [0],
            C: [0],
            v: []
        }, {
            t: [],
            C: [1, 2, 3, 4],
            v: [0, 13, 27, 85]
        }, {
            t: [0],
            C: [0],
            v: [27]
        }, {
            t: [2],
            C: [0, 2, 3],
            v: [1, 4]
        }, {
            t: [],
            C: [1, 4, 6, 7, 10, 14, 16, 18, 20, 22, 23, 24, 25, 26],
            v: [0, 2, 3, 5, 8, 9, 11, 12, 13, 15, 17, 19, 21, 125, 172, 189, 195]
        }, {
            t: [],
            C: [],
            v: [1, 4]
        }, {
            t: [],
            C: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16],
            v: [5, 15, 125, 172]
        }, {
            t: [0],
            C: [0],
            v: [3]
        }, {
            t: [],
            C: [1, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 32],
            v: [0, 2, 3, 7, 16, 21, 24, 25, 26, 27, 28, 29, 30, 31, 34, 42, 44, 82, 125, 126, 146, 158, 172, 186, 189, 217, 230, 292, 293, 301, 328, 334, 343, 357]
        }, {
            l: 2,
            t: [6, 3, 5, 1],
            C: [0, 1, 3, 4, 5, 6],
            v: []
        }, {
            t: [29, 8, 17, 31],
            C: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32],
            v: [7, 12, 15, 25, 33, 38, 50, 64, 72, 94, 102, 117, 142, 153, 215, 227, 248, 260, 275, 284, 288, 305, 323, 336, 340, 349]
        }, {
            t: [0],
            C: [0, 1],
            v: [18, 165, 181, 255, 290, 301, 303]
        }, {
            t: [0],
            C: [0],
            v: [63]
        }, {
            t: [1, 0],
            C: [0, 1],
            v: [149]
        }, {
            t: [0],
            C: [0],
            v: [18]
        }, {
            t: [],
            C: [],
            v: [10]
        }, {
            t: [0, 1, 5, 6, 2, 4, 3],
            C: [0, 1, 2, 3, 4, 5, 6],
            v: [23, 61, 138, 166, 170, 194, 300, 301]
        }, {
            t: [0],
            C: [0],
            v: [8]
        }];
    var numberArray = [132.2, 253.2, 121.2, .1, 74.2, 2201899482, 2740211630, 7.5398223600000005, 2847285690, 31090522, 275.2, 3743275402, 3318509690, 284.2, 154.2, 101.2, .2, 93.2, 279.2, .7, 922008474, 971497754, 2461747757, 598902283, 629402020, 2147483648, 265.2, 257348550135456.88, 290.2, 244.2, 170.2, 254.2, 1239580603, 45.2, 65.2, 84.2, 211.2, 399231403, 536870911, 63.2, 183.2, 3859266993, -1074, 99181075, 1688010488, 48.2, .5, 2.75, 137.2, 4174564507, 875733608, 144.2, 2389837486, 238.2, 8280039e2, 2872160648, 1997986946, 0x20000000000000, 3332526584, 5050609e2, 9.2, 724619624, 92.2, 647769070, 67108864, 1577750618, 708470954, .4, 2090248682, 3891112177, 2993665312, 1582252366, 10.05309648, .9, 6.2831853, 1007723247, 5.02654824, 3363437144, 38.2, 1434574246, 2324473708, 4294967296, 293.2, 1971734641, 286.2, 4313095025605680, 2393392308, 219.2, 1035793960, 99.2, 188.2, 298.2, 1756044170, 2845869764, 508041131, 390535033, 2135174803, 316.2, 0x1FFFFFFFFFFFFF, 3.5, 12.5663706, .6, 139236456, 4294967295, 18446744073709550000, 192041471, -1022, 1891353754, 313.2, 3576115390, 81.2, 30.2, .8, 281.2, 3603876240, 77017224e4, 3782017136, .3, 212.2, 36.2, 2379298063, 1928801222, 261.2, 259.2, 47.2, 33.2, 848133886, 90.2, 83.2, 3500767921, 72.2, 622317848, 1625109814, 330.2, 191.2, 2664494970, 142.2, 3735928559, 1474721287, 2969494852, 865498720, 685342107, 173.2, 1062579495, 1182813676, 2.51327412, 193.2, 73.2, 815997380, 2139581624];

    function decodeString(a) {
        var Q = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
        var r = a.length;
        var O = new (typeof Uint8Array === "function" ? Uint8Array : Array)(Math.floor(r * 3 / 4));
        var B, GS, GG, Gg, GD, Gn, Ge;
        for (var GY = 0, GK = 0; GY < r; GY += 4, GK += 3) {
            B = Q.indexOf(a.charAt(GY));
            GS = Q.indexOf(a.charAt(GY + 1));
            GG = Q.indexOf(a.charAt(GY + 2));
            Gg = Q.indexOf(a.charAt(GY + 3));
            GD = B << 2 | GS >> 4;
            Gn = (GS & 15) << 4 | GG >> 2;
            Ge = (GG & 3) << 6 | Gg;
            O[GK] = GD;
            if (GY + 2 < r) {
                O[GK + 1] = Gn;
            }
            if (GY + 3 < r) {
                O[GK + 2] = Ge;
            }
        }
        return O;
    }

    function Registers() {
        this.reg = [];
        this.init = function (Gs) {
            this.reg[Gs] = {
                v: void 0
            };
        };
        this.get = function (GZ) {
            return this.reg[GZ].v;
        };
        this.set = function (Gj, Go) {
            if (Array.isArray(Go) && typeof Go[0] === 'number') {
                // print(ha, hX+'')

            }
            if (Array.isArray(Go) && Go.length === 5
                && Go + '' === '22,28,65,7,126') {
                debugger;
            }
            // (ha === 13 || ha === 10|| ha === 8) &&
            if (Array.isArray(Go) && Go.length === 60) {
                // print(ha,'\n',hX)
                idx += 1;
                // print(arrs['arr60' + idx])
                Go = new Proxy(Go, {
                    set(target, propKey, value, receiver) { //拦截对象属性的设置，比如proxy.foo = v或proxy['foo'] = v，返回一个布尔值。
                        const temp = Reflect.set(target, propKey, value, receiver);
                        print(`${'arr60' + idx} -> set ${propKey} value -> ${value}`);
                        // if (propKey == 'pathname')debugger;
                        if (propKey === '27') debugger;
                        return temp;
                    }
                })
                // debugger;

            }
            // (Gj === 14 || Gj === 10|| Gj === 8) &&
            if (Array.isArray(Go) && Go.length > 1000) {
                print('resultss',Gj, '\t\t', Go + "")
                // debugger;
            }
            if ((Gj === 30) && Go && Go.length === 6) {
                debugger
            }
            if (Array.isArray(Go) && Go.length === 9) {
                print(times, Go + '')
                // debugger
            }
            this.reg[Gj].v = Go;
        };
        this.clone = function () {
            var GH = new Registers();
            GH.reg = [].slice !== [].slice ? this.reg.slice(0) : this.reg.slice(0);
            return GH;
        };
    }

    function customArr() {
        var GM = [];
        return GM;
    }

    function VirtualMachine(programCounter, opcodeHandlerCounter, registers, window) {
        this.stack = customArr();
        this.yStack = customArr();
        this.vStack = customArr();
        this.opcodeHandlerCounter = opcodeHandlerCounter;
        this.programCounter = programCounter;
        this.registers = registers;
        this.window$1 = window == null ? window : Object(window);
        this.window$2 = window;
        this.reg = 0;
        this.next = function () {
            var result = opcodeHandlerMap[this.opcodeHandlerCounter][decodedBytecode[this.programCounter++]];
            this.opcodeHandlerCounter = result[0];
            return result[1];
        };
    }

    function tryExecInstruction(opcodeHandler, vmContext) {
        try {
            return opcodeHandler(vmContext);
        } catch (GR) {
            console.log(GR);
            catchExecError(GR, vmContext);
        }
    }

    function catchExecError(Gz, vmContext) {
        var Gm = vmContext.vStack.pop();
        for (var GJ = 0; GJ < Gm.c; ++GJ) {
            vmContext.yStack.pop();
        }
        vmContext.yStack.push({
            N: true,
            z: Gz
        });
        vmContext.programCounter = Gm.Y;
        vmContext.opcodeHandlerCounter = Gm.K;
    }

    var instructionHandlers = [

        function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var fn_call$0 = createOpcodeFunction(byte$0, stack$1, stack$0, vmContext.registers);
            vmContext.registers.set(byte$1, fn_call$0);
            vmContext.stack[vmContext.stack.length - 2] = fn_call$0;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.vStack.pop();
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0 | stack$1);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.registers.get(byte$1);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            if (vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = byte$0;
                vmContext.opcodeHandlerCounter = byte$1;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0 + stack$1);
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$2;
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '&', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] & vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] & vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = byte$0 & vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$0;
            vmContext.stack[stackLength$0 + 1] = byte$1;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            vmContext.vStack.push({
                Y: byte$0,
                K: byte$1,
                c: 0
            });
        }, function (vmContext) {
            Object.defineProperty(vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], {
                writable: true,
                configurable: true,
                enumerable: true,
                value: vmContext.stack[vmContext.stack.length - 1]
            });
            vmContext.stack[vmContext.stack.length - 3] = vmContext.stack[vmContext.stack.length - 3];
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var byte$3 = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$2;
            vmContext.opcodeHandlerCounter = byte$3;
            vmContext.stack[vmContext.stack.length - 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var fn_call$0 = String(vmContext.registers.get(byte$0));
            vmContext.registers.set(byte$1, fn_call$0);
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            var byte$1 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$4$;
            vmContext.stack[stackLength$0 + 1] = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, byte$0, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: byte$1
            });
            vmContext.stack[vmContext.stack.length - 1] = stack$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 5;
            var stack$0 = vmContext.stack[vmContext.stack.length - 5];
            var stack$1Pointer = vmContext.stack.length - 4;
            var stack$1 = vmContext.stack[vmContext.stack.length - 4];
            var stack$2Pointer = vmContext.stack.length - 3;
            var stack$2 = vmContext.stack[vmContext.stack.length - 3];
            var stack$3Pointer = vmContext.stack.length - 2;
            var stack$3 = vmContext.stack[vmContext.stack.length - 2];
            var stack$4Pointer = vmContext.stack.length - 1;
            var stack$4 = vmContext.stack[vmContext.stack.length - 1];
            var stack$0$ = stack$0;
            var fn_call$0 = stack$0$(stack$1, stack$2, stack$3, stack$4);
            vmContext.stack[vmContext.stack.length - 5] = vmContext.registers.get(byte$0);
            vmContext.stack.length -= 4;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = [ReferenceError, TypeError, Object, RegExp, Number, String, Array, Object.bind, Object.call, Object.apply, [].push, [].pop, [].slice, [].splice, [].join, [].map, {}.hasOwnProperty, JSON.stringify, Object.getOwnPropertyDescriptor, Object.defineProperty, String.fromCharCode, Math.min, Math.floor, Object.create, "".indexOf, "".charAt, typeof Uint8Array === "function" ? Uint8Array : Array];
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var stack$0$ = stack$0;
                if (typeof globalEmptyObj[stack$0$ + "," + byte$0] !== "undefined") {
                    var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0];
                    break a;
                }
                var rawString$0 = encodedStringArray[byte$0];
                var rawString$1 = decodeString(rawString$0);
                var rawString$2 = decodeString(stack$0$);
                var rawString$3 = "";
                for (var i = 1; i < rawString$1.length; ++i) {
                    rawString$3 += String.fromCharCode(rawString$2[i] ^ rawString$1[i] ^ rawString$1[0] + rawString$2[0] & 255);
                }
                var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0] = rawString$3;
            }
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var fn_call$0 = RegExp(rawString$3$, stack$1);
            var stack$2Pointer = vmContext.stack.length - 4;
            var stack$2 = vmContext.stack[vmContext.stack.length - 4];
            var stack$3Pointer = vmContext.stack.length - 3;
            var stack$3 = vmContext.stack[vmContext.stack.length - 3];
            Object.defineProperty(stack$2, stack$3, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: fn_call$0
            });
            vmContext.stack[vmContext.stack.length - 4] = stack$2;
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var byte$3 = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            vmContext.registers.set(byte$1, stack$1);
            var stackLength$0 = vmContext.stack.length - 2;
            vmContext.stack[stackLength$0] = byte$3;
            vmContext.stack[stackLength$0 + 1] = byte$2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = byte$1;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = byte$0;
            vmContext.stack[stackLength$0 + 2] = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            if (stack$0 < vmContext.registers.get(byte$0)) {
                vmContext.programCounter = byte$1;
                vmContext.opcodeHandlerCounter = byte$2;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = void 0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.registers.set(byte$0, false);
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var array$0 = [];
            vmContext.registers.set(byte$1, array$0);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 2] = rawString$0;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 12;
            var stack$0 = vmContext.stack[vmContext.stack.length - 12];
            vmContext.stack[vmContext.stack.length - 12] = new stack$0(vmContext.stack[vmContext.stack.length - 11], vmContext.stack[vmContext.stack.length - 10], vmContext.stack[vmContext.stack.length - 9], vmContext.stack[vmContext.stack.length - 8], vmContext.stack[vmContext.stack.length - 7], vmContext.stack[vmContext.stack.length - 6], vmContext.stack[vmContext.stack.length - 5], vmContext.stack[vmContext.stack.length - 4], vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 11;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            vmContext.programCounter = vmContext.reg.F;
            vmContext.opcodeHandlerCounter = vmContext.reg.K;
            vmContext.stack[vmContext.stack.length] = rawString$4$;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0 != vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = stack$0 != vmContext.registers.get(byte$0);
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '%', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] % vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] % vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 1] = -vmContext.stack[vmContext.stack.length - 1];
        }, function (vmContext) {
            "use strict";

            vmContext.stack[vmContext.stack.length - 2] = delete vmContext.stack[vmContext.stack.length - 2][vmContext.stack[vmContext.stack.length - 1]];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0)(vmContext.registers.get(byte$1));
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '<<', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] << vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] << vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var stack$0$ = stack$0;
            var fn_call$0 = stack$0$(stack$1);
            vmContext.registers.set(byte$0, fn_call$0);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.registers.get(byte$1);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.yStack.pop();
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            vmContext.stack[vmContext.stack.length - 2] = stack$0(vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            "use strict";

            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack[vmContext.stack.length - 3][vmContext.stack[vmContext.stack.length - 2]] = stack$0;
            vmContext.stack[vmContext.stack.length - 3] = stack$0;
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var stack$2Pointer = vmContext.stack.length - 3;
            var stack$2 = vmContext.stack[vmContext.stack.length - 3];
            var stack$2$ = stack$2;
            var fn_call$0 = stack$2$(stack$0 ^ stack$1);
            vmContext.registers.set(byte$0, fn_call$0);
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$0;
            vmContext.stack[stackLength$0 + 1] = typeof vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$4$;
            vmContext.stack[stackLength$0 + 1] = false;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '*', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] * vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] * vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '<=', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] <= vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] <= vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            var rawString$0$ = rawString$0;
            if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                var stackLength$0 = vmContext.stack.length;
                vmContext.stack[stackLength$0] = {};
                vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$0];
                return;
            }
            var rawString$1 = encodedStringArray[byte$0];
            var rawString$2 = decodeString(rawString$1);
            var rawString$3 = decodeString(rawString$0$);
            var rawString$4 = "";
            for (var i = 1; i < rawString$2.length; ++i) {
                rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = {};
            vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
        }, function (vmContext) {
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter]];
            vmContext.programCounter += 1;
            vmContext.stack[vmContext.stack.length] = number$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0) >= byte$1;
        }, function (vmContext) {
            if (vmContext.stack[vmContext.stack.length - 1] === null || vmContext.stack[vmContext.stack.length - 1] === void 0) {
                throw new TypeError("Cannot access property of " + vmContext.stack[vmContext.stack.length - 1]);
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '===', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] === vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] === vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = stack$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var byte$3 = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            vmContext.registers.set(byte$1, vmContext.registers.get(byte$0));
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$3;
            vmContext.stack[stackLength$0 + 1] = byte$2;
        }, function (vmContext) {
            emptyObject = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 6;
            var stack$0 = vmContext.stack[vmContext.stack.length - 6];
            vmContext.stack[vmContext.stack.length - 6] = stack$0(vmContext.stack[vmContext.stack.length - 5], vmContext.stack[vmContext.stack.length - 4], vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 5;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = rawString$0;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 4;
            var stack$0 = vmContext.stack[vmContext.stack.length - 4];
            vmContext.stack[vmContext.stack.length - 4] = stack$0(vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = rawString$0;
            vmContext.stack[stackLength$0 + 2] = byte$1;
            vmContext.stack[stackLength$0 + 3] = byte$0;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 7;
            var stack$0 = vmContext.stack[vmContext.stack.length - 7];
            vmContext.stack[vmContext.stack.length - 7] = stack$0(vmContext.stack[vmContext.stack.length - 6], vmContext.stack[vmContext.stack.length - 5], vmContext.stack[vmContext.stack.length - 4], vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 6;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '>>', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] >> vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] >> vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack.push(function () {
                null[0]();
            });
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]];
            vmContext.programCounter += 5;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = rawString$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length - 2] = createOpcodeFunction(byte$0, vmContext.stack[vmContext.stack.length - 1], vmContext.stack[vmContext.stack.length - 2], vmContext.registers);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = null;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = number$0;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = typeof window[rawString$0];
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.stack[vmContext.stack.length - (2 + byte$0)] = vmContext.stack[vmContext.stack.length - (1 + byte$0)].apply(vmContext.stack[vmContext.stack.length - (2 + byte$0)], vmContext.stack.slice(vmContext.stack.length - byte$0));
            vmContext.stack.length -= 1 + byte$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            if (!(stack$0 != vmContext.registers.get(byte$0))) {
                vmContext.programCounter = byte$1;
                vmContext.opcodeHandlerCounter = byte$2;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack[vmContext.stack.length - 1] = stack$0();
        }, function (vmContext) {
            "use strict";

            vmContext.stack[vmContext.stack.length - 3][vmContext.stack[vmContext.stack.length - 2]] = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = stack$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0) != null;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.registers.set(byte$2, byte$1);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            vmContext.registers.set(byte$1, stack$1);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.registers.get(byte$2);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0 & number$0;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            vmContext.stack[vmContext.stack.length - 3] = stack$0(vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 5;
            var stack$0 = vmContext.stack[vmContext.stack.length - 5];
            vmContext.stack[vmContext.stack.length - 5] = stack$0(vmContext.stack[vmContext.stack.length - 4], vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 4;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] / vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0 | stack$1);
            vmContext.stack[vmContext.stack.length - 2] = byte$1;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = byte$0;
            vmContext.stack[stackLength$0 + 2] = rawString$0;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 1] = Number(vmContext.stack[vmContext.stack.length - 1]);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var stack$0$ = stack$0;
                if (typeof globalEmptyObj[stack$0$ + "," + byte$0] !== "undefined") {
                    var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0];
                    break a;
                }
                var rawString$0 = encodedStringArray[byte$0];
                var rawString$1 = decodeString(rawString$0);
                var rawString$2 = decodeString(stack$0$);
                var rawString$3 = "";
                for (var i = 1; i < rawString$1.length; ++i) {
                    rawString$3 += String.fromCharCode(rawString$2[i] ^ rawString$1[i] ^ rawString$1[0] + rawString$2[0] & 255);
                }
                var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0] = rawString$3;
            }
            var stack$1Pointer = vmContext.stack.length - 3;
            var stack$1 = vmContext.stack[vmContext.stack.length - 3];
            var stack$2Pointer = vmContext.stack.length - 2;
            var stack$2 = vmContext.stack[vmContext.stack.length - 2];
            Object.defineProperty(stack$1, stack$2, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: rawString$3$
            });
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$1;
            vmContext.stack[stackLength$0 + 1] = byte$1;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            vmContext.programCounter += 3;
            vmContext.stack[vmContext.stack.length] = byte$0;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = vmContext.window$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2];
            var byte$2 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]];
            vmContext.programCounter += 4;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var fn_call$0 = createOpcodeFunction(byte$0, stack$1, stack$0, vmContext.registers);
            var stack$2Pointer = vmContext.stack.length - 4;
            var stack$2 = vmContext.stack[vmContext.stack.length - 4];
            var stack$3Pointer = vmContext.stack.length - 3;
            var stack$3 = vmContext.stack[vmContext.stack.length - 3];
            Object.defineProperty(stack$2, stack$3, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: fn_call$0
            });
            var stackLength$0 = vmContext.stack.length - 4;
            vmContext.stack[stackLength$0] = stack$2;
            vmContext.stack[stackLength$0 + 1] = rawString$0;
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack[stackLength$0 + 1] = vmContext.stack[vmContext.stack.length - 1];
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = rawString$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.programCounter = vmContext.reg.F;
            vmContext.opcodeHandlerCounter = vmContext.reg.K;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            throw vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            "use strict";
            con3('get', vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1])
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2][vmContext.stack[vmContext.stack.length - 1]];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var rawString$0$ = rawString$0;
            if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                var stackLength$0 = vmContext.stack.length - 1;
                vmContext.stack[stackLength$0] = stack$0;
                vmContext.stack[stackLength$0 + 1] = stack$0;
                vmContext.stack[stackLength$0 + 2] = globalEmptyObj[rawString$0$ + "," + byte$0];
                return;
            }
            var rawString$1 = encodedStringArray[byte$0];
            var rawString$2 = decodeString(rawString$1);
            var rawString$3 = decodeString(rawString$0$);
            var rawString$4 = "";
            for (var i = 1; i < rawString$2.length; ++i) {
                rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
            }
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = stack$0;
            vmContext.stack[stackLength$0 + 2] = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = number$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var stack$0$ = stack$0;
                if (typeof globalEmptyObj[stack$0$ + "," + byte$0] !== "undefined") {
                    var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0];
                    break a;
                }
                var rawString$0 = encodedStringArray[byte$0];
                var rawString$1 = decodeString(rawString$0);
                var rawString$2 = decodeString(stack$0$);
                var rawString$3 = "";
                for (var i = 1; i < rawString$1.length; ++i) {
                    rawString$3 += String.fromCharCode(rawString$2[i] ^ rawString$1[i] ^ rawString$1[0] + rawString$2[0] & 255);
                }
                var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0] = rawString$3;
            }
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            Object.defineProperty(stack$1, rawString$3$, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: null
            });
            vmContext.stack[vmContext.stack.length - 2] = stack$1;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = false;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            if (!vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = byte$0;
                vmContext.opcodeHandlerCounter = byte$1;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            if (vmContext.stack[vmContext.stack.length - 1] === null || vmContext.stack[vmContext.stack.length - 1] === void 0) {
                throw new TypeError(vmContext.stack[vmContext.stack.length - 1] + " is not an object");
            }
            vmContext.stack[vmContext.stack.length - 1] = Object(vmContext.stack[vmContext.stack.length - 1]);
        }, function (vmContext) {
            emptyObject = void 0;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = [];
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = {};
            vmContext.stack[stackLength$0 + 1] = rawString$0;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$0;
            vmContext.opcodeHandlerCounter = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.vStack.push({
                Y: byte$0,
                K: byte$1,
                c: 0
            });
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var fn_call$0 = Number(vmContext.registers.get(byte$0));
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$2;
            vmContext.stack[vmContext.stack.length] = fn_call$0;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack[vmContext.stack.length - 1] = stack$0 + rawString$4$;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            if (stack$0 != vmContext.registers.get(byte$0)) {
                vmContext.programCounter = byte$1;
                vmContext.opcodeHandlerCounter = byte$2;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            vmContext.stack[vmContext.stack.length] = createOpcodeFunction(byte$2, vmContext.registers.get(byte$1), vmContext.registers.get(byte$0), vmContext.registers);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.stack[vmContext.stack.length] = byte$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            vmContext.registers.set(byte$0, stack$0);
            vmContext.stack[vmContext.stack.length - 3] = [];
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$4$;
            vmContext.stack[stackLength$0 + 1] = [];
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var stack$0$ = stack$0;
            var fn_call$0 = stack$0$();
            vmContext.stack[vmContext.stack.length - 1] = fn_call$0 ^ byte$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            if (vmContext.registers.get(byte$1) === null || vmContext.registers.get(byte$1) === void 0) {
                throw new TypeError("Cannot access property of " + vmContext.registers.get(byte$1));
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = 2e308;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$0;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, rawString$0, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: vmContext.registers.get(byte$0)
            });
            vmContext.stack[vmContext.stack.length - 1] = stack$0;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = null;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            var byte$1 = decodedBytecode[vmContext.programCounter + 4] << 16 | (decodedBytecode[vmContext.programCounter + 5] << 8 | decodedBytecode[vmContext.programCounter + 6]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 7];
            vmContext.programCounter += 8;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$1 = encodedStringArray[byte$0];
                var rawString$2 = decodeString(rawString$1);
                var rawString$3 = decodeString(rawString$0$);
                var rawString$4 = "";
                for (var i = 1; i < rawString$2.length; ++i) {
                    rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$4;
            }
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$2;
            vmContext.stack[vmContext.stack.length] = rawString$4$;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.stack[vmContext.stack.length - 1] = Number(vmContext.registers.get(byte$1));
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = byte$0;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] !== vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var rawString$1 = encodedStringArray[decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            var rawString$1$ = rawString$1;
            if (typeof globalEmptyObj[rawString$1$ + "," + byte$0] !== "undefined") {
                var stackLength$0 = vmContext.stack.length;
                vmContext.stack[stackLength$0] = rawString$0;
                vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$1$ + "," + byte$0];
                return;
            }
            var rawString$2 = encodedStringArray[byte$0];
            var rawString$3 = decodeString(rawString$2);
            var rawString$4 = decodeString(rawString$1$);
            var rawString$5 = "";
            for (var i = 1; i < rawString$3.length; ++i) {
                rawString$5 += String.fromCharCode(rawString$4[i] ^ rawString$3[i] ^ rawString$3[0] + rawString$4[0] & 255);
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$0;
            vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$1$ + "," + byte$0] = rawString$5;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            decodedBytecode[byte$0] = byte$1;
        }, function (vmContext) {
            emptyObject = globalObject$1;
        }, function (vmContext) {
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter]];
            vmContext.programCounter += 1;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1$ = stack$1;
            vmContext.stack[vmContext.stack.length - 2] = stack$1$(stack$0 ^ number$0);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = RegExp(vmContext.stack[vmContext.stack.length - 1], vmContext.stack[vmContext.stack.length - 2]);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            if (stack$0 === null || stack$0 === void 0) {
                throw new TypeError("Cannot access property of " + stack$0);
            }
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = rawString$0;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '-', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] - vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] - vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = true;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var fn_call$0 = createOpcodeFunction(byte$0, stack$1, stack$0, vmContext.registers);
            var stack$2Pointer = vmContext.stack.length - 3;
            var stack$2 = vmContext.stack[vmContext.stack.length - 3];
            var stack$2$ = stack$2;
            var fn_call$1 = stack$2$(fn_call$0);
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.registers.set(byte$0, vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var array$0 = [];
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = array$0;
            vmContext.stack[stackLength$0 + 1] = byte$0;
            vmContext.stack[stackLength$0 + 2] = rawString$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]];
            vmContext.programCounter += 4;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = rawString$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            vmContext.programCounter = byte$0;
            vmContext.opcodeHandlerCounter = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.registers.set(byte$1, stack$0);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var rawString$0$ = rawString$0;
            if (typeof globalEmptyObj[rawString$0$ + "," + byte$1] !== "undefined") {
                vmContext.stack[vmContext.stack.length - 1] = globalEmptyObj[rawString$0$ + "," + byte$1];
                return;
            }
            var rawString$1 = encodedStringArray[byte$1];
            var rawString$2 = decodeString(rawString$1);
            var rawString$3 = decodeString(rawString$0$);
            var rawString$4 = "";
            for (var i = 1; i < rawString$2.length; ++i) {
                rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
            }
            vmContext.stack[vmContext.stack.length - 1] = globalEmptyObj[rawString$0$ + "," + byte$1] = rawString$4;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = rawString$0;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '|', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] | vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] | vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 3;
            var stack$0 = vmContext.stack[vmContext.stack.length - 3];
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var stack$2Pointer = vmContext.stack.length - 1;
            var stack$2 = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(stack$0, stack$1, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: stack$2
            });
            vmContext.registers.set(byte$0, stack$0);
            var stack$3Pointer = vmContext.stack.length - 4;
            var stack$3 = vmContext.stack[vmContext.stack.length - 4];
            vmContext.registers.set(byte$1, stack$3);
            vmContext.stack.length -= 4;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            vmContext.registers.set(byte$0, null);
            vmContext.stack[vmContext.stack.length] = null;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = byte$0;
        }, function (vmContext) {
            vmContext.programCounter = vmContext.reg.F;
            vmContext.opcodeHandlerCounter = vmContext.reg.K;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var array$0 = [];
            vmContext.registers.set(byte$0, array$0);
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$0;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$2;
            vmContext.stack[vmContext.stack.length - 1] = stack$0;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            var stack$2Pointer = vmContext.stack.length - 3;
            var stack$2 = vmContext.stack[vmContext.stack.length - 3];
            var stackLength$0 = vmContext.stack.length - 3;
            vmContext.stack[stackLength$0] = stack$2 | stack$0 >>> stack$1;
            vmContext.stack[stackLength$0 + 1] = stack$2 | stack$0 >>> stack$1;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var array$0 = [];
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = array$0;
            vmContext.stack[stackLength$0 + 1] = byte$0;
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            if (stack$0 == null) {
                vmContext.programCounter = byte$0;
                vmContext.opcodeHandlerCounter = byte$1;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '>=', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] >= vmContext.stack[vmContext.stack.length - 1]);

            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] >= vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3('call', vmContext.stack[vmContext.stack.length - 2][vmContext.stack[vmContext.stack.length - 1]])
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2][vmContext.stack[vmContext.stack.length - 1]]();
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var array$0 = [];
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = array$0;
            vmContext.stack[stackLength$0 + 1] = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0 << byte$0;
            vmContext.stack[stackLength$0 + 1] = number$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 2;
            var stack$0 = vmContext.stack[vmContext.stack.length - 2];
            var stack$1Pointer = vmContext.stack.length - 1;
            var stack$1 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0 + stack$1);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.registers.get(byte$1);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '<', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] < vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] < vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = byte$1;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$2);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$0;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 8;
            var stack$0 = vmContext.stack[vmContext.stack.length - 8];
            vmContext.stack[vmContext.stack.length - 8] = stack$0(vmContext.stack[vmContext.stack.length - 7], vmContext.stack[vmContext.stack.length - 6], vmContext.stack[vmContext.stack.length - 5], vmContext.stack[vmContext.stack.length - 4], vmContext.stack[vmContext.stack.length - 3], vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 7;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '+', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] + vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] + vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 3] << 16 | (decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 6];
            vmContext.programCounter += 7;
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$1;
            vmContext.opcodeHandlerCounter = byte$2;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = vmContext.registers.get(byte$0);
            vmContext.stack[stackLength$0 + 1] = rawString$0;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var byte$0 = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            var rawString$1 = encodedStringArray[decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5]];
            vmContext.programCounter += 6;
            a: {
                var rawString$0$ = rawString$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$0] !== "undefined") {
                    var rawString$5$ = globalEmptyObj[rawString$0$ + "," + byte$0];
                    break a;
                }
                var rawString$2 = encodedStringArray[byte$0];
                var rawString$3 = decodeString(rawString$2);
                var rawString$4 = decodeString(rawString$0$);
                var rawString$5 = "";
                for (var i = 1; i < rawString$3.length; ++i) {
                    rawString$5 += String.fromCharCode(rawString$4[i] ^ rawString$3[i] ^ rawString$3[0] + rawString$4[0] & 255);
                }
                var rawString$5$ = globalEmptyObj[rawString$0$ + "," + byte$0] = rawString$5;
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = rawString$5$;
            vmContext.stack[stackLength$0 + 1] = rawString$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            if (!vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = byte$0;
                vmContext.opcodeHandlerCounter = byte$1;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 4;
            var stack$0 = vmContext.stack[vmContext.stack.length - 4];
            var stack$1Pointer = vmContext.stack.length - 3;
            var stack$1 = vmContext.stack[vmContext.stack.length - 3];
            var stack$2Pointer = vmContext.stack.length - 2;
            var stack$2 = vmContext.stack[vmContext.stack.length - 2];
            var stack$3Pointer = vmContext.stack.length - 1;
            var stack$3 = vmContext.stack[vmContext.stack.length - 1];
            var stack$0$ = stack$0;
            var fn_call$0 = stack$0$(stack$1, stack$2, stack$3, vmContext.registers.get(byte$0));
            vmContext.registers.set(byte$1, fn_call$0);
            vmContext.stack.length -= 4;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] in vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var byte$3 = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            vmContext.registers.set(byte$1, byte$0);
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$3;
            vmContext.stack[stackLength$0 + 1] = byte$2;
        }, function (vmContext) {
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack[vmContext.stack.length - 1] = new stack$0();
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            vmContext.registers.set(byte$2, vmContext.registers.get(byte$1));
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = S;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var byte$1 = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            vmContext.vStack.push({
                Y: byte$0,
                K: byte$1,
                c: 0
            });
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var rawString$0$ = rawString$0;
            if (typeof globalEmptyObj[rawString$0$ + "," + byte$1] !== "undefined") {
                var stackLength$0 = vmContext.stack.length;
                vmContext.stack[stackLength$0] = byte$0;
                vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$1];
                return;
            }
            var rawString$1 = encodedStringArray[byte$1];
            var rawString$2 = decodeString(rawString$1);
            var rawString$3 = decodeString(rawString$0$);
            var rawString$4 = "";
            for (var i = 1; i < rawString$2.length; ++i) {
                rawString$4 += String.fromCharCode(rawString$3[i] ^ rawString$2[i] ^ rawString$2[0] + rawString$3[0] & 255);
            }
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$0;
            vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$1] = rawString$4;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 1] = !vmContext.stack[vmContext.stack.length - 1];
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '^', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] ^ vmContext.stack[vmContext.stack.length - 1]); vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] ^ vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            vmContext.registers.set(byte$1, byte$0);
            vmContext.stack[vmContext.stack.length] = byte$2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]];
            var byte$1 = decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var rawString$0$ = stack$0;
                if (typeof globalEmptyObj[rawString$0$ + "," + byte$1] !== "undefined") {
                    var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$1];
                    break a;
                }
                var rawString$5 = encodedStringArray[byte$0];
                var rawString$6 = decodeString(rawString$5);
                var rawString$7 = decodeString(rawString$0$);
                var rawString$8 = "";
                for (var i = 1; i < rawString$6.length; ++i) {
                    rawString$8 += String.fromCharCode(rawString$7[i] ^ rawString$6[i] ^ rawString$6[0] + rawString$7[0] & 255);
                }
                var rawString$4$ = globalEmptyObj[rawString$0$ + "," + byte$1] = rawString$8;
            }
            var rawString$0$ = rawString$0;
            if (typeof globalEmptyObj[rawString$0$ + "," + byte$1] !== "undefined") {
                var stackLength$0 = vmContext.stack.length - 1;
                vmContext.stack[stackLength$0] = rawString$4$;
                vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$1];
                return;
            }
            var rawString$5 = encodedStringArray[byte$1];
            var rawString$6 = decodeString(rawString$5);
            var rawString$7 = decodeString(rawString$0$);
            var rawString$8 = "";
            for (var i = 1; i < rawString$6.length; ++i) {
                rawString$8 += String.fromCharCode(rawString$7[i] ^ rawString$6[i] ^ rawString$6[0] + rawString$7[0] & 255);
            }
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = rawString$4$;
            vmContext.stack[stackLength$0 + 1] = globalEmptyObj[rawString$0$ + "," + byte$1] = rawString$8;
        }, function (vmContext) {
            var rawString$0 = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = RegExp(rawString$0);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.programCounter = byte$0;
            vmContext.opcodeHandlerCounter = byte$1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var byte$2 = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            if (!vmContext.registers.get(byte$0)) {
                vmContext.programCounter = byte$1;
                vmContext.opcodeHandlerCounter = byte$2;
            }
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var array$0 = [];
            for (var j in vmContext.stack[vmContext.stack.length - 1]) {
                array$0.push(j);
            }
            vmContext.stack[vmContext.stack.length - 1] = array$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0) ^ number$0;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 1] = String(vmContext.stack[vmContext.stack.length - 1]);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = stack$0;
            vmContext.stack[stackLength$0 + 1] = number$0;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            var byte$2 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var stackLength$0 = vmContext.stack.length;
            vmContext.stack[stackLength$0] = byte$0;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
            vmContext.stack[stackLength$0 + 2] = byte$2;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var byte$1 = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$1, stack$0 - byte$0);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            var byte$2 = decodedBytecode[vmContext.programCounter + 3] << 16 | (decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5]);
            var byte$3 = decodedBytecode[vmContext.programCounter + 6];
            vmContext.programCounter += 7;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var stack$0$ = stack$0;
                if (typeof globalEmptyObj[stack$0$ + "," + byte$0] !== "undefined") {
                    var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0];
                    break a;
                }
                var rawString$0 = encodedStringArray[byte$0];
                var rawString$1 = decodeString(rawString$0);
                var rawString$2 = decodeString(stack$0$);
                var rawString$3 = "";
                for (var i = 1; i < rawString$1.length; ++i) {
                    rawString$3 += String.fromCharCode(rawString$2[i] ^ rawString$1[i] ^ rawString$1[0] + rawString$2[0] & 255);
                }
                var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0] = rawString$3;
            }
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = byte$2;
            vmContext.opcodeHandlerCounter = byte$3;
            var stackLength$0 = vmContext.stack.length - 1;
            vmContext.stack[stackLength$0] = rawString$3$;
            vmContext.stack[stackLength$0 + 1] = vmContext.registers.get(byte$1);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(byte$0);
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter];
            var number$0 = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            var stack$0Pointer = vmContext.stack.length - 1;
            var stack$0 = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(byte$0, stack$0);
            var stack$1Pointer = vmContext.stack.length - 2;
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            vmContext.stack[vmContext.stack.length - 2] = stack$1 & number$0;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 1] = typeof vmContext.stack[vmContext.stack.length - 1];
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            var byte$1 = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            if (vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = byte$0;
                vmContext.opcodeHandlerCounter = byte$1;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var byte$0 = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            a: {
                var stack$0Pointer = vmContext.stack.length - 1;
                var stack$0 = vmContext.stack[vmContext.stack.length - 1];
                var stack$0$ = stack$0;
                if (typeof globalEmptyObj[stack$0$ + "," + byte$0] !== "undefined") {
                    var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0];
                    break a;
                }
                var rawString$0 = encodedStringArray[byte$0];
                var rawString$1 = decodeString(rawString$0);
                var rawString$2 = decodeString(stack$0$);
                var rawString$3 = "";
                for (var i = 1; i < rawString$1.length; ++i) {
                    rawString$3 += String.fromCharCode(rawString$2[i] ^ rawString$1[i] ^ rawString$1[0] + rawString$2[0] & 255);
                }
                var rawString$3$ = globalEmptyObj[stack$0$ + "," + byte$0] = rawString$3;
            }
            var stack$1 = vmContext.stack[vmContext.stack.length - 2];
            var Ee = stack$1[rawString$3$]();
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var EK = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var Ey = vmContext.stack[vmContext.stack.length - 1];
            var Ep = Ey + "," + EK;
            var Ex = globalEmptyObj[Ep];
            if (typeof Ex !== "undefined") {
                vmContext.stack[vmContext.stack.length - 1] = Ex;
                return;
            }
            var Es = encodedStringArray[EK];
            var EZ = decodeString(Es);
            var Ej = decodeString(Ey);
            var Eo = EZ[0] + Ej[0] & 255;
            var EH = "";
            for (var Eq = 1; Eq < EZ.length; ++Eq) {
                EH += String.fromCharCode(Ej[Eq] ^ EZ[Eq] ^ Eo);
            }
            vmContext.stack[vmContext.stack.length - 1] = globalEmptyObj[Ep] = EH;
        }, function (vmContext) {
            "use strict";
            var ET = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            vmContext.programCounter += 2;
            if (!(ET in window)) {
                throw new ReferenceError(ET + " is not defined.");
            }
            // print('window.ET', ET)
            vmContext.stack[vmContext.stack.length] = window[ET];
        }, function (vmContext) {
            var EU = decodedBytecode[vmContext.programCounter];
            var Ec = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            if (vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = EU;
                vmContext.opcodeHandlerCounter = Ec;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var Ei = decodedBytecode[vmContext.programCounter];
            var EN = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var El = vmContext.registers.get(Ei);
            vmContext.stack[vmContext.stack.length] = El + EN;
        }, function (vmContext) {
            var EF = encodedStringArray[decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1]];
            var Eh = decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3];
            var ER = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            b1: {
                var Eb = EF;
                var Ez = Eb + "," + Eh;
                var EI = globalEmptyObj[Ez];
                if (typeof EI !== "undefined") {
                    var Em = EI;
                    break b1;
                }
                var EJ = encodedStringArray[Eh];
                var Ev = decodeString(EJ);
                var Ek = decodeString(Eb);
                var EW = Ev[0] + Ek[0] & 255;
                var EA = "";
                for (var Et = 1; Et < Ev.length; ++Et) {
                    EA += String.fromCharCode(Ek[Et] ^ Ev[Et] ^ EW);
                }
                var Em = globalEmptyObj[Ez] = EA;
            }
            var EV = vmContext.stack.length;
            vmContext.stack[EV] = Em;
            vmContext.stack[EV + 1] = vmContext.registers.get(ER);
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '>>>', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] >>> vmContext.stack[vmContext.stack.length - 1]);

            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] >>> vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var Ed = decodedBytecode[vmContext.programCounter];
            var Ef = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var EX = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Ed, EX);
            var EC = vmContext.stack[vmContext.stack.length - 2];
            vmContext.registers.set(Ef, EC);
            vmContext.stack[vmContext.stack.length - 2] = EC;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var EQ = decodedBytecode[vmContext.programCounter];
            var Er = decodedBytecode[vmContext.programCounter + 1];
            var EO = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var EB = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = EO;
            vmContext.opcodeHandlerCounter = EB;
            var US = vmContext.stack.length;
            vmContext.stack[US] = EQ;
            vmContext.stack[US + 1] = Er;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '>', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] > vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] > vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            --vmContext.vStack[vmContext.vStack.length - 1].c;
        }, function (vmContext) {
            var Un = decodedBytecode[vmContext.programCounter];
            var Ue = decodedBytecode[vmContext.programCounter + 1] << 16 | (decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]);
            var UY = decodedBytecode[vmContext.programCounter + 4];
            vmContext.programCounter += 5;
            var UK = vmContext.registers.get(Un);
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = Ue;
            vmContext.opcodeHandlerCounter = UY;
            vmContext.stack[vmContext.stack.length - 1] = UK;
        }, function (vmContext) {
            vmContext.stack = customArr();
        }, function (vmContext) {
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var Us = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var UZ = vmContext.registers.get(Us);
            var Uj = vmContext.stack.length;
            vmContext.stack[Uj] = UZ;
            vmContext.stack[Uj + 1] = UZ;
            vmContext.stack[Uj + 2] = UZ;
        }, function (vmContext) {
            var UH = decodedBytecode[vmContext.programCounter];
            var Uq = decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var UM = vmContext.stack[vmContext.stack.length - 3];
            var UT = vmContext.stack[vmContext.stack.length - 2];
            var UE = vmContext.stack[vmContext.stack.length - 1];
            Object.defineProperty(UM, UT, {
                writable: true,
                configurable: true,
                enumerable: true,
                value: UE
            });
            var UU = vmContext.stack.length - 3;
            vmContext.stack[UU] = UM;
            vmContext.stack[UU + 1] = UH;
            vmContext.stack[UU + 2] = Uq;
        }, function (vmContext) {
            var UP = decodedBytecode[vmContext.programCounter];
            var Ui = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var UN = vmContext.registers.get(UP);
            vmContext.stack[vmContext.stack.length] = UN <= Ui;
        }, function (vmContext) {
            var Uw = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var UF = vmContext.stack[vmContext.stack.length - 1];
            if (UF === null || UF === void 0) {
                throw new TypeError("Cannot access property of " + UF);
            }
            var Uh = vmContext.registers.get(Uw);
            vmContext.stack[vmContext.stack.length - 1] = String(Uh);
        }, function (vmContext) {
            var Ub = numberArray[decodedBytecode[vmContext.programCounter]];
            var Uz = numberArray[decodedBytecode[vmContext.programCounter + 1]];
            var UI = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var Um = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = UI;
            vmContext.opcodeHandlerCounter = Um;
            var UJ = vmContext.stack.length;
            vmContext.stack[UJ] = Ub;
            vmContext.stack[UJ + 1] = Uz;
        }, function (vmContext) {
            var Uk = decodedBytecode[vmContext.programCounter];
            var UW = decodedBytecode[vmContext.programCounter + 1];
            var UA = encodedStringArray[decodedBytecode[vmContext.programCounter + 2] << 8 | decodedBytecode[vmContext.programCounter + 3]];
            vmContext.programCounter += 4;
            var Ut = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Uk, Ut);
            var UV = vmContext.registers.get(UW);
            var Uu = vmContext.stack.length - 1;
            vmContext.stack[Uu] = UV;
            vmContext.stack[Uu + 1] = UA;
        }, function (vmContext) {
            var Ud = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var Uf = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Ud, Uf);
            vmContext.stack[vmContext.stack.length - 1] = String(Uf);
        }, function (vmContext) {
            var UC = vmContext.vStack.pop();
            var Ua = {
                N: false,
                z: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.yStack.push(Ua);
            vmContext.programCounter = UC.Y;
            vmContext.opcodeHandlerCounter = UC.K;
        }, function (vmContext) {
            var Ur = decodedBytecode[vmContext.programCounter];
            var UO = encodedStringArray[decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]];
            vmContext.programCounter += 3;
            var UB = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Ur, UB);
            var cS = vmContext.stack.length - 1;
            vmContext.stack[cS] = UB;
            vmContext.stack[cS + 1] = UO;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] != vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var cD = decodedBytecode[vmContext.programCounter];
            var cn = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var ce = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(cD, ce);
            var cY = vmContext.stack.length - 1;
            vmContext.stack[cY] = ce;
            vmContext.stack[cY + 1] = cn;
        }, function (vmContext) {
            var cy = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var cp = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            vmContext.reg = {
                F: vmContext.programCounter,
                K: vmContext.opcodeHandlerCounter
            };
            vmContext.programCounter = cy;
            vmContext.opcodeHandlerCounter = cp;
        }, function (vmContext) {
            var cs = decodedBytecode[vmContext.programCounter];
            var cZ = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var cj = true;
            vmContext.registers.set(cs, cj);
            vmContext.stack[vmContext.stack.length] = vmContext.registers.get(cZ);
        }, function (vmContext) {
            var cH = decodedBytecode[vmContext.programCounter];
            var cq = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var cM = vmContext.registers.get(cH);
            vmContext.stack[vmContext.stack.length] = cM >>> cq;
        }, function (vmContext) {
            var cE = vmContext.yStack.pop();
            if (cE.N) {
                throw cE.z;
            }
            vmContext.programCounter = cE.z;
            vmContext.opcodeHandlerCounter = cE.K;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] instanceof vmContext.stack[vmContext.stack.length - 1];
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var cP = decodedBytecode[vmContext.programCounter];
            var ci = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var cN = vmContext.registers.get(cP);
            var cl = vmContext.registers.get(ci);
            vmContext.stack[vmContext.stack.length] = cN < cl;
        }, function (vmContext) {
            var cF = decodedBytecode[vmContext.programCounter];
            var ch = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            if (!vmContext.stack[vmContext.stack.length - 1]) {
                vmContext.programCounter = cF;
                vmContext.opcodeHandlerCounter = ch;
            }
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            con3(vmContext.stack[vmContext.stack.length - 2], '==', vmContext.stack[vmContext.stack.length - 1], '==', vmContext.stack[vmContext.stack.length - 2] == vmContext.stack[vmContext.stack.length - 1]); vmContext.stack[vmContext.stack.length - 2] = vmContext.stack[vmContext.stack.length - 2] == vmContext.stack[vmContext.stack.length - 1]
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var cz = decodedBytecode[vmContext.programCounter];
            var cI = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var cm = vmContext.registers.get(cz);
            var cJ = vmContext.registers.get(cI);
            vmContext.programCounter = cJ;
            vmContext.opcodeHandlerCounter = cm;
        }, function (vmContext) {
            var ck = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var cW = decodedBytecode[vmContext.programCounter + 3] << 16 | (decodedBytecode[vmContext.programCounter + 4] << 8 | decodedBytecode[vmContext.programCounter + 5]);
            vmContext.programCounter += 6;
            var cA = vmContext.stack[vmContext.stack.length - 2];
            var ct = vmContext.stack[vmContext.stack.length - 1];
            var cV = cA;
            vmContext.stack[vmContext.stack.length - 2] = cV(ct, ck, cW);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var cL = vmContext.stack[vmContext.stack.length - 3];
            vmContext.stack[vmContext.stack.length - 3] = new cL(vmContext.stack[vmContext.stack.length - 2], vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            var cf = vmContext.stack[vmContext.stack.length - 2];
            vmContext.stack[vmContext.stack.length - 2] = new cf(vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var cC = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var ca = vmContext.yStack.pop();
            vmContext.registers.set(cC, ca.z);
        }, function (vmContext) {
            var cr = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var cO = vmContext.stack[vmContext.stack.length - 2];
            var cB = vmContext.stack[vmContext.stack.length - 1];
            var PS = cO << cB;
            var PG = vmContext.stack[vmContext.stack.length - 3];
            var Pg = PG | PS;
            vmContext.registers.set(cr, Pg);
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var Pn = decodedBytecode[vmContext.programCounter] << 16 | (decodedBytecode[vmContext.programCounter + 1] << 8 | decodedBytecode[vmContext.programCounter + 2]);
            var Pe = decodedBytecode[vmContext.programCounter + 3];
            vmContext.programCounter += 4;
            vmContext.programCounter = Pn;
            vmContext.opcodeHandlerCounter = Pe;
        }, function (vmContext) {
            var PK = decodedBytecode[vmContext.programCounter];
            var Py = decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            var Pp = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(PK, Pp);
            var Px = null;
            vmContext.registers.set(Py, Px);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = {};
        }, function (vmContext) {
            var Pj = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var Po = vmContext.stack[vmContext.stack.length - 1];
            var PH = Po >>> Pj;
            var Pq = vmContext.stack[vmContext.stack.length - 2];
            vmContext.stack[vmContext.stack.length - 2] = Pq | PH;
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            var PT = decodedBytecode[vmContext.programCounter];
            var PE = decodedBytecode[vmContext.programCounter + 1];
            var PU = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var Pc = vmContext.registers.get(PT);
            var PP = vmContext.registers.get(PE);
            var Pi = vmContext.stack.length;
            vmContext.stack[Pi] = Pc;
            vmContext.stack[Pi + 1] = PP;
            vmContext.stack[Pi + 2] = PU;
        }, function (vmContext) {
            var Pl = decodedBytecode[vmContext.programCounter];
            var Pw = decodedBytecode[vmContext.programCounter + 1];
            var PF = decodedBytecode[vmContext.programCounter + 2] << 16 | (decodedBytecode[vmContext.programCounter + 3] << 8 | decodedBytecode[vmContext.programCounter + 4]);
            var Ph = decodedBytecode[vmContext.programCounter + 5];
            vmContext.programCounter += 6;
            var PR = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Pl, PR);
            var Pb = vmContext.registers.get(Pw);
            var Pz = vmContext.stack.length - 1;
            vmContext.stack[Pz] = Pb;
            vmContext.stack[Pz + 1] = Ph;
            vmContext.stack[Pz + 2] = PF;
        }, function (vmContext) {
            var Pm = decodedBytecode[vmContext.programCounter] << 8 | decodedBytecode[vmContext.programCounter + 1];
            vmContext.programCounter += 2;
            vmContext.registers.set(Pm, vmContext.stack[vmContext.stack.length - 1]);
            vmContext.stack.length -= 1;
        }, function (vmContext) {
            ++vmContext.vStack[vmContext.vStack.length - 1].c;
        }, function (vmContext) {
            var Pk = decodedBytecode[vmContext.programCounter];
            var PW = decodedBytecode[vmContext.programCounter + 1];
            var PA = decodedBytecode[vmContext.programCounter + 2];
            vmContext.programCounter += 3;
            var Pt = vmContext.stack[vmContext.stack.length - 1];
            vmContext.registers.set(Pk, Pt);
            var PV = vmContext.stack[vmContext.stack.length - 2];
            vmContext.registers.set(PW, PV);
            var Pu = vmContext.stack[vmContext.stack.length - 3];
            vmContext.registers.set(PA, Pu);
            vmContext.stack.length -= 3;
        }, function (vmContext) {
            var Pd = decodedBytecode[vmContext.programCounter];
            vmContext.programCounter += 1;
            var Pf = null;
            var PX = vmContext.registers.get(Pd);
            vmContext.stack[vmContext.stack.length] = Pf == PX;
        }, function (vmContext) {
            vmContext.programCounter = vmContext.stack[vmContext.stack.length - 1];
            vmContext.opcodeHandlerCounter = vmContext.stack[vmContext.stack.length - 2];
            vmContext.stack.length -= 2;
        }, function (vmContext) {
            vmContext.stack[vmContext.stack.length] = vmContext.window$2;
        }];

    function createOpcodeFunction(PQ, Pr, PO, PB) {
        "use strict";

        var iS = parameterArray[PQ];
        return _initVm(Pr, PO, PB, iS.C, iS.v, iS.t, iS.V, iS.l);
    }
    ;
    var emptyObject = globalObject$2;
    var decodedBytecode = decodeString(" ");

    function _initVm(programCounter, opcodeHandlerCounter, previousRegister, _paramA, _paramB, _paramC, _paramD, _paramE) {
        var registers = new Registers();
        var isParamDUndefined = _paramD !== void 0;
        for (var i = 0; i < _paramB.length; ++i) {
            registers.reg[_paramB[i]] = previousRegister.reg[_paramB[i]];
        }
        var vmContext = _newVmContext(programCounter, opcodeHandlerCounter, registers, _paramA, _paramC, isParamDUndefined, _paramD);
        if (_paramE !== void 0) {
            registers.init(_paramE);
            registers.set(_paramE, vmContext);
        }
        return vmContext;
    }
    ;

    function _newVmContext(programCounter, opcodeHandlerCounter, prevRegisters, _paramA, _paramC, isParamDUndefined, _paramD) {
        var vmStart = function () {
            "use strict";

            var registers = prevRegisters.clone();
            var vmContext = new VirtualMachine(programCounter, opcodeHandlerCounter, registers, this);
            var ih,
                iR,
                ib = Math.min(arguments.length, _paramC.length);
            if (isParamDUndefined) {
                registers.init(_paramD);
                registers.set(_paramD, arguments);
            }
            for (ih = 0, iR = _paramA.length; ih < iR; ++ih) {
                registers.init(_paramA[ih]);
            }
            for (ih = 0; ih < ib; ++ih) {
                registers.set(_paramC[ih], arguments[ih]);
            }
            for (ih = ib; ih < _paramC.length; ++ih) {
                registers.set(_paramC[ih], void 0);
            }
            return _vmStart(vmContext);
        };
        return vmStart;
    }

    function _vmStart(vmContext) {
        var key = `${vmContext.programCounter}:${vmContext.opcodeHandlerCounter}`;
        if (!stackTrace[key]) {
            stackTrace[key] = [];
        }
        var currentTrace = [];
        stackTrace[key].push(currentTrace);
        var opcode, iJ;
        for (; ;) {
            if (emptyObject !== globalObject$2) {
                iJ = emptyObject;
                emptyObject = globalObject$2;
                return iJ;
            }
            opcode = vmContext.next();

            if (Array.isArray(vmContext.stack[0]) && vmContext.stack[0].length === 60 && Array.isArray(vmContext.stack[0][0])) {
                let res = [];
                vmContext.stack[0].forEach((e, i) => {
                    if (e && e.length == 2) {
                        res.push(i + '==' + e[1].length + '=>')
                        res.push(e[1] + '')
                    } else {
                        res.push(i + '==0=>iii')
                    }

                })
                print([].slice.call(res).join('iii'))
            }
            times++;
            // print({opcodeHandlerCounter: vmContext.opcodeHandlerCounter, programCounter: vmContext.programCounter, reg: vmContext.reg})
            // print('opCode', opcode, [].slice.call(vmContext.stack))
            // if (opcode === 213){
            //     debugger
            // }
            if (vmContext.vStack.length === 0) {
                currentTrace.push({
                    offset: vmContext.programCounter - 1,
                    opcode: opcode,
                    microOps: instructionHandlers[opcode](vmContext)
                });
            } else {
                currentTrace.push({
                    offset: vmContext.programCounter - 1,
                    opcode: opcode,
                    microOps: tryExecInstruction(instructionHandlers[opcode], vmContext)
                });
            }
        }
    }

    _initVm(0, 0, null, [3, 2, 0, 1], [], [], void 0, void 0)();
})(typeof window !== "undefined" && window != null  ? window : typeof global !== "undefined" && global != null && global.global === global ? global : this);
(function (e, d) {
    var isk = ["sIcidzxHu"];
    for (var i = 0; i < isk.length; ++i) {
        e.initCustomEvent(isk[i], false, false, d);
        dispatchEvent(e);
    }
})(document.createEvent("CustomEvent"), ["A97nfY-IAQAAqoWs8TokCGd4ge9wiJWEtTySE7C1pLSDjEe4tzAzwKGvkJ2QASZebdKucn0ewH9eCOfvosJeCA==", "J8QoS9q62O4cnMVvkemfCdXE_-l3abjzRiHAP7uwFLZB0Ir=pKGxN5sgtYTWDy1hU", [], [2047861029, 453967604, 1188017424, 886685092, 1231819529, 845208169, 104545809, 2142949960], document.currentScript && document.currentScript.nonce || "oLPzQ09IjH2sfk3A3n91hYyF", document.currentScript && document.currentScript.nonce || "oLPzQ09IjH2sfk3A3n91hYyF", [], typeof arguments === "undefined" ? void 0 : arguments]);


print('-------------------------------------')
console.log('当前times', times)
print(events)
print(v_events)
// window.debug = true
startx = parseInt(1000 * Math.random())
starty = parseInt(1000 * Math.random())
endx = parseInt(1000 * Math.random())
endy = parseInt(1000 * Math.random())
// window.debug = true
window.mouse_move(startx,starty,endx,endy)
window.debug = false

// window.mouse_click
// events['mousemove'](window.mouse_move())

// debug = true;
var xhr = new XMLHttpRequest();
xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
xhr.send("{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}")
print(xhr.headers)
console.log('startfetch....');
console.log('结束times', times)

// fetch("https://jbrest.jetblue.com/lfs-rwb/outboundLFS", {
//     "headers": {
//         "accept": "application/json",
//         "accept-language": "en-US,en;q=0.9",
//         "api-version": "v3",
//         "application-channel": "Mobile_Web_Android",
//         "booking-application-type": "NGB",
//         "cache-control": "no-cache",
//         "content-type": "application/json",
//         "pragma": "no-cache",
//         "sec-ch-ua": "\"Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111\"",
//         "sec-ch-ua-mobile": "?0",
//         "sec-ch-ua-platform": "\"Windows\"",
//         "sec-fetch-dest": "empty",
//         "sec-fetch-mode": "cors",
//         "sec-fetch-site": "same-site",
//     },
//     "referrer": "https://www.jetblue.com/booking/flights?from=ZLA&to=NAS&depart=2023-04-11&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
//     "referrerPolicy": "no-referrer-when-downgrade",
//     "body": "{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}",
//     "method": "POST",
//     "credentials": "omit"
// }).then(r => {
//     console.log(r.status)
//     console.log(times)
// })

console.timeEnd("处理完毕，耗时");


const express = require('express')
const app = express()

app.get('/', (req, res) => {
    console.log('当前times', times)

    var xhr = new XMLHttpRequest();
    xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
    xhr.send("")
    xhr.setRequestHeader('user-agent', navis.userAgent)
    // console.log(xhr.headers)
    console.log('结束times', times)
    res.send(JSON.stringify(xhr.headers))

})
const port = 3001

app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
})

