// The Two Items Below Are For Back Compat Only
/*!
 * jQuery Cookie Plugin v1.4.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2006, 2014 Klaus Hartl
 * Released under the MIT license
 */
// Included for compatibility only
// Refactoring involves a lot of "old" Martini advertising
(function (factory) {
    factory(window.jQuery);
}(function ($) {

    var pluses = /\+/g;

    function encode(s) {
        return config.raw ? s : encodeURIComponent(s);
    }

    function decode(s) {
        return config.raw ? s : decodeURIComponent(s);
    }

    function stringifyCookieValue(value) {
        return encode(config.json ? JSON.stringify(value) : String(value));
    }

    function parseCookieValue(s) {
        if (s.indexOf('"') === 0) {
            // This is a quoted cookie as according to RFC2068, unescape...
            s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
        }

        try {
            // Replace server-side written pluses with spaces.
            // If we can't decode the cookie, ignore it, it's unusable.
            // If we can't parse the cookie, ignore it, it's unusable.
            s = decodeURIComponent(s.replace(pluses, ' '));
            return config.json ? JSON.parse(s) : s;
        } catch(e) {}
    }

    function read(s, converter) {
        var value = config.raw ? s : parseCookieValue(s);
        return $.isFunction(converter) ? converter(value) : value;
    }

    var config = $.cookie = function (key, value, options) {

        // Write

        if (arguments.length > 1 && !$.isFunction(value)) {
            options = $.extend({}, config.defaults, options);

            if (typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
            }

            return (document.cookie = [
                encode(key), '=', stringifyCookieValue(value),
                options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
                options.path    ? '; path=' + options.path : '',
                options.domain  ? '; domain=' + options.domain : '',
                options.secure  ? '; secure' : ''
            ].join(''));
        }

        // Read

        var result = key ? undefined : {},
            // To prevent the for loop in the first place assign an empty array
            // in case there are no cookies at all. Also prevents odd result when
            // calling $.cookie().
            cookies = document.cookie ? document.cookie.split('; ') : [],
            i = 0,
            l = cookies.length;

        for (; i < l; i++) {
            var parts = cookies[i].split('='),
                name = decode(parts.shift()),
                cookie = parts.join('=');

            if (key === name) {
                // If second argument (value) is a function it's a converter...
                result = read(cookie, value);
                break;
            }

            // Prevent storing a cookie that we couldn't decode.
            if (!key && (cookie = read(cookie)) !== undefined) {
                result[name] = cookie;
            }
        }

        return result;
    };

    config.defaults = {};

    $.removeCookie = function (key, options) {
        // Must not alter options, thus extending a fresh object...
        $.cookie(key, '', $.extend({}, options, { expires: -1 }));
        return !$.cookie(key);
    };

}));


/*!mobile-detect v1.3.5 2016-11-14*/
/*global module:false, define:false*/
/*jshint latedef:false*/
/*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/
(function () {
    'use strict';

    var impl = {};

    impl.mobileDetectRules = {
    "phones": {
        "iPhone": "\\biPhone\\b|\\biPod\\b",
        "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+",
        "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m",
        "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6",
        "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",
        "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b",
        "Samsung": "\\bSamsung\\b|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F",
        "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)",
        "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533",
        "Asus": "Asus.*Galaxy|PadFone.*Mobile",
        "NokiaLumia": "Lumia [0-9]{3,4}",
        "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",
        "Palm": "PalmSource|Palm",
        "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",
        "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",
        "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",
        "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",
        "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",
        "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",
        "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",
        "Alcatel": "Alcatel",
        "Nintendo": "Nintendo 3DS",
        "Amoi": "Amoi",
        "INQ": "INQ",
        "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"
    },
    "tablets": {
        "iPad": "iPad|iPad.*Mobile",
        "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)",
        "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y|SM-T280",
        "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b",
        "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",
        "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",
        "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z",
        "BlackBerryTablet": "PlayBook|RIM Tablet",
        "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",
        "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",
        "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",
        "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30",
        "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",
        "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",
        "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",
        "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",
        "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)",
        "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",
        "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",
        "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",
        "ArnovaTablet": "97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",
        "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",
        "IRUTablet": "M702pro",
        "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",
        "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",
        "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",
        "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",
        "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",
        "NokiaLumiaTablet": "Lumia 2520",
        "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31",
        "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",
        "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",
        "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",
        "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",
        "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",
        "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",
        "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",
        "FlyTablet": "IQ310|Fly Vision",
        "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris [E|M]10)|Maxwell.*Lite|Maxwell.*Plus",
        "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim",
        "NecTablet": "\\bN-06D|\\bN-08D",
        "PantechTablet": "Pantech.*P4100",
        "BronchoTablet": "Broncho.*(N701|N708|N802|a710)",
        "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",
        "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900",
        "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA",
        "NabiTablet": "Android.*\\bNabi",
        "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",
        "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",
        "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",
        "PlaystationTablet": "Playstation.*(Portable|Vita)",
        "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",
        "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",
        "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",
        "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",
        "GalapadTablet": "Android.*\\bG1\\b",
        "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",
        "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",
        "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",
        "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",
        "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",
        "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",
        "GUTablet": "TX-A1301|TX-M9002|Q702|kf026",
        "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",
        "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)",
        "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",
        "DPSTablet": "DPS Dream 9|DPS Dual 7",
        "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",
        "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",
        "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b",
        "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan",
        "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",
        "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",
        "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",
        "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1",
        "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",
        "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497",
        "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",
        "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",
        "iMobileTablet": "i-mobile i-note",
        "TolinoTablet": "tolino tab [0-9.]+|tolino shine",
        "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b",
        "AMPETablet": "Android.* A78 ",
        "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)",
        "TecnoTablet": "TECNO P9",
        "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",
        "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",
        "FX2Tablet": "FX2 PAD7|FX2 PAD10",
        "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",
        "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",
        "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",
        "CaptivaTablet": "CAPTIVA PAD",
        "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",
        "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",
        "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+",
        "JaytechTablet": "TPC-PA762",
        "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010",
        "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",
        "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",
        "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",
        "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",
        "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",
        "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",
        "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",
        "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b",
        "NibiruTablet": "Nibiru M1|Nibiru Jupiter One",
        "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",
        "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",
        "UbislateTablet": "UbiSlate[\\s]?7C",
        "PocketBookTablet": "Pocketbook",
        "KocasoTablet": "\\b(TB-1207)\\b",
        "HisenseTablet": "\\b(F5281|E2371)\\b",
        "Hudl": "Hudl HT7S3|Hudl 2",
        "TelstraTablet": "T-Hub2",
        "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b"
    },
    "oss": {
        "AndroidOS": "Android",
        "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os",
        "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",
        "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",
        "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;",
        "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",
        "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad",
        "MeeGoOS": "MeeGo",
        "MaemoOS": "Maemo",
        "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b",
        "webOS": "webOS|hpwOS",
        "badaOS": "\\bBada\\b",
        "BREWOS": "BREW"
    },
    "uas": {
        "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?",
        "Dolfin": "\\bDolfin\\b",
        "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+",
        "Skyfire": "Skyfire",
        "Edge": "Mobile Safari\/[.0-9]* Edge",
        "IE": "IEMobile|MSIEMobile",
        "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",
        "Bolt": "bolt",
        "TeaShark": "teashark",
        "Blazer": "Blazer",
        "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari",
        "UCBrowser": "UC.*Browser|UCWEB",
        "baiduboxapp": "baiduboxapp",
        "baidubrowser": "baidubrowser",
        "DiigoBrowser": "DiigoBrowser",
        "Puffin": "Puffin",
        "Mercury": "\\bMercury\\b",
        "ObigoBrowser": "Obigo",
        "NetFront": "NF-Browser",
        "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",
        "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon"
    },
    "props": {
        "Mobile": "Mobile\/[VER]",
        "Build": "Build\/[VER]",
        "Version": "Version\/[VER]",
        "VendorID": "VendorID\/[VER]",
        "iPad": "iPad.*CPU[a-z ]+[VER]",
        "iPhone": "iPhone.*CPU[a-z ]+[VER]",
        "iPod": "iPod.*CPU[a-z ]+[VER]",
        "Kindle": "Kindle\/[VER]",
        "Chrome": [
            "Chrome\/[VER]",
            "CriOS\/[VER]",
            "CrMo\/[VER]"
        ],
        "Coast": [
            "Coast\/[VER]"
        ],
        "Dolfin": "Dolfin\/[VER]",
        "Firefox": [
            "Firefox\/[VER]",
            "FxiOS\/[VER]"
        ],
        "Fennec": "Fennec\/[VER]",
        "Edge": "Edge\/[VER]",
        "IE": [
            "IEMobile\/[VER];",
            "IEMobile [VER]",
            "MSIE [VER];",
            "Trident\/[0-9.]+;.*rv:[VER]"
        ],
        "NetFront": "NetFront\/[VER]",
        "NokiaBrowser": "NokiaBrowser\/[VER]",
        "Opera": [
            " OPR\/[VER]",
            "Opera Mini\/[VER]",
            "Version\/[VER]"
        ],
        "Opera Mini": "Opera Mini\/[VER]",
        "Opera Mobi": "Version\/[VER]",
        "UC Browser": "UC Browser[VER]",
        "MQQBrowser": "MQQBrowser\/[VER]",
        "MicroMessenger": "MicroMessenger\/[VER]",
        "baiduboxapp": "baiduboxapp\/[VER]",
        "baidubrowser": "baidubrowser\/[VER]",
        "SamsungBrowser": "SamsungBrowser\/[VER]",
        "Iron": "Iron\/[VER]",
        "Safari": [
            "Version\/[VER]",
            "Safari\/[VER]"
        ],
        "Skyfire": "Skyfire\/[VER]",
        "Tizen": "Tizen\/[VER]",
        "Webkit": "webkit[ \/][VER]",
        "PaleMoon": "PaleMoon\/[VER]",
        "Gecko": "Gecko\/[VER]",
        "Trident": "Trident\/[VER]",
        "Presto": "Presto\/[VER]",
        "Goanna": "Goanna\/[VER]",
        "iOS": " \\bi?OS\\b [VER][ ;]{1}",
        "Android": "Android [VER]",
        "BlackBerry": [
            "BlackBerry[\\w]+\/[VER]",
            "BlackBerry.*Version\/[VER]",
            "Version\/[VER]"
        ],
        "BREW": "BREW [VER]",
        "Java": "Java\/[VER]",
        "Windows Phone OS": [
            "Windows Phone OS [VER]",
            "Windows Phone [VER]"
        ],
        "Windows Phone": "Windows Phone [VER]",
        "Windows CE": "Windows CE\/[VER]",
        "Windows NT": "Windows NT [VER]",
        "Symbian": [
            "SymbianOS\/[VER]",
            "Symbian\/[VER]"
        ],
        "webOS": [
            "webOS\/[VER]",
            "hpwOS\/[VER];"
        ]
    },
    "utils": {
        "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom",
        "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2",
        "DesktopMode": "WPDesktop",
        "TV": "SonyDTV|HbbTV",
        "WebKit": "(webkit)[ \/]([\\w.]+)",
        "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b",
        "Watch": "SM-V700"
    }
};

    // following patterns come from http://detectmobilebrowsers.com/
    impl.detectMobileBrowsers = {
        fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,
        shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,
        tabletPattern: /android|ipad|playbook|silk/i
    };

    var hasOwnProp = Object.prototype.hasOwnProperty,
        isArray;

    impl.FALLBACK_PHONE = 'UnknownPhone';
    impl.FALLBACK_TABLET = 'UnknownTablet';
    impl.FALLBACK_MOBILE = 'UnknownMobile';

    isArray = ('isArray' in Array) ?
        Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; };

    function equalIC(a, b) {
        return a != null && b != null && a.toLowerCase() === b.toLowerCase();
    }

    function containsIC(array, value) {
        var valueLC, i, len = array.length;
        if (!len || !value) {
            return false;
        }
        valueLC = value.toLowerCase();
        for (i = 0; i < len; ++i) {
            if (valueLC === array[i].toLowerCase()) {
                return true;
            }
        }
        return false;
    }

    function convertPropsToRegExp(object) {
        for (var key in object) {
            if (hasOwnProp.call(object, key)) {
                object[key] = new RegExp(object[key], 'i');
            }
        }
    }

    (function init() {
        var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules;
        for (key in mobileDetectRules.props) {
            if (hasOwnProp.call(mobileDetectRules.props, key)) {
                values = mobileDetectRules.props[key];
                if (!isArray(values)) {
                    values = [values];
                }
                len = values.length;
                for (i = 0; i < len; ++i) {
                    value = values[i];
                    verPos = value.indexOf('[VER]');
                    if (verPos >= 0) {
                        value = value.substring(0, verPos) + '([\\w._\\+]+)' + value.substring(verPos + 5);
                    }
                    values[i] = new RegExp(value, 'i');
                }
                mobileDetectRules.props[key] = values;
            }
        }
        convertPropsToRegExp(mobileDetectRules.oss);
        convertPropsToRegExp(mobileDetectRules.phones);
        convertPropsToRegExp(mobileDetectRules.tablets);
        convertPropsToRegExp(mobileDetectRules.uas);
        convertPropsToRegExp(mobileDetectRules.utils);

        // copy some patterns to oss0 which are tested first (see issue#15)
        mobileDetectRules.oss0 = {
            WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS,
            WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS
        };
    }());

    /**
     * Test userAgent string against a set of rules and find the first matched key.
     * @param {Object} rules (key is String, value is RegExp)
     * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').
     * @returns {String|null} the matched key if found, otherwise <tt>null</tt>
     * @private
     */
    impl.findMatch = function(rules, userAgent) {
        for (var key in rules) {
            if (hasOwnProp.call(rules, key)) {
                if (rules[key].test(userAgent)) {
                    return key;
                }
            }
        }
        return null;
    };

    /**
     * Test userAgent string against a set of rules and return an array of matched keys.
     * @param {Object} rules (key is String, value is RegExp)
     * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').
     * @returns {Array} an array of matched keys, may be empty when there is no match, but not <tt>null</tt>
     * @private
     */
    impl.findMatches = function(rules, userAgent) {
        var result = [];
        for (var key in rules) {
            if (hasOwnProp.call(rules, key)) {
                if (rules[key].test(userAgent)) {
                    result.push(key);
                }
            }
        }
        return result;
    };

    /**
     * Check the version of the given property in the User-Agent.
     *
     * @param {String} propertyName
     * @param {String} userAgent
     * @return {String} version or <tt>null</tt> if version not found
     * @private
     */
    impl.getVersionStr = function (propertyName, userAgent) {
        var props = impl.mobileDetectRules.props, patterns, i, len, match;
        if (hasOwnProp.call(props, propertyName)) {
            patterns = props[propertyName];
            len = patterns.length;
            for (i = 0; i < len; ++i) {
                match = patterns[i].exec(userAgent);
                if (match !== null) {
                    return match[1];
                }
            }
        }
        return null;
    };

    /**
     * Check the version of the given property in the User-Agent.
     * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
     *
     * @param {String} propertyName
     * @param {String} userAgent
     * @return {Number} version or <tt>NaN</tt> if version not found
     * @private
     */
    impl.getVersion = function (propertyName, userAgent) {
        var version = impl.getVersionStr(propertyName, userAgent);
        return version ? impl.prepareVersionNo(version) : NaN;
    };

    /**
     * Prepare the version number.
     *
     * @param {String} version
     * @return {Number} the version number as a floating number
     * @private
     */
    impl.prepareVersionNo = function (version) {
        var numbers;

        numbers = version.split(/[a-z._ \/\-]/i);
        if (numbers.length === 1) {
            version = numbers[0];
        }
        if (numbers.length > 1) {
            version = numbers[0] + '.';
            numbers.shift();
            version += numbers.join('');
        }
        return Number(version);
    };

    impl.isMobileFallback = function (userAgent) {
        return impl.detectMobileBrowsers.fullPattern.test(userAgent) ||
            impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4));
    };

    impl.isTabletFallback = function (userAgent) {
        return impl.detectMobileBrowsers.tabletPattern.test(userAgent);
    };

    impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) {
        if (cache.mobile !== undefined) {
            return;
        }
        var phone, tablet, phoneSized;

        // first check for stronger tablet rules, then phone (see issue#5)
        tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent);
        if (tablet) {
            cache.mobile = cache.tablet = tablet;
            cache.phone = null;
            return; // unambiguously identified as tablet
        }

        phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent);
        if (phone) {
            cache.mobile = cache.phone = phone;
            cache.tablet = null;
            return; // unambiguously identified as phone
        }

        // our rules haven't found a match -> try more general fallback rules
        if (impl.isMobileFallback(userAgent)) {
            phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth);
            if (phoneSized === undefined) {
                cache.mobile = impl.FALLBACK_MOBILE;
                cache.tablet = cache.phone = null;
            } else if (phoneSized) {
                cache.mobile = cache.phone = impl.FALLBACK_PHONE;
                cache.tablet = null;
            } else {
                cache.mobile = cache.tablet = impl.FALLBACK_TABLET;
                cache.phone = null;
            }
        } else if (impl.isTabletFallback(userAgent)) {
            cache.mobile = cache.tablet = impl.FALLBACK_TABLET;
            cache.phone = null;
        } else {
            // not mobile at all!
            cache.mobile = cache.tablet = cache.phone = null;
        }
    };

    // t is a reference to a MobileDetect instance
    impl.mobileGrade = function (t) {
        // impl note:
        // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version.
        // When changes are made in Mobile_Detect.php, copy this method and replace:
        //     $this-> / t.
        //     self::MOBILE_GRADE_(.) / '$1'
        //     , self::VERSION_TYPE_FLOAT / (nothing)
        //     isIOS() / os('iOS')
        //     [reg] / (nothing)   <-- jsdelivr complaining about unescaped unicode character U+00AE
        var $isMobile = t.mobile() !== null;

        if (
            // Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1)
            t.os('iOS') && t.version('iPad')>=4.3 ||
            t.os('iOS') && t.version('iPhone')>=3.1 ||
            t.os('iOS') && t.version('iPod')>=3.1 ||

            // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5)
            // Android 3.1 (Honeycomb)  - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM
            // Android 4.0 (ICS)  - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices
            // Android 4.1 (Jelly Bean)  - Tested on a Galaxy Nexus and Galaxy 7
            ( t.version('Android')>2.1 && t.is('Webkit') ) ||

            // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800
            t.version('Windows Phone OS')>=7.0 ||

            // Blackberry 7 - Tested on BlackBerry Torch 9810
            // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670
            t.is('BlackBerry') && t.version('BlackBerry')>=6.0 ||
            // Blackberry Playbook (1.0-2.0) - Tested on PlayBook
            t.match('Playbook.*Tablet') ||

            // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0)
            ( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) ||
            // Palm WebOS 3.0  - Tested on HP TouchPad
            t.match('hp.*TouchPad') ||

            // Firefox Mobile (12 Beta) - Tested on Android 2.3 device
            ( t.is('Firefox') && t.version('Firefox')>=12 ) ||

            // Chrome for Android - Tested on Android 4.0, 4.1 device
            ( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) ||

            // Skyfire 4.1 - Tested on Android 2.3 device
            ( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) ||

            // Opera Mobile 11.5-12: Tested on Android 2.3
            ( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) ||

            // Meego 1.2 - Tested on Nokia 950 and N9
            t.is('MeeGoOS') ||

            // Tizen (pre-release) - Tested on early hardware
            t.is('Tizen') ||

            // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser
            // @todo: more tests here!
            t.is('Dolfin') && t.version('Bada')>=2.0 ||

            // UC Browser - Tested on Android 2.3 device
            ( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) ||

            // Kindle 3 and Fire  - Tested on the built-in WebKit browser for each
            ( t.match('Kindle Fire') ||
                t.is('Kindle') && t.version('Kindle')>=3.0 ) ||

            // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet
            t.is('AndroidOS') && t.is('NookTablet') ||

            // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7
            t.version('Chrome')>=11 && !$isMobile ||

            // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7
            t.version('Safari')>=5.0 && !$isMobile ||

            // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7
            t.version('Firefox')>=4.0 && !$isMobile ||

            // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7
            t.version('MSIE')>=7.0 && !$isMobile ||

            // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7
            // @reference: http://my.opera.com/community/openweb/idopera/
            t.version('Opera')>=10 && !$isMobile

            ){
            return 'A';
        }

        if (
            t.os('iOS') && t.version('iPad')<4.3 ||
            t.os('iOS') && t.version('iPhone')<3.1 ||
            t.os('iOS') && t.version('iPod')<3.1 ||

            // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770
            t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 ||

            //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3
            ( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 &&
                (t.version('Android')>=2.3 || t.is('iOS')) ) ||

            // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)
            t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||

            // @todo: report this (tested on Nokia N71)
            t.version('Opera Mobi')>=11 && t.is('SymbianOS')
            ){
            return 'B';
        }

        if (
        // Blackberry 4.x - Tested on the Curve 8330
            t.version('BlackBerry')<5.0 ||
            // Windows Mobile - Tested on the HTC Leo (WinMo 5.2)
            t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2

            ){
            return 'C';
        }

        //All older smartphone platforms and featurephones - Any device that doesn't support media queries
        //will receive the basic, C grade experience.
        return 'C';
    };

    impl.detectOS = function (ua) {
        return impl.findMatch(impl.mobileDetectRules.oss0, ua) ||
            impl.findMatch(impl.mobileDetectRules.oss, ua);
    };

    impl.getDeviceSmallerSide = function () {
        return window.screen.width < window.screen.height ?
            window.screen.width :
            window.screen.height;
    };

    /**
     * Constructor for MobileDetect object.
     * <br>
     * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.<br>
     * <div style="background-color: #d9edf7; border: 1px solid #bce8f1; color: #3a87ad; padding: 14px; border-radius: 2px; margin-top: 20px">
     *     <strong>Find information how to download and install:</strong>
     *     <a href="https://github.com/hgoebl/mobile-detect.js/">github.com/hgoebl/mobile-detect.js/</a>
     * </div>
     *
     * @example <pre>
     *     var md = new MobileDetect(window.navigator.userAgent);
     *     if (md.mobile()) {
     *         location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';
     *     }
     * </pre>
     *
     * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent']
     * @param {number} [maxPhoneWidth=600] <strong>only for browsers</strong> specify a value for the maximum
     *        width of smallest device side (in logical "CSS" pixels) until a device detected as mobile will be handled
     *        as phone.
     *        This is only used in cases where the device cannot be classified as phone or tablet.<br>
     *        See <a href="http://developer.android.com/guide/practices/screens_support.html">Declaring Tablet Layouts
     *        for Android</a>.<br>
     *        If you provide a value < 0, then this "fuzzy" check is disabled.
     * @constructor
     * @global
     */
    function MobileDetect(userAgent, maxPhoneWidth) {
        this.ua = userAgent || '';
        this._cache = {};
        //600dp is typical 7" tablet minimum width
        this.maxPhoneWidth = maxPhoneWidth || 600;
    }

    MobileDetect.prototype = {
        constructor: MobileDetect,

        /**
         * Returns the detected phone or tablet type or <tt>null</tt> if it is not a mobile device.
         * <br>
         * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.<br>
         * <br>
         * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
         * the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
         * is positive, a value of <code>UnknownPhone</code>, <code>UnknownTablet</code> or
         * <code>UnknownMobile</code> is returned.<br>
         * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
         * <br>
         * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
         * and <code>UnknownMobile</code>, so you will get <code>UnknownMobile</code> here.<br>
         * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
         * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
         * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
         * <br>
         * In most cases you will use the return value just as a boolean.
         *
         * @returns {String} the key for the phone family or tablet family, e.g. "Nexus".
         * @function MobileDetect#mobile
         */
        mobile: function () {
            impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
            return this._cache.mobile;
        },

        /**
         * Returns the detected phone type/family string or <tt>null</tt>.
         * <br>
         * The returned tablet (family or producer) is one of following keys:<br>
         * <br><tt>iPhone, BlackBerry, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus,
         * NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile, SimValley,
         * Wolfgang, Alcatel, Nintendo, Amoi, INQ, GenericPhone</tt><br>
         * <br>
         * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
         * the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
         * is positive, a value of <code>UnknownPhone</code> or <code>UnknownMobile</code> is returned.<br>
         * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
         * <br>
         * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
         * and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}
         * will return <code>UnknownMobile</code>.<br>
         * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
         * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
         * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
         * <br>
         * In most cases you will use the return value just as a boolean.
         *
         * @returns {String} the key of the phone family or producer, e.g. "iPhone"
         * @function MobileDetect#phone
         */
        phone: function () {
            impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
            return this._cache.phone;
        },

        /**
         * Returns the detected tablet type/family string or <tt>null</tt>.
         * <br>
         * The returned tablet (family or producer) is one of following keys:<br>
         * <br><tt>iPad, NexusTablet, SamsungTablet, Kindle, SurfaceTablet, HPTablet, AsusTablet,
         * BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet, AcerTablet,
         * ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet, LenovoTablet,
         * DellTablet, YarvikTablet, MedionTablet, ArnovaTablet, IntensoTablet, IRUTablet,
         * MegafonTablet, EbodaTablet, AllViewTablet, ArchosTablet, AinolTablet,
         * NokiaLumiaTablet, SonyTablet, PhilipsTablet, CubeTablet, CobyTablet, MIDTablet,
         * MSITablet, SMiTTablet, RockChipTablet, FlyTablet, bqTablet, HuaweiTablet,
         * NecTablet, PantechTablet, BronchoTablet, VersusTablet, ZyncTablet,
         * PositivoTablet, NabiTablet, KoboTablet, DanewTablet, TexetTablet,
         * PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet,
         * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet,
         * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet,
         * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet,
         * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet,
         * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet,
         * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet,
         * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet,
         * OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet, OndaTablet,
         * JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet, LavaTablet,
         * AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MiTablet, NibiruTablet,
         * NexoTablet, LeaderTablet, UbislateTablet, PocketBookTablet, KocasoTablet,
         * HisenseTablet, Hudl, TelstraTablet, GenericTablet</tt><br>
         * <br>
         * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
         * the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
         * is positive, a value of <code>UnknownTablet</code> or <code>UnknownMobile</code> is returned.<br>
         * When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
         * <br>
         * When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
         * and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}
         * will return <code>UnknownMobile</code>.<br>
         * Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
         * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
         * In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
         * <br>
         * In most cases you will use the return value just as a boolean.
         *
         * @returns {String} the key of the tablet family or producer, e.g. "SamsungTablet"
         * @function MobileDetect#tablet
         */
        tablet: function () {
            impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
            return this._cache.tablet;
        },

        /**
         * Returns the (first) detected user-agent string or <tt>null</tt>.
         * <br>
         * The returned user-agent is one of following keys:<br>
         * <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,
         * Safari, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Puffin, Mercury,
         * ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>
         * <br>
         * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare
         * cases where a mobile device pretends to be more than one particular browser. You can get the
         * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by
         * providing one of the defined keys as first argument to {@link MobileDetect#is}.
         *
         * @returns {String} the key for the detected user-agent or <tt>null</tt>
         * @function MobileDetect#userAgent
         */
        userAgent: function () {
            if (this._cache.userAgent === undefined) {
                this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua);
            }
            return this._cache.userAgent;
        },

        /**
         * Returns all detected user-agent strings.
         * <br>
         * The array is empty or contains one or more of following keys:<br>
         * <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,
         * Safari, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Puffin, Mercury,
         * ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>
         * <br>
         * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare
         * cases where a mobile device pretends to be more than one particular browser. You can get the
         * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by
         * providing one of the defined keys as first argument to {@link MobileDetect#is}.
         *
         * @returns {Array} the array of detected user-agent keys or <tt>[]</tt>
         * @function MobileDetect#userAgents
         */
        userAgents: function () {
            if (this._cache.userAgents === undefined) {
                this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua);
            }
            return this._cache.userAgents;
        },

        /**
         * Returns the detected operating system string or <tt>null</tt>.
         * <br>
         * The operating system is one of following keys:<br>
         * <br><tt>AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS,
         * iOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS</tt><br>
         *
         * @returns {String} the key for the detected operating system.
         * @function MobileDetect#os
         */
        os: function () {
            if (this._cache.os === undefined) {
                this._cache.os = impl.detectOS(this.ua);
            }
            return this._cache.os;
        },

        /**
         * Get the version (as Number) of the given property in the User-Agent.
         * <br>
         * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
         *
         * @param {String} key a key defining a thing which has a version.<br>
         *        You can use one of following keys:<br>
         * <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,
         * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,
         * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,
         * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident,
         * Presto, Goanna, iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows
         * Phone, Windows CE, Windows NT, Symbian, webOS</tt><br>
         *
         * @returns {Number} the version as float or <tt>NaN</tt> if User-Agent doesn't contain this version.
         *          Be careful when comparing this value with '==' operator!
         * @function MobileDetect#version
         */
        version: function (key) {
            return impl.getVersion(key, this.ua);
        },

        /**
         * Get the version (as String) of the given property in the User-Agent.
         * <br>
         *
         * @param {String} key a key defining a thing which has a version.<br>
         *        You can use one of following keys:<br>
         * <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,
         * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,
         * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,
         * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident,
         * Presto, Goanna, iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows
         * Phone, Windows CE, Windows NT, Symbian, webOS</tt><br>
         *
         * @returns {String} the "raw" version as String or <tt>null</tt> if User-Agent doesn't contain this version.
         *
         * @function MobileDetect#versionStr
         */
        versionStr: function (key) {
            return impl.getVersionStr(key, this.ua);
        },

        /**
         * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string.
         *
         * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or
         *        tablet family.<br>
         *        For a complete list of possible values, see {@link MobileDetect#userAgent},
         *        {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.<br>
         *        Additionally you have following keys:<br>
         * <br><tt>Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch</tt><br>
         *
         * @returns {boolean} <tt>true</tt> when the given key is one of the defined keys of userAgent, os, phone,
         *                    tablet or one of the listed additional keys, otherwise <tt>false</tt>
         * @function MobileDetect#is
         */
        is: function (key) {
            return containsIC(this.userAgents(), key) ||
                   equalIC(key, this.os()) ||
                   equalIC(key, this.phone()) ||
                   equalIC(key, this.tablet()) ||
                   containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key);
        },

        /**
         * Do a quick test against navigator::userAgent.
         *
         * @param {String|RegExp} pattern the pattern, either as String or RegExp
         *                        (a string will be converted to a case-insensitive RegExp).
         * @returns {boolean} <tt>true</tt> when the pattern matches, otherwise <tt>false</tt>
         * @function MobileDetect#match
         */
        match: function (pattern) {
            if (!(pattern instanceof RegExp)) {
                pattern = new RegExp(pattern, 'i');
            }
            return pattern.test(this.ua);
        },

        /**
         * Checks whether the mobile device can be considered as phone regarding <code>screen.width</code>.
         * <br>
         * Obviously this method makes sense in browser environments only (not for Node.js)!
         * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.<br>
         *        The argument is optional and if not present or falsy, the value of the constructor is taken.
         * @returns {boolean|undefined} <code>undefined</code> if screen size wasn't detectable, else <code>true</code>
         *          when screen.width is less or equal to maxPhoneWidth, otherwise <code>false</code>.<br>
         *          Will always return <code>undefined</code> server-side.
         */
        isPhoneSized: function (maxPhoneWidth) {
            return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth);
        },

        /**
         * Returns the mobile grade ('A', 'B', 'C').
         *
         * @returns {String} one of the mobile grades ('A', 'B', 'C').
         * @function MobileDetect#mobileGrade
         */
        mobileGrade: function () {
            if (this._cache.grade === undefined) {
                this._cache.grade = impl.mobileGrade(this);
            }
            return this._cache.grade;
        }
    };

    // environment-dependent
    if (typeof window !== 'undefined' && window.screen) {
        MobileDetect.isPhoneSized = function (maxPhoneWidth) {
            return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth;
        };
    } else {
        MobileDetect.isPhoneSized = function () {};
    }

    // should not be replaced by a completely new object - just overwrite existing methods
    MobileDetect._impl = impl;

    MobileDetect.version = '1.3.5 2016-11-14';

    window.MobileDetect = MobileDetect;
})();
(()=>{var e={655:(e,t,r)=>{"use strict";var n=r(36955),o=String;e.exports=function(e){if("Symbol"===n(e))throw new TypeError("Cannot convert a Symbol value to a string");return o(e)}},1625:(e,t,r)=>{"use strict";var n=r(79504);e.exports=n({}.isPrototypeOf)},1767:e=>{"use strict";e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},2360:(e,t,r)=>{"use strict";var n,o=r(28551),i=r(96801),s=r(88727),a=r(30421),c=r(20397),u=r(4055),l=r(66119),d="prototype",p="script",f=l("IE_PROTO"),h=function(){},g=function(e){return"<"+p+">"+e+"</"+p+">"},m=function(e){e.write(g("")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){try{n=new ActiveXObject("htmlfile")}catch(i){}var e,t,r;y="undefined"!=typeof document?document.domain&&n?m(n):(t=u("iframe"),r="java"+p+":",t.style.display="none",c.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(g("document.F=Object")),e.close(),e.F):m(n);for(var o=s.length;o--;)delete y[d][s[o]];return y()};a[f]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(h[d]=o(e),r=new h,h[d]=null,r[f]=e):r=y(),void 0===t?r:i.f(r,t)}},2478:(e,t,r)=>{"use strict";var n=r(79504),o=r(48981),i=Math.floor,s=n("".charAt),a=n("".replace),c=n("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,l=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,r,n,d,p){var f=r+e.length,h=n.length,g=l;return void 0!==d&&(d=o(d),g=u),a(p,g,function(o,a){var u;switch(s(a,0)){case"$":return"$";case"&":return e;case"`":return c(t,0,r);case"'":return c(t,f);case"<":u=d[c(a,1,-1)];break;default:var l=+a;if(0===l)return o;if(l>h){var p=i(l/10);return 0===p?o:p<=h?void 0===n[p-1]?s(a,1):n[p-1]+s(a,1):o}u=n[l-1]}return void 0===u?"":u})}},3607:(e,t,r)=>{"use strict";var n=r(82839).match(/AppleWebKit\/(\d+)\./);e.exports=!!n&&+n[1]},3949:(e,t,r)=>{"use strict";r(7588)},4055:(e,t,r)=>{"use strict";var n=r(44576),o=r(20034),i=n.document,s=o(i)&&o(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},4495:(e,t,r)=>{"use strict";var n=r(39519),o=r(79039),i=r(44576).String;e.exports=!!Object.getOwnPropertySymbols&&!o(function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})},6469:(e,t,r)=>{"use strict";var n=r(78227),o=r(2360),i=r(24913).f,s=n("unscopables"),a=Array.prototype;void 0===a[s]&&i(a,s,{configurable:!0,value:o(null)}),e.exports=function(e){a[s][e]=!0}},6980:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7040:(e,t,r)=>{"use strict";var n=r(4495);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},7588:(e,t,r)=>{"use strict";var n=r(46518),o=r(69565),i=r(72652),s=r(79306),a=r(28551),c=r(1767),u=r(9539),l=r(84549)("forEach",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:l},{forEach:function(e){a(this);try{s(e)}catch(n){u(this,"throw",n)}if(l)return o(l,this,e);var t=c(this),r=0;i(t,function(t){e(t,r++)},{IS_RECORD:!0})}})},9539:(e,t,r)=>{"use strict";var n=r(69565),o=r(28551),i=r(55966);e.exports=function(e,t,r){var s,a;o(e);try{if(!(s=i(e,"return"))){if("throw"===t)throw r;return r}s=n(s,e)}catch(c){a=!0,s=c}if("throw"===t)throw r;if(a)throw s;return o(s),r}},10350:(e,t,r)=>{"use strict";var n=r(43724),o=r(39297),i=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,a=o(i,"name"),c=a&&"something"===function(){}.name,u=a&&(!n||n&&s(i,"name").configurable);e.exports={EXISTS:a,PROPER:c,CONFIGURABLE:u}},10687:(e,t,r)=>{"use strict";var n=r(24913).f,o=r(39297),i=r(78227)("toStringTag");e.exports=function(e,t,r){e&&!r&&(e=e.prototype),e&&!o(e,i)&&n(e,i,{configurable:!0,value:t})}},10757:(e,t,r)=>{"use strict";var n=r(97751),o=r(94901),i=r(1625),s=r(7040),a=Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return o(t)&&i(t.prototype,a(e))}},11056:(e,t,r)=>{"use strict";var n=r(24913).f;e.exports=function(e,t,r){r in e||n(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})}},12211:(e,t,r)=>{"use strict";var n=r(79039);e.exports=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},13579:(e,t,r)=>{"use strict";var n=r(46518),o=r(69565),i=r(72652),s=r(79306),a=r(28551),c=r(1767),u=r(9539),l=r(84549)("some",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:l},{some:function(e){a(this);try{s(e)}catch(n){u(this,"throw",n)}if(l)return o(l,this,e);var t=c(this),r=0;return i(t,function(t,n){if(e(t,r++))return n()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},13709:(e,t,r)=>{"use strict";var n=r(82839).match(/firefox\/(\d+)/i);e.exports=!!n&&+n[1]},13763:(e,t,r)=>{"use strict";var n=r(82839);e.exports=/MSIE|Trident/.test(n)},13925:(e,t,r)=>{"use strict";var n=r(20034);e.exports=function(e){return n(e)||null===e}},16823:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(r){return"Object"}}},18014:(e,t,r)=>{"use strict";var n=r(91291),o=Math.min;e.exports=function(e){var t=n(e);return t>0?o(t,9007199254740991):0}},18111:(e,t,r)=>{"use strict";var n=r(46518),o=r(44576),i=r(90679),s=r(28551),a=r(94901),c=r(42787),u=r(62106),l=r(97040),d=r(79039),p=r(39297),f=r(78227),h=r(57657).IteratorPrototype,g=r(43724),m=r(96395),y="constructor",v="Iterator",w=f("toStringTag"),b=TypeError,S=o[v],x=m||!a(S)||S.prototype!==h||!d(function(){S({})}),E=function(){if(i(this,h),c(this)===h)throw new b("Abstract class Iterator not directly constructable")},O=function(e,t){g?u(h,e,{configurable:!0,get:function(){return t},set:function(t){if(s(this),this===h)throw new b("You can't redefine this property");p(this,e)?this[e]=t:l(this,e,t)}}):h[e]=t};p(h,w)||O(w,v),!x&&p(h,y)&&h[y]!==Object||O(y,E),E.prototype=h,n({global:!0,constructor:!0,forced:x},{Iterator:E})},18745:(e,t,r)=>{"use strict";var n=r(40616),o=Function.prototype,i=o.apply,s=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(i):function(){return s.apply(i,arguments)})},18814:(e,t,r)=>{"use strict";var n=r(79039),o=r(44576).RegExp;e.exports=n(function(){var e=o("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})},19462:(e,t,r)=>{"use strict";var n=r(69565),o=r(2360),i=r(66699),s=r(56279),a=r(78227),c=r(91181),u=r(55966),l=r(57657).IteratorPrototype,d=r(62529),p=r(9539),f=r(91385),h=a("toStringTag"),g="IteratorHelper",m="WrapForValidIterator",y="normal",v="throw",w=c.set,b=function(e){var t=c.getterFor(e?m:g);return s(o(l),{next:function(){var r=t(this);if(e)return r.nextHandler();if(r.done)return d(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:d(n,r.done)}catch(o){throw r.done=!0,o}},return:function(){var r=t(this),o=r.iterator;if(r.done=!0,e){var i=u(o,"return");return i?n(i,o):d(void 0,!0)}if(r.inner)try{p(r.inner.iterator,y)}catch(s){return p(o,v,s)}if(r.openIters)try{f(r.openIters,y)}catch(s){return p(o,v,s)}return o&&p(o,y),d(void 0,!0)}})},S=b(!0),x=b(!1);i(x,h,"Iterator Helper"),e.exports=function(e,t,r){var n=function(n,o){o?(o.iterator=n.iterator,o.next=n.next):o=n,o.type=t?m:g,o.returnHandlerResult=!!r,o.nextHandler=e,o.counter=0,o.done=!1,w(this,o)};return n.prototype=t?S:x,n}},19617:(e,t,r)=>{"use strict";var n=r(25397),o=r(35610),i=r(26198),s=function(e){return function(t,r,s){var a=n(t),c=i(a);if(0===c)return!e&&-1;var u,l=o(s,c);if(e&&r!=r){for(;c>l;)if((u=a[l++])!=u)return!0}else for(;c>l;l++)if((e||l in a)&&a[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},20034:(e,t,r)=>{"use strict";var n=r(94901);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},20397:(e,t,r)=>{"use strict";var n=r(97751);e.exports=n("document","documentElement")},22195:(e,t,r)=>{"use strict";var n=r(79504),o=n({}.toString),i=n("".slice);e.exports=function(e){return i(o(e),8,-1)}},22489:(e,t,r)=>{"use strict";var n=r(46518),o=r(69565),i=r(79306),s=r(28551),a=r(1767),c=r(19462),u=r(96319),l=r(96395),d=r(9539),p=r(30684),f=r(84549),h=!l&&!p("filter",function(){}),g=!l&&!h&&f("filter",TypeError),m=l||h||g,y=c(function(){for(var e,t,r=this.iterator,n=this.predicate,i=this.next;;){if(e=s(o(i,r)),this.done=!!e.done)return;if(t=e.value,u(r,n,[t,this.counter++],!0))return t}});n({target:"Iterator",proto:!0,real:!0,forced:m},{filter:function(e){s(this);try{i(e)}catch(t){d(this,"throw",t)}return g?o(g,this,e):new y(a(this),{predicate:e})}})},22812:e=>{"use strict";var t=TypeError;e.exports=function(e,r){if(e<r)throw new t("Not enough arguments");return e}},23167:(e,t,r)=>{"use strict";var n=r(94901),o=r(20034),i=r(52967);e.exports=function(e,t,r){var s,a;return i&&n(s=t.constructor)&&s!==r&&o(a=s.prototype)&&a!==r.prototype&&i(e,a),e}},23792:(e,t,r)=>{"use strict";var n=r(25397),o=r(6469),i=r(26269),s=r(91181),a=r(24913).f,c=r(51088),u=r(62529),l=r(96395),d=r(43724),p="Array Iterator",f=s.set,h=s.getterFor(p);e.exports=c(Array,"Array",function(e,t){f(this,{type:p,target:n(e),index:0,kind:t})},function(){var e=h(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,u(void 0,!0);switch(e.kind){case"keys":return u(r,!1);case"values":return u(t[r],!1)}return u([r,t[r]],!1)},"values");var g=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!l&&d&&"values"!==g.name)try{a(g,"name",{value:"values"})}catch(m){}},24913:(e,t,r)=>{"use strict";var n=r(43724),o=r(35917),i=r(48686),s=r(28551),a=r(56969),c=TypeError,u=Object.defineProperty,l=Object.getOwnPropertyDescriptor,d="enumerable",p="configurable",f="writable";t.f=n?i?function(e,t,r){if(s(e),t=a(t),s(r),"function"==typeof e&&"prototype"===t&&"value"in r&&f in r&&!r[f]){var n=l(e,t);n&&n[f]&&(e[t]=r.value,r={configurable:p in r?r[p]:n[p],enumerable:d in r?r[d]:n[d],writable:!1})}return u(e,t,r)}:u:function(e,t,r){if(s(e),t=a(t),s(r),o)try{return u(e,t,r)}catch(n){}if("get"in r||"set"in r)throw new c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},25397:(e,t,r)=>{"use strict";var n=r(47055),o=r(67750);e.exports=function(e){return n(o(e))}},25440:(e,t,r)=>{"use strict";var n=r(18745),o=r(69565),i=r(79504),s=r(89228),a=r(79039),c=r(28551),u=r(94901),l=r(20034),d=r(91291),p=r(18014),f=r(655),h=r(67750),g=r(57829),m=r(55966),y=r(2478),v=r(61034),w=r(56682),b=r(78227)("replace"),S=Math.max,x=Math.min,E=i([].concat),O=i([].push),_=i("".indexOf),T=i("".slice),R=function(e){return void 0===e?e:String(e)},k="$0"==="a".replace(/./,"$0"),A=!!/./[b]&&""===/./[b]("a","$0");s("replace",function(e,t,r){var i=A?"$":"$0";return[function(e,r){var n=h(this),i=l(e)?m(e,b):void 0;return i?o(i,e,n,r):o(t,f(n),e,r)},function(e,o){var s=c(this),a=f(e);if("string"==typeof o&&-1===_(o,i)&&-1===_(o,"$<")){var l=r(t,s,a,o);if(l.done)return l.value}var h=u(o);h||(o=f(o));var m,b=f(v(s)),k=-1!==_(b,"g");k&&(m=-1!==_(b,"u"),s.lastIndex=0);for(var A,P=[];null!==(A=w(s,a))&&(O(P,A),k);){""===f(A[0])&&(s.lastIndex=g(a,p(s.lastIndex),m))}for(var C="",L=0,j=0;j<P.length;j++){for(var F,N=f((A=P[j])[0]),I=S(x(d(A.index),a.length),0),D=[],U=1;U<A.length;U++)O(D,R(A[U]));var V=A.groups;if(h){var M=E([N],D,I,a);void 0!==V&&O(M,V),F=f(n(o,void 0,M))}else F=y(N,a,I,D,V,o);I>=L&&(C+=T(a,L,I)+F,L=I+N.length)}return C+T(a,L)}]},!!a(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})||!k||A)},25745:(e,t,r)=>{"use strict";var n=r(77629);e.exports=function(e,t){return n[e]||(n[e]=t||{})}},26198:(e,t,r)=>{"use strict";var n=r(18014);e.exports=function(e){return n(e.length)}},26269:e=>{"use strict";e.exports={}},26910:(e,t,r)=>{"use strict";var n=r(46518),o=r(79504),i=r(79306),s=r(48981),a=r(26198),c=r(84606),u=r(655),l=r(79039),d=r(74488),p=r(34598),f=r(13709),h=r(13763),g=r(39519),m=r(3607),y=[],v=o(y.sort),w=o(y.push),b=l(function(){y.sort(void 0)}),S=l(function(){y.sort(null)}),x=p("sort"),E=!l(function(){if(g)return g<70;if(!(f&&f>3)){if(h)return!0;if(m)return m<603;var e,t,r,n,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)y.push({k:t+n,v:r})}for(y.sort(function(e,t){return t.v-e.v}),n=0;n<y.length;n++)t=y[n].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}});n({target:"Array",proto:!0,forced:b||!S||!x||!E},{sort:function(e){void 0!==e&&i(e);var t=s(this);if(E)return void 0===e?v(t):v(t,e);var r,n,o=[],l=a(t);for(n=0;n<l;n++)n in t&&w(o,t[n]);for(d(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:u(t)>u(r)?1:-1}}(e)),r=a(o),n=0;n<r;)t[n]=o[n++];for(;n<l;)c(t,n++);return t}})},27337:(e,t,r)=>{"use strict";var n=r(46518),o=r(79504),i=r(35610),s=RangeError,a=String.fromCharCode,c=String.fromCodePoint,u=o([].join);n({target:"String",stat:!0,arity:1,forced:!!c&&1!==c.length},{fromCodePoint:function(e){for(var t,r=[],n=arguments.length,o=0;n>o;){if(t=+arguments[o++],i(t,1114111)!==t)throw new s(t+" is not a valid code point");r[o]=t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320)}return u(r,"")}})},27476:(e,t,r)=>{"use strict";var n=r(22195),o=r(79504);e.exports=function(e){if("Function"===n(e))return o(e)}},27495:(e,t,r)=>{"use strict";var n=r(46518),o=r(57323);n({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},28551:(e,t,r)=>{"use strict";var n=r(20034),o=String,i=TypeError;e.exports=function(e){if(n(e))return e;throw new i(o(e)+" is not an object")}},30421:e=>{"use strict";e.exports={}},30684:e=>{"use strict";e.exports=function(e,t){var r="function"==typeof Iterator&&Iterator.prototype[e];if(r)try{r.call({next:null},t).next()}catch(n){return!0}}},33110:(e,t,r)=>{"use strict";var n=r(46518),o=r(97751),i=r(18745),s=r(69565),a=r(79504),c=r(79039),u=r(94901),l=r(10757),d=r(67680),p=r(66933),f=r(4495),h=String,g=o("JSON","stringify"),m=a(/./.exec),y=a("".charAt),v=a("".charCodeAt),w=a("".replace),b=a(1.1.toString),S=/[\uD800-\uDFFF]/g,x=/^[\uD800-\uDBFF]$/,E=/^[\uDC00-\uDFFF]$/,O=!f||c(function(){var e=o("Symbol")("stringify detection");return"[null]"!==g([e])||"{}"!==g({a:e})||"{}"!==g(Object(e))}),_=c(function(){return'"\\udf06\\ud834"'!==g("\udf06\ud834")||'"\\udead"'!==g("\udead")}),T=function(e,t){var r=d(arguments),n=p(t);if(u(n)||void 0!==e&&!l(e))return r[1]=function(e,t){if(u(n)&&(t=s(n,this,h(e),t)),!l(t))return t},i(g,null,r)},R=function(e,t,r){var n=y(r,t-1),o=y(r,t+1);return m(x,e)&&!m(E,o)||m(E,e)&&!m(x,n)?"\\u"+b(v(e,0),16):e};g&&n({target:"JSON",stat:!0,arity:3,forced:O||_},{stringify:function(e,t,r){var n=d(arguments),o=i(O?T:g,null,n);return _&&"string"==typeof o?w(o,S,R):o}})},33392:(e,t,r)=>{"use strict";var n=r(79504),o=0,i=Math.random(),s=n(1.1.toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++o+i,36)}},33706:(e,t,r)=>{"use strict";var n=r(79504),o=r(94901),i=r(77629),s=n(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return s(e)}),e.exports=i.inspectSource},33717:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},33994:(e,t,r)=>{"use strict";var n=r(57657).IteratorPrototype,o=r(2360),i=r(6980),s=r(10687),a=r(26269),c=function(){return this};e.exports=function(e,t,r,u){var l=t+" Iterator";return e.prototype=o(n,{next:i(+!u,r)}),s(e,l,!1,!0),a[l]=c,e}},34376:(e,t,r)=>{"use strict";var n=r(22195);e.exports=Array.isArray||function(e){return"Array"===n(e)}},34598:(e,t,r)=>{"use strict";var n=r(79039);e.exports=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})}},35031:(e,t,r)=>{"use strict";var n=r(97751),o=r(79504),i=r(38480),s=r(33717),a=r(28551),c=o([].concat);e.exports=n("Reflect","ownKeys")||function(e){var t=i.f(a(e)),r=s.f;return r?c(t,r(e)):t}},35610:(e,t,r)=>{"use strict";var n=r(91291),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},35917:(e,t,r)=>{"use strict";var n=r(43724),o=r(79039),i=r(4055);e.exports=!n&&!o(function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a})},36840:(e,t,r)=>{"use strict";var n=r(94901),o=r(24913),i=r(50283),s=r(39433);e.exports=function(e,t,r,a){a||(a={});var c=a.enumerable,u=void 0!==a.name?a.name:t;if(n(r)&&i(r,u,a),a.global)c?e[t]=r:s(t,r);else{try{a.unsafe?e[t]&&(c=!0):delete e[t]}catch(l){}c?e[t]=r:o.f(e,t,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},36955:(e,t,r)=>{"use strict";var n=r(92140),o=r(94901),i=r(22195),s=r(78227)("toStringTag"),a=Object,c="Arguments"===i(function(){return arguments}());e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=a(e),s))?r:c?i(t):"Object"===(n=i(t))&&o(t.callee)?"Arguments":n}},37550:(e,t,r)=>{"use strict";r(13579)},38212:(e,t,r)=>{"use strict";t.h=void 0;var n=r(73758);Object.defineProperty(t,"h",{enumerable:!0,get:function(){return n.default}})},38480:(e,t,r)=>{"use strict";var n=r(61828),o=r(88727).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},39297:(e,t,r)=>{"use strict";var n=r(79504),o=r(48981),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(o(e),t)}},39433:(e,t,r)=>{"use strict";var n=r(44576),o=Object.defineProperty;e.exports=function(e,t){try{o(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},39519:(e,t,r)=>{"use strict";var n,o,i=r(44576),s=r(82839),a=i.process,c=i.Deno,u=a&&a.versions||c&&c.version,l=u&&u.v8;l&&(o=(n=l.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(o=+n[1]),e.exports=o},40616:(e,t,r)=>{"use strict";var n=r(79039);e.exports=!n(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})},42762:(e,t,r)=>{"use strict";var n=r(46518),o=r(43802).trim;n({target:"String",proto:!0,forced:r(60706)("trim")},{trim:function(){return o(this)}})},42787:(e,t,r)=>{"use strict";var n=r(39297),o=r(94901),i=r(48981),s=r(66119),a=r(12211),c=s("IE_PROTO"),u=Object,l=u.prototype;e.exports=a?u.getPrototypeOf:function(e){var t=i(e);if(n(t,c))return t[c];var r=t.constructor;return o(r)&&t instanceof r?r.prototype:t instanceof u?l:null}},43724:(e,t,r)=>{"use strict";var n=r(79039);e.exports=!n(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},43802:(e,t,r)=>{"use strict";var n=r(79504),o=r(67750),i=r(655),s=r(47452),a=n("".replace),c=RegExp("^["+s+"]+"),u=RegExp("(^|[^"+s+"])["+s+"]+$"),l=function(e){return function(t){var r=i(o(t));return 1&e&&(r=a(r,c,"")),2&e&&(r=a(r,u,"$1")),r}};e.exports={start:l(1),end:l(2),trim:l(3)}},44209:(e,t,r)=>{"use strict";var n=r(78227),o=r(26269),i=n("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||s[i]===e)}},44475:e=>{e.exports=window.jQuery},44576:function(e,t,r){"use strict";var n=function(e){return e&&e.Math===Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||n("object"==typeof this&&this)||function(){return this}()||Function("return this")()},46518:(e,t,r)=>{"use strict";var n=r(44576),o=r(77347).f,i=r(66699),s=r(36840),a=r(39433),c=r(77740),u=r(92796);e.exports=function(e,t){var r,l,d,p,f,h=e.target,g=e.global,m=e.stat;if(r=g?n:m?n[h]||a(h,{}):n[h]&&n[h].prototype)for(l in t){if(p=t[l],d=e.dontCallGetSet?(f=o(r,l))&&f.value:r[l],!u(g?l:h+(m?".":"#")+l,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;c(p,d)}(e.sham||d&&d.sham)&&i(p,"sham",!0),s(r,l,p,e)}}},46706:(e,t,r)=>{"use strict";var n=r(79504),o=r(79306);e.exports=function(e,t,r){try{return n(o(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}}},47055:(e,t,r)=>{"use strict";var n=r(79504),o=r(79039),i=r(22195),s=Object,a=n("".split);e.exports=o(function(){return!s("z").propertyIsEnumerable(0)})?function(e){return"String"===i(e)?a(e,""):s(e)}:s},47452:e=>{"use strict";e.exports="\t\n\v\f\r                　\u2028\u2029\ufeff"},48408:(e,t,r)=>{"use strict";r(98406)},48686:(e,t,r)=>{"use strict";var n=r(43724),o=r(79039);e.exports=n&&o(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},48773:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},48981:(e,t,r)=>{"use strict";var n=r(67750),o=Object;e.exports=function(e){return o(n(e))}},50283:(e,t,r)=>{"use strict";var n=r(79504),o=r(79039),i=r(94901),s=r(39297),a=r(43724),c=r(10350).CONFIGURABLE,u=r(33706),l=r(91181),d=l.enforce,p=l.get,f=String,h=Object.defineProperty,g=n("".slice),m=n("".replace),y=n([].join),v=a&&!o(function(){return 8!==h(function(){},"length",{value:8}).length}),w=String(String).split("String"),b=e.exports=function(e,t,r){"Symbol("===g(f(t),0,7)&&(t="["+m(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!s(e,"name")||c&&e.name!==t)&&(a?h(e,"name",{value:t,configurable:!0}):e.name=t),v&&r&&s(r,"arity")&&e.length!==r.arity&&h(e,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?a&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var n=d(e);return s(n,"source")||(n.source=y(w,"string"==typeof t?t:"")),e};Function.prototype.toString=b(function(){return i(this)&&p(this).source||u(this)},"toString")},50851:(e,t,r)=>{"use strict";var n=r(36955),o=r(55966),i=r(64117),s=r(26269),a=r(78227)("iterator");e.exports=function(e){if(!i(e))return o(e,a)||o(e,"@@iterator")||s[n(e)]}},51088:(e,t,r)=>{"use strict";var n=r(46518),o=r(69565),i=r(96395),s=r(10350),a=r(94901),c=r(33994),u=r(42787),l=r(52967),d=r(10687),p=r(66699),f=r(36840),h=r(78227),g=r(26269),m=r(57657),y=s.PROPER,v=s.CONFIGURABLE,w=m.IteratorPrototype,b=m.BUGGY_SAFARI_ITERATORS,S=h("iterator"),x="keys",E="values",O="entries",_=function(){return this};e.exports=function(e,t,r,s,h,m,T){c(r,t,s);var R,k,A,P=function(e){if(e===h&&N)return N;if(!b&&e&&e in j)return j[e];switch(e){case x:case E:case O:return function(){return new r(this,e)}}return function(){return new r(this)}},C=t+" Iterator",L=!1,j=e.prototype,F=j[S]||j["@@iterator"]||h&&j[h],N=!b&&F||P(h),I="Array"===t&&j.entries||F;if(I&&(R=u(I.call(new e)))!==Object.prototype&&R.next&&(i||u(R)===w||(l?l(R,w):a(R[S])||f(R,S,_)),d(R,C,!0,!0),i&&(g[C]=_)),y&&h===E&&F&&F.name!==E&&(!i&&v?p(j,"name",E):(L=!0,N=function(){return o(F,this)})),h)if(k={values:P(E),keys:m?N:P(x),entries:P(O)},T)for(A in k)(b||L||!(A in j))&&f(j,A,k[A]);else n({target:t,proto:!0,forced:b||L},k);return i&&!T||j[S]===N||f(j,S,N,{name:h}),g[t]=N,k}},52967:(e,t,r)=>{"use strict";var n=r(46706),o=r(20034),i=r(67750),s=r(73506);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=n(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(a){}return function(r,n){return i(r),s(n),o(r)?(t?e(r,n):r.__proto__=n,r):r}}():void 0)},54520:(e,t,r)=>{"use strict";r(22489)},55966:(e,t,r)=>{"use strict";var n=r(79306),o=r(64117);e.exports=function(e,t){var r=e[t];return o(r)?void 0:n(r)}},56279:(e,t,r)=>{"use strict";var n=r(36840);e.exports=function(e,t,r){for(var o in t)n(e,o,t[o],r);return e}},56682:(e,t,r)=>{"use strict";var n=r(69565),o=r(28551),i=r(94901),s=r(22195),a=r(57323),c=TypeError;e.exports=function(e,t){var r=e.exec;if(i(r)){var u=n(r,e,t);return null!==u&&o(u),u}if("RegExp"===s(e))return n(a,e,t);throw new c("RegExp#exec called on incompatible receiver")}},56969:(e,t,r)=>{"use strict";var n=r(72777),o=r(10757);e.exports=function(e){var t=n(e,"string");return o(t)?t:t+""}},57323:(e,t,r)=>{"use strict";var n,o,i=r(69565),s=r(79504),a=r(655),c=r(67979),u=r(58429),l=r(25745),d=r(2360),p=r(91181).get,f=r(83635),h=r(18814),g=l("native-string-replace",String.prototype.replace),m=RegExp.prototype.exec,y=m,v=s("".charAt),w=s("".indexOf),b=s("".replace),S=s("".slice),x=(o=/b*/g,i(m,n=/a/,"a"),i(m,o,"a"),0!==n.lastIndex||0!==o.lastIndex),E=u.BROKEN_CARET,O=void 0!==/()??/.exec("")[1];(x||O||E||f||h)&&(y=function(e){var t,r,n,o,s,u,l,f=this,h=p(f),_=a(e),T=h.raw;if(T)return T.lastIndex=f.lastIndex,t=i(y,T,_),f.lastIndex=T.lastIndex,t;var R=h.groups,k=E&&f.sticky,A=i(c,f),P=f.source,C=0,L=_;if(k&&(A=b(A,"y",""),-1===w(A,"g")&&(A+="g"),L=S(_,f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==v(_,f.lastIndex-1))&&(P="(?: "+P+")",L=" "+L,C++),r=new RegExp("^(?:"+P+")",A)),O&&(r=new RegExp("^"+P+"$(?!\\s)",A)),x&&(n=f.lastIndex),o=i(m,k?r:f,L),k?o?(o.input=S(o.input,C),o[0]=S(o[0],C),o.index=f.lastIndex,f.lastIndex+=o[0].length):f.lastIndex=0:x&&o&&(f.lastIndex=f.global?o.index+o[0].length:n),O&&o&&o.length>1&&i(g,o[0],r,function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(o[s]=void 0)}),o&&R)for(o.groups=u=d(null),s=0;s<R.length;s++)u[(l=R[s])[0]]=o[l[1]];return o}),e.exports=y},57657:(e,t,r)=>{"use strict";var n,o,i,s=r(79039),a=r(94901),c=r(20034),u=r(2360),l=r(42787),d=r(36840),p=r(78227),f=r(96395),h=p("iterator"),g=!1;[].keys&&("next"in(i=[].keys())?(o=l(l(i)))!==Object.prototype&&(n=o):g=!0),!c(n)||s(function(){var e={};return n[h].call(e)!==e})?n={}:f&&(n=u(n)),a(n[h])||d(n,h,function(){return this}),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},57829:(e,t,r)=>{"use strict";var n=r(68183).charAt;e.exports=function(e,t,r){return t+(r?n(e,t).length:1)}},58429:(e,t,r)=>{"use strict";var n=r(79039),o=r(44576).RegExp,i=n(function(){var e=o("a","y");return e.lastIndex=2,null!==e.exec("abcd")}),s=i||n(function(){return!o("a","y").sticky}),a=i||n(function(){var e=o("^r","gy");return e.lastIndex=2,null!==e.exec("str")});e.exports={BROKEN_CARET:a,MISSED_STICKY:s,UNSUPPORTED_Y:i}},58622:(e,t,r)=>{"use strict";var n=r(44576),o=r(94901),i=n.WeakMap;e.exports=o(i)&&/native code/.test(String(i))},60706:(e,t,r)=>{"use strict";var n=r(10350).PROPER,o=r(79039),i=r(47452);e.exports=function(e){return o(function(){return!!i[e]()||"​᠎"!=="​᠎"[e]()||n&&i[e].name!==e})}},60788:(e,t,r)=>{"use strict";var n=r(20034),o=r(22195),i=r(78227)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[i])?!!t:"RegExp"===o(e))}},61034:(e,t,r)=>{"use strict";var n=r(69565),o=r(39297),i=r(1625),s=r(65213),a=r(67979),c=RegExp.prototype;e.exports=s.correct?function(e){return e.flags}:function(e){return s.correct||!i(c,e)||o(e,"flags")?e.flags:n(a,e)}},61701:(e,t,r)=>{"use strict";var n=r(46518),o=r(69565),i=r(79306),s=r(28551),a=r(1767),c=r(19462),u=r(96319),l=r(9539),d=r(30684),p=r(84549),f=r(96395),h=!f&&!d("map",function(){}),g=!f&&!h&&p("map",TypeError),m=f||h||g,y=c(function(){var e=this.iterator,t=s(o(this.next,e));if(!(this.done=!!t.done))return u(e,this.mapper,[t.value,this.counter++],!0)});n({target:"Iterator",proto:!0,real:!0,forced:m},{map:function(e){s(this);try{i(e)}catch(t){l(this,"throw",t)}return g?o(g,this,e):new y(a(this),{mapper:e})}})},61828:(e,t,r)=>{"use strict";var n=r(79504),o=r(39297),i=r(25397),s=r(19617).indexOf,a=r(30421),c=n([].push);e.exports=function(e,t){var r,n=i(e),u=0,l=[];for(r in n)!o(a,r)&&o(n,r)&&c(l,r);for(;t.length>u;)o(n,r=t[u++])&&(~s(l,r)||c(l,r));return l}},62106:(e,t,r)=>{"use strict";var n=r(50283),o=r(24913);e.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),o.f(e,t,r)}},62529:e=>{"use strict";e.exports=function(e,t){return{value:e,done:t}}},62953:(e,t,r)=>{"use strict";var n=r(44576),o=r(67400),i=r(79296),s=r(23792),a=r(66699),c=r(10687),u=r(78227)("iterator"),l=s.values,d=function(e,t){if(e){if(e[u]!==l)try{a(e,u,l)}catch(n){e[u]=l}if(c(e,t,!0),o[t])for(var r in s)if(e[r]!==s[r])try{a(e,r,s[r])}catch(n){e[r]=s[r]}}};for(var p in o)d(n[p]&&n[p].prototype,p);d(i,"DOMTokenList")},64117:e=>{"use strict";e.exports=function(e){return null==e}},65213:(e,t,r)=>{"use strict";var n=r(44576),o=r(79039),i=n.RegExp,s=!o(function(){var e=!0;try{i(".","d")}catch(c){e=!1}var t={},r="",n=e?"dgimsy":"gimsy",o=function(e,n){Object.defineProperty(t,e,{get:function(){return r+=n,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(s.hasIndices="d"),s)o(a,s[a]);return Object.getOwnPropertyDescriptor(i.prototype,"flags").get.call(t)!==n||r!==n});e.exports={correct:s}},66119:(e,t,r)=>{"use strict";var n=r(25745),o=r(33392),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},66699:(e,t,r)=>{"use strict";var n=r(43724),o=r(24913),i=r(6980);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},66933:(e,t,r)=>{"use strict";var n=r(79504),o=r(34376),i=r(94901),s=r(22195),a=r(655),c=n([].push);e.exports=function(e){if(i(e))return e;if(o(e)){for(var t=e.length,r=[],n=0;n<t;n++){var u=e[n];"string"==typeof u?c(r,u):"number"!=typeof u&&"Number"!==s(u)&&"String"!==s(u)||c(r,a(u))}var l=r.length,d=!0;return function(e,t){if(d)return d=!1,t;if(o(this))return t;for(var n=0;n<l;n++)if(r[n]===e)return t}}}},67400:e=>{"use strict";e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},67416:(e,t,r)=>{"use strict";var n=r(79039),o=r(78227),i=r(43724),s=r(96395),a=o("iterator");e.exports=!n(function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return e.pathname="c%20d",t.forEach(function(e,r){t.delete("b"),n+=r+e}),r.delete("a",2),r.delete("b",void 0),s&&(!e.toJSON||!r.has("a",1)||r.has("a",2)||!r.has("a",void 0)||r.has("b"))||!t.size&&(s||!i)||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host})},67680:(e,t,r)=>{"use strict";var n=r(79504);e.exports=n([].slice)},67750:(e,t,r)=>{"use strict";var n=r(64117),o=TypeError;e.exports=function(e){if(n(e))throw new o("Can't call method on "+e);return e}},67979:(e,t,r)=>{"use strict";var n=r(28551);e.exports=function(){var e=n(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t}},68183:(e,t,r)=>{"use strict";var n=r(79504),o=r(91291),i=r(655),s=r(67750),a=n("".charAt),c=n("".charCodeAt),u=n("".slice),l=function(e){return function(t,r){var n,l,d=i(s(t)),p=o(r),f=d.length;return p<0||p>=f?e?"":void 0:(n=c(d,p))<55296||n>56319||p+1===f||(l=c(d,p+1))<56320||l>57343?e?a(d,p):n:e?u(d,p,p+2):l-56320+(n-55296<<10)+65536}};e.exports={codeAt:l(!1),charAt:l(!0)}},69565:(e,t,r)=>{"use strict";var n=r(40616),o=Function.prototype.call;e.exports=n?o.bind(o):function(){return o.apply(o,arguments)}},70081:(e,t,r)=>{"use strict";var n=r(69565),o=r(79306),i=r(28551),s=r(16823),a=r(50851),c=TypeError;e.exports=function(e,t){var r=arguments.length<2?a(e):t;if(o(r))return i(n(r,e));throw new c(s(e)+" is not iterable")}},71072:(e,t,r)=>{"use strict";var n=r(61828),o=r(88727);e.exports=Object.keys||function(e){return n(e,o)}},72652:(e,t,r)=>{"use strict";var n=r(76080),o=r(69565),i=r(28551),s=r(16823),a=r(44209),c=r(26198),u=r(1625),l=r(70081),d=r(50851),p=r(9539),f=TypeError,h=function(e,t){this.stopped=e,this.result=t},g=h.prototype;e.exports=function(e,t,r){var m,y,v,w,b,S,x,E=r&&r.that,O=!(!r||!r.AS_ENTRIES),_=!(!r||!r.IS_RECORD),T=!(!r||!r.IS_ITERATOR),R=!(!r||!r.INTERRUPTED),k=n(t,E),A=function(e){return m&&p(m,"normal"),new h(!0,e)},P=function(e){return O?(i(e),R?k(e[0],e[1],A):k(e[0],e[1])):R?k(e,A):k(e)};if(_)m=e.iterator;else if(T)m=e;else{if(!(y=d(e)))throw new f(s(e)+" is not iterable");if(a(y)){for(v=0,w=c(e);w>v;v++)if((b=P(e[v]))&&u(g,b))return b;return new h(!1)}m=l(e,y)}for(S=_?e.next:m.next;!(x=o(S,m)).done;){try{b=P(x.value)}catch(C){p(m,"throw",C)}if("object"==typeof b&&b&&u(g,b))return b}return new h(!1)}},72777:(e,t,r)=>{"use strict";var n=r(69565),o=r(20034),i=r(10757),s=r(55966),a=r(84270),c=r(78227),u=TypeError,l=c("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var r,c=s(e,l);if(c){if(void 0===t&&(t="default"),r=n(c,e,t),!o(r)||i(r))return r;throw new u("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},73506:(e,t,r)=>{"use strict";var n=r(13925),o=String,i=TypeError;e.exports=function(e){if(n(e))return e;throw new i("Can't set "+o(e)+" as a prototype")}},73758:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={googleBot:function(){return-1!==navigator.userAgent.toString().toLowerCase().indexOf("googlebot")}}},74488:(e,t,r)=>{"use strict";var n=r(67680),o=Math.floor,i=function(e,t){var r=e.length;if(r<8)for(var s,a,c=1;c<r;){for(a=c,s=e[c];a&&t(e[a-1],s)>0;)e[a]=e[--a];a!==c++&&(e[a]=s)}else for(var u=o(r/2),l=i(n(e,0,u),t),d=i(n(e,u),t),p=l.length,f=d.length,h=0,g=0;h<p||g<f;)e[h+g]=h<p&&g<f?t(l[h],d[g])<=0?l[h++]:d[g++]:h<p?l[h++]:d[g++];return e};e.exports=i},76080:(e,t,r)=>{"use strict";var n=r(27476),o=r(79306),i=r(40616),s=n(n.bind);e.exports=function(e,t){return o(e),void 0===t?e:i?s(e,t):function(){return e.apply(t,arguments)}}},77347:(e,t,r)=>{"use strict";var n=r(43724),o=r(69565),i=r(48773),s=r(6980),a=r(25397),c=r(56969),u=r(39297),l=r(35917),d=Object.getOwnPropertyDescriptor;t.f=n?d:function(e,t){if(e=a(e),t=c(t),l)try{return d(e,t)}catch(r){}if(u(e,t))return s(!o(i.f,e,t),e[t])}},77629:(e,t,r)=>{"use strict";var n=r(96395),o=r(44576),i=r(39433),s="__core-js_shared__",a=e.exports=o[s]||i(s,{});(a.versions||(a.versions=[])).push({version:"3.45.1",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.45.1/LICENSE",source:"https://github.com/zloirock/core-js"})},77740:(e,t,r)=>{"use strict";var n=r(39297),o=r(35031),i=r(77347),s=r(24913);e.exports=function(e,t,r){for(var a=o(t),c=s.f,u=i.f,l=0;l<a.length;l++){var d=a[l];n(e,d)||r&&n(r,d)||c(e,d,u(t,d))}}},78227:(e,t,r)=>{"use strict";var n=r(44576),o=r(25745),i=r(39297),s=r(33392),a=r(4495),c=r(7040),u=n.Symbol,l=o("wks"),d=c?u.for||u:u&&u.withoutSetter||s;e.exports=function(e){return i(l,e)||(l[e]=a&&i(u,e)?u[e]:d("Symbol."+e)),l[e]}},79039:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},79296:(e,t,r)=>{"use strict";var n=r(4055)("span").classList,o=n&&n.constructor&&n.constructor.prototype;e.exports=o===Object.prototype?void 0:o},79306:(e,t,r)=>{"use strict";var n=r(94901),o=r(16823),i=TypeError;e.exports=function(e){if(n(e))return e;throw new i(o(e)+" is not a function")}},79504:(e,t,r)=>{"use strict";var n=r(40616),o=Function.prototype,i=o.call,s=n&&o.bind.bind(i,i);e.exports=n?s:function(e){return function(){return i.apply(e,arguments)}}},80741:e=>{"use strict";var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var n=+e;return(n>0?r:t)(n)}},81454:(e,t,r)=>{"use strict";r(61701)},82839:(e,t,r)=>{"use strict";var n=r(44576).navigator,o=n&&n.userAgent;e.exports=o?String(o):""},83635:(e,t,r)=>{"use strict";var n=r(79039),o=r(44576).RegExp;e.exports=n(function(){var e=o(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})},84270:(e,t,r)=>{"use strict";var n=r(69565),o=r(94901),i=r(20034),s=TypeError;e.exports=function(e,t){var r,a;if("string"===t&&o(r=e.toString)&&!i(a=n(r,e)))return a;if(o(r=e.valueOf)&&!i(a=n(r,e)))return a;if("string"!==t&&o(r=e.toString)&&!i(a=n(r,e)))return a;throw new s("Can't convert object to primitive value")}},84549:(e,t,r)=>{"use strict";var n=r(44576);e.exports=function(e,t){var r=n.Iterator,o=r&&r.prototype,i=o&&o[e],s=!1;if(i)try{i.call({next:function(){return{done:!0}},return:function(){s=!0}},-1)}catch(a){a instanceof t||(s=!1)}if(!s)return i}},84606:(e,t,r)=>{"use strict";var n=r(16823),o=TypeError;e.exports=function(e,t){if(!delete e[t])throw new o("Cannot delete property "+n(t)+" of "+n(e))}},84864:(e,t,r)=>{"use strict";var n=r(43724),o=r(44576),i=r(79504),s=r(92796),a=r(23167),c=r(66699),u=r(2360),l=r(38480).f,d=r(1625),p=r(60788),f=r(655),h=r(61034),g=r(58429),m=r(11056),y=r(36840),v=r(79039),w=r(39297),b=r(91181).enforce,S=r(87633),x=r(78227),E=r(83635),O=r(18814),_=x("match"),T=o.RegExp,R=T.prototype,k=o.SyntaxError,A=i(R.exec),P=i("".charAt),C=i("".replace),L=i("".indexOf),j=i("".slice),F=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,N=/a/g,I=/a/g,D=new T(N)!==N,U=g.MISSED_STICKY,V=g.UNSUPPORTED_Y,M=n&&(!D||U||E||O||v(function(){return I[_]=!1,T(N)!==N||T(I)===I||"/a/i"!==String(T(N,"i"))}));if(s("RegExp",M)){for(var B=function(e,t){var r,n,o,i,s,l,g=d(R,this),m=p(e),y=void 0===t,v=[],S=e;if(!g&&m&&y&&e.constructor===B)return e;if((m||d(R,e))&&(e=e.source,y&&(t=h(S))),e=void 0===e?"":f(e),t=void 0===t?"":f(t),S=e,E&&"dotAll"in N&&(n=!!t&&L(t,"s")>-1)&&(t=C(t,/s/g,"")),r=t,U&&"sticky"in N&&(o=!!t&&L(t,"y")>-1)&&V&&(t=C(t,/y/g,"")),O&&(i=function(e){for(var t,r=e.length,n=0,o="",i=[],s=u(null),a=!1,c=!1,l=0,d="";n<=r;n++){if("\\"===(t=P(e,n)))t+=P(e,++n);else if("]"===t)a=!1;else if(!a)switch(!0){case"["===t:a=!0;break;case"("===t:if(o+=t,"?:"===j(e,n+1,n+3))continue;A(F,j(e,n+1))&&(n+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||w(s,d))throw new k("Invalid capture group name");s[d]=!0,i[i.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,i]}(e),e=i[0],v=i[1]),s=a(T(e,t),g?this:R,B),(n||o||v.length)&&(l=b(s),n&&(l.dotAll=!0,l.raw=B(function(e){for(var t,r=e.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(t=P(e,n))?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),o+=t):o+="[\\s\\S]":o+=t+P(e,++n);return o}(e),r)),o&&(l.sticky=!0),v.length&&(l.groups=v)),e!==S)try{c(s,"source",""===S?"(?:)":S)}catch(x){}return s},q=l(T),z=0;q.length>z;)m(B,T,q[z++]);R.constructor=B,B.prototype=R,y(o,"RegExp",B,{constructor:!0})}S("RegExp")},87633:(e,t,r)=>{"use strict";var n=r(97751),o=r(62106),i=r(78227),s=r(43724),a=i("species");e.exports=function(e){var t=n(e);s&&t&&!t[a]&&o(t,a,{configurable:!0,get:function(){return this}})}},88727:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},89228:(e,t,r)=>{"use strict";r(27495);var n=r(69565),o=r(36840),i=r(57323),s=r(79039),a=r(78227),c=r(66699),u=a("species"),l=RegExp.prototype;e.exports=function(e,t,r,d){var p=a(e),f=!s(function(){var t={};return t[p]=function(){return 7},7!==""[e](t)}),h=f&&!s(function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[u]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return t=!0,null},r[p](""),!t});if(!f||!h||r){var g=/./[p],m=t(p,""[e],function(e,t,r,o,s){var a=t.exec;return a===i||a===l.exec?f&&!s?{done:!0,value:n(g,t,r,o)}:{done:!0,value:n(e,r,t,o)}:{done:!1}});o(String.prototype,e,m[0]),o(l,p,m[1])}d&&c(l[p],"sham",!0)}},90679:(e,t,r)=>{"use strict";var n=r(1625),o=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new o("Incorrect invocation")}},91181:(e,t,r)=>{"use strict";var n,o,i,s=r(58622),a=r(44576),c=r(20034),u=r(66699),l=r(39297),d=r(77629),p=r(66119),f=r(30421),h="Object already initialized",g=a.TypeError,m=a.WeakMap;if(s||d.state){var y=d.state||(d.state=new m);y.get=y.get,y.has=y.has,y.set=y.set,n=function(e,t){if(y.has(e))throw new g(h);return t.facade=e,y.set(e,t),t},o=function(e){return y.get(e)||{}},i=function(e){return y.has(e)}}else{var v=p("state");f[v]=!0,n=function(e,t){if(l(e,v))throw new g(h);return t.facade=e,u(e,v,t),t},o=function(e){return l(e,v)?e[v]:{}},i=function(e){return l(e,v)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=o(t)).type!==e)throw new g("Incompatible receiver, "+e+" required");return r}}}},91291:(e,t,r)=>{"use strict";var n=r(80741);e.exports=function(e){var t=+e;return t!=t||0===t?0:n(t)}},91385:(e,t,r)=>{"use strict";var n=r(9539);e.exports=function(e,t,r){for(var o=e.length-1;o>=0;o--)if(void 0!==e[o])try{r=n(e[o].iterator,t,r)}catch(i){t="throw",r=i}if("throw"===t)throw r;return r}},92140:(e,t,r)=>{"use strict";var n={};n[r(78227)("toStringTag")]="z",e.exports="[object z]"===String(n)},92796:(e,t,r)=>{"use strict";var n=r(79039),o=r(94901),i=/#|\.prototype\./,s=function(e,t){var r=c[a(e)];return r===l||r!==u&&(o(t)?n(t):!!t)},a=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=s.data={},u=s.NATIVE="N",l=s.POLYFILL="P";e.exports=s},93389:(e,t,r)=>{"use strict";var n=r(44576),o=r(43724),i=Object.getOwnPropertyDescriptor;e.exports=function(e){if(!o)return n[e];var t=i(n,e);return t&&t.value}},94901:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},96319:(e,t,r)=>{"use strict";var n=r(28551),o=r(9539);e.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(s){o(e,"throw",s)}}},96395:e=>{"use strict";e.exports=!1},96801:(e,t,r)=>{"use strict";var n=r(43724),o=r(48686),i=r(24913),s=r(28551),a=r(25397),c=r(71072);t.f=n&&!o?Object.defineProperties:function(e,t){s(e);for(var r,n=a(t),o=c(t),u=o.length,l=0;u>l;)i.f(e,r=o[l++],n[r]);return e}},97040:(e,t,r)=>{"use strict";var n=r(43724),o=r(24913),i=r(6980);e.exports=function(e,t,r){n?o.f(e,t,i(0,r)):e[t]=r}},97751:(e,t,r)=>{"use strict";var n=r(44576),o=r(94901);e.exports=function(e,t){return arguments.length<2?(r=n[e],o(r)?r:void 0):n[e]&&n[e][t];var r}},98406:(e,t,r)=>{"use strict";r(23792),r(27337);var n=r(46518),o=r(44576),i=r(93389),s=r(97751),a=r(69565),c=r(79504),u=r(43724),l=r(67416),d=r(36840),p=r(62106),f=r(56279),h=r(10687),g=r(33994),m=r(91181),y=r(90679),v=r(94901),w=r(39297),b=r(76080),S=r(36955),x=r(28551),E=r(20034),O=r(655),_=r(2360),T=r(6980),R=r(70081),k=r(50851),A=r(62529),P=r(22812),C=r(78227),L=r(74488),j=C("iterator"),F="URLSearchParams",N=F+"Iterator",I=m.set,D=m.getterFor(F),U=m.getterFor(N),V=i("fetch"),M=i("Request"),B=i("Headers"),q=M&&M.prototype,z=B&&B.prototype,H=o.TypeError,G=o.encodeURIComponent,W=String.fromCharCode,$=s("String","fromCodePoint"),J=parseInt,K=c("".charAt),Y=c([].join),X=c([].push),Q=c("".replace),Z=c([].shift),ee=c([].splice),te=c("".split),re=c("".slice),ne=c(/./.exec),oe=/\+/g,ie=/^[0-9a-f]+$/i,se=function(e,t){var r=re(e,t,t+2);return ne(ie,r)?J(r,16):NaN},ae=function(e){for(var t=0,r=128;r>0&&0!==(e&r);r>>=1)t++;return t},ce=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},ue=function(e){for(var t=(e=Q(e,oe," ")).length,r="",n=0;n<t;){var o=K(e,n);if("%"===o){if("%"===K(e,n+1)||n+3>t){r+="%",n++;continue}var i=se(e,n+1);if(i!=i){r+=o,n++;continue}n+=2;var s=ae(i);if(0===s)o=W(i);else{if(1===s||s>4){r+="�",n++;continue}for(var a=[i],c=1;c<s&&!(++n+3>t||"%"!==K(e,n));){var u=se(e,n+1);if(u!=u){n+=3;break}if(u>191||u<128)break;X(a,u),n+=2,c++}if(a.length!==s){r+="�";continue}var l=ce(a);null===l?r+="�":o=$(l)}}r+=o,n++}return r},le=/[!'()~]|%20/g,de={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},pe=function(e){return de[e]},fe=function(e){return Q(G(e),le,pe)},he=g(function(e,t){I(this,{type:N,target:D(e).entries,index:0,kind:t})},F,function(){var e=U(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,A(void 0,!0);var n=t[r];switch(e.kind){case"keys":return A(n.key,!1);case"values":return A(n.value,!1)}return A([n.key,n.value],!1)},!0),ge=function(e){this.entries=[],this.url=null,void 0!==e&&(E(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===K(e,0)?re(e,1):e:O(e)))};ge.prototype={type:F,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,o,i,s,c,u=this.entries,l=k(e);if(l)for(r=(t=R(e,l)).next;!(n=a(r,t)).done;){if(i=(o=R(x(n.value))).next,(s=a(i,o)).done||(c=a(i,o)).done||!a(i,o).done)throw new H("Expected sequence with length 2");X(u,{key:O(s.value),value:O(c.value)})}else for(var d in e)w(e,d)&&X(u,{key:d,value:O(e[d])})},parseQuery:function(e){if(e)for(var t,r,n=this.entries,o=te(e,"&"),i=0;i<o.length;)(t=o[i++]).length&&(r=te(t,"="),X(n,{key:ue(Z(r)),value:ue(Y(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],n=0;n<t.length;)e=t[n++],X(r,fe(e.key)+"="+fe(e.value));return Y(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var me=function(){y(this,ye);var e=I(this,new ge(arguments.length>0?arguments[0]:void 0));u||(this.size=e.entries.length)},ye=me.prototype;if(f(ye,{append:function(e,t){var r=D(this);P(arguments.length,2),X(r.entries,{key:O(e),value:O(t)}),u||this.length++,r.updateURL()},delete:function(e){for(var t=D(this),r=P(arguments.length,1),n=t.entries,o=O(e),i=r<2?void 0:arguments[1],s=void 0===i?i:O(i),a=0;a<n.length;){var c=n[a];if(c.key!==o||void 0!==s&&c.value!==s)a++;else if(ee(n,a,1),void 0!==s)break}u||(this.size=n.length),t.updateURL()},get:function(e){var t=D(this).entries;P(arguments.length,1);for(var r=O(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){var t=D(this).entries;P(arguments.length,1);for(var r=O(e),n=[],o=0;o<t.length;o++)t[o].key===r&&X(n,t[o].value);return n},has:function(e){for(var t=D(this).entries,r=P(arguments.length,1),n=O(e),o=r<2?void 0:arguments[1],i=void 0===o?o:O(o),s=0;s<t.length;){var a=t[s++];if(a.key===n&&(void 0===i||a.value===i))return!0}return!1},set:function(e,t){var r=D(this);P(arguments.length,1);for(var n,o=r.entries,i=!1,s=O(e),a=O(t),c=0;c<o.length;c++)(n=o[c]).key===s&&(i?ee(o,c--,1):(i=!0,n.value=a));i||X(o,{key:s,value:a}),u||(this.size=o.length),r.updateURL()},sort:function(){var e=D(this);L(e.entries,function(e,t){return e.key>t.key?1:-1}),e.updateURL()},forEach:function(e){for(var t,r=D(this).entries,n=b(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)n((t=r[o++]).value,t.key,this)},keys:function(){return new he(this,"keys")},values:function(){return new he(this,"values")},entries:function(){return new he(this,"entries")}},{enumerable:!0}),d(ye,j,ye.entries,{name:"entries"}),d(ye,"toString",function(){return D(this).serialize()},{enumerable:!0}),u&&p(ye,"size",{get:function(){return D(this).entries.length},configurable:!0,enumerable:!0}),h(me,F),n({global:!0,constructor:!0,forced:!l},{URLSearchParams:me}),!l&&v(B)){var ve=c(z.has),we=c(z.set),be=function(e){if(E(e)){var t,r=e.body;if(S(r)===F)return t=e.headers?new B(e.headers):new B,ve(t,"content-type")||we(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),_(e,{body:T(0,O(r)),headers:T(0,t)})}return e};if(v(V)&&n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return V(e,arguments.length>1?be(arguments[1]):{})}}),v(M)){var Se=function(e){return y(this,q),new M(e,arguments.length>1?be(arguments[1]):{})};q.constructor=Se,Se.prototype=q,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Se})}}e.exports={URLSearchParams:me,getState:D}},98992:(e,t,r)=>{"use strict";r(18111)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,r||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==t(r)?r:r+""}function o(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.r(e),r.d(e,{hasBrowserEnv:()=>Ce,hasStandardBrowserEnv:()=>je,hasStandardBrowserWebWorkerEnv:()=>Fe,navigator:()=>Le,origin:()=>Ne});r(26910),r(33110),r(27495),r(98992),r(3949),r(81454),r(54520),r(37550);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){o(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}const a="AudienceProjectData",c="@audienceproject/data-web",u="1.4.0",l={},d="INITIAL",p="RUNNING",f="READY",h="FAILED",g={state:d},m={moduleName:a,packageName:c,packageVersion:u,fetchCache:l,fetchStateInitial:d,fetchStateRunning:p,fetchStateReady:f,fetchStateFailed:h,fetchStatus:g,fetch:(e,t,r)=>{if("string"!=typeof e||!e)throw new Error("Invalid customer ID");const n=s(s({allowStorageAccess:!0,allowPersonalisation:!0,gdprApplies:null,consentString:"",integrateWithCmp:!1,waitForCmpConsent:!1,requestParams:{},timeout:1e3,addStatusKey:!1,cacheType:"",cacheKey:"url,allowPersonalisation,requestParams",cacheTime:86400,requestDomains:{regular:"pdw-usr.userreport.com",nonPersonalised:"dnt-userreport.com"},debug:!1},t),(()=>{const e="__audienceProjectDataFetchOptions=";let t;return window.location.search.split(/[?&]/).some(r=>{const n=0===r.indexOf(e);if(n){const e=r.slice(34);try{t=JSON.parse(decodeURIComponent(e))}catch(o){}}return n}),t})()),o=function(){for(var e,t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return n.debug&&(null===(e=console)||void 0===e?void 0:e.log.apply(e,["[".concat(a,"]")].concat(r)))};o("Fetch called…"),o("Version:",u),o("Customer ID:",e),o("Customer options:",t),o("Fetch options:",n);const i=e=>{try{return JSON.parse(e)}catch(t){return}},d=()=>(e=>{let t=0;const{length:r}=e;for(let n=0;n<r;n+=1)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t})(n.cacheKey.split(/\s*,\s*/).sort().map(e=>{if("url"===e)return window.location.pathname.slice(1)+window.location.search;if("allowPersonalisation"===e)return n.allowPersonalisation?"":0;if("requestParams"===e){const e=JSON.stringify(n.requestParams);return"{}"===e?"":e}return""}).join("")),m=localStorage,y="apr_sref",v="apr_data_cache",w=e=>{if(!n.allowStorageAccess)return;let t;try{t=m[e]}catch(r){}return t&&0===t.indexOf("{")&&t.lastIndexOf("}")===t.length-1?i(t):t},b=(e,t)=>{if(!n.allowStorageAccess)return;const r="object"==typeof t?JSON.stringify(t):t;try{m[e]=r}catch(o){}},S=e=>{if(!n.integrateWithCmp)return void e();if(o("Checking CMP…"),"function"!=typeof __tcfapi)return void o("No TCF 2.2 API found…");o("Using TCF 2.2 API…");const t=(e,t)=>{__tcfapi(e,2,function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];o.apply(void 0,["TCF response:"].concat(r)),t.apply(void 0,r)},[394])},r=(i,s)=>{s&&("tcloaded"!==i.eventStatus&&"useractioncomplete"!==i.eventStatus||(t("removeEventListener",r),(e=>{if(n.gdprApplies=Boolean(e.gdprApplies),n.consentString=e.tcString||"",n.gdprApplies){var t,r,i;const o=null===(t=e.vendor)||void 0===t||null===(t=t.consents)||void 0===t?void 0:t[394];n.allowStorageAccess=Boolean(o&&(null===(r=e.purpose)||void 0===r||null===(r=r.consents)||void 0===r?void 0:r[1])),n.allowPersonalisation=Boolean(o&&(null===(i=e.purpose)||void 0===i||null===(i=i.consents)||void 0===i?void 0:i[3]))}o("Options after CMP override:",n)})(i),e()))};o("Adding TCF consent listener…"),t("addEventListener",r)};let x;const E=Math.round((new Date).getTime()/1e3),O=()=>"localStorage"!==n.cacheType||(()=>{if(!n.allowStorageAccess)return!1;const e="apr_check_access@".concat(Math.random());try{m[e]=e;const t=m[e]===e;return delete m[e],t}catch(t){}return!1})()?n.cacheType:"memory",_=new XMLHttpRequest,T=(t,r)=>{o("Reading prediction from API…");const s=["med",window.location.href];document.referrer&&s.push("ref",document.referrer);const a=w(y);if(a&&s.push("sref",a),n.allowPersonalisation){const e=w("apr_dsu");e&&s.push("dsu",e)}"boolean"==typeof n.gdprApplies&&s.push("gdpr",Number(n.gdprApplies)),n.consentString&&s.push("gdpr_consent",n.consentString),s.push("appid","".concat(c,":").concat(u));!function e(t,r){Object.keys(t).forEach(n=>{const o=t[n];if(void 0===o)return;const i=r+n;var a;a=o,"[object Array]"===Object.prototype.toString.call(a)?o.forEach(e=>{s.push(i,e)}):"object"==typeof o?e(o,"".concat(i,"_")):s.push(i,o)})}(n.requestParams,"");const l=n.allowPersonalisation?n.requestDomains.regular:n.requestDomains.nonPersonalised;let d="https://".concat(l,"/api/v2/partner/").concat(encodeURIComponent(e),"/uid");return s.forEach((e,t)=>{d+=(t%2?"=":t?"&":"?")+encodeURIComponent(e)}),((e,t,r)=>{o("API request:",e),_.onreadystatechange=()=>{if(_.readyState===XMLHttpRequest.DONE)if(200===_.status){const e=i(_.responseText);o("API response:",e),t(e)}else o("API failed with code:",_.status),r()},_.open("GET",e,!0),_.withCredentials=n.allowPersonalisation,_.send()})(d,t,r)},R=[];return"function"==typeof r&&R.push(r),(()=>{let e;g.state=p,delete g.result,delete g.options;let t=!1;const r=(r,i)=>{if(t)return;t=!0,((e,t)=>{n.addStatusKey&&(o("Updating status fields…"),e.keyValues=e.keyValues||{},e.keyValues.ap_ds=String(t))})(r,i.code);const a=s({type:i.value},r);g.state=parseInt(i.code,10)>0?f:h,g.result=a,g.options=n,(e=>{clearTimeout(e);const t=(new Date).getTime()-x;o("Timeout ended:",t,"ms")})(e),_.abort(),o("Callback result:",a),R.forEach(e=>{e(a)})};S(()=>{const t={value:"TIMEOUT",code:-2},i={value:"BACKEND_ERROR",code:-1},s=n.allowPersonalisation?{value:"RETURNED",code:1}:{value:"RETURNED_ANONYMOUS",code:"1a"},a=n.allowPersonalisation?{value:"RETURNED_FROM_CACHE",code:2}:{value:"RETURNED_ANONYMOUS_FROM_CACHE",code:"2a"};return e=(e=>{if(n.timeout)return o("Timeout started…"),x=(new Date).getTime(),setTimeout(e,n.timeout)})(()=>{r({},t)}),(()=>{if(!n.allowPersonalisation)return;o("Checking session referrer…");const e="".concat(window.location.protocol,"//").concat(window.location.host,"/");document.referrer&&0!==document.referrer.indexOf(e)&&(o("Session referrer updated:",document.referrer),b(y,document.referrer))})(),((e,t)=>{const r=O();if(!r)return t();let i;o("Reading prediction from cache…");const s=d();return"localStorage"===r?(o("Reading prediction from local storage key:",s),i=w(v)):"memory"===r&&(o("Reading prediction from memory key:",s),i=l[s]),"object"!=typeof i?t():i.ttl+n.cacheTime<E||i.hash!==s?(o("Cached prediction expired…"),t()):(o("Cached prediction:",i.data),e(i.data))})(e=>{r(e,a)},()=>T(e=>{(e=>{const t=O();if(!t)return;o("Saving prediction to cache…");const r=d(),n={data:e,ttl:E,hash:r};"localStorage"===t?b(v,n):"memory"===t&&(l[r]=n)})(e),r(e,s)},()=>{r({},i)}))})})(),{promise:()=>new Promise(e=>{o("Promise called…"),R.push(e)})}},utils:{sendDataToGooglePublisherTag:e=>{window.googletag=window.googletag||{cmd:[]};const t=()=>{Object.keys(e.keyValues).forEach(t=>{window.googletag.pubads().setTargeting(t,e.keyValues[t])})};window.googletag.cmd.unshift?window.googletag.cmd.unshift(t):window.googletag.cmd.push(t)}}},y={css:{logLabel:"color: #FFF; background: #188ae2; padding: 2px 0px 2px 4px; border-radius: 3px 0px 0px 3px; font-weight: bold",log:"color: #FFF; background: #188ae2; padding: 2px 4px 2px 0px; border-radius: 0px 3px 3px 0px;",successLabel:"color: #FFF; background: #31ce77; padding: 2px 0px 2px 4px; border-radius: 3px 0px 0px 3px; font-weight: bold",success:"color: #FFF; background: #31ce77; padding: 2px 4px 2px 0px; border-radius: 0px 3px 3px 0px;",warningLabel:"color: #FFF; background: #F57C00; padding: 2px 0px 2px 4px; border-radius: 3px 0px 0px 3px; font-weight: bold",warning:"color: #FFF; background: #F57C00; padding: 2px 4px 2px 0px; border-radius: 0px 3px 3px 0px;",errorLabel:"color: #FFF; background: #f34943; padding: 2px 0px 2px 4px; border-radius: 3px 0px 0px 3px; font-weight: bold",error:"color: #FFF; background: #f34943; padding: 2px 4px 2px 0px; border-radius: 0px 3px 3px 0px;"},print(e,t){if(1===parseInt(this.getCookie("debug"),10)){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];var i,s;if(1===n.length&&"string"==typeof n[0])(i=console).log.apply(i,["%c".concat(e," %c%s"),this.css["".concat(t,"Label")],this.css[t]].concat(n));else(s=console).log.apply(s,["%c".concat(e),this.css[t]].concat(n))}},log(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.print.apply(this,["Martini Log:","log"].concat(t))},success(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.print.apply(this,["Martini Success:","success"].concat(t))},warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.print.apply(this,["Martini Warning:","warning"].concat(t))},error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.print.apply(this,["Martini Error:","error"].concat(t))},getCookie(e){const t="".concat(e,"="),r=document.cookie.split(";");for(let n=0;n<r.length;n+=1){let e=r[n];for(;" "===e.charAt(0);)e=e.substring(1);if(0===e.indexOf(t))return e.substring(t.length,e.length)}return""}};var v=r(44475);const w={runningTimers:{},timerPositions:{},timerCount:{},advertRefreshTime:12,acceptableViewability:50,browserFocus:!0,browserSetup:!1,timer(e,t){this.browserSetup||(this.browserSetup=!0,this.setFocusListeners()),this.checkName(e)?this.checkFocus()?(y.log("DFP - running for ".concat(e," at ").concat(t," percent")),t>=this.acceptableViewability?this.startTimer(e):this.pauseTimer(e)):y.log("DFP - Browser is not focused, ignoring ".concat(e)):y.log("DFP - Ignoring ".concat(e))},pauseTimer(e){y.log("DFP - pausing timer for ".concat(e)),clearTimeout(this.runningTimers[e]),this.runningTimers[e]=null},startTimer(e){e in this.timerPositions||(this.timerPositions[e]=0),e in this.runningTimers||(this.runningTimers[e]=null),e in this.timerCount||(this.timerCount[e]=1),"number"!=typeof this.runningTimers[e]?(y.log("DFP - (re)starting a timer for ".concat(e)),this.runningTimers[e]=window.setTimeout(()=>{this.updateTimer(e)},1e3)):y.log("DFP - Timer for ".concat(e," already running"))},updateTimer(e){if(!this.checkFocus())return y.log("DFP - Browser is not focused, pausing timer for ".concat(e)),void this.pauseTimer(e);if(!this.checkRefresh(e))return y.log("DFP - advert has no-refresh dom attribute, pausing timer for ".concat(e)),void this.pauseTimer(e);let t=this.timerPositions[e];if(t+=1,y.log("DFP - updating ".concat(e," to ").concat(t," seconds")),t>this.advertRefreshTime)return this.resetTimer(e),void this.refreshAdvert(e);this.timerPositions[e]=t,this.runningTimers[e]=window.setTimeout(()=>{this.updateTimer(e)},1e3)},refreshAdvert(e){y.log("DFP - Refreshing ".concat(e));const t=this.timerCount[e];y.log("DFP - setting rfs to ".concat(t," for ").concat(e)),window.dfpHolder[e].setTargeting("rfs",t),window.pbjs.rp.requestBids({callback:this.refreshAdvertCallback,gptSlotObjects:[window.dfpHolder[e]]}),this.timerCount[e]+=1},refreshAdvertCallback(e){window.googletag.pubads().refresh(e)},resetTimer(e){this.pauseTimer(e),this.timerPositions[e]=0},checkName(e){switch(e){case"DFP_top_leaderboard":return 1===v("#comments-in-page").length&&window.screen.width<=450;case"DFP_article_fluid_1":case"DFP_teads":case"DFP_out_of_page":case"DFP_standard_mpu_3":case"DFP_standard_mpu_4":case"DFP_standard_mpu_5":case"DFP_standard_mpu_6":case"DFP_standard_mpu_7":case"DFP_gallery_mpu":case"DFP_gallery_interstitial":return!1;default:return!0}},checkFocus(){return this.browserFocus},setFocusListeners(){window.addEventListener("focus",()=>{this.setFocused()},!1),window.addEventListener("blur",()=>{this.setBlurred()},!1)},setFocused(){y.log("DFP - Browser focused"),this.browserFocus=!0},setBlurred(){y.log("DFP - Browser blurred"),this.browserFocus=!1},checkRefresh(e){y.log("Checking DOM for no-refresh on ".concat(e));const t=document.getElementById(e).classList.contains("no-refresh");return y.log("Does ".concat(e," contain 'no-refresh'? ").concat(t)),!t}};r(25440),r(62953),r(44475),r(44475);r(84864),r(42762);r(48408);const b={modalSelector:{container:"mar-modal-container",inner:"mar-modal",dialog:"mar-modal__dialog",header:"mar-modal__header",title:"mar-modal__title",body:"mar-modal__body",actions:"mar-modal__actions",animateOut:"mar-modal-container--animate-out",animateOutLayout:"mar-modal-container--animate-out-layout",submitBtn:'[data-uses-js="modal-submit"]',cancelBtn:'[data-uses-js="modal-cancel"]'},hiddenSelector:"visually-hidden",noScrollSelector:"no-scroll",bodyContentSelector:"takeover",openSelector:'[data-uses-js="open-modal"]',closeSelector:'[data-uses-js="close-modal"]',modalVariants:["sm","md","lg"],sourceContent:null,customClass:null,init(){y.log("modal has been inititated");document.querySelector(this.openSelector)&&this.bind()},bind(){document.addEventListener("click",e=>{e.target.closest(this.openSelector)&&(this.toggleModal(!0),this.renderModalSize({btnElement:e.target.closest(this.openSelector),open:!0}),this.toggleModalName({btnElement:e.target.closest(this.openSelector),add:!0})),e.target.closest(this.closeSelector)&&this.close(),e.target.closest(this.modalSelector.cancelBtn)&&this.close()})},async open(e){let{size:t,heading:r,source:n,content:o,btnElement:i,btnSecondary:s,customClass:a}=e;this.toggleModal(!0),this.renderModalSize({open:!0,btnElement:i,size:t}),this.renderContent({heading:r,source:n,content:o,btnElement:i,btnSecondary:s,customClass:a}),n&&(document.querySelector(".".concat(this.modalSelector.container)).dataset.source=n)},close(){this.toggleModal(!1),this.renderModalSize({open:!1}),this.toggleModalName({add:!1}),this.destroyContent(document.querySelector(".".concat(this.modalSelector.container)).dataset.source)},toggleModal(e){const t=document.querySelector("body"),r=document.querySelector(".".concat(this.modalSelector.container)),n=document.getElementById(this.bodyContentSelector);e?(requestAnimationFrame(()=>{r.classList.remove(this.hiddenSelector)}),r.classList.remove(this.modalSelector.animateOut),t.classList.add(this.noScrollSelector)):(r.classList.add(this.modalSelector.animateOut),t.classList.remove(this.noScrollSelector),n.classList.add(this.modalSelector.animateOutLayout),requestAnimationFrame(()=>{n.classList.remove(this.modalSelector.animateOutLayout),r.classList.add(this.hiddenSelector)}))},renderModalSize(e){let{btnElement:t,open:r,variants:n=this.modalVariants,size:o}=e;const i=document.querySelector(".".concat(this.modalSelector.container)),s=i.querySelector(".".concat(this.modalSelector.inner));if(r){if(!i)return;const e=o||t.dataset.modalSize,r="".concat(this.modalSelector.inner,"--").concat(e);s.classList.contains(r)||s.classList.add(r)}else{if(!n.length)return;n.forEach(e=>{const t="".concat(this.modalSelector.inner,"--").concat(e);s.classList.contains(t)&&s.classList.remove(t)})}},renderContent(e){let{heading:t,source:r,content:n,btnElement:o,btnSecondary:i,customClass:s}=e;const a=document.querySelector(".".concat(this.modalSelector.container)),c=a.querySelector(".".concat(this.modalSelector.header)),u=a.querySelector(".".concat(this.modalSelector.title)),l=a.querySelector(".".concat(this.modalSelector.body));let d=a.querySelector(this.modalSelector.submitBtn);const p=a.querySelector(this.modalSelector.cancelBtn),{text:f,addEventListener:h,dataUsesJs:g}=o||{text:""};s&&(a.classList.add(s),this.customClass=s),t?(c.classList.remove("hidden"),u.innerHTML=t,u.style.textAlign="left"):(c.classList.add("hidden"),u.innerHTML=""),n?l.innerHTML=n:r?(this.sourceContent=document.querySelector(r).innerHTML,document.querySelector(r).innerHTML="",l.innerHTML=this.sourceContent):l.innerHTML="",d&&d.classList.remove("hidden"),o&&p.classList.remove("hidden"),o?(f&&d&&(d.textContent=f),"function"==typeof h&&d&&d.addEventListener("click",h),g&&(null===d||""===d?(d=a.querySelector("button"),d.dataset.usesJs=g,d.textContent=f,d.addEventListener("click",h)):d.dataset.usesJs=g)):d&&d.classList.add("hidden"),i?(i.text&&(p.textContent=i.text),"function"==typeof i.addEventListener&&p.addEventListener("click",i.addEventListener)):p.classList.add("hidden"),o||i||document.querySelector(".".concat(this.modalSelector.actions)).classList.add("hidden")},destroyContent(e){if(e){const t=document.querySelector(".".concat(this.modalSelector.container));t.querySelector(".".concat(this.modalSelector.body)).innerHTML="",t.dataset.source=null,t.classList.remove(this.customClass),this.customClass=null,document.querySelector(e).innerHTML=this.sourceContent}},toggleModalName(e){let{btnElement:t,add:r}=e;const n=document.querySelector(".".concat(this.modalSelector.container));if(r){const{modalName:e}=t.dataset;e&&n.setAttribute("data-modal-name",e)}else n.removeAttribute("data-modal-name")}};class S{static trackMobileVerification(e,t){try{switch(window.s.events=e,window.s.linkTrackEvents=e,e){case this.Events.MobileVerification.Started:case this.Events.MobileVerification.CodeSent:case this.Events.MobileVerification.Success:window.s.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar7,eVar16,eVar19,eVar26";break;case this.Events.MobileVerification.TelNoError:case this.Events.MobileVerification.CodeError:window.s.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar7,eVar16,eVar19,eVar26,eVar31",window.s.eVar31=t||"Unknown error"}switch(window.s.tl(!0,"o","mobile verification"),e){case this.Events.MobileVerification.Started:y.success("Log verify phone begin");break;case this.Events.MobileVerification.TelNoError:y.error("Log verify phone tel no error");break;case this.Events.MobileVerification.CodeSent:y.success("Log verify phone code sent");break;case this.Events.MobileVerification.CodeError:y.error("Log verify phone code error");break;case this.Events.MobileVerification.Success:y.success("Log verify phone success")}}catch(r){y.error(r)}}static trackNewsletter(e){try{let t;switch(window.s.events=e,e){case this.Events.NewsletterSubscription.Subscribed:window.s.eVar99="+1",window.s.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar27,eVar43,eVar61,eVar63,eVar99,prop62,list3,events",t="Newsletter subscription, event85";break;case this.Events.NewsletterSubscription.Unsubscribed:window.s.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar27,eVar43,eVar61,eVar63,prop62,list3,events",t="Newsletter unsubscription, event86"}window.s.suppressPageView=!0,window.s.linkTrackEvents=e,window.s.tl(!0,"o","Newsletter Sign Up"),window.s.events="",y.success(t)}catch(t){y.error(t)}}}function x(e,t){return function(){return e.apply(t,arguments)}}o(S,"Events",{MobileVerification:{Started:"event98",TelNoError:"event99",CodeSent:"event100",CodeError:"event101",Success:"event102"},NewsletterSubscription:{Subscribed:"event85",Unsubscribed:"event86"}});const{toString:E}=Object.prototype,{getPrototypeOf:O}=Object,{iterator:_,toStringTag:T}=Symbol,R=(k=Object.create(null),e=>{const t=E.call(e);return k[t]||(k[t]=t.slice(8,-1).toLowerCase())});var k;const A=e=>(e=e.toLowerCase(),t=>R(t)===e),P=e=>t=>typeof t===e,{isArray:C}=Array,L=P("undefined");function j(e){return null!==e&&!L(e)&&null!==e.constructor&&!L(e.constructor)&&I(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const F=A("ArrayBuffer");const N=P("string"),I=P("function"),D=P("number"),U=e=>null!==e&&"object"==typeof e,V=e=>{if("object"!==R(e))return!1;const t=O(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||T in e||_ in e)},M=A("Date"),B=A("File"),q=A("Blob"),z=A("FileList"),H=A("URLSearchParams"),[G,W,$,J]=["ReadableStream","Request","Response","Headers"].map(A);function K(e,t,{allOwnKeys:r=!1}={}){if(null==e)return;let n,o;if("object"!=typeof e&&(e=[e]),C(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{if(j(e))return;const o=r?Object.getOwnPropertyNames(e):Object.keys(e),i=o.length;let s;for(n=0;n<i;n++)s=o[n],t.call(null,e[s],s,e)}}function Y(e,t){if(j(e))return null;t=t.toLowerCase();const r=Object.keys(e);let n,o=r.length;for(;o-- >0;)if(n=r[o],t===n.toLowerCase())return n;return null}const X="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Q=e=>!L(e)&&e!==X;const Z=(ee="undefined"!=typeof Uint8Array&&O(Uint8Array),e=>ee&&e instanceof ee);var ee;const te=A("HTMLFormElement"),re=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),ne=A("RegExp"),oe=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};K(r,(r,o)=>{let i;!1!==(i=t(r,o,e))&&(n[o]=i||r)}),Object.defineProperties(e,n)};const ie=A("AsyncFunction"),se=(ae="function"==typeof setImmediate,ce=I(X.postMessage),ae?setImmediate:ce?(ue=`axios@${Math.random()}`,le=[],X.addEventListener("message",({source:e,data:t})=>{e===X&&t===ue&&le.length&&le.shift()()},!1),e=>{le.push(e),X.postMessage(ue,"*")}):e=>setTimeout(e));var ae,ce,ue,le;const de="undefined"!=typeof queueMicrotask?queueMicrotask.bind(X):"undefined"!=typeof process&&process.nextTick||se,pe={isArray:C,isArrayBuffer:F,isBuffer:j,isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||I(e.append)&&("formdata"===(t=R(e))||"object"===t&&I(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&F(e.buffer),t},isString:N,isNumber:D,isBoolean:e=>!0===e||!1===e,isObject:U,isPlainObject:V,isEmptyObject:e=>{if(!U(e)||j(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(t){return!1}},isReadableStream:G,isRequest:W,isResponse:$,isHeaders:J,isUndefined:L,isDate:M,isFile:B,isBlob:q,isRegExp:ne,isFunction:I,isStream:e=>U(e)&&I(e.pipe),isURLSearchParams:H,isTypedArray:Z,isFileList:z,forEach:K,merge:function e(){const{caseless:t,skipUndefined:r}=Q(this)&&this||{},n={},o=(o,i)=>{const s=t&&Y(n,i)||i;V(n[s])&&V(o)?n[s]=e(n[s],o):V(o)?n[s]=e({},o):C(o)?n[s]=o.slice():r&&L(o)||(n[s]=o)};for(let i=0,s=arguments.length;i<s;i++)arguments[i]&&K(arguments[i],o);return n},extend:(e,t,r,{allOwnKeys:n}={})=>(K(t,(t,n)=>{r&&I(t)?e[n]=x(t,r):e[n]=t},{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,n)=>{let o,i,s;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],n&&!n(s,e,t)||a[s]||(t[s]=e[s],a[s]=!0);e=!1!==r&&O(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:R,kindOfTest:A,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return-1!==n&&n===r},toArray:e=>{if(!e)return null;if(C(e))return e;let t=e.length;if(!D(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[_]).call(e);let n;for(;(n=r.next())&&!n.done;){const r=n.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>{let r;const n=[];for(;null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:te,hasOwnProperty:re,hasOwnProp:re,reduceDescriptors:oe,freezeMethods:e=>{oe(e,(t,r)=>{if(I(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=e[r];I(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))})},toObjectSet:(e,t)=>{const r={},n=e=>{e.forEach(e=>{r[e]=!0})};return C(e)?n(e):n(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,r){return t.toUpperCase()+r}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:Y,global:X,isContextDefined:Q,isSpecCompliantForm:function(e){return!!(e&&I(e.append)&&"FormData"===e[T]&&e[_])},toJSONObject:e=>{const t=new Array(10),r=(e,n)=>{if(U(e)){if(t.indexOf(e)>=0)return;if(j(e))return e;if(!("toJSON"in e)){t[n]=e;const o=C(e)?[]:{};return K(e,(e,t)=>{const i=r(e,n+1);!L(i)&&(o[t]=i)}),t[n]=void 0,o}}return e};return r(e,0)},isAsyncFn:ie,isThenable:e=>e&&(U(e)||I(e))&&I(e.then)&&I(e.catch),setImmediate:se,asap:de,isIterable:e=>null!=e&&I(e[_])};function fe(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}pe.inherits(fe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:pe.toJSONObject(this.config),code:this.code,status:this.status}}});const he=fe.prototype,ge={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ge[e]={value:e}}),Object.defineProperties(fe,ge),Object.defineProperty(he,"isAxiosError",{value:!0}),fe.from=(e,t,r,n,o,i)=>{const s=Object.create(he);pe.toFlatObject(e,s,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e);const a=e&&e.message?e.message:"Error",c=null==t&&e?e.code:t;return fe.call(s,a,c,r,n,o),e&&null==s.cause&&Object.defineProperty(s,"cause",{value:e,configurable:!0}),s.name=e&&e.name||"Error",i&&Object.assign(s,i),s};const me=fe;function ye(e){return pe.isPlainObject(e)||pe.isArray(e)}function ve(e){return pe.endsWith(e,"[]")?e.slice(0,-2):e}function we(e,t,r){return e?e.concat(t).map(function(e,t){return e=ve(e),!r&&t?"["+e+"]":e}).join(r?".":""):t}const be=pe.toFlatObject(pe,{},null,function(e){return/^is[A-Z]/.test(e)});const Se=function(e,t,r){if(!pe.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const n=(r=pe.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!pe.isUndefined(t[e])})).metaTokens,o=r.visitor||u,i=r.dots,s=r.indexes,a=(r.Blob||"undefined"!=typeof Blob&&Blob)&&pe.isSpecCompliantForm(t);if(!pe.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(pe.isDate(e))return e.toISOString();if(pe.isBoolean(e))return e.toString();if(!a&&pe.isBlob(e))throw new me("Blob is not supported. Use a Buffer instead.");return pe.isArrayBuffer(e)||pe.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,r,o){let a=e;if(e&&!o&&"object"==typeof e)if(pe.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(pe.isArray(e)&&function(e){return pe.isArray(e)&&!e.some(ye)}(e)||(pe.isFileList(e)||pe.endsWith(r,"[]"))&&(a=pe.toArray(e)))return r=ve(r),a.forEach(function(e,n){!pe.isUndefined(e)&&null!==e&&t.append(!0===s?we([r],n,i):null===s?r:r+"[]",c(e))}),!1;return!!ye(e)||(t.append(we(o,r,i),c(e)),!1)}const l=[],d=Object.assign(be,{defaultVisitor:u,convertValue:c,isVisitable:ye});if(!pe.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!pe.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),pe.forEach(r,function(r,i){!0===(!(pe.isUndefined(r)||null===r)&&o.call(t,r,pe.isString(i)?i.trim():i,n,d))&&e(r,n?n.concat(i):[i])}),l.pop()}}(e),t};function xe(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function Ee(e,t){this._pairs=[],e&&Se(e,this,t)}const Oe=Ee.prototype;Oe.append=function(e,t){this._pairs.push([e,t])},Oe.toString=function(e){const t=e?function(t){return e.call(this,t,xe)}:xe;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};const _e=Ee;function Te(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Re(e,t,r){if(!t)return e;const n=r&&r.encode||Te;pe.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let i;if(i=o?o(t,r):pe.isURLSearchParams(t)?t.toString():new _e(t,r).toString(n),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const ke=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){pe.forEach(this.handlers,function(t){null!==t&&e(t)})}},Ae={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Pe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:_e,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ce="undefined"!=typeof window&&"undefined"!=typeof document,Le="object"==typeof navigator&&navigator||void 0,je=Ce&&(!Le||["ReactNative","NativeScript","NS"].indexOf(Le.product)<0),Fe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ne=Ce&&window.location.href||"http://localhost",Ie={...e,...Pe};const De=function(e){function t(e,r,n,o){let i=e[o++];if("__proto__"===i)return!0;const s=Number.isFinite(+i),a=o>=e.length;if(i=!i&&pe.isArray(n)?n.length:i,a)return pe.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!s;n[i]&&pe.isObject(n[i])||(n[i]=[]);return t(e,r,n[i],o)&&pe.isArray(n[i])&&(n[i]=function(e){const t={},r=Object.keys(e);let n;const o=r.length;let i;for(n=0;n<o;n++)i=r[n],t[i]=e[i];return t}(n[i])),!s}if(pe.isFormData(e)&&pe.isFunction(e.entries)){const r={};return pe.forEachEntry(e,(e,n)=>{t(function(e){return pe.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),n,r,0)}),r}return null};const Ue={transitional:Ae,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",n=r.indexOf("application/json")>-1,o=pe.isObject(e);o&&pe.isHTMLForm(e)&&(e=new FormData(e));if(pe.isFormData(e))return n?JSON.stringify(De(e)):e;if(pe.isArrayBuffer(e)||pe.isBuffer(e)||pe.isStream(e)||pe.isFile(e)||pe.isBlob(e)||pe.isReadableStream(e))return e;if(pe.isArrayBufferView(e))return e.buffer;if(pe.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Se(e,new Ie.classes.URLSearchParams,{visitor:function(e,t,r,n){return Ie.isNode&&pe.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)},...t})}(e,this.formSerializer).toString();if((i=pe.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Se(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||n?(t.setContentType("application/json",!1),function(e,t,r){if(pe.isString(e))try{return(t||JSON.parse)(e),pe.trim(e)}catch(n){if("SyntaxError"!==n.name)throw n}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||Ue.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(pe.isResponse(e)||pe.isReadableStream(e))return e;if(e&&pe.isString(e)&&(r&&!this.responseType||n)){const r=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e,this.parseReviver)}catch(o){if(r){if("SyntaxError"===o.name)throw me.from(o,me.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ie.classes.FormData,Blob:Ie.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};pe.forEach(["delete","get","head","post","put","patch"],e=>{Ue.headers[e]={}});const Ve=Ue,Me=pe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Be=Symbol("internals");function qe(e){return e&&String(e).trim().toLowerCase()}function ze(e){return!1===e||null==e?e:pe.isArray(e)?e.map(ze):String(e)}function He(e,t,r,n,o){return pe.isFunction(n)?n.call(this,t,r):(o&&(t=r),pe.isString(t)?pe.isString(n)?-1!==t.indexOf(n):pe.isRegExp(n)?n.test(t):void 0:void 0)}class Ge{constructor(e){e&&this.set(e)}set(e,t,r){const n=this;function o(e,t,r){const o=qe(t);if(!o)throw new Error("header name must be a non-empty string");const i=pe.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=ze(e))}const i=(e,t)=>pe.forEach(e,(e,r)=>o(e,r,t));if(pe.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(pe.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let r,n,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),r=e.substring(0,o).trim().toLowerCase(),n=e.substring(o+1).trim(),!r||t[r]&&Me[r]||("set-cookie"===r?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t})(e),t);else if(pe.isObject(e)&&pe.isIterable(e)){let r,n,o={};for(const t of e){if(!pe.isArray(t))throw TypeError("Object iterator must return a key-value pair");o[n=t[0]]=(r=o[n])?pe.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}i(o,t)}else null!=e&&o(t,e,r);return this}get(e,t){if(e=qe(e)){const r=pe.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}(e);if(pe.isFunction(t))return t.call(this,e,r);if(pe.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=qe(e)){const r=pe.findKey(this,e);return!(!r||void 0===this[r]||t&&!He(0,this[r],r,t))}return!1}delete(e,t){const r=this;let n=!1;function o(e){if(e=qe(e)){const o=pe.findKey(r,e);!o||t&&!He(0,r[o],o,t)||(delete r[o],n=!0)}}return pe.isArray(e)?e.forEach(o):o(e),n}clear(e){const t=Object.keys(this);let r=t.length,n=!1;for(;r--;){const o=t[r];e&&!He(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}normalize(e){const t=this,r={};return pe.forEach(this,(n,o)=>{const i=pe.findKey(r,o);if(i)return t[i]=ze(n),void delete t[o];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}(o):String(o).trim();s!==o&&delete t[o],t[s]=ze(n),r[s]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return pe.forEach(this,(r,n)=>{null!=r&&!1!==r&&(t[n]=e&&pe.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(e=>r.set(e)),r}static accessor(e){const t=(this[Be]=this[Be]={accessors:{}}).accessors,r=this.prototype;function n(e){const n=qe(e);t[n]||(!function(e,t){const r=pe.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})})}(r,e),t[n]=!0)}return pe.isArray(e)?e.forEach(n):n(e),this}}Ge.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),pe.reduceDescriptors(Ge.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}}),pe.freezeMethods(Ge);const We=Ge;function $e(e,t){const r=this||Ve,n=t||r,o=We.from(n.headers);let i=n.data;return pe.forEach(e,function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function Je(e){return!(!e||!e.__CANCEL__)}function Ke(e,t,r){me.call(this,null==e?"canceled":e,me.ERR_CANCELED,t,r),this.name="CanceledError"}pe.inherits(Ke,me,{__CANCEL__:!0});const Ye=Ke;function Xe(e,t,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new me("Request failed with status code "+r.status,[me.ERR_BAD_REQUEST,me.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}const Qe=function(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=n[s];o||(o=c),r[i]=a,n[i]=c;let l=s,d=0;for(;l!==i;)d+=r[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o<t)return;const p=u&&c-u;return p?Math.round(1e3*d/p):void 0}};const Ze=function(e,t){let r,n,o=0,i=1e3/t;const s=(t,i=Date.now())=>{o=i,r=null,n&&(clearTimeout(n),n=null),e(...t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=i?s(e,t):(r=e,n||(n=setTimeout(()=>{n=null,s(r)},i-a)))},()=>r&&s(r)]},et=(e,t,r=3)=>{let n=0;const o=Qe(50,250);return Ze(r=>{const i=r.loaded,s=r.lengthComputable?r.total:void 0,a=i-n,c=o(a);n=i;e({loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&i<=s?(s-i)/c:void 0,event:r,lengthComputable:null!=s,[t?"download":"upload"]:!0})},r)},tt=(e,t)=>{const r=null!=e;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},rt=e=>(...t)=>pe.asap(()=>e(...t)),nt=Ie.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,Ie.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(Ie.origin),Ie.navigator&&/(msie|trident)/i.test(Ie.navigator.userAgent)):()=>!0,ot=Ie.hasStandardBrowserEnv?{write(e,t,r,n,o,i){const s=[e+"="+encodeURIComponent(t)];pe.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),pe.isString(n)&&s.push("path="+n),pe.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function it(e,t,r){let n=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(n||0==r)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const st=e=>e instanceof We?{...e}:e;function at(e,t){t=t||{};const r={};function n(e,t,r,n){return pe.isPlainObject(e)&&pe.isPlainObject(t)?pe.merge.call({caseless:n},e,t):pe.isPlainObject(t)?pe.merge({},t):pe.isArray(t)?t.slice():t}function o(e,t,r,o){return pe.isUndefined(t)?pe.isUndefined(e)?void 0:n(void 0,e,0,o):n(e,t,0,o)}function i(e,t){if(!pe.isUndefined(t))return n(void 0,t)}function s(e,t){return pe.isUndefined(t)?pe.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function a(r,o,i){return i in t?n(r,o):i in e?n(void 0,r):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t,r)=>o(st(e),st(t),0,!0)};return pe.forEach(Object.keys({...e,...t}),function(n){const i=c[n]||o,s=i(e[n],t[n],n);pe.isUndefined(s)&&i!==a||(r[n]=s)}),r}const ct=e=>{const t=at({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:i,headers:s,auth:a}=t;if(t.headers=s=We.from(s),t.url=Re(it(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),pe.isFormData(r))if(Ie.hasStandardBrowserEnv||Ie.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(pe.isFunction(r.getHeaders)){const e=r.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(([e,r])=>{t.includes(e.toLowerCase())&&s.set(e,r)})}if(Ie.hasStandardBrowserEnv&&(n&&pe.isFunction(n)&&(n=n(t)),n||!1!==n&&nt(t.url))){const e=o&&i&&ot.read(i);e&&s.set(o,e)}return t},ut="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(t,r){const n=ct(e);let o=n.data;const i=We.from(n.headers).normalize();let s,a,c,u,l,{responseType:d,onUploadProgress:p,onDownloadProgress:f}=n;function h(){u&&u(),l&&l(),n.cancelToken&&n.cancelToken.unsubscribe(s),n.signal&&n.signal.removeEventListener("abort",s)}let g=new XMLHttpRequest;function m(){if(!g)return;const n=We.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());Xe(function(e){t(e),h()},function(e){r(e),h()},{data:d&&"text"!==d&&"json"!==d?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:n,config:e,request:g}),g=null}g.open(n.method.toUpperCase(),n.url,!0),g.timeout=n.timeout,"onloadend"in g?g.onloadend=m:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(m)},g.onabort=function(){g&&(r(new me("Request aborted",me.ECONNABORTED,e,g)),g=null)},g.onerror=function(t){const n=t&&t.message?t.message:"Network Error",o=new me(n,me.ERR_NETWORK,e,g);o.event=t||null,r(o),g=null},g.ontimeout=function(){let t=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const o=n.transitional||Ae;n.timeoutErrorMessage&&(t=n.timeoutErrorMessage),r(new me(t,o.clarifyTimeoutError?me.ETIMEDOUT:me.ECONNABORTED,e,g)),g=null},void 0===o&&i.setContentType(null),"setRequestHeader"in g&&pe.forEach(i.toJSON(),function(e,t){g.setRequestHeader(t,e)}),pe.isUndefined(n.withCredentials)||(g.withCredentials=!!n.withCredentials),d&&"json"!==d&&(g.responseType=n.responseType),f&&([c,l]=et(f,!0),g.addEventListener("progress",c)),p&&g.upload&&([a,u]=et(p),g.upload.addEventListener("progress",a),g.upload.addEventListener("loadend",u)),(n.cancelToken||n.signal)&&(s=t=>{g&&(r(!t||t.type?new Ye(null,e,g):t),g.abort(),g=null)},n.cancelToken&&n.cancelToken.subscribe(s),n.signal&&(n.signal.aborted?s():n.signal.addEventListener("abort",s)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(n.url);y&&-1===Ie.protocols.indexOf(y)?r(new me("Unsupported protocol "+y+":",me.ERR_BAD_REQUEST,e)):g.send(o||null)})},lt=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let r,n=new AbortController;const o=function(e){if(!r){r=!0,s();const t=e instanceof Error?e:this.reason;n.abort(t instanceof me?t:new Ye(t instanceof Error?t.message:t))}};let i=t&&setTimeout(()=>{i=null,o(new me(`timeout ${t} of ms exceeded`,me.ETIMEDOUT))},t);const s=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)}),e=null)};e.forEach(e=>e.addEventListener("abort",o));const{signal:a}=n;return a.unsubscribe=()=>pe.asap(s),a}},dt=function*(e,t){let r=e.byteLength;if(!t||r<t)return void(yield e);let n,o=0;for(;o<r;)n=o+t,yield e.slice(o,n),o=n},pt=async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:r}=await t.read();if(e)break;yield r}}finally{await t.cancel()}},ft=(e,t,r,n)=>{const o=async function*(e,t){for await(const r of pt(e))yield*dt(r,t)}(e,t);let i,s=0,a=e=>{i||(i=!0,n&&n(e))};return new ReadableStream({async pull(e){try{const{done:t,value:n}=await o.next();if(t)return a(),void e.close();let i=n.byteLength;if(r){let e=s+=i;r(e)}e.enqueue(new Uint8Array(n))}catch(t){throw a(t),t}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},{isFunction:ht}=pe,gt=(({Request:e,Response:t})=>({Request:e,Response:t}))(pe.global),{ReadableStream:mt,TextEncoder:yt}=pe.global,vt=(e,...t)=>{try{return!!e(...t)}catch(r){return!1}},wt=e=>{e=pe.merge.call({skipUndefined:!0},gt,e);const{fetch:t,Request:r,Response:n}=e,o=t?ht(t):"function"==typeof fetch,i=ht(r),s=ht(n);if(!o)return!1;const a=o&&ht(mt),c=o&&("function"==typeof yt?(u=new yt,e=>u.encode(e)):async e=>new Uint8Array(await new r(e).arrayBuffer()));var u;const l=i&&a&&vt(()=>{let e=!1;const t=new r(Ie.origin,{body:new mt,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),d=s&&a&&vt(()=>pe.isReadableStream(new n("").body)),p={stream:d&&(e=>e.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!p[e]&&(p[e]=(t,r)=>{let n=t&&t[e];if(n)return n.call(t);throw new me(`Response type '${e}' is not supported`,me.ERR_NOT_SUPPORT,r)})});const f=async(e,t)=>{const n=pe.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(pe.isBlob(e))return e.size;if(pe.isSpecCompliantForm(e)){const t=new r(Ie.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return pe.isArrayBufferView(e)||pe.isArrayBuffer(e)?e.byteLength:(pe.isURLSearchParams(e)&&(e+=""),pe.isString(e)?(await c(e)).byteLength:void 0)})(t):n};return async e=>{let{url:o,method:s,data:a,signal:c,cancelToken:u,timeout:h,onDownloadProgress:g,onUploadProgress:m,responseType:y,headers:v,withCredentials:w="same-origin",fetchOptions:b}=ct(e),S=t||fetch;y=y?(y+"").toLowerCase():"text";let x=lt([c,u&&u.toAbortSignal()],h),E=null;const O=x&&x.unsubscribe&&(()=>{x.unsubscribe()});let _;try{if(m&&l&&"get"!==s&&"head"!==s&&0!==(_=await f(v,a))){let e,t=new r(o,{method:"POST",body:a,duplex:"half"});if(pe.isFormData(a)&&(e=t.headers.get("content-type"))&&v.setContentType(e),t.body){const[e,r]=tt(_,et(rt(m)));a=ft(t.body,65536,e,r)}}pe.isString(w)||(w=w?"include":"omit");const t=i&&"credentials"in r.prototype,c={...b,signal:x,method:s.toUpperCase(),headers:v.normalize().toJSON(),body:a,duplex:"half",credentials:t?w:void 0};E=i&&new r(o,c);let u=await(i?S(E,b):S(o,c));const h=d&&("stream"===y||"response"===y);if(d&&(g||h&&O)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=u[t]});const t=pe.toFiniteNumber(u.headers.get("content-length")),[r,o]=g&&tt(t,et(rt(g),!0))||[];u=new n(ft(u.body,65536,r,()=>{o&&o(),O&&O()}),e)}y=y||"text";let T=await p[pe.findKey(p,y)||"text"](u,e);return!h&&O&&O(),await new Promise((t,r)=>{Xe(t,r,{data:T,headers:We.from(u.headers),status:u.status,statusText:u.statusText,config:e,request:E})})}catch(T){if(O&&O(),T&&"TypeError"===T.name&&/Load failed|fetch/i.test(T.message))throw Object.assign(new me("Network Error",me.ERR_NETWORK,e,E),{cause:T.cause||T});throw me.from(T,T&&T.code,e,E)}}},bt=new Map,St=e=>{let t=e?e.env:{};const{fetch:r,Request:n,Response:o}=t,i=[n,o,r];let s,a,c=i.length,u=bt;for(;c--;)s=i[c],a=u.get(s),void 0===a&&u.set(s,a=c?new Map:wt(t)),u=a;return a},xt=(St(),{http:null,xhr:ut,fetch:{get:St}});pe.forEach(xt,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(r){}Object.defineProperty(e,"adapterName",{value:t})}});const Et=e=>`- ${e}`,Ot=e=>pe.isFunction(e)||null===e||!1===e,_t=(e,t)=>{e=pe.isArray(e)?e:[e];const{length:r}=e;let n,o;const i={};for(let s=0;s<r;s++){let r;if(n=e[s],o=n,!Ot(n)&&(o=xt[(r=String(n)).toLowerCase()],void 0===o))throw new me(`Unknown adapter '${r}'`);if(o&&(pe.isFunction(o)||(o=o.get(t))))break;i[r||"#"+s]=o}if(!o){const e=Object.entries(i).map(([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));let t=r?e.length>1?"since :\n"+e.map(Et).join("\n"):" "+Et(e[0]):"as no adapter specified";throw new me("There is no suitable adapter to dispatch the request "+t,"ERR_NOT_SUPPORT")}return o};function Tt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function Rt(e){Tt(e),e.headers=We.from(e.headers),e.data=$e.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return _t(e.adapter||Ve.adapter,e)(e).then(function(t){return Tt(e),t.data=$e.call(e,e.transformResponse,t),t.headers=We.from(t.headers),t},function(t){return Je(t)||(Tt(e),t&&t.response&&(t.response.data=$e.call(e,e.transformResponse,t.response),t.response.headers=We.from(t.response.headers))),Promise.reject(t)})}const kt="1.12.2",At={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{At[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Pt={};At.transitional=function(e,t,r){function n(e,t){return"[Axios v"+kt+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,o,i)=>{if(!1===e)throw new me(n(o," has been removed"+(t?" in "+t:"")),me.ERR_DEPRECATED);return t&&!Pt[o]&&(Pt[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}},At.spelling=function(e){return(t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};const Ct={assertOptions:function(e,t,r){if("object"!=typeof e)throw new me("options must be an object",me.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const i=n[o],s=t[i];if(s){const t=e[i],r=void 0===t||s(t,i,e);if(!0!==r)throw new me("option "+i+" must be "+r,me.ERR_BAD_OPTION_VALUE);continue}if(!0!==r)throw new me("Unknown option "+i,me.ERR_BAD_OPTION)}},validators:At},Lt=Ct.validators;class jt{constructor(e){this.defaults=e||{},this.interceptors={request:new ke,response:new ke}}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let e={};Error.captureStackTrace?Error.captureStackTrace(e):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";try{r.stack?t&&!String(r.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(r.stack+="\n"+t):r.stack=t}catch(n){}}throw r}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=at(this.defaults,t);const{transitional:r,paramsSerializer:n,headers:o}=t;void 0!==r&&Ct.assertOptions(r,{silentJSONParsing:Lt.transitional(Lt.boolean),forcedJSONParsing:Lt.transitional(Lt.boolean),clarifyTimeoutError:Lt.transitional(Lt.boolean)},!1),null!=n&&(pe.isFunction(n)?t.paramsSerializer={serialize:n}:Ct.assertOptions(n,{encode:Lt.function,serialize:Lt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Ct.assertOptions(t,{baseUrl:Lt.spelling("baseURL"),withXsrfToken:Lt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&pe.merge(o.common,o[t.method]);o&&pe.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),t.headers=We.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach(function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))});const c=[];let u;this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,d=0;if(!a){const e=[Rt.bind(this),void 0];for(e.unshift(...s),e.push(...c),l=e.length,u=Promise.resolve(t);d<l;)u=u.then(e[d++],e[d++]);return u}l=s.length;let p=t;for(;d<l;){const e=s[d++],t=s[d++];try{p=e(p)}catch(f){t.call(this,f);break}}try{u=Rt.call(this,p)}catch(f){return Promise.reject(f)}for(d=0,l=c.length;d<l;)u=u.then(c[d++],c[d++]);return u}getUri(e){return Re(it((e=at(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}pe.forEach(["delete","get","head","options"],function(e){jt.prototype[e]=function(t,r){return this.request(at(r||{},{method:e,url:t,data:(r||{}).data}))}}),pe.forEach(["post","put","patch"],function(e){function t(t){return function(r,n,o){return this.request(at(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}jt.prototype[e]=t(),jt.prototype[e+"Form"]=t(!0)});const Ft=jt;class Nt{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const r=this;this.promise.then(e=>{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null}),this.promise.then=e=>{let t;const n=new Promise(e=>{r.subscribe(e),t=e}).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e(function(e,n,o){r.reason||(r.reason=new Ye(e,n,o),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Nt(function(t){e=t}),cancel:e}}}const It=Nt;const Dt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Dt).forEach(([e,t])=>{Dt[t]=e});const Ut=Dt;const Vt=function e(t){const r=new Ft(t),n=x(Ft.prototype.request,r);return pe.extend(n,Ft.prototype,r,{allOwnKeys:!0}),pe.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(at(t,r))},n}(Ve);Vt.Axios=Ft,Vt.CanceledError=Ye,Vt.CancelToken=It,Vt.isCancel=Je,Vt.VERSION=kt,Vt.toFormData=Se,Vt.AxiosError=me,Vt.Cancel=Vt.CanceledError,Vt.all=function(e){return Promise.all(e)},Vt.spread=function(e){return function(t){return e.apply(null,t)}},Vt.isAxiosError=function(e){return pe.isObject(e)&&!0===e.isAxiosError},Vt.mergeConfig=at,Vt.AxiosHeaders=We,Vt.formToJSON=e=>De(pe.isHTMLForm(e)?new FormData(e):e),Vt.getAdapter=_t,Vt.HttpStatusCode=Ut,Vt.default=Vt;const Mt=Vt;var Bt=r(44475);const qt={eventSent:!1,registrationSent:!1,loginSent:!1,height:500,width:460,isNewsletterSignup:!1,init(){window.screen.width<460&&(this.width=window.screen.width),Bt(document).on("click",".piano-id__register",e=>{e.preventDefault(),this.isNewsletterSignup=!0,Bt.cookie("reg_return_url",window.location.pathname,{expires:1,path:"/;SameSite=Lax",domain:window.data_layer.site.cookie_domain}),this.register()}),Bt(document).on("click",".piano-id__login",e=>{e.preventDefault(),this.login()}),Bt(document).on("click",".piano-id__logout",e=>{e.preventDefault(),this.logout()}),Bt("#piano-id-logout").on("click",e=>{e.preventDefault(),this.logout()}),Bt(document).on("click",".piano-user-link",()=>{this.isNewsletterSignup=!0,Bt.cookie("reg_return_url",window.location.pathname,{expires:1,path:"/;SameSite=Lax",domain:window.data_layer.site.cookie_domain})}),-1!==document.cookie.indexOf("newsletterSignUpBulletins")&&(this.isNewsletterSignup=!0),Bt(document).on("click",".newsletter-option",()=>{this.checkNewsletters()}),-1!==document.cookie.indexOf("reg_newsletters")&&(this.isNewsletterSignup=!0)},reloadPage(){y.log("AA: Would reload this page"),window.setTimeout(()=>{window.location.reload()},1e3)},login(){y.log("TPM: login function called"),window.tp.pianoId.show({screen:"login",displayMode:"modal",loggedIn:()=>{y.log("TPM: login callback called"),this.loggedIn()},loggedOut:()=>{},registrationSuccess:()=>{y.log("TPM: registeredSuccess callback called"),this.registered()},width:this.width,height:this.height})},register(){window.tp.pianoId.show({screen:"register",displayMode:"modal",loggedIn:()=>{y.log("TPM: logloggedInin callback called"),this.loggedIn(!0)},loggedOut:()=>{},registrationSuccess:()=>{y.log("TPM: registrationSuccess callback called"),this.registered()},width:this.width,height:this.height})},logout(){try{window.tp.pianoId.logout(),Bt.removeCookie("nq_al",{path:"/",domain:window.data_layer.site.cookie_domain}),this.logOutOfViafoura(),this.reloadPage()}catch(e){y.log("Error piano-id.logout",e)}},loggedIn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];y.log("AA: login method triggered, have we sent a login event already? ".concat(this.loginSent,"\n            Is this from a registration? ").concat(e)),this.loginSent?this.redirectUser(!0):(this.raiseLaunchEvent("user-has-logged-in"),this.loginSent=!0,this.sendToAdobe("event8"),e||(this.loginUser(),this.redirectUser(!0)))},registered(){y.log("AA: registered method triggered, have we sent a registration event already? ".concat(this.registrationSent)),this.registrationSent||(this.sendToAdobe("event3"),this.raiseLaunchEvent("user-has-registered"),this.registerUser(),this.registrationSent=!0,this.redirectUser())},async registerUser(){await Mt.get("/api/user/create-id/")},async loginUser(){await Mt.get("/api/user/login-id/")},sendToAdobe(e){if(y.log("AA: sending ".concat(e)),this.eventSent)return;const t=window.s;t.eVar2=window.location.href,t.pageName="(www) ".concat(window.location.pathname),t.events=e,t.linkTrackEvents=e;try{t.tl()}catch(r){}t.ignoreNext=!0},redirectToPage(e){y.log("AA: Would redirect to ".concat(e)),window.setTimeout(()=>{window.location=e},1e3)},checkNewsletters(){let e="";document.querySelectorAll(".newsletter-option:checked").forEach(t=>{""!==e&&(e+=","),e+=Bt(t).val()}),""!==e&&Bt.cookie("newsletterSignUpBulletins",e,{expires:1,path:"/",domain:window.data_layer.site.cookie_domain})},redirectUser(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("yes"===window.data_layer.site.disable_newsletters)return document.location.pathname.indexOf("account/login")>0?void this.redirectToPage("/"):void this.reloadPage();!0!==this.isNewsletterSignup&&!0!==this.isTopNavigation||!1!==e?document.location.pathname.indexOf("account/register")>0&&!1===e?this.redirectToPage("/my/account/profile/#emails"):document.location.pathname.indexOf("account/login")>0?this.redirectToPage("/"):this.reloadPage():this.redirectToPage("/my/account/profile/#emails")},raiseLaunchEvent(e){y.log("launch:piano:".concat(e," has been dispatched"));const t=new Event("launch:piano:".concat(e));window.dispatchEvent(t)},logOutOfViafoura(){}};var zt=r(44475);const Ht={commentsModalSelector:"article-comments__interrupt-modal-content",init(){window.addEventListener("message",e=>{const t=e.data;switch(t.src){case"send-email":this.handleEmail(t);break;case"expand-window":this.expandWindow();break;case"close-bottom-banner":case"close-fixed-banner":this.closeBottomBanner();break;case"login":this.login(t);break;case"register":this.register(t);break;case"open-comments-modal":this.showCommentsModal();break;case"sign-up":this.signUp(t);break;case"login-modal":this.loginModal();break;case"register-modal":this.registerModal();break;case"start-checkout":this.showOffer(t);break;case"close-partial-article":this.closePartialArticle();break;case"close-fullarticle":this.closeFullArticle();break;case"student-beans-modal":this.openStudentBeansModal()}})},closeBottomBanner(){zt("#bottom-expandable-wrapper").hide()},async handleEmail(e){const t={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"email=".concat(e.email)},r=await fetch("/api/user/register-with-email/",t),n=await r.json();if(void 0!==n.success&&!0===n.success)return qt.sendToAdobe("event3"),void(window.location="/my/account/profile/#emails");void 0===n.redirect?window.location="/my/account/log-in/?newsletter_signup=1":window.location=n.redirect},expandWindow(){window.$("#bottom-expandable-wrapper").toggleClass("open")},login(e){zt.cookie("reg_return_url",window.location.pathname,{expires:1,path:"/;SameSite=Lax"}),window.location="/my/account/log-in/?cmpid=".concat(e.cmpid)},register(e){zt.cookie("reg_return_url",window.location.pathname,{expires:1,path:"/;SameSite=Lax"}),zt.cookie("reg_newsletters",!0,{expires:1,path:"/"}),window.location="/my/account/register/?cmpid=".concat(e.cmpid,"&newsletter_signup=1")},async showCommentsModal(){const e=document.getElementById(this.commentsModalSelector);if(e){const t=e.innerHTML;await b.open({size:b.modalVariants[1],heading:"Subscriber Comments",content:t,btnElement:null}),b.bind()}},async signUp(e){if("yes"===window.data_layer.user.is_logged_in)return void this.signUpLoggedIn(e.newsletter_id);const t=e.email,r=e.newsletter_id;if(t)try{const e={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"email=".concat(t,"&newsletter_id=").concat(r)};await fetch("/api/user/register-with-newsletter/",e),S.trackNewsletterSubscription(S.Events.NewsletterSubscription.Subscribed)}catch(n){y.log(n)}},async signUpLoggedIn(e){try{const t={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"bulletin_id=".concat(e)};await fetch("/api/user/bulletin-subscription/",t),S.trackNewsletterSubscription(S.Events.NewsletterSubscription.Subscribed)}catch(t){y.log(t)}},loginModal(){qt.login()},registerModal(){qt.register()},setLts(e){const t=window.s;t.events="event89",t.eVar79=e,t.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar7,eVar16,eVar19,eVar25,eVar26,eVar28,eVar59,eVar60,eVar61,eVar62,eVar79,eVar80,prop63,list3,events",t.suppressPageView=!0,t.linkTrackEvents="event89",t.tl(!0,"o","Non Meter LtS Score")},setLtsHighShowingGate(){const e=window.s;e.eVar59="T1 / Inline / Interrupt for Premium Content / 2021 (1)",e.events="event5",e.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3, events",e.linkTrackEvents="event5",e.tl(document,"o","Metered Access Notice")},showOffer(e){const t={templateId:e.templateId,termId:e.termId,offerId:e.offerId,displayMode:"modal",checkoutFlowId:e.checkoutFlowId};""!==e.templateVariantId&&(t.templateVariantId=e.templateVariantId),window.tp.offer.startCheckout(t)},closePartialArticle(){zt("#po-inline-articlewall-partialarticle-closable").css("display","none"),zt("#po-inline-articlegate-partialarticle").css("display","block")},closeFullArticle(){zt("#po-inline-articlewall-fullarticle-closable").css("display","none"),zt("#po-inline-articlegate-fullarticle").css("display","block")},openStudentBeansModal(){window.data_layer_helper.loadScript("https://cdn.studentbeans.com/third-party/all.js",!0,"stb_root");let e="the-herald";"1106"===window.data_layer.site.id&&(e="the-national"),b.open({size:b.modalVariants[1],content:'<div id="stb-connect" data-connect="'.concat(e,'/uk"></div>'),btnElement:null})},async setContentScore(e){if(""!==window.data_layer.article.cscore)return;const t=window.data_layer.article.id;try{const r=await fetch("/api/articles/".concat(t,"/cscore/"),{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({cscore:e})}),n=await r.json();if(200===r.status&&!0===n.success){const t=window.s;t.eVar116=e,t.events="event88",t.linkTrackVars="eVar2,eVar4,eVar5,eVar6,eVar7,eVar16,eVar19,eVar25,eVar26,eVar28,eVar59,eVar60,eVar61,eVar62,eVar79,eVar80,eVar116,prop63,list3,events",t.linkTrackEvents="event88",t.tl(!0,"o","Cscore Capture")}}catch(r){y(r)}}},Gt={queryString:null,get(e){return null===this.queryString&&this.decode(),e.indexOf("[")>1?this.queryString.getAll(e):this.queryString.get(e)},decode(e){let t=e;return void 0===t&&(t=window.location.search.slice(1)),this.queryString=new URLSearchParams(t),this.queryString},encode(){return this.queryString.toString()},stringify:e=>"?".concat(Object.entries(e).map(e=>e.join("=")).join("&")),set(e,t){e.indexOf("[")>1?this.queryString.append(e,t):this.queryString.set(e,t)},delete(e){this.queryString.delete(e)}},Wt={subscriptions:null,showcaseDomain:"",templateId:"",templateVariantId:"",uniqueId:"",registeredTimestamp:"",load(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.subscriptions=e,this.showcaseDomain=t,this.templateId=r,this.templateVariantId=n,this.uniqueId=o,this.registeredTimestamp=i,y.log("Extended Metering: Loaded for ".concat(t,":showcase")),e.init("".concat(t,":showcase")),e.setOnLoginRequest(()=>{qt.login()}),e.setOnNativeSubscribeRequest(()=>{document.location="/subscribe/?ref=extendedmetering"})},showGoogleRegWall(){y.log("Extended Metering: Showing Reg Wall with an iframe of https://www.".concat(this.showcaseDomain,"/showcase.html")),window.GaaMeteringRegwall.show({iframeUrl:"https://www.".concat(this.showcaseDomain,"/showcase.html")}).then(e=>{this.registerShowcaseUser(e)}).catch(e=>{y.log("Extended Metering: Reg wall failed with an error object of ",e)})},userIsSubscriber(){y.log("Extended Metering: User is Subbed"),this.subscriptions.setShowcaseEntitlement({entitlement:"EVENT_SHOWCASE_UNLOCKED_BY_SUBSCRIPTION",isUserRegister:!0})},userHasGateAccess(){y.log("Extended Metering: Meter not expired"),this.subscriptions.setShowcaseEntitlement({entitlement:"EVENT_SHOWCASE_UNLOCKED_BY_METER",isUserRegister:"yes"===window.data_layer.user.is_logged_in})},articleNotGated(){y.log("Extended Metering: Article is not gated"),this.subscriptions.setShowcaseEntitlement({entitlement:"EVENT_SHOWCASE_UNLOCKED_FREE_PAGE",isUserRegister:"yes"===window.data_layer.user.is_logged_in})},triggerGoogleGate(){if(y.log("Extended Metering: Loading Google Gate"),"yes"!==window.data_layer.user.is_logged_in)return void this.showGoogleRegWall();const e=this.getUserStateObj();y.log("Extended Metering: UserState",e),this.subscriptions.getEntitlements(e).then(e=>{y.log("Extended Metering: Entitlements object",e),e.enablesThisWithGoogleMetering()?e.consume(()=>{}):this.subscriptions.setShowcaseEntitlement({entitlement:"EVENT_SHOWCASE_NO_ENTITLEMENTS_PAYWALL",isUserRegister:!0})})},async registerShowcaseUser(e){y.log("Extended Metering: User data:",e);const t={headers:{"content-type":"application/x-www-form-urlencoded;charset=utf-8"}},r=new FormData;r.set("google_id",e.idToken);let n=null;try{n=await Mt.post("/api/user/google/showcase/create/",r,t)}catch(o){return void y.log("Creation failed",o)}this.uniqueId=n.unique_id,this.registeredTimestamp=n.date_registered,window.data_layer.user.is_logged_in="yes"},getUserStateObj(){return{metering:{state:{id:this.uniqueId,standardAttributes:{registered_user:{timestamp:this.registeredTimestamp}}}}}},checkShowcaseReferrer(){if(!Gt.get("gaa_at"))return!1;if(!Gt.get("gaa_n"))return y.log("SwG Entitlements: The `gaa_n` URL param is missing."),!1;if(!Gt.get("gaa_sig"))return y.log("SwG Entitlements: The `gaa_sig` URL param is missing."),!1;if(!Gt.get("gaa_ts"))return y.log("SwG Entitlements: The `gaa_ts` URL param is missing."),!1;if(parseInt(Gt.get("gaa_ts"),16)<Date.now()/1e3)return y.log("SwG Entitlements: The `gaa_ts` URL param should contain a hex string timestamp which points to the future."),!1;const e=document.createElement("a");e.href=document.referrer;const t=e.hostname;return"https"===t.protocol&&/(^|\.)google\.(com?|[a-z]{2}|com?\.[a-z]{2}|cat)$/.test(t.hostname)||y.log("SwG Entitlements: This page's referrer (\"".concat(t.origin,"\") can't\n                grant Google Article Access. Real publications should bail if this\n                referrer check fails.")),!0}};var $t=r(44475);const Jt={isArticleState:!1,cookieDomain:null,moduleType:"",localInfoVirtualFolder:"",homesData:"",primaryDomain:"",path:"",googleNetworkCode:0,articleTimestamp:0,setModuleType(e){this.moduleType=e},setLocalInfoFolder(e){this.localInfoVirtualFolder=e},setHomesData(e,t,r,n){const o={hmsbmn:e,hmsl:n,hmspmn:t,hmspmx:r};this.homesData=o},setIsArticle(e){this.isArticleState=e},setCookieDomain(e){this.cookieDomain=e},setPrimaryDomain(e){this.primaryDomain=e},setPath(e){this.path=e},setArticleTimestamp(e){Number.isNaN(parseInt(e,10))||(this.articleTimestamp=e)},setGoogleNetworkCode(e){this.googleNetworkCode=e},storeCurrentPageName(e){const t=new Date;t.setMinutes(t.getMinutes()+30),$t.cookie("nq_prev_page",e,{expires:t,path:"/",domain:this.cookieDomain})},getReferrerHostName(){const e=document.referrer,t=document.createElement("a");return t.href=e,t.hostname},getAccount:()=>0===document.location.pathname.indexOf("/admin")?"newsquestgroupadmindev":"newsquestgroupprod",isMobileScreen:()=>window.screen.width<728,isArticle(){return this.isArticleState},itemFromObject:(e,t)=>"object"==typeof t&&void 0!==t[e]?decodeURIComponent(t[e]):"",getGoogleId(){let e="/".concat(this.googleNetworkCode,"/").concat(this.primaryDomain).concat(this.path);return"/"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},getPathFragment(e,t){let r=this.moduleType;const n=this.localInfoVirtualFolder,o=document.location.pathname.toString();(r.indexOf("Block")>-1||"NationalNewsModule"===r)&&(r="ArticleModule");const i=o.substring(1,o.length-1),s=i.split("/");if(!0===t){if("/"===i)return 0===e?"homepage":"";const t=[];for(let e=0;e<4;e++)void 0===s[e]||s[e].match(/[0-9]+\./)||t.push(s[e]);return void 0===t[e]?"":t[e]}s[-1]="";for(let u=0;u<4;u++)void 0===s[u]&&(s[u]=""),""===s[u]||"ArticleModule"===r&&s[u].match(/[0-9]+\./)&&this.isArticleState?s[u]=s[u-1]:u>0&&(s[u]="".concat(s[u-1],"/").concat(s[u]));"/"===o&&(s[0]="homepage",s[1]="homepage",s[2]="homepage",s[3]="homepage");let a=o.match(/(\w+)\.(in|near|compare)\.([,a-zA-Z0-9 _-]+)[/]?$/);const c=o.match(/(\w+)\.detail\.(.*)$/);return null!==c&&c.length>1&&(a=c),null!==a&&a.length>1&&(s[0]="li",s[1]="li/".concat(n),s[2]="li/".concat(n,"/").concat(a[1]),s[3]="li/".concat(n,"/").concat(a[1])),s[e].toLowerCase()},getOmniturePath(){let e="";return e=1===$t("#gallery-base-url").length?$t("#gallery-base-url").val():window.location.pathname,e},getTrackingFromCookie(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const r=this.getCookie(e);return r||t},getConsentString(){const e=[];return this.getCookie("consentUUID")?e.push("yes"):e.push("no"),"true"===this.getCookie("_sp_enable_dfp_personalized_ads")?e.push("yes"):"false"===this.getCookie("_sp_enable_dfp_personalized_ads")?e.push("no"):e.push("none"),e.join(",")},getDayOfWeek(){const e=new Date,t=[];t[0]="Sunday",t[1]="Monday",t[2]="Tuesday",t[3]="Wednesday",t[4]="Thursday",t[5]="Friday",t[6]="Saturday";return t[e.getDay()]},getAutoPlay:e=>"yes"===e&&"/"!==window.location.pathname?"yes":"no",getArticleAge(){const e=this.articleTimestamp;if(0===e)return"";const t=parseInt(e,10),r=(new Date).getTime()/1e3;return Math.round((r-t)/60)},getSource(e){if(""===e)return"martini";switch(parseInt(e,10)){case"6":return"knowledge";case"8":return"press association";case"17":return"uefa";case"18":return"jpi";default:return"martini"}},getCookie(e){const t=$t.cookie(e);return t||""},getDevice(){const e=new MobileDetect(window.navigator.userAgent);return null!==e.phone()?"phone":null!==e.tablet()?"tablet":"desktop"},getMobileDevice:()=>null!==new MobileDetect(window.navigator.userAgent).phone()?"yes":"no",getTabletDevice:()=>null!==new MobileDetect(window.navigator.userAgent).tablet()?"yes":"no",getSourcepointAdbockStatus:()=>void 0===$t.cookie("nqab")?"unknown":"true"===$t.cookie("nqab")?"yes":"no",getSubscriptionGateway:(e,t)=>e?"sagepay":t?"piano":"",getSubscriptionLevel:(e,t)=>e?"subscribed":t?"registered":"annonymous",getPianoTags(e){const t=this.moduleType,r=[];return r.push("martini"),r.push(t),r.push(e.piano_domain),""!==e.piano_master&&r.push("master_".concat(e.master)),e.breaking_news&&r.push("content_is_breaking"),e.editorial_opinion&&r.push("content_is_editorial_opinion"),e.free_subscriber&&r.push("free_subscriber"),e.has_video&&r.push("content_has_video"),e.is_alist&&r.push("user_is_alist"),e.is_article&&(r.push("content_is_article"),""!==e.article_content_level&&r.push("content_level_".concat(e.article_content_level)),e.article_content_level_open_access&&r.push("content_level_openaccess_override"),e.picture_gallery_id&&r.push("content_has_gallery")),e.user_is_newsquest&&"yes"!==$t.cookie("nq-show-piano-viewer")&&r.push("user_is_newsquest"),e.user_logged_in&&r.push("user_is_logged_in"),e.is_live_article&&r.push("content_is_live_article"),""!==e.why_free_subscriber&&r.push(e.why_free_subscriber),e.is_covid_headline&&r.push("headline_has_covid"),e.is_covid_body&&r.push("article_has_covid"),e.is_covid_body&&e.is_covid_headline&&r.push("content_is_covid"),e.audio_provider_bytecast&&r.push("has-audio"),r.push("user_".concat(this.getDevice())),e.extra_tags.length>0&&e.extra_tags.forEach(e=>{r.push(e)}),r},loadScript(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const n=document.createElement("script"),o=document.getElementsByTagName("body")[0];n.type="text/javascript",n.async=t,n.src=e,"string"==typeof r&&(n.id=r),o.parentNode.insertBefore(n,o)},getCmpDate(){const e=new Date;let t=e.getDate().toString();1===t.length&&(t="0".concat(t));let r=(e.getMonth()+1).toString();1===r.length&&(r="0".concat(r));return t+r+e.getFullYear().toString()},getRestrictedContent:(e,t,r,n)=>0===parseInt(e,10)||229===parseInt(t,10)||229===parseInt(r,10)||n.length>1?"no":"yes",untrackedPuzzleCheck(){return this.getCookie("puzzle_last_visited")?"yes":"no"}};var Kt=r(38212);window.AudienceProjectData=m,window.advertisingTimer=w,window.data_layer_helper=Jt,window.qs=Gt,window.extendedMetering=Wt,window.pianoListener=Ht,window.isRobot=Kt.h})()})();