try {


    let funcs = [
        'XRHitTestResult',
        'crossOriginIsolated',
        'AbstractRange',
        'RTCDtlsTransport',
        'BarcodeDetector',
        'EventCounts',
        'SharedArrayBuffer',
        'VisualViewport',
        'FinalizationRegistry',
        'WritableStreamDefaultController',
        'HTMLMenuItemElement',
        'HID',
        'CSSCounterStyleRule',
        'FileSystemDirectoryHandle',
        'PerformancePaintTiming',
        'onbeforeinput',
        'ApplicationCache',
        'AudioData',
        'AudioTrack',
        'DOMRectList',
        'FragmentDirective',
        'Sanitizer',
        'onselectionchange',
        'onsecuritypolicyviolation',
        'structuredClone',
        'XRHand',
        'Lock',
        'EyeDropper',
        'CSSLayerBlockRule',
        'ServiceWorkerContainer',
        'IdleDetector',
        'HTMLDialogElement',
        'CSSFontPaletteValuesRule',
        'CSSMathClamp',
        'NavigationPreloadManager',
        'LaunchParams',
        'content',
        'IDBFileHandle',
        'BrowserCaptureMediaStreamTrack',
        'FontData',
        'ReadableByteStreamController',
        'OffscreenCanvas',
        'MediaSourceHandle',
        'XRCamera'
    ]


    let funcResult = funcs.map(e => {
        return window.hasOwnProperty(e) ? 1 : 0
    })
    let funcs2 = [
    "ActiveXObject",
    "ApplePaySession",
    "File",
    "MutationObserver",
    "Notification",
    "SharedWorker",
    "TouchEvent",
    "XDomainRequest",
    "_phantom",
    "attachEvent",
    "callPhantom",
    "createPopup",
    "detachEvent",
    "event",
    "external",
    "fireEvent",
    "frameElement",
    "globalStorage",
    "localStorage",
    "mozRTCPeerConnection",
    "mozRequestAnimationFrame",
    "phantom",
    "postMessage",
    "PushManager",
    "registerProtocolHandler",
    "requestAnimationFrame",
    "sessionStorage",
    "sidebar",
    "webkitRequestAnimationFrame",
    "webkitResolveLocalFileSystemURL",
    "webkitRTCPeerConnection",
    "BluetoothUUID",
    "netscape"
];
    let funcResult2 = funcs2.map(e => {
        return window.hasOwnProperty(e) ? 1 : 0
    })

    let matchmediaList = ["(max-aspect-ratio: 1/1)", "(max-aspect-ratio: 2/1)", "(max-aspect-ratio: 3/2)", "(max-aspect-ratio: 5/4)", "(max-aspect-ratio: 9/8)", "(max-aspect-ratio: 17/16)", "(max-aspect-ratio: 33/32)", "(max-aspect-ratio: 67/64)", "(max-aspect-ratio: 133/128)", "(max-aspect-ratio: 265/256)", "(max-aspect-ratio: 531/512)", "(max-aspect-ratio: 1063/1024)", "(max-aspect-ratio: 2127/2048)", "(max-aspect-ratio: 4255/4096)", "(max-aspect-ratio: 8511/8192)", "(max-aspect-ratio: 17023/16384)", "(max-aspect-ratio: 34047/32768)", "(max-aspect-ratio: 68095/65536)", "(max-aspect-ratio: 136191/131072)", "(max-aspect-ratio: 272383/262144)", "(max-aspect-ratio: 544767/524288)", "(max-aspect-ratio: 1089535/1048576)", "(max-aspect-ratio: 2179071/2097152)", "(max-aspect-ratio: 4358143/4194304)", "(max-aspect-ratio: 8716287/8388608)", "(max-aspect-ratio: 17432575/16777216)", "(max-aspect-ratio: 34865151/33554432)", "(max-aspect-ratio: 69730303/67108864)", "(max-aspect-ratio: 139460607/134217728)", "(max-aspect-ratio: 278921215/268435456)", "(max-aspect-ratio: 557842431/536870912)", "(max-aspect-ratio: 1115684863/1073741824)", "(max-aspect-ratio: 2231369727/2147483648)", "(max-aspect-ratio: 4462739455/4294967296)", "(max-aspect-ratio: 8925478911/8589934592)", "(max-aspect-ratio: 17850957823/17179869184)", "(max-aspect-ratio: 35701915647/34359738368)", "(max-aspect-ratio: 71403831295/68719476736)", "(max-aspect-ratio: 142807662591/137438953472)", "(max-aspect-ratio: 285615325183/274877906944)", "(max-aspect-ratio: 571230650367/549755813888)", "(max-aspect-ratio: 1142461300735/1099511627776)", "(max-aspect-ratio: 2284922601471/2199023255552)", "(max-aspect-ratio: 4569845202943/4398046511104)", "(max-aspect-ratio: 9139690405887/8796093022208)", "(max-aspect-ratio: 18279380811775/17592186044416)", "(max-aspect-ratio: 36558761623551/35184372088832)", "(max-aspect-ratio: 73117523247103/70368744177664)", "(max-aspect-ratio: 146235046494207/140737488355328)", "(max-aspect-ratio: 292470092988415/281474976710656)", "(max-aspect-ratio: 584940185976831/562949953421312)", "(max-aspect-ratio: 1169880371953663/1125899906842624)", "(min-resolution: 0.0001dpi)", "(max-resolution: 24dpi)", "(max-resolution: 48dpi)", "(max-resolution: 96dpi)", "(max-resolution: 72dpi)", "(max-resolution: 84dpi)", "(max-resolution: 90dpi)", "(max-resolution: 93dpi)", "(max-resolution: 95dpi)", "(any-hover: none)", "(any-hover: hover)", "(any-pointer: none)", "(any-pointer: coarse)", "(any-pointer: fine)", "(max-color: 8)", "(max-color: 4)", "(max-color: 6)", "(max-color: 7)", "(color-gamut: srgb)", "(color-gamut: p3)", "(color-gamut: rec2020)", "(max-color-index: 1000)", "(max-color-index: 500)", "(max-color-index: 250)", "(max-color-index: 125)", "(max-color-index: 62)", "(max-color-index: 31)", "(max-color-index: 15)", "(max-color-index: 7)", "(max-color-index: 3)", "(max-color-index: 1)", "(max-color-index: 0)", "(display-mode: fullscreen)", "(display-mode: standalone)", "(display-mode: minimal-ui)", "(display-mode: browser)", "(forced-colors: none)", "(forced-colors: active)", "(grid: 0)", "(grid: 1)", "(max-height: 600px)", "(max-height: 1200px)", "(max-height: 900px)", "(max-height: 750px)", "(max-height: 825px)", "(max-height: 863px)", "(max-height: 882px)", "(max-height: 891px)", "(max-height: 887px)", "(max-height: 889px)", "(max-height: 890px)", "(hover: none)", "(hover: hover)", "(inverted-colors: none)", "(inverted-colors: inverted)", "(light-level: normal)", "(light-level: dim)", "(light-level: washed)", "(max-monochrome: 1)", "(max-monochrome: 0)", "(orientation: landscape)", "(orientation: portrait)", "(pointer: none)", "(pointer: coarse)", "(pointer: fine)", "(overflow-inline: none)", "(overflow-inline: scroll)", "(scripting: none)", "(scripting: initial-only)", "(scripting: enabled)", "(max-width: 600px)", "(max-width: 1200px)", "(max-width: 900px)", "(max-width: 1050px)", "(max-width: 975px)", "(max-width: 938px)", "(max-width: 919px)", "(max-width: 929px)", "(max-width: 934px)", "(max-width: 932px)", "(max-width: 931px)", "(prefers-contrast: no-preference)", "(prefers-contrast: high)", "(prefers-contrast: low)", "(overflow-block: none)", "(overflow-block: scroll)", "(overflow-block: optional-paged)", "(overflow-block: paged)", "(update: none)", "(update: slow)", "(update: fast)", "(prefers-reduced-motion: no-preference)", "(prefers-reduced-motion: reduce)", "(q: 1)", "(prefers-reduced-transparency: no-preference)", "(prefers-reduced-transparency: reduce)", "(prefers-color-scheme: no-preference)", "(prefers-color-scheme: light)", "(prefers-color-scheme: dark)", "(scan: interlace)", "(scan: progressive)"];
    matchmediaList.push(...["(max-aspect-ratio: 1/1)", "(max-aspect-ratio: 2/1)", "(max-aspect-ratio: 3/1)", "(max-aspect-ratio: 4/1)", "(max-aspect-ratio: 5/1)", "(max-aspect-ratio: 6/1)", "(max-aspect-ratio: 7/1)", "(max-aspect-ratio: 8/1)", "(max-aspect-ratio: 9/1)", "(max-aspect-ratio: 10/1)", "(max-aspect-ratio: 11/1)", "(max-aspect-ratio: 12/1)", "(max-aspect-ratio: 13/1)", "(max-aspect-ratio: 14/1)", "(max-aspect-ratio: 15/1)", "(max-aspect-ratio: 16/1)", "(max-aspect-ratio: 17/1)", "(max-aspect-ratio: 18/1)", "(max-aspect-ratio: 19/1)", "(max-aspect-ratio: 20/1)", "(max-aspect-ratio: 21/1)", "(max-aspect-ratio: 22/1)", "(max-aspect-ratio: 23/1)", "(max-aspect-ratio: 24/1)", "(max-aspect-ratio: 25/1)", "(max-aspect-ratio: 26/1)", "(max-aspect-ratio: 27/1)", "(max-aspect-ratio: 28/1)", "(max-aspect-ratio: 29/1)", "(max-aspect-ratio: 30/1)", "(max-aspect-ratio: 31/1)", "(max-aspect-ratio: 32/1)", "(max-aspect-ratio: 33/1)", "(max-aspect-ratio: 34/1)", "(max-aspect-ratio: 35/1)", "(max-aspect-ratio: 36/1)", "(max-aspect-ratio: 37/1)", "(max-aspect-ratio: 38/1)", "(max-aspect-ratio: 39/1)", "(max-aspect-ratio: 40/1)", "(max-aspect-ratio: 41/1)", "(max-aspect-ratio: 42/1)", "(max-aspect-ratio: 43/1)", "(max-aspect-ratio: 44/1)", "(max-aspect-ratio: 45/1)", "(max-aspect-ratio: 46/1)", "(max-aspect-ratio: 47/1)", "(max-aspect-ratio: 48/1)", "(max-aspect-ratio: 49/1)", "(max-aspect-ratio: 50/1)", "(max-aspect-ratio: 51/1)", "(max-aspect-ratio: 101/2)", "(max-aspect-ratio: 203/4)", "(max-aspect-ratio: 407/8)", "(max-aspect-ratio: 815/16)", "(max-aspect-ratio: 1631/32)", "(max-aspect-ratio: 3263/64)", "(max-aspect-ratio: 6527/128)", "(max-aspect-ratio: 13055/256)", "(max-aspect-ratio: 26111/512)", "(max-aspect-ratio: 52223/1024)", "(max-aspect-ratio: 104447/2048)", "(max-aspect-ratio: 208895/4096)", "(max-aspect-ratio: 417791/8192)", "(max-aspect-ratio: 835583/16384)", "(max-aspect-ratio: 1671167/32768)", "(max-aspect-ratio: 3342335/65536)", "(max-aspect-ratio: 6684671/131072)", "(max-aspect-ratio: 13369343/262144)", "(max-aspect-ratio: 26738687/524288)", "(max-aspect-ratio: 53477375/1048576)", "(max-aspect-ratio: 106954751/2097152)", "(max-aspect-ratio: 213909503/4194304)", "(max-aspect-ratio: 427819007/8388608)", "(max-aspect-ratio: 855638015/16777216)", "(max-aspect-ratio: 1711276031/33554432)", "(max-aspect-ratio: 3422552063/67108864)", "(max-aspect-ratio: 6845104127/134217728)", "(max-aspect-ratio: 13690208255/268435456)", "(max-aspect-ratio: 27380416511/536870912)", "(max-aspect-ratio: 54760833023/1073741824)", "(max-aspect-ratio: 109521666047/2147483648)", "(max-aspect-ratio: 219043332095/4294967296)", "(max-aspect-ratio: 438086664191/8589934592)", "(max-aspect-ratio: 876173328383/17179869184)", "(max-aspect-ratio: 1752346656767/34359738368)", "(max-aspect-ratio: 3504693313535/68719476736)", "(max-aspect-ratio: 7009386627071/137438953472)", "(max-aspect-ratio: 14018773254143/274877906944)", "(max-aspect-ratio: 28037546508287/549755813888)", "(max-aspect-ratio: 56075093016575/1099511627776)", "(max-aspect-ratio: 112150186033151/2199023255552)", "(max-aspect-ratio: 224300372066303/4398046511104)", "(max-aspect-ratio: 448600744132607/8796093022208)", "(max-aspect-ratio: 897201488265215/17592186044416)", "(max-aspect-ratio: 1794402976530431/35184372088832)", "(max-aspect-ratio: 3588805953060863/70368744177664)", "(max-aspect-ratio: 7177611906121727/140737488355328)", "(min-resolution: 0.0001dpi)", "(max-resolution: 24dpi)", "(max-resolution: 48dpi)", "(max-resolution: 96dpi)", "(max-resolution: 72dpi)", "(max-resolution: 84dpi)", "(max-resolution: 90dpi)", "(max-resolution: 93dpi)", "(max-resolution: 95dpi)", "(any-hover: none)", "(any-hover: hover)", "(any-pointer: none)", "(any-pointer: coarse)", "(any-pointer: fine)", "(max-color: 8)", "(max-color: 4)", "(max-color: 6)", "(max-color: 7)", "(color-gamut: srgb)", "(color-gamut: p3)", "(color-gamut: rec2020)", "(max-color-index: 1000)", "(max-color-index: 500)", "(max-color-index: 250)", "(max-color-index: 125)", "(max-color-index: 62)", "(max-color-index: 31)", "(max-color-index: 15)", "(max-color-index: 7)", "(max-color-index: 3)", "(max-color-index: 1)", "(max-color-index: 0)", "(display-mode: fullscreen)", "(display-mode: standalone)", "(display-mode: minimal-ui)", "(display-mode: browser)", "(forced-colors: none)", "(forced-colors: active)", "(grid: 0)", "(grid: 1)", "(max-height: 600px)", "(max-height: 1200px)", "(max-height: 900px)", "(max-height: 750px)", "(max-height: 825px)", "(max-height: 863px)", "(max-height: 844px)", "(max-height: 854px)", "(max-height: 859px)", "(max-height: 861px)", "(max-height: 862px)", "(hover: none)", "(hover: hover)", "(inverted-colors: none)", "(inverted-colors: inverted)", "(light-level: normal)", "(light-level: dim)", "(light-level: washed)", "(max-monochrome: 1)", "(max-monochrome: 0)", "(orientation: landscape)", "(orientation: portrait)", "(pointer: none)", "(pointer: coarse)", "(pointer: fine)", "(overflow-inline: none)", "(overflow-inline: scroll)", "(scripting: none)", "(scripting: initial-only)", "(scripting: enabled)", "(max-width: 600px)", "(max-width: 1200px)", "(max-width: 2400px)", "(max-width: 4800px)", "(max-width: 9600px)", "(max-width: 19200px)", "(max-width: 38400px)", "(max-width: 76800px)", "(max-width: 153600px)", "(max-width: 307200px)", "(max-width: 614400px)", "(max-width: 1228800px)", "(max-width: 2457600px)", "(max-width: 4915200px)", "(max-width: 9830400px)", "(max-width: 19660800px)", "(max-width: 39321600px)", "(max-width: 78643200px)", "(max-width: 157286400px)", "(max-width: 314572800px)", "(max-width: 629145600px)", "(max-width: 1258291200px)", "(max-width: 2516582400px)", "(max-width: 5033164800px)", "(max-width: 10066329600px)", "(max-width: 20132659200px)", "(max-width: 40265318400px)", "(max-width: 80530636800px)", "(max-width: 161061273600px)", "(max-width: 322122547200px)", "(max-width: 644245094400px)", "(max-width: 1288490188800px)", "(max-width: 2576980377600px)", "(max-width: 5153960755200px)", "(max-width: 10307921510400px)", "(max-width: 20615843020800px)", "(max-width: 41231686041600px)", "(max-width: 82463372083200px)", "(max-width: 164926744166400px)", "(max-width: 329853488332800px)", "(max-width: 659706976665600px)", "(max-width: 1319413953331200px)", "(max-width: 2638827906662400px)", "(max-width: 5277655813324800px)", "(max-width: 10555311626649600px)", "(max-width: 21110623253299200px)", "(max-width: 42221246506598400px)", "(max-width: 84442493013196800px)", "(max-width: 168884986026393600px)", "(max-width: 337769972052787200px)", "(max-width: 675539944105574400px)", "(max-width: 506654958079180800px)", "(max-width: 591097451092377600px)", "(max-width: 633318697598976000px)", "(max-width: 654429320852275200px)", "(max-width: 664984632478924800px)", "(max-width: 670262288292249600px)", "(max-width: 672901116198912000px)", "(max-width: 674220530152243200px)", "(max-width: 674880237128908800px)", "(max-width: 675210090617241600px)", "(max-width: 675375017361408000px)", "(max-width: 675457480733491200px)", "(max-width: 675498712419532800px)", "(max-width: 675519328262553600px)", "(max-width: 675529636184064000px)", "(max-width: 675534790144819200px)", "(max-width: 675537367125196800px)", "(max-width: 675538655615385600px)", "(max-width: 675539299860480000px)", "(max-width: 675539621983027200px)", "(max-width: 675539783044300800px)", "(max-width: 675539863574937600px)", "(max-width: 675539903840256000px)", "(max-width: 675539923972915200px)", "(max-width: 675539934039244800px)", "(max-width: 675539939072409600px)", "(max-width: 675539941588992000px)", "(max-width: 675539942847283200px)", "(max-width: 675539943476428800px)", "(max-width: 675539943791001600px)", "(max-width: 675539943948288000px)", "(max-width: 675539944026931200px)", "(max-width: 675539944066252800px)", "(max-width: 675539944085913600px)", "(max-width: 675539944095744000px)", "(max-width: 675539944100659200px)", "(max-width: 675539944103116800px)", "(max-width: 675539944104345600px)", "(max-width: 675539944104960000px)", "(max-width: 675539944105267200px)", "(max-width: 675539944105420800px)", "(max-width: 675539944105497600px)", "(max-width: 675539944105536000px)", "(max-width: 675539944105555200px)", "(max-width: 675539944105564800px)", "(max-width: 675539944105569500px)", "(max-width: 675539944105572000px)", "(max-width: 675539944105573100px)", "(max-width: 675539944105573800px)", "(max-width: 675539944105574100px)", "(prefers-contrast: no-preference)", "(prefers-contrast: high)", "(prefers-contrast: low)", "(overflow-block: none)", "(overflow-block: scroll)", "(overflow-block: optional-paged)", "(overflow-block: paged)", "(update: none)", "(update: slow)", "(update: fast)", "(prefers-reduced-motion: no-preference)", "(prefers-reduced-motion: reduce)", "(q: 1)", "(prefers-reduced-transparency: no-preference)", "(prefers-reduced-transparency: reduce)", "(prefers-color-scheme: no-preference)", "(prefers-color-scheme: light)", "(prefers-color-scheme: dark)", "(scan: interlace)", "(scan: progressive)"])
    let matchmedias = {}
    for (let i = 0; i < matchmediaList.length; i++) {
        let k = matchmediaList[i];
        let v = matchMedia(k).matches
        matchmedias[k] = v
    }

    let fonts = [
        {"font": "50px  sans-serif", "text": "0-_{w."}, {
            "font": "50px  serif",
            "text": "0-_{w."
        }, {"font": "50px 'Andale Mono',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Arial Narrow',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Arial Unicode MS',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Batang',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Batang',  serif", "text": "0-_{w."}, {
            "font": "50px 'Bell MT',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Bell MT',  serif", "text": "0-_{w."}, {
            "font": "50px 'Brush Script',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Brush Script',  serif", "text": "0-_{w."}, {
            "font": "50px 'Brush Script MT',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Calibri',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Calibri',  serif",
            "text": "0-_{w."
        }, {"font": "50px 'Charter',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Courier',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Courier New',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Curlz MT',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Curlz MT',  serif", "text": "0-_{w."}, {
            "font": "50px 'DejaVu Sans',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'DejaVu Sans',  serif", "text": "0-_{w."}, {
            "font": "50px 'DejaVu Sans Mono',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'DejaVu Sans Mono',  serif", "text": "0-_{w."}, {
            "font": "50px 'DejaVu Serif Condensed',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'DejaVu Serif Condensed',  serif", "text": "0-_{w."}, {
            "font": "50px 'Droid Sans',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Droid Sans',  serif", "text": "0-_{w."}, {
            "font": "50px 'Droid Sans Fallback',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Droid Sans Fallback',  serif", "text": "0-_{w."}, {
            "font": "50px 'Droid Serif',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Droid Serif',  serif", "text": "0-_{w."}, {
            "font": "50px 'Forte',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Forte',  serif", "text": "0-_{w."}, {
            "font": "50px 'Futura',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Geneva',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Hei',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Leelawadee',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Leelawadee',  serif",
            "text": "0-_{w."
        }, {"font": "50px 'Levenim MT',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Levenim MT',  serif",
            "text": "0-_{w."
        }, {"font": "50px 'Liberation Sans',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Liberation Sans',  serif",
            "text": "0-_{w."
        }, {
            "font": "50px 'Liberation Sans Narrow',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Liberation Sans Narrow',  serif", "text": "0-_{w."}, {
            "font": "50px 'Marlett',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Marlett',  serif", "text": "0-_{w."}, {
            "font": "50px 'Meiryo UI',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Meiryo UI',  serif", "text": "0-_{w."}, {
            "font": "50px 'Microsoft Uighur',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Microsoft Uighur',  serif", "text": "0-_{w."}, {
            "font": "50px 'Microsoft YaHei UI',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Microsoft YaHei UI',  serif", "text": "0-_{w."}, {
            "font": "50px 'MS Mincho',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'MS Mincho',  serif", "text": "0-_{w."}, {
            "font": "50px 'MS UI Gothic',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'MS UI Gothic',  serif", "text": "0-_{w."}, {
            "font": "50px 'NanumGothic',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Nirmala UI',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Nirmala UI',  serif",
            "text": "0-_{w."
        }, {"font": "50px 'Palatino',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Papyrus',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'PMingLiU',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'PMingLiU',  serif",
            "text": "0-_{w."
        }, {"font": "50px 'PT Serif',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'SimHei',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'SimHei',  serif", "text": "0-_{w."}, {
            "font": "50px 'STIXVariants',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'STSong',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Traditional Arabic',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Traditional Arabic',  serif", "text": "0-_{w."}, {
            "font": "50px 'Urdu Typesetting',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Urdu Typesetting',  serif", "text": "0-_{w."}, {
            "font": "50px 'Verdana',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Wingdings',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Wingdings 3',  sans-serif",
            "text": "0-_{w."
        }, {"font": "50px 'Helkevtrica',  sans-serif", "text": "0-_{w."}, {
            "font": "50px 'Helkevtrica',  serif",
            "text": "0-_{w."
        }, {"font": "1000px sans-serif", "text": "₹"}, {"font": "1000px sans-serif", "text": "▁"}, {
            "font": "1000px sans-serif",
            "text": "₺"
        }, {"font": "1000px sans-serif", "text": "ꜽ"}, {"font": "1000px sans-serif", "text": "�"}, {
            "font": "1000px sans-serif",
            "text": "₸"
        }, {"font": "1000px sans-serif", "text": "׆"}, {"font": "1000px sans-serif", "text": "ẞ"}, {
            "font": "1000px sans-serif",
            "text": "ॿ"
        }, {"font": "1000px sans-serif", "text": ""}, {"font": "1000px sans-serif", "text": "᳚"}, {
            "font": "1000px sans-serif",
            "text": "៝"
        }, {"font": "1000px sans-serif", "text": "⎮"}, {"font": "1000px sans-serif", "text": "ം"}, {
            "font": "1000px sans-serif",
            "text": "ஂ"
        }, {"font": "1000px sans-serif", "text": "ᅚ"}, {"font": "1000px sans-serif", "text": "␥"}, {
            "font": "1000px sans-serif",
            "text": "〮"
        }, {"font": "1000px sans-serif", "text": "꠰"}, {"font": "1000px sans-serif", "text": "⬆"}, {
            "font": "1000px sans-serif",
            "text": "⇤"
        }, {"font": "1000px sans-serif", "text": "₽"}, {"font": "1000px sans-serif", "text": "ⱻ"}, {
            "font": "1000px sans-serif",
            "text": "₰"
        }, {"font": "1000px sans-serif", "text": "ﯮ"}, {"font": "1000px sans-serif", "text": ""}, {
            "font": "1000px sans-serif",
            "text": ""
        }, {"font": "1000px sans-serif", "text": ""}, {"font": "1000px sans-serif", "text": "Ⴀ"}, {
            "font": "1000px sans-serif",
            "text": "𝞐"
        }, {"font": "1000px sans-serif", "text": "܀"}, {"font": "1000px sans-serif", "text": "ᥐ"}, {
            "font": "1000px sans-serif",
            "text": "ゕ"
        }, {"font": "1000px sans-serif", "text": "匭"}, {
            "font": "1000px sans-serif",
            "text": "؜"
        }, {"font": "1000px sans-serif", "text": "⃣"}, {"font": "1000px sans-serif", "text": "￹"}, {
            "font": "1000px sans-serif",
            "text": "Ș"
        }, {"font": "1000px sans-serif", "text": "֏"}, {"font": "1000px sans-serif", "text": "ࣤ"}, {
            "font": "1000px sans-serif",
            "text": "঳"
        }, {"font": "1000px sans-serif", "text": "᱐"}, {"font": "1000px sans-serif", "text": "☙"}, {
            "font": "1000px serif",
            "text": "₹"
        }, {"font": "1000px serif", "text": "▁"}, {"font": "1000px serif", "text": "₺"}, {
            "font": "1000px serif",
            "text": "ꜽ"
        }, {"font": "1000px serif", "text": "�"}, {"font": "1000px serif", "text": "₸"}, {
            "font": "1000px serif",
            "text": "׆"
        }, {"font": "1000px serif", "text": "ẞ"}, {"font": "1000px serif", "text": "ॿ"}, {
            "font": "1000px serif",
            "text": ""
        }, {"font": "1000px serif", "text": "᳚"}, {"font": "1000px serif", "text": "៝"}, {
            "font": "1000px serif",
            "text": "⎮"
        }, {"font": "1000px serif", "text": "ം"}, {"font": "1000px serif", "text": "ஂ"}, {
            "font": "1000px serif",
            "text": "ᅚ"
        }, {"font": "1000px serif", "text": "␥"}, {"font": "1000px serif", "text": "〮"}, {
            "font": "1000px serif",
            "text": "꠰"
        }, {"font": "1000px serif", "text": "⬆"}, {"font": "1000px serif", "text": "⇤"}, {
            "font": "1000px serif",
            "text": "₽"
        }, {"font": "1000px serif", "text": "ⱻ"}, {"font": "1000px serif", "text": "₰"}, {
            "font": "1000px serif",
            "text": "ﯮ"
        }, {"font": "1000px serif", "text": ""}, {"font": "1000px serif", "text": ""}, {
            "font": "1000px serif",
            "text": ""
        }, {"font": "1000px serif", "text": "Ⴀ"}, {"font": "1000px serif", "text": "𝞐"}, {
            "font": "1000px serif",
            "text": "܀"
        }, {"font": "1000px serif", "text": "ᥐ"}, {"font": "1000px serif", "text": "ゕ"}, {
            "font": "1000px serif",
            "text": "匭"
        }, {"font": "1000px serif", "text": "؜"}, {"font": "1000px serif", "text": "⃣"}, {
            "font": "1000px serif",
            "text": "￹"
        }, {"font": "1000px serif", "text": "Ș"}, {"font": "1000px serif", "text": "֏"}, {
            "font": "1000px serif",
            "text": "ࣤ"
        }, {"font": "1000px serif", "text": "঳"}, {"font": "1000px serif", "text": "᱐"}, {
            "font": "1000px serif",
            "text": "☙"
        }, {"font": "1000px monospace", "text": "₹"}, {"font": "1000px monospace", "text": "▁"}, {
            "font": "1000px monospace",
            "text": "₺"
        }, {"font": "1000px monospace", "text": "ꜽ"}, {"font": "1000px monospace", "text": "�"}, {
            "font": "1000px monospace",
            "text": "₸"
        }, {"font": "1000px monospace", "text": "׆"}, {"font": "1000px monospace", "text": "ẞ"}, {
            "font": "1000px monospace",
            "text": "ॿ"
        }, {"font": "1000px monospace", "text": ""}, {"font": "1000px monospace", "text": "᳚"}, {
            "font": "1000px monospace",
            "text": "៝"
        }, {"font": "1000px monospace", "text": "⎮"}, {"font": "1000px monospace", "text": "ം"}, {
            "font": "1000px monospace",
            "text": "ஂ"
        }, {"font": "1000px monospace", "text": "ᅚ"}, {"font": "1000px monospace", "text": "␥"}, {
            "font": "1000px monospace",
            "text": "〮"
        }, {"font": "1000px monospace", "text": "꠰"}, {"font": "1000px monospace", "text": "⬆"}, {
            "font": "1000px monospace",
            "text": "⇤"
        }, {"font": "1000px monospace", "text": "₽"}, {"font": "1000px monospace", "text": "ⱻ"}, {
            "font": "1000px monospace",
            "text": "₰"
        }, {"font": "1000px monospace", "text": "ﯮ"}, {"font": "1000px monospace", "text": ""}, {
            "font": "1000px monospace",
            "text": ""
        }, {"font": "1000px monospace", "text": ""}, {"font": "1000px monospace", "text": "Ⴀ"}, {
            "font": "1000px monospace",
            "text": "𝞐"
        }, {"font": "1000px monospace", "text": "܀"}, {"font": "1000px monospace", "text": "ᥐ"}, {
            "font": "1000px monospace",
            "text": "ゕ"
        }, {"font": "1000px monospace", "text": "匭"}, {"font": "1000px monospace", "text": "؜"}, {
            "font": "1000px monospace",
            "text": "⃣"
        }, {"font": "1000px monospace", "text": "￹"}, {"font": "1000px monospace", "text": "Ș"}, {
            "font": "1000px monospace",
            "text": "֏"
        }, {"font": "1000px monospace", "text": "ࣤ"}, {"font": "1000px monospace", "text": "঳"}, {
            "font": "1000px monospace",
            "text": "᱐"
        }, {"font": "1000px monospace", "text": "☙"}, {"font": "1000px cursive", "text": "₹"}, {
            "font": "1000px cursive",
            "text": "▁"
        }, {"font": "1000px cursive", "text": "₺"}, {"font": "1000px cursive", "text": "ꜽ"}, {
            "font": "1000px cursive",
            "text": "�"
        }, {"font": "1000px cursive", "text": "₸"}, {"font": "1000px cursive", "text": "׆"}, {
            "font": "1000px cursive",
            "text": "ẞ"
        }, {"font": "1000px cursive", "text": "ॿ"}, {"font": "1000px cursive", "text": ""}, {
            "font": "1000px cursive",
            "text": "᳚"
        }, {"font": "1000px cursive", "text": "៝"}, {"font": "1000px cursive", "text": "⎮"}, {
            "font": "1000px cursive",
            "text": "ം"
        }, {"font": "1000px cursive", "text": "ஂ"}, {"font": "1000px cursive", "text": "ᅚ"}, {
            "font": "1000px cursive",
            "text": "␥"
        }, {"font": "1000px cursive", "text": "〮"}, {"font": "1000px cursive", "text": "꠰"}, {
            "font": "1000px cursive",
            "text": "⬆"
        }, {"font": "1000px cursive", "text": "⇤"}, {"font": "1000px cursive", "text": "₽"}, {
            "font": "1000px cursive",
            "text": "ⱻ"
        }, {"font": "1000px cursive", "text": "₰"}, {"font": "1000px cursive", "text": "ﯮ"}, {
            "font": "1000px cursive",
            "text": ""
        }, {"font": "1000px cursive", "text": ""}, {"font": "1000px cursive", "text": ""}, {
            "font": "1000px cursive",
            "text": "Ⴀ"
        }, {"font": "1000px cursive", "text": "𝞐"}, {"font": "1000px cursive", "text": "܀"}, {
            "font": "1000px cursive",
            "text": "ᥐ"
        }, {"font": "1000px cursive", "text": "ゕ"}, {"font": "1000px cursive", "text": "匭"}, {
            "font": "1000px cursive",
            "text": "؜"
        }, {"font": "1000px cursive", "text": "⃣"}, {"font": "1000px cursive", "text": "￹"}, {
            "font": "1000px cursive",
            "text": "Ș"
        }, {"font": "1000px cursive", "text": "֏"}, {"font": "1000px cursive", "text": "ࣤ"}, {
            "font": "1000px cursive",
            "text": "঳"
        }, {"font": "1000px cursive", "text": "᱐"}, {"font": "1000px cursive", "text": "☙"}, {
            "font": "1000px fantasy",
            "text": "₹"
        }, {"font": "1000px fantasy", "text": "▁"}, {"font": "1000px fantasy", "text": "₺"}, {
            "font": "1000px fantasy",
            "text": "ꜽ"
        }, {"font": "1000px fantasy", "text": "�"}, {"font": "1000px fantasy", "text": "₸"}, {
            "font": "1000px fantasy",
            "text": "׆"
        }, {"font": "1000px fantasy", "text": "ẞ"}, {"font": "1000px fantasy", "text": "ॿ"}, {
            "font": "1000px fantasy",
            "text": ""
        }, {"font": "1000px fantasy", "text": "᳚"}, {"font": "1000px fantasy", "text": "៝"}, {
            "font": "1000px fantasy",
            "text": "⎮"
        }, {"font": "1000px fantasy", "text": "ം"}, {"font": "1000px fantasy", "text": "ஂ"}, {
            "font": "1000px fantasy",
            "text": "ᅚ"
        }, {"font": "1000px fantasy", "text": "␥"}, {"font": "1000px fantasy", "text": "〮"}, {
            "font": "1000px fantasy",
            "text": "꠰"
        }, {"font": "1000px fantasy", "text": "⬆"}, {"font": "1000px fantasy", "text": "⇤"}, {
            "font": "1000px fantasy",
            "text": "₽"
        }, {"font": "1000px fantasy", "text": "ⱻ"}, {"font": "1000px fantasy", "text": "₰"}, {
            "font": "1000px fantasy",
            "text": "ﯮ"
        }, {"font": "1000px fantasy", "text": ""}, {"font": "1000px fantasy", "text": ""}, {
            "font": "1000px fantasy",
            "text": ""
        }, {"font": "1000px fantasy", "text": "Ⴀ"}, {"font": "1000px fantasy", "text": "𝞐"}, {
            "font": "1000px fantasy",
            "text": "܀"
        }, {"font": "1000px fantasy", "text": "ᥐ"}, {"font": "1000px fantasy", "text": "ゕ"}, {
            "font": "1000px fantasy",
            "text": "匭"
        }, {"font": "1000px fantasy", "text": "؜"}, {"font": "1000px fantasy", "text": "⃣"}, {
            "font": "1000px fantasy",
            "text": "￹"
        }, {"font": "1000px fantasy", "text": "Ș"}, {"font": "1000px fantasy", "text": "֏"}, {
            "font": "1000px fantasy",
            "text": "ࣤ"
        }, {"font": "1000px fantasy", "text": "঳"}, {"font": "1000px fantasy", "text": "᱐"}, {
            "font": "1000px fantasy",
            "text": "☙"
        }, {"font": "72px monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px serif", "text": "mmmmmmmmlli"}, {
            "font": "72px ARNOPRO, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ARNOPRO, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px ARNOPRO, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px AgencyFB, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px AgencyFB, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px AgencyFB, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px ArabicTypesetting, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ArabicTypesetting, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px ArabicTypesetting, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ArialUnicodeMS, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px ArialUnicodeMS, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ArialUnicodeMS, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px AvantGardeBkBT, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px AvantGardeBkBT, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px AvantGardeBkBT, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px BankGothicMdBT, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px BankGothicMdBT, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px BankGothicMdBT, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Batang, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Batang, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Batang, serif",
            "text": "mmmmmmmmlli"
        }, {
            "font": "72px BitstreamVeraSansMono, monospace",
            "text": "mmmmmmmmlli"
        }, {
            "font": "72px BitstreamVeraSansMono, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px BitstreamVeraSansMono, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Calibri, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Calibri, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Calibri, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Century, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Century, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Century, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px CenturyGothic, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px CenturyGothic, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px CenturyGothic, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Clarendon, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Clarendon, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Clarendon, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px EUROSTILE, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px EUROSTILE, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px EUROSTILE, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px FranklinGothic, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px FranklinGothic, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px FranklinGothic, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px FuturaBkBT, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px FuturaBkBT, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px FuturaBkBT, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px FuturaMdBT, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px FuturaMdBT, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px FuturaMdBT, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px GOTHAM, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px GOTHAM, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px GOTHAM, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px GillSans, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px GillSans, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px GillSans, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px HELV, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px HELV, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px HELV, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Haettenschweiler, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Haettenschweiler, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Haettenschweiler, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px HelveticaNeue, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px HelveticaNeue, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px HelveticaNeue, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Humanst521BT, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Humanst521BT, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Humanst521BT, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Leelawadee, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Leelawadee, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Leelawadee, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LetterGothic, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px LetterGothic, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LetterGothic, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px LevenimMT, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LevenimMT, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px LevenimMT, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LucidaBright, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px LucidaBright, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LucidaBright, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px LucidaSans, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px LucidaSans, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px LucidaSans, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MSMincho, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px MSMincho, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MSMincho, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MSOutlook, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MSOutlook, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MSOutlook, serif",
            "text": "mmmmmmmmlli"
        }, {
            "font": "72px MSReferenceSpecialty, monospace",
            "text": "mmmmmmmmlli"
        }, {
            "font": "72px MSReferenceSpecialty, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MSReferenceSpecialty, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MSUIGothic, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MSUIGothic, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MSUIGothic, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MTExtra, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px MTExtra, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MTExtra, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MYRIADPRO, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MYRIADPRO, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MYRIADPRO, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Marlett, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Marlett, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Marlett, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MeiryoUI, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MeiryoUI, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MeiryoUI, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MicrosoftUighur, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px MicrosoftUighur, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MicrosoftUighur, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MinionPro, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MinionPro, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px MinionPro, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MonotypeCorsiva, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px MonotypeCorsiva, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px MonotypeCorsiva, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px PMingLiU, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px PMingLiU, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px PMingLiU, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Pristina, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Pristina, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Pristina, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px SCRIPTINA, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SCRIPTINA, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px SCRIPTINA, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SegoeUILight, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px SegoeUILight, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SegoeUILight, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Serifa, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Serifa, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Serifa, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SimHei, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px SimHei, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SimHei, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px SmallFonts, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px SmallFonts, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px SmallFonts, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Staccato222BT, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px Staccato222BT, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Staccato222BT, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px TRAJANPRO, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px TRAJANPRO, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px TRAJANPRO, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px UniversCE55Medium, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px UniversCE55Medium, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px UniversCE55Medium, serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Vrinda, monospace",
            "text": "mmmmmmmmlli"
        }, {"font": "72px Vrinda, sans-serif", "text": "mmmmmmmmlli"}, {
            "font": "72px Vrinda, serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ZWAdobeF, monospace", "text": "mmmmmmmmlli"}, {
            "font": "72px ZWAdobeF, sans-serif",
            "text": "mmmmmmmmlli"
        }, {"font": "72px ZWAdobeF, serif", "text": "mmmmmmmmlli"}]

    let fontsRes = {}
    var canvas = new OffscreenCanvas(1200, 1200)
    var ctx = canvas.getContext('2d')
    for (let i = 0; i < fonts.length; i++) {
        ctx.font = fonts[i].font;
        let met = ctx.measureText(fonts[i].text)
        if (!fontsRes[fonts[i].font]) {
            fontsRes[fonts[i].font] = {}
        }
        fontsRes[fonts[i].font][fonts[i].text] = {
            width: met.width,
            actualboundingboxascent: met.actualBoundingBoxAscent,
            actualboundingboxleft: met.actualBoundingBoxLeft,
            actualboundingboxright: met.actualBoundingBoxRight,
            fontboundingboxascent: met.fontBoundingBoxAscent,
            actualboundingboxdescent: met.actualBoundingBoxDescent,
        }
    }


    let imgsRes = {};

    let sss = [
        {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["😎", -1, 96],
            "imageData": [18, 90, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["6️⃣", -1, 96],
            "imageData": [38, 77, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["🍼", -1, 96],
            "imageData": [48, 28, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["🏴󠁧󠁢󠁥󠁮󠁧󠁿", -1, 96],
            "imageData": [94, 23, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["📊", -1, 96],
            "imageData": [26, 46, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["🏴󠁧󠁢󠁥󠁮󠁧󠁿", -1, 96],
            "imageData": [47, 23, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["㊗️", -1, 96],
            "imageData": [37, 17, 1, 1]
        }, {
            "font": "94px sans-serif",
            "fillStyle": "#000000",
            "fillText": ["⛎", -1, 96],
            "imageData": [62, 28, 1, 1]
        }
    ]

    let imgRes = {};
    for (let i = 0; i < sss.length; i++) {

        var a = document.createElement('canvas')
        a.width = 96
        a.height = 96
        let ctx = a.getContext('2d');
        let s = sss[i];
        ctx.font = s.font;
        ctx.fillStyle = s.fillStyle;
        ctx.fillText(...s.fillText)

        let data = ctx.getImageData(...s.imageData);
        if (!imgRes[s.font]) {
            imgRes[s.font] = {}
        }
        imgRes[s.font][s.imageData + ''] = data.data + ''

    }


    let glArgs = {
        3413: 8,
        3412: 8,
        3411: 8,
        3410: 8,
        3414: 24,
        35661: 32,
        34076: 16384,
        36349: 1024,
        34024: 16384,
        34930: 16,
        3379: 16384,
        36348: 31,
        34921: 16,
        35660: 16,
        36347: 1024,
        7937: 'WebKit WebGL',
        35724: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
        3415: 0,
        7936: 'WebKit',
        7938: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
        37445: 'Google Inc.',
        37446: 'ANGLE (Apple, Apple M1 Max, OpenGL 4.1)',
        34047: 16
    };


    var glARgs = Object.keys(glArgs);
    var canvas = document.createElement('canvas')
    var gl = canvas.getContext('webgl')
    gl.getExtension('WEBGL_debug_renderer_info')
    gl.getExtension('EXT_texture_filter_anisotropic')
    for (let i = 0; i < glARgs.length; i++) {
        glArgs[glARgs[i]] = gl.getParameter(parseInt(glARgs[i]))
    }


    let navigatorparams = {
        appname: navigator.appName,
        appncodename: navigator.appCodeName,
        appversion: navigator.appVersion,
        appcodename: navigator.appCodeName,
        hardwareconcurrency: navigator.hardwareConcurrency,
        maxtouchpoints: navigator.maxTouchPoints,
        platform: navigator.platform,
        product: navigator.product,
        productsub: navigator.productSub,
        useragent: navigator.userAgent,
        vendor: navigator.vendor,
        vendorsub: navigator.vendorSub,
        donottrack: navigator.doNotTrack,
        oscpu: navigator.oscpu? navigator.oscpu: '',
        buildid: navigator.buildID? navigator.buildID: '',
    }

    let screenparams = {
        height: screen.height,
        width: screen.width,
        availheight: screen.availHeight,
        availwidth: screen.availWidth,
        pixeldepth: screen.pixelDepth,
        colordepth: screen.colorDepth,
        availtop: screen.availTop,
        availleft: screen.availLeft,
    }


    let featurePolicy;
    if (document.featurePolicy) {
        featurePolicy = {
            features: document.featurePolicy.features(),
            allowedfeatures: document.featurePolicy.allowedFeatures(),
        }
    }
    let windowparams = {
        innerheight: window.innerHeight,
        innerwidth: window.innerWidth,
        outerheight: window.outerHeight,
        outerwidth: window.outerWidth,
        screenx: window.screenX,
        screeny: window.screenY,
        screentop: window.screenTop,
        screenleft: window.screenLeft,
        pageyoffset: window.pageYOffset,
        devicepixelratio: window.devicePixelRatio,
    }


    let plugins = navigator.plugins;

    let plgs = {}

    function getObj(r) {

        return {
            description: r.description,
            suffixes: r.suffixes,
            type: r.type,
        }

    }

    for (let i = 0; i < plugins.length; i++) {
        let p = plugins.item(i);
        let pi = {}
        let keys = ['0', '1', 'application/pdf', 'text/pdf', 'description', 'filename', 'length', 'name'];
        for (const key of keys) {
            let r = p[key];
            if (typeof r === 'object') {
                r = getObj(r)
                r.enabledPlugin = [];
            }
            pi[key] = r
        }
        plgs[i] = pi
    }

    let mimes = [];
    let mimeTypes = navigator.mimeTypes;
    for (let i = 0; i < mimeTypes.length; i++) {
        let mime = mimeTypes.item(i);
        mimes.push({
            description: mime.description,
            suffixes: mime.suffixes,
            type: mime.type,
        })
    }

    function getDataUrl() {
        var canvas = document.createElement('canvas');
        let ctx = canvas.getContext('2d');
        ctx.font = '18pt Sans';
        ctx.textBaseline = 'top'
        ctx.fillText('Hel$&?6%){mZ+#@', 2, 2)
        return canvas.toDataURL("image/png");

    }

    function getDataUrl2() {
        var canvas = document.createElement('canvas')
        canvas.width = 5;
        canvas.height = 5;
        var ctx = canvas.getContext('2d')
        ctx.fillStyle = 'black'
        ctx.fillRect(0, 0, 5, 5)
        var img1 = canvas.toDataURL();
        ctx.beginPath()
        ctx.lineTo(0, 0)
        ctx.lineTo(5, 0)
        ctx.lineTo(5, 5)
        ctx.lineTo(0, 5)
        ctx.fill()
        var img2 = canvas.toDataURL()

        ctx.fillStyle = 'rgba(22, 22, 22, -0.9136313778864509)'
        ctx.fillRect(0, 0, 5, 5)
        var img3 = canvas.toDataURL()

        ctx.font = '20px Arial';
        ctx.shadowOffsetX = 2;
        ctx.shadowOffsetY = 2;
        ctx.shadowBlur = 2;
        ctx.shadowColor = 'rgba(22, 22, 22, 0.08636862211354912)'
        // ctx.textBaseline = 'top'
        ctx.fillStyle = 'rgba(22, 22, 22, 0.08636862211354912)'
        ctx.fillText('Hel$&?6%){mZ+#@👺', 105, 105)
        var img4 = canvas.toDataURL()

        return {
            data: ctx.getImageData(0, 0, 5, 5).data + '',
            url: canvas.toDataURL()
        }

    }


    function canplay() {
        let videos = {
            "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"
        };
        var v = document.createElement('video');
        for (let i = 0; i < videos.length; i++) {
            videos[i] = v.canPlayType(videos[i]);
        }
        return videos;
    }

    function stringToHex(str) {
        var val = "";
        for (var i = 0; i < str.length; i++) {
            let a = (str.charCodeAt(i) - 20).toString(16);
            if (a.length == 1) {
                val += "0" + a;
            } else {
                val += a
            }
        }
        return val;
    }

    let webglImg = {};
    let userAgentData = {};
    navigator.userAgentData && navigator.userAgentData.getHighEntropyValues(['architecture', 'bitness', 'brands', 'mobile', 'model', 'platform',
        'platformVersion', 'uaFullVersion', 'wow64', 'fullVersionList']).then(e => {

        userAgentData['highvalue'] = e
        userAgentData['brands'] = navigator.userAgentData.brands
        userAgentData['mobile'] = navigator.userAgentData.mobile
        userAgentData['platform'] = navigator.userAgentData.platform
        // console.log(JSON.stringify(userAgentData))


    })

    webglImg = function () {
        let canvas = document.createElement("canvas");
        canvas.width = 150;
        canvas.height = 150;
        let ctx = canvas.getContext('webgl2');
        let shader = ctx.createShader(35633);
        ctx.shaderSource(shader, '\n        attribute vec4 aPosition;\n        attribute vec4 aColor;\n        uniform vec4 anOffset;\n        varying vec4 vColor;\n        void main(void) {\n          gl_Position = aPosition + anOffset;\n          vColor = aColor;\n        }\n      ');
        ctx.compileShader(shader);
        let shaderParam1 = ctx.getShaderParameter(shader, 35713);
        let shader2 = ctx.createShader(35632);
        ctx.shaderSource(shader2, '\n        precision mediump float;\n        varying vec4 vColor;\n        void main(void) {\n          gl_FragColor = vColor;\n        }\n      ');
        ctx.compileShader(shader2);
        let shaderParam2 = ctx.getShaderParameter(shader2, 35713);
        let program = ctx.createProgram();
        ctx.attachShader(program, shader);
        ctx.attachShader(program, shader2);
        ctx.linkProgram(program);
        let programParam1 = ctx.getProgramParameter(program, 35714);
        let buffer1 = ctx.createBuffer();
        ctx.bindBuffer(34962, buffer1);
        var bl_27 = [0, 0.5, 0.699999988079071, -0.6000000238418579, -0.4000000059604645, -0.800000011920929];

        var bl_0 = [0.30000001192092896, 0.699999988079071, 0, 1, 0.10000000149011612, 0, 0.8999999761581421, 1, 0.8999999761581421, 0, 0, 1];

        let Float32Array1 = new Float32Array(bl_27);
        ctx.bufferData(34962, Float32Array1, 35044);
        let buffer2 = ctx.createBuffer();
        ctx.bindBuffer(34962, buffer2);
        let Float32Array2 = new Float32Array(bl_0);
        ctx.bufferData(34962, Float32Array2, 35044);
        let attribLocationAPosition = ctx.getAttribLocation(program, 'aPosition');
        let attribLocationAColor = ctx.getAttribLocation(program, 'aColor');
        ctx.bindBuffer(34962, buffer1);
        ctx.vertexAttribPointer(0, 2, 5126, false, 0, 0);
        ctx.enableVertexAttribArray(0);
        ctx.bindBuffer(34962, buffer2);
        ctx.vertexAttribPointer(1, 4, 5126, false, 0, 0);
        ctx.enableVertexAttribArray(1);
        ctx.useProgram(program);
        let webglUniformLocation = ctx.getUniformLocation(program, 'anOffset');
        ctx.uniform4fv(webglUniformLocation, [0.2, 0, 0, 0])
        ctx.drawArrays(5, 0, 3)
        let unint8Array = new Uint8Array(90000);
        ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array);

        var compressString = function (S) {
            let nums = S.split(",")
            let str = ''
            let i = 0
            while (i < nums.length) {
                let j = i + 1
                while (nums[i] == nums[j]) {
                    j++
                }
                if ((j - i) !== 1) {
                    str = str + '|' + nums[i] + '-' + (j - i)
                } else {
                    str = str + '|' + nums[i]
                }
                i = j
            }
            res = str.length >= S.length ? S : str
            return res
        };

        return {
            strs: compressString(unint8Array + ''),
            url: canvas.toDataURL()
        }
    }()
    setTimeout(function () {
        let locationprops = Object.keys(Object.create(location).__proto__);
        let documentFuncResult = [
            "_Selenium_IDE_Recorder",
            "all",
            "characterSet",
            "charset",
            "compatMode",
            "documentMode",
            "images",
            "layers"
        ].map(e=>{return e in document ?1:0});
        let bodyFuncResult = [
            "contextMenu",
            "innerText",
            "mozRequestFullScreen",
            "requestFullScreen",
            "webkitRequestFullScreen"
        ].map(e=>{return e in document.body ?1:0});
        let navigatorfuncResult = [
            "vibrate",
            "webdriver",
            "credentials",
            "storage",
            "requestMediaKeySystemAccess",
            "bluetooth"
        ].map(e=>{return e in navigator ?1:0});
        let windowprops = Object.getOwnPropertyNames(window);
        let lastIndex = windowprops.lastIndexOf('webkitResolveLocalFileSystemURL');
        windowprops = windowprops.slice(0, lastIndex);
        let result = {
            windowparams: windowparams,
            screenparams: screenparams,
            navigatorparams: navigatorparams,
            featurepolicy: featurePolicy,
            plugins: plgs,
            mimetypes: mimes,
            fontsres: fontsRes,
            imgsres: imgRes,
            glres: glArgs,
            jpg: getDataUrl(),
            jpg2: getDataUrl2(),
            canplay: canplay(),
            useragentdata: userAgentData,
            webglimg: webglImg,
            matchmedias: matchmedias,
            consoleprops: Object.keys(Object.getOwnPropertyDescriptors(console)).sort(),
            webglprops: WebGLRenderingContext?Object.getOwnPropertyNames(WebGLRenderingContext.prototype).filter(e=>{return e != 'constructor'}):[],
            windowprops: windowprops,
            locationprops: locationprops,
            mathprops: Object.getOwnPropertyNames(Math),
            funcs: funcResult,
            funcs2: funcResult2,
            documentfunc: documentFuncResult,
            bodyfunc: bodyFuncResult,
            navigatorfunc: navigatorfuncResult,
        }
        let body = JSON.stringify(result);
        // body = stringToHex(encodeURIComponent(body))
        // console.log(2, body.length)

// /collect
//         fetch("https://stage.unififi.com/env/shape", {
        fetch("/collect", {
        // fetch("http://127.0.0.1:39999/env/shape", {
            "headers": {
                "accept": "*/*",
                "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
                "cache-control": "no-cache",
                "pragma": "no-cache",
                "sec-fetch-dest": "empty",
                "sec-fetch-mode": "cors",
                "sec-fetch-site": "cross-site"
            },
            "body": body,
            "method": "POST",
            "mode": "cors",
            "credentials": "omit"
        }).then(e => {
            console.log(e.text())
        })
    }, 2000)


} catch (e) {

}