{ "version": 3, "sources": ["../../../node_modules/mobile-detect/mobile-detect.js", "../../../node_modules/spark-md5/spark-md5.js", "../../../node_modules/react-dom/client.js", "../../../packages/apps/click-app/web/src/index.tsx", "stylePlugin:/builds/bluezinc/core/web/packages/apps/click-app/web/src/base.css", "../../../packages/apps/click-app/web/src/App.tsx", "../../../packages/controls/bz-core-controls/utils/reflect-metadata.ts", "stylePlugin:/builds/bluezinc/core/web/packages/apps/click-app/web/src/App.css", "../../../packages/shared/bz-utilities/global/index.tsx", "../../../packages/shared/bz-utilities/global/array/index.tsx", "../../../packages/shared/bz-utilities/global/date/index.tsx", "../../../packages/shared/bz-utilities/global/function/index.tsx", "../../../packages/shared/bz-utilities/global/number/index.tsx", "../../../packages/shared/bz-utilities/global/object/index.tsx", "../../../packages/shared/bz-utilities/functions/pick.tsx", "../../../packages/shared/bz-utilities/global/regex/index.tsx", "../../../packages/shared/bz-utilities/global/set/index.tsx", "../../../packages/shared/bz-utilities/global/string/index.tsx", "../../../packages/shared/bz-utilities/global/window/index.tsx", "../../../packages/controls/bz-core-controls/styles/theme/index.tsx", "../../../packages/controls/bz-core-controls/styles/theme/store/theme/index.tsx", "../../../packages/controls/bz-core-controls/styles/theme/hooks/theme/index.tsx", "../../../packages/shared/bz-utilities/modules/version-check/index.tsx", "../../../app/lib/hooks/useInterval/index.tsx", "../../../packages/features/core/analytics/june/context.tsx", "../../../packages/features/core/analytics/june/hook.tsx", "../../../node_modules/@june-so/analytics-next/src/core/arguments-resolver/index.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/validation/index.ts", "../../../node_modules/@segment/analytics-core/src/utils/group-by.ts", "../../../node_modules/@segment/analytics-core/src/task/task-group.ts", "../../../node_modules/@segment/analytics-core/src/utils/is-thenable.ts", "../../../node_modules/@segment/analytics-core/src/connection/index.ts", "../../../node_modules/@segment/analytics-core/src/utils/environment.ts", "../../../node_modules/@segment/analytics-core/src/queue/event-queue.ts", "../../../node_modules/@segment/analytics-core/src/analytics/dispatch.ts", "../../../node_modules/@june-so/analytics-next/src/core/events/index.ts", "../../../node_modules/@june-so/analytics-next/src/core/queue/event-queue.ts", "../../../node_modules/@june-so/analytics-next/src/core/analytics/index.ts", "../../../node_modules/@june-so/analytics-next/src/lib/get-process-env.ts", "../../../node_modules/@june-so/analytics-next/src/lib/create-deferred.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/page-enrichment/index.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/remote-loader/index.ts", "../../../node_modules/@june-so/analytics-next/src/lib/on-page-leave.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/segmentio/batched-dispatcher.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/segmentio/fetch-dispatcher.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/segmentio/schedule-flush.ts", "../../../node_modules/@june-so/analytics-next/src/plugins/segmentio/index.ts", "../../../node_modules/@june-so/analytics-next/src/lib/is-thenable.ts", "../../../node_modules/@june-so/analytics-next/src/core/buffer/index.ts", "../../../node_modules/@june-so/analytics-next/src/core/buffer/snippet.ts", "../../../node_modules/@june-so/analytics-next/src/core/inspector/index.ts", "../../../node_modules/@june-so/analytics-next/src/browser/index.ts", "../../../packages/apps/click-app/web/src/providers.tsx", "../../../packages/controls/bz-core-controls/controls/payments/shared/terminal-payment-dialog/terminal-dialog-wrapper.tsx", "../../../packages/controls/bz-core-controls/controls/payments/shared/terminal-payment-dialog/index.tsx", "../../../packages/shared/bz-utilities/dictionary/dictionary-provider.tsx", "../../../packages/shared/bz-utilities/modules/plugins/register/index.tsx", "../../../packages/shared/bz-utilities/modules/plugins/register/stores/cache.ts", "../../../app/controls/permissions/index.tsx", "../../../packages/features/core/analytics/index.tsx", "../../../packages/features/core/analytics/rupt/index.tsx", "../../../node_modules/rupt/index.mjs", "../../../app/controls/license/index.tsx", "../../../packages/shared/bz-pronto-core/register.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/quickbill/pay-control/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/quickbill/charge-extras/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/action-bar/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/edit-payments/index.tsx", "../../../packages/shared/bz-pronto-core/enum/invoice-type.ts", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/edit-charges/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/acknowledge-dialog/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/options-menu/controls/transfer-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/options-menu/controls/change-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/options-menu/controls/write-off-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/options-menu/controls/credit-note-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/finances/invoice/options-menu/controls/discount-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-footer/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-footer/controls/reports-menu/index.tsx", "../../../packages/shared/tm3-core/controls/menus/index.tsx", "../../../packages/shared/tm3-core/controls/menus/tm3-menu.tsx", "../../../packages/shared/tm3-core/controls/menus/stores/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/reports-list/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/reports-list/controls/report-menu-item/index.tsx", "../../../packages/shared/bz-pronto-core/endpoints/clinical.ts", "../../../packages/shared/bz-pronto-core/modules/clinical/more-menu-item/index.tsx", "../../../packages/shared/tm3-core/controls/menus/menu-collapse-item/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-attachments/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-attachments/controls/empty-message/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-attachments/controls/error-message/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-attachments/controls/attachment-table/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-attachments/controls/attachment-table/controls/attachment/index.tsx", "../../../packages/controls/bz-core-controls/controls/layout/loading-slider/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/error-actions/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/action-base/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/normal-actions/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/normal-actions/controls/acknowledge-action/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/normal-actions/controls/clone-action/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/actions/controls/normal-actions/controls/edit-action/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/icon/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/title/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/title/controls/badge/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/controls/header-control/controls/title/controls/subtitle/index.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/case-report/stores/view-store.tsx", "../../../packages/shared/bz-pronto-core/modules/clinical/report-editor/index.tsx", "../../../packages/features/tm3-pay/register.ts", "../../../packages/apps/click-app/web/src/components/account/paywall/provider/index.tsx", "../../../packages/apps/click-app/web/src/components/account/paywall/dialog/stores/paywall-dialog-store.ts", "../../../packages/apps/click-app/web/src/components/account/paywall/dialog/index.tsx", "../../../packages/apps/click-app/web/src/reportWebVitals.ts"], "sourcesContent": ["// THIS FILE IS GENERATED - DO NOT EDIT!\n/*!mobile-detect v1.4.5 2021-03-13*/\n/*global module:false, define:false*/\n/*jshint latedef:false*/\n/*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/\n(function (define, undefined) {\ndefine(function () {\n 'use strict';\n\n var impl = {};\n\n impl.mobileDetectRules = {\n \"phones\": {\n \"iPhone\": \"\\\\biPhone\\\\b|\\\\biPod\\\\b\",\n \"BlackBerry\": \"BlackBerry|\\\\bBB10\\\\b|rim[0-9]+|\\\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\\\b-[0-9]+\",\n \"Pixel\": \"; \\\\bPixel\\\\b\",\n \"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|Android [0-9.]+; Pixel\",\n \"Nexus\": \"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6\",\n \"Dell\": \"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\\\b001DL\\\\b|\\\\b101DL\\\\b|\\\\bGS01\\\\b\",\n \"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|XT1068|XT1092|XT1052\",\n \"Samsung\": \"\\\\bSamsung\\\\b|SM-G950F|SM-G955F|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|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F\",\n \"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|M257)|LM-G710\",\n \"Sony\": \"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332\",\n \"Asus\": \"Asus.*Galaxy|PadFone.*Mobile\",\n \"Xiaomi\": \"^(?!.*\\\\bx11\\\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G\",\n \"NokiaLumia\": \"Lumia [0-9]{3,4}\",\n \"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\",\n \"Palm\": \"PalmSource|Palm\",\n \"Vertu\": \"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature\",\n \"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\",\n \"Fly\": \"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250\",\n \"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\",\n \"iMobile\": \"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)\",\n \"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\",\n \"Wolfgang\": \"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q\",\n \"Alcatel\": \"Alcatel\",\n \"Nintendo\": \"Nintendo (3DS|Switch)\",\n \"Amoi\": \"Amoi\",\n \"INQ\": \"INQ\",\n \"OnePlus\": \"ONEPLUS\",\n \"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\"\n },\n \"tablets\": {\n \"iPad\": \"iPad|iPad.*Mobile\",\n \"NexusTablet\": \"Android.*Nexus[\\\\s]+(7|9|10)\",\n \"GoogleTablet\": \"Android.*Pixel C\",\n \"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-T116BU|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|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860\",\n \"Kindle\": \"Kindle|Silk.*Accelerated|Android.*\\\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\\\b|Android.*Silk\\/[0-9.]+ like Chrome\\/[0-9.]+ (?!Mobile)\",\n \"SurfaceTablet\": \"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)\",\n \"HPTablet\": \"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10\",\n \"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|\\\\bP027\\\\b|\\\\bP024\\\\b|\\\\bP00C\\\\b\",\n \"BlackBerryTablet\": \"PlayBook|RIM Tablet\",\n \"HTCtablet\": \"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410\",\n \"MotorolaTablet\": \"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617\",\n \"NookTablet\": \"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2\",\n \"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|A3-A40\",\n \"ToshibaTablet\": \"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO\",\n \"LGTablet\": \"\\\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\\\b\",\n \"FujitsuTablet\": \"Android.*\\\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\\\b\",\n \"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\",\n \"LenovoTablet\": \"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|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|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L\",\n \"DellTablet\": \"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7\",\n \"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\",\n \"MedionTablet\": \"Android.*\\\\bOYO\\\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB\",\n \"ArnovaTablet\": \"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2\",\n \"IntensoTablet\": \"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004\",\n \"IRUTablet\": \"M702pro\",\n \"MegafonTablet\": \"MegaFon V9|\\\\bZTE V9\\\\b|Android.*\\\\bMT7A\\\\b\",\n \"EbodaTablet\": \"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)\",\n \"AllViewTablet\": \"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)\",\n \"ArchosTablet\": \"\\\\b(101G9|80G9|A101IT)\\\\b|Qilive 97R|Archos5|\\\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\\\b\",\n \"AinolTablet\": \"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark\",\n \"NokiaLumiaTablet\": \"Lumia 2520\",\n \"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|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712\",\n \"PhilipsTablet\": \"\\\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\\\b\",\n \"CubeTablet\": \"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT\",\n \"CobyTablet\": \"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010\",\n \"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\",\n \"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\",\n \"SMiTTablet\": \"Android.*(\\\\bMID\\\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)\",\n \"RockChipTablet\": \"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A\",\n \"FlyTablet\": \"IQ310|Fly Vision\",\n \"bqTablet\": \"Android.*(bq)?.*\\\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\\\b|Maxwell.*Lite|Maxwell.*Plus\",\n \"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|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19\",\n \"NecTablet\": \"\\\\bN-06D|\\\\bN-08D\",\n \"PantechTablet\": \"Pantech.*P4100\",\n \"BronchoTablet\": \"Broncho.*(N701|N708|N802|a710)\",\n \"VersusTablet\": \"TOUCHPAD.*[78910]|\\\\bTOUCHTAB\\\\b\",\n \"ZyncTablet\": \"z1000|Z99 2G|z930|z990|z909|Z919|z900\",\n \"PositivoTablet\": \"TB07STA|TB10STA|TB07FTA|TB10FTA\",\n \"NabiTablet\": \"Android.*\\\\bNabi\",\n \"KoboTablet\": \"Kobo Touch|\\\\bK080\\\\b|\\\\bVox\\\\b Build|\\\\bArc\\\\b Build\",\n \"DanewTablet\": \"DSlide.*\\\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\\\b\",\n \"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\",\n \"PlaystationTablet\": \"Playstation.*(Portable|Vita)\",\n \"TrekstorTablet\": \"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab\",\n \"PyleAudioTablet\": \"\\\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\\\b\",\n \"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 \",\n \"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\",\n \"GalapadTablet\": \"Android [0-9.]+; [a-z-]+; \\\\bG1\\\\b\",\n \"MicromaxTablet\": \"Funbook|Micromax.*\\\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\\\b\",\n \"KarbonnTablet\": \"Android.*\\\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\\\b\",\n \"AllFineTablet\": \"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide\",\n \"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\",\n \"YONESTablet\": \"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026\",\n \"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\",\n \"GUTablet\": \"TX-A1301|TX-M9002|Q702|kf026\",\n \"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\",\n \"OvermaxTablet\": \"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027\",\n \"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\",\n \"DPSTablet\": \"DPS Dream 9|DPS Dual 7\",\n \"VistureTablet\": \"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10\",\n \"CrestaTablet\": \"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989\",\n \"MediatekTablet\": \"\\\\bMT8125|MT8389|MT8135|MT8377\\\\b\",\n \"ConcordeTablet\": \"Concorde([ ]+)?Tab|ConCorde ReadMan\",\n \"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\",\n \"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\",\n \"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\",\n \"ECSTablet\": \"V07OT2|TM105A|S10OT1|TR10CS1\",\n \"StorexTablet\": \"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab\",\n \"VodafoneTablet\": \"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400\",\n \"EssentielBTablet\": \"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2\",\n \"RossMoorTablet\": \"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711\",\n \"iMobileTablet\": \"i-mobile i-note\",\n \"TolinoTablet\": \"tolino tab [0-9.]+|tolino shine\",\n \"AudioSonicTablet\": \"\\\\bC-22Q|T7-QC|T-17B|T-17P\\\\b\",\n \"AMPETablet\": \"Android.* A78 \",\n \"SkkTablet\": \"Android.* (SKYPAD|PHOENIX|CYCLOPS)\",\n \"TecnoTablet\": \"TECNO P9|TECNO DP8D\",\n \"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\",\n \"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)\",\n \"FX2Tablet\": \"FX2 PAD7|FX2 PAD10\",\n \"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\",\n \"ViewsonicTablet\": \"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a\",\n \"VerizonTablet\": \"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1\",\n \"OdysTablet\": \"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\\\bXELIO\\\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10\",\n \"CaptivaTablet\": \"CAPTIVA PAD\",\n \"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\",\n \"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\",\n \"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]+|V10 \\\\b4G\\\\b\",\n \"JaytechTablet\": \"TPC-PA762\",\n \"BlaupunktTablet\": \"Endeavour 800NG|Endeavour 1010\",\n \"DigmaTablet\": \"\\\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\\\b\",\n \"EvolioTablet\": \"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\\\bEvotab\\\\b|\\\\bNeura\\\\b\",\n \"LavaTablet\": \"QPAD E704|\\\\bIvoryS\\\\b|E-TAB IVORY|\\\\bE-TAB\\\\b\",\n \"AocTablet\": \"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712\",\n \"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\",\n \"CelkonTablet\": \"CT695|CT888|CT[\\\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\\\bCT-1\\\\b\",\n \"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\",\n \"MediacomTablet\": \"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA\",\n \"MiTablet\": \"\\\\bMI PAD\\\\b|\\\\bHM NOTE 1W\\\\b\",\n \"NibiruTablet\": \"Nibiru M1|Nibiru Jupiter One\",\n \"NexoTablet\": \"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI\",\n \"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\",\n \"UbislateTablet\": \"UbiSlate[\\\\s]?7C\",\n \"PocketBookTablet\": \"Pocketbook\",\n \"KocasoTablet\": \"\\\\b(TB-1207)\\\\b\",\n \"HisenseTablet\": \"\\\\b(F5281|E2371)\\\\b\",\n \"Hudl\": \"Hudl HT7S3|Hudl 2\",\n \"TelstraTablet\": \"T-Hub2\",\n \"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|\\\\bQTAQZ3\\\\b|WVT101|TM1088|KT107\"\n },\n \"oss\": {\n \"AndroidOS\": \"Android\",\n \"BlackBerryOS\": \"blackberry|\\\\bBB10\\\\b|rim tablet os\",\n \"PalmOS\": \"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino\",\n \"SymbianOS\": \"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\\\bS60\\\\b\",\n \"WindowsMobileOS\": \"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;\",\n \"WindowsPhoneOS\": \"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;\",\n \"iOS\": \"\\\\biPhone.*Mobile|\\\\biPod|\\\\biPad|AppleCoreMedia\",\n \"iPadOS\": \"CPU OS 13\",\n \"SailfishOS\": \"Sailfish\",\n \"MeeGoOS\": \"MeeGo\",\n \"MaemoOS\": \"Maemo\",\n \"JavaOS\": \"J2ME\\/|\\\\bMIDP\\\\b|\\\\bCLDC\\\\b\",\n \"webOS\": \"webOS|hpwOS\",\n \"badaOS\": \"\\\\bBada\\\\b\",\n \"BREWOS\": \"BREW\"\n },\n \"uas\": {\n \"Chrome\": \"\\\\bCrMo\\\\b|CriOS|Android.*Chrome\\/[.0-9]* (Mobile)?\",\n \"Dolfin\": \"\\\\bDolfin\\\\b\",\n \"Opera\": \"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\\/[0-9.]+$|Coast\\/[0-9.]+\",\n \"Skyfire\": \"Skyfire\",\n \"Edge\": \"\\\\bEdgiOS\\\\b|Mobile Safari\\/[.0-9]* Edge\",\n \"IE\": \"IEMobile|MSIEMobile\",\n \"Firefox\": \"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS\",\n \"Bolt\": \"bolt\",\n \"TeaShark\": \"teashark\",\n \"Blazer\": \"Blazer\",\n \"Safari\": \"Version((?!\\\\bEdgiOS\\\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari\",\n \"WeChat\": \"\\\\bMicroMessenger\\\\b\",\n \"UCBrowser\": \"UC.*Browser|UCWEB\",\n \"baiduboxapp\": \"baiduboxapp\",\n \"baidubrowser\": \"baidubrowser\",\n \"DiigoBrowser\": \"DiigoBrowser\",\n \"Mercury\": \"\\\\bMercury\\\\b\",\n \"ObigoBrowser\": \"Obigo\",\n \"NetFront\": \"NF-Browser\",\n \"GenericBrowser\": \"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger\",\n \"PaleMoon\": \"Android.*PaleMoon|Mobile.*PaleMoon\"\n },\n \"props\": {\n \"Mobile\": \"Mobile\\/[VER]\",\n \"Build\": \"Build\\/[VER]\",\n \"Version\": \"Version\\/[VER]\",\n \"VendorID\": \"VendorID\\/[VER]\",\n \"iPad\": \"iPad.*CPU[a-z ]+[VER]\",\n \"iPhone\": \"iPhone.*CPU[a-z ]+[VER]\",\n \"iPod\": \"iPod.*CPU[a-z ]+[VER]\",\n \"Kindle\": \"Kindle\\/[VER]\",\n \"Chrome\": [\n \"Chrome\\/[VER]\",\n \"CriOS\\/[VER]\",\n \"CrMo\\/[VER]\"\n ],\n \"Coast\": [\n \"Coast\\/[VER]\"\n ],\n \"Dolfin\": \"Dolfin\\/[VER]\",\n \"Firefox\": [\n \"Firefox\\/[VER]\",\n \"FxiOS\\/[VER]\"\n ],\n \"Fennec\": \"Fennec\\/[VER]\",\n \"Edge\": \"Edge\\/[VER]\",\n \"IE\": [\n \"IEMobile\\/[VER];\",\n \"IEMobile [VER]\",\n \"MSIE [VER];\",\n \"Trident\\/[0-9.]+;.*rv:[VER]\"\n ],\n \"NetFront\": \"NetFront\\/[VER]\",\n \"NokiaBrowser\": \"NokiaBrowser\\/[VER]\",\n \"Opera\": [\n \" OPR\\/[VER]\",\n \"Opera Mini\\/[VER]\",\n \"Version\\/[VER]\"\n ],\n \"Opera Mini\": \"Opera Mini\\/[VER]\",\n \"Opera Mobi\": \"Version\\/[VER]\",\n \"UCBrowser\": [\n \"UCWEB[VER]\",\n \"UC.*Browser\\/[VER]\"\n ],\n \"MQQBrowser\": \"MQQBrowser\\/[VER]\",\n \"MicroMessenger\": \"MicroMessenger\\/[VER]\",\n \"baiduboxapp\": \"baiduboxapp\\/[VER]\",\n \"baidubrowser\": \"baidubrowser\\/[VER]\",\n \"SamsungBrowser\": \"SamsungBrowser\\/[VER]\",\n \"Iron\": \"Iron\\/[VER]\",\n \"Safari\": [\n \"Version\\/[VER]\",\n \"Safari\\/[VER]\"\n ],\n \"Skyfire\": \"Skyfire\\/[VER]\",\n \"Tizen\": \"Tizen\\/[VER]\",\n \"Webkit\": \"webkit[ \\/][VER]\",\n \"PaleMoon\": \"PaleMoon\\/[VER]\",\n \"SailfishBrowser\": \"SailfishBrowser\\/[VER]\",\n \"Gecko\": \"Gecko\\/[VER]\",\n \"Trident\": \"Trident\\/[VER]\",\n \"Presto\": \"Presto\\/[VER]\",\n \"Goanna\": \"Goanna\\/[VER]\",\n \"iOS\": \" \\\\bi?OS\\\\b [VER][ ;]{1}\",\n \"Android\": \"Android [VER]\",\n \"Sailfish\": \"Sailfish [VER]\",\n \"BlackBerry\": [\n \"BlackBerry[\\\\w]+\\/[VER]\",\n \"BlackBerry.*Version\\/[VER]\",\n \"Version\\/[VER]\"\n ],\n \"BREW\": \"BREW [VER]\",\n \"Java\": \"Java\\/[VER]\",\n \"Windows Phone OS\": [\n \"Windows Phone OS [VER]\",\n \"Windows Phone [VER]\"\n ],\n \"Windows Phone\": \"Windows Phone [VER]\",\n \"Windows CE\": \"Windows CE\\/[VER]\",\n \"Windows NT\": \"Windows NT [VER]\",\n \"Symbian\": [\n \"SymbianOS\\/[VER]\",\n \"Symbian\\/[VER]\"\n ],\n \"webOS\": [\n \"webOS\\/[VER]\",\n \"hpwOS\\/[VER];\"\n ]\n },\n \"utils\": {\n \"Bot\": \"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|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|contentkingapp|AspiegelBot\",\n \"MobileBot\": \"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\\/M1A1-R2D2\",\n \"DesktopMode\": \"WPDesktop\",\n \"TV\": \"SonyDTV|HbbTV\",\n \"WebKit\": \"(webkit)[ \\/]([\\\\w.]+)\",\n \"Console\": \"\\\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\\\b\",\n \"Watch\": \"SM-V700\"\n }\n};\n\n // following patterns come from http://detectmobilebrowsers.com/\n impl.detectMobileBrowsers = {\n 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,\n 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,\n tabletPattern: /android|ipad|playbook|silk/i\n };\n\n var hasOwnProp = Object.prototype.hasOwnProperty,\n isArray;\n\n impl.FALLBACK_PHONE = 'UnknownPhone';\n impl.FALLBACK_TABLET = 'UnknownTablet';\n impl.FALLBACK_MOBILE = 'UnknownMobile';\n\n isArray = ('isArray' in Array) ?\n Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; };\n\n function equalIC(a, b) {\n return a != null && b != null && a.toLowerCase() === b.toLowerCase();\n }\n\n function containsIC(array, value) {\n var valueLC, i, len = array.length;\n if (!len || !value) {\n return false;\n }\n valueLC = value.toLowerCase();\n for (i = 0; i < len; ++i) {\n if (valueLC === array[i].toLowerCase()) {\n return true;\n }\n }\n return false;\n }\n\n function convertPropsToRegExp(object) {\n for (var key in object) {\n if (hasOwnProp.call(object, key)) {\n object[key] = new RegExp(object[key], 'i');\n }\n }\n }\n\n function prepareUserAgent(userAgent) {\n return (userAgent || '').substr(0, 500); // mitigate vulnerable to ReDoS\n }\n\n (function init() {\n var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules;\n for (key in mobileDetectRules.props) {\n if (hasOwnProp.call(mobileDetectRules.props, key)) {\n values = mobileDetectRules.props[key];\n if (!isArray(values)) {\n values = [values];\n }\n len = values.length;\n for (i = 0; i < len; ++i) {\n value = values[i];\n verPos = value.indexOf('[VER]');\n if (verPos >= 0) {\n value = value.substring(0, verPos) + '([\\\\w._\\\\+]+)' + value.substring(verPos + 5);\n }\n values[i] = new RegExp(value, 'i');\n }\n mobileDetectRules.props[key] = values;\n }\n }\n convertPropsToRegExp(mobileDetectRules.oss);\n convertPropsToRegExp(mobileDetectRules.phones);\n convertPropsToRegExp(mobileDetectRules.tablets);\n convertPropsToRegExp(mobileDetectRules.uas);\n convertPropsToRegExp(mobileDetectRules.utils);\n\n // copy some patterns to oss0 which are tested first (see issue#15)\n mobileDetectRules.oss0 = {\n WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS,\n WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS\n };\n }());\n\n /**\n * Test userAgent string against a set of rules and find the first matched key.\n * @param {Object} rules (key is String, value is RegExp)\n * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').\n * @returns {String|null} the matched key if found, otherwise null\n * @private\n */\n impl.findMatch = function(rules, userAgent) {\n for (var key in rules) {\n if (hasOwnProp.call(rules, key)) {\n if (rules[key].test(userAgent)) {\n return key;\n }\n }\n }\n return null;\n };\n\n /**\n * Test userAgent string against a set of rules and return an array of matched keys.\n * @param {Object} rules (key is String, value is RegExp)\n * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').\n * @returns {Array} an array of matched keys, may be empty when there is no match, but not null\n * @private\n */\n impl.findMatches = function(rules, userAgent) {\n var result = [];\n for (var key in rules) {\n if (hasOwnProp.call(rules, key)) {\n if (rules[key].test(userAgent)) {\n result.push(key);\n }\n }\n }\n return result;\n };\n\n /**\n * Check the version of the given property in the User-Agent.\n *\n * @param {String} propertyName\n * @param {String} userAgent\n * @return {String} version or null if version not found\n * @private\n */\n impl.getVersionStr = function (propertyName, userAgent) {\n var props = impl.mobileDetectRules.props, patterns, i, len, match;\n if (hasOwnProp.call(props, propertyName)) {\n patterns = props[propertyName];\n len = patterns.length;\n for (i = 0; i < len; ++i) {\n match = patterns[i].exec(userAgent);\n if (match !== null) {\n return match[1];\n }\n }\n }\n return null;\n };\n\n /**\n * Check the version of the given property in the User-Agent.\n * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)\n *\n * @param {String} propertyName\n * @param {String} userAgent\n * @return {Number} version or NaN if version not found\n * @private\n */\n impl.getVersion = function (propertyName, userAgent) {\n var version = impl.getVersionStr(propertyName, userAgent);\n return version ? impl.prepareVersionNo(version) : NaN;\n };\n\n /**\n * Prepare the version number.\n *\n * @param {String} version\n * @return {Number} the version number as a floating number\n * @private\n */\n impl.prepareVersionNo = function (version) {\n var numbers;\n\n numbers = version.split(/[a-z._ \\/\\-]/i);\n if (numbers.length === 1) {\n version = numbers[0];\n }\n if (numbers.length > 1) {\n version = numbers[0] + '.';\n numbers.shift();\n version += numbers.join('');\n }\n return Number(version);\n };\n\n impl.isMobileFallback = function (userAgent) {\n return impl.detectMobileBrowsers.fullPattern.test(userAgent) ||\n impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4));\n };\n\n impl.isTabletFallback = function (userAgent) {\n return impl.detectMobileBrowsers.tabletPattern.test(userAgent);\n };\n\n impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) {\n if (cache.mobile !== undefined) {\n return;\n }\n var phone, tablet, phoneSized;\n\n // first check for stronger tablet rules, then phone (see issue#5)\n tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent);\n if (tablet) {\n cache.mobile = cache.tablet = tablet;\n cache.phone = null;\n return; // unambiguously identified as tablet\n }\n\n phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent);\n if (phone) {\n cache.mobile = cache.phone = phone;\n cache.tablet = null;\n return; // unambiguously identified as phone\n }\n\n // our rules haven't found a match -> try more general fallback rules\n if (impl.isMobileFallback(userAgent)) {\n phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth);\n if (phoneSized === undefined) {\n cache.mobile = impl.FALLBACK_MOBILE;\n cache.tablet = cache.phone = null;\n } else if (phoneSized) {\n cache.mobile = cache.phone = impl.FALLBACK_PHONE;\n cache.tablet = null;\n } else {\n cache.mobile = cache.tablet = impl.FALLBACK_TABLET;\n cache.phone = null;\n }\n } else if (impl.isTabletFallback(userAgent)) {\n cache.mobile = cache.tablet = impl.FALLBACK_TABLET;\n cache.phone = null;\n } else {\n // not mobile at all!\n cache.mobile = cache.tablet = cache.phone = null;\n }\n };\n\n // t is a reference to a MobileDetect instance\n impl.mobileGrade = function (t) {\n // impl note:\n // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version.\n // When changes are made in Mobile_Detect.php, copy this method and replace:\n // $this-> / t.\n // self::MOBILE_GRADE_(.) / '$1'\n // , self::VERSION_TYPE_FLOAT / (nothing)\n // isIOS() / os('iOS')\n // [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE\n var $isMobile = t.mobile() !== null;\n\n if (\n // 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)\n t.os('iOS') && t.version('iPad')>=4.3 ||\n t.os('iOS') && t.version('iPhone')>=3.1 ||\n t.os('iOS') && t.version('iPod')>=3.1 ||\n\n // 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)\n // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM\n // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices\n // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7\n ( t.version('Android')>2.1 && t.is('Webkit') ) ||\n\n // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800\n t.version('Windows Phone OS')>=7.0 ||\n\n // Blackberry 7 - Tested on BlackBerry Torch 9810\n // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670\n t.is('BlackBerry') && t.version('BlackBerry')>=6.0 ||\n // Blackberry Playbook (1.0-2.0) - Tested on PlayBook\n t.match('Playbook.*Tablet') ||\n\n // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0)\n ( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) ||\n // Palm WebOS 3.0 - Tested on HP TouchPad\n t.match('hp.*TouchPad') ||\n\n // Firefox Mobile (12 Beta) - Tested on Android 2.3 device\n ( t.is('Firefox') && t.version('Firefox')>=12 ) ||\n\n // Chrome for Android - Tested on Android 4.0, 4.1 device\n ( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) ||\n\n // Skyfire 4.1 - Tested on Android 2.3 device\n ( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) ||\n\n // Opera Mobile 11.5-12: Tested on Android 2.3\n ( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) ||\n\n // Meego 1.2 - Tested on Nokia 950 and N9\n t.is('MeeGoOS') ||\n\n // Tizen (pre-release) - Tested on early hardware\n t.is('Tizen') ||\n\n // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser\n // @todo: more tests here!\n t.is('Dolfin') && t.version('Bada')>=2.0 ||\n\n // UC Browser - Tested on Android 2.3 device\n ( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) ||\n\n // Kindle 3 and Fire - Tested on the built-in WebKit browser for each\n ( t.match('Kindle Fire') ||\n t.is('Kindle') && t.version('Kindle')>=3.0 ) ||\n\n // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet\n t.is('AndroidOS') && t.is('NookTablet') ||\n\n // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7\n t.version('Chrome')>=11 && !$isMobile ||\n\n // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7\n t.version('Safari')>=5.0 && !$isMobile ||\n\n // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7\n t.version('Firefox')>=4.0 && !$isMobile ||\n\n // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7\n t.version('MSIE')>=7.0 && !$isMobile ||\n\n // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7\n // @reference: http://my.opera.com/community/openweb/idopera/\n t.version('Opera')>=10 && !$isMobile\n\n ){\n return 'A';\n }\n\n if (\n t.os('iOS') && t.version('iPad')<4.3 ||\n t.os('iOS') && t.version('iPhone')<3.1 ||\n t.os('iOS') && t.version('iPod')<3.1 ||\n\n // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770\n t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 ||\n\n //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3\n ( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 &&\n (t.version('Android')>=2.3 || t.is('iOS')) ) ||\n\n // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)\n t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||\n\n // @todo: report this (tested on Nokia N71)\n t.version('Opera Mobi')>=11 && t.is('SymbianOS')\n ){\n return 'B';\n }\n\n if (\n // Blackberry 4.x - Tested on the Curve 8330\n t.version('BlackBerry')<5.0 ||\n // Windows Mobile - Tested on the HTC Leo (WinMo 5.2)\n t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2\n\n ){\n return 'C';\n }\n\n //All older smartphone platforms and featurephones - Any device that doesn't support media queries\n //will receive the basic, C grade experience.\n return 'C';\n };\n\n impl.detectOS = function (ua) {\n return impl.findMatch(impl.mobileDetectRules.oss0, ua) ||\n impl.findMatch(impl.mobileDetectRules.oss, ua);\n };\n\n impl.getDeviceSmallerSide = function () {\n return window.screen.width < window.screen.height ?\n window.screen.width :\n window.screen.height;\n };\n\n /**\n * Constructor for MobileDetect object.\n *
\n * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.
\n *
\n * Find information how to download and install:\n * github.com/hgoebl/mobile-detect.js/\n *
\n *\n * @example
\n     *     var md = new MobileDetect(window.navigator.userAgent);\n     *     if (md.mobile()) {\n     *         location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';\n     *     }\n     * 
\n *\n * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent']\n * @param {number} [maxPhoneWidth=600] only for browsers specify a value for the maximum\n * width of smallest device side (in logical \"CSS\" pixels) until a device detected as mobile will be handled\n * as phone.\n * This is only used in cases where the device cannot be classified as phone or tablet.
\n * See Declaring Tablet Layouts\n * for Android.
\n * If you provide a value < 0, then this \"fuzzy\" check is disabled.\n * @constructor\n * @global\n */\n function MobileDetect(userAgent, maxPhoneWidth) {\n this.ua = prepareUserAgent(userAgent);\n this._cache = {};\n //600dp is typical 7\" tablet minimum width\n this.maxPhoneWidth = maxPhoneWidth || 600;\n }\n\n MobileDetect.prototype = {\n constructor: MobileDetect,\n\n /**\n * Returns the detected phone or tablet type or null if it is not a mobile device.\n *
\n * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
\n *
\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of detectmobilebrowsers.com. If this test\n * is positive, a value of UnknownPhone, UnknownTablet or\n * UnknownMobile is returned.
\n * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
\n *
\n * When used server-side (node.js), there is no way to tell the difference between UnknownTablet\n * and UnknownMobile, so you will get UnknownMobile here.
\n * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use.\n *
\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key for the phone family or tablet family, e.g. \"Nexus\".\n * @function MobileDetect#mobile\n */\n mobile: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.mobile;\n },\n\n /**\n * Returns the detected phone type/family string or null.\n *
\n * The returned tablet (family or producer) is one of following keys:
\n *
iPhone, BlackBerry, Pixel, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus,\n * Xiaomi, NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile,\n * SimValley, Wolfgang, Alcatel, Nintendo, Amoi, INQ, OnePlus, GenericPhone
\n *
\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of detectmobilebrowsers.com. If this test\n * is positive, a value of UnknownPhone or UnknownMobile is returned.
\n * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
\n *
\n * When used server-side (node.js), there is no way to tell the difference between UnknownTablet\n * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile}\n * will return UnknownMobile.
\n * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use.\n *
\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key of the phone family or producer, e.g. \"iPhone\"\n * @function MobileDetect#phone\n */\n phone: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.phone;\n },\n\n /**\n * Returns the detected tablet type/family string or null.\n *
\n * The returned tablet (family or producer) is one of following keys:
\n *
iPad, NexusTablet, GoogleTablet, SamsungTablet, Kindle, SurfaceTablet,\n * HPTablet, AsusTablet, BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet,\n * AcerTablet, ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet,\n * LenovoTablet, DellTablet, YarvikTablet, MedionTablet, ArnovaTablet,\n * IntensoTablet, IRUTablet, MegafonTablet, EbodaTablet, AllViewTablet,\n * ArchosTablet, AinolTablet, NokiaLumiaTablet, SonyTablet, PhilipsTablet,\n * CubeTablet, CobyTablet, MIDTablet, MSITablet, SMiTTablet, RockChipTablet,\n * FlyTablet, bqTablet, HuaweiTablet, NecTablet, PantechTablet, BronchoTablet,\n * VersusTablet, ZyncTablet, PositivoTablet, NabiTablet, KoboTablet, DanewTablet,\n * TexetTablet, PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet,\n * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet,\n * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet,\n * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet,\n * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet,\n * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet,\n * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet,\n * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet,\n * VerizonTablet, OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet,\n * OndaTablet, JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet,\n * LavaTablet, AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MediacomTablet,\n * MiTablet, NibiruTablet, NexoTablet, LeaderTablet, UbislateTablet,\n * PocketBookTablet, KocasoTablet, HisenseTablet, Hudl, TelstraTablet,\n * GenericTablet
\n *
\n * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against\n * the patterns of detectmobilebrowsers.com. If this test\n * is positive, a value of UnknownTablet or UnknownMobile is returned.
\n * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
\n *
\n * When used server-side (node.js), there is no way to tell the difference between UnknownTablet\n * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile}\n * will return UnknownMobile.
\n * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for:\n * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.\n * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use.\n *
\n * In most cases you will use the return value just as a boolean.\n *\n * @returns {String} the key of the tablet family or producer, e.g. \"SamsungTablet\"\n * @function MobileDetect#tablet\n */\n tablet: function () {\n impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);\n return this._cache.tablet;\n },\n\n /**\n * Returns the (first) detected user-agent string or null.\n *
\n * The returned user-agent is one of following keys:
\n *
Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,\n * Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,\n * ObigoBrowser, NetFront, GenericBrowser, PaleMoon
\n *
\n * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare\n * cases where a mobile device pretends to be more than one particular browser. You can get the\n * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by\n * providing one of the defined keys as first argument to {@link MobileDetect#is}.\n *\n * @returns {String} the key for the detected user-agent or null\n * @function MobileDetect#userAgent\n */\n userAgent: function () {\n if (this._cache.userAgent === undefined) {\n this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua);\n }\n return this._cache.userAgent;\n },\n\n /**\n * Returns all detected user-agent strings.\n *
\n * The array is empty or contains one or more of following keys:
\n *
Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,\n * Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,\n * ObigoBrowser, NetFront, GenericBrowser, PaleMoon
\n *
\n * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare\n * cases where a mobile device pretends to be more than one particular browser. You can get the\n * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by\n * providing one of the defined keys as first argument to {@link MobileDetect#is}.\n *\n * @returns {Array} the array of detected user-agent keys or []\n * @function MobileDetect#userAgents\n */\n userAgents: function () {\n if (this._cache.userAgents === undefined) {\n this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua);\n }\n return this._cache.userAgents;\n },\n\n /**\n * Returns the detected operating system string or null.\n *
\n * The operating system is one of following keys:
\n *
AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS,\n * iOS, iPadOS, SailfishOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS
\n *\n * @returns {String} the key for the detected operating system.\n * @function MobileDetect#os\n */\n os: function () {\n if (this._cache.os === undefined) {\n this._cache.os = impl.detectOS(this.ua);\n }\n return this._cache.os;\n },\n\n /**\n * Get the version (as Number) of the given property in the User-Agent.\n *
\n * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)\n *\n * @param {String} key a key defining a thing which has a version.
\n * You can use one of following keys:
\n *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,\n * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,\n * Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,\n * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,\n * SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,\n * BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows\n * NT, Symbian, webOS
\n *\n * @returns {Number} the version as float or NaN if User-Agent doesn't contain this version.\n * Be careful when comparing this value with '==' operator!\n * @function MobileDetect#version\n */\n version: function (key) {\n return impl.getVersion(key, this.ua);\n },\n\n /**\n * Get the version (as String) of the given property in the User-Agent.\n *
\n *\n * @param {String} key a key defining a thing which has a version.
\n * You can use one of following keys:
\n *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,\n * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,\n * Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,\n * SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,\n * SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,\n * BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows\n * NT, Symbian, webOS
\n *\n * @returns {String} the \"raw\" version as String or null if User-Agent doesn't contain this version.\n *\n * @function MobileDetect#versionStr\n */\n versionStr: function (key) {\n return impl.getVersionStr(key, this.ua);\n },\n\n /**\n * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string.\n *\n * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or\n * tablet family.
\n * For a complete list of possible values, see {@link MobileDetect#userAgent},\n * {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.
\n * Additionally you have following keys:
\n *
Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch
\n *\n * @returns {boolean} true when the given key is one of the defined keys of userAgent, os, phone,\n * tablet or one of the listed additional keys, otherwise false\n * @function MobileDetect#is\n */\n is: function (key) {\n return containsIC(this.userAgents(), key) ||\n equalIC(key, this.os()) ||\n equalIC(key, this.phone()) ||\n equalIC(key, this.tablet()) ||\n containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key);\n },\n\n /**\n * Do a quick test against navigator::userAgent.\n *\n * @param {String|RegExp} pattern the pattern, either as String or RegExp\n * (a string will be converted to a case-insensitive RegExp).\n * @returns {boolean} true when the pattern matches, otherwise false\n * @function MobileDetect#match\n */\n match: function (pattern) {\n if (!(pattern instanceof RegExp)) {\n pattern = new RegExp(pattern, 'i');\n }\n return pattern.test(this.ua);\n },\n\n /**\n * Checks whether the mobile device can be considered as phone regarding screen.width.\n *
\n * Obviously this method makes sense in browser environments only (not for Node.js)!\n * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.
\n * The argument is optional and if not present or falsy, the value of the constructor is taken.\n * @returns {boolean|undefined} undefined if screen size wasn't detectable, else true\n * when screen.width is less or equal to maxPhoneWidth, otherwise false.
\n * Will always return undefined server-side.\n */\n isPhoneSized: function (maxPhoneWidth) {\n return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth);\n },\n\n /**\n * Returns the mobile grade ('A', 'B', 'C').\n *\n * @returns {String} one of the mobile grades ('A', 'B', 'C').\n * @function MobileDetect#mobileGrade\n */\n mobileGrade: function () {\n if (this._cache.grade === undefined) {\n this._cache.grade = impl.mobileGrade(this);\n }\n return this._cache.grade;\n }\n };\n\n // environment-dependent\n if (typeof window !== 'undefined' && window.screen) {\n MobileDetect.isPhoneSized = function (maxPhoneWidth) {\n return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth;\n };\n } else {\n MobileDetect.isPhoneSized = function () {};\n }\n\n // should not be replaced by a completely new object - just overwrite existing methods\n MobileDetect._impl = impl;\n \n MobileDetect.version = '1.4.5 2021-03-13';\n\n return MobileDetect;\n}); // end of call of define()\n})((function (undefined) {\n if (typeof module !== 'undefined' && module.exports) {\n return function (factory) { module.exports = factory(); };\n } else if (typeof define === 'function' && define.amd) {\n return define;\n } else if (typeof window !== 'undefined') {\n return function (factory) { window.MobileDetect = factory(); };\n } else {\n // please file a bug if you get this error!\n throw new Error('unknown environment');\n }\n})());", "(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n", "'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n", "import './base.css';\n\nimport App from './App';\nimport React from 'react';\n\nimport reportWebVitals from './reportWebVitals';\nimport moment from 'moment';\nimport { createRoot } from 'react-dom/client';\nimport ReactDOM from 'react-dom';\n\nconst el = document.getElementById('root') as HTMLElement;\n\nif (process.env.ReactVersion?.toString() === '18') createRoot(el).render();\nelse ReactDOM.render(, el);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n\n/* eslint-disable no-extend-native */\nDate.prototype.toJSON = function () {\n return moment(this).format('YYYY-MM-DDTHH:mm:ss');\n};\n/* eslint-enable no-extend-native */\n", "import \"ni:sha-256;zyWRHGOQ6sH5unAVorOAZPNQCIIo9-MKn0Am535KmVo\";", "import '@fontsource/be-vietnam';\nimport 'bz-core-controls/utils/reflect-metadata';\nimport './App.css';\nimport './main.styl';\nimport './responsive.styl';\n\nimport 'bz-utilities/global';\n\nimport React from 'react';\nimport { Route, Router, Switch } from 'react-router-dom';\n\nimport { observer } from 'mobx-react-lite';\n\nimport MobileDetect from 'mobile-detect';\n\nimport LoadingPanel from 'bz-core-controls/controls/layout/loading-panel';\nimport Fallback from 'bz-core-controls/controls/lazy/controls/fallback';\nimport BzTheme from 'bz-core-controls/styles/theme';\n\nimport AuthStore from 'bz-stores/lib/auth-store';\n\nimport history from 'bz-utilities/modules/networking/history/rr4';\nimport VersionCheck from 'bz-utilities/modules/version-check';\n\nimport { LoginRoutePaths } from 'core/auth';\nimport { RouteTracking } from 'core/analytics/june/context';\n\nimport ClickAppProviders from './providers';\n\nconst AuthPages = React.lazy(() => import('./components/auth'));\nconst Signup = React.lazy(() => import('./components/auth/signup'));\nconst ProntoSignup = React.lazy(() => import('./components/auth/signup/controls/pronto'));\n\nconst InvoicePrint = React.lazy(\n () =>\n import(\n './components/contacts/contact-details/tabs/pronto-referrals/referral/controls/print/invoice'\n )\n);\nconst ReferralSignUpExisting = React.lazy(() => import('./components/referral-signup-existing'));\nconst ReferralSignUpExistingComplete = React.lazy(\n () => import('./components/referral-signup-existing/complete')\n);\nconst AuthenticatedApp = React.lazy(() => import('./shell/app'));\n\nwindow.React = React;\nwindow.mobileDetection = new MobileDetect(window.navigator.userAgent);\n\nconst AuthLoader = observer(() => {\n try {\n if (AuthStore.authenticated) return ;\n AuthStore.checkLoginState();\n\n return (\n
\n \n
\n );\n } catch {\n return (\n
\n \n
\n );\n }\n});\n\nfunction App() {\n return (\n <>\n \n
\n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n}\n\nexport default App;\n", "/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nnamespace Reflect {\n // Metadata Proposal\n // https://rbuckton.github.io/reflect-metadata/\n\n type HashMap = Record;\n\n interface BufferLike {\n [offset: number]: number;\n length: number;\n }\n\n type IteratorResult = { value: T; done: false } | { value: never; done: true };\n\n interface Iterator {\n next(value?: any): IteratorResult;\n throw?(value: any): IteratorResult;\n return?(value?: T): IteratorResult;\n }\n\n interface Iterable {\n '@@iterator'(): Iterator;\n }\n\n interface IterableIterator extends Iterator {\n '@@iterator'(): IterableIterator;\n }\n\n interface Map extends Iterable<[K, V]> {\n size: number;\n has(key: K): boolean;\n get(key: K): V;\n set(key: K, value?: V): this;\n delete(key: K): boolean;\n clear(): void;\n keys(): IterableIterator;\n values(): IterableIterator;\n entries(): IterableIterator<[K, V]>;\n }\n\n interface MapConstructor {\n new (): Map;\n new (): Map;\n prototype: Map;\n }\n\n interface Set extends Iterable {\n size: number;\n has(value: T): boolean;\n add(value: T): this;\n delete(value: T): boolean;\n clear(): void;\n keys(): IterableIterator;\n values(): IterableIterator;\n entries(): IterableIterator<[T, T]>;\n }\n\n interface SetConstructor {\n new (): Set;\n new (): Set;\n prototype: Set;\n }\n\n interface WeakMap {\n clear(): void;\n delete(key: K): boolean;\n get(key: K): V;\n has(key: K): boolean;\n set(key: K, value?: V): WeakMap;\n }\n\n interface WeakMapConstructor {\n new (): WeakMap;\n new (): WeakMap;\n prototype: WeakMap;\n }\n\n type MemberDecorator = (\n target: Object,\n propertyKey: string | symbol,\n descriptor?: TypedPropertyDescriptor\n ) => TypedPropertyDescriptor | void;\n declare const Symbol: { iterator: symbol; toPrimitive: symbol };\n declare const Set: SetConstructor;\n declare const WeakMap: WeakMapConstructor;\n declare const Map: MapConstructor;\n declare const global: any;\n declare const crypto: Crypto;\n declare const msCrypto: Crypto;\n declare const process: any;\n\n /**\n * Applies a set of decorators to a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @returns The result of applying the provided decorators.\n * @remarks Decorators are applied in reverse order of their positions in the array.\n * @example\n *\n * class Example { }\n *\n * // constructor\n * Example = Reflect.decorate(decoratorsArray, Example);\n *\n */\n export declare function decorate(decorators: ClassDecorator[], target: Function): Function;\n\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey The property key to decorate.\n * @param attributes A property descriptor.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod() { }\n * method() { }\n * }\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, \"staticMethod\",\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, \"method\",\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n *\n */\n export declare function decorate(\n decorators: (PropertyDecorator | MethodDecorator)[],\n target: any,\n propertyKey: string | symbol,\n attributes?: PropertyDescriptor | null\n ): PropertyDescriptor | undefined;\n\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey The property key to decorate.\n * @param attributes A property descriptor.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod() { }\n * method() { }\n * }\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, \"staticMethod\",\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, \"method\",\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n *\n */\n export declare function decorate(\n decorators: (PropertyDecorator | MethodDecorator)[],\n target: any,\n propertyKey: string | symbol,\n attributes: PropertyDescriptor\n ): PropertyDescriptor;\n\n /**\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\n * @param metadataKey The key for the metadata entry.\n * @param metadataValue The value for the metadata entry.\n * @returns A decorator function.\n * @remarks\n * If `metadataKey` is already defined for the target and target key, the\n * metadataValue for that key will be overwritten.\n * @example\n *\n * // constructor\n * @Reflect.metadata(key, value)\n * class Example {\n * }\n *\n * // property (on constructor, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticProperty;\n * }\n *\n * // property (on prototype, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * property;\n * }\n *\n * // method (on constructor)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticMethod() { }\n * }\n *\n * // method (on prototype)\n * class Example {\n * @Reflect.metadata(key, value)\n * method() { }\n * }\n *\n */\n export declare function metadata(\n metadataKey: any,\n metadataValue: any\n ): { (target: Function): void; (target: any, propertyKey: string | symbol): void };\n\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): ClassDecorator {\n * return target => Reflect.defineMetadata(\"custom:annotation\", options, target);\n * }\n *\n */\n export declare function defineMetadata(metadataKey: any, metadataValue: any, target: any): void;\n\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @param propertyKey The property key for the target.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", Number, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", Number, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", Number, Example, \"staticMethod\");\n *\n * // method (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", Number, Example.prototype, \"method\");\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): PropertyDecorator {\n * return (target, key) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n * }\n *\n */\n export declare function defineMetadata(\n metadataKey: any,\n metadataValue: any,\n target: any,\n propertyKey: string | symbol\n ): void;\n\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\n *\n */\n export declare function hasMetadata(metadataKey: any, target: any): boolean;\n\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n export declare function hasMetadata(\n metadataKey: any,\n target: any,\n propertyKey: string | symbol\n ): boolean;\n\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n *\n */\n export declare function hasOwnMetadata(metadataKey: any, target: any): boolean;\n\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n export declare function hasOwnMetadata(\n metadataKey: any,\n target: any,\n propertyKey: string | symbol\n ): boolean;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\n *\n */\n export declare function getMetadata(metadataKey: any, target: any): any;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n export declare function getMetadata(\n metadataKey: any,\n target: any,\n propertyKey: string | symbol\n ): any;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n *\n */\n export declare function getOwnMetadata(metadataKey: any, target: any): any;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n export declare function getOwnMetadata(\n metadataKey: any,\n target: any,\n propertyKey: string | symbol\n ): any;\n\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n */\n export declare function getMetadataKeys(target: any): any[];\n\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n *\n */\n export declare function getMetadataKeys(target: any, propertyKey: string | symbol): any[];\n\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n */\n export declare function getOwnMetadataKeys(target: any): any[];\n\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n *\n */\n export declare function getOwnMetadataKeys(target: any, propertyKey: string | symbol): any[];\n\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n *\n */\n export declare function deleteMetadata(metadataKey: any, target: any): boolean;\n\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n export declare function deleteMetadata(\n metadataKey: any,\n target: any,\n propertyKey: string | symbol\n ): boolean;\n\n (function (\n this: any,\n factory: (\n exporter: (key: K, value: (typeof Reflect)[K]) => void\n ) => void\n ) {\n const root =\n typeof global === 'object'\n ? global\n : typeof self === 'object'\n ? self\n : typeof this === 'object'\n ? this\n : Function('return this;')();\n\n let exporter = makeExporter(Reflect);\n if (typeof root.Reflect === 'undefined') {\n root.Reflect = Reflect;\n } else {\n exporter = makeExporter(root.Reflect, exporter);\n }\n\n factory(exporter);\n\n function makeExporter(\n target: typeof Reflect,\n previous?: (key: K, value: (typeof Reflect)[K]) => void\n ) {\n return (key: K, value: (typeof Reflect)[K]) => {\n if (typeof target[key] !== 'function') {\n Object.defineProperty(target, key, { configurable: true, writable: true, value });\n }\n if (previous) previous(key, value);\n };\n }\n })(function (exporter) {\n const hasOwn = Object.prototype.hasOwnProperty;\n\n // feature test for Symbol support\n const supportsSymbol = typeof Symbol === 'function';\n const toPrimitiveSymbol =\n supportsSymbol && typeof Symbol.toPrimitive !== 'undefined'\n ? Symbol.toPrimitive\n : '@@toPrimitive';\n const iteratorSymbol =\n supportsSymbol && typeof Symbol.iterator !== 'undefined' ? Symbol.iterator : '@@iterator';\n const supportsCreate = typeof Object.create === 'function'; // feature test for Object.create support\n const supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\n const downLevel = !supportsCreate && !supportsProto;\n\n const HashMap = {\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\n create: supportsCreate\n ? () => MakeDictionary(Object.create(null) as HashMap)\n : supportsProto\n ? () => MakeDictionary({ __proto__: null as any } as HashMap)\n : () => MakeDictionary({} as HashMap),\n\n has: downLevel\n ? (map: HashMap, key: string | number | symbol) => hasOwn.call(map, key)\n : (map: HashMap, key: string | number | symbol) => key in map,\n\n get: downLevel\n ? (map: HashMap, key: string | number | symbol): V | undefined =>\n hasOwn.call(map, key) ? map[key as string | number] : undefined\n : (map: HashMap, key: string | number | symbol): V | undefined =>\n map[key as string | number]\n };\n\n // Load global or shim versions of Map, Set, and WeakMap\n const functionPrototype = Object.getPrototypeOf(Function);\n const usePolyfill =\n typeof process === 'object' &&\n process.env &&\n process.env['REFLECT_METADATA_USE_MAP_POLYFILL'] === 'true';\n const _Map: typeof Map =\n !usePolyfill && typeof Map === 'function' && typeof Map.prototype.entries === 'function'\n ? Map\n : CreateMapPolyfill();\n const _Set: typeof Set =\n !usePolyfill && typeof Set === 'function' && typeof Set.prototype.entries === 'function'\n ? Set\n : CreateSetPolyfill();\n const _WeakMap: typeof WeakMap =\n !usePolyfill && typeof WeakMap === 'function' ? WeakMap : CreateWeakMapPolyfill();\n\n // [[Metadata]] internal slot\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\n const Metadata = new _WeakMap>>();\n\n function decorate(decorators: ClassDecorator[], target: Function): Function;\n function decorate(\n decorators: (PropertyDecorator | MethodDecorator)[],\n target: any,\n propertyKey: string | symbol,\n attributes?: PropertyDescriptor | null\n ): PropertyDescriptor | undefined;\n function decorate(\n decorators: (PropertyDecorator | MethodDecorator)[],\n target: any,\n propertyKey: string | symbol,\n attributes: PropertyDescriptor\n ): PropertyDescriptor;\n\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey (Optional) The property key to decorate.\n * @param attributes (Optional) The property descriptor for the target key.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Example = Reflect.decorate(decoratorsArray, Example);\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, \"staticMethod\",\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, \"method\",\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n *\n */\n function decorate(\n decorators: (ClassDecorator | MemberDecorator)[],\n target: any,\n propertyKey?: string | symbol,\n attributes?: PropertyDescriptor | null\n ): PropertyDescriptor | Function | undefined {\n if (!IsUndefined(propertyKey)) {\n if (!IsArray(decorators)) throw new TypeError();\n if (!IsObject(target)) throw new TypeError();\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\n throw new TypeError();\n if (IsNull(attributes)) attributes = undefined;\n propertyKey = ToPropertyKey(propertyKey);\n return DecorateProperty(decorators, target, propertyKey, attributes);\n } else {\n if (!IsArray(decorators)) throw new TypeError();\n if (!IsConstructor(target)) {\n console.log(target);\n throw new TypeError();\n }\n return DecorateConstructor(decorators, target);\n }\n }\n\n exporter('decorate', decorate);\n\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\n\n /**\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\n * @param metadataKey The key for the metadata entry.\n * @param metadataValue The value for the metadata entry.\n * @returns A decorator function.\n * @remarks\n * If `metadataKey` is already defined for the target and target key, the\n * metadataValue for that key will be overwritten.\n * @example\n *\n * // constructor\n * @Reflect.metadata(key, value)\n * class Example {\n * }\n *\n * // property (on constructor, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticProperty;\n * }\n *\n * // property (on prototype, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * property;\n * }\n *\n * // method (on constructor)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticMethod() { }\n * }\n *\n * // method (on prototype)\n * class Example {\n * @Reflect.metadata(key, value)\n * method() { }\n * }\n *\n */\n function metadata(metadataKey: any, metadataValue: any) {\n function decorator(target: Function): void;\n function decorator(target: any, propertyKey: string | symbol): void;\n function decorator(target: any, propertyKey?: string | symbol): void {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) throw new TypeError();\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n return decorator;\n }\n\n exporter('metadata', metadata);\n\n // 4.1.3 Reflect.defineMetadata(metadataKey, metadataValue, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect.definemetadata\n\n function defineMetadata(metadataKey: any, metadataValue: any, target: any): void;\n function defineMetadata(\n metadataKey: any,\n metadataValue: any,\n target: any,\n propertyKey: string | symbol\n ): void;\n\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @param propertyKey (Optional) The property key for the target.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\n *\n * // property (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\n *\n * // method (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): Decorator {\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n * }\n *\n */\n function defineMetadata(\n metadataKey: any,\n metadataValue: any,\n target: any,\n propertyKey?: string | symbol\n ): void {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n\n exporter('defineMetadata', defineMetadata);\n\n // 4.1.4 Reflect.hasMetadata(metadataKey, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect.hasmetadata\n\n function hasMetadata(metadataKey: any, target: any): boolean;\n function hasMetadata(metadataKey: any, target: any, propertyKey: string | symbol): boolean;\n\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasMetadata(metadataKey: any, target: any, propertyKey?: string | symbol): boolean {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n }\n\n exporter('hasMetadata', hasMetadata);\n\n // 4.1.5 Reflect.hasOwnMetadata(metadataKey, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-hasownmetadata\n\n function hasOwnMetadata(metadataKey: any, target: any): boolean;\n function hasOwnMetadata(metadataKey: any, target: any, propertyKey: string | symbol): boolean;\n\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasOwnMetadata(metadataKey: any, target: any, propertyKey?: string | symbol): boolean {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n }\n\n exporter('hasOwnMetadata', hasOwnMetadata);\n\n // 4.1.6 Reflect.getMetadata(metadataKey, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-getmetadata\n\n function getMetadata(metadataKey: any, target: any): any;\n function getMetadata(metadataKey: any, target: any, propertyKey: string | symbol): any;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getMetadata(metadataKey: any, target: any, propertyKey?: string | symbol): any {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n }\n\n exporter('getMetadata', getMetadata);\n\n // 4.1.7 Reflect.getOwnMetadata(metadataKey, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-getownmetadata\n\n function getOwnMetadata(metadataKey: any, target: any): any;\n function getOwnMetadata(metadataKey: any, target: any, propertyKey: string | symbol): any;\n\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getOwnMetadata(metadataKey: any, target: any, propertyKey?: string | symbol): any {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n }\n\n exporter('getOwnMetadata', getOwnMetadata);\n\n // 4.1.8 Reflect.getMetadataKeys(target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-getmetadatakeys\n\n function getMetadataKeys(target: any): any[];\n function getMetadataKeys(target: any, propertyKey: string | symbol): any[];\n\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getMetadataKeys(target: any, propertyKey?: string | symbol): any[] {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryMetadataKeys(target, propertyKey);\n }\n\n exporter('getMetadataKeys', getMetadataKeys);\n\n // 4.1.9 Reflect.getOwnMetadataKeys(target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-getownmetadata\n\n function getOwnMetadataKeys(target: any): any[];\n function getOwnMetadataKeys(target: any, propertyKey: string | symbol): any[];\n\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getOwnMetadataKeys(target: any, propertyKey?: string | symbol): any[] {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryOwnMetadataKeys(target, propertyKey);\n }\n\n exporter('getOwnMetadataKeys', getOwnMetadataKeys);\n\n // 4.1.10 Reflect.deleteMetadata(metadataKey, target [, propertyKey])\n // https://rbuckton.github.io/reflect-metadata/#reflect-deletemetadata\n\n function deleteMetadata(metadataKey: any, target: any): boolean;\n function deleteMetadata(metadataKey: any, target: any, propertyKey: string | symbol): boolean;\n\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function deleteMetadata(metadataKey: any, target: any, propertyKey?: string | symbol): boolean {\n if (!IsObject(target)) throw new TypeError();\n if (!IsUndefined(propertyKey)) propertyKey = ToPropertyKey(propertyKey);\n const metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\n if (IsUndefined(metadataMap)) return false;\n if (!metadataMap.delete(metadataKey)) return false;\n if (metadataMap.size > 0) return true;\n const targetMetadata = Metadata.get(target);\n targetMetadata.delete(propertyKey);\n if (targetMetadata.size > 0) return true;\n Metadata.delete(target);\n return true;\n }\n\n exporter('deleteMetadata', deleteMetadata);\n\n function DecorateConstructor(decorators: ClassDecorator[], target: Function): Function {\n for (let i = decorators.length - 1; i >= 0; --i) {\n const decorator = decorators[i];\n const decorated = decorator(target);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsConstructor(decorated)) {\n // Chris McV - hack to work with Mobx\n //throw new TypeError();\n }\n target = decorated;\n }\n }\n return target;\n }\n\n function DecorateProperty(\n decorators: MemberDecorator[],\n target: any,\n propertyKey: string | symbol,\n descriptor: PropertyDescriptor | undefined\n ): PropertyDescriptor | undefined {\n for (let i = decorators.length - 1; i >= 0; --i) {\n const decorator = decorators[i];\n const decorated = decorator(target, propertyKey, descriptor);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsObject(decorated)) throw new TypeError();\n descriptor = decorated;\n }\n }\n return descriptor;\n }\n\n // 2.1.1 GetOrCreateMetadataMap(O, P, Create)\n // https://rbuckton.github.io/reflect-metadata/#getorcreatemetadatamap\n function GetOrCreateMetadataMap(\n O: any,\n P: string | symbol | undefined,\n Create: true\n ): Map;\n function GetOrCreateMetadataMap(\n O: any,\n P: string | symbol | undefined,\n Create: false\n ): Map | undefined;\n function GetOrCreateMetadataMap(\n O: any,\n P: string | symbol | undefined,\n Create: boolean\n ): Map | undefined {\n let targetMetadata = Metadata.get(O);\n if (IsUndefined(targetMetadata)) {\n if (!Create) return undefined;\n targetMetadata = new _Map>();\n Metadata.set(O, targetMetadata);\n }\n let metadataMap = targetMetadata.get(P);\n if (IsUndefined(metadataMap)) {\n if (!Create) return undefined;\n metadataMap = new _Map();\n targetMetadata.set(P, metadataMap);\n }\n return metadataMap;\n }\n\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n function OrdinaryHasMetadata(\n MetadataKey: any,\n O: any,\n P: string | symbol | undefined\n ): boolean {\n const hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n const parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent)) return OrdinaryHasMetadata(MetadataKey, parent, P);\n return false;\n }\n\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n function OrdinaryHasOwnMetadata(\n MetadataKey: any,\n O: any,\n P: string | symbol | undefined\n ): boolean {\n const metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap)) return false;\n return ToBoolean(metadataMap.has(MetadataKey));\n }\n\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n function OrdinaryGetMetadata(MetadataKey: any, O: any, P: string | symbol | undefined): any {\n const hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n const parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent)) return OrdinaryGetMetadata(MetadataKey, parent, P);\n return undefined;\n }\n\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n function OrdinaryGetOwnMetadata(MetadataKey: any, O: any, P: string | symbol | undefined): any {\n const metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap)) return undefined;\n return metadataMap.get(MetadataKey);\n }\n\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n function OrdinaryDefineOwnMetadata(\n MetadataKey: any,\n MetadataValue: any,\n O: any,\n P: string | symbol | undefined\n ): void {\n const metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n metadataMap.set(MetadataKey, MetadataValue);\n }\n\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n function OrdinaryMetadataKeys(O: any, P: string | symbol | undefined): any[] {\n const ownKeys = OrdinaryOwnMetadataKeys(O, P);\n const parent = OrdinaryGetPrototypeOf(O);\n if (parent === null) return ownKeys;\n const parentKeys = OrdinaryMetadataKeys(parent, P);\n if (parentKeys.length <= 0) return ownKeys;\n if (ownKeys.length <= 0) return parentKeys;\n const set = new _Set();\n const keys: any[] = [];\n for (const key of ownKeys) {\n const hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n for (const key of parentKeys) {\n const hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n return keys;\n }\n\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n function OrdinaryOwnMetadataKeys(O: any, P: string | symbol | undefined): any[] {\n const keys: any[] = [];\n const metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap)) return keys;\n const keysObj = metadataMap.keys();\n const iterator = GetIterator(keysObj);\n let k = 0;\n while (true) {\n const next = IteratorStep(iterator);\n if (!next) {\n keys.length = k;\n return keys;\n }\n const nextValue = IteratorValue(next);\n try {\n keys[k] = nextValue;\n } catch (e) {\n try {\n IteratorClose(iterator);\n } finally {\n throw e;\n }\n }\n k++;\n }\n }\n\n // 6 ECMAScript Data Typ0es and Values\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n function Type(x: any): Tag {\n if (x === null) return Tag.Null;\n switch (typeof x) {\n case 'undefined':\n return Tag.Undefined;\n case 'boolean':\n return Tag.Boolean;\n case 'string':\n return Tag.String;\n case 'symbol':\n return Tag.Symbol;\n case 'number':\n return Tag.Number;\n case 'object':\n return x === null ? Tag.Null : Tag.Object;\n default:\n return Tag.Object;\n }\n }\n\n // 6.1 ECMAScript Language Types\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types\n const enum Tag {\n Undefined,\n Null,\n Boolean,\n String,\n Symbol,\n Number,\n Object\n }\n\n // 6.1.1 The Undefined Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n function IsUndefined(x: any): x is undefined {\n return x === undefined;\n }\n\n // 6.1.2 The Null Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n function IsNull(x: any): x is null {\n return x === null;\n }\n\n // 6.1.5 The Symbol Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n function IsSymbol(x: any): x is symbol {\n return typeof x === 'symbol';\n }\n\n // 6.1.7 The Object Type\n // https://tc39.github.io/ecma262/#sec-object-type\n function IsObject(x: T | undefined | null | boolean | string | symbol | number): x is T {\n return typeof x === 'object' ? x !== null : typeof x === 'function';\n }\n\n // 7.1 Type Conversion\n // https://tc39.github.io/ecma262/#sec-type-conversion\n\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // https://tc39.github.io/ecma262/#sec-toprimitive\n function ToPrimitive(\n input: any,\n PreferredType?: Tag\n ): undefined | null | boolean | string | symbol | number {\n switch (Type(input)) {\n case Tag.Undefined:\n return input;\n case Tag.Null:\n return input;\n case Tag.Boolean:\n return input;\n case Tag.String:\n return input;\n case Tag.Symbol:\n return input;\n case Tag.Number:\n return input;\n }\n const hint: 'string' | 'number' | 'default' =\n PreferredType === Tag.String\n ? 'string'\n : PreferredType === Tag.Number\n ? 'number'\n : 'default';\n const exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n if (exoticToPrim !== undefined) {\n const result = exoticToPrim.call(input, hint);\n if (IsObject(result)) throw new TypeError();\n return result;\n }\n return OrdinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n }\n\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n function OrdinaryToPrimitive(\n O: any,\n hint: 'string' | 'number'\n ): undefined | null | boolean | string | symbol | number {\n if (hint === 'string') {\n const toString = O.toString;\n if (IsCallable(toString)) {\n const result = toString.call(O);\n if (!IsObject(result)) return result;\n }\n const valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n const result = valueOf.call(O);\n if (!IsObject(result)) return result;\n }\n } else {\n const valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n const result = valueOf.call(O);\n if (!IsObject(result)) return result;\n }\n const toString = O.toString;\n if (IsCallable(toString)) {\n const result = toString.call(O);\n if (!IsObject(result)) return result;\n }\n }\n throw new TypeError();\n }\n\n // 7.1.2 ToBoolean(argument)\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\n function ToBoolean(argument: any): boolean {\n return !!argument;\n }\n\n // 7.1.12 ToString(argument)\n // https://tc39.github.io/ecma262/#sec-tostring\n function ToString(argument: any): string {\n return '' + argument;\n }\n\n // 7.1.14 ToPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-topropertykey\n function ToPropertyKey(argument: any): string | symbol {\n const key = ToPrimitive(argument, Tag.String);\n if (IsSymbol(key)) return key;\n return ToString(key);\n }\n\n // 7.2 Testing and Comparison Operations\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n\n // 7.2.2 IsArray(argument)\n // https://tc39.github.io/ecma262/#sec-isarray\n function IsArray(argument: any): argument is any[] {\n return Array.isArray\n ? Array.isArray(argument)\n : argument instanceof Object\n ? argument instanceof Array\n : Object.prototype.toString.call(argument) === '[object Array]';\n }\n\n // 7.2.3 IsCallable(argument)\n // https://tc39.github.io/ecma262/#sec-iscallable\n function IsCallable(argument: any): argument is Function {\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n return typeof argument === 'function';\n }\n\n // 7.2.4 IsConstructor(argument)\n // https://tc39.github.io/ecma262/#sec-isconstructor\n function IsConstructor(argument: any): argument is Function {\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n return typeof argument === 'function';\n }\n\n // 7.2.7 IsPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-ispropertykey\n function IsPropertyKey(argument: any): argument is string | symbol {\n switch (Type(argument)) {\n case Tag.String:\n return true;\n case Tag.Symbol:\n return true;\n default:\n return false;\n }\n }\n\n // 7.3 Operations on Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\n\n // 7.3.9 GetMethod(V, P)\n // https://tc39.github.io/ecma262/#sec-getmethod\n function GetMethod(V: any, P: any): Function | undefined {\n const func = V[P];\n if (func === undefined || func === null) return undefined;\n if (!IsCallable(func)) throw new TypeError();\n return func;\n }\n\n // 7.4 Operations on Iterator Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n\n function GetIterator(obj: Iterable): Iterator {\n const method = GetMethod(obj, iteratorSymbol);\n if (!IsCallable(method)) throw new TypeError(); // from Call\n const iterator = method.call(obj);\n if (!IsObject(iterator)) throw new TypeError();\n return iterator;\n }\n\n // 7.4.4 IteratorValue(iterResult)\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n function IteratorValue(iterResult: IteratorResult): T {\n return iterResult.value;\n }\n\n // 7.4.5 IteratorStep(iterator)\n // https://tc39.github.io/ecma262/#sec-iteratorstep\n function IteratorStep(iterator: Iterator): IteratorResult | false {\n const result = iterator.next();\n return result.done ? false : result;\n }\n\n // 7.4.6 IteratorClose(iterator, completion)\n // https://tc39.github.io/ecma262/#sec-iteratorclose\n function IteratorClose(iterator: Iterator) {\n const f = iterator['return'];\n if (f) f.call(iterator);\n }\n\n // 9.1 Ordinary Object Internal Methods and Internal Slots\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n function OrdinaryGetPrototypeOf(O: any): any {\n const proto = Object.getPrototypeOf(O);\n if (typeof O !== 'function' || O === functionPrototype) return proto;\n\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\n // Try to determine the superclass constructor. Compatible implementations\n // must either set __proto__ on a subclass constructor to the superclass constructor,\n // or ensure each class has a valid `constructor` property on its prototype that\n // points back to the constructor.\n\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\n if (proto !== functionPrototype) return proto;\n\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n const prototype = O.prototype;\n const prototypeProto = prototype && Object.getPrototypeOf(prototype);\n if (prototypeProto == null || prototypeProto === Object.prototype) return proto;\n\n // If the constructor was not a function, then we cannot determine the heritage.\n const constructor = prototypeProto.constructor;\n if (typeof constructor !== 'function') return proto;\n\n // If we have some kind of self-reference, then we cannot determine the heritage.\n if (constructor === O) return proto;\n\n // we have a pretty good guess at the heritage.\n return constructor;\n }\n\n // naive Map shim\n function CreateMapPolyfill(): MapConstructor {\n const cacheSentinel = {};\n const arraySentinel: any[] = [];\n\n class MapIterator implements IterableIterator {\n private _keys: K[];\n private _values: V[];\n private _index = 0;\n private _selector: (key: K, value: V) => R;\n constructor(keys: K[], values: V[], selector: (key: K, value: V) => R) {\n this._keys = keys;\n this._values = values;\n this._selector = selector;\n }\n '@@iterator'() {\n return this;\n }\n [iteratorSymbol]() {\n return this;\n }\n next(): IteratorResult {\n const index = this._index;\n if (index >= 0 && index < this._keys.length) {\n const result = this._selector(this._keys[index], this._values[index]);\n if (index + 1 >= this._keys.length) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n } else {\n this._index++;\n }\n return { value: result, done: false };\n }\n return { value: undefined, done: true };\n }\n throw(error: any): IteratorResult {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n throw error;\n }\n return(value?: R): IteratorResult {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n return { value: value, done: true };\n }\n }\n\n return class Map {\n private _keys: K[] = [];\n private _values: (V | undefined)[] = [];\n private _cacheKey = cacheSentinel;\n private _cacheIndex = -2;\n get size() {\n return this._keys.length;\n }\n has(key: K): boolean {\n return this._find(key, /*insert*/ false) >= 0;\n }\n get(key: K): V | undefined {\n const index = this._find(key, /*insert*/ false);\n return index >= 0 ? this._values[index] : undefined;\n }\n set(key: K, value: V): this {\n const index = this._find(key, /*insert*/ true);\n this._values[index] = value;\n return this;\n }\n delete(key: K): boolean {\n const index = this._find(key, /*insert*/ false);\n if (index >= 0) {\n const size = this._keys.length;\n for (let i = index + 1; i < size; i++) {\n this._keys[i - 1] = this._keys[i];\n this._values[i - 1] = this._values[i];\n }\n this._keys.length--;\n this._values.length--;\n if (key === this._cacheKey) {\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n return true;\n }\n return false;\n }\n clear(): void {\n this._keys.length = 0;\n this._values.length = 0;\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n keys() {\n return new MapIterator(this._keys, this._values, getKey);\n }\n values() {\n return new MapIterator(this._keys, this._values, getValue);\n }\n entries() {\n return new MapIterator(this._keys, this._values, getEntry);\n }\n '@@iterator'() {\n return this.entries();\n }\n [iteratorSymbol]() {\n return this.entries();\n }\n private _find(key: K, insert?: boolean): number {\n if (this._cacheKey !== key) {\n this._cacheIndex = this._keys.indexOf((this._cacheKey = key));\n }\n if (this._cacheIndex < 0 && insert) {\n this._cacheIndex = this._keys.length;\n this._keys.push(key);\n this._values.push(undefined);\n }\n return this._cacheIndex;\n }\n };\n\n function getKey(key: K, _: V) {\n return key;\n }\n\n function getValue(_: K, value: V) {\n return value;\n }\n\n function getEntry(key: K, value: V) {\n return [key, value] as [K, V];\n }\n }\n\n // naive Set shim\n function CreateSetPolyfill(): SetConstructor {\n return class Set {\n private _map = new _Map();\n get size() {\n return this._map.size;\n }\n has(value: T): boolean {\n return this._map.has(value);\n }\n add(value: T): Set {\n return this._map.set(value, value), this;\n }\n delete(value: T): boolean {\n return this._map.delete(value);\n }\n clear(): void {\n this._map.clear();\n }\n keys() {\n return this._map.keys();\n }\n values() {\n return this._map.values();\n }\n entries() {\n return this._map.entries();\n }\n '@@iterator'() {\n return this.keys();\n }\n [iteratorSymbol]() {\n return this.keys();\n }\n };\n }\n\n // naive WeakMap shim\n function CreateWeakMapPolyfill(): WeakMapConstructor {\n const UUID_SIZE = 16;\n const keys = HashMap.create();\n const rootKey = CreateUniqueKey();\n return class WeakMap {\n private _key = CreateUniqueKey();\n has(target: K): boolean {\n const table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.has(table, this._key) : false;\n }\n get(target: K): V {\n const table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\n }\n set(target: K, value: V): WeakMap {\n const table = GetOrCreateWeakMapTable(target, /*create*/ true);\n table[this._key] = value;\n return this;\n }\n delete(target: K): boolean {\n const table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? delete table[this._key] : false;\n }\n clear(): void {\n // NOTE: not a real clear, just makes the previous data unreachable\n this._key = CreateUniqueKey();\n }\n };\n\n function CreateUniqueKey(): string {\n let key: string;\n do key = '@@WeakMap@@' + CreateUUID();\n while (HashMap.has(keys, key));\n keys[key] = true;\n return key;\n }\n\n function GetOrCreateWeakMapTable(target: K, create: true): HashMap;\n function GetOrCreateWeakMapTable(target: K, create: false): HashMap | undefined;\n function GetOrCreateWeakMapTable(target: K, create: boolean): HashMap | undefined {\n if (!hasOwn.call(target, rootKey)) {\n if (!create) return undefined;\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\n }\n return (target)[rootKey];\n }\n\n function FillRandomBytes(buffer: BufferLike, size: number): BufferLike {\n for (let i = 0; i < size; ++i) buffer[i] = (Math.random() * 0xff) | 0;\n return buffer;\n }\n\n function GenRandomBytes(size: number): BufferLike {\n if (typeof Uint8Array === 'function') {\n if (typeof crypto !== 'undefined')\n return crypto.getRandomValues(new Uint8Array(size)) as Uint8Array;\n if (typeof msCrypto !== 'undefined')\n return msCrypto.getRandomValues(new Uint8Array(size)) as Uint8Array;\n return FillRandomBytes(new Uint8Array(size), size);\n }\n return FillRandomBytes(new Array(size), size);\n }\n\n function CreateUUID() {\n const data = GenRandomBytes(UUID_SIZE);\n // mark as random - RFC 4122 \u00A7 4.4\n data[6] = (data[6] & 0x4f) | 0x40;\n data[8] = (data[8] & 0xbf) | 0x80;\n let result = '';\n for (let offset = 0; offset < UUID_SIZE; ++offset) {\n const byte = data[offset];\n if (offset === 4 || offset === 6 || offset === 8) result += '-';\n if (byte < 16) result += '0';\n result += byte.toString(16).toLowerCase();\n }\n return result;\n }\n }\n\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n function MakeDictionary(obj: T): T {\n (obj).__ = undefined;\n delete (obj).__;\n return obj;\n }\n });\n}\n", "import \"ni:sha-256;qU4tXd6LwVxmjkWZ3e_b-IrPB-Q9GM9K3DIx33eHv7w\";", "export {};\n\nimport './array';\nimport './date';\nimport './function';\nimport './number';\nimport './object';\nimport './regex';\nimport './set';\nimport './string';\nimport './window';\n", "import type { IHasId } from 'tm3-core/api.dtos';\n\nexport {};\n\ndeclare global {\n interface Array {\n addItems(this: T[], ...items: T[]): T[];\n addIf(this: T[], add?: boolean, target?: T | null, fallback?: T | null): T[];\n addNotEmpty(this: T[], target?: T | null): T[];\n average(this: T[], callback: (value: T, index: number, array: T[]) => number): number;\n intersect(this: T[], target: Iterable): T[];\n max(this: T[], callback: (value: T, index: number, array: T[]) => number): number;\n min(this: T[], callback: (value: T, index: number, array: T[]) => number): number;\n removeItem(this: T[], target: T): boolean;\n sum(this: T[], callback: (value: T, index: number, array: T[]) => number): number;\n toClassNames(this: T[]): string;\n toMap(this: T[], callback: (value: T, index: number, array: T[]) => U): Map;\n toObject(\n this: T[],\n callback: (value: T, index: number, array: T[]) => U\n ): Record;\n toSet(this: T[]): Set;\n updateById(this: T[], value: T & IHasId): T[];\n updateItem(this: T[], value: T, pred: (value: T, index: number, array: T[]) => boolean): T[];\n unZip(this: T[], pred: (value: T, index: number, array: T[]) => boolean): [T[], T[]];\n /**\n * @deprecated Prefer Map.groupBy()\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/groupBy\n */\n groupToMap(this: T[], keyFunc: (value: T, index: number, array: T[]) => U): Map;\n }\n}\n\nconst { prototype } = Array;\n\nif (!prototype.addItems) {\n Object.defineProperty(prototype, 'addItems', {\n writable: false,\n enumerable: false,\n value: function (this: T[], ...items: T[]): T[] {\n this.push(...items);\n\n return this;\n }\n });\n}\n\nif (!prototype.addIf) {\n Object.defineProperty(prototype, 'addIf', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n add?: boolean,\n target?: T | null,\n fallback?: T | null\n ): Array {\n return this.addNotEmpty(add ? target : fallback);\n }\n });\n}\n\nif (!prototype.addNotEmpty) {\n Object.defineProperty(prototype, 'addNotEmpty', {\n writable: false,\n enumerable: false,\n value: function (this: T[], target?: T | null): T[] {\n return !!target ? this.addItems(target) : this;\n }\n });\n}\n\nif (!prototype.average) {\n Object.defineProperty(prototype, 'average', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => number\n ): number {\n return this.sum(callback) / this.length;\n }\n });\n}\n\nif (!prototype.intersect) {\n Object.defineProperty(prototype, 'intersect', {\n writable: false,\n enumerable: false,\n value: function (this: T[], target: Iterable): T[] {\n return (this as T[]).toSet().intersect(target);\n }\n });\n}\n\nif (!prototype.max) {\n Object.defineProperty(prototype, 'max', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => number\n ): number {\n return this.reduce((acc, ...args) => {\n return Math.max(acc, callback(...args));\n }, Number.NEGATIVE_INFINITY);\n }\n });\n}\n\nif (!prototype.min) {\n Object.defineProperty(prototype, 'min', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => number\n ): number {\n return this.reduce((acc, ...args) => {\n return Math.min(acc, callback(...args));\n }, Number.POSITIVE_INFINITY);\n }\n });\n}\n\nif (!prototype.removeItem) {\n Object.defineProperty(prototype, 'removeItem', {\n writable: false,\n enumerable: false,\n value: function (this: T[], target: Iterable): boolean {\n const index = this.findIndex((x) => x === target);\n\n const canRemove = index > -1;\n\n if (canRemove) {\n this.splice(index, 1);\n }\n\n return canRemove;\n }\n });\n}\n\nif (!prototype.sum) {\n Object.defineProperty(prototype, 'sum', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => number\n ): number {\n return this.reduce((acc, ...args) => {\n return acc + callback(...args);\n }, 0);\n }\n });\n}\n\nif (!prototype.toClassNames) {\n Object.defineProperty(prototype, 'toClassNames', {\n writable: false,\n enumerable: false,\n value: function (this: T[]): string {\n return this.join(' ');\n }\n });\n}\n\nif (!prototype.toMap) {\n Object.defineProperty(prototype, 'toMap', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => U\n ): Map {\n return this.reduce((map: Map, value, index, array) => {\n return map.set(callback(value, index, array), value);\n }, new Map());\n }\n });\n}\n\nif (!prototype.toObject) {\n Object.defineProperty(prototype, 'toObject', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => U\n ): Record {\n return this.reduce>((acc, value, index, array) => {\n acc[callback(value, index, array)] = value;\n return acc;\n }, {} as Record);\n }\n });\n}\n\nif (!prototype.toSet) {\n Object.defineProperty(prototype, 'toSet', {\n writable: false,\n enumerable: false,\n value: function (this: T[]): Set {\n return new Set(this);\n }\n });\n}\n\nif (!prototype.unZip) {\n Object.defineProperty(prototype, 'unZip', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n pred: (value: T, index: number, array: T[]) => boolean\n ): [T[], T[]] {\n const left: T[] = [];\n const right: T[] = [];\n\n this.forEach((value, index, array) => {\n (pred(value, index, array) ? left : right).push(value);\n });\n\n return [left, right];\n }\n });\n}\n\nif (!prototype.updateItem) {\n Object.defineProperty(prototype, 'updateItem', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n value: T,\n pred: (value: T, index: number, array: T[]) => boolean\n ): T[] {\n const index = this.findIndex(pred);\n\n if (index > -1) {\n this[index] = value;\n } else {\n this.push(value);\n }\n\n return this;\n }\n });\n}\n\nif (!prototype.updateById) {\n Object.defineProperty(prototype, 'updateById', {\n writable: false,\n enumerable: false,\n value: function (this: T[], value: T): T[] {\n return this.updateItem(value, (x: T) => x.id === value.id);\n }\n });\n}\n\nif (!prototype.groupToMap) {\n Object.defineProperty(prototype, 'groupToMap', {\n writable: false,\n enumerable: false,\n value: function (\n this: T[],\n callback: (value: T, index: number, array: T[]) => U\n ): Map {\n return this.reduce((map: Map, value, index, array) => {\n const key = callback(value, index, array);\n const values = (map.get(key) ?? []).addItems(value);\n return map.set(key, values);\n }, new Map());\n }\n });\n}\n", "export enum TimeUnit {\n second = 1000,\n minute = 1000 * 60,\n hour = 1000 * 60 * 60,\n day = 1000 * 60 * 60 * 24,\n year = 1000 * 60 * 60 * 24 * 365\n}\n\ndeclare global {\n interface DateConstructor {\n diff: (first: Date, second: Date, unit: TimeUnit) => number;\n isDate: (arg: any) => arg is Date;\n isSameDay: (first: Date, second: Date) => boolean;\n TimeUnit: typeof TimeUnit;\n }\n\n interface Date {\n diff: (target: Date, unit: TimeUnit) => number;\n isSameDay: (target: Date) => boolean;\n }\n}\n\nif (!Date.diff) {\n Object.defineProperty(Date, 'diff', {\n writable: false,\n enumerable: false,\n value: function (first: Date, second: Date, unit: TimeUnit): number {\n return first.diff(second, unit);\n }\n });\n}\n\nif (!Date.isDate) {\n Object.defineProperty(Date, 'isDate', {\n writable: false,\n enumerable: false,\n value: (arg: any): arg is Date => {\n return arg instanceof Date;\n }\n });\n}\n\nif (!Date.isSameDay) {\n Object.defineProperty(Date, 'isSameDay', {\n writable: false,\n enumerable: false,\n value: (first: Date, second: Date): boolean => {\n return first.isSameDay(second);\n }\n });\n}\n\nif (!Date.TimeUnit) {\n Object.defineProperty(Date, 'TimeUnit', {\n writable: false,\n enumerable: false,\n value: TimeUnit\n });\n}\n\nif (!Date.prototype.diff) {\n Object.defineProperty(Date.prototype, 'diff', {\n writable: false,\n enumerable: false,\n value: function (this: Date, target: Date, unit: TimeUnit): number {\n return (this.getTime() - target.getTime()) / unit;\n }\n });\n}\n\nif (!Date.prototype.isSameDay) {\n Object.defineProperty(Date.prototype, 'isSameDay', {\n writable: false,\n enumerable: false,\n value: function (this: Date, target: Date): boolean {\n return (\n this.getFullYear() === target.getFullYear() &&\n this.getMonth() === target.getMonth() &&\n this.getDate() === target.getDate()\n );\n }\n });\n}\n", "export interface ICancellable {\n cancel: () => void;\n}\n\ndeclare global {\n interface FunctionConstructor {\n debounce: any>(\n target: T,\n wait?: number\n ) => ((...args: Parameters) => void) & ICancellable;\n NOOP: () => void;\n }\n\n interface Function {\n bzDebounce: any>(\n this: T,\n wait?: number\n ) => ((...args: Parameters) => void) & ICancellable;\n }\n}\n\nif (!Function.NOOP) {\n Object.defineProperty(Function, 'NOOP', {\n writable: false,\n enumerable: false,\n value: () => {\n return;\n }\n });\n}\n\nif (!Function.debounce) {\n Object.defineProperty(Function, 'debounce', {\n writable: false,\n enumerable: false,\n value: function any>(\n target: T,\n wait?: number\n ): ((...args: Parameters) => void) & ICancellable {\n if (wait != null && wait < 0) {\n throw new RangeError('[Function.debounce] - Wait cannot be negative');\n }\n\n let timer: number | undefined;\n\n return Object.defineProperties(\n (...args: Parameters): void => {\n window.clearTimeout(timer);\n timer = window.setTimeout(() => target(...args), wait);\n },\n {\n cancel: {\n value: () => window.clearTimeout(timer)\n }\n }\n ) as ((...args: Parameters) => void) & ICancellable;\n }\n });\n}\n\nif (!Function.prototype.bzDebounce) {\n Object.defineProperty(Function.prototype, 'bzDebounce', {\n writable: false,\n enumerable: false,\n value: function any>(\n this: T,\n wait?: number\n ): ((...args: Parameters) => void) & ICancellable {\n if (wait != null && wait < 0) {\n throw new RangeError('[Function.bzDebounce] - Wait cannot be negative');\n }\n\n let timer: number | undefined;\n\n return Object.defineProperties(\n (...args: Parameters): void => {\n window.clearTimeout(timer);\n timer = window.setTimeout(() => this(...args), wait);\n },\n {\n cancel: {\n value: () => window.clearTimeout(timer)\n }\n }\n ) as ((...args: Parameters) => void) & ICancellable;\n }\n });\n}\n", "export {};\n\ndeclare global {\n interface Number {\n toFloat(): number;\n toInt(radix?: number): number;\n toNumber(radix?: number): number;\n }\n\n interface NumberConstructor {\n isNumber(arg: any): arg is number;\n }\n}\n\nif (!Number.isNumber) {\n Number.isNumber = function (arg: any): arg is number {\n return typeof arg === 'number';\n };\n}\n\nconst { prototype } = Number;\n\nif (!prototype.toFloat) {\n Object.defineProperty(prototype, 'toFloat', {\n writable: false,\n enumerable: false,\n value: function (this: number): number {\n return this;\n }\n });\n}\n\nif (!prototype.toInt) {\n Object.defineProperty(prototype, 'toInt', {\n writable: false,\n enumerable: false,\n value: function (this: number): number {\n return this;\n }\n });\n}\n\nif (!prototype.toNumber) {\n Object.defineProperty(prototype, 'toNumber', {\n writable: false,\n enumerable: false,\n value: function (this: number): number {\n return this;\n }\n });\n}\n", "import omit from '../../functions/omit';\nimport pick from '../../functions/pick';\n\nexport {};\n\ndeclare global {\n interface ObjectConstructor {\n omit: (target: T, ...keys: Array) => Omit;\n pick: (this: T, ...keys: Array) => Pick;\n }\n\n interface Object {\n bzOmit: (this: T, ...keys: Array) => Omit;\n bzPick: (this: T, ...keys: Array) => Pick;\n }\n}\n\nif (!Object.omit) {\n Object.defineProperty(Object, 'omit', {\n writable: false,\n enumerable: false,\n value: function (target: T, ...keys: K[]): Omit {\n return omit(target, ...keys);\n }\n });\n}\n\nif (!Object.pick) {\n Object.defineProperty(Object, 'pick', {\n writable: false,\n enumerable: false,\n value: function (target: T, ...keys: K[]): Pick {\n return pick(target, ...keys);\n }\n });\n}\n\nif (!Object.prototype.bzOmit) {\n Object.defineProperty(Object.prototype, 'bzOmit', {\n writable: false,\n enumerable: false,\n value: function (this: T, ...keys: Array): Omit {\n return omit(this, ...keys);\n }\n });\n}\n\nif (!Object.prototype.bzPick) {\n Object.defineProperty(Object.prototype, 'bzPick', {\n writable: false,\n enumerable: false,\n value: function (this: T, ...keys: K[]): Pick {\n return pick(this, ...keys);\n }\n });\n}\n", "const pick = function (target: T, ...keys: K[]): Pick {\n const result = Object.fromEntries(\n (Object.entries(target) as [K, any][]).filter((x) => keys.includes(x[0]))\n );\n\n return result as Pick;\n};\n\nexport default pick;\n", "export {};\n\ndeclare global {\n interface RegExpConstructor {\n escape: (value: string) => string;\n }\n}\n\nif (!RegExp.escape) {\n Object.defineProperty(RegExp, 'escape', {\n enumerable: false,\n writable: false,\n value: function (string: string): string {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n }\n });\n}\n", "export {};\n\ndeclare global {\n interface Set {\n difference(this: Set, target: Set): Set;\n intersect(this: Set, target: Iterable): T[];\n toArray(this: Set): T[];\n }\n\n interface SetConstructor {\n isSet(arg: any): arg is Set;\n }\n}\n\nif (!Set.isSet) {\n Set.isSet = function (arg: any): arg is Set {\n return arg instanceof Set;\n };\n}\n\nconst { prototype } = Set;\n\nif (!prototype.difference) {\n Object.defineProperty(prototype, 'difference', {\n writable: false,\n enumerable: false,\n value: function (this: Set, target: Set): Set {\n const result = new Set(this);\n target.forEach(result.delete, result);\n\n return result;\n }\n });\n}\n\nif (!prototype.intersect) {\n Object.defineProperty(prototype, 'intersect', {\n writable: false,\n enumerable: false,\n value: function (this: Set, target: Iterable): T[] {\n if (!Set.isSet(target)) {\n return this.intersect(new Set(target));\n }\n\n return this.toArray().filter((x) => target.has(x));\n }\n });\n}\n\nif (!prototype.toArray) {\n Object.defineProperty(prototype, 'toArray', {\n writable: false,\n enumerable: false,\n value: function (this: Set): T[] {\n return [...this];\n }\n });\n}\n", "export {};\n\ndeclare global {\n interface String {\n /**\n * This is to allow for the decoding of base 64 unicode\n * @see https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n * @author Chris Hunter\n */\n bzDecode(): string;\n /**\n * This is to allow for the encoding of unicode into base 64\n * @see https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n * @author Chris Hunter\n */\n bzEncode(): string;\n toFloat(): number;\n toInt(radix?: number): number;\n toNumber(radix?: number): number;\n toUint8Array(): Uint8Array;\n splitOnCapitals(): string;\n }\n\n interface StringConstructor {\n isString(arg: any): arg is string;\n }\n}\n\nif (!String.isString) {\n String.isString = function (arg: any): arg is string {\n return typeof arg === 'string';\n };\n}\n\nconst { prototype } = String;\n\nif (!prototype.bzDecode) {\n Object.defineProperty(prototype, 'bzDecode', {\n writable: false,\n enumerable: false,\n value: function (this: string): string {\n const binString = atob(this);\n const bytes = Uint8Array.from(binString, (m) => m.codePointAt(0)!);\n return new TextDecoder().decode(bytes);\n }\n });\n}\n\nif (!prototype.bzEncode) {\n Object.defineProperty(prototype, 'bzEncode', {\n writable: false,\n enumerable: false,\n value: function (this: string): string {\n const bytes = new TextEncoder().encode(this);\n const binString = Array.from(bytes, (byte) => String.fromCodePoint(byte)).join('');\n\n return btoa(binString);\n }\n });\n}\n\nif (!prototype.toFloat) {\n Object.defineProperty(String, 'toFloat', {\n writable: false,\n enumerable: false,\n value: function (this: string): number {\n return parseFloat(this);\n }\n });\n}\n\nif (!prototype.toInt) {\n Object.defineProperty(prototype, 'toInt', {\n writable: false,\n enumerable: false,\n value: function (this: string, radix: number = 10): number {\n return parseInt(this, radix);\n }\n });\n}\n\nif (!prototype.toNumber) {\n Object.defineProperty(prototype, 'toNumber', {\n writable: false,\n enumerable: false,\n value: function (this: string, radix: number = 10): number {\n return this.toInt(radix);\n }\n });\n}\n\nif (!prototype.splitOnCapitals) {\n Object.defineProperty(prototype, 'splitOnCapitals', {\n writable: false,\n enumerable: false,\n value: function (this: string): string {\n //altered to allow for acronyms e.g. MOT (NextMOTDue => Next MOT Due)\n return this.split(/(?=(?<=[a-z])[A-Z]|[A-Z](?=[a-z]))/).join(' ');\n }\n });\n}\n\nif (!prototype.toUint8Array) {\n Object.defineProperty(prototype, 'toUint8Array', {\n writable: false,\n enumerable: false,\n value: function (this: string): Uint8Array {\n return new Uint8Array(Array.from(atob(this)).map((char) => char.charCodeAt(0)));\n }\n });\n}\n", "import MobileDetect from 'mobile-detect';\n\nimport {} from 'history';\n\nexport {};\n\ndeclare global {\n interface Window {\n debugger?: boolean;\n mobileDetection: MobileDetect;\n browserHistory: any;\n }\n\n function BzNotFalsy(arg: T | undefined | null): arg is T;\n function BzNotNull(arg: T | undefined | null): arg is T;\n}\n\nObject.defineProperty(window, 'BzNotFalsy', {\n writable: false,\n enumerable: false,\n value: function (arg: T | undefined | null): arg is T {\n return !!arg;\n }\n});\n\nObject.defineProperty(window, 'BzNotNull', {\n writable: false,\n enumerable: false,\n value: function (arg: T | undefined | null): arg is T {\n return arg != null;\n }\n});\n\nwindow.mobileDetection = new MobileDetect(window.navigator.userAgent);\n", "// applies tailwind themes using css variables\nimport type React from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { defaultTheme, useBzThemeStore } from './store/theme';\nimport type { ITheme } from './store/theme';\nimport useTheme from './hooks/theme';\n\nexport interface IProps {\n theme?: Partial;\n}\n\nconst BzTheme: React.FC = observer((props) => {\n useTheme(props.theme ?? defaultTheme);\n\n return null;\n});\n\nexport const BzChangableTheme: React.FC = observer(() => {\n const { theme } = useBzThemeStore();\n useTheme(theme ?? defaultTheme);\n\n return null;\n});\n\nexport default BzTheme;\n", "import React from 'react';\n\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\n\nimport createContext from 'bz-utilities/hooks/context-v2';\n\nexport interface IThemeValues {\n accent: string;\n primary: string;\n secondary: string;\n}\nexport interface ITheme extends IThemeValues {\n accent: string;\n id: number;\n name: string;\n primary: string;\n secondary: string;\n}\n\nexport const defaultTheme: ITheme = {\n accent: 'gray',\n id: 1,\n name: 'default',\n primary: 'blue',\n secondary: 'sky'\n};\n\nexport const [BzThemeStoreContext, useBzThemeStore] = createContext('BzThemeStore');\n\nexport const BzThemeStoreProvider: React.FC = observer((props) => {\n const [store] = React.useState(() => new BzThemeStore());\n\n return (\n {props.children}\n );\n});\n\nBzThemeStoreProvider.displayName = 'BzThemeStoreProvider';\n\nclass BzThemeStore {\n @observable theme: ITheme = {\n ...defaultTheme\n };\n}\n\nexport default BzThemeStore;\n", "// applies tailwind themes using css variables\nimport React from 'react';\n\nimport type { IThemeValues } from '../../store/theme';\n\nconst shades = Object.freeze([50, 100, 200, 300, 400, 500, 600, 700, 800, 900] as const);\n\nconst useSetThemeVariable = (portion: keyof IThemeValues, colour?: string) => {\n React.useEffect(() => {\n if (!colour) {\n return;\n }\n\n shades.forEach((i) => {\n document.documentElement.style.setProperty(\n `--color-${portion}-${i}`,\n `var(--color-${colour}-${i})`\n );\n });\n }, [portion, colour]);\n};\n\nconst useTheme = (theme: Partial) => {\n const { accent, primary, secondary } = theme;\n\n useSetThemeVariable('primary', primary);\n useSetThemeVariable('secondary', secondary);\n useSetThemeVariable('accent', accent);\n};\n\nexport default useTheme;\n", "import React from 'react';\n\nimport { makeStyles, Snackbar } from '@material-ui/core';\n\nimport Button from 'bz-core-controls/controls/general/button';\nimport useInterval from 'lib/hooks/useInterval';\n\nconst VersionCheck = () => {\n const [open, setOpen] = React.useState(false);\n\n useInterval(async () => {\n if (process.env.Version?.includes('undefined') || process.env.Version === undefined) return;\n const res = await fetch('/version.json', { cache: 'reload' });\n const data = await res.json();\n //console.log(`version-check: ${data.Version} ${process.env.Version}`);\n if (data.Version != process.env.Version) {\n setOpen(true);\n }\n }, 60000);\n\n return } />;\n};\n\nconst useStyles = makeStyles({\n container: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n gridColumnGap: '1em',\n alignItems: 'center'\n }\n});\n\nconst SnackContent = (): JSX.Element => {\n const classes = useStyles();\n\n const onClick = () => {\n window.location.reload();\n };\n\n return (\n
\n New version available\n \n
\n );\n};\n\nexport default VersionCheck;\n", "import React from 'react';\n\nconst useInterval = (callback, delay) => {\n const savedCallback = React.useRef();\n\n // Remember the latest callback.\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n React.useEffect(() => {\n const tick = () => {\n savedCallback.current?.();\n };\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport default useInterval;\n", "import useStore from 'bz-stores/hook/mobx-inject/useStore';\nimport type AuthStore from 'bz-stores/lib/auth-store';\nimport type { PropsWithChildren } from 'react';\nimport { useContext, useEffect } from 'react';\nimport React, { createContext } from 'react';\nimport { useJune } from './hook';\nimport { observer } from 'mobx-react';\nimport { useLocation } from 'react-router-dom';\nimport type { Analytics } from '@june-so/analytics-next';\nimport { cache } from 'tm3-core/cache';\n\nexport const isNonProd = !window.location.host.match(\n /(.*).(tm3app.com|click-hub.com|e-clinic.co.uk|gds.co.uk|privatepracticemanagement.co.uk|caseflow.(ie|co.uk))/gm\n);\n\nexport const isAlsoNonProd = !!window.location.host.match(\n /(.*)(.(uat|demo|pre-prod|preprod|qa|beta).)(.*)/gm\n);\n\nexport const JuneContext = createContext(undefined);\n\nexport const JuneProvider = observer(({ children }: PropsWithChildren) => {\n if (isNonProd || isAlsoNonProd) return children;\n\n let key = 'aUzGSRNirZfIa9zg'; // TM3\n if (cache.app.Click) key = 'RTVart0qedMZjyKH';\n else if (cache.app.GDS) key = 'mKcCqQ3EVH9W2uHG';\n else if (cache.app.EClinic) key = '6wlOGZzL93xhoi8q';\n else if (cache.app.Caseflow) key = 'b77Uw7qWwbMbTfXB';\n else if (cache.app.PPM) key = 'usYIqQ3Yju8PwBis';\n const analytics = useJune(key);\n\n return {children};\n});\n\nexport const RouteTracking = observer(({ children }: PropsWithChildren) => {\n const analytics = useContext(JuneContext);\n const authStore = useStore('authStore');\n const license = useStore('license');\n\n useEffect(() => {\n if (analytics && authStore.user && authStore.user.isAuthenticated) {\n const { email, displayName, clientId } = authStore.user;\n analytics.identify(email, {\n email,\n name: displayName,\n prefix: cache.app.prefix,\n clientId\n });\n analytics.group(clientId.toString(), {\n userId: email,\n prefix: cache.app.prefix,\n name: `${clientId ?? ''} - ${authStore.user.location.name ?? ''}`,\n isTM3Connect: license?.get('isTM3Connect'),\n isClick: license?.get('isClick'),\n isClickPlus: license?.get('isClickPlus'),\n isEvaluating: license?.get('isEvaluating'),\n practitioners: license?.get('practitioners')\n });\n }\n }, [analytics, license]);\n\n let location = useLocation();\n\n useEffect(() => {\n analytics?.page(location.pathname);\n }, [location, analytics]);\n\n return null;\n});\n", "import { useEffect, useState } from 'react';\nimport type { Analytics } from '@june-so/analytics-next';\nimport { AnalyticsBrowser } from '@june-so/analytics-next';\n\nexport function useJune(writeKey: string) {\n const [analytics, setAnalytics] = useState(undefined);\n\n useEffect(() => {\n const loadAnalytics = async () => {\n let [_analytics] = await AnalyticsBrowser.load({\n writeKey\n });\n setAnalytics(_analytics);\n };\n loadAnalytics();\n }, [writeKey]);\n\n return analytics;\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "import React from 'react';\nimport { I18nProvider } from '@react-aria/i18n';\n\nimport { Provider } from 'mobx-react';\nimport { observer } from 'mobx-react-lite';\n\nimport TerminalDialogWrapper from 'bz-core-controls/controls/payments/shared/terminal-payment-dialog/terminal-dialog-wrapper';\n\nimport AuthStore from 'bz-stores/lib/auth-store';\n\nimport { DictionaryStoreProvider } from 'bz-utilities/dictionary/dictionary-provider';\nimport history from 'bz-utilities/modules/networking/history/rr4';\nimport Register from 'bz-utilities/modules/plugins/register';\n\nimport { CacheProvider } from 'tm3-core/cache';\n\nimport PermissionsProvider from 'controls/permissions';\n\nimport { AnalyticsProvider } from 'core/analytics';\n\nimport License from '../../../../../app/controls/license';\nimport PaywallProvider from './components/account/paywall/provider';\nimport PaywallDialog from './components/account/paywall/dialog';\n\nexport interface IProps extends React.PropsWithChildren {}\n\nconst ClickAppProviders = observer((props) => {\n return (\n \n \n \n \n \n \n \n \n \n {props.children}\n \n \n \n \n \n \n \n \n \n \n );\n});\n\nClickAppProviders.displayName = 'ClickAppProviders';\n\nexport default ClickAppProviders;\n", "import React from 'react';\nimport { observer, Provider } from 'mobx-react';\nimport PayFeatures from 'tm3-pay/features';\nimport Feature from 'tm3-core/controls/feature';\nimport TerminalPaymentDialogStore from './stores/terminal-payment-dialog-store';\nimport TerminalPaymentDialog from './index';\nimport { cache } from 'tm3-core/cache';\ninterface IProps {}\n@observer\nclass TerminalDialogWrapper extends React.Component {\n store = new TerminalPaymentDialogStore();\n render() {\n const { children } = this.props;\n const clearAcceptTerminalFeature = cache.isClick ? PayFeatures.ClickClearAcceptTerminal : PayFeatures.ClearAcceptTerminal;\n\n return (\n \n <>\n \n \n \n {children}\n \n \n );\n }\n}\nexport default TerminalDialogWrapper;\n", "import styles from './styles';\n\nimport * as React from 'react';\n\nimport { inject, observer } from 'mobx-react';\n\nimport type { WithStyles } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core';\nimport { CircularProgress } from '@material-ui/core';\n\nimport Dialog from 'bz-core-controls/controls/modal/dialog/internal';\n\nimport TerminalSelect from './terminal-select';\nimport InProgress from './in-progress';\nimport Error from './error';\nimport type TerminalPaymentDialogStore from './stores/terminal-payment-dialog-store';\nimport TerminalDialogHeader from 'bz-core-controls/controls/payments/shared/terminal-payment/dialog-header';\nimport ShowFor from 'tm3-core/controls/showFor';\nimport HideFrom from 'tm3-core/controls/hideFrom';\n\nimport { IsProduct } from 'tm3-core/enums/product-enum';\nimport ClickDialog from 'click-controls/controls/dialog';\n\ninterface IProps extends WithStyles {\n terminalPaymentDialogStore?: TerminalPaymentDialogStore;\n}\n\n@inject('terminalPaymentDialogStore')\n@observer\nclass TerminalPaymentDialog extends React.Component {\n constructor(props: IProps) {\n super(props);\n props.terminalPaymentDialogStore?.load();\n }\n render() {\n const { terminalPaymentDialogStore } = this.props;\n\n let content = ;\n if (terminalPaymentDialogStore!.loaded && !terminalPaymentDialogStore!.loading) {\n content = (\n \n \n \n \n \n );\n }\n\n return (\n <>\n \n terminalPaymentDialogStore!.onCancel()}\n >\n
{content}
\n {terminalPaymentDialogStore?.showUnloadWarning && (\n
\n If you reload the page with a transaction in process, it may result in a payment\n taken against the card, but not registered in {z.word('Click')}\n
\n )}\n \n
\n \n }\n >\n
{content}
\n {terminalPaymentDialogStore?.showUnloadWarning && (\n
\n If you reload the page with a transaction in process, it may result in a payment\n taken against the card, but not registered in {z.word('TM3')}\n
\n )}\n \n
\n \n );\n }\n}\n\nexport default withStyles(styles)(TerminalPaymentDialog);\n", "import * as React from 'react';\nimport DictionaryStore, { DictionaryStoreContext } from './dictionary-store';\nimport { observer } from 'mobx-react';\nimport { cache } from 'tm3-core/cache';\n\ninterface IProps extends React.PropsWithChildren {\n appLocation?: string;\n}\n\ntype Location = 'aus' | 'can' | 'gbr' | 'eur' | 'gcc';\n\nexport const DictionaryStoreProvider = observer>(({ children, appLocation }) => {\n const location = (appLocation?.toLowerCase() ?? cache.config.LOCATION) as Location;\n\n const [store] = React.useState(() => {\n const store = new DictionaryStore(location);\n store.load();\n return store;\n });\n\n return (\n {children}\n );\n});\n", "import React from 'react';\nimport { observer, Provider } from 'mobx-react';\n\nimport CacheStore from './stores/cache';\nimport RegisterStore from './stores/register';\nimport MediatorStore from './stores/mediator';\nimport { cache } from 'tm3-core/cache';\nimport ProntoCache from 'bz-pronto-core/cache';\n\n@observer\nclass Register extends React.Component {\n mediator: MediatorStore;\n\n constructor(props) {\n super(props);\n\n this.mediator = new MediatorStore();\n }\n\n render() {\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nexport default Register;\n", "import { action, observable } from 'mobx';\n\nclass Cache {\n @observable stores = new Map();\n\n @action.bound\n get(key) {\n return this.stores.get(key);\n }\n}\nexport default Cache;\n", "import type { ReactNode } from 'react';\nimport React from 'react';\n\nimport { inject, observer } from 'mobx-react';\n\nimport { bind } from 'bind-decorator';\n\nimport type { AuthStoreType } from 'bz-stores/lib/auth-store';\n\nimport type PermissionsStore from 'tm3-core/cache/stores/permissions-store';\n\nimport PermissionsContext from './context/permissions';\n\nexport interface IProps {\n authStore?: AuthStoreType;\n permissions?: PermissionsStore;\n children: ReactNode;\n}\n\n@inject('authStore', 'permissions')\n@observer\nclass PermissionsProvider extends React.Component {\n render() {\n return (\n \n {this.props.children}\n \n );\n }\n\n @bind\n canDoAction(rule: string, locationId?: number): boolean {\n const { authStore, permissions } = this.props;\n const { id: currentLocationId } = authStore!.user.location;\n\n return permissions!.canDoAction(rule, locationId || currentLocationId);\n }\n}\n\nexport default PermissionsProvider;\n", "import useStore from 'bz-stores/hook/mobx-inject/useStore';\nimport type AuthStore from 'bz-stores/lib/auth-store';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\nimport { JuneProvider } from './june/context';\nimport { RuptProvider } from './rupt';\n\nexport function AnalyticsProvider({ children }: PropsWithChildren) {\n return (\n <>\n \n {children}\n \n );\n}\n", "import useStore from 'bz-stores/hook/mobx-inject/useStore';\nimport type AuthStore from 'bz-stores/lib/auth-store';\nimport { observer } from 'mobx-react';\nimport { useEffect, useState } from 'react';\nimport Rupt from 'rupt';\nimport { cache } from 'tm3-core/cache';\nimport { isAlsoNonProd, isNonProd } from '../june/context';\n\nexport const RuptProvider = observer(() => {\n const authStore = useStore('authStore');\n const [deviceId, setDeviceId] = useState('');\n\n let client_id = '3b034d9f-9fab-485d-acb9-dee6664c28d8';\n if (isNonProd || isAlsoNonProd) client_id = '3a56625e-874f-48c3-900e-476c595b733f';\n if (cache.app.Click) client_id = '35898ac3-4845-4f09-b70e-1cc91c1bbe56';\n else if (cache.app.GDS) client_id = 'b96373db-8b5d-4b4e-ab4f-032f3ab4dcdc';\n else if (cache.app.EClinic) client_id = '7bbbd8e1-9d08-482f-8a85-ed829221409d';\n else if (cache.app.Caseflow) client_id = '367b9fc8-5a1b-4059-96e8-e47b7affee6b';\n else if (cache.app.PPM) client_id = 'ecc6a4e0-36f8-4414-b54d-235f977a8ad9';\n\n useEffect(() => {\n if (authStore.user && authStore.user.isAuthenticated) {\n const { email, mobileNumber, displayName, isEvaluating, clientId, location } = authStore.user;\n if (!deviceId)\n Rupt.attach({\n client_id,\n account: clientId.toString(),\n metadata: {\n displayName,\n isEvaluating,\n location: location?.name\n },\n email, // Optional\n phone: mobileNumber, // Optional\n redirect_urls: {\n logout_url: `${window.location.host}/logout`,\n new_account_url: 'https://www.clearcoursehealth.com'\n }\n }).then((res) => setDeviceId(res?.device_id ?? ''));\n }\n }, [deviceId]);\n return null;\n});\n", "let e,t;function n(e,t){return new Promise(n=>setTimeout(n,e,t))}function o(e){return parseFloat(e)}function a(e){return e.reduce((e,t)=>e+(t?1:0),0)}async function i(e,t,o=50){let a=document;for(;!a.body;)await n(o);let i=a.createElement(\"iframe\");try{for(await new Promise((e,n)=>{let o=!1,r=()=>{o=!0,e()};i.onload=r,i.onerror=e=>{o=!0,n(e)};let{style:c}=i;c.setProperty(\"display\",\"block\",\"important\"),c.position=\"absolute\",c.top=\"0\",c.left=\"0\",c.visibility=\"hidden\",t&&(\"srcdoc\"in i)?i.srcdoc=t:i.src=\"about:blank\",a.body.appendChild(i);let l=()=>{o||(i.contentWindow?.document?.readyState===\"complete\"?r():setTimeout(l,10))};l()});!i.contentWindow?.document?.body;)await n(o);return await e(i,i.contentWindow)}finally{i.parentNode?.removeChild(i)}}let r=[\"monospace\",\"sans-serif\",\"serif\"],c=[\"sans-serif-thin\",\"ARNO PRO\",\"Agency FB\",\"Arabic Typesetting\",\"Arial Unicode MS\",\"AvantGarde Bk BT\",\"BankGothic Md BT\",\"Batang\",\"Bitstream Vera Sans Mono\",\"Calibri\",\"Century\",\"Century Gothic\",\"Clarendon\",\"EUROSTILE\",\"Franklin Gothic\",\"Futura Bk BT\",\"Futura Md BT\",\"GOTHAM\",\"Gill Sans\",\"HELV\",\"Haettenschweiler\",\"Helvetica Neue\",\"Humanst521 BT\",\"Leelawadee\",\"Letter Gothic\",\"Levenim MT\",\"Lucida Bright\",\"Lucida Sans\",\"Menlo\",\"MS Mincho\",\"MS Outlook\",\"MS Reference Specialty\",\"MS UI Gothic\",\"MT Extra\",\"MYRIAD PRO\",\"Marlett\",\"Meiryo UI\",\"Microsoft Uighur\",\"Minion Pro\",\"Monotype Corsiva\",\"PMingLiU\",\"Pristina\",\"SCRIPTINA\",\"Segoe UI Light\",\"Serifa\",\"SimHei\",\"Small Fonts\",\"Staccato222 BT\",\"TRAJAN PRO\",\"Univers CE 55 Medium\",\"Vrinda\",\"ZWAdobeF\"];async function l(){let{userAgentData:e}=navigator;if(e)try{let{architecture:t,bitness:n,brands:o,fullVersionList:a,mobile:i,model:r,platform:c,platformVersion:l,uaFullVersion:s,formFactor:u,wow64:d}=await e.getHighEntropyValues([\"architecture\",\"bitness\",\"model\",\"platformVersion\",\"uaFullVersion\",\"fullVersionList\",\"formFactor\",\"wow64\"]);return{architecture:t,bitness:n,brands:o,fullVersionList:a,mobile:i,model:r,platform:c,platformVersion:l,uaFullVersion:s,formFactor:u,wow64:d}}catch(e){}return{}}let s=Math,u=()=>0,d=\"https://api.rupt.dev\",h=\"2.14.0\";var f=null;let p={};async function g({client_id:n,secret:o,account:a,user:i,email:r,phone:c,metadata:l,debug:s=!1,identity:u,include_page:g=!1,domain:w,limit_config:v,redirect_urls:_,tolerance:y,event:$,on_challenge:b,on_limit_exceeded:S,on_current_device_logout:x}){try{if(p.on_challenge=b,p.on_limit_exceeded=S,p.on_current_device_logout=x,e=_,t=w,\"undefined\"!=typeof window){let t=new URL(window.location.href),n=t.searchParams.get(\"rupt_action\");if(\"logout\"===n)return e?.logout_url?window.location.href=`${e?.logout_url}`:p.on_current_device_logout&&p.on_current_device_logout(),null}let M=await m(),{saved_id:P,saved_identity:T}=function(){let e=null,t=null;try{e=localStorage.getItem(\"sbl_d_id\"),t=localStorage.getItem(\"sbl_d_iden\")}catch(e){}return{saved_id:e,saved_identity:t}}(),R=t?`https://${t}`:d,A=await fetch(`${R}/v2/access`,{method:\"POST\",mode:\"cors\",cache:\"no-cache\",credentials:\"omit\",headers:{\"Content-Type\":\"application/json\",Authorization:`Basic ${n}:${o??\"\"}`},body:JSON.stringify({device_id:P,user:a??i,signals:M,metadata:l,identity:u??T,limit_config:v,callbacks:{on_challenge:\"function\"==typeof b,limit_exceeded:\"function\"==typeof S},redirects:{new_account:e?.new_account_url!=null,logout:e?.logout_url!=null},client:\"javascript\",version:h,page:g?window.location.pathname:void 0,email:r,phone:c,tolerance:y,event:$})}),C=await A.json();if(!0===s&&console.log(\"[Rupt]\",\"Successfully attached device to account.\"),C.attached_devices>(v?.overall_device_limit??v?.overall_limit??C.default_device_limit)&&(!0===s&&console.log(\"[Rupt] Device limit exceeded.\"),S?.()),!0===C.suspended)return window.location.href=e?.suspended_url??`https://suspended.sabl.app/access/${C.access}?referrer=${window.location.host}`,null;!function(n,o,a,i){null!=f&&(f.close(),f=null);let r=t?`https://${t}`:d;(f=new EventSource(r+`/v2/access/device/${o}/listen`+`?access=${i??\"\"}&auth=Basic ${n}:${a||\"\"}`)).onmessage=async t=>{if('\"logout\"'===t.data){e?.logout_url?window.location.href=`${e?.logout_url}`:p.on_current_device_logout&&p.on_current_device_logout();return}let n=e?.logout_url??function(){let e=new URL(window.location.href);return e.searchParams.append(\"rupt_action\",\"logout\"),e.toString()}(),o=JSON.parse(t.data);if(o&&\"challenge\"===o.action){try{if(await p.on_challenge?.()===!1)return}catch(e){console.error(\"[Rupt] error on on_challenge callback\",e)}window.location.href=`${o.url??\"https://challenge.rupt.dev\"}?challenge=${o.challenge?._id}&logout=${encodeURIComponent(n)}&new_account=${encodeURIComponent(e?.new_account_url??n)}&success=${encodeURIComponent(e?.success_url??window.location.href)}&upgrade=${encodeURIComponent(e?.upgrade_url??window.location.href)}`}}}(n,C.device_id,o,C.access);try{localStorage.setItem(\"sbl_d_id\",C.device_id)}catch(e){}return C}catch(e){return!0===s&&console.error(\"[Rupt]\",e),null}}async function m(){return{fonts:{value:await i((e,{document:t})=>{let n=t.body;n.style.fontSize=\"48px\";let o=t.createElement(\"div\"),a={},i={},l=e=>{let n=t.createElement(\"span\"),{style:a}=n;return a.position=\"absolute\",a.top=\"0\",a.left=\"0\",a.fontFamily=e,n.textContent=\"mmMwWLliI0O&1\",o.appendChild(n),n},s=(e,t)=>l(`'${e}',${t}`),u=e=>r.some((t,n)=>e[n].offsetWidth!==a[t]||e[n].offsetHeight!==i[t]),d=r.map(l),h=(()=>{let e={};for(let t of c)e[t]=r.map(e=>s(t,e));return e})();n.appendChild(o);for(let e=0;eu(h[e]))})},languages:{value:function(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(void 0!==n&&t.push([n]),Array.isArray(e.languages))(function(){let e=window,t=navigator;return a([\"webkitPersistentStorage\"in t,\"webkitTemporaryStorage\"in t,0===t.vendor.indexOf(\"Google\"),\"webkitResolveLocalFileSystemURL\"in e,\"BatteryManager\"in e,\"webkitMediaStream\"in e,\"webkitSpeechGrammar\"in e])>=5})()&&function(){let e=window;return a([!(\"MediaSettingsRange\"in e),\"RTCEncodedAudioFrame\"in e,\"\"+e.Intl==\"[object Intl]\",\"\"+e.Reflect==\"[object Reflect]\"])>=3}()||t.push(e.languages);else if(\"string\"==typeof e.languages){let n=e.languages;n&&t.push(n.split(\",\"))}return t}()},screenResolution:{value:function(){let e=screen,t=e=>{var t;return\"number\"==typeof(t=parseInt(e))&&isNaN(t)?null:t},n=[t(e.width),t(e.height)];return n.sort().reverse(),n}()},timezone:{value:function(){let e=window.Intl?.DateTimeFormat;if(e){let t=new e().resolvedOptions().timeZone;if(t)return t}let t=-function(){let e=new Date().getFullYear();return Math.max(o(new Date(e,0,1).getTimezoneOffset()),o(new Date(e,6,1).getTimezoneOffset()))}();return`UTC${t>=0?\"+\":\"\"}${Math.abs(t)}`}()},platform:{value:function(){let{platform:e}=navigator;return\"MacIntel\"===e&&function(){let e=window,t=navigator;return a([\"ApplePayError\"in e,\"CSSPrimitiveValue\"in e,\"Counter\"in e,0===t.vendor.indexOf(\"Apple\"),\"getStorageUpdates\"in t,\"WebKitMediaKeys\"in e])>=4}()&&!function(){let e=window;return a([\"safari\"in e,!(\"DeviceMotionEvent\"in e),!(\"ongestureend\"in e),!(\"standalone\"in navigator)])>=3}()?!function(){if(\"iPad\"===navigator.platform)return!0;let e=screen,t=e.width/e.height;return a([\"MediaSource\"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}()?\"iPhone\":\"iPad\":e}()},touchSupport:{value:function(){let e;let t=navigator,n=0;void 0!==t.maxTouchPoints?n=parseInt(t.maxTouchPoints):void 0!==t.msMaxTouchPoints&&(n=t.msMaxTouchPoints);try{document.createEvent(\"TouchEvent\"),e=!0}catch{e=!1}let o=\"ontouchstart\"in window;return{maxTouchPoints:n,touchEvent:e,touchStart:o}}()},math:{value:function(){let e=s.acos||u,t=s.acosh||u,n=s.asin||u,o=s.asinh||u,a=s.atanh||u,i=s.atan||u,r=s.sin||u,c=s.sinh||u,l=s.cos||u,d=s.cosh||u,h=s.tan||u,f=s.tanh||u,p=s.exp||u,g=s.expm1||u,m=s.log1p||u;return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:s.log(1e154+s.sqrt(1e154*1e154-1)),asin:n(.12312423423423424),asinh:o(1),asinhPf:s.log(1+s.sqrt(2)),atanh:a(.5),atanhPf:s.log(3)/2,atan:i(.5),sin:r(-1e300),sinh:c(1),sinhPf:s.exp(1)-1/s.exp(1)/2,cos:l(10.000000000123),cosh:d(1),coshPf:(s.exp(1)+1/s.exp(1))/2,tan:h(-1e300),tanh:f(1),tanhPf:(s.exp(2)-1)/(s.exp(2)+1),exp:p(1),expm1:g(1),expm1Pf:s.exp(1)-1,log1p:m(10),log1pPf:s.log(11),powPI:s.pow(s.PI,-100)}}()},localStorage:{value:function(){try{return!!window.localStorage}catch(e){return!0}}()},highEntropyValues:{value:await l()}}}async function w({user:e,client_id:n,secret:o}){let a=t?`https://${t}`:d,i=await fetch(`${a}/v2/access/user/${e}/attached_devices`,{method:\"GET\",mode:\"cors\",cache:\"no-cache\",credentials:\"omit\",headers:{\"Content-Type\":\"application/json\",Authorization:`Basic ${n}:${o||\"\"}`}});return await i.json()}async function v({device:e,account:n,user:o,client_id:a,secret:i,domain:r}){t=r;let c=t?`https://${t}`:d,l=await fetch(`${c}/v2/access/detach`,{method:\"post\",mode:\"cors\",cache:\"no-cache\",credentials:\"omit\",headers:{\"Content-Type\":\"application/json\",Authorization:`Basic ${a}:${i||\"\"}`},body:JSON.stringify({device:e,user:n??o})});return await l.json()}async function _({client_id:e,domain:t,tolerance:n=\"default\"}){let o=await m(),a=t?`https://${t}`:d,i=await fetch(`${a}/v2/identity/initiate`,{method:\"post\",mode:\"cors\",cache:\"no-cache\",credentials:\"omit\",headers:{\"Content-Type\":\"application/json\",Authorization:`Basic ${e}`},body:JSON.stringify({signals:o,client:\"javascript\",version:h,tolerance:n})}),r=await i.json();return r}let y={attach:g,detach:v,getAttachedDevices:w,identify:_};\"undefined\"!=typeof window&&(window.Rupt=y);var $=y;export{d as BASE_URL,g as attach,w as getAttachedDevices,v as detach,_ as identify,$ as default};", "import React from 'react';\nimport { observe } from 'mobx';\nimport { observer, Provider, inject } from 'mobx-react';\n\nimport { LicenseObservable } from 'bz-stores/lib/licence';\n\nimport ProntoCache from 'bz-pronto-core/cache';\nimport prontoRegister from 'bz-pronto-core/register';\nimport tm3payRegister from 'tm3-pay/register';\nimport { cache } from 'tm3-core/cache';\ncache.app.plugin(\n () => cache.app.NH,\n async () => cache.app.register((await import('nuffield-bespoke/register')).default)\n);\n\n@inject('prontoCache')\n@observer\nclass License extends React.Component {\n dispose: any;\n\n constructor(props: any) {\n super(props);\n\n cache.app.register(tm3payRegister);\n\n const { prontoCache } = props;\n\n let { license } = LicenseObservable;\n\n this.dispose = observe(license, (res: any) => {\n let { name, newValue } = res;\n if (name === 'hasOnlineReferralBookings' && !!newValue) {\n ProntoCache.onConfigure().then((x) => {\n cache.app.register(prontoRegister);\n });\n }\n });\n }\n\n render() {\n let { license } = LicenseObservable;\n\n return {this.props.children};\n }\n\n componentWillUnmount() {\n if (!!this.dispose) {\n this.dispose();\n }\n }\n}\n\nexport default License;\n", "import React from 'react';\nimport paycontrolControl from 'bz-pronto-core/modules/finances/quickbill/pay-control';\nimport chargeextrasControl from 'bz-pronto-core/modules/finances/quickbill/charge-extras';\nimport actionbarControl from 'bz-pronto-core/modules/finances/invoice/action-bar';\nimport editpaymentsControl from 'bz-pronto-core/modules/finances/invoice/edit-payments';\nimport editchargesControl from 'bz-pronto-core/modules/finances/invoice/edit-charges';\nimport acknowledgedialogControl from 'bz-pronto-core/modules/finances/invoice/acknowledge-dialog';\nimport transfermenuitemControl from 'bz-pronto-core/modules/finances/invoice/options-menu/controls/transfer-menu-item';\nimport changemenuitemControl from 'bz-pronto-core/modules/finances/invoice/options-menu/controls/change-menu-item';\nimport writeoffmenuitemControl from 'bz-pronto-core/modules/finances/invoice/options-menu/controls/write-off-menu-item';\nimport creditnotemenuitemControl from 'bz-pronto-core/modules/finances/invoice/options-menu/controls/credit-note-menu-item';\nimport discountmenuitemControl from 'bz-pronto-core/modules/finances/invoice/options-menu/controls/discount-menu-item';\nimport casefooterControl from 'bz-pronto-core/modules/clinical/case-footer';\nimport moremenuitemControl from 'bz-pronto-core/modules/clinical/more-menu-item';\nimport caseattachmentsControl from 'bz-pronto-core/modules/clinical/case-attachments';\nimport casereportControl from 'bz-pronto-core/modules/clinical/case-report';\nimport reporteditorControl from 'bz-pronto-core/modules/clinical/report-editor';\n\nexport default {\n '0470ef85-bf41-4065-8a85-0ff3c78c4d59': {\n control: paycontrolControl,\n description: 'Pronto quickbill pay control'\n },\n '897368d1-5266-49ab-a51d-8059a8e1f419': {\n control: chargeextrasControl,\n description: 'Pronto quickbill charge extras'\n },\n '8e3f019c-92bd-4666-8140-f83f499a6839': {\n control: actionbarControl,\n description: 'Pronto invoice action bar for tm3'\n },\n '875cbd66-1f32-488f-9c06-84d9b3107bf5': {\n control: editpaymentsControl,\n description: 'Pronto invoice payments for tm3'\n },\n '4934f336-08ed-4c87-bdfe-84a2b366d7a2': {\n control: editchargesControl,\n description: 'Pronto invoice charges for tm3'\n },\n '74526953-ebfb-4169-944a-6fb2059bf693': {\n control: acknowledgedialogControl,\n description: 'Pronto invoice acknowledge rejection dialog for tm3'\n },\n 'f172d3fa-9594-4ef8-8144-3fe36aa9beeb': {\n control: transfermenuitemControl,\n description: 'Pronto invoice options menu transfer menu item for tm3'\n },\n '50dcffd2-93cc-4ffb-88a6-ea7a4fd46681': {\n control: changemenuitemControl,\n description: 'Pronto invoice options menu change menu item for tm3'\n },\n '22859ee8-e949-4af9-b34b-e4adbca369a7': {\n control: writeoffmenuitemControl,\n description: 'Pronto invoice options menu write off menu item for tm3'\n },\n 'a4631c70-8bd4-401e-b755-a49939f76b72': {\n control: creditnotemenuitemControl,\n description: 'Pronto invoice options menu credit note menu item for tm3'\n },\n '9e1908c2-309d-4015-95cb-0d3d05f1e367': {\n control: discountmenuitemControl,\n description: 'Pronto invoice options menu discount menu item for tm3'\n },\n '64a17438-16e9-4db8-9792-b221893797bc': {\n control: casefooterControl,\n description: 'Pronto integration case footer'\n },\n 'ac9b7e52-ba39-4099-808d-f74caddc80d8': {\n control: moremenuitemControl,\n description: 'Pronto integration report menu items for more menu'\n },\n '10f34fa9-b4b0-4f14-a157-f4776c6a8410': {\n control: caseattachmentsControl,\n description: 'Pronto integration attachments section'\n },\n 'c33b1d76-7160-4601-8cef-ae9527fa4188': {\n control: casereportControl,\n description: 'Pronto integration case report'\n },\n '33fe759f-cde7-476e-b1fd-71e38744e704': {\n control: reporteditorControl,\n description: 'Pronto integration case report editor'\n }\n};\n", "import React from 'react';\nimport { computed } from 'mobx';\nimport { observer } from 'mobx-react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport { Colors } from 'bz-core-controls/styles/colours';\nimport featureFlag from 'tm3-core/stores/feature-store';\nimport './style.styl';\n\n@observer\nclass PayControl extends React.Component {\n render() {\n if (!this.show) {\n return
{this.props.children}
;\n }\n\n let style = {\n padding: 4,\n background: '#f1f8e9',\n borderLeft: '5px solid #558b2f'\n };\n\n let iconStyle = {\n color: Colors.blue500,\n borderColor: Colors.blue500\n };\n\n return (\n
\n
\n
\n
\n
\n PRONTO\n
\n
\n
\n Charges and Invoices created here will be billed automatically via Pronto\n
\n
\n
\n {this.props.children}\n
\n );\n }\n\n @computed\n get show() {\n const { appointment = {}, isMyClinicIntegration } = this.props;\n const { auditId, prontoServiceId } = appointment;\n\n if (!!isMyClinicIntegration) {\n return featureFlag.prontoIntegrationEnabled && !!isMyClinicIntegration;\n }\n return (\n GUID.hasValue(auditId) &&\n GUID.hasValue(prontoServiceId) &&\n featureFlag.prontoIntegrationEnabled\n );\n }\n}\n\nexport default PayControl;\n", "import * as React from 'react';\nimport { computed } from 'mobx';\nimport { observer, inject } from 'mobx-react';\n\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport { Colors } from 'bz-core-controls/styles/colours';\nimport featureFlag from 'tm3-core/stores/feature-store';\nimport moment from 'moment';\n\ninterface IProps {\n prontoCache?: any;\n charge: any;\n}\n\n@inject('prontoCache')\n@observer\nclass ChargeExtras extends React.Component {\n render() {\n if (!this.show) return null;\n\n let style = {\n color: Colors.blue500,\n borderColor: Colors.blue500\n };\n\n return (\n \n
\n {this.appointmentDate}\n {this.service}\n \n PRONTO\n \n
\n
\n );\n }\n\n @computed\n get show() {\n const { prontoServiceId } = this.props.charge;\n return featureFlag.prontoIntegrationEnabled && !!GUID.hasValue(prontoServiceId);\n }\n\n @computed\n get service() {\n const { prontoCache, charge } = this.props;\n const { prontoServiceId } = charge;\n\n const services = prontoCache.prontoNetworkServices;\n\n if (!services) {\n return 'Unknown Service';\n }\n const prontoServiceName = services.getServiceName(prontoServiceId);\n\n return ` - [${prontoServiceName}]`;\n }\n\n @computed\n get appointmentDate() {\n const { charge } = this.props;\n const { date } = charge;\n\n const apptStartDateTime = moment(date).format('DD/MM/YYYY');\n\n return apptStartDateTime;\n }\n}\n\nexport default ChargeExtras;\n", "import React from 'react';\nimport { observer } from 'mobx-react';\n\n@observer\nclass ActionBar extends React.Component {\n render() {\n return (\n
\n
Status
\n
action
\n
\n );\n }\n}\n\nexport default ActionBar;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\nimport { computed } from 'mobx';\n\nclass EditPayments extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n @computed\n get show() {\n const { invoice = {} } = this.props;\n const { globalId, globalType, metadata = {} } = invoice;\n\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n\n return [ProntoInvoiceStatus.Accepted, ProntoInvoiceStatus.Saved].includes(metadata.status);\n }\n}\n\nexport default EditPayments;\n", "enum InvoiceType {\n TM3 = 0,\n Pronto = 1\n}\n\nexport default InvoiceType;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\nimport { computed } from 'mobx';\n\nclass EditCharges extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n @computed\n get show() {\n const { invoice = {} } = this.props;\n const { globalId, globalType, metadata = {} } = invoice;\n\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n return metadata.status === ProntoInvoiceStatus.Saved;\n }\n}\n\nexport default EditCharges;\n", "import React from 'react';\nimport { action, observable, computed } from 'mobx';\nimport { observer } from 'mobx-react';\nimport { Button } from 'bz-core-controls';\nimport Dialog from 'tm3-core/controls/modal/core-dialog';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport Api from 'tm3-core/api';\nimport Modal from 'bz-core-controls/modal';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\n\n@observer\nclass AcknowledgeDialog extends React.Component {\n @observable acknowledged = false;\n\n render() {\n if (!this.show) return null;\n\n let actions = [];\n\n return (\n \n
The referrer rejected this invoice with the following message
\n
{this.metadata.message}
\n
\n );\n }\n\n @computed\n get metadata() {\n let { invoice = {} } = this.props;\n return invoice.metadata || {};\n }\n\n @computed\n get show() {\n let { invoice = {} } = this.props;\n let { globalId, globalType } = invoice;\n\n if (globalType !== InvoiceType.Pronto || !GUID.hasValue(globalId)) return false;\n\n return this.metadata.status === ProntoInvoiceStatus.Rejected && !this.acknowledged;\n }\n\n @action.bound\n onClick() {\n const { invoice = {} } = this.props;\n const { id } = invoice;\n\n Api.post(`/api/invoice/${id}/acknowledge`, {})\n .then((res) => {\n const { result } = res.body;\n if (!result) throw 'Unable To Update Status';\n\n this.metadata.status = ProntoInvoiceStatus.acknowledged;\n this.acknowledged = true;\n })\n .catch(() => {\n const modal = {\n alert: true,\n title: 'Invoice Status',\n description: 'We were unable to update the status of this invoice'\n };\n Modal.confirmation(modal).then(() => {\n this.acknowledged = true;\n });\n });\n }\n}\n\nexport default AcknowledgeDialog;\n", "import React from 'react';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\n\nclass TransferMenuItem extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n get show() {\n let { invoice = {} } = this.props;\n let { globalType } = invoice;\n\n return globalType !== InvoiceType.Pronto;\n }\n}\n\nexport default TransferMenuItem;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\nimport { computed } from 'mobx';\n\nclass ChangeMenuItem extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n @computed\n get show() {\n const { invoice = {} } = this.props;\n const { globalId, globalType, metadata = {} } = invoice;\n\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n\n return metadata.status === ProntoInvoiceStatus.Acknowleged;\n }\n}\n\nexport default ChangeMenuItem;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\n\nclass WriteOffMenuItem extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n get show() {\n let { invoice = {} } = this.props;\n let { globalId, globalType, metadata = {} } = invoice;\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n\n return [ProntoInvoiceStatus.Accepted, ProntoInvoiceStatus.Acknowleged].includes(\n metadata.status\n );\n }\n}\n\nexport default WriteOffMenuItem;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\nimport { computed } from 'mobx';\n\nclass CreditNoteMenuItem extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n @computed\n get show() {\n let { invoice = {} } = this.props;\n let { globalId, globalType, metadata = {} } = invoice;\n\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n return [ProntoInvoiceStatus.Accepted, ProntoInvoiceStatus.Acknowleged].includes(\n metadata.status\n );\n }\n}\n\nexport default CreditNoteMenuItem;\n", "import React from 'react';\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport InvoiceType from 'bz-pronto-core/enum/invoice-type';\nimport ProntoInvoiceStatus from 'bz-pronto-core/enum/pronto-invoice-status';\n\nclass DiscountMenuItem extends React.Component {\n render() {\n return !!this.show ? this.props.children : null;\n }\n\n get show() {\n let { invoice = {} } = this.props;\n let { globalId, globalType, metadata = {} } = invoice;\n\n if (globalType !== InvoiceType.Pronto) return true;\n if (!globalId || GUID.isEmpty(globalId)) return false;\n\n return metadata.status === ProntoInvoiceStatus.Accepted;\n }\n}\n\nexport default DiscountMenuItem;\n", "import React from 'react';\nimport { inject, observer } from 'mobx-react';\nimport { action, computed, observable } from 'mobx';\n\nimport featureFlag from 'tm3-core/stores/feature-store';\nimport Icon from 'bz-icons/src/controls/icon';\nimport GUID from 'bz-utilities/modules/variables/guid';\n\nimport ReportsMenu from './controls/reports-menu';\nimport './style.styl';\n\nimport { Button } from '@material-ui/core';\n\ninterface IProps {\n clinicalStore?: any;\n}\n\n@inject('clinicalStore')\n@observer\nclass Footer extends React.Component {\n @observable open = true;\n\n render() {\n if (!this.show) {\n return null;\n }\n\n return (\n
\n
\n
\n \n
\n
\n This case has been referred by: \n {this.name}\n
\n
\n \n
\n
\n \n
\n
\n
\n );\n }\n\n @computed\n get allowed() {\n let { prontoStore } = this.props.clinicalStore;\n return !!Array.from(prontoStore.allowed.values()).find((x) => GUID.hasValue(x));\n }\n\n @computed\n get show() {\n let { details, referralStore } = this.props.clinicalStore.caseStore;\n let { closed, bookingAuditId } = details || {};\n\n if (!this.open) {\n return false;\n }\n\n const isProntoReport = featureFlag.prontoIntegrationEnabled && GUID.hasValue(bookingAuditId);\n const canReportToPronto = !!referralStore && referralStore.referral.canReport;\n return !closed && isProntoReport && !!this.allowed && !!canReportToPronto;\n }\n\n @computed\n get name() {\n return this.props.clinicalStore.prontoStore.name;\n }\n\n @action.bound\n onClose() {\n this.open = false;\n }\n}\n\nexport default Footer;\n", "import React from 'react';\nimport { action, computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport Icon from 'bz-icons/src/controls/icon';\n\nimport Menu from 'tm3-core/controls/menus';\n\nimport MenuStore from 'tm3-core/controls/menus/stores';\nimport ReportsList from '../../../reports-list';\n\nimport { Button } from '@material-ui/core';\n\n@inject('clinicalStore')\n@observer\nclass ReportsMenu extends React.Component {\n render() {\n return (\n
\n \n \n \n \n
\n );\n }\n\n @computed\n get open() {\n return MenuStore.isOpen('clinical-footer-add-report');\n }\n\n @action.bound\n onOpen(e: any) {\n MenuStore.open('clinical-footer-add-report', e.currentTarget);\n }\n}\n\nexport default ReportsMenu;\n", "import Menu from './tm3-menu';\nimport { MenuItem } from '@material-ui/core';\n\nexport default Menu;\n\nexport { Menu, MenuItem };\n", "import React from 'react';\nimport { Menu } from '@material-ui/core';\n\nconst menuListProps = {\n disablePadding: true,\n style: { marginBottom: '0px' }\n};\n\nclass Tm3Menu extends React.Component {\n get MenuListProps() {\n const { MenuListProps = {} } = this.props;\n return { ...MenuListProps, ...menuListProps };\n }\n\n render() {\n const { children, ...props } = this.props;\n return (\n \n {children}\n \n );\n }\n}\n\nexport default Tm3Menu;\n\nexport { Tm3Menu };\n", "import { action, observable } from 'mobx';\n\nclass MenuStore {\n @observable id = null;\n\n @observable anchorEl = null;\n\n @action.bound\n open(id, anchorEl) {\n this.id = id;\n this.anchorEl = anchorEl;\n }\n\n @action.bound\n close() {\n this.id = null;\n this.anchorEl = null;\n }\n\n isOpen(id) {\n const isOpen = this.id == id && this.anchorEl != null;\n return isOpen;\n }\n}\n\nexport default new MenuStore();\n\nexport { MenuStore };\n", "import * as React from 'react';\nimport { observer } from 'mobx-react';\n\nimport ReportMenuItem from './controls/report-menu-item';\n\ninterface IProps {}\n\n@observer\nclass ReportsList extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n\nexport default ReportsList;\n", "import React from 'react';\nimport { action, computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport ClinicalEndpoints from 'bz-pronto-core/endpoints/clinical';\n\nimport { MenuItem } from '@material-ui/core';\n\ninterface IProps {\n name: string;\n clinicalStore?: any;\n}\n\n@inject('clinicalStore')\n@observer\nclass ReportMenuItem extends React.Component {\n render() {\n if (!this.show) return null;\n\n return (\n \n {this.label}\n \n );\n }\n\n @computed\n get show() {\n let { name, clinicalStore } = this.props;\n let { allowed, templates } = clinicalStore.prontoStore;\n let templateId = allowed.get(name);\n\n return allowed.has(name) && GUID.hasValue(templateId) && templates.has(templateId);\n }\n\n @computed\n get label() {\n let { name, clinicalStore } = this.props;\n let { allowed, templates } = clinicalStore.prontoStore;\n let templateId = allowed.get(name);\n\n return templates.get(templateId).title;\n }\n\n @action.bound\n onClick() {\n let { name, clinicalStore } = this.props;\n let { caseStore, prontoStore, historyStore } = clinicalStore;\n let { allowed, bookerId } = prontoStore;\n //create case if does not exist\n let req = {\n bookerId: bookerId,\n caseId: caseStore.id,\n templateId: allowed.get(name)\n };\n\n ClinicalEndpoints.onCreate(req).then((res: any) => {\n let { reports, treatment } = res;\n\n prontoStore.onMerge(reports);\n historyStore.create(treatment);\n });\n }\n}\n\nexport default ReportMenuItem;\n", "import Api from 'tm3-core/api';\n\nclass ClinicalEndpoints {\n onCreate(report) {\n let { caseId } = report;\n let url = `/api/cases/${caseId}/reports`;\n\n return new Promise((resolve, reject) => {\n Api.post(url, report).then((res) => {\n resolve(res.body.result);\n });\n });\n }\n\n onUpdate(report) {\n let { id, caseId } = report;\n let url = `/api/cases/${caseId}/reports/${id}`;\n\n return new Promise((resolve, reject) => {\n Api.put(url, report).then((res) => {\n resolve(res.body.result);\n });\n });\n }\n\n onSubmit(report) {\n let { id, caseId } = report;\n let url = `/api/cases/${caseId}/reports/${id}/submit`;\n\n return new Promise((resolve, reject) => {\n Api.post(url, report).then((res) => {\n resolve(res.body.result);\n });\n });\n }\n\n onAcknowledge(caseId, id) {\n return new Promise((resolve, reject) => {\n Api.post(`/api/cases/${caseId}/reports/${id}/acknowledge`).then(() => {\n resolve();\n });\n });\n }\n}\n\nexport default new ClinicalEndpoints();\n", "import React from 'react';\nimport { computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport MenuCollapseItem from 'tm3-core/controls/menus/menu-collapse-item';\n\nimport GUID from 'bz-utilities/modules/variables/guid';\n\nimport { ConfigObservable } from 'bz-stores/lib/config';\n\nimport ReportsList from '../reports-list';\n\nimport featureFlag from 'tm3-core/stores/feature-store';\n\nimport { Divider } from '@material-ui/core';\n\ninterface IProps {\n clinicalStore?: any;\n}\n\n@inject('clinicalStore')\n@observer\nclass MoreMenuItem extends React.Component {\n render() {\n if (!this.show) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n );\n }\n\n @computed\n get show() {\n const { details, referralStore } = this.props.clinicalStore.caseStore;\n const { closed, bookingAuditId } = details || {};\n\n if (!featureFlag.prontoIntegrationEnabled || !GUID.hasValue(bookingAuditId)) {\n return false;\n }\n const canReportToPronto = !!referralStore && referralStore.referral.canReport;\n return !closed && !!this.isAllowed && canReportToPronto;\n }\n\n @computed\n get isAllowed() {\n const { prontoStore } = this.props.clinicalStore;\n return !!Array.from(prontoStore.allowed.values()).find((x) => GUID.hasValue(x));\n }\n\n @computed\n get name() {\n return this.props.clinicalStore.prontoStore.name;\n }\n}\n\nexport default MoreMenuItem;\n", "import React from 'react';\nimport { observer } from 'mobx-react';\nimport { action, computed, observable } from 'mobx';\n\nimport './style.styl';\n\nimport { Collapse, MenuItem } from '@material-ui/core';\n\n@observer\nclass MenuCollapseItem extends React.Component {\n @observable open = false;\n\n render() {\n const { primary, MenuItemProps } = this.props;\n\n return (\n
\n \n
{primary}
\n
\n \n
\n
\n \n {this.props.children}\n \n
\n );\n }\n\n @computed\n get className() {\n let open = !!this.open ? 'open' : '';\n return `menu-collapse-item flex-row nowrap ${open}`;\n }\n\n @computed\n get chevron() {\n return this.open ? 'fa-chevron-up' : 'fa-chevron-down';\n }\n\n @action.bound\n onClick() {\n this.open = !this.open;\n }\n}\n\nexport default MenuCollapseItem;\n", "import React from 'react';\n\nimport { inject, observer } from 'mobx-react';\nimport { action, computed, observable } from 'mobx';\n\nimport Icon from 'bz-icons/src/controls/icon';\n\nimport GUID from 'bz-utilities/modules/variables/guid';\nimport featureFlag from 'tm3-core/stores/feature-store';\nimport EmptyMessage from './controls/empty-message';\n\nimport ErrorMessage from './controls/error-message';\nimport AttachmentTable from './controls/attachment-table';\nimport LoadingSlider from 'bz-core-controls/controls/layout/loading-slider';\n\nimport './style.styl';\n\nimport { Button } from '@material-ui/core';\n\n@inject('clinicalStore')\n@observer\nclass Attachments extends React.Component {\n @observable expand = !!this.props.viewable;\n\n render() {\n if (!this.show) return null;\n\n return (\n
\n
\n
\n
\n \n
\n
\n

Referral Attachments

\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n );\n }\n\n @computed\n get show() {\n const { caseStore } = this.props.clinicalStore;\n const { bookingAuditId = '' } = caseStore.details;\n let { attachments, reports } = this.props.clinicalStore.prontoStore;\n return (\n featureFlag.prontoIntegrationEnabled &&\n GUID.hasValue(bookingAuditId) &&\n attachments.length > 0\n );\n }\n\n @computed\n get loading() {\n let { status } = this.props.clinicalStore.prontoStore;\n return status === 'pending';\n }\n\n @computed\n get expanded() {\n let { navKey, clinicalStore } = this.props;\n let { status } = clinicalStore.prontoStore;\n if (status !== 'fullfilled') return false;\n return this.expand || clinicalStore.activePageKeys.indexOf(navKey) > -1;\n }\n\n @computed\n get className() {\n let open = !!this.expanded ? 'open' : '';\n return `clinical-page pronto-attachments ${open}`;\n }\n\n @action.bound\n onOpen() {\n const navKey = 'pronto-attachments';\n let { clinicalStore } = this.props;\n\n if (clinicalStore.activePageKeys.indexOf(navKey) > -1) {\n this.expand = false;\n clinicalStore.setActivePageKey(navKey, true);\n } else {\n this.expand = !this.expand;\n }\n }\n}\n\nexport default Attachments;\n", "import React from 'react';\nimport { computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\ninterface IProps {\n clinicalStore?: any;\n}\n\n@inject('clinicalStore')\n@observer\nclass EmptyMessage extends React.Component {\n render() {\n if (!this.show) return null;\n\n return
This case has no attachments
;\n }\n\n @computed\n get show() {\n let { attachments, status } = this.props.clinicalStore.prontoStore;\n return status === 'fullfilled' && attachments.length === 0;\n }\n}\n\nexport default EmptyMessage;\n", "import React from 'react';\nimport { computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\ninterface IProps {\n clinicalStore?: any;\n}\n\n@inject('clinicalStore')\n@observer\nclass ErrorMessage extends React.Component {\n render() {\n if (!this.show) return null;\n\n return (\n
\n The attachments for this case have not correctly loaded. Please try again later.\n
\n );\n }\n\n @computed\n get show() {\n let { status } = this.props.clinicalStore.prontoStore;\n return status === 'rejected';\n }\n}\n\nexport default ErrorMessage;\n", "import React from 'react';\nimport { computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport Attachment from './controls/attachment';\n\ninterface IProps {\n clinicalStore?: any;\n}\n\n@inject('vm', 'clinicalStore')\n@observer\nclass AttachmentsTable extends React.Component {\n render() {\n if (!this.show) return null;\n\n let { attachments } = this.props.clinicalStore.prontoStore;\n\n let content = attachments.map((x: any, i: number) => {\n return ;\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n {content}\n
NameDate CreatedTypeSize
\n );\n }\n\n @computed\n get show() {\n let { status, attachments, reports } = this.props.clinicalStore.prontoStore;\n return status === 'fullfilled' && attachments.length > 0;\n }\n}\n\nexport default AttachmentsTable;\n", "import React from 'react';\nimport Moment from 'moment';\nimport { observer } from 'mobx-react';\nimport { computed } from 'mobx';\nimport { withRouter } from 'react-router-dom';\n\n@withRouter\n@observer\nclass Attachment extends React.Component {\n render() {\n let { size, timeStamp } = this;\n const { name, extension } = this.props;\n\n return (\n \n {name}\n {timeStamp}\n {extension}\n {size}\n \n \n Download\n \n \n \n );\n }\n\n @computed\n get timeStamp() {\n let { dateCreated } = this.props;\n return new Moment(dateCreated).format('DD/MM/YYYY HH:mm');\n }\n\n @computed\n get size() {\n const mb = 1000;\n const gb = 1000000;\n let { fileSize } = this.props;\n\n if (fileSize < mb) return `${fileSize} KB`;\n if (fileSize < gb) return `${fileSize / mb} MB`;\n return `${fileSize / gb} GB`;\n }\n\n @computed\n get href() {\n let { name, match } = this.props;\n let { caseId } = match.params;\n return `/api/cases/${caseId}/attachments/${name}`;\n }\n}\n\nexport default Attachment;\n", "import React from 'react';\n\nimport './style.styl';\n\ninterface IProps {\n loading: boolean;\n}\n\nclass LoadingSlider extends React.Component {\n static defaultProps = {\n loading: false\n };\n\n render() {\n let { loading, children } = this.props;\n\n if (!loading) {\n return {children};\n }\n\n return (\n
\n
\n
\n );\n }\n}\n\nexport default LoadingSlider;\n", "import { Provider, inject, observer } from 'mobx-react';\n\nimport HeaderControl from './controls/header-control';\nimport LoadingSlider from 'bz-core-controls/controls/layout/loading-slider';\nimport React from 'react';\nimport Report from 'bz-core-controls/controls/general/report';\nimport { Show } from 'bz-core-controls';\nimport ViewStore from './stores/view-store';\nimport { computed } from 'mobx';\n\nimport './style.styl';\n\n@inject('clinicalStore')\n@observer\nclass CaseReport extends React.Component {\n static defaultProps = {\n viewable: false,\n onEdit: () => {}\n };\n\n constructor(props) {\n super(props);\n let { store, clinicalStore } = props;\n this.vm = new ViewStore(store, clinicalStore.prontoStore);\n this.vm.open = !!props.viewable;\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n if (props.viewable) this.vm.open = true;\n }\n\n render() {\n if (!this.show) {\n return null;\n }\n\n let { vm, className } = this;\n let { navKey, onEdit } = this.props;\n\n return (\n \n
\n \n \n \n
\n \n \n
\n
\n
\n
\n
\n );\n }\n\n @computed\n get show() {\n let { referralStore } = this.props.clinicalStore.caseStore;\n\n const canReportToPronto = !!referralStore && referralStore.referral.canReport;\n return !!canReportToPronto;\n }\n\n @computed\n get open() {\n let { navKey, clinicalStore } = this.props;\n let { status } = clinicalStore.prontoStore;\n let { open, report, loading } = this.vm;\n if (!!loading || status !== 'fullfilled' || !report || report.status === 3) return false;\n return open || clinicalStore.activePageKeys.indexOf(navKey) > -1;\n }\n\n @computed\n get className() {\n let css = ['clinical-page', 'pronto-report'];\n css.push(this.open ? 'open' : '');\n return css.join(' ');\n }\n}\n\n@inject('vm')\n@observer\nclass ErrorMessage extends React.Component {\n render() {\n if (!this.show) return null;\n\n let { message } = this.props.vm.report;\n\n return
{message}
;\n }\n\n @computed\n get show() {\n let { message } = this.props.vm.report;\n return !!message && !!message.trim();\n }\n}\n\n@inject('vm')\n@observer\nclass ReportWrapper extends React.Component {\n render() {\n return !!this.exists ? : null;\n }\n\n @computed\n get exists() {\n return !!this.props.vm.report;\n }\n}\n\nexport default CaseReport;\n", "import { inject, observer } from 'mobx-react';\n\nimport Actions from './controls/actions';\nimport Icon from './controls/icon';\nimport React from 'react';\nimport Title from './controls/title';\nimport { action } from 'mobx';\n\n@inject('clinicalStore', 'vm')\n@observer\nclass HeaderControl extends React.Component {\n static defaultProps = {\n onEdit: () => {}\n };\n\n render() {\n return (\n
\n
\n
\n \n
\n \n <Actions onEdit={this.props.onEdit} />\n </div>\n </div>\n );\n }\n\n @action\n onOpen() {\n let { vm, navKey, clinicalStore } = this.props;\n if (clinicalStore.activePageKeys.indexOf(navKey) > -1) {\n vm.open = false;\n clinicalStore.setActivePageKey(navKey, true);\n } else {\n vm.open = !vm.open;\n }\n }\n}\n\nexport default HeaderControl;\n", "import ErrorActions from './controls/error-actions';\nimport NormalActions from './controls/normal-actions';\nimport React from 'react';\nimport { observer } from 'mobx-react';\n\n// Most likely does not need its own component now\n// but was reduced as things were abstracted\n\n@observer\nclass Actions extends React.Component {\n render() {\n return (\n <div className=\"nowrap actions action-base flex-none flex-row\">\n <NormalActions onEdit={this.props.onEdit} />\n <ErrorActions />\n </div>\n );\n }\n}\n\nActions.defaultProps = {\n onEdit: () => {}\n};\n\nexport default Actions;\n", "import { inject, observer } from 'mobx-react';\n\nimport Action from '../action-base';\nimport Icons from 'bz-core-controls/icons';\nimport React from 'react';\nimport { computed } from 'mobx';\n\n@inject('vm', 'clinicalStore')\n@observer\nclass ErrorActions extends React.Component {\n render() {\n if (!this.show) return null;\n\n return <Action label=\"Reload\" icon={Icons.taskReset} onClick={this.onClick.bind(this)} />;\n }\n\n @computed\n get show() {\n return this.props.vm.status === 'error';\n }\n\n onClick() {\n this.props.clinicalStore.prontoStore.onLoad(true);\n }\n}\n\nexport default ErrorActions;\n", "import React from 'react';\nimport { action } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport './style.styl';\n\nimport { Button } from '@material-ui/core';\n\n@inject('vm')\n@observer\nclass Action extends React.Component {\n static defaultProps = {\n icon: null,\n label: '',\n onClick: () => {}\n };\n\n render() {\n let { label, vm } = this.props;\n\n return (\n <Button\n variant={'outlined'}\n className=\"action-base\"\n small={true}\n disabled={vm.loading}\n onClick={this.onClick}\n >\n {label}\n </Button>\n );\n }\n\n @action.bound\n onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n this.props.onClick();\n }\n}\n\nexport default Action;\n", "import { inject, observer } from 'mobx-react';\n\nimport AcknowledgeAction from './controls/acknowledge-action';\nimport CloneAction from './controls/clone-action';\nimport EditAction from './controls/edit-action';\nimport React from 'react';\nimport { computed } from 'mobx';\n\n@inject('vm')\n@observer\nclass NormalActions extends React.Component {\n render() {\n if (!this.show) return null;\n\n return (\n <div>\n <EditAction onEdit={this.props.onEdit} />\n <AcknowledgeAction />\n <CloneAction />\n </div>\n );\n }\n\n @computed\n get show() {\n let { status, report } = this.props.vm;\n return status === 'normal' && !!report;\n }\n}\n\nNormalActions.defaultProps = {\n onEdit: () => {}\n};\n\nexport default NormalActions;\n", "import React from 'react';\nimport { action, computed } from 'mobx';\nimport { inject, observer } from 'mobx-react';\n\nimport Icons from 'bz-core-controls/icons';\nimport ClinicalEndpoints from 'bz-pronto-core/endpoints/clinical';\n\nimport Action from '../../../action-base';\nimport ProntoReportStatus from 'bz-pronto-core/enum/pronto-report-status';\n\n@inject('vm')\n@observer\nclass AcknowledgeAction extends React.Component {\n render() {\n if (!this.show) return null;\n\n return <Action label=\"Acknowledge\" icon={Icons.edit} onClick={this.onClick} />;\n }\n\n @computed\n get show() {\n let { status } = this.props.vm.report;\n return status === ProntoReportStatus.Rejected;\n }\n\n @action.bound\n onClick(e) {\n let { store, report } = this.props.vm;\n let caseId = store.details.get('caseId');\n\n ClinicalEndpoints.onAcknowledge(caseId, report.id).then(() => {\n report.status = ProntoReportStatus.Acknowleged;\n });\n }\n}\n\nexport default AcknowledgeAction;\n", "import { inject, observer } from 'mobx-react';\n\nimport Action from '../../../action-base';\nimport Icons from 'bz-core-controls/icons';\nimport ClinicalEndpoints from 'bz-pronto-core/endpoints/clinical';\nimport React from 'react';\nimport { computed, action } from 'mobx';\nimport ProntoReportStatus from 'bz-pronto-core/enum/pronto-report-status';\n\n@inject('vm', 'clinicalStore')\n@observer\nclass CloneAction extends React.Component {\n render() {\n if (!this.show) return null;\n\n return <Action label=\"Clone & Edit\" icon={Icons.edit} onClick={this.onClick.bind(this)} />;\n }\n\n @computed\n get show() {\n let { status } = this.props.vm.report;\n return status === ProntoReportStatus.Queried;\n }\n\n @action.bound\n onClick() {\n let { vm, clinicalStore } = this.props;\n let { caseStore, prontoStore, historyStore } = clinicalStore;\n\n let req = Object.assign({}, vm.report, { caseId: caseStore.id });\n\n ClinicalEndpoints.onCreate(req).then((res) => {\n let { reports, treatment } = res;\n\n vm.report.status = ProntoReportStatus.Resubmitted;\n\n prontoStore.onMerge(reports);\n historyStore.create(treatment);\n });\n }\n}\n\nCloneAction.defaultProps = {\n onEdit: () => {}\n};\n\nexport default CloneAction;\n", "import { inject, observer } from 'mobx-react';\n\nimport Icon from 'bz-icons/src/controls/icon';\nimport Action from '../../../action-base';\nimport React from 'react';\nimport { computed } from 'mobx';\nimport ProntoReportStatus from 'bz-pronto-core/enum/pronto-report-status';\n\n@inject('vm')\n@observer\nclass EditAction extends React.Component {\n static defaultProps = {\n onEdit: () => {}\n };\n\n render() {\n if (!this.show) return null;\n\n let icon = <Icon width={16} height={16} value=\"0014_notebook_paper_todo\" />;\n\n return <Action label=\"Edit\" icon={icon} onClick={this.props.onEdit} />;\n }\n\n @computed\n get show() {\n let { status } = this.props.vm.report;\n return status === ProntoReportStatus.Saved;\n }\n}\n\nexport default EditAction;\n", "import { inject, observer } from 'mobx-react';\n\nimport Icons from 'bz-core-controls/icons';\nimport React from 'react';\nimport { computed } from 'mobx';\nimport ProntoReportStatus from 'bz-pronto-core/enum/pronto-report-status';\nimport { Button } from '@material-ui/core';\n\n@inject('vm')\n@observer\nclass Icon extends React.Component {\n render() {\n let { vm } = this.props;\n\n if (this.alert) {\n return <Button disabled={vm.loading}>{Icons.alert}</Button>;\n }\n\n return (\n <Button disabled={vm.loading}>\n <svg width={16} height={16} viewBox=\"0 0 24 24\" className=\"morph-arrow\">\n <g transform={`rotate(${this.chevron}, 12, 12)`}>\n <path d=\"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\" />\n </g>\n </svg>\n </Button>\n );\n }\n\n @computed\n get chevron() {\n let { open, loading } = this.props.vm;\n return !!open && !loading ? '270' : '180';\n }\n\n @computed\n get alert() {\n let { status, report } = this.props.vm;\n return status !== 'normal' || (!!report && report.status === ProntoReportStatus.Rejected);\n }\n}\n\nexport default Icon;\n", "import { inject, observer } from 'mobx-react';\n\nimport Badge from './controls/badge';\nimport React from 'react';\nimport Subtitle from './controls/subtitle';\nimport { computed } from 'mobx';\n\n@inject('vm', 'clinicalStore')\n@observer\nclass Title extends React.Component {\n render() {\n return (\n <div className=\"flex-both nowrap title flex-row\">\n <div className=\"flex-both\">\n <h1>{this.title}</h1>\n <Subtitle />\n </div>\n <div className=\"flex-none\">\n <Badge />\n </div>\n </div>\n );\n }\n\n @computed\n get title() {\n let { vm, clinicalStore } = this.props;\n let { status } = vm;\n let { name } = clinicalStore.prontoStore;\n\n switch (status) {\n case 'warn':\n return 'This report does not exist';\n case 'error':\n return 'There has been a problem loading this report';\n default:\n let text = [name];\n if (this.type) text.push(this.type);\n return text.join(' - ');\n }\n }\n\n @computed\n get type() {\n let { vm, clinicalStore } = this.props;\n let { report } = vm;\n if (!report) return null;\n\n switch (report.type) {\n case 0:\n return 'Triage Report';\n case 1:\n return 'Initial Report';\n case 2:\n return 'RFAT Report';\n case 3:\n return 'Discharge Report';\n default:\n let { templates } = clinicalStore.prontoStore;\n let template = templates.get(report.templateId) || {};\n return template.title || 'Unknown Report';\n }\n }\n}\n\nexport default Title;\n", "import './style.styl';\n\nimport { inject, observer } from 'mobx-react';\n\nimport React from 'react';\nimport { computed } from 'mobx';\n\n@inject('vm')\n@observer\nclass Badge extends React.Component {\n render() {\n if (!this.show) return null;\n return <div className={this.className}>{this.label}</div>;\n }\n\n @computed\n get show() {\n let { status, report } = this.props.vm;\n return status === 'normal' && !!report;\n }\n\n @computed\n get label() {\n let { status } = this.props.vm.report;\n switch (status) {\n case 0:\n return 'Draft';\n case 1:\n return 'Submitted';\n case 2:\n return 'Accepted';\n case 3:\n return 'Rejected';\n case 4:\n return 'Acknowleged';\n case 5:\n return 'Queried';\n case 6:\n return 'Queried'; //resubmitted state\n }\n }\n\n @computed\n get className() {\n const { status } = this.props.vm.report;\n const resubmitted = status === 6 ? 'resubmitted' : '';\n return `statusLabel ${this.label.toLowerCase()} ${resubmitted}`;\n }\n}\n\nexport default Badge;\n", "import { inject, observer } from 'mobx-react';\n\nimport Moment from 'moment';\nimport React from 'react';\nimport { computed } from 'mobx';\n\n@inject('vm')\n@observer\nclass Subtitle extends React.Component {\n render() {\n if (!this.show) return null;\n return <h4>{this.label}</h4>;\n }\n\n @computed\n get show() {\n let { status, report } = this.props.vm;\n return status === 'normal' && !!report && !!report.timeStamp;\n }\n\n @computed\n get label() {\n let { timeStamp } = this.props.vm.report;\n return new Moment(timeStamp).format('dddd Do MMMM YYYY [at] h:mma');\n }\n}\n\nexport default Subtitle;\n", "import { computed, observable } from 'mobx';\n\nclass ViewStore {\n @observable open = 'false';\n\n constructor(store, pronto) {\n this.store = store;\n this.pronto = pronto;\n }\n\n @computed\n get loading() {\n return this.pronto.status === 'pending';\n }\n\n @computed\n get status() {\n let { status } = this.pronto;\n if (status === 'rejected') return 'error';\n if (status !== 'pending' && !this.report) return 'warn';\n return 'normal';\n }\n\n @computed\n get report() {\n let { reports } = this.pronto;\n let { details } = this.store;\n let id = (details.get('data') || {}).id;\n return reports.get(id || 0);\n }\n\n @computed\n get data() {\n if (!this.report || !this.report.draft) return 'Empty';\n return this.report.draft.data;\n }\n}\n\nexport default ViewStore;\n", "import ModalNew, { DialogType, Result } from 'bz-core-controls/modal-new/confirmation/stores';\nimport { Provider, inject, observer } from 'mobx-react';\nimport { action, computed, observable, toJS } from 'mobx';\n\nimport ClinicalEndpoints from 'bz-pronto-core/endpoints/clinical';\nimport JsonServiceClient from 'bz-stores/lib/JsonServiceClient';\nimport LazyWrapper from 'bz-core-controls/controls/lazy';\n\n//import ProntoReportWizard from '../../../../../../app/modules/my-clinic/controls/referral/controls/editor/controls/report/controls/wizard';\nimport React, { lazy } from 'react';\nconst ProntoReportWizard = LazyWrapper(\n lazy(\n () =>\n import('modules/my-clinic/controls/referral/controls/editor/controls/report/controls/wizard')\n )\n);\nimport Report from 'bz-core-controls/controls/general/report';\nimport ReportStore from 'bz-core-controls/controls/general/report/stores/report-store';\nimport { SubmitReportRequest } from 'tm3-core/api.dtos';\nimport moment from 'moment';\n\nimport { Button } from '@material-ui/core';\n\n@inject('clinicalStore')\n@observer\nclass ReportEditor extends React.Component {\n client = new JsonServiceClient('/api');\n @observable data = new Map();\n @observable showProntoReportWizard = false;\n @observable appointmentsToLock = [];\n\n constructor(props) {\n super(props);\n let { data, template, reportTemplateType } = this.report.draft;\n\n this.draft = new ReportStore();\n this.draft.mode = 'form';\n this.draft.data = data || {};\n this.draft.template = template;\n this.draft.reportTemplateType = reportTemplateType;\n this.data.replace(toJS(data));\n\n const { referralStore } = this.props.clinicalStore.caseStore;\n\n if (!!referralStore.referral.linkAppointmentsToReports) {\n const { appointments = [] } = referralStore.referral;\n const { disableInvoicingAppointmentsInThePast } = referralStore.referral;\n\n let filteredApps = appointments.filter((a) => !a.isLocked);\n\n if (disableInvoicingAppointmentsInThePast) {\n filteredApps = filteredApps.filter((a) => {\n const startDateTime = moment(a.date);\n return startDateTime.isBefore();\n });\n }\n\n this.appointmentsToLock.replace(filteredApps.map((a) => a.id));\n }\n }\n\n @computed\n get shouldLinkAppointmentsToReports() {\n const { referralStore } = this.props.clinicalStore.caseStore;\n\n if (!!referralStore.referral) {\n return referralStore.referral.linkAppointmentsToReports;\n }\n return false;\n }\n\n @action.bound\n onChange(data) {\n this.data.replace(data);\n }\n\n render() {\n let { store } = this.props;\n if (!store) return null;\n\n const date = new moment(store.details.dateTime);\n const subtitle = `${date.format('dddd Do MMMM YYYY')} at ${date.format('h:mma')}`;\n const { referralStore } = this.props.clinicalStore.caseStore;\n\n const prontoReportButtons = this.showProntoReportWizard ? (\n <Button variant=\"outlined\" onClick={this.onSubmitProntoApptsToLock}>\n Submit\n </Button>\n ) : (\n <Button variant=\"outlined\" onClick={this.onShowProntoReportWizard}>\n Next\n </Button>\n );\n\n return (\n <div className=\"clinical-overlay clinical-overlay-edit\">\n <div className=\"clinical-editor-panel\">\n <div className=\"clinical-editor-header\">\n <div className=\"title\">\n <h1>Report</h1>\n <h4>{subtitle}</h4>\n </div>\n <div className=\"actions\">\n {this.showProntoReportWizard ? (\n <Button variant=\"outlined\" onClick={this.onShowProntoReportWizard}>\n Back\n </Button>\n ) : (\n <Button variant=\"outlined\" onClick={this.onSave}>\n Save Draft\n </Button>\n )}\n {this.shouldLinkAppointmentsToReports ? (\n prontoReportButtons\n ) : (\n <Button variant=\"outlined\" onClick={this.onSubmit}>\n Submit\n </Button>\n )}\n <Button variant=\"outlined\" onClick={this.onRequestClose}>\n Cancel\n </Button>\n </div>\n </div>\n <div className=\"clinical-editor-body\">\n <Provider referralStore={referralStore}>\n {this.showProntoReportWizard ? (\n <ProntoReportWizard appointmentsToLock={this.appointmentsToLock} />\n ) : (\n <Report store={this.draft} onStateChange={this.onChange} />\n )}\n </Provider>\n </div>\n </div>\n </div>\n );\n }\n\n @computed\n get report() {\n let { store, clinicalStore } = this.props;\n let { reports } = clinicalStore.prontoStore;\n let { details } = store;\n let id = (details.get('data') || {}).id;\n return reports.get(id || 0);\n }\n\n @action.bound\n onShowProntoReportWizard() {\n const data = toJS(this.data);\n this.draft.data = data;\n this.draft\n .applyValidation()\n .then((isValid) => {\n this.showProntoReportWizard = !this.showProntoReportWizard;\n })\n .catch((error) => {\n return;\n });\n }\n\n @action.bound\n onUpdate() {\n let { caseId } = toJS(this.props.store.details);\n\n let data = toJS(this.data);\n this.report.draft.data = data;\n let request = toJS(this.report);\n\n request.data = JSON.stringify(data);\n request.caseId = caseId;\n\n return request;\n }\n\n @action.bound\n onSave() {\n let request = this.onUpdate();\n\n ClinicalEndpoints.onUpdate(request).then((res) => {\n if (!!res) {\n this.props.onRequestClose();\n }\n });\n }\n\n @action.bound\n onSubmit() {\n let request = this.onUpdate();\n this.draft\n .applyValidation()\n .then((isValid) => {\n ClinicalEndpoints.onSubmit(request).then((res) => {\n if (!res) return;\n this.report.status = res.status;\n this.props.onRequestClose();\n });\n })\n .catch((error) => {\n ModalNew.open(DialogType.alert, {\n title: 'Validation Errors',\n contents: 'Please complete all the required fields in order to submit this report. ',\n okLabel: 'OK'\n });\n\n return;\n });\n }\n\n @action.bound\n async onSubmitProntoApptsToLock() {\n const { referral } = this.props.clinicalStore.caseStore.referralStore;\n const { id } = referral.audit;\n\n if (referral.linkAppointmentsToReports) {\n if (this.appointmentsToLock.length === 0) {\n return;\n }\n\n const result = await ModalNew.open(DialogType.yesno, {\n title: 'Are you sure you want to submit this report?',\n contents:\n 'All selected appointments will be locked. This is a permanent action and cannot be undone. '\n });\n\n if (result !== Result.yes) {\n return;\n }\n }\n\n const reqData = {\n auditId: id,\n appointmentsToLock: this.appointmentsToLock,\n linkInvoicesToReports: referral.linkInvoicesToReports,\n bookingAuditResponse: referral.audit\n };\n\n const res = await this.client.post(new SubmitReportRequest(reqData));\n\n const { appointments, invoice } = res.result;\n\n referral.appointments = appointments;\n this.appointmentsToLock.replace(appointments.filter((a) => !a.isLocked).map((a) => a.id));\n if (invoice != null) {\n referral.invoices.push(invoice);\n }\n this.onSubmit();\n }\n\n @action.bound\n onRequestClose() {\n this.props.onRequestClose();\n }\n}\n\nexport default ReportEditor;\n", "import DeviceManager from 'tm3-pay/utils/device-manager';\nimport React from 'react';\n// TM3 Pay\nconst Settings = React.lazy(() => import('tm3-pay/modules/settings'));\nconst CardType = React.lazy(() => import('tm3-pay/modules/finances/card-type'));\nexport default {\n '2f27420c-434a-4627-af97-aedee9c02dff': {\n control: Settings,\n description: 'TM3 Pay Settings'\n },\n 'dfcd08d9-06e5-478a-a293-ad746e4a2ef9': {\n control: DeviceManager,\n description: 'TM3 Pay Device Manager'\n },\n 'f85df827-f927-4bd2-a072-c61918246bdd': {\n control: CardType,\n description: 'TM3 Pay Card Types'\n }\n};\n", "import React from 'react';\n\nimport HooksProvider from 'bz-stores/hook/mobx-inject/provider';\nimport PaywallDialogStore from '../dialog/stores/paywall-dialog-store';\n\nexport interface IProps {}\n\nconst PaywallProvider: React.FC<IProps> = React.memo(({ children }) => {\n const { current: paywallDialogStore } = React.useRef<PaywallDialogStore>(\n new PaywallDialogStore()\n );\n\n return (\n <HooksProvider paywallDialogStore={paywallDialogStore}>\n <>{children}</>\n </HooksProvider>\n );\n});\n\nPaywallProvider.displayName = 'PaywallProvider';\n\nexport default PaywallProvider;\n", "import DialogStore from 'bz-stores/mobx/dialog-store';\nimport { action, computed, observable } from 'mobx';\nimport { PaywallContent } from '../paywall-content';\nimport type { IPaywallDialogContent } from '../paywall-content';\n\nimport { EPaywallTypes } from '../paywall-content';\nimport JsonServiceClient from 'bz-stores/lib/JsonServiceClient';\nimport { ClickPPCDetailsRequest } from 'tm3-core/api.dtos';\n\ntype TPaywallCallback = () => void;\nclass PaywallDialogStore extends DialogStore {\n client: JsonServiceClient;\n @observable type: EPaywallTypes | null = null;\n @observable callback?: TPaywallCallback;\n\n @observable rate: number = 0;\n\n constructor() {\n super();\n this.client = new JsonServiceClient();\n }\n\n @action.bound\n async onOpen(type: EPaywallTypes, callback?: TPaywallCallback) {\n this.type = type;\n this.callback = callback;\n try {\n const res = await this.client.get(new ClickPPCDetailsRequest());\n const { smsRate, telehealthRate, formsRate } = res.result;\n switch (type) {\n case EPaywallTypes.SMS:\n this.rate = smsRate;\n break;\n case EPaywallTypes.Telehealth:\n this.rate = telehealthRate;\n break;\n case EPaywallTypes.Forms:\n this.rate = formsRate;\n break;\n default:\n this.rate = this.content.DEFAULTRATE;\n }\n } catch (e) {\n // we don't want mothership errors blocking usage\n console.error('Error Getting Mothership PPC Details', e);\n this.rate = this.content.DEFAULTRATE;\n }\n\n this.open();\n }\n\n @action.bound\n onClose() {\n this.type = null;\n this.callback = undefined;\n this.close();\n }\n\n @action.bound\n close() {\n this._close();\n }\n\n @computed\n get content(): IPaywallDialogContent {\n if (!this.type) return {};\n return PaywallContent[this.type];\n }\n}\n\nexport default PaywallDialogStore;\n", "import React from 'react';\nimport { inject, observer, Provider } from 'mobx-react';\nimport { action, computed, observable, reaction, runInAction } from 'mobx';\nimport type { IReactionDisposer } from 'mobx';\n\nimport AddPaymentCard from 'src/components/account/tabs/payments/controls/add-payment-card';\nimport Dialog from 'click-controls/controls/dialog';\nimport MyAccountPaymentCardStore from 'my-account/payment-card/stores/my-account-payment-card-store';\nimport type PaywallDialogStore from './stores/paywall-dialog-store';\nimport { TOASTIFY_TYPE } from 'click-controls/constant/enums';\nimport { TOASTIFY_MSG } from 'click-controls/constant/message';\nimport ToastifyStore from 'click-controls/controls/toastify/toastify-store';\nimport AuthStore from 'bz-stores/lib/auth-store';\ninterface IProps {\n paywallDialogStore?: PaywallDialogStore;\n}\n\n@inject('paywallDialogStore')\n@observer\nclass PaywallDialog extends React.Component<IProps> {\n private store = new MyAccountPaymentCardStore();\n disposers: IReactionDisposer[];\n @observable isSaving = false;\n @observable isLoading = false;\n @observable error: string = '';\n\n constructor(props: IProps) {\n super(props);\n\n this.disposers = [\n reaction(\n () => this.props.paywallDialogStore!.isOpen,\n (isOpen) => {\n if (isOpen) {\n this.load();\n }\n },\n { fireImmediately: true }\n ),\n reaction(\n () => AuthStore.authenticated,\n (isAuthenticated) => {\n if (!isAuthenticated) {\n this.props.paywallDialogStore!.close();\n }\n }\n ),\n reaction(\n () => this.props.paywallDialogStore!.isOpen,\n (isOpen) => {\n if (!isOpen) {\n this.store.reset();\n }\n },\n { fireImmediately: true }\n )\n ];\n }\n componentWillUnmount() {\n this.disposers.forEach((x) => x());\n }\n\n render() {\n const { content } = this.props.paywallDialogStore!;\n\n const { isValid, hasStripeLoaded } = this.store;\n const { TITLE, DESC } = content!;\n\n return (\n <Dialog\n title={TITLE}\n isOpen={this.isOpen}\n centered={true}\n okText={this.okText}\n onClose={this.close}\n containerClass=\"w-[500px]\"\n disabledBtnOK={!isValid || this.isSaving}\n onOK={this.save}\n isDismissable={false}\n shouldCloseOnBlur={false}\n isLoading={!hasStripeLoaded}\n >\n <Provider myAccountPaymentCardStore={this.store}>\n <>\n <div className=\"mb-4 grid gap-4 text-gray-600\">\n <p>{DESC}</p>\n <p className=\"italic\">{this.rateText}</p>\n <h3 className=\"text-md font-semibold\">Payment Card</h3>\n </div>\n <AddPaymentCard showAddButton={false} />\n {this.error && (\n <div\n className=\"mt-2 rounded border border-red-400 bg-red-100 px-4 py-3 text-red-700\"\n role=\"alert\"\n >\n <strong className=\"font-bold\">Error:</strong>\n <span className=\"block sm:inline\">{this.error}</span>\n </div>\n )}\n </>\n </Provider>\n </Dialog>\n );\n }\n\n @action.bound\n private async load(): Promise<void> {\n const { callback, onClose } = this.props.paywallDialogStore!;\n try {\n this.isLoading = true;\n await this.store.onLoad();\n\n if (!!this.store!.cardDetails?.cardExists ?? false) {\n callback?.();\n onClose();\n }\n } catch (e) {\n console.error('[Click] - PaywallDialog load error');\n console.error(e);\n throw e;\n } finally {\n this.isLoading = false;\n }\n }\n\n @computed\n private get rateText(): string {\n const {\n content: { RATE },\n rate\n } = this.props.paywallDialogStore!;\n if (!RATE) return '';\n return RATE.replace('{RATE}', this.store.currencySymbol + rate.toFixed(2));\n }\n\n @computed\n private get okText(): string {\n const { BUTTONTEXT } = this.props.paywallDialogStore!.content;\n\n return BUTTONTEXT || 'Add Card';\n }\n\n @computed\n private get isOpen(): boolean {\n const { isOpen } = this.props.paywallDialogStore!;\n const { hasCardDetails } = this.store;\n return !this.isLoading && isOpen && !hasCardDetails;\n }\n\n private processError(error: any): string {\n if (error) {\n if (typeof error === 'string') {\n return error;\n } else if (error?.message) {\n return error.message;\n }\n }\n return 'Payment method failed to be updated.';\n }\n\n @action.bound\n private close(): void {\n this.error = '';\n this.props.paywallDialogStore!.onClose();\n }\n\n @action.bound\n async save(): Promise<void> {\n const { callback } = this.props.paywallDialogStore!;\n const { stripeKey, saveCard, error } = this.store;\n const { confirmCardSetup } = stripeKey;\n const { setMessage } = ToastifyStore;\n try {\n this.isSaving = true;\n\n const clientSecret = await saveCard();\n if (!!error) {\n this.error = error;\n setMessage(TOASTIFY_TYPE.Error, TOASTIFY_MSG.PAYMENT_METHOD.ADD_EDIT_FAILED(error));\n return;\n }\n const res = await confirmCardSetup(clientSecret);\n\n if (res?.error) {\n this.store.paymentMethod = null;\n this.error = this.processError(res?.error);\n\n setMessage(\n TOASTIFY_TYPE.Error,\n TOASTIFY_MSG.PAYMENT_METHOD.SAVE_FAILED(res.error?.message)\n );\n } else {\n runInAction(() => {\n this.store.onLoad();\n this.store.isAddingCard = false;\n this.store.isLoading = false;\n callback?.();\n this.close();\n setMessage(TOASTIFY_TYPE.Success, TOASTIFY_MSG.PAYMENT_METHOD.SAVE_SUCCESS);\n });\n }\n } catch (e) {\n this.error = this.processError(e);\n setMessage(TOASTIFY_TYPE.Error, TOASTIFY_MSG.PAYMENT_METHOD.SAVE_FAILED(e));\n console.error('Issue adding card');\n console.error(e);\n } finally {\n this.isSaving = false;\n }\n }\n}\n\nexport default PaywallDialog;\n", "import type { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n"], "mappings": "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", "names": ["require_mobile_detect", "__commonJSMin", "exports", "module", "init_virtual_process_polyfill", "init_buffer", "define", "undefined", "impl", "hasOwnProp", "isArray", "value", "equalIC", "a", "b", "__name", "containsIC", "array", "valueLC", "i", "len", "convertPropsToRegExp", "object", "key", "prepareUserAgent", "userAgent", "values", "verPos", "mobileDetectRules", "rules", "result", "propertyName", "props", "patterns", "match", "version", "numbers", "cache", "maxPhoneWidth", "phone", "tablet", "phoneSized", "MobileDetect", "t", "$isMobile", "ua", "pattern", "factory", "require_spark_md5", "__commonJSMin", "exports", "module", "init_virtual_process_polyfill", "init_buffer", "factory", "glob", "undefined", "add32", "__name", "a", "hex_chr", "cmn", "q", "b", "x", "s", "t", "md5cycle", "k", "c", "d", "md5blk", "md5blks", "i", "md5blk_array", "md51", "n", "state", "length", "tail", "tmp", "lo", "hi", "md51_array", "rhex", "j", "hex", "y", "lsw", "msw", "clamp", "val", "from", "to", "begin", "end", "num", "target", "targetArray", "sourceArray", "toUtf8", "str", "utf8Str2ArrayBuffer", "returnUInt8Array", "buff", "arr", "arrayBuffer2Utf8Str", "concatenateArrayBuffers", "first", "second", "result", "hexToBinaryString", "bytes", "SparkMD5", "contents", "raw", "ret", "content", "hash", "require_client", "__commonJSMin", "exports", "init_virtual_process_polyfill", "init_buffer", "m", "i", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "Reflect", "factory", "root", "exporter", "makeExporter", "target", "previous", "key", "value", "__name", "hasOwn", "supportsSymbol", "toPrimitiveSymbol", "iteratorSymbol", "supportsCreate", "supportsProto", "downLevel", "HashMap", "MakeDictionary", "map", "functionPrototype", "usePolyfill", "_Map", "CreateMapPolyfill", "_Set", "CreateSetPolyfill", "_WeakMap", "CreateWeakMapPolyfill", "Metadata", "decorate", "decorators", "propertyKey", "attributes", "IsUndefined", "IsArray", "IsConstructor", "DecorateConstructor", "IsObject", "IsNull", "ToPropertyKey", "DecorateProperty", "metadata", "metadataKey", "metadataValue", "decorator", "IsPropertyKey", "OrdinaryDefineOwnMetadata", "defineMetadata", "hasMetadata", "OrdinaryHasMetadata", "hasOwnMetadata", "OrdinaryHasOwnMetadata", "getMetadata", "OrdinaryGetMetadata", "getOwnMetadata", "OrdinaryGetOwnMetadata", "getMetadataKeys", "OrdinaryMetadataKeys", "getOwnMetadataKeys", "OrdinaryOwnMetadataKeys", "deleteMetadata", "metadataMap", "GetOrCreateMetadataMap", "targetMetadata", "i", "decorated", "descriptor", "O", "P", "Create", "MetadataKey", "parent", "OrdinaryGetPrototypeOf", "ToBoolean", "MetadataValue", "ownKeys", "parentKeys", "set", "keys", "keysObj", "iterator", "GetIterator", "k", "next", "IteratorStep", "nextValue", "IteratorValue", "e", "IteratorClose", "Type", "x", "Tag", "IsSymbol", "ToPrimitive", "input", "PreferredType", "hint", "exoticToPrim", "GetMethod", "result", "OrdinaryToPrimitive", "toString", "IsCallable", "valueOf", "argument", "ToString", "V", "func", "obj", "method", "iterResult", "f", "proto", "prototype", "prototypeProto", "constructor", "cacheSentinel", "arraySentinel", "MapIterator", "values", "selector", "index", "error", "size", "getKey", "getValue", "getEntry", "insert", "_", "rootKey", "CreateUniqueKey", "table", "GetOrCreateWeakMapTable", "CreateUUID", "create", "FillRandomBytes", "buffer", "GenRandomBytes", "data", "offset", "byte", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "prototype", "items", "add", "target", "fallback", "callback", "acc", "args", "index", "x", "canRemove", "map", "value", "array", "pred", "left", "right", "key", "values", "init_virtual_process_polyfill", "init_buffer", "TimeUnit", "first", "second", "unit", "arg", "target", "init_virtual_process_polyfill", "init_buffer", "target", "wait", "timer", "args", "init_virtual_process_polyfill", "init_buffer", "arg", "prototype", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "pick", "__name", "target", "keys", "x", "pick_default", "target", "keys", "omit_default", "pick_default", "init_virtual_process_polyfill", "init_buffer", "string", "init_virtual_process_polyfill", "init_buffer", "arg", "prototype", "target", "result", "x", "init_virtual_process_polyfill", "init_buffer", "arg", "prototype", "binString", "bytes", "m", "byte", "radix", "char", "init_virtual_process_polyfill", "init_buffer", "import_mobile_detect", "arg", "MobileDetect", "import_react", "import_mobile_detect", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "defaultTheme", "BzThemeStoreContext", "useBzThemeStore", "context_v2_default", "BzThemeStoreProvider", "observer", "props", "store", "React", "BzThemeStore", "__name", "__decorateClass", "observable", "init_virtual_process_polyfill", "init_buffer", "import_react", "shades", "useSetThemeVariable", "__name", "portion", "colour", "React", "i", "useTheme", "theme", "accent", "primary", "secondary", "theme_default", "BzTheme", "observer", "props", "theme_default", "defaultTheme", "BzChangableTheme", "theme", "useBzThemeStore", "init_virtual_process_polyfill", "init_buffer", "import_react", "import_core", "init_virtual_process_polyfill", "init_buffer", "import_react", "useInterval", "__name", "callback", "delay", "savedCallback", "React", "tick", "id", "useInterval_default", "VersionCheck", "__name", "open", "setOpen", "React", "useInterval_default", "SnackContent", "useStyles", "classes", "onClick", "button_default", "version_check_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "isString", "obj", "__name", "isNumber", "isFunction", "isPlainObject", "hasUser", "event", "id", "_c", "_b", "_a", "ValidationError", "_super", "__extends", "field", "message", "_this", "validate", "ctx", "eventType", "props", "validation", "resolveArguments", "eventName", "properties", "options", "callback", "args", "name", "isPlainObject", "isString", "data", "_a", "opts", "isFunction", "cb", "__name", "resolvePageArguments", "category", "resolvedCategory", "resolvedName", "strings", "resolvedCallback", "objects", "obj", "resolvedProperties", "resolvedOptions", "_b", "resolveUserArguments", "user", "_i", "id", "_c", "isNumber", "traits", "_d", "_e", "resolveAliasArguments", "to", "from", "aliasTo", "aliasFrom", "groupBy", "collection", "grouper", "results", "item", "key", "suggestedKey", "__spreadArray", "_a", "__name", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "isThenable", "__name", "value", "createTaskGroup", "__name", "taskCompletionPromise", "resolvePromise", "count", "op", "returnValue", "isThenable", "res", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "isBrowser", "__name", "isOnline", "isBrowser", "__name", "isOffline", "CoreEventQueue", "_super", "__extends", "priorityQueue", "_this", "createTaskGroup", "ON_REMOVE_FROM_FUTURE", "__name", "ctx", "plugin", "instance", "err", "_a", "p", "e_1", "willDeliver", "resolve", "onDeliver", "flushed", "delivered", "accepted", "timeout", "start", "done", "error", "err_1", "retriable", "ContextCancelation", "isOffline", "err_2", "denyList", "available", "alternativeNameMatch", "name", "_c", "_b", "groupBy", "before", "enrichment", "_d", "destination", "_e", "after", "before_1", "_i", "beforeWare", "ensure", "temp", "_f", "CoreContext", "enrichment_1", "enrichmentWare", "attempt", "destinations", "reject", "attempts", "afterCalls", "Emitter", "getDelay", "__name", "startTimeInEpochMS", "timeoutInMS", "elapsedTime", "dispatch", "ctx", "queue", "emitter", "options", "startTime", "dispatched", "_a", "invokeCallback", "import_spark_md5", "EventFactory", "user", "__name", "event", "properties", "options", "globalIntegrations", "__assign", "category", "page", "_a", "screen", "userId", "traits", "groupId", "to", "from", "base", "optionsKeys", "providedOptionsKeys", "context", "_c", "_b", "overrides", "key", "dset", "integrationBooleans", "integrationNames", "name", "allIntegrations", "_d", "rest", "__rest", "body", "messageId", "md5", "v4", "evt", "EventQueue", "_super", "__extends", "priorityQueue", "PersistedPriorityQueue", "__name", "CoreEventQueue", "deprecationWarning", "global", "getGlobal", "_analytics", "createDefaultQueue", "retryQueue", "disablePersistance", "maxAttempts", "priorityQueue", "PriorityQueue", "PersistedPriorityQueue", "EventQueue", "__name", "_stub", "Analytics", "_super", "__extends", "settings", "options", "queue", "user", "group", "_this", "cookieOptions", "_a", "_b", "UniversalStorage", "getAvailableStorageOptions", "User", "__assign", "Group", "EventFactory", "_c", "bindAll", "args", "_i", "resolveArguments", "name", "data", "opts", "cb", "segmentEvent", "ctx", "resolvePageArguments", "category", "page", "properties", "callback", "resolveUserArguments", "id", "_traits", "groupId", "groupTraits", "resolveAliasArguments", "to", "from", "autotrack", "__spreadArray", "plugins", "Context", "registrations", "xt", "deregistrations", "pl", "plugin", "p", "toggle", "timeout", "event", "isOffline", "dispatch", "fn", "__awaiter", "sourceMiddlewarePlugin", "integrations", "integrationName", "middlewares", "legacyDestinations", "destination", "query", "queryString", "legacyPluginFactory", "res", "i", "msg", "version", "_settings", "_options", "url", "acc", "integration", "nested", "an", "method", "Emitter", "init_virtual_process_polyfill", "init_buffer", "getProcessEnv", "__name", "init_virtual_process_polyfill", "init_buffer", "createDeferred", "__name", "resolve", "reject", "promise", "_resolve", "_reject", "init_virtual_process_polyfill", "init_buffer", "canonical", "tags", "canon", "tag", "__name", "canonicalPath", "a", "pathname", "canonicalUrl", "search", "url", "i", "pageDefaults", "enrichPageContext", "ctx", "event", "pageContext", "pageProps", "_a", "key", "pageEnrichment", "ActionDestination", "name", "action", "__name", "fn", "_i", "_a", "ctx", "applyDestinationMiddleware", "modifiedEvent", "ContextCancelation", "Context", "methodName", "_this", "__awaiter", "transformedContext", "analytics", "_b", "validate", "pluginLike", "required", "plugin", "method", "_a", "__name", "isPluginDisabled", "userIntegrations", "remotePlugin", "creationNameEnabled", "currentNameEnabled", "remoteLoader", "settings", "mergedIntegrations", "obfuscate", "routingMiddleware", "allPlugins", "cdn", "getCDN", "routingRules", "_b", "pluginPromises", "_c", "__awaiter", "_this", "urlSplit", "name_1", "obfuscatedURL", "loadScript", "libraryName", "pluginFactory", "__assign", "plugins", "routing_1", "rule", "wrapper", "ActionDestination", "error_2", "_d", "init_virtual_process_polyfill", "init_buffer", "onPageLeave", "__name", "cb", "unloaded", "MAX_PAYLOAD_SIZE", "kilobytes", "buffer", "size", "__name", "approachingTrackingAPILimit", "chunks", "batch", "result", "index", "item", "apiHost", "config", "pageUnloaded", "limit", "_a", "timeout", "_b", "sendBatch", "writeKey", "fetch", "flush", "batch_1", "schedule", "scheduleFlush", "onPageLeave", "reqs", "dispatch", "_url", "body", "bufferOverflow", "init_virtual_process_polyfill", "init_buffer", "fetch_dispatcher_default", "config", "dispatch", "url", "body", "fetch", "__name", "flushQueue", "xt", "queue", "failedQueue", "isOffline", "pWhile", "__awaiter", "_this", "ctx", "attempt", "result", "_a", "success", "Context", "failed", "__name", "scheduleFlush", "flushing", "buffer", "isFlushing", "newBuffer", "onAlias", "analytics", "json", "user", "_c", "_b", "_a", "_d", "__name", "segmentio", "settings", "integrations", "buffer", "inflightEvents", "PriorityQueue", "PersistedPriorityQueue", "flushing", "apiHost", "protocol", "remote", "deliveryStrategy", "client", "batch", "fetch_dispatcher_default", "send", "ctx", "isOffline", "scheduleFlush", "path", "toFacade", "__assign", "normalize", "init_virtual_process_polyfill", "init_buffer", "isThenable", "__name", "value", "flushSyncAnalyticsCalls", "__name", "name", "analytics", "buffer", "c", "callAnalyticsMethod", "flushAddSourceMiddleware", "__awaiter", "_a", "_i", "_b", "flushOn", "flushSetAnonymousID", "flushAnalyticsCallsInNewTask", "m", "PreInitMethodCallBuffer", "methodName", "_this", "calls", "call", "callAnalyticsMethod", "analytics", "call", "result", "isThenable", "_a", "err_1", "__name", "AnalyticsBuffered", "loader", "_this", "PreInitMethodCallBuffer", "version", "ajs", "ctx", "args", "_i", "methodName", "resolve", "reject", "init_virtual_process_polyfill", "init_buffer", "transformSnippetCall", "_a", "methodName", "args", "__name", "normalizeSnippetBuffer", "buffer", "popSnippetWindowBuffer", "wa", "buffered", "env", "getGlobal", "inspectorHost", "_a", "_b", "attachInspector", "__name", "analytics", "loadLegacySettings", "cdnURL", "baseUrl", "getCDN", "__name", "hasLegacyDestinations", "settings", "getProcessEnv", "hasTsubMiddleware", "_c", "_b", "_a", "flushPreBuffer", "analytics", "buffer", "popSnippetWindowBuffer", "flushSetAnonymousID", "flushOn", "flushFinalBuffer", "flushAddSourceMiddleware", "flushAnalyticsCallsInNewTask", "registerPlugins", "legacySettings", "opts", "options", "plugins", "legacyIntegrationSources", "mod", "_d", "_g", "tsubMiddleware", "_e", "legacyDestinations", "_f", "schemaFilter", "mergedSettings", "mergedOptions", "remoteLoader", "remotePlugins", "toRegister", "__spreadArray", "validation", "pageEnrichment", "shouldIgnoreSegmentio", "segmentio", "ctx", "enabled", "remoteMiddlewares", "middleware", "promises", "mdw", "loadAnalytics", "preInitBuffer", "setGlobalCDNUrl", "retryQueue", "__assign", "Analytics", "attachInspector", "classicIntegrations", "Stats", "search", "hash", "term", "AnalyticsBrowser", "_super", "__extends", "_this", "createDeferred", "loadStart", "resolveLoadStart", "writeKey", "res", "AnalyticsBuffered", "useJune", "writeKey", "analytics", "setAnalytics", "__name", "_analytics", "AnalyticsBrowser", "isNonProd", "isAlsoNonProd", "JuneContext", "JuneProvider", "observer", "children", "key", "cache", "analytics", "useJune", "React", "RouteTracking", "authStore", "useStore_default", "license", "email", "displayName", "clientId", "location", "useLocation", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "React", "import_core", "TerminalPaymentDialog", "props", "terminalPaymentDialogStore", "content", "terminal_select_default", "in_progress_default", "error_default", "showFor_default", "dialog_default", "hideFrom_default", "internal_default", "dialog_header_default", "__name", "__decorateClass", "inject", "observer", "terminal_payment_dialog_default", "styles_default", "TerminalDialogWrapper", "React", "terminal_payment_dialog_store_default", "children", "clearAcceptTerminalFeature", "cache", "features_default", "Provider", "feature_default", "terminal_payment_dialog_default", "__name", "__decorateClass", "observer", "terminal_dialog_wrapper_default", "init_virtual_process_polyfill", "init_buffer", "React", "DictionaryStoreProvider", "observer", "children", "appLocation", "location", "cache", "store", "dictionary_store_default", "DictionaryStoreContext", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "init_mobx_module", "Cache", "key", "__name", "__decorateClass", "observable", "action", "Register", "React", "props", "mediator_default", "Provider", "cache_default", "cache", "__name", "__decorateClass", "observer", "register_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "import_bind_decorator", "PermissionsProvider", "React", "permissions_default", "rule", "locationId", "authStore", "permissions", "currentLocationId", "__name", "__decorateClass", "inject", "observer", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "e", "t", "n", "__name", "o", "a", "i", "r", "c", "l", "s", "u", "d", "h", "f", "p", "g", "w", "v", "_", "y", "$", "b", "S", "x", "M", "m", "P", "T", "R", "A", "C", "RuptProvider", "observer", "authStore", "useStore_default", "deviceId", "setDeviceId", "client_id", "isNonProd", "isAlsoNonProd", "cache", "email", "mobileNumber", "displayName", "isEvaluating", "clientId", "location", "$", "res", "AnalyticsProvider", "children", "React", "RuptProvider", "JuneProvider", "__name", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "PayControl", "React", "style", "iconStyle", "colours", "appointment", "isMyClinicIntegration", "auditId", "prontoServiceId", "feature_store_default", "guid_default", "__name", "__decorateClass", "computed", "observer", "pay_control_default", "init_virtual_process_polyfill", "init_buffer", "React", "init_mobx_module", "import_moment", "ChargeExtras", "style", "colours", "prontoServiceId", "feature_store_default", "guid_default", "prontoCache", "charge", "services", "date", "moment", "__name", "__decorateClass", "computed", "inject", "observer", "charge_extras_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "ActionBar", "React", "__name", "__decorateClass", "observer", "action_bar_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "InvoiceType", "invoice_type_default", "init_mobx_module", "EditPayments", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "__decorateClass", "computed", "edit_payments_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "EditCharges", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "__decorateClass", "computed", "edit_charges_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "AcknowledgeDialog", "React", "actions", "button_default", "core_dialog_default", "invoice", "globalId", "globalType", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "id", "api_default", "res", "result", "modal", "modal_default", "__name", "__decorateClass", "observable", "computed", "action", "observer", "acknowledge_dialog_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "TransferMenuItem", "React", "invoice", "globalType", "invoice_type_default", "__name", "transfer_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "ChangeMenuItem", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "__decorateClass", "computed", "change_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "WriteOffMenuItem", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "write_off_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "CreditNoteMenuItem", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "__decorateClass", "computed", "credit_note_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "DiscountMenuItem", "React", "invoice", "globalId", "globalType", "metadata", "invoice_type_default", "guid_default", "pronto_invoice_status_default", "__name", "discount_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_react", "import_core", "menuListProps", "Tm3Menu", "React", "MenuListProps", "children", "props", "__name", "tm3_menu_default", "menus_default", "tm3_menu_default", "init_virtual_process_polyfill", "init_buffer", "init_mobx_module", "MenuStore", "id", "anchorEl", "__name", "__decorateClass", "observable", "action", "stores_default", "init_virtual_process_polyfill", "init_buffer", "React", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "ClinicalEndpoints", "report", "caseId", "url", "resolve", "reject", "api_default", "res", "id", "__name", "clinical_default", "import_core", "ReportMenuItem", "React", "name", "clinicalStore", "allowed", "templates", "templateId", "guid_default", "caseStore", "prontoStore", "historyStore", "bookerId", "req", "clinical_default", "res", "reports", "treatment", "__name", "__decorateClass", "computed", "action", "inject", "observer", "report_menu_item_default", "ReportsList", "report_menu_item_default", "__name", "__decorateClass", "observer", "reports_list_default", "import_core", "ReportsMenu", "React", "icon_default", "menus_default", "stores_default", "reports_list_default", "e", "__name", "__decorateClass", "computed", "action", "inject", "observer", "reports_menu_default", "import_core", "Footer", "React", "icon_default", "reports_menu_default", "prontoStore", "x", "guid_default", "details", "referralStore", "closed", "bookingAuditId", "isProntoReport", "feature_store_default", "canReportToPronto", "__name", "__decorateClass", "observable", "computed", "action", "inject", "observer", "case_footer_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "import_core", "MenuCollapseItem", "React", "primary", "MenuItemProps", "__name", "__decorateClass", "observable", "computed", "action", "observer", "menu_collapse_item_default", "import_core", "MoreMenuItem", "React", "menu_collapse_item_default", "reports_list_default", "details", "referralStore", "closed", "bookingAuditId", "feature_store_default", "guid_default", "canReportToPronto", "prontoStore", "x", "__name", "__decorateClass", "computed", "inject", "observer", "more_menu_item_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "EmptyMessage", "React", "attachments", "status", "__name", "__decorateClass", "computed", "inject", "observer", "empty_message_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "ErrorMessage", "React", "status", "__name", "__decorateClass", "computed", "inject", "observer", "error_message_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "init_virtual_process_polyfill", "init_buffer", "import_react", "import_moment", "init_mobx_module", "Attachment", "React", "size", "timeStamp", "name", "extension", "dateCreated", "Moment", "fileSize", "match", "caseId", "__name", "__decorateClass", "computed", "withRouter", "observer", "attachment_default", "AttachmentsTable", "React", "attachments", "content", "x", "i", "attachment_default", "status", "reports", "__name", "__decorateClass", "computed", "inject", "observer", "attachment_table_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "LoadingSlider", "React", "loading", "children", "__name", "loading_slider_default", "import_core", "Attachments", "React", "icon_default", "loading_slider_default", "attachment_table_default", "empty_message_default", "error_message_default", "caseStore", "bookingAuditId", "attachments", "reports", "feature_store_default", "guid_default", "status", "navKey", "clinicalStore", "__name", "__decorateClass", "observable", "computed", "action", "inject", "observer", "case_attachments_default", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "import_core", "Action", "React", "label", "vm", "e", "__name", "__decorateClass", "action", "inject", "observer", "action_base_default", "import_react", "init_mobx_module", "ErrorActions", "React", "action_base_default", "icons_default", "__name", "__decorateClass", "computed", "inject", "observer", "error_actions_default", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "AcknowledgeAction", "React", "action_base_default", "icons_default", "status", "pronto_report_status_default", "e", "store", "report", "caseId", "clinical_default", "__name", "__decorateClass", "computed", "action", "inject", "observer", "acknowledge_action_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "CloneAction", "React", "action_base_default", "icons_default", "status", "pronto_report_status_default", "vm", "clinicalStore", "caseStore", "prontoStore", "historyStore", "req", "clinical_default", "res", "reports", "treatment", "__name", "__decorateClass", "computed", "action", "inject", "observer", "clone_action_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "EditAction", "React", "action_base_default", "icon_default", "status", "pronto_report_status_default", "__name", "__decorateClass", "computed", "inject", "observer", "edit_action_default", "import_react", "init_mobx_module", "NormalActions", "React", "edit_action_default", "acknowledge_action_default", "clone_action_default", "status", "report", "__name", "__decorateClass", "computed", "inject", "observer", "normal_actions_default", "import_react", "Actions", "React", "normal_actions_default", "error_actions_default", "__name", "__decorateClass", "observer", "actions_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "import_core", "Icon", "React", "vm", "icons_default", "open", "loading", "status", "report", "pronto_report_status_default", "__name", "__decorateClass", "computed", "inject", "observer", "icon_default", "import_react", "init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "Badge", "React", "status", "report", "resubmitted", "__name", "__decorateClass", "computed", "inject", "observer", "badge_default", "import_react", "init_virtual_process_polyfill", "init_buffer", "import_moment", "import_react", "init_mobx_module", "Subtitle", "React", "status", "report", "timeStamp", "Moment", "__name", "__decorateClass", "computed", "inject", "observer", "subtitle_default", "init_mobx_module", "Title", "React", "subtitle_default", "badge_default", "vm", "clinicalStore", "status", "name", "text", "report", "templates", "__name", "__decorateClass", "computed", "inject", "observer", "title_default", "init_mobx_module", "HeaderControl", "React", "icon_default", "title_default", "actions_default", "vm", "navKey", "clinicalStore", "__name", "__decorateClass", "action", "inject", "observer", "header_control_default", "import_react", "init_virtual_process_polyfill", "init_buffer", "init_mobx_module", "ViewStore", "store", "pronto", "status", "reports", "details", "id", "__name", "__decorateClass", "observable", "computed", "view_store_default", "init_mobx_module", "CaseReport", "React", "props", "store", "clinicalStore", "view_store_default", "vm", "className", "navKey", "onEdit", "Provider", "header_control_default", "loading_slider_default", "show_default", "ErrorMessage", "ReportWrapper", "referralStore", "status", "open", "report", "loading", "css", "__name", "__decorateClass", "computed", "inject", "observer", "message", "report_default", "case_report_default", "init_virtual_process_polyfill", "init_buffer", "init_mobx_module", "import_react", "init_api_dtos", "import_moment", "import_core", "ProntoReportWizard", "lazy_default", "ReportEditor", "React", "props", "ServiceClient", "data", "template", "reportTemplateType", "report_store_default", "toJS", "referralStore", "appointments", "disableInvoicingAppointmentsInThePast", "filteredApps", "a", "moment", "store", "date", "subtitle", "prontoReportButtons", "Provider", "report_default", "clinicalStore", "reports", "details", "id", "isValid", "error", "caseId", "request", "clinical_default", "res", "stores_default", "referral", "reqData", "SubmitReportRequest", "invoice", "__name", "__decorateClass", "observable", "computed", "action", "inject", "observer", "report_editor_default", "register_default", "pay_control_default", "charge_extras_default", "action_bar_default", "edit_payments_default", "edit_charges_default", "acknowledge_dialog_default", "transfer_menu_item_default", "change_menu_item_default", "write_off_menu_item_default", "credit_note_menu_item_default", "discount_menu_item_default", "case_footer_default", "more_menu_item_default", "case_attachments_default", "case_report_default", "report_editor_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "Settings", "React", "CardType", "register_default", "device_manager_default", "cache", "License", "React", "props", "register_default", "prontoCache", "license", "LicenseObservable", "observe", "res", "name", "newValue", "cache_default", "x", "Provider", "__name", "__decorateClass", "inject", "observer", "license_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_virtual_process_polyfill", "init_buffer", "init_mobx_module", "init_api_dtos", "PaywallDialogStore", "dialog_store_default", "ServiceClient", "type", "callback", "res", "ClickPPCDetailsRequest", "smsRate", "telehealthRate", "formsRate", "e", "PaywallContent", "__name", "__decorateClass", "observable", "action", "computed", "paywall_dialog_store_default", "PaywallProvider", "React", "children", "paywallDialogStore", "paywall_dialog_store_default", "provider_default", "init_virtual_process_polyfill", "init_buffer", "import_react", "init_mobx_module", "PaywallDialog", "React", "props", "my_account_payment_card_store_default", "reaction", "isOpen", "auth_store_default", "isAuthenticated", "x", "content", "isValid", "hasStripeLoaded", "TITLE", "DESC", "dialog_default", "Provider", "add_payment_card_default", "callback", "onClose", "e", "RATE", "rate", "BUTTONTEXT", "hasCardDetails", "error", "stripeKey", "saveCard", "confirmCardSetup", "setMessage", "toastify_store_default", "clientSecret", "TOASTIFY_MSG", "res", "runInAction", "__name", "__decorateClass", "observable", "action", "computed", "inject", "observer", "ClickAppProviders", "observer", "props", "React", "Provider", "auth_store_default", "rr4_default", "AnalyticsProvider", "$18f2051aff69b9bf$export$a54013f0d02a8f82", "provider_default", "register_default", "CacheProvider", "DictionaryStoreProvider", "permissions_default", "terminal_dialog_wrapper_default", "license_default", "dialog_default", "providers_default", "AuthPages", "React", "Signup", "ProntoSignup", "InvoicePrint", "ReferralSignUpExisting", "ReferralSignUpExistingComplete", "AuthenticatedApp", "MobileDetect", "AuthLoader", "observer", "auth_store_default", "loading_panel_default", "App", "version_check_default", "theme_default", "providers_default", "fallback_default", "Router", "rr4_default", "RouteTracking", "Switch", "Route", "LoginRoutePaths", "__name", "App_default", "import_react", "init_virtual_process_polyfill", "init_buffer", "reportWebVitals", "__name", "onPerfEntry", "getCLS", "getFID", "getFCP", "getLCP", "getTTFB", "reportWebVitals_default", "import_moment", "import_client", "import_react_dom", "el", "React", "App_default", "ReactDOM", "reportWebVitals_default", "moment"] }