aiber-martin/platforms/ios/www/main-es2015.js.map
Martin Donnelly a4b8625d0f init
2020-12-17 16:23:12 +00:00

1 line
243 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/@ionic/core/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/app.component.html","./src/app/home/home.page.html","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/home/home.page.scss","./src/app/home/home.page.ts","./src/app/services/database/database.service.ts","./src/app/services/getlocation/getlocation.service.ts","./src/app/shared/app.global.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es2015.js","sourcesContent":["var map = {\n\t\"./main/main.module\": [\n\t\t\"./src/app/main/main.module.ts\",\n\t\t\"main-main-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js\",\n\t\t\"common\",\n\t\t0\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-alert.entry.js\",\n\t\t\"common\",\n\t\t1\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js\",\n\t\t\"common\",\n\t\t2\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js\",\n\t\t\"common\",\n\t\t3\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-back-button.entry.js\",\n\t\t\"common\",\n\t\t4\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-backdrop.entry.js\",\n\t\t5\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-button_2.entry.js\",\n\t\t\"common\",\n\t\t6\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-card_5.entry.js\",\n\t\t\"common\",\n\t\t7\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-checkbox.entry.js\",\n\t\t\"common\",\n\t\t8\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-chip.entry.js\",\n\t\t\"common\",\n\t\t9\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js\",\n\t\t10\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js\",\n\t\t\"common\",\n\t\t11\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js\",\n\t\t\"common\",\n\t\t12\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-img.entry.js\",\n\t\t13\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js\",\n\t\t14\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-input.entry.js\",\n\t\t\"common\",\n\t\t15\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js\",\n\t\t\"common\",\n\t\t16\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js\",\n\t\t\"common\",\n\t\t17\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-loading.entry.js\",\n\t\t\"common\",\n\t\t18\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js\",\n\t\t\"common\",\n\t\t19\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-modal.entry.js\",\n\t\t\"common\",\n\t\t20\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js\",\n\t\t\"common\",\n\t\t21\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-popover.entry.js\",\n\t\t\"common\",\n\t\t22\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js\",\n\t\t\"common\",\n\t\t23\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js\",\n\t\t\"common\",\n\t\t24\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-range.entry.js\",\n\t\t\"common\",\n\t\t25\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js\",\n\t\t\"common\",\n\t\t26\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js\",\n\t\t\"common\",\n\t\t27\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js\",\n\t\t28\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js\",\n\t\t\"common\",\n\t\t29\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js\",\n\t\t\"common\",\n\t\t30\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js\",\n\t\t\"common\",\n\t\t31\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js\",\n\t\t\"common\",\n\t\t32\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js\",\n\t\t33\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js\",\n\t\t\"common\",\n\t\t34\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js\",\n\t\t35\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js\",\n\t\t\"common\",\n\t\t36\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js\",\n\t\t\"common\",\n\t\t37\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-text.entry.js\",\n\t\t\"common\",\n\t\t38\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-textarea.entry.js\",\n\t\t\"common\",\n\t\t39\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-toast.entry.js\",\n\t\t\"common\",\n\t\t40\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-toggle.entry.js\",\n\t\t\"common\",\n\t\t41\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-virtual-scroll.entry.js\",\n\t\t42\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./node_modules/@ionic/core/dist/esm lazy recursive ^\\\\.\\\\/.*\\\\.entry\\\\.js$ include: \\\\.entry\\\\.js$ exclude: \\\\.system\\\\.entry\\\\.js$\";\nmodule.exports = webpackAsyncContext;","export default \"<ion-app>\\n <ion-router-outlet></ion-router-outlet>\\n</ion-app>\\n\";","export default \"<ion-content class=\\\"stopScroll\\\">\\n <div class=\\\"aiber-ion-header\\\">\\n <div class=\\\"headerHolder\\\">\\n <!--<ion-button color=\\\"primary\\\" class=\\\"echoButton\\\" (click)=\\\"echoTest()\\\">ECHO</ion-button>-->\\n <img src=\\\"assets/imgs/aiber-logo.png\\\" class=\\\"headerLogo\\\" (click)=\\\"updateTaps()\\\" />\\n <img src=\\\"assets/imgs/about.png\\\" class=\\\"aboutAiber\\\" (click)=\\\"showAboutInfo()\\\" />\\n <img src=\\\"assets/imgs/top-wedge.png\\\" class=\\\"topWedge\\\" />\\n <img src=\\\"assets/imgs/firstaidsymbol.png\\\" class=\\\"firstAidSymbolTop\\\" (click)=\\\"toggleFAS()\\\" />\\n </div>\\n </div>\\n <!-- FIRST AID MODAL POPUP -->\\n <div class=\\\"overlay {{ modalVis }}\\\"></div>\\n <div class=\\\"modal_content fasZ fasModal {{ modalVis }}\\\">\\n <h1>First Aid steps</h1>\\n <img src=\\\"assets/imgs/close.png\\\" class=\\\"closeButton\\\" (click)=\\\"toggleFAS()\\\" />\\n <ion-slides #fasSlider effect=\\\"slide\\\" centeredSlides=\\\"true\\\" class=\\\"fasSlides\\\" (ionSlideDidChange)=\\\"fasLockSwipes()\\\">\\n <ion-slide>\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row (click)=\\\"showUnresponsive()\\\">\\n <ion-col size=\\\"2\\\">\\n <img src=\\\"assets/imgs/fasunresponsive.png\\\" />\\n </ion-col>\\n <ion-col>\\n <h1 class=\\\"fasMenuItems\\\">Unresponsive and not breathing</h1>\\n </ion-col>\\n </ion-row>\\n <ion-row (click)=\\\"showCDHolder()\\\">\\n <ion-col size=\\\"2\\\">\\n <img src=\\\"assets/imgs/cdv1.png\\\" />\\n </ion-col>\\n <ion-col>\\n <h1 class=\\\"fasMenuItems\\\">Communicable Diseases</h1>\\n </ion-col>\\n </ion-row>\\n <ion-row (click)=\\\"showBurns()\\\">\\n <ion-col size=\\\"2\\\">\\n <img src=\\\"assets/imgs/fasburn.png\\\" />\\n </ion-col>\\n <ion-col>\\n <h1 class=\\\"fasMenuItems\\\">Burn or Scald</h1>\\n </ion-col>\\n </ion-row>\\n <ion-row (click)=\\\"showAdultChoking()\\\">\\n <ion-col size=\\\"2\\\">\\n <img src=\\\"assets/imgs/faschoking.png\\\" />\\n </ion-col>\\n <ion-col>\\n <h1 class=\\\"fasMenuItems\\\">Adult choking</h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n </div>\\n </ion-slide>\\n\\n <!-- UNRESPONSIVE -->\\n <ion-slide *ngIf=\\\"unresponsiveFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Alert {{staffType}} for help</h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"unresponsiveFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>\\n Move {{personLabelUpper}} onto the floor, if safe and\\n appropriate to do so\\n </h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"unresponsiveFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Look and feel for breaths</h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasscreen4.png\\\" class=\\\"fasScreenImgs\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"unresponsiveFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1 class=\\\"smallerH1\\\">\\n If still unresponsive and not breathing, start chest\\n compressions push downwards in the middle of the chest with\\n firm compressions, at a rate of 100-120 compressions per\\n minute.<br />\\n </h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"6\\\" class=\\\"col-left\\\">\\n <img src=\\\"assets/imgs/fasscreen5.png\\\" class=\\\"fasScreenImgs smaller\\\" />\\n </ion-col>\\n <ion-col size=\\\"6\\\" class=\\\"col-right\\\">\\n <img src=\\\"assets/imgs/FAS-attempt1.png\\\" class=\\\"fasScreenImgs smaller\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"unresponsiveFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1 class=\\\"smallerH1\\\">\\n Give two breaths after every 30 chest compressions, if safe to\\n do so.\\n </h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasscreen6.png\\\" class=\\\"fasScreenImgs\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <ion-button size=\\\"large\\\" color=\\\"primary\\\" class=\\\"wideButton\\\" (click)=\\\"toggleFAS()\\\">\\n FINISH\\n </ion-button>\\n </div>\\n <h2></h2>\\n </ion-slide>\\n <!-- END OF UNRESPONSIVE -->\\n\\n <!-- COMMUNICABLE DISEASE -->\\n <ion-slide *ngIf=\\\"cdFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Communicable disease risk calculator</h1>\\n <div class=\\\"smallerH1 centreText\\\">To be included...</div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swiperight.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"cdFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Communicable disease risk calculator</h1>\\n <div class=\\\"smallerH1 centreText\\\">To be included...</div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swiperight.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <!-- END OF COMMUNICABLE DISEASE -->\\n\\n <!-- BURN OR SCALD -->\\n <ion-slide *ngIf=\\\"burnFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Alert {{staffType}} for help</h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"burnFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1 class=\\\"smallerH1 centreText\\\">\\n Do <strong>NOT</strong> remove any clothing stuck to the\\n affected area\\n </h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasburn1.png\\\" class=\\\"fasScreenImgs\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"burnFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1 class=\\\"smallerH1\\\">\\n Cool the burn - Run cold water over the burn for at least 10\\n minutes. <strong>AVOID</strong> ice, creams or greasy\\n ointments. Do <strong>NOT</strong> attempt to touch the burn\\n or pop any blisters that appear\\n </h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasburn4.png\\\" class=\\\"fasScreenImgs\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipePositionedRight\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"burnFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>\\n Once the burn is cooled, cover with a burns dressing from\\n aircraft medical kit.\\n </h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"burnFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid class=\\\"nomargin\\\">\\n <ion-row>\\n <ion-col class=\\\"nopadding\\\">\\n <h1 class=\\\"smallerH1\\\">\\n <strong>REMEMBER</strong> A burn or scald can cause shock!\\n Keep your {{personLabel}} warm by offering an aircraft\\n blanket. Be sure the blanket does\\n <strong>NOT</strong>\\n come into contact with the burn or scald.\\n </h1>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col class=\\\"nopadding\\\">\\n <img src=\\\"assets/imgs/fasburn2.png\\\" class=\\\"fasScreenImgs\\\" />\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <ion-button size=\\\"large\\\" color=\\\"primary\\\" class=\\\"wideButton\\\" (click)=\\\"toggleFAS()\\\">\\n FINISH\\n </ion-button>\\n </div>\\n </ion-slide>\\n\\n <!-- END OF BURN OR SCALD -->\\n\\n <!-- COMMUNICABLE DISEASE -->\\n <ion-slide *ngIf=\\\"cdFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Communicable disease risk calculator</h1>\\n <div class=\\\"smallerH1 centreText\\\">To be included...</div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swiperight.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <!-- END OF COMMUNICABLE DISEASE -->\\n\\n <!-- ADULT CHOKING -->\\n <ion-slide *ngIf=\\\"adultChokingFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <h1>Alert cabin crew for help</h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipe\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"adultChokingFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <div class=\\\"smallerH1\\\">\\n Help the {{personLabel}} bend forwards. With the heel of your\\n hand, hit the {{personLabel}} sharply on their back between\\n the shoulder blades. Give up to 5 back slaps.\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasbackslaps.png\\\" class=\\\"fasScreenImgs\\\" /><br />\\n <h1 class=\\\"smallerH1\\\">\\n If back slaps are unsuccessful, swipe to next screen\\n </h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipePositionedRight\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"adultChokingFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <div class=\\\"smallerH1\\\">\\n Move {{personLabel}} to aisle (or another appropriate space),\\n give up to 5 abdominal thrusts. Standing behind the\\n {{personLabel}}, join your hands around their tummy button and\\n make a fist. Pull your hands sharply inwards and upwards.\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <img src=\\\"assets/imgs/fasabdthrust.png\\\" class=\\\"fasScreenImgs\\\" /><br />\\n <h1 class=\\\"smallerH1\\\">\\n If abdominal thrusts are unsuccessful, swipe to next screen\\n </h1>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <img src=\\\"assets/imgs/swipe.png\\\" class=\\\"swipePositionedRight\\\" />\\n </div>\\n </ion-slide>\\n\\n <ion-slide *ngIf=\\\"adultChokingFlag\\\">\\n <div class=\\\"innerSlide\\\">\\n <ion-grid>\\n <ion-row>\\n <ion-col>\\n <div class=\\\"smallerH1\\\">\\n Continue to alternate between back slaps and abdominal thrusts\\n until they are successful, OR the {{personLabel}} becomes\\n unresponsive.<br /><br />\\n <!--If at any\\n time they become unresponsive AND are not breathing, tap below for further advice<br><br>-->\\n <ion-button size=\\\"large\\\" color=\\\"danger\\\" class=\\\"wideTallButton\\\" (click)=\\\"openUANB()\\\">\\n UNRESPONSIVE AND<br />NOT BREATHING\\n </ion-button>\\n </div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n <ion-button size=\\\"large\\\" color=\\\"primary\\\" class=\\\"wideButton\\\" (click)=\\\"toggleFAS()\\\">\\n FINISH\\n </ion-button>\\n </div>\\n </ion-slide>\\n\\n <!-- END OF ADULT CHOKING -->\\n </ion-slides>\\n </div>\\n <!-- END OF FIRST AID MODAL POPUP -->\\n\\n <!-- CONSCIOUSNESS MODAL POPUP -->\\n <div class=\\\"overlay {{ consciousnessVis }}\\\"></div>\\n <div class=\\\"modal_content consciousnessZ consciousnessModal {{\\n consciousnessVis\\n }}\\\">\\n <h1>Has the {{personLabelUpper}} been unconscious?</h1>\\n <img src=\\\"assets/imgs/close.png\\\" class=\\\"closeButton\\\" (click)=\\\"toggleConsciousness()\\\" />\\n <div class=\\\"consciousnessHolder\\\">\\n <div class=\\\"wideButton buttonLeft m30 {{ consciousnessSelectYes }}\\\" (click)=\\\"setConsciousness('yes')\\\">\\n Yes\\n </div>\\n <div class=\\\"wideButton buttonRight {{ consciousnessSelectNo }}\\\" (click)=\\\"setConsciousness('no')\\\">\\n No\\n </div>\\n </div>\\n <div class=\\\"howLong {{ showInputBox }}\\\">\\n <div class=\\\"howLongInput\\\">For <strong>LESS</strong> than:</div>\\n <ion-grid class=\\\"howLongMinutes\\\">\\n <ion-row>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('10s')\\\">\\n 10s\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('30s')\\\">\\n 30s\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('1m')\\\">\\n 1m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('2m')\\\">\\n 2m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('3m')\\\">\\n 3m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('4m')\\\">\\n 4m\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('5m')\\\">\\n 5m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('10m')\\\">\\n 10m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('15m')\\\">\\n 15m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('20m')\\\">\\n 20m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('25m')\\\">\\n 25m\\n </div>\\n </ion-col>\\n <ion-col>\\n <div color=\\\"danger\\\" class=\\\"okButton {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('30m')\\\">\\n 30m\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"12\\\">\\n <div class=\\\"howLongInputOR\\\">OR:</div>\\n </ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"6\\\">\\n <div color=\\\"danger\\\" class=\\\"okButtonWide {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('+30m')\\\">\\n More than 30 mins\\n </div>\\n </ion-col>\\n <ion-col size=\\\"6\\\">\\n <div color=\\\"danger\\\" class=\\\"okButtonWide {{ greyMeOut }}\\\" (click)=\\\"saveMinutes('+60m')\\\">\\n More than 1 hour\\n </div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n </div>\\n </div>\\n <!-- END OF CONSCIOUSNESS MODAL POPUP -->\\n\\n <!-- ABOUT AIBER MODAL POPUP -->\\n <div class=\\\"overlay {{ aboutVis }}\\\" (click)=\\\"closeAboutInfo()\\\"></div>\\n <div class=\\\"modal_content aboutZ aboutModal {{ aboutVis }}\\\">\\n <h1>Aiber Information</h1>\\n <img src=\\\"assets/imgs/close.png\\\" class=\\\"closeButton\\\" (click)=\\\"closeAboutInfo()\\\" />\\n <div class=\\\"aboutHolder\\\">\\n <div class=\\\"aboutInfo\\\">\\n <ion-grid class=\\\"aboutInfo\\\">\\n <ion-row>\\n <ion-col size=\\\"4\\\">\\n <img src=\\\"assets/imgs/ce-mark.png\\\" class=\\\"ceMark\\\">\\n </ion-col>\\n <ion-col size=\\\"8\\\">\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>UDI-DI:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">5060853230004V1</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>Manufacturer:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">MIME<sup>&#174;</sup> Technologies Ltd</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>Address:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">Solasta House, 8 Inverness Campus, Inverness IV2 5NA</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>Email:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">info@mimetechnologies.com</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>UDI-PI:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">Aiber v{{aiberVersion}}</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>Indication:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">Aiber is a medical device</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col size=\\\"5\\\" class=\\\"aboutLeft\\\"><strong>Intended use:</strong></ion-col>\\n <ion-col class=\\\"aboutLeft\\\">Limited Distribution</ion-col>\\n </ion-row>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n </div>\\n <ion-button ion-button color=\\\"primary\\\" class=\\\"wideButtonAbout\\\" (click)=\\\"closeAboutInfo()\\\">\\n OK\\n </ion-button>\\n </div>\\n </div>\\n <!-- END OF ABOUT AIBER MODAL POPUP -->\\n\\n <div class=\\\"leftPattern\\\"></div>\\n <div class=\\\"aiber-inner-content\\\">\\n <ion-grid>\\n <ion-row class=\\\"ccsSize\\\">\\n <ion-col size=\\\"12\\\">\\n <div class=\\\"checkPatientStatusBar\\\">\\n <strong>&nbsp;CHECK</strong> {{personLabelUpper}} STATUS\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row class=\\\"avpuSpacer\\\">\\n <ion-col>&nbsp;</ion-col>\\n </ion-row>\\n <ion-row>\\n <ion-col class=\\\"noLeftPadding noTopPadding\\\">\\n <div class=\\\"colInner\\\">\\n <strong>AVPU</strong>\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding noTopPadding\\\">\\n <div class=\\\"colInner\\\">\\n <strong>AIRWAY</strong>\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding noTopPadding\\\">\\n <div class=\\\"colInner\\\">\\n <strong>BREATHING</strong>\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noColPadding noTopPadding\\\">\\n <div class=\\\"colInner\\\">\\n <strong>CIRCULATION</strong>\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row class=\\\"avpuABCHeight\\\">\\n <ion-col class=\\\"noLeftPadding noRowPadding\\\">\\n <ion-slides [options]=\\\"avpuSlidesOpts\\\" #avpuSlides (ionSlideDidChange)=\\\"setAVPU()\\\">\\n <ion-slide>\\n <div class=\\\"cpsButtonsAVPU\\\">\\n <div class=\\\"swipeUpLeft\\\">\\n <img src=\\\"assets/imgs/swipeup.png\\\" />\\n </div>\\n <div class=\\\"avatar avpuA\\\">\\n <div class=\\\"avpuText avpuTextSingleLine\\\">\\n <strong>ALERT</strong>\\n </div>\\n <img src=\\\"assets/imgs/AVPU-A.png\\\" class=\\\"avatarImage\\\" />\\n </div>\\n <div class=\\\"swipeUpRight\\\">\\n <img src=\\\"assets/imgs/swipeup.png\\\" />\\n </div>\\n </div>\\n </ion-slide>\\n <ion-slide>\\n <div class=\\\"cpsButtonsAVPU\\\">\\n <div class=\\\"swipeUpLeft hideModal\\\">\\n <img src=\\\"assets/imgs/swipeupdown.png\\\" />\\n </div>\\n <div class=\\\"avatar avpuV\\\">\\n <div class=\\\"avpuText\\\">\\n <strong>RESPONDS TO<br />VOICE</strong>\\n </div>\\n <img src=\\\"assets/imgs/AVPU-V.png\\\" class=\\\"avatarImage\\\" />\\n </div>\\n <div class=\\\"swipeUpRight\\\">\\n <img src=\\\"assets/imgs/swipeupdown.png\\\" />\\n </div>\\n </div>\\n </ion-slide>\\n <ion-slide>\\n <div class=\\\"cpsButtonsAVPU\\\">\\n <div class=\\\"swipeUpLeft\\\">\\n <img src=\\\"assets/imgs/swipeupdown.png\\\" />\\n </div>\\n <div class=\\\"avatar avpuP\\\">\\n <div class=\\\"avpuText\\\">\\n <strong>RESPONDS TO<br />PAIN</strong>\\n </div>\\n <img src=\\\"assets/imgs/AVPU-P.png\\\" class=\\\"avatarImage\\\" />\\n </div>\\n <div class=\\\"swipeUpRight\\\">\\n <img src=\\\"assets/imgs/swipeupdown.png\\\" />\\n </div>\\n </div>\\n </ion-slide>\\n <ion-slide>\\n <div class=\\\"cpsButtonsAVPU\\\">\\n <div class=\\\"swipeUpLeft\\\">\\n <img src=\\\"assets/imgs/swipedown.png\\\" />\\n </div>\\n <div class=\\\"avatar avpuU\\\">\\n <div class=\\\"avpuText avpuTextSingleLine\\\">\\n <strong>UNRESPONSIVE</strong>\\n </div>\\n <img src=\\\"assets/imgs/AVPU-U.png\\\" class=\\\"avatarImage\\\" />\\n </div>\\n <div class=\\\"swipeUpRight\\\">\\n <img src=\\\"assets/imgs/swipedown.png\\\" />\\n </div>\\n </div>\\n </ion-slide>\\n </ion-slides>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding\\\">\\n <div class=\\\"cpsButtons cpsTop selGreen {{ confirm2TopState }} textOnly\\\" (click)=\\\"setAirway('clear')\\\">\\n <strong>CLEAR</strong>\\n </div>\\n <div class=\\\"cpsButtons cpsBottom selRed {{\\n confirm2BottomState\\n }} textOnly\\\" (click)=\\\"setAirway('blocked')\\\">\\n <strong>BLOCKED</strong>\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding\\\">\\n <div class=\\\"cpsButtons cpsTop selGreen {{ confirm3TopState }} textOnly\\\" (click)=\\\"setBreathing('regular')\\\">\\n <strong>REGULAR</strong>\\n </div>\\n <div class=\\\"cpsButtons cpsBottom selRed {{\\n confirm3BottomState\\n }} textOnly\\\" (click)=\\\"setBreathing('irregular')\\\">\\n <strong>IRREGULAR</strong>\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noColPadding\\\">\\n <div class=\\\"cpsButtons cpsTop cpsLastCol selGreen {{\\n confirm4TopState\\n }} textOnly\\\" (click)=\\\"setCirculation('pale')\\\">\\n <strong>PALE</strong>\\n </div>\\n <div class=\\\"cpsButtons cpsBottom cpsLastCol selRed {{\\n confirm4BottomState\\n }} textOnly\\\" (click)=\\\"setCirculation('flushed')\\\">\\n <strong>FLUSHED</strong>\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row class=\\\"avpuSpacer\\\">\\n <ion-col>&nbsp;</ion-col>\\n </ion-row>\\n <ion-row class=\\\"awakeHeight\\\">\\n <ion-col class=\\\"noLeftPadding noRowPadding\\\" (click)=\\\"confirmAVPU()\\\">\\n <div class=\\\"cpsConfirmed cpsButton1Start\\\">\\n <div class=\\\"{{confirmBtn1}}\\\">CONFIRM?</div>\\n <div class=\\\"{{confirmedBtn1}}\\\">CONFIRMED</div>\\n <img src=\\\"assets/imgs/proceedTick.png\\\" class=\\\"proceedTick {{ confirm1Tick }}\\\" />\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding noRowPadding\\\" (click)=\\\"confirmAirway()\\\">\\n <div class=\\\"cpsConfirmed {{ confirm2 }}\\\">\\n <div class=\\\"{{confirmBtn2}}\\\">CONFIRM?</div>\\n <div class=\\\"{{confirmedBtn2}}\\\">CONFIRMED</div>\\n <img src=\\\"assets/imgs/proceedTick.png\\\" class=\\\"proceedTick {{ confirm2Tick }}\\\" />\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noLeftPadding noRowPadding\\\" (click)=\\\"confirmBreathing()\\\">\\n <div class=\\\"cpsConfirmed {{ confirm3 }}\\\">\\n <div class=\\\"{{confirmBtn3}}\\\">CONFIRM?</div>\\n <div class=\\\"{{confirmedBtn3}}\\\">CONFIRMED</div>\\n <img src=\\\"assets/imgs/proceedTick.png\\\" class=\\\"proceedTick {{ confirm3Tick }}\\\" />\\n </div>\\n </ion-col>\\n <ion-col class=\\\"noColPadding noRowPadding\\\" (click)=\\\"confirmCirculation()\\\">\\n <div class=\\\"cpsConfirmed {{ confirm4 }}\\\">\\n <div class=\\\"{{confirmBtn4}}\\\">CONFIRM?</div>\\n <div class=\\\"{{confirmedBtn4}}\\\">CONFIRMED</div>\\n <img src=\\\"assets/imgs/proceedTick.png\\\" class=\\\"proceedTick lastButton {{ confirm4Tick }}\\\" />\\n </div>\\n </ion-col>\\n </ion-row>\\n <ion-row class=\\\"avpuSpacer\\\">\\n <ion-col>&nbsp;</ion-col>\\n </ion-row>\\n <ion-row class=\\\"awakeHeight\\\">\\n <ion-col size=\\\"9\\\" class=\\\"noColPadding noRowPadding\\\">\\n <div class=\\\"abcAwake {{ confirmConsciousness }}\\\">\\n Has the {{personLabelUpper}} been <strong>unconscious</strong>?\\n <div class=\\\"buttonConsciousness {{ confirmConsciousness }} {{\\n consciousnessStateColour\\n }}\\\" (click)=\\\"selectConsciousness()\\\" [innerHtml]=\\\"consciousnessConfirmState\\\"></div>\\n </div>\\n </ion-col>\\n <ion-col size=\\\"3\\\" class=\\\"noRightPadding noRowPadding\\\">\\n <div class=\\\"abcProceed {{ confirmFinal }}\\\" (click)=\\\"openMain()\\\">\\n <strong>PROCEED</strong>\\n <img src=\\\"assets/imgs/proceedTick.png\\\" class=\\\"proceedTick {{ confirmFinalTick }}\\\" />\\n </div>\\n </ion-col>\\n </ion-row>\\n </ion-grid>\\n </div>\\n <div class=\\\"rightPattern\\\"></div>\\n <div class=\\\"aiber-ion-footer\\\">\\n <img src=\\\"assets/imgs/bottom-wedge.png\\\" class=\\\"bottomWedge\\\" />\\n </div>\\n</ion-content>\";","import { NgModule } from \"@angular/core\";\nimport { PreloadAllModules, RouterModule, Routes } from \"@angular/router\";\nimport { HomePage } from \"./home/home.page\";\n\nconst routes: Routes = [\n { path: \"\", redirectTo: \"home\", pathMatch: \"full\" },\n //{ path: \"home\", loadChildren: \"./home/home.module#HomePageModule\" },\n { path: \"home\", component: HomePage },\n {\n path:\n \"main/:avpuState/:airwayState/:breathingState/:circulationState/:consciousnessState\",\n loadChildren: \"./main/main.module#MainPageModule\",\n },\n {\n path: \"main\",\n loadChildren: \"./main/main.module#MainPageModule\",\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export default \"@font-face {\\n font-family: \\\"oswaldregular\\\";\\n src: url('oswald-regular-webfont.woff2') format(\\\"woff2\\\"), url('oswald-regular-webfont.woff') format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n@font-face {\\n font-family: \\\"tondoregular\\\";\\n src: url('tondo_std-webfont.woff2') format(\\\"woff2\\\"), url('tondo_std-webfont.woff') format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n@font-face {\\n font-family: \\\"tondobold\\\";\\n src: url('tondo_std_bold-webfont.woff') format(\\\"woff2\\\"), url('tondo_std_bold-webfont.woff2') format(\\\"woff\\\");\\n font-weight: bold;\\n font-style: bold;\\n}\\n@font-face {\\n font-family: \\\"barlow\\\";\\n src: url('BarlowCondensed-Regular-webfont.woff') format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n@font-face {\\n font-family: \\\"barlowCondensed\\\";\\n src: url('BarlowCondensed-SemiBold.otf') format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n@font-face {\\n font-family: \\\"bebas\\\";\\n src: url('Bebas-Neue-Pro-Regular.otf') format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNEJBQUE7RUFDQSwyR0FBQTtFQUVBLG1CQUFBO0VBQ0Esa0JBQUE7QUFBRjtBQUdBO0VBQ0UsMkJBQUE7RUFDQSxpR0FBQTtFQUVBLG1CQUFBO0VBQ0Esa0JBQUE7QUFGRjtBQUtBO0VBQ0Usd0JBQUE7RUFDQSwyR0FBQTtFQUVBLGlCQUFBO0VBQ0EsZ0JBQUE7QUFKRjtBQU9BO0VBQ0UscUJBQUE7RUFDQSwrREFBQTtFQUVBLG1CQUFBO0VBQ0Esa0JBQUE7QUFORjtBQVNBO0VBQ0UsOEJBQUE7RUFDQSx1REFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFQRjtBQVVBO0VBQ0Usb0JBQUE7RUFDQSxxREFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFSRiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJvc3dhbGRyZWd1bGFyXCI7XG4gIHNyYzogdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJ0b25kb3JlZ3VsYXJcIjtcbiAgc3JjOiB1cmwoXCIuLi9hc3NldHMvZm9udHMvdG9uZG9fc3RkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL3RvbmRvX3N0ZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwidG9uZG9ib2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vYXNzZXRzL2ZvbnRzL3RvbmRvX3N0ZF9ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi9hc3NldHMvZm9udHMvdG9uZG9fc3RkX2JvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogYm9sZDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJhcmxvd1wiO1xuICBzcmM6IHVybChcIi4uL2Fzc2V0cy9mb250cy9CYXJsb3dDb25kZW5zZWQtUmVndWxhci13ZWJmb250LndvZmZcIilcbiAgICBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJiYXJsb3dDb25kZW5zZWRcIjtcbiAgc3JjOiB1cmwoXCIuLi9hc3NldHMvZm9udHMvQmFybG93Q29uZGVuc2VkLVNlbWlCb2xkLm90ZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiO1xuICBzcmM6IHVybChcIi4uL2Fzc2V0cy9mb250cy9CZWJhcy1OZXVlLVByby1SZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iXX0= */\";","import { Component } from '@angular/core';\n\nimport { Platform } from '@ionic/angular';\nimport { SplashScreen } from '@ionic-native/splash-screen/ngx';\nimport { StatusBar } from '@ionic-native/status-bar/ngx';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss']\n})\nexport class AppComponent {\n constructor(\n private platform: Platform,\n private splashScreen: SplashScreen,\n private statusBar: StatusBar\n ) {\n this.initializeApp();\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n this.statusBar.styleDefault();\n this.splashScreen.hide();\n });\n }\n}\n","/**\n * v1.0.0 - 22/09/2020 - FIRST RELEASE\n * v1.0.1 - 30/09/2020 - Patched after first test cycle\n * v1.0.2 - 06/11/2020 - Patched after User Validation\n */\n\nimport { AppComponent } from \"./app.component\";\nimport { AppLauncher } from \"@ionic-native/app-launcher/ngx\";\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { AppVersion } from \"@ionic-native/app-version/ngx\";\nimport { BatteryStatus } from \"@ionic-native/battery-status/ngx\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { DatabaseService } from \"./services/database/database.service\";\nimport { Device } from \"@ionic-native/device/ngx\";\nimport { File } from \"@ionic-native/file/ngx\";\nimport { Geolocation } from \"@ionic-native/geolocation/ngx\";\nimport { GetlocationService } from \"./services/getlocation/getlocation.service\";\nimport { HomePage } from \"./home/home.page\";\nimport { HTTP } from \"@ionic-native/http/ngx\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { IonicModule, IonicRouteStrategy } from \"@ionic/angular\";\nimport { IonicStorageModule } from \"@ionic/storage\";\nimport { Keyboard } from \"@ionic-native/keyboard/ngx\";\nimport { Network } from \"@ionic-native/network/ngx\";\nimport { NgModule } from \"@angular/core\";\nimport { RouteReuseStrategy } from \"@angular/router\";\nimport { ScreenOrientation } from \"@ionic-native/screen-orientation/ngx\";\nimport { SplashScreen } from \"@ionic-native/splash-screen/ngx\";\nimport { SQLite } from \"@ionic-native/sqlite/ngx\";\nimport { SQLitePorter } from \"@ionic-native/sqlite-porter/ngx\";\nimport { StatusBar } from \"@ionic-native/status-bar/ngx\";\n\n@NgModule({\n declarations: [AppComponent, HomePage],\n entryComponents: [HomePage],\n imports: [\n BrowserModule,\n IonicModule.forRoot({\n scrollPadding: false,\n scrollAssist: false\n }),\n IonicStorageModule.forRoot(),\n //HttpModule,\n AppRoutingModule,\n HttpClientModule,\n ],\n providers: [\n AppVersion,\n AppLauncher,\n Geolocation,\n GetlocationService,\n DatabaseService,\n HTTP,\n Network,\n SQLite,\n SQLitePorter,\n Device,\n ScreenOrientation,\n StatusBar,\n SplashScreen,\n BatteryStatus,\n File,\n Keyboard,\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","export default \".ceMark {\\n padding-top: 45px;\\n}\\n\\n.aboutAiber {\\n position: absolute;\\n right: 127px;\\n top: 20px;\\n height: 56px;\\n}\\n\\n.aboutZ {\\n z-index: 10000 !important;\\n}\\n\\n.stopScroll {\\n --overflow: hidden !important;\\n}\\n\\n.aboutModal {\\n top: 24% !important;\\n width: 70% !important;\\n height: 52% !important;\\n text-align: center;\\n font-family: \\\"arial\\\" !important;\\n font-size: 18px;\\n}\\n\\n.aboutModal h1 {\\n font-family: \\\"bebas\\\" !important;\\n}\\n\\n.aboutHolder {\\n margin: 20px auto 0 auto !important;\\n width: 100%;\\n}\\n\\n.aboutInfo {\\n width: 100%;\\n text-align: left !important;\\n}\\n\\n.aboutLeft {\\n text-align: left !important;\\n}\\n\\n.stylePage {\\n border: 1px solid purple;\\n}\\n\\n.scroll-content {\\n padding: 0px !important;\\n margin: 0px !important;\\n}\\n\\nbody {\\n font-family: \\\"bebas\\\" !important;\\n color: #555656 !important;\\n}\\n\\n.aiber-ion-header {\\n position: absolute;\\n top: 0;\\n width: 100%;\\n height: 91px;\\n background-color: #555656 !important;\\n color: white;\\n}\\n\\nion-content {\\n position: absolute;\\n top: 0px;\\n height: 100%;\\n padding: 0 !important;\\n}\\n\\n.aiber-inner-content {\\n position: absolute;\\n top: 130px;\\n height: 612px;\\n width: 1015px;\\n left: 32px;\\n}\\n\\n.aiber-ion-footer {\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 96px;\\n background-color: #555656 !important;\\n color: white;\\n}\\n\\nion-slides {\\n height: 270px !important;\\n}\\n\\nion-slide {\\n padding: 0 !important;\\n width: 100% !important;\\n}\\n\\n.headerHolder {\\n position: relative;\\n width: 100%;\\n padding: 18px 0 0 0;\\n text-align: center;\\n}\\n\\n.fasSlides {\\n height: 485px !important;\\n}\\n\\n.fasMenuItems {\\n text-align: left;\\n padding-top: 42px !important;\\n font-size: 26px !important;\\n}\\n\\n.fasModal h1 {\\n font-family: \\\"bebas\\\" !important;\\n}\\n\\n.fasMenuItemsBlank {\\n padding-top: 30px !important;\\n}\\n\\n.fasScreenImgs {\\n height: 240px !important;\\n}\\n\\n.smaller {\\n height: 200px !important;\\n}\\n\\n.nopadding {\\n padding-left: 8px !important;\\n}\\n\\n.innerSlide {\\n height: 485px !important;\\n width: 700px;\\n margin: 0 auto !important;\\n overflow-y: scroll;\\n}\\n\\n.innerSlide h1 {\\n font-size: 56px;\\n margin-top: 0 !important;\\n}\\n\\n.smallerH1 {\\n font-size: 26px !important;\\n text-align: justify !important;\\n margin-bottom: 20px !important;\\n line-height: 39px !important;\\n font-family: \\\"bebas\\\" !important;\\n width: 100%;\\n}\\n\\n.centreText {\\n text-align: center !important;\\n}\\n\\n.swipe {\\n padding: 0 !important;\\n margin: 0 !important;\\n position: absolute;\\n bottom: 20px;\\n left: 350px;\\n width: 100px !important;\\n height: 100px !important;\\n}\\n\\n.swipePositionedRight {\\n padding: 0 !important;\\n margin: 0 !important;\\n position: absolute;\\n bottom: 20px;\\n right: 50px;\\n width: 100px;\\n}\\n\\n.headerLogo {\\n height: 55px;\\n position: absolute;\\n left: 56px;\\n top: 20px;\\n}\\n\\n.topWedge {\\n position: absolute;\\n top: 0;\\n right: 0;\\n height: 90px;\\n}\\n\\n.footerHolder {\\n position: relative;\\n width: 100%;\\n}\\n\\n.bottomWedge {\\n position: absolute;\\n bottom: 0px;\\n left: 0px;\\n height: 100%;\\n}\\n\\n.leftPattern {\\n position: absolute;\\n height: 69.5%;\\n width: 3%;\\n top: 100px;\\n background-image: url('pattern.png');\\n background-size: 100%;\\n background-repeat: no-repeat;\\n background-position-x: center;\\n background-position-y: center;\\n}\\n\\n.showModal {\\n display: block;\\n}\\n\\n.hideModal {\\n display: none;\\n}\\n\\n.content {\\n background: transparent;\\n}\\n\\n.overlay {\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n opacity: 0.8;\\n background-color: #333;\\n}\\n\\n.modal_content {\\n position: absolute;\\n top: 12.5%;\\n left: 0;\\n right: 0;\\n width: 80%;\\n height: auto;\\n padding: 10px;\\n margin: 0 auto;\\n color: #333;\\n background: #e8e8e8;\\n background: linear-gradient(to bottom, #fff 0%, #e8e8e8 100%);\\n border-radius: 5px;\\n box-shadow: 0 2px 3px rgba(51, 51, 51, 0.35);\\n box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n -webkit-box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.fasZ {\\n z-index: 50000 !important;\\n}\\n\\n.consciousnessZ {\\n z-index: 10000 !important;\\n}\\n\\n.fasModal {\\n text-align: center !important;\\n padding-top: 30px;\\n}\\n\\n.consciousnessModal {\\n top: 21% !important;\\n width: 50% !important;\\n height: 58% !important;\\n text-align: center !important;\\n padding-top: 0px;\\n}\\n\\n.consciousnessModal h1 {\\n font-family: \\\"bebas\\\" !important;\\n font-size: 32px;\\n}\\n\\n.consciousnessHolder {\\n margin: 20px auto 0 auto !important;\\n width: 362px;\\n height: 40px;\\n}\\n\\n.wideButton {\\n width: 160px !important;\\n font-family: \\\"bebas\\\" !important;\\n border-radius: 0 !important;\\n height: 53px;\\n font-size: 32px;\\n margin: 0 !important;\\n padding-top: 3px;\\n}\\n\\n.buttonLeft {\\n float: left;\\n}\\n\\n.buttonRight {\\n float: right;\\n}\\n\\n.wideTallButton {\\n width: 180px !important;\\n font-family: \\\"bebas\\\" !important;\\n border-radius: 0 !important;\\n height: 52px;\\n font-size: 20px;\\n left: 253px;\\n}\\n\\n.m30 {\\n margin-right: 30px;\\n}\\n\\n.howLong {\\n position: relative;\\n margin: 20px auto 0 auto;\\n text-align: left !important;\\n width: 420px;\\n height: 250px;\\n}\\n\\n.text-input {\\n margin: 4px 8px !important;\\n text-align: center !important;\\n}\\n\\n.howLongInput {\\n position: absolute !important;\\n font-size: 20px;\\n width: 100%;\\n height: 50px;\\n padding-top: 10px;\\n font-family: \\\"bebas\\\" !important;\\n text-align: center;\\n}\\n\\n.howLongInputOR {\\n font-size: 20px;\\n width: 100%;\\n height: 36px;\\n padding-top: 4px;\\n font-family: \\\"bebas\\\" !important;\\n text-align: center;\\n}\\n\\n.howLongInputBox {\\n position: absolute !important;\\n left: 260px;\\n width: 100px;\\n border: 1px solid black;\\n text-align: center !important;\\n font-size: 20px;\\n padding: 0 !important;\\n margin: 0;\\n height: 50px !important;\\n font-family: \\\"bebas\\\" !important;\\n}\\n\\n.howLongMinutes {\\n position: absolute !important;\\n top: 40px !important;\\n left: 9px;\\n}\\n\\n.howLongMinutes ion-col {\\n padding: 5px !important;\\n margin: 0 !important;\\n}\\n\\n.consciousnessEmpty {\\n background-color: white !important;\\n color: #555656 !important;\\n width: 160px !important;\\n font-family: \\\"bebas\\\" !important;\\n border-radius: 0 !important;\\n height: 56px;\\n font-size: 32px;\\n border: 1px solid #555656 !important;\\n}\\n\\n.okButton {\\n height: 50px;\\n font-family: \\\"bebas\\\" !important;\\n border-radius: 0 !important;\\n width: 50px;\\n background-color: #ed1c24;\\n color: white;\\n font-size: 28px;\\n padding-top: 6px;\\n}\\n\\n.okButtonWide {\\n height: 56px;\\n font-family: \\\"bebas\\\" !important;\\n border-radius: 0 !important;\\n width: 188px;\\n background-color: #ed1c24;\\n color: white;\\n font-size: 28px;\\n padding-top: 10px;\\n}\\n\\n.greyedOut {\\n color: white;\\n background-color: #555656 !important;\\n opacity: 0.5;\\n}\\n\\n.disableDiv {\\n pointer-events: none !important;\\n opacity: 0.5;\\n}\\n\\n.closeButton {\\n position: absolute;\\n top: 10px;\\n right: 20px;\\n height: 50px;\\n width: 50px;\\n}\\n\\n.avpuABCGrid {\\n position: absolute;\\n left: 3%;\\n width: 94%;\\n height: 73%;\\n top: 14px;\\n}\\n\\n.ccsSize {\\n height: 50px;\\n}\\n\\n.checkPatientStatusBar {\\n position: absolute;\\n left: 0;\\n top: 0%;\\n width: 100%;\\n height: 100%;\\n text-align: center;\\n font-family: \\\"bebas\\\";\\n font-size: 44px;\\n letter-spacing: 4px;\\n padding: 0px 0 0 0;\\n background-image: url('Check-Patient-Status-Gradient-BG.png');\\n background-size: 82px;\\n background-repeat: repeat-x;\\n color: #555656 !important;\\n}\\n\\n.echoButton {\\n position: absolute;\\n left: 56px;\\n top: 20px;\\n height: 52px;\\n font-weight: bold;\\n}\\n\\n.firstAidSymbol {\\n position: absolute;\\n left: 290px;\\n top: 32px;\\n height: 46px;\\n}\\n\\n.firstAidSymbolTop {\\n position: absolute;\\n right: 56px;\\n top: 20px;\\n height: 52px;\\n}\\n\\n.buttonGrid {\\n border: 1px solid red;\\n position: absolute;\\n top: 15%;\\n padding: 0 !important;\\n width: 100%;\\n}\\n\\nion-col {\\n text-align: center;\\n}\\n\\n.col {\\n padding: 0 8px 0 0;\\n}\\n\\n.buttonCol {\\n height: 10%;\\n}\\n\\n.noLeftPadding {\\n padding-left: 0 !important;\\n}\\n\\n.noColPadding {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n}\\n\\n.noRightPadding {\\n padding-right: 0 !important;\\n}\\n\\n.noRowPadding {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n\\n.noTopPadding {\\n padding-top: 0 !important;\\n}\\n\\n.cpsLastCol {\\n width: 100% !important;\\n}\\n\\n.colInner {\\n padding-top: 8px !important;\\n height: 64px;\\n background-image: url('ABC-buttons-gradient-BG.png');\\n background-size: 5px;\\n background-repeat: repeat-x;\\n color: #555656 !important;\\n font-family: \\\"bebas\\\";\\n font-size: 42px;\\n letter-spacing: 2px;\\n width: 100%;\\n}\\n\\n.avpuABCHeight {\\n height: 270px;\\n}\\n\\n.cpsButtonsAVPU {\\n padding: 20px;\\n height: 270px !important;\\n color: white !important;\\n font-family: \\\"bebas\\\";\\n font-size: 30px;\\n letter-spacing: 0px;\\n}\\n\\n.cpsButtons {\\n height: 133px;\\n color: white !important;\\n font-family: \\\"bebas\\\";\\n font-size: 24px;\\n letter-spacing: 2px;\\n}\\n\\n.cpsTop {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 98%;\\n}\\n\\n.cpsBottom {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 98%;\\n}\\n\\n.cpsButton1Start {\\n background: linear-gradient(137deg, #00b4dc 0%, #1390cf 50%);\\n}\\n\\n.cpsConfirmed {\\n width: 100% !important;\\n color: white;\\n height: 64px;\\n text-align: left;\\n padding-top: 12px !important;\\n padding-left: 30px !important;\\n font-family: \\\"bebas\\\";\\n font-size: 32px;\\n letter-spacing: 2px;\\n font-weight: bold;\\n}\\n\\n.cpsConfirmedCol {\\n width: 100% !important;\\n background: #00b4dc;\\n background: linear-gradient(137deg, #00b4dc 0%, #1390cf 50%);\\n margin-right: 8px;\\n}\\n\\n.avatar {\\n position: absolute;\\n bottom: 0;\\n height: 100%;\\n width: 100%;\\n left: 0;\\n}\\n\\n.swipeUpLeft {\\n position: absolute;\\n top: 40%;\\n left: 4%;\\n width: 15%;\\n height: auto;\\n z-index: 1;\\n}\\n\\n.avatarImage {\\n height: 200px;\\n position: absolute;\\n bottom: 0;\\n left: 0px;\\n width: 100% !important;\\n}\\n\\n.avpuText {\\n position: absolute;\\n top: 5px;\\n left: 0 !important;\\n width: 100%;\\n text-align: center;\\n z-index: 20;\\n line-height: 30px;\\n}\\n\\n.avpuTextSingleLine {\\n padding-top: 16px;\\n}\\n\\n.swipeUpRight {\\n position: absolute;\\n top: 40%;\\n right: 7%;\\n width: 15%;\\n height: auto;\\n}\\n\\n.selGreen {\\n background-color: #00a350;\\n}\\n\\n.selRed {\\n background-color: #ec1d27;\\n}\\n\\n.selVoice {\\n background-color: #3972b7;\\n}\\n\\n.avpuA {\\n background-color: #00a651 !important;\\n}\\n\\n.avpuV {\\n background-color: #3972b7 !important;\\n}\\n\\n.avpuP {\\n background-color: #f4922c !important;\\n}\\n\\n.avpuU {\\n background-color: #ed1c24 !important;\\n}\\n\\n.textOnly {\\n padding-top: 38px;\\n font-size: 50px !important;\\n}\\n\\n.OK {\\n background-color: #00a350 !important;\\n}\\n\\n.NotOK {\\n background-color: #ec1d27 !important;\\n}\\n\\n.bgOK {\\n background-color: #00a350;\\n color: white;\\n}\\n\\n.bgWarn {\\n background-color: #fdc300;\\n}\\n\\n.bgNotOK {\\n background-color: #ec1d27;\\n color: white;\\n}\\n\\n.whiteText {\\n color: white !important;\\n}\\n\\n.consciousnessOK {\\n background-color: #00a350 !important;\\n color: white !important;\\n}\\n\\n.consciousnessNotOK {\\n background-color: #ec1d27 !important;\\n color: white !important;\\n}\\n\\n.deselect {\\n background-color: #555656 !important;\\n}\\n\\n.deselectTick {\\n display: none !important;\\n}\\n\\n.deselectConfirmed {\\n color: #666666 !important;\\n}\\n\\n.deselectConsciousness {\\n background-color: #555656 !important;\\n background-image: none !important;\\n}\\n\\n.proceedTickDeselect {\\n opacity: 0.3;\\n}\\n\\n.abcAwake {\\n width: 100% !important;\\n height: 64px;\\n text-align: left;\\n padding: 12px 0 8px 20px !important;\\n font-family: \\\"bebas\\\";\\n font-size: 30px;\\n letter-spacing: 1px;\\n background-image: url('ABC-how-many-minutes-gradient-BG.png');\\n background-size: 3px;\\n background-repeat: repeat-x;\\n color: #555656;\\n}\\n\\n.buttonConsciousness {\\n position: absolute;\\n right: 4px;\\n top: 4px;\\n padding: 8px 0;\\n width: 230px;\\n height: 56px;\\n text-align: center;\\n background-color: white;\\n color: #555656;\\n}\\n\\n.abcProceed {\\n /*background: rgb(0, 180, 220);\\n background: linear-gradient(\\n 137deg,\\n rgba(0, 180, 220, 1) 0%,\\n rgba(19, 144, 207, 1) 50%\\n );*/\\n color: white;\\n height: 64px;\\n text-align: left;\\n padding: 12px 0 0 30px !important;\\n font-family: \\\"bebas\\\";\\n font-size: 32px;\\n letter-spacing: 2px;\\n width: 100%;\\n}\\n\\n.avpuSpacer {\\n height: 5px !important;\\n}\\n\\n.awakeHeight {\\n height: 64px;\\n}\\n\\n.awakeColHolder {\\n padding: 0 3px 0 0 !important;\\n}\\n\\n.proceedColHolder {\\n padding: 0 0 0 6px !important;\\n}\\n\\n.proceedTick {\\n position: absolute;\\n top: 14px;\\n right: 15px;\\n height: 36px;\\n}\\n\\n.lastButton {\\n right: 8px !important;\\n}\\n\\n.rightPattern {\\n position: absolute;\\n height: 69.5%;\\n width: 3%;\\n top: 100px;\\n right: 0;\\n background-image: url('pattern.png');\\n background-size: 100%;\\n background-repeat: no-repeat;\\n background-position-x: center;\\n background-position-y: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9ob21lLnBhZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUVBLFlBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtBQUFGOztBQUdBO0VBQ0UseUJBQUE7QUFBRjs7QUFHQTtFQUNFLDZCQUFBO0FBQUY7O0FBR0E7RUFDRSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUVBLCtCQUFBO0VBQ0EsZUFBQTtBQURGOztBQUlBO0VBQ0UsK0JBQUE7QUFERjs7QUFJQTtFQUVFLG1DQUFBO0VBQ0EsV0FBQTtBQUZGOztBQUtBO0VBQ0UsV0FBQTtFQUNBLDJCQUFBO0FBRkY7O0FBS0E7RUFDRSwyQkFBQTtBQUZGOztBQUtBO0VBQ0Usd0JBQUE7QUFGRjs7QUFLQTtFQUNFLHVCQUFBO0VBQ0Esc0JBQUE7QUFGRjs7QUFLQTtFQUNFLCtCQUFBO0VBQ0EseUJBQUE7QUFGRjs7QUFXQTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0NBQUE7RUFDQSxZQUFBO0FBUkY7O0FBb0JBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUVBLHFCQUFBO0FBbEJGOztBQXVCQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtBQXBCRjs7QUE0QkE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9DQUFBO0VBQ0EsWUFBQTtBQXpCRjs7QUE0QkE7RUFDRSx3QkFBQTtBQXpCRjs7QUE0QkE7RUFFRSxxQkFBQTtFQUNBLHNCQUFBO0FBMUJGOztBQTZCQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUExQkY7O0FBOEJBO0VBRUUsd0JBQUE7QUE1QkY7O0FBK0JBO0VBQ0UsZ0JBQUE7RUFFQSw0QkFB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NkJBQUE7QUFsSEYiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlTWFya3tcbiAgcGFkZGluZy10b3A6IDQ1cHg7XG59XG5cbi5hYm91dEFpYmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvL2xlZnQ6IDU2cHg7XG4gIHJpZ2h0OiAxMjdweDtcbiAgdG9wOiAyMHB4O1xuICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5hYm91dFoge1xuICB6LWluZGV4OiAxMDAwMCAhaW1wb3J0YW50O1xufVxuXG4uc3RvcFNjcm9sbCB7XG4gIC0tb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uYWJvdXRNb2RhbCB7XG4gIHRvcDogMjQlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA3MCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA1MiUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL3BhZGRpbmctdG9wOiAzMHB4O1xuICBmb250LWZhbWlseTogXCJhcmlhbFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmFib3V0TW9kYWwgaDEge1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiICFpbXBvcnRhbnQ7XG59XG5cbi5hYm91dEhvbGRlciB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG8gIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hYm91dEluZm8ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uYWJvdXRMZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uc3R5bGVQYWdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcHVycGxlO1xufVxuXG4uc2Nyb2xsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcImJlYmFzXCIgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NTU2NTYgIWltcG9ydGFudDtcbn1cblxuLy8gaW9uLWhlYWRlciB7XG4vLyAgIG1pbi1oZWlnaHQ6IDExLjglO1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NjU2ICFpbXBvcnRhbnQ7XG4vLyAgIGNvbG9yOiB3aGl0ZTtcbi8vIH1cblxuLmFpYmVyLWlvbi1oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTY1NiAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8vIGlvbi1jb250ZW50IHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDEwMHB4O1xuLy8gICAvL2JvcmRlcjogMXB4IHNvbGlkIG1hZ2VudGE7XG4vLyAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbi8vICAgLy9tYXJnaW46IDAgIWltcG9ydGFudDtcbi8vICAgLy9oZWlnaHQ6IDYxMHB4ICFpbXBvcnRhbnQ7XG4vLyB9XG5cbmlvbi1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIG1hZ2VudGE7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgLy9tYXJnaW46IDAgIWltcG9ydGFudDtcbiAgLy9oZWlnaHQ6IDYxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5haWJlci1pbm5lci1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEzMHB4O1xuICBoZWlnaHQ6IDYxMnB4O1xuICB3aWR0aDogMTAxNXB4O1xuICBsZWZ0OiAzMnB4O1xufVxuLy8gaW9uLWZvb3RlciB7XG4vLyAgIG1pbi1oZWlnaHQ6IDExLjglO1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NjU2ICFpbXBvcnRhbnQ7XG4vLyAgIGNvbG9yOiB3aGl0ZTtcbi8vIH1cblxuLmFpYmVyLWlvbi1mb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTY1NiAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmlvbi1zbGlkZXMge1xuICBoZWlnaHQ6IDI3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbmlvbi1zbGlkZSB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgbWFnZW50YTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVySG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweCAwIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHllbGxvdztcbn1cblxuLmZhc1NsaWRlcyB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBoZWlnaHQ6IDQ4NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mYXNNZW51SXRlbXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgcGFkZGluZy10b3A6IDQycHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mYXNNb2RhbCBoMSB7XG4gIGZvbnQtZmFtaWx5OiBcImJlYmFzXCIgIWltcG9ydGFudDtcbn1cblxuLmZhc01lbnVJdGVtc0JsYW5rIHtcbiAgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLmZhc1NjcmVlbkltZ3Mge1xuICBoZWlnaHQ6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4uc21hbGxlciB7XG4gIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbn1cblxuLm5vcGFkZGluZyB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4uaW5uZXJTbGlkZSB7XG4gIGhlaWdodDogNDg1cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDcwMHB4O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uaW5uZXJTbGlkZSBoMSB7XG4gIGZvbnQtc2l6ZTogNTZweDtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uc21hbGxlckgxIHtcbiAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMzlweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLmNlbnRyZVRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnN3aXBlIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDM1MHB4O1xuICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIGdyZWVuO1xufVxuXG4uc3dpcGVQb3NpdGlvbmVkUmlnaHQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCBncmVlbjtcbn1cblxuLmhlYWRlckxvZ28ge1xuICBoZWlnaHQ6IDU1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTZweDtcbiAgdG9wOiAyMHB4O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xufVxuXG4udG9wV2VkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogOTBweDtcbn1cblxuLmZvb3RlckhvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vcGFkZGluZzogMTNweCAwIDAgMDtcbiAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ib3R0b21XZWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGVmdFBhdHRlcm4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBoZWlnaHQ6IDY5LjUlO1xuICB3aWR0aDogMyU7XG4gIHRvcDogMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWdzL3BhdHRlcm4ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcbn1cblxuLnNob3dNb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGlkZU1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gZGlzcGxheS1tdWx0aS1zaXplLWhhbmRsaW5nXG4vLyBUaGUgZm9sbG93aW5nIHNjaGVtZSBvZiBDU1MgaGFuZGxlc1xuLy8gYm90aCA5LjdcIiBhbmQgMTAuMlwiIGlQYWQgZGlzcGxheXNcbi8vIGNvcnJlbGF0aW5nIHRvIGJvdGggNnRoIGFuZCA3dGggZ2VuZXJhdGlvblxuLy8gaVBhZHMgcmVzcGVjdGl2ZWx5LlxuXG4ub3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBvcGFjaXR5OiAwLjg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG5cbi5tb2RhbF9jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyLjUlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2U4ZThlOCAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZThlOGU4IDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAlLCAjZThlOGU4IDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuMzUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhc1oge1xuICB6LWluZGV4OiA1MDAwMCAhaW1wb3J0YW50O1xufVxuXG4uY29uc2Npb3VzbmVzc1oge1xuICB6LWluZGV4OiAxMDAwMCAhaW1wb3J0YW50O1xufVxuXG4uZmFzTW9kYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi5jb25zY2lvdXNuZXNzTW9kYWwge1xuICB0b3A6IDIxJSAhaW1wb3J0YW50O1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTglICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMHB4O1xufVxuXG4uY29uc2Npb3VzbmVzc01vZGFsIGgxIHtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDMycHg7XG59XG5cbi5jb25zY2lvdXNuZXNzSG9sZGVyIHtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gIG1hcmdpbjogMjBweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O1xuICB3aWR0aDogMzYycHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLndpZGVCdXR0b24ge1xuICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTNweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDNweDtcbn1cblxuLmJ1dHRvbkxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmJ1dHRvblJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ud2lkZVRhbGxCdXR0b24ge1xuICB3aWR0aDogMTgwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNTJweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsZWZ0OiAyNTNweDtcbn1cblxuLm0zMCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLmhvd0xvbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgd2lkdGg6IDQyMHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xufVxuXG4udGV4dC1pbnB1dCB7XG4gIG1hcmdpbjogNHB4IDhweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmhvd0xvbmdJbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ob3dMb25nSW5wdXRPUiB7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiBcImJlYmFzXCIgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG93TG9uZ0lucHV0Qm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDI2MHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcImJlYmFzXCIgIWltcG9ydGFudDtcbn1cblxuLmhvd0xvbmdNaW51dGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogNDBweCAhaW1wb3J0YW50O1xuICBsZWZ0OiA5cHg7XG59XG5cbi5ob3dMb25nTWludXRlcyBpb24tY29sIHtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCBtYWdlbnRhICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbnNjaW91c25lc3NFbXB0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTU1NjU2ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxNjBweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBmb250LXNpemU6IDMycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NTU2NTYgIWltcG9ydGFudDtcbn1cblxuLm9rQnV0dG9uIHtcbiAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vcmlnaHQ6IDA7XG4gIC8vdG9wOiAwO1xuICAvL21hcmdpbjogMDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFjMjQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG4ub2tCdXR0b25XaWRlIHtcbiAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vcmlnaHQ6IDA7XG4gIC8vdG9wOiAwO1xuICAvL21hcmdpbjogMDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDE4OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzI0O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5ncmV5ZWRPdXQge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU2NTYgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uZGlzYWJsZURpdiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmNsb3NlQnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4uYXZwdUFCQ0dyaWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDMlO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgd2lkdGg6IDk0JTtcbiAgaGVpZ2h0OiA3MyU7XG4gIHRvcDogMTRweDtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiByZWQgIWltcG9ydGFudDtcbn1cblxuLmNjc1NpemUge1xuICAvL2hlaWdodDogMTUlO1xuICAvL2hlaWdodDogMTAlO1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5jaGVja1BhdGllbnRTdGF0dXNCYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgbWFnZW50YTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiO1xuICAvL2ZvbnQtc2l6ZTogMjhweDsgQmFybG93IGFuZCBPc3dhbGQgaGVpZ2h0XG4gIGZvbnQtc2l6ZTogNDRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgLy9wYWRkaW5nOiAyMnB4IDAgMCAwO1xuICAvL3BhZGRpbmc6IDdweCAwIDAgMDsgT3N3YWxkIHBhZGRpbmdcbiAgcGFkZGluZzogMHB4IDAgMCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1ncy9DaGVjay1QYXRpZW50LVN0YXR1cy1HcmFkaWVudC1CRy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogODJweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBjb2xvcjogIzU1NTY1NiAhaW1wb3J0YW50O1xufVxuXG4uZWNob0J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTZweDtcbiAgdG9wOiAyMHB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmlyc3RBaWRTeW1ib2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI5MHB4O1xuICB0b3A6IDMycHg7XG4gIGhlaWdodDogNDZweDtcbn1cblxuLmZpcnN0QWlkU3ltYm9sVG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNTZweDtcbiAgdG9wOiAyMHB4O1xuICBoZWlnaHQ6IDUycHg7XG59XG5cbi5idXR0b25HcmlkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTUlO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pb24tY29sIHtcbiAgLy9tYXJnaW46IDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLmNvbCB7XG4gIHBhZGRpbmc6IDAgOHB4IDAgMDtcbn1cblxuLmJ1dHRvbkNvbCB7XG4gIGhlaWdodDogMTAlO1xufVxuXG4ubm9MZWZ0UGFkZGluZyB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm9Db2xQYWRkaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vUmlnaHRQYWRkaW5nIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm9Sb3dQYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm5vVG9wUGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jcHNMYXN0Q29sIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmNvbElubmVyIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIGJsdWU7XG4gIGhlaWdodDogNjRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZ3MvQUJDLWJ1dHRvbnMtZ3JhZGllbnQtQkcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBjb2xvcjogIzU1NTY1NiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiO1xuICBmb250LXNpemU6IDQycHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYXZwdUFCQ0hlaWdodCB7XG4gIC8vaGVpZ2h0OiAyMzBweDtcbiAgaGVpZ2h0OiAyNzBweDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCBtYWdlbnRhO1xufVxuXG4uY3BzQnV0dG9uc0FWUFUge1xuICBwYWRkaW5nOiAyMHB4O1xuICAvL2hlaWdodDogMjMwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyNzBweCAhaW1wb3J0YW50O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIG1hZ2VudGE7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG59XG5cbi5jcHNCdXR0b25zIHtcbiAgLy9wYWRkaW5nOiAyMHB4O1xuICAvL2hlaWdodDogMTExcHg7XG4gIGhlaWdodDogMTMzcHg7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgbWFnZW50YTtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcImJlYmFzXCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLmNwc1RvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogOTglO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLmNwc0JvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogOTglO1xufVxuXG4uY3BzQnV0dG9uMVN0YXJ0IHtcbiAgLy9iYWNrZ3JvdW5kOiByZ2IoMCwgMTgwLCAyMjApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTM3ZGVnLFxuICAgIHJnYmEoMCwgMTgwLCAyMjAsIDEpIDAlLFxuICAgIHJnYmEoMTksIDE0NCwgMjA3LCAxKSA1MCVcbiAgKTtcbn1cblxuLmNwc0NvbmZpcm1lZCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogIzRkNWVhYjtcbiAgY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC8vcGFkZGluZzogMTJweCA4cHggMCAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJiZWJhc1wiO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY3BzQ29uZmlybWVkQ29sIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5LCAxNDQsIDIwNywgMSk7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOSwgMTQ0LCAyMDcsIDEpO1xuICBiYWNrZ3JvdW5kOiByZ2IoMCwgMTgwLCAyMjApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTM3ZGVnLFxuICAgIHJnYmEoMCwgMTgwLCAyMjAsIDEpIDAlLFxuICAgIHJnYmEoMTksIDE0NCwgMjA3LCAxKSA1MCVcbiAgKTtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEFWQVRBUiBTVFlMRVNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLmF2YXRhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICAvL2JvcmRlcjogMnB4IHNvbGlkIHllbGxvdztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbn1cblxuLnN3aXBlVXBMZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwJTtcbiAgbGVmdDogNCU7XG4gIHdpZHRoOiAxNSU7XG4gIGhlaWdodDogYXV0bztcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5hdmF0YXJJbWFnZSB7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4uYXZwdVRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgYmx1ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4uYXZwdVRleHRTaW5nbGVMaW5lIHtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG59XG5cbi5zd2lwZVVwUmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICByaWdodDogNyU7XG4gIHdpZHRoOiAxNSU7XG4gIGhlaWdodDogYXV0bztcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi5zZWxHcmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGEzNTA7XG59XG5cbi5zZWxSZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMxZDI3O1xufVxuXG4uc2VsVm9pY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk3MmI3O1xufVxuXG4uYXZwdUEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNjUxICFpbXBvcnRhbnQ7XG59XG5cbi5hdnB1ViB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTcyYjcgIWltcG9ydGFudDtcbn1cblxuLmF2cHVQIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0OTIyYyAhaW1wb3J0YW50O1xufVxuXG4uYXZwdVUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzI0ICFpbXBvcnRhbnQ7XG59XG5cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEVORCBPRiBBVkFUQVIgU1RZTEVTXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi50ZXh0T25seSB7XG4gIHBhZGRpbmctdG9wOiAzOHB4O1xuICBmb250LXNpemU6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLk9LIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTM1MCAhaW1wb3J0YW50O1xufVxuXG4uTm90T0sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMxZDI3ICFpbXBvcnRhbnQ7XG59XG5cbi5iZ09LIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTM1MDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYmdXYXJuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYzMwMDtcbn1cblxuLmJnTm90T0sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMxZDI3O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi53aGl0ZVRleHQge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmNvbnNjaW91c25lc3NPSyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGEzNTAgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5jb25zY2lvdXNuZXNzTm90T0sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMxZDI3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uZGVzZWxlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NjU2ICFpbXBvcnRhbnQ7XG59XG5cbi5kZXNlbGVjdFRpY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kZXNlbGVjdENvbmZpcm1lZCB7XG4gIC8vY29sb3I6ICM4ODg4ODggIWltcG9ydGFudDtcbiAgY29sb3I6ICM2NjY2NjYgIWltcG9ydGFudDtcbn1cblxuLmRlc2VsZWN0Q29uc2Npb3VzbmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU2NTYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAvL2NvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ucHJvY2VlZFRpY2tEZXNlbGVjdCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmFiY0F3YWtlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA2NHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxMnB4IDAgOHB4IDIwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1ncy9BQkMtaG93LW1hbnktbWludXRlcy1ncmFkaWVudC1CRy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGNvbG9yOiAjNTU1NjU2O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHllbGxvdztcbn1cblxuLmJ1dHRvbkNvbnNjaW91c25lc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0cHg7XG4gIHRvcDogNHB4O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHdpZHRoOiAyMzBweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzU1NTY1Njtcbn1cblxuLmFiY1Byb2NlZWQge1xuICAvL2JhY2tncm91bmQtY29sb3I6ICM0ZDVlYWI7XG4gIC8qYmFja2dyb3VuZDogcmdiKDAsIDE4MCwgMjIwKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDEzN2RlZyxcbiAgICByZ2JhKDAsIDE4MCwgMjIwLCAxKSAwJSxcbiAgICByZ2JhKDE5LCAxNDQsIDIwNywgMSkgNTAlXG4gICk7Ki9cbiAgY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDEycHggMCAwIDMwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiYmViYXNcIjtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hdnB1U3BhY2VyIHtcbiAgaGVpZ2h0OiA1cHggIWltcG9ydGFudDtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCBtYWdlbnRhO1xufVxuXG4uYXdha2VIZWlnaHQge1xuICBoZWlnaHQ6IDY0cHg7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4uYXdha2VDb2xIb2xkZXIge1xuICBwYWRkaW5nOiAwIDNweCAwIDAgIWltcG9ydGFudDtcbn1cblxuLnByb2NlZWRDb2xIb2xkZXIge1xuICBwYWRkaW5nOiAwIDAgMCA2cHggIWltcG9ydGFudDtcbn1cblxuLnByb2NlZWRUaWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgbWFnZW50YTtcbn1cblxuLmxhc3RCdXR0b24ge1xuICByaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5yaWdodFBhdHRlcm4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICBoZWlnaHQ6IDY5LjUlO1xuICB3aWR0aDogMyU7XG4gIHRvcDogMTAwcHg7XG4gIHJpZ2h0OiAwO1xuICAvL2JhY2tncm91bmQtY29sb3I6IHBpbms7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWdzL3BhdHRlcm4ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcbn1cbiJdfQ== */\";","/**\n * v1.0.0 - 22/09/2020 - FIRST RELEASE\n * v1.0.1 - 30/09/2020 - Patched after first test cycle\n * v1.0.2 - 06/11/2020 - Patched after User Validation\n */\n\nimport { AppGlobals } from \"../shared/app.global\";\nimport { AppVersion } from \"@ionic-native/app-version/ngx\";\nimport { BatteryStatus } from \"@ionic-native/battery-status/ngx\";\nimport { Component } from \"@angular/core\";\nimport { DatabaseService } from \"../services/database/database.service\";\nimport { GetlocationService } from \"../services/getlocation/getlocation.service\";\nimport { getTypeNameForDebugging } from \"@angular/common/esm2015/src/directives/ng_for_of\";\nimport { IonSlides } from \"@ionic/angular\";\nimport { MainPage } from \"../main/main.page\";\nimport { NavController, Platform } from \"@ionic/angular\";\nimport { Routes, RouterModule, Router } from \"@angular/router\";\nimport { ScreenOrientation } from \"@ionic-native/screen-orientation/ngx\";\nimport { ViewChild } from \"@angular/core\";\nimport { Device } from \"@ionic-native/device/ngx\";\n\n@Component({\n selector: \"app-home\",\n templateUrl: \"home.page.html\",\n styleUrls: [\"home.page.scss\"],\n providers: [AppGlobals],\n})\nexport class HomePage {\n @ViewChild(\"fasSlider\", { static: true })\n fasSlides: IonSlides;\n @ViewChild(\"avpuSlides\", { static: true })\n avpuSlides: IonSlides;\n subscription: any;\n theBattery: number;\n\n numTaps: number = 0;\n modalVis: string = \"hideModal\";\n consciousnessVis: string = \"hideModal\";\n consciousnessConfirmState: string = \"SELECT\";\n consciousnessStateColour: string = \"\";\n showInputBox: string = \"hideModal\";\n minutesUnconscious: number = 0;\n greyMeOut: string = \"\";\n\n avpuState: string = \"ALERT\";\n airwayState: string = \"\";\n breathingState: string = \"\";\n circulationState: string = \"\";\n consciousnessState: string = \"\";\n consciousnessSelectYes: string = \"consciousnessEmpty\";\n consciousnessSelectNo: string = \"consciousnessEmpty\";\n consciousnessSpacing: string = \"\";\n consciousnessMinutes: string = \"\";\n consciousnessClass: string = \"\";\n\n confirm1: string = \"\";\n //confirm1state: string = \"\";\n confirmBtn1: string = \"showModal\";\n confirmedBtn1: string = \"hideModal\";\n confirm2: string = \"deselect deselectConfirmed \";\n confirm2TopState: string = \"deselect deselectConfirmed \";\n confirm2BottomState: string = \"deselect deselectConfirmed \";\n confirmBtn2: string = \"showModal\";\n confirmedBtn2: string = \"hideModal\";\n confirm3: string = \"deselect deselectConfirmed \";\n confirm3TopState: string = \"deselect deselectConfirmed \";\n confirm3BottomState: string = \"deselect deselectConfirmed \";\n confirmBtn3: string = \"showModal\";\n confirmedBtn3: string = \"hideModal\";\n confirm4: string = \"deselect deselectConfirmed \";\n confirm4TopState: string = \"deselect deselectConfirmed \";\n confirm4BottomState: string = \"deselect deselectConfirmed \";\n confirmBtn4: string = \"showModal\";\n confirmedBtn4: string = \"hideModal\";\n confirmConsciousness: string = \"deselectConsciousness deselectConfirmed\";\n confirmFinal: string = \"deselect deselectConfirmed \";\n\n confirm1Tick: string = \"deselectTick \";\n confirm2Tick: string = \"deselectTick \";\n confirm3Tick: string = \"deselectTick \";\n confirm4Tick: string = \"deselectTick \";\n confirmFinalTick: string = \"deselectTick \";\n\n unresponsiveFlag: boolean = true;\n cdFlag: boolean = false;\n burnFlag: boolean = false;\n adultChokingFlag: boolean = false;\n\n theCoords;\n\n avpuSlidesOpts = {\n direction: \"vertical\",\n initialSlide: 0,\n height: 270,\n };\n\n personLabel: string;\n personLabelUpper: string;\n personLocation: string;\n supportLocation: string;\n personDestinationCentre: string;\n staffType: string;\n proceedable: boolean = true;\n aboutVis: string = \"hideModal\";\n aiberVersion = \"\";\n\n constructor(\n public navCtrl: NavController,\n private screenOrientation: ScreenOrientation,\n public database: DatabaseService,\n private appVersion: AppVersion,\n public batteryStatus: BatteryStatus,\n public getLocation: GetlocationService,\n private platform: Platform,\n private router: Router,\n private _global: AppGlobals,\n public device: Device\n ) {\n this.platform.ready().then(() => {\n //Force the iPad to display in LANDSCAPE only\n this.screenOrientation\n .lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE)\n .then((data) => {\n //console.log(\"data from screenorientation is: \" + data);\n });\n\n this.personLabel = _global.appConfig.personLabel;\n this.personLabelUpper = _global.appConfig.personLabel.toUpperCase();\n this.supportLocation = _global.appConfig.supportLocation;\n this.staffType = _global.appConfig.staffType;\n this.findMe();\n this.appVersion.getVersionNumber().then((version) => {\n //alert(\"Aiber Version: \" + version);\n this.aiberVersion = version;\n });\n\n //Ensure device is running iOS12.4 and above\n if (this.device.version < \"12.4\") {\n alert(\n \"This software is designed to operate on iOS from version 12.4 onwards. Your system is currently \" +\n this.device.version +\n \". Please update your iOS version.\"\n );\n this.proceedable = false; //prevent app from continuing to function\n }\n });\n }\n\n setAVPU() {\n this.avpuSlides.getActiveIndex().then((currentIndex) => {\n //console.log(\"This is the currentIndex: \" + currentIndex);\n switch (currentIndex) {\n case 0:\n this.avpuState = \"ALERT\";\n break;\n\n case 1:\n this.avpuState = \"RESPONDS<br>TO VOICE\";\n break;\n\n case 2:\n this.avpuState = \"RESPONDS<br>TO PAIN\";\n break;\n\n case 3:\n this.avpuState = \"UNRESPONSIVE\";\n break;\n }\n });\n }\n\n //ngAfterViewInit() {\n ionViewDidEnter() {\n console.log(\"Getting to ionViewDidEnter\");\n this.appVersion.getVersionNumber().then((version) => {\n //alert(\"Aiber Version: \" + version);\n this.aiberVersion = version;\n });\n console.log(\"Back to home!\");\n this.subscription = this.batteryStatus.onChange().subscribe((status) => {\n //alert(\"Battery status: \" + status.level);\n this.theBattery = status.level;\n //this.database.updateBattery(this.theBattery);\n });\n this.modalVis = \"hideModal\";\n this.consciousnessVis = \"hideModal\";\n this.consciousnessConfirmState = \"SELECT\";\n this.consciousnessStateColour = \"\";\n this.showInputBox = \"hideModal\";\n this.minutesUnconscious = 0;\n this.consciousnessSelectYes = \"consciousnessEmpty\";\n this.consciousnessSelectNo = \"consciousnessEmpty\";\n\n this.avpuState = \"ALERT\";\n this.airwayState = \"\";\n this.breathingState = \"\";\n this.circulationState = \"\";\n this.consciousnessState = \"\";\n\n this.confirm1 = \"deselect deselectConfirmed \";\n //this.confirm1state = \"deselect deselectConfirmed \";\n this.confirm2 = \"deselect deselectConfirmed \";\n this.confirm2TopState = \"deselect deselectConfirmed \";\n this.confirm2BottomState = \"deselect deselectConfirmed \";\n this.confirm3 = \"deselect deselectConfirmed \";\n this.confirm3TopState = \"deselect deselectConfirmed \";\n this.confirm3BottomState = \"deselect deselectConfirmed \";\n this.confirm4 = \"deselect deselectConfirmed \";\n this.confirm4TopState = \"deselect deselectConfirmed \";\n this.confirm4BottomState = \"deselect deselectConfirmed \";\n this.confirmConsciousness = \"deselectConsciousness deselectConfirmed\";\n this.confirmFinal = \"deselect deselectConfirmed \";\n\n this.confirm1Tick = \"deselectTick \";\n this.confirm2Tick = \"deselectTick \";\n this.confirm3Tick = \"deselectTick \";\n this.confirm4Tick = \"deselectTick \";\n this.confirmBtn1 = \"showModal\";\n this.confirmedBtn1 = \"hideModal\";\n this.confirmBtn2 = \"showModal\";\n this.confirmedBtn2 = \"hideModal\";\n this.confirmBtn3 = \"showModal\";\n this.confirmedBtn3 = \"hideModal\";\n this.confirmBtn4 = \"showModal\";\n this.confirmedBtn4 = \"hideModal\";\n this.confirmFinalTick = \"deselectTick \";\n this.avpuSlides.slideTo(0, 0).then(() => {\n this.findMe();\n });\n }\n\n echoTest() {\n //console.log(\"Echo heard\");\n }\n\n // page-home-final-proceed\n // This section passes the AVPU screen contents\n // to the database and opens the MAIN screen.\n // This only happens if all AVPU inputs have been\n // completed, which will enable the final \"PROCEED\"\n // button.\n\n openMain() {\n if (\n this.confirmFinal === \"cpsConfirmedCol\" &&\n this.confirmFinalTick === \"\"\n ) {\n //Start session\n this.database.startSession(\n this.avpuState,\n this.airwayState,\n this.breathingState,\n this.circulationState,\n this.consciousnessState\n );\n //console.log(\"About to move screen\");\n this.router.navigate([\n \"main/\" +\n this.avpuState +\n \"/\" +\n this.airwayState +\n \"/\" +\n this.breathingState +\n \"/\" +\n this.circulationState +\n \"/\" +\n this.consciousnessState,\n ]);\n }\n }\n\n async findMe() {\n this.theCoords = await this.getLocation\n .getMyLocation()\n .then((data) => {\n ////console.warn(\"Location data: \" + JSON.stringify(data));\n })\n .catch((error) => {\n ////console.error(\"Location error: \" + error);\n });\n }\n\n updateTaps() {\n this.numTaps++;\n if (this.numTaps > 5) {\n this.appVersion.getVersionNumber().then((version) => {\n alert(\"MIME Pro Version: \" + version);\n });\n this.numTaps = 0;\n }\n }\n\n showAboutInfo() {\n console.log(\"Info icon clicked\");\n this.appVersion.getVersionNumber().then((version) => {\n this.aiberVersion = version;\n this.aboutVis = \"showModal\";\n });\n }\n\n closeAboutInfo() {\n this.aboutVis = \"hideModal\";\n }\n\n confirmAVPU() {\n //Show AVPU as confirmed, then enable Airway controls\n //debugger;\n this.confirm1 = \"\";\n this.confirm1Tick = \"\";\n this.confirmedBtn1 = \"showModal\";\n this.confirmBtn1 = \"hideModal\";\n //this.confirm2 = \"deselect deselectConfirmed\";\n if (\n this.confirm2TopState.indexOf(\"deselectConfirmed\") !== -1 ||\n this.confirm2BottomState.indexOf(\"deselectConfirmed\") !== -1\n ) {\n this.confirm2TopState = \"deselect \";\n this.confirm2BottomState = \"deselect \";\n }\n }\n\n setAirway(airwayState) {\n if (this.confirm1 === \"\" && this.confirm1Tick === \"\") {\n this.airwayState = airwayState;\n switch (airwayState) {\n case \"clear\":\n this.confirm2TopState = \"\";\n this.confirm2BottomState = \"deselect \";\n break;\n\n case \"blocked\":\n this.confirm2TopState = \"deselect \";\n this.confirm2BottomState = \"\";\n break;\n }\n\n this.confirm2 = \"cpsConfirmedCol\";\n if (this.confirm2Tick !== \"\") {\n this.confirm2Tick = \"deselectTick \";\n }\n }\n }\n\n confirmAirway() {\n //Show Airway as confirmed, then enable Breathing controls\n if (this.confirm2 === \"cpsConfirmedCol\") {\n this.confirm2Tick = \"\";\n this.confirmedBtn2 = \"showModal\";\n this.confirmBtn2 = \"hideModal\";\n if (\n this.confirm3TopState.indexOf(\"deselectConfirmed\") !== -1 ||\n this.confirm3BottomState.indexOf(\"deselectConfirmed\") !== -1\n ) {\n this.confirm3TopState = \"deselect \";\n this.confirm3BottomState = \"deselect \";\n }\n }\n }\n\n setBreathing(breathingState) {\n if (this.confirm2 === \"cpsConfirmedCol\" && this.confirm2Tick === \"\") {\n this.breathingState = breathingState;\n switch (breathingState) {\n case \"regular\":\n this.confirm3TopState = \"\";\n this.confirm3BottomState = \"deselect \";\n break;\n\n case \"irregular\":\n this.confirm3TopState = \"deselect \";\n this.confirm3BottomState = \"\";\n break;\n }\n\n this.confirm3 = \"cpsConfirmedCol\";\n if (this.confirm3Tick !== \"\") {\n this.confirm3Tick = \"deselectTick \";\n }\n }\n }\n\n confirmBreathing() {\n //Show Breathing as confirmed, then enable Circulation controls\n if (this.confirm3 === \"cpsConfirmedCol\") {\n this.confirm3Tick = \"\";\n this.confirmedBtn3 = \"showModal\";\n this.confirmBtn3 = \"hideModal\";\n if (\n this.confirm4TopState.indexOf(\"deselectConfirmed\") !== -1 ||\n this.confirm4BottomState.indexOf(\"deselectConfirmed\") !== -1\n ) {\n this.confirm4TopState = \"deselect \";\n this.confirm4BottomState = \"deselect \";\n }\n }\n }\n\n setCirculation(circulationState) {\n if (this.confirm3 === \"cpsConfirmedCol\" && this.confirm3Tick === \"\") {\n this.circulationState = circulationState;\n switch (circulationState) {\n case \"pale\":\n this.confirm4TopState = \"\";\n this.confirm4BottomState = \"deselect \";\n break;\n\n case \"flushed\":\n this.confirm4TopState = \"deselect \";\n this.confirm4BottomState = \"\";\n break;\n }\n\n this.confirm4 = \"cpsConfirmedCol\";\n if (this.confirm4Tick !== \"\") {\n this.confirm4Tick = \"deselectTick \";\n }\n }\n }\n\n confirmCirculation() {\n //Show Circulation as confirmed, then enable proceed controls\n if (this.confirm4 === \"cpsConfirmedCol\") {\n this.confirm4Tick = \"\";\n this.confirmedBtn4 = \"showModal\";\n this.confirmBtn4 = \"hideModal\";\n //this.confirmFinal = \"\";\n //this.confirmFinalTick = \"\";\n this.confirmConsciousness = \"\";\n }\n }\n confirmConscious() {\n //Show Circulation as confirmed, then enable proceed controls\n this.confirm4 = \"cpsConfirmedCol\";\n this.confirm4Tick = \"\";\n this.confirmConsciousness = \"\";\n }\n\n selectConsciousness() {\n ////console.log(this.consciousnessState);\n if (this.confirm4 === \"cpsConfirmedCol\" && this.confirm4Tick === \"\") {\n if (this.consciousnessState.indexOf(\"YES\") !== -1) {\n this.showInputBox = \"\";\n this.greyMeOut = \"\";\n } else if (\n this.consciousnessState === \"no\" ||\n this.consciousnessState === \"\"\n ) {\n this.showInputBox = \"disableDiv\";\n this.greyMeOut = \"greyedOut\";\n }\n this.consciousnessVis = \"showModal\";\n }\n }\n\n setConsciousness(consciousnessState) {\n switch (consciousnessState) {\n case \"yes\":\n this.showInputBox = \"\";\n this.greyMeOut = \"\";\n this.consciousnessState = consciousnessState;\n this.consciousnessSelectYes = \"bgNotOK\";\n this.consciousnessSelectNo = \"consciousnessEmpty\";\n break;\n\n case \"no\":\n this.consciousnessState = consciousnessState;\n this.showInputBox = \"disableDiv\";\n this.greyMeOut = \"greyedOut\";\n this.consciousnessConfirmState = \"NO\";\n this.consciousnessSelectYes = \"consciousnessEmpty\";\n this.consciousnessSelectNo = \"bgOK\";\n this.toggleConsciousness();\n this.confirmFinal = \"cpsConfirmedCol\";\n this.confirmFinalTick = \"\";\n this.confirmConsciousness = \"\";\n this.consciousnessStateColour = \"consciousnessOK\";\n break;\n }\n }\n\n saveMinutes(minutesUnconscious) {\n /*if (this.minutesUnconscious === 0) {\n alert(\"Must be more than zero minutes, otherwise select 'No'\");\n} else {*/\n //Figure out and strip off \"unit\" (minutes, seconds, etc.)\n let uncUnit = \"\";\n //alert(minutesUnconscious.indexOf(\"m\"));\n if (minutesUnconscious.indexOf(\"m\") !== -1) {\n //This is minutes\n uncUnit = \"mins\";\n minutesUnconscious = minutesUnconscious.slice(0, -1);\n } else {\n //This is seconds\n uncUnit = \"secs\";\n minutesUnconscious = minutesUnconscious.slice(0, -1);\n }\n\n this.showInputBox = \"hideModal\";\n if (minutesUnconscious.indexOf(\"+\") === -1) {\n this.consciousnessSpacing = \"\";\n this.consciousnessConfirmState =\n \"YES (under \" + minutesUnconscious + \" \" + uncUnit + \")\";\n } else {\n this.consciousnessSpacing = \"narrowerText\";\n var finalMinutes: string = \"\";\n switch (minutesUnconscious) {\n case \"+30\":\n finalMinutes = \"over 30mins\";\n break;\n\n case \"+60\":\n finalMinutes = \"over 1hr\";\n break;\n }\n this.consciousnessConfirmState = \"YES (\" + finalMinutes + \")\";\n }\n this.consciousnessMinutes = minutesUnconscious;\n this.consciousnessState = this.consciousnessConfirmState;\n this.consciousnessStateColour = \"consciousnessNotOK\";\n this.consciousnessClass = \"bgNotOK\";\n this.toggleConsciousness();\n this.confirmFinal = \"cpsConfirmedCol\";\n this.confirmFinalTick = \"\";\n this.confirmConsciousness = \"\";\n //}\n }\n\n toggleFAS() {\n if (this.modalVis === \"showModal\") {\n this.modalVis = \"hideModal\";\n } else {\n if (this.consciousnessVis === \"hideModal\") {\n this.modalVis = \"showModal\";\n }\n }\n this.fasSlides.update();\n this.fasSlides.slideTo(0);\n this.fasSlides.lockSwipes(true);\n this.fasSlides.update();\n }\n\n showUnresponsive() {\n this.cdFlag = false;\n this.burnFlag = false;\n this.adultChokingFlag = false;\n this.unresponsiveFlag = true;\n this.fasSlides.lockSwipes(false);\n this.fasSlides.slideNext();\n }\n\n showCDHolder() {\n this.cdFlag = true;\n this.adultChokingFlag = false;\n this.burnFlag = false;\n this.unresponsiveFlag = false;\n\n this.fasSlides.lockSwipes(false);\n this.fasSlides.slideNext();\n this.fasSlides.lockSwipeToNext(true);\n }\n\n showBurns() {\n this.cdFlag = false;\n this.adultChokingFlag = false;\n this.burnFlag = true;\n this.unresponsiveFlag = false;\n\n this.fasSlides.lockSwipes(false);\n this.fasSlides.slideNext();\n this.fasSlides.lockSwipeToNext(false);\n }\n\n showAdultChoking() {\n this.cdFlag = false;\n this.adultChokingFlag = true;\n this.burnFlag = false;\n this.unresponsiveFlag = false;\n\n this.fasSlides.lockSwipes(false);\n this.fasSlides.slideNext();\n this.fasSlides.lockSwipeToNext(false);\n }\n\n openUANB() {\n this.cdFlag = false;\n this.adultChokingFlag = false;\n this.burnFlag = false;\n this.unresponsiveFlag = true;\n this.fasSlides.slideTo(2);\n }\n\n fasLockSwipes() {\n this.fasSlides.isBeginning().then((data) => {\n //console.log(\"Data: \" + data);\n if (data) {\n setTimeout(() => {\n this.fasSlides.lockSwipes(true).then(() => {\n //blah\n });\n }, 500);\n }\n });\n }\n\n toggleConsciousness() {\n if (this.consciousnessVis === \"showModal\") {\n this.consciousnessVis = \"hideModal\";\n } else {\n this.consciousnessVis = \"showModal\";\n }\n }\n}\n","/**\n * v1.0.0 - 22/09/2020 - FIRST RELEASE\n * v1.0.1 - 30/09/2020 - Patched after first test cycle\n * v1.0.2 - 06/11/2020 - Patched after User Validation\n */\n\nimport \"rxjs/add/operator/do\";\nimport \"rxjs/add/operator/map\";\nimport { retry, catchError } from \"rxjs/operators\";\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\nimport { Device } from \"@ionic-native/device/ngx\";\nimport { GetlocationService } from \"../getlocation/getlocation.service\";\nimport {\n HttpClient,\n HttpHeaders,\n HttpErrorResponse,\n} from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Network } from \"@ionic-native/network/ngx\";\nimport { Platform } from \"@ionic/angular\";\nimport { SQLite, SQLiteObject } from \"@ionic-native/sqlite/ngx\";\nimport { SQLitePorter } from \"@ionic-native/sqlite-porter/ngx\";\nimport { Storage } from \"@ionic/storage\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class DatabaseService {\n database: SQLiteObject;\n private dbReady: BehaviorSubject<boolean> = new BehaviorSubject(false);\n theSQL: any = \"\";\n //theSessionID: number;\n theSessionID: string = \"\";\n db: SQLiteObject;\n theCasComplaint: string = \"\";\n theBattery: number;\n gpsLat: string = \"57.697297\";\n gpsLong: string = \"-3.984215\";\n subscription: any;\n systemTime: String = new Date().toISOString().substring(11).replace(\"Z\", \"\");\n incidentTime;\n aiberChat: string = \"\";\n\n // API path\n host = \"https://newaiberapiv2.azurewebsites.net/\"; // LIVE host\n //host = \"http://192.168.1.157:45455/\"; // LOCAL host\n base_path = this.host + \"v2/api/incidentsv2/submit\";\n start_base_path = this.host + \"v2/api/incidentsv2/startincident\";\n chat_base_path = this.host + \"v2/api/incidentsv2/chat\";\n groundtyping_base_path = this.host + \"v2/api/incidentsv2/checktypingground\";\n groundchat_base_path = this.host + \"v2/api/incidentsv2/getgroundchat\";\n casualty_base_path = this.host + \"v2/api/incidentsv2/updatecasualty\";\n\n queue: any;\n startupQueue: any;\n netConn: boolean = false;\n sessionStartedOK: boolean = false;\n startAVPU: string = \"\";\n startA: string = \"\";\n startB: string = \"\";\n startC: string = \"\";\n startCon: string = \"\";\n startStreamed: number = 0;\n casualty = [\n {\n complaint: \"\",\n history: \"\",\n gender: \"\",\n dob: \"\",\n age: null,\n alcohol: \"\",\n allergies: \"\",\n allergydetails: \"\",\n medicinetaken: \"\",\n medhist: \"\",\n flight: \"\",\n seat: \"\",\n arrivalairport: \"\",\n lastmeal: \"\",\n detailsadded: \"\",\n detailssent: \"\",\n detailsack: \"\",\n },\n ];\n\n netStatusIcon: string = \"cloud-wait\";\n\n netWarningText: string =\n \"There is currently no network available; please continue using Aiber as normal. When a network is available, Aiber will automatically connect and process any unsent data.\";\n\n dataStreamed: string = \"\";\n\n constructor(\n private device: Device,\n public getmylocation: GetlocationService,\n public http: HttpClient,\n public network: Network,\n public platform: Platform,\n public sqlite: SQLite,\n public sqlitePorter: SQLitePorter,\n public storage: Storage\n ) {\n this.platform.ready().then(() => {\n //console.log(\"The platform is ready!\");\n this.sqlite\n .create({\n name: \"aiber.db\",\n location: \"default\",\n })\n .then((db: SQLiteObject) => {\n this.database = db;\n this.http\n .get(\"assets/aiber.sql\", { responseType: \"text\" })\n .subscribe((sql) => {\n this.sqlitePorter\n .importSqlToDb(this.database, sql)\n .then((_) => {\n console.log(\"Getting to 116 on database.service.ts\");\n this.clearDatabase();\n this.startStreamed = 0;\n this.dataStreamed = \"\";\n this.dbReady.next(true);\n })\n .catch((e) => console.error(e));\n });\n });\n });\n }\n\n /* Queue workings and premises:\n - On first entry to MAIN screen in Aiber, we subscribe to two events:\n * Network Connect - fires when the network is connected AFTER a disconnect (does not fire if there is a network connection on first subscription, only fires on CHANGE of this status). After this event fires, we will wait up to 3 seconds to let the system identify the network type. After this type is identified as Wifi, the queue will be started/restarted.\n * Network Disconnect - fires when network is disconnected AFTER being connected (does not fire if there is no network connection on first subscription, only fires on CHANGE of this status). After this event fires, we will stop the queue.\n \n - On first entry to MAIN screen in Aiber, we check the network type:\n * Type = Wifi - that means we're connected and the queue can be started.\n * Type = None - that means we're not connected and the queue will not be started.\n \n - Regardless of network status, Aiber stores items locally and those are considered \"queued\" until three things happen:\n * Incident \"start\" items are saved, as these five items are processed by one specific API to start an event. Until these are saved, any subsequent saves will be rejected as \"no incident found to match these\".\n * Item is successfully \"sent\" to the cloud (i.e. a 200 response code returned by the sending API is received).\n * Item is successfully \"acknowledged\" (confirmed as received) by the cloud (i.e. we get a 200 response code plus the actual item returned by the API request to read the item).\n\n */\n\n // ***********************************************\n // QUEUE MANAGER FUNCTIONS\n // Comments serv-db-qm-1 to serv-db-qm-8 below\n // ***********************************************\n\n // serv-db-qm-1\n // First Run mechanism handles subscribing to network events\n // such as connect/disconnect and provision of network type (wifi, etc.).\n // Also handles update of network status icon at top of Aiber screen.\n firstRun() {\n console.log(\"Inside firstRun()\");\n if (!this.sessionStartedOK) {\n this.startQueue();\n }\n return new Promise((resolve, reject) => {\n let connectSubscription = this.network.onConnect().subscribe(() => {\n //console.log(\"network connected!\");\n this.netStatusIcon = \"cloud-wait\";\n setTimeout(() => {\n console.log(\"Network Type: \", this.network.type);\n this.netConn = true;\n this.netStatusIcon = \"cloud-ok\";\n this.startQueue();\n }, 3000);\n });\n let disconnectSubscription = this.network.onDisconnect().subscribe(() => {\n //console.log(\"network was disconnected!\");\n this.netConn = false;\n this.netStatusIcon = \"cloud-not-ok\";\n this.stopQueue();\n });\n //console.log(\"Network type is: \" + this.network.type);\n if (this.network.type === \"wifi\") {\n this.netConn = true;\n this.netStatusIcon = \"cloud-ok\";\n }\n resolve();\n });\n }\n\n // serv-db-qm-2\n // Queue start mechanism which checks for network availability and\n // then begins processing the queue in sequence:\n // 1 - unsent items\n // 2 - acknowledgements\n // 3 - typing states (ground and local)\n // Automatically runs every 3 seconds\n startQueue() {\n if (this.netConn && this.sessionStartedOK && this.network.type == \"wifi\") {\n //Engage a timer interval of 3 seconds\n this.queue = setInterval(() => {\n //Check for network\n //if network OK:\n if (this.netConn) {\n //Remove network warnings\n this.displayNetworkWarning(false).then(() => {\n if (this.sessionStartedOK) {\n //console.log(\"Session was started OK!\");\n //Send unsent items\n this.sendUnsentItems().then(() => {\n // //Fetch unacknowledged item acknowledgements\n // this.acknowledgeItems().then(() => {\n // //Update remote system with local typing status\n // this.updateLocalTypingStatus().then(() => {\n // //Update local system with remote typing status\n // this.updateRemoteTypingStatus().then(() => {\n // //Do whatever is next...\n console.log(\"Queue running!\");\n // });\n // });\n // });\n });\n }\n });\n }\n }, 3000);\n } else {\n //Network not OK\n //if no chat active, network issue warning is displayed (first, as a modal popup for the user to acknowledge, thereafter as an icon indicating network issues)\n //if chat is active, no modal popup will be shown, but a message will be inserted into local chat to explain that the network has issues and that chat will be sent when connection is once again available\n //console.log(\"Network not OK\");\n //console.log(\"Network Type: \", this.network.type);\n if (\n //this.netConn &&\n //this.network.type === \"wifi\" &&\n !this.sessionStartedOK\n ) {\n if (!this.startupQueue) {\n console.log(\"Starting Startup Queue\")\n this.startupQueue = setInterval(() => {\n //Incident start not yet sent, keep trying every five seconds\n if (!this.sessionStartedOK && this.startStreamed === 0) {\n this.streamStart(\n this.startAVPU,\n this.startA,\n this.startB,\n this.startC,\n this.startCon\n );\n }\n console.log(\"startup queue running\");\n }, 5000);\n }\n }\n }\n }\n\n // serv-db-qm-3\n // Queue stopping mechanism. Called if Aiber \"put to sleep\" instead of being\n // switched off. Saves network polls draining battery in the background.\n stopQueue() {\n clearInterval(this.queue);\n }\n\n // serv-db-qm-4\n // Network warning mechanism\n displayNetworkWarning(showWarning: boolean) {\n return new Promise((resolve, reject) => {\n if (showWarning) {\n alert(this.netWarningText);\n } else {\n //console.log(\"No network warnings!\");\n }\n resolve();\n });\n }\n\n // serv-db-qm-5\n // Unsent item sending mechanism\n sendUnsentItems() {\n return new Promise((resolve, reject) => {\n if (this.sessionStartedOK) {\n\n var updateSQL = \"\";\n //Get results set for those items\n //with no \"sent\" date\n this.theSQL =\n //\"SELECT * FROM reportdetail WHERE entrylogged IS NOT NULL AND (reportsent IS NULL AND reportack IS NULL) ORDER BY repdetailid\";\n \"SELECT * FROM reportdetail WHERE entrylogged IS NOT NULL AND reportack IS NULL ORDER BY repdetailid\";\n //console.log(\"Unsent: \" + this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n //Send via API call\n console.log(\"API data being sent:\",\n data.rows.item(i).messagetype,\n data.rows.item(i).entryname,\n data.rows.item(i).entryvalue,\n data.rows.item(i).entryvalue2,\n data.rows.item(i).repdetailid\n );\n console.log(\"repdetailid:\", data.rows.item(i).repdetailid);\n //update table to say that records have been sent...\n updateSQL =\n \"UPDATE reportdetail SET reportsent=? WHERE repdetailid=?\";\n return this.database\n .executeSql(updateSQL, [this.getUnixTime(), data.rows.item(i).repdetailid])\n .then((outcome) => {\n console.log(\"updated repdetailid, streaming now...\");\n this.streamData(\n data.rows.item(i).messagetype,\n data.rows.item(i).entryname,\n data.rows.item(i).entryvalue,\n data.rows.item(i).entryvalue2,\n data.rows.item(i).repdetailid\n ).then(() => {\n console.log(\"Back to 290\");\n });\n },\n (err) => {\n console.log(\"Error in reportdetail update:\", err)\n return [];\n });\n }\n resolve();\n } else {\n resolve();\n }\n },\n (err) => {\n //console.log(\"unSentItems error: \" + JSON.stringify(err));\n reject(\"Error!\");\n return [];\n }\n );\n resolve();\n }\n });\n\n }\n\n // serv-db-qm-6\n // Item acknowledgement mechanism - this mechanism polls the ground to\n // ensure that all items sent have actually been received.\n acknowledgeItems() {\n return new Promise((resolve, reject) => {\n this.getAck();\n resolve();\n });\n }\n\n // serv-db-qm-7\n // Local typing status mechanism - tells ground when the Aiber user\n // is typing and when they stop typing\n updateLocalTypingStatus() {\n return new Promise((resolve, reject) => {\n this.updateLocalTyping();\n resolve();\n });\n }\n\n // serv-db-qm-8\n // Remote typing status mechanism - determines when the ground user\n // is typing and when they stop typing\n updateRemoteTypingStatus() {\n return new Promise((resolve, reject) => {\n this.updateRemoteTyping();\n resolve();\n });\n }\n\n // ****** END OF QUEUE FUNCTIONS ******\n\n // *******************************\n // ****** API FUNCTIONS ******\n // *******************************\n\n // Http Options\n httpOptions = {\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"cache-control\": \"no-cache\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Headers\":\n \"Origin, Content-Type, X-Auth-Token, Accept, Authorization, X-Request-With, Access-Control-Request-Method, Access-Control-Request-Headers\",\n \"Access-Control-Allow-Credentials\": \"true\",\n \"Access-Control-Allow-Methods\":\n \"GET, POST, DELETE, PUT, OPTIONS, TRACE, PATCH, CONNECT\",\n }),\n };\n\n // Handle API errors\n handleError(error: HttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n console.error(\"An error occurred:\", error.error.message);\n } else {\n // The backend returned an unsuccessful response code.\n // The response body may contain clues as to what went wrong,\n console.error(\n `Backend returned code ${error.status}, ` +\n `body was: ${JSON.stringify(error, [\n \"message\",\n \"NSError\",\n \"arguments\",\n \"type\",\n \"name\",\n ])}`\n );\n }\n // return an observable with a user-facing error message\n return throwError(\"An error occurred: \" + error.statusText);\n }\n\n // Create a new item\n getGroundTyping(item): Observable<any> {\n //console.log(\"id being sent: \", item);\n return this.http\n .post(this.groundtyping_base_path, item, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n getGroundChat(item): Observable<any> {\n //console.log(\"id being sent: \", item);\n return this.http\n .post(this.groundchat_base_path, item, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n streamObs(item): Observable<any> {\n //console.log(\"Session Obs Item [344]\", item);\n return this.http\n .post(this.base_path, item, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n streamSessionStart(item): Observable<any> {\n return this.http\n .post(this.start_base_path, item, this.httpOptions)\n .pipe(catchError(this.handleError));\n }\n\n sendChat(item): Observable<any> {\n //console.log(item);\n return this.http\n .post(this.chat_base_path, item, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n sendCasualty(item): Observable<any> {\n //console.log(item);\n return this.http\n .post(this.casualty_base_path, item, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n saveChat(chat) {\n this.database\n .executeSql(\n \"INSERT INTO chats (incidentid, aibermsg, msgtime, deleted) VALUES(?,?,?,?)\",\n [this.theSessionID, chat, this.getUnixTime(), 0]\n )\n .then(() => {\n //saved!\n });\n }\n\n streamChat(chat) {\n var msgTime;\n //console.log(\"streamChat called!\");\n this.storage.get(\"sessionTime\").then((data) => {\n this.incidentTime = data;\n this.aiberChat = chat;\n msgTime = this.getUnixTime();\n\n var sJSON =\n '{ \"incidentid\" : \"' +\n this.theSessionID +\n '\", \"aibermsg\" : \"' +\n this.aiberChat +\n '\", \"controlmsg\" : \"\", \"msgtime\": ' +\n msgTime +\n ', \"msgrecd\" : 0, \"msgread\": 0}';\n\n //console.log(\"[database.service.ts:88] \" + sJSON);\n this.sendChat(JSON.parse(sJSON)).subscribe((data) => {\n //console.log(\"Chat Data streamed!\");\n });\n });\n }\n\n streamCasualty() {\n var msgTime;\n //console.log(\"streamChat called!\");\n this.storage.get(\"sessionTime\").then((data) => {\n this.incidentTime = data;\n\n if (!this.casualty[0].age) {\n this.casualty[0].age = 0;\n }\n\n var casualtyJSON =\n '{\"incidentid\":\"' +\n this.theSessionID +\n '\", \"gender\": \"' +\n this.casualty[0].gender +\n '\", \"dob\":\"' +\n this.casualty[0].dob +\n '\", \"age\": ' +\n this.casualty[0].age +\n ', \"alcohol\":\"' +\n this.casualty[0].alcohol +\n '\", \"allergies\":\"' +\n this.casualty[0].allergies +\n '\", \"allergydetails\":\"' +\n this.casualty[0].allergydetails +\n '\", \"medicinetaken\":\"' +\n this.casualty[0].medicinetaken +\n '\", \"medhist\":\"' +\n this.casualty[0].medhist +\n '\", \"flight\":\"' +\n this.casualty[0].flight +\n '\", \"seat\":\"' +\n this.casualty[0].seat +\n '\", \"arrivalairport\":\"' +\n this.casualty[0].arrivalairport +\n '\", \"lastmeal\":\"' +\n this.casualty[0].lastmeal +\n '\", \"detailsadded\":' +\n this.casualty[0].detailsadded +\n ', \"complaint\":\"' +\n this.casualty[0].complaint +\n '\", \"history\":\"' +\n this.casualty[0].history +\n '\", \"deleted\":0}';\n\n //console.log(\"[database.service.ts:430] \" + casualtyJSON);\n this.sendCasualty(JSON.parse(casualtyJSON)).subscribe((data) => {\n //console.log(\"Casualty Data streamed!\");\n });\n });\n }\n\n streamStart(avpu, a, b, c, u) {\n\n return new Promise((resolve, reject) => {\n var reportTime;\n let avpuStatus = \"\";\n let aStatus = \"\";\n let bStatus = \"\";\n let cStatus = \"\";\n let uStatus = \"\";\n\n switch (avpu) {\n case \"ALERT\":\n avpuStatus = \"-ok\";\n break;\n\n case \"RESPONDS TO VOICE\":\n avpuStatus = \"\";\n break;\n\n case \"RESPONDS TO PAIN\":\n avpuStatus = \"-warn\";\n break;\n\n case \"UNRESPONSIVE\":\n avpuStatus = \"-not-ok\";\n break;\n }\n\n if (a.indexOf(\"CLEAR\") !== -1) {\n aStatus = \"-ok\";\n } else {\n aStatus = \"-not-ok\";\n }\n\n if (b.indexOf(\"IRREGULAR\") === -1) {\n bStatus = \"-ok\";\n } else {\n bStatus = \"-not-ok\";\n }\n\n if (c.indexOf(\"PALE\") !== -1) {\n cStatus = \"-ok\";\n } else {\n cStatus = \"-not-ok\";\n }\n\n if (u.indexOf(\"YES\") === -1) {\n uStatus = \"-ok\";\n } else {\n uStatus = \"-not-ok\";\n }\n\n this.storage.get(\"sessionTime\").then((data) => {\n this.incidentTime = data;\n // console.log(\n // \"[database.service.ts:82] incidentTime: \" + this.incidentTime\n // );\n reportTime = this.getUnixTime();\n\n var sJSON =\n '{ \"incidentid\" : \"' +\n this.theSessionID +\n '\", \"username\" : \"TRTest\", \"incidenttime\" : ' +\n this.incidentTime +\n ', \"reporttime\" : ' +\n reportTime +\n ', \"latitude\" : \"' +\n this.gpsLat +\n '\", \"longitude\" : \"' +\n this.gpsLong +\n '\", \"AVPU\" : \"' +\n avpu +\n '\", \"avpustatus\" : \"' +\n avpuStatus +\n '\", \"A\" : \"' +\n a +\n '\", \"astatus\" :\"' +\n aStatus +\n '\", \"B\" : \"' +\n b +\n '\", \"bstatus\" :\"' +\n bStatus +\n '\", \"C\" : \"' +\n c +\n '\", \"cstatus\" :\"' +\n cStatus +\n '\", \"U\" : \"' +\n u +\n '\", \"ustatus\" :\"' +\n uStatus +\n '\", \"battery\" : 100, \"pluggedin\" : 1 , \"reportlog\" : \"test1\"}';\n\n console.log(\"JSON streamStart [628]:\", sJSON);\n //this.firstRun().then(() => {\n if (this.startStreamed === 0) {\n this.startStreamed = this.startStreamed + 1;\n console.log(\"Getting into streamSessionStart, startStreamed = \", this.startStreamed);\n this.streamSessionStart(JSON.parse(sJSON)).subscribe(\n (data) => {\n clearInterval(this.startupQueue);\n console.log(\"Incident Start Data streamed!\");\n // Update start items as sent\n this.database\n .executeSql(\n \"UPDATE reportdetail SET processing=?, reportsent=?, reportack=? WHERE reportid=?\",\n [this.startStreamed, this.getUnixTime(), this.getUnixTime(), this.theSessionID]\n )\n .then(() => {\n this.sessionStartedOK = true;\n this.startQueue();\n });\n },\n (err) => {\n this.sessionStartedOK = false;\n this.startStreamed = 0;\n this.startQueue();\n console.log(\"Session start not streamed!\", err);\n }\n );\n }\n //});\n });\n });\n }\n\n streamData(mType, eType, eVal1, eVal2?, repdetailid?) {\n console.log(\"streamData [634]: \", \"mType: \" + mType, \"eType: \" + eType, \"eVal1: \" + eVal1, \"eVal2: \" + eVal2, \"repdetailid: \" + repdetailid);\n return new Promise((resolve, reject) => {\n var reportTime;\n let avpuStatus = \"\";\n let aStatus = \"\";\n let bStatus = \"\";\n let cStatus = \"\";\n let uStatus = \"\";\n let sandsStatus = \"\";\n let treatmentStatus = \"\";\n\n this.storage.get(\"sessionTime\").then((data) => {\n this.incidentTime = data;\n reportTime = this.getUnixTime();\n\n switch (eType.toUpperCase()) {\n case \"AVPU\":\n switch (eVal1) {\n case \"ALERT\":\n avpuStatus = \"-ok\";\n break;\n\n case \"RESPONDS TO VOICE\":\n avpuStatus = \"\";\n break;\n\n case \"RESPONDS TO PAIN\":\n avpuStatus = \"-warn\";\n break;\n\n case \"UNRESPONSIVE\":\n avpuStatus = \"-not-ok\";\n break;\n }\n eVal2 = avpuStatus;\n\n break;\n\n case \"AIRWAY\":\n if (eVal1.indexOf(\"CLEAR\") !== -1) {\n aStatus = \"-ok\";\n } else {\n aStatus = \"-not-ok\";\n }\n eVal1 = \"AIRWAY<br>\" + eVal1;\n eVal2 = aStatus;\n break;\n\n case \"BREATHING\":\n if (eVal1.indexOf(\"IRREGULAR\") === -1) {\n bStatus = \"-ok\";\n } else {\n bStatus = \"-not-ok\";\n }\n eVal1 = \"BREATHING<br>\" + eVal1;\n eVal2 = bStatus;\n break;\n\n case \"CIRCULATION\":\n if (eVal1.indexOf(\"PALE\") !== -1) {\n cStatus = \"-ok\";\n } else {\n cStatus = \"-not-ok\";\n }\n eVal1 = \"CIRCULATION<br>\" + eVal1;\n eVal2 = cStatus;\n\n break;\n\n case \"UNCONSCIOUS\":\n eType = eType.toUpperCase();\n if (eVal1.indexOf(\"NO\") !== -1) {\n uStatus = \"-ok\";\n } else {\n uStatus = \"-not-ok\";\n }\n eVal1 = \"UNCONSCIOUS<br>\" + eVal1;\n eVal2 = uStatus;\n break;\n\n case \"AED\":\n case \"WERE SHOCKS GIVEN?\":\n case \"OXYGEN\":\n case \"BAG VALVE MASK\":\n case \"CLEAR AIRWAY\":\n case \"CONTROL OF BLEEDING\":\n case \"CPR\":\n case \"WAS PULSE RESTORED?\":\n case \"WAS RESPIRATION RESTORED?\":\n case \"WAS CONSCIOUSNESS REGAINED?\":\n case \"HEAD TILT/CHIN LIFT\":\n case \"JAW THRUST\":\n case \"MEDICINE GIVEN\":\n case \"MOVE PATIENT\":\n case \"OROPHARYNGEAL AIRWAY\":\n case \"SUCTION\":\n //Treatments\n eType = eType.toUpperCase();\n if (eVal1.indexOf(\"YES\") !== -1) {\n //eVal1 = \"\"\n }\n break;\n\n case \"HEART RATE\":\n case \"RESPIRATORY RATE\":\n case \"OXYGEN SATURATION\":\n case \"BLOOD PRESSURE\":\n case \"TEMPERATURE\":\n console.log(\"eType:\", eType, \"eVal1:\", eVal1);\n eVal1 = eVal1;\n break;\n\n default:\n console.log(eVal1);\n eVal1 = eType.toUpperCase() + \"<br>\" + eVal1;\n }\n\n eVal2 = !eVal2 ? \"\" : eVal2;\n\n var sJSON =\n '{ \"incidentid\" : \"' +\n this.theSessionID +\n '\", \"username\" : \"TRTest\", \"incidenttime\" : ' +\n this.incidentTime +\n ', \"reporttime\" : ' +\n reportTime +\n ', \"latitude\" : \"' +\n this.gpsLat +\n '\", \"longitude\" : \"' +\n this.gpsLong +\n '\", \"message_type\" : \"' +\n mType +\n '\", \"entry_type\" : \"' +\n eType +\n '\", \"entry_val1\" : \"' +\n eVal1 +\n '\", \"entry_val2\" : \"' +\n eVal2 +\n '\", \"battery\" : 100, \"pluggedin\" : 1 , \"reportlog\" : \"test1\"}';\n\n //Duplication prevention - Adding string which contains the transaction currently being requested to be queued/sent minus the reporttime (time the transaction was queued to be sent).\n //This is then compared to the last transaction sent and if the same, is ignored.\n var sCompare = '{ \"incidentid\" : \"' +\n this.theSessionID +\n '\", \"username\" : \"TRTest\", \"incidenttime\" : ' +\n this.incidentTime +\n ', \"reporttime\" : ' +\n this.gpsLat +\n '\", \"longitude\" : \"' +\n this.gpsLong +\n '\", \"message_type\" : \"' +\n mType +\n '\", \"entry_type\" : \"' +\n eType +\n '\", \"entry_val1\" : \"' +\n eVal1 +\n '\", \"entry_val2\" : \"' +\n eVal2 +\n '\", \"battery\" : 100, \"pluggedin\" : 1 , \"reportlog\" : \"test1\"}';\n\n console.log(\"[database.service.ts:765] \" + sJSON);\n if (this.dataStreamed !== sCompare) {\n this.dataStreamed = sCompare;\n this.streamObs(JSON.parse(sJSON)).subscribe(\n (data) => {\n console.log(\"Getting inside streamObs, startStreamed = \", this.dataStreamed);\n resolve();\n console.log(\"streamObs data returned:\", data);\n if (repdetailid) {\n this.database\n .executeSql(\n \"UPDATE reportdetail SET processing=?, reportack=? WHERE repdetailid=?\",\n [this.dataStreamed, this.getUnixTime(), repdetailid]\n )\n .then(() => {\n this.sessionStartedOK = true;\n this.startQueue();\n });\n }\n console.log(\"Data streamed!\");\n },\n (err) => {\n this.dataStreamed = \"\";\n console.log(\"Not streamed:\", err);\n }\n );\n }\n });\n });\n }\n\n // logECG() {\n // this.streamData(\"C\", \"ECG\", \"1\");\n // }\n\n getAck() { }\n\n updateLocalTyping() { }\n\n updateRemoteTyping() { }\n\n // ****** END OF API FUNCTIONS ******\n\n // *******************************\n // ****** DATABASE FUNCTIONS ******\n // *******************************\n\n getDatabaseState() {\n return this.dbReady.asObservable();\n }\n\n processGroundChat(chat) {\n return new Promise(async (resolve, reject) => {\n for (var i = 0; i < chat.groundChats.length; i++) {\n await this.database\n .executeSql(\"SELECT * FROM chats WHERE msgjson=?\", [\n JSON.stringify(chat.groundChats[i]),\n ])\n .then((data) => {\n if (data.rows.length === 0) {\n //Insert it into the chats table on Aiber\\\n this.database.executeSql(\n \"INSERT INTO chats (incidentid, controlmsg, msgtime, msgjson, deleted) VALUES(?,?,?,?,?)\",\n [\n chat.groundChats[i].incidentid,\n chat.groundChats[i].controlmsg,\n chat.groundChats[i].msgtime,\n JSON.stringify(chat.groundChats[i]),\n 0,\n ]\n );\n // .then(() => {\n // console.log(`Chat ${i} has been inserted!`);\n // });\n }\n });\n }\n resolve();\n });\n }\n\n async getAllChat() {\n return this.database\n .executeSql(\n \"SELECT * FROM chats WHERE incidentid=? AND controlmsg IS NOT NULL AND deleted=0 ORDER BY msgtime\",\n [this.theSessionID]\n )\n .then((data) => {\n return data;\n });\n }\n\n getATMISTObs() {\n this.theSQL =\n \"SELECT * FROM reportdetail WHERE reportid='\" +\n this.theSessionID +\n \"' AND entrytype='injuries' AND deleted=0 ORDER BY entrylogged\";\n //console.log(\"Signs: \" + this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let atmistInjuries = [];\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n atmistInjuries.push({\n atmistEntryLogged: data.rows.item(i).entrylogged.substr(11),\n atmistSign: data.rows.item(i).entryname,\n atmistValue: data.rows.item(i).entryvalue,\n atmistSignLine:\n data.rows.item(i).entrylogged.substr(11) +\n \" \" +\n data.rows.item(i).entryname +\n \": \" +\n data.rows.item(i).entryvalue,\n });\n }\n }\n return atmistInjuries;\n },\n (err) => {\n //console.log(\"getATMISTSigns error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n async clearDatabase() {\n this.theSQL = [\n \"DELETE FROM casualtydetails\",\n \"DELETE FROM reports\",\n \"DELETE FROM reportdetail\",\n \"DELETE FROM chats\",\n ];\n\n this.database.sqlBatch(this.theSQL).then(() => {\n console.warn(\"clearDatabase completed\");\n });\n\n return await true;\n }\n\n getUnixTime() {\n var ud = new Date();\n var unixTime = (ud.getTime() / 1000) | 0;\n return unixTime;\n }\n\n getTimeFromUnixTime(unixTimestamp) {\n var dateObj = new Date(unixTimestamp * 1000);\n //TODO - make ALL dates and times UTC\n //so, remove the line immediately below this\n //which is currently adding one hour for BST\n //dateObj.setHours(dateObj.getHours() + 1);\n var returnString =\n this.addZero(dateObj.getHours()) +\n \":\" +\n this.addZero(dateObj.getMinutes()) +\n \":\" +\n this.addZero(dateObj.getSeconds());\n return returnString;\n }\n\n addZero(i) {\n if (i < 10) {\n i = \"0\" + i;\n }\n return i;\n }\n\n getCurrentTime() {\n var d = new Date();\n\n //console.log(d);\n var theDate = \"\";\n var theMonth: number;\n theDate = d.getFullYear() + \"-\";\n theMonth = d.getMonth();\n theMonth++; //Javascript months are zero based, so January is 0, March is 2, etc. so we have to add 1 to get the Gregorian month number\n if (theMonth < 10) {\n theDate += \"0\" + theMonth + \"-\";\n } else {\n theDate += theMonth + \"-\";\n }\n\n if (d.getDate() < 10) {\n theDate += \"0\" + d.getDate();\n } else {\n theDate += d.getDate();\n }\n theDate += \" \";\n\n if (d.getHours() < 10) {\n theDate += \"0\" + d.getHours();\n } else {\n theDate += d.getHours();\n }\n theDate += \":\";\n\n if (d.getMinutes() < 10) {\n theDate += \"0\" + d.getMinutes();\n } else {\n theDate += d.getMinutes();\n }\n theDate += \":\";\n\n if (d.getSeconds() < 10) {\n theDate += \"0\" + d.getSeconds();\n } else {\n theDate += d.getSeconds();\n }\n\n return theDate;\n }\n\n updateCasualtyDetails() {\n //console.log(\"Updated casualty details [710]\", this.casualty[0]);\n var theSaveTime = this.getUnixTime();\n //console.log(theSaveTime);\n this.casualty[0].detailsadded = theSaveTime.toString();\n this.database\n .executeSql(\n \"UPDATE casualtydetails SET gender=?, dob=?, age=?, alcohol=?, allergies=?, allergydetails=?, medicinetaken=?, medhist=?, flight=?, seat=?, arrivalairport=?, lastmeal=?, detailsadded=? WHERE reportid=?\",\n [\n this.casualty[0].gender,\n this.casualty[0].dob,\n this.casualty[0].age,\n this.casualty[0].alcohol,\n this.casualty[0].allergies,\n this.casualty[0].allergydetails,\n this.casualty[0].medicinetaken,\n this.casualty[0].medhist,\n this.casualty[0].flight,\n this.casualty[0].seat,\n this.casualty[0].arrivalairport,\n this.casualty[0].lastmeal,\n this.casualty[0].detailsadded,\n this.theSessionID,\n ]\n )\n .then((result) => {\n this.database\n .executeSql(\"UPDATE reports SET complaint=? WHERE sessionid=?\", [\n this.casualty[0].complaint,\n this.theSessionID,\n ])\n .then(() => {\n this.database\n .executeSql(\"UPDATE reports SET history=? WHERE sessionid=?\", [\n this.casualty[0].history,\n this.theSessionID,\n ])\n .then(() => {\n //stream casualty details\n this.streamCasualty();\n });\n });\n });\n }\n\n startSession(avpu, a, b, c, con) {\n //Store these in case the start doesn't get through.\n this.startAVPU = avpu;\n this.startA = a;\n this.startB = b;\n this.startC = c;\n this.startCon = con;\n\n //console.log(this.getCurrentTime());\n var theTime = this.getCurrentTime();\n this.theBattery = 999;\n var theSessionTime = this.getUnixTime();\n this.theSessionID = this.device.uuid + \"-\" + theSessionTime;\n this.storage.set(\"sessionID\", this.theSessionID);\n this.storage.set(\"sessionTime\", theSessionTime);\n this.storage.get(\"sessionID\").then((data) => {\n //console.log(\"[database.service.ts:226] SessionID:\" + data);\n //console.log(\"[database.service.ts:228] SessionID:\" + this.theSessionID);\n });\n this.storage.get(\"sessionTime\").then((data) => {\n this.incidentTime = data;\n //console.log(\"[database.service.ts:233] SessionTime:\" + data);\n });\n //Now save the first set of information, AVPU, ABC, Consciousness, etc.\n this.theSQL =\n \"INSERT INTO reports(sessionid, loggedat, batterystatus, gpslat, gpslong, deleted) VALUES('\" +\n this.theSessionID +\n \"', '\" +\n theTime +\n \"', \" +\n this.theBattery +\n \", '\" +\n this.gpsLat +\n \"', '\" +\n this.gpsLong +\n \"', 0)\";\n //console.log(this.theSQL);\n this.database.executeSql(this.theSQL, []).then(\n (data) => {\n this.database\n .executeSql(\"INSERT into casualtydetails (reportid) VALUES(?)\", [\n this.theSessionID,\n ])\n .then(() => {\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"S\",\n \"injuries\",\n \"AVPU\",\n avpu.replace(\"<br>\", \" \"),\n theTime,\n 0,\n ]\n )\n .then(() => {\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"injuries\",\n \"Airway\",\n a.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"injuries\",\n \"Breathing\",\n b.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"injuries\",\n \"Circulation\",\n c.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"injuries\",\n \"Has been unconscious?\",\n con.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n let avpuStatus = \"\";\n let aStatus = \"\";\n let bStatus = \"\";\n let cStatus = \"\";\n let uStatus = \"\";\n //AVPU status\n //switch(avpu.replace(\"<br>\"))\n // console.log(\n // \"Line 867 about to fire streamStart with: \" +\n // avpu.replace(\"<br>\", \" \"),\n // \"AIRWAY<br>\" + a.toUpperCase(),\n // \"BREATHING<br>\" + b.toUpperCase(),\n // \"CIRCULATION<br>\" + c.toUpperCase(),\n // \"UNCONSCIOUS<br>\" + con.toUpperCase()\n // );\n\n // this.streamStart(\n // avpu.replace(\"<br>\", \" \"),\n // \"AIRWAY<br>\" + a.toUpperCase(),\n // \"BREATHING<br>\" + b.toUpperCase(),\n // \"CIRCULATION<br>\" + c.toUpperCase(),\n // \"UNCONSCIOUS<br>\" + con.toUpperCase()\n // );\n });\n });\n });\n });\n });\n });\n },\n (err) => {\n console.log(\"Error: \", err);\n return err;\n }\n );\n }\n\n fixSQL(incomingSQL: string) {\n return new Promise((resolve, reject) => {\n incomingSQL = incomingSQL.replace(/\\'/g, \"''\");\n //return ;\n resolve(incomingSQL);\n });\n }\n\n saveHistory(hOI) {\n hOI = this.fixSQL(hOI).then((history) => {\n var sSQL =\n \"UPDATE reports SET history='\" +\n history +\n \"' WHERE sessionid='\" +\n this.theSessionID +\n \"'\";\n //console.log(sSQL);\n this.database.executeSql(sSQL, []);\n });\n }\n\n updateBattery(batteryLevel) {\n var sSQL =\n \"UPDATE reports SET batterystatus=\" +\n batteryLevel +\n \" WHERE sessionid='\" +\n this.theSessionID +\n \"'\";\n //console.log(sSQL);\n this.database.executeSql(sSQL, []);\n }\n\n saveAVPU(avpu) {\n var theTime = this.getCurrentTime();\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"sands\", \"AVPU\", avpu, theTime, 0]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", \"AVPU\", avpu);\n });\n return;\n }\n\n saveABC(abc, abcVal, statusVal?) {\n var theTime = this.getCurrentTime();\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"sands\",\n abc,\n abcVal\n .replace(abc.toUpperCase(), \"\")\n .replace(\"<br>\", \"\")\n .toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", abc, abcVal, statusVal);\n });\n return;\n }\n\n saveVital(vital, vitalVal, statusVal?) {\n var theTime = this.getCurrentTime();\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entryvalue2, entrylogged, deleted) VALUES(?,?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"sands\", vital, vitalVal, statusVal, theTime, 0]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", vital, vitalVal, statusVal);\n });\n return;\n }\n\n saveSandS(sands, sandsVal, statusVal?) {\n var theTime = this.getCurrentTime();\n console.log(\"From saveSandS [1228]:\", sands, sandsVal, statusVal);\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entryvalue2, entrylogged, deleted) VALUES(?,?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"sands\",\n this.toTitleCase(sands),\n sandsVal\n .replace(sands.toUpperCase(), \"\")\n .replace(\"<br>\", \"\")\n .toUpperCase(),\n statusVal,\n theTime,\n 0,\n ]\n )\n .then(() => {\n if (sands === \"UNCONSCIOUS\" && sandsVal === \"NO\") {\n sandsVal = \"NOT UNCONSCIOUS\";\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", sands, sandsVal, statusVal);\n } else {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", sands, sandsVal, statusVal);\n }\n });\n return;\n }\n\n saveWitnessed(witnessed) { }\n\n toTitleCase(incoming: string) {\n let outgoing = \"\";\n //Check it's not a word in the reserved list\n if (incoming !== \"CPR\" && incoming !== \"AVPU\" && incoming !== \"AED\") {\n let firstChar = incoming.substr(0, 1).toUpperCase();\n let restOfString = incoming.slice(1).toLowerCase();\n outgoing = firstChar + restOfString;\n } else {\n outgoing = incoming;\n }\n return outgoing;\n }\n saveTreatment(treatment, treatmentVal) {\n var theTime = this.getCurrentTime();\n var theTreatment = \"\";\n if (treatmentVal === \"tgSelected\") {\n theTreatment = \"administered\";\n } else {\n theTreatment = \"removed\";\n }\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"treatment\",\n this.toTitleCase(treatment),\n theTreatment.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", treatment, theTreatment.toUpperCase());\n });\n return;\n }\n\n saveAEDShocks(shocks: string) {\n var theTime = this.getCurrentTime();\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"treatment\",\n \"Were shocks given?\",\n shocks.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", \"Were shocks given?\", shocks.toUpperCase());\n });\n return;\n }\n\n savePulseRestored(pulse: string) {\n var theTime = this.getCurrentTime();\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"treatment\",\n \"Was pulse restored?\",\n pulse.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", \"Was pulse restored?\", pulse.toUpperCase());\n });\n return;\n }\n\n saveRespirationRestored(resps: string) {\n var theTime = this.getCurrentTime();\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"treatment\",\n \"Was respiration restored?\",\n resps.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", \"Was respiration restored?\", resps.toUpperCase());\n });\n return;\n }\n\n saveConsciousnessRegained(conc: string) {\n var theTime = this.getCurrentTime();\n\n this.database\n .executeSql(\n \"INSERT INTO reportdetail (reportid, messagetype, entrytype, entryname, entryvalue, entrylogged, deleted) VALUES(?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n \"C\",\n \"treatment\",\n \"Was consciousness regained?\",\n conc.toUpperCase(),\n theTime,\n 0,\n ]\n )\n .then(() => {\n // Removed streaming from LIVE updates, left to QueueManager\n //this.streamData(\"C\", \"Was consciousness regained?\", conc.toUpperCase());\n });\n return;\n }\n\n saveCasualty(\n casComplaint,\n casFName,\n casLName,\n casDOB,\n casAge,\n casGender,\n casHomeAddress,\n casFlight,\n casSeat,\n casAirport,\n casLastMeal,\n casAlcohol,\n casAllergyAnswer,\n casAllergyDetails,\n casMedicine,\n casMedicalHistory\n ) {\n var theTime = this.getCurrentTime();\n\n //First thing; before saving the casualty's details, check to see if they've already been saved and if so, update the existing record.\n this.theSQL =\n \"SELECT * FROM casualtydetails WHERE deleted=0 AND reportid='\" +\n this.theSessionID +\n \"'\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n if (data.rows.length > 0) {\n //If there is a row, then there is a patient, so update the record\n //console.log(\"Updating existing details\");\n let internalSQL =\n \"UPDATE casualtydetails SET fname='\" +\n casFName +\n \"', lname='\" +\n casLName +\n \"', address='\" +\n casHomeAddress +\n \"', gender='\" +\n casGender +\n \"', dob='\" +\n casDOB +\n \"', age=\" +\n casAge +\n \", alcohol='\" +\n casAlcohol +\n \"', allergies='\" +\n casAllergyAnswer +\n \"', allergydetails='\" +\n casAllergyDetails +\n \"', medicinetaken='\" +\n casMedicine +\n \"', medhist='\" +\n casMedicalHistory +\n \"', flight='\" +\n casFlight +\n \"', seat='\" +\n casSeat +\n \"', arrivalairport='\" +\n casAirport +\n \"', lastmeal='\" +\n casLastMeal +\n \"', detailsadded='\" +\n theTime +\n \"' WHERE reportid='\" +\n this.theSessionID +\n \"'\";\n //console.log(\"internalSQL: \" + internalSQL);\n this.database.executeSql(internalSQL, []).then(() => {\n //update the complaint on the report\n var theSQL =\n \"UPDATE reports SET complaint='\" +\n casComplaint +\n \"' WHERE sessionid='\" +\n this.theSessionID +\n \"'\";\n //console.log(\"The SQL from the update is: \" + theSQL);\n this.database.executeSql(theSQL, []).then(() => {\n return;\n });\n return;\n });\n } else {\n //There is no patient saved; insert the details\n //console.log(\"Inserting new details\");\n this.database\n .executeSql(\n \"INSERT INTO casualtydetails (reportid, fname, lname, address, gender, dob, age, alcohol, allergies, allergydetails, medicinetaken, medhist, flight, seat, arrivalairport, lastmeal, detailsadded, deleted) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)\",\n [\n this.theSessionID,\n casFName,\n casLName,\n casHomeAddress,\n casGender,\n casDOB,\n casAge,\n casAlcohol,\n casAllergyAnswer,\n casAllergyDetails,\n casMedicine,\n casMedicalHistory,\n casFlight,\n casSeat,\n casAirport,\n casLastMeal,\n theTime,\n 0,\n ]\n )\n .then(() => {\n //update the complaint on the report\n var theSQL =\n \"UPDATE reports SET complaint='\" +\n casComplaint +\n \"' WHERE sessionid='\" +\n this.theSessionID +\n \"'\";\n //console.log(\"The SQL from the insert is: \" + theSQL);\n this.database.executeSql(theSQL, []).then(() => {\n return;\n });\n return;\n });\n }\n },\n (err) => {\n /*console.log(\n \"Error from saving casualty details: \" + JSON.stringify(err)\n );*/\n return [];\n }\n );\n }\n\n clearSession() {\n this.theSessionID = null;\n }\n\n getCasualtyDetails() {\n this.theSQL =\n \"SELECT * FROM reports WHERE sessionid='\" + this.theSessionID + \"'\";\n //console.log(\"theSQL: \", this.theSQL);\n this.database.executeSql(this.theSQL, []).then(\n (data) => {\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n this.theCasComplaint = data.rows.item(i).complaint;\n }\n }\n return;\n },\n (err) => {\n //console.log(\"getCasualtyDetails error: \" + JSON.stringify(err));\n return [];\n }\n );\n\n this.theSQL =\n \"SELECT * FROM casualtydetails WHERE reportid='\" +\n this.theSessionID +\n \"'\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let casDetails = [];\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n casDetails.push({\n casFName: data.rows.item(i).fname,\n casLName: data.rows.item(i).lname,\n casHomeAddress: data.rows.item(i).address,\n casGender: data.rows.item(i).gender,\n casDOB: data.rows.item(i).dob,\n casAge: data.rows.item(i).age,\n casAlcohol: data.rows.item(i).alcohol,\n casAllergyAnswer: data.rows.item(i).allergies,\n casAllergyDetails: data.rows.item(i).allergydetails,\n casMedicine: data.rows.item(i).medicinetaken,\n casMedicalHistory: data.rows.item(i).medhist,\n casFlight: data.rows.item(i).flight,\n casSeat: data.rows.item(i).seat,\n casAirport: data.rows.item(i).arrivalairport,\n casLastMeal: data.rows.item(i).lastmeal,\n casComplaint: this.theCasComplaint,\n });\n }\n }\n return casDetails;\n },\n (err) => {\n //console.log(\"getCasualtyDetails error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n getCasualtyAge() {\n this.theSQL =\n \"SELECT * FROM casualtydetails WHERE reportid='\" +\n this.theSessionID +\n \"'\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let casDetails = [];\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n casDetails.push({\n casAge: data.rows.item(i).age,\n casFirstName: data.rows.item(i).fname,\n casLastName: data.rows.item(i).lname,\n casFullName:\n data.rows.item(i).fname + \" \" + data.rows.item(i).lname,\n casGender: data.rows.item(i).gender,\n });\n }\n }\n return casDetails;\n },\n (err) => {\n //console.log(\"getCasAge error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n formatDateProperly(incoming: string) {\n let theYear = incoming.substr(0, 4);\n let theMonth = incoming.substr(5, 2);\n let theDate = incoming.substr(8, 2);\n let theHour = incoming.substr(11, 2);\n let theMinute = incoming.substr(14, 2);\n let theSecond = incoming.substr(17, 2);\n\n let outgoing = theDate + \"/\" + theMonth + \"/\" + theYear + \" \";\n outgoing += theHour + \":\" + theMinute + \":\" + theSecond;\n return outgoing;\n }\n\n formatDateNLG(incoming: string) {\n let theYear = incoming.substr(0, 4);\n let theMonth = incoming.substr(5, 2);\n let theDate = incoming.substr(8, 2);\n let theHour = incoming.substr(11, 2);\n let theMinute = incoming.substr(14, 2);\n let theSecond = incoming.substr(17, 2);\n\n let outgoing = theHour + \":\" + theMinute + \" (\" + theDate + \"/\";\n outgoing += theMonth + \"/\" + theYear + \")\";\n return outgoing;\n }\n\n getATMISTAVPU() {\n this.theSQL =\n \"SELECT * FROM reportdetail WHERE reportid='\" +\n this.theSessionID +\n \"' ORDER BY entrylogged\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let avpudetail = [];\n if (data.rows.length > 0) {\n avpudetail.push({\n atmistAVPU: data.rows.item(0).entryvalue,\n atmistA: data.rows.item(1).entryvalue,\n atmistB: data.rows.item(2).entryvalue,\n atmistC: data.rows.item(3).entryvalue,\n atmistCons: data.rows.item(4).entryvalue,\n });\n }\n return avpudetail;\n },\n (err) => {\n //console.log(\"getATMISTAVPU error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n getATMISTTOI() {\n this.theSQL =\n \"SELECT * FROM reports WHERE sessionid='\" +\n this.theSessionID +\n \"' ORDER BY loggedat\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let reportdetail = [];\n if (data.rows.length > 0) {\n var theProperTOI = this.formatDateProperly(\n data.rows.item(0).loggedat\n );\n var theNLGTOI = this.formatDateNLG(data.rows.item(0).loggedat);\n reportdetail.push({\n atmistTOI: theProperTOI,\n atmistNLGTOI: theNLGTOI,\n atmistComplaint: data.rows.item(0).complaint,\n atmistInjuries: data.rows.item(0).history,\n });\n }\n return reportdetail;\n },\n (err) => {\n //console.log(\"getATMISTTOI error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n getATMISTInjuries() {\n this.theSQL =\n \"SELECT * FROM reportdetail WHERE reportid='\" +\n this.theSessionID +\n \"' AND entrytype='injuries' AND deleted=0 ORDER BY entrylogged\";\n //console.log(\"Signs: \" + this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let atmistInjuries = [];\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n atmistInjuries.push({\n atmistEntryLogged: data.rows.item(i).entrylogged.substr(11),\n atmistSign: data.rows.item(i).entryname,\n atmistValue: data.rows.item(i).entryvalue,\n atmistSignLine:\n data.rows.item(i).entrylogged.substr(11) +\n \" \" +\n data.rows.item(i).entryname +\n \": \" +\n data.rows.item(i).entryvalue,\n });\n }\n }\n return atmistInjuries;\n },\n (err) => {\n //console.log(\"getATMISTSigns error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n getATMISTSigns() {\n this.theSQL =\n \"SELECT * FROM reportdetail WHERE reportid='\" +\n this.theSessionID +\n \"' AND entrytype='sands' AND deleted=0 ORDER BY entrylogged\";\n //console.log(\"Signs: \" + this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let atmistSigns = [];\n let atmistValue = \"\";\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n atmistValue = \"\";\n if (data.rows.item(i).entryvalue.indexOf(\".\") !== -1) {\n atmistValue =\n data.rows.item(i).entrylogged.substr(11) +\n \" \" +\n data.rows.item(i).entryname +\n \": \" +\n data.rows.item(i).entryvalue.replace(\".\", \"<sup>.</sup>\");\n } else {\n atmistValue =\n data.rows.item(i).entrylogged.substr(11) +\n \" \" +\n data.rows.item(i).entryname +\n \": \" +\n data.rows.item(i).entryvalue;\n }\n atmistSigns.push({\n atmistEntryLogged: data.rows.item(i).entrylogged.substr(11),\n atmistSign: data.rows.item(i).entryname,\n atmistValue: data.rows.item(i).entryvalue,\n atmistSignLine: atmistValue,\n });\n }\n }\n return atmistSigns;\n },\n (err) => {\n //console.log(\"getATMISTSigns error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n getATMISTTreatment() {\n this.theSQL =\n \"SELECT * FROM reportdetail WHERE reportid='\" +\n this.theSessionID +\n \"' AND entrytype='treatment' AND deleted=0 ORDER BY entrylogged\";\n //console.log(this.theSQL);\n return this.database.executeSql(this.theSQL, []).then(\n (data) => {\n let atmistTreatment = [];\n if (data.rows.length > 0) {\n for (var i: number = 0; i < data.rows.length; i++) {\n atmistTreatment.push({\n atmistEntryLogged: data.rows.item(i).entrylogged.substr(11),\n atmistTreatment: data.rows.item(i).entryname,\n atmistValue: data.rows.item(i).entryvalue,\n });\n }\n } else {\n atmistTreatment.push({\n atmistEntryLogged: \"\",\n atmistTreatment: \"No treatmeants logged yet\",\n atmistValue: \"\",\n });\n }\n return atmistTreatment;\n },\n (err) => {\n //console.log(\"getATMISTTreatment error: \" + JSON.stringify(err));\n return [];\n }\n );\n }\n\n // ****** END OF DATABASE FUNCTIONS ******\n}\n","/**\n * v1.0.0 - 22/09/2020 - FIRST RELEASE\n * v1.0.1 - 30/09/2020 - Patched after first test cycle\n * v1.0.2 - 06/11/2020 - Patched after User Validation\n */\n\nimport { Injectable } from \"@angular/core\";\nimport \"rxjs/add/operator/map\";\nimport { Geolocation } from \"@ionic-native/geolocation/ngx\";\n@Injectable({\n providedIn: \"root\",\n})\nexport class GetlocationService {\n public myLat = 0;\n public myLong = 0;\n public myCoords;\n\n constructor(public geolocation: Geolocation) { }\n getMyLocation() {\n //First job, get my current GPS location\n //console.log(\"Getting location\");\n return this.geolocation\n .getCurrentPosition({ timeout: 1000 })\n .then((resp) => {\n //console.log(\"Getting here!\");\n this.myLat = resp.coords.latitude;\n this.myLong = resp.coords.longitude;\n //for debug in simulator, hardcode these\n //this.myLat = 57.697780;\n //this.myLong = -3.987871;\n //console.log(\"31:My Co-ords are: \" + this.myLat + \" | \" + this.myLong);\n //alert(\"31:My Co-ords are: \" + this.myLat + \" | \" + this.myLong);\n this.myCoords = { theLAT: this.myLat, theLONG: this.myLong };\n return this.myCoords;\n })\n .catch((e) => {\n //console.log(\"Error from getMyLocation!\");\n //console.log(e.message);\n this.myLat = 57.69778;\n this.myLong = -3.987871;\n //console.log(\"40:My Co-ords are: \" + this.myLat + \" | \" + this.myLong);\n //alert(\"40:My Co-ords are: \" + this.myLat + \" | \" + this.myLong);\n this.myCoords = { theLAT: this.myLat, theLONG: this.myLong };\n return this.myCoords;\n });\n }\n}\n","/**\n * v1.0.0 - 22/09/2020 - FIRST RELEASE\n * v1.0.1 - 30/09/2020 - Patched after first test cycle\n * v1.0.2 - 06/11/2020 - Patched after User Validation\n */\n\nimport { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class AppGlobals {\n readonly appConfig = {\n personLabel: \"PAX\",\n personLocation: \"seat\",\n supportLocation: \"ground\",\n personDestinationCentre: \"airport\",\n staffType: \"cabin crew\",\n };\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"sourceRoot":"webpack:///"}