From 8cfc608488baa7d578c4242cca6af1458d793d56 Mon Sep 17 00:00:00 2001 From: Haim Kastner Date: Tue, 12 Nov 2019 17:18:24 +0200 Subject: [PATCH 1/8] Update LINUX.md --- docs/LINUX.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/LINUX.md b/docs/LINUX.md index b42d7347..791a0d1f 100644 --- a/docs/LINUX.md +++ b/docs/LINUX.md @@ -49,7 +49,7 @@ Then edit real environments by ```nano .env``` or any other text editor. > The Orange pi armbian image, changes his mac address each boot, so I recommend to get the mac address and set it to the `PHYSICAL_ADDRESS` environment variable, else the default username and the identity against a [remote server](https://github.com/casanet/remote-server) will change each boot. -### Exist window +### Exit from the tmux window press `ctrl` + `b` + `d` to exit from the tmux window. # Configure autostart on boot. From bb3adffc20d1d11d62cad05a0ec01b41eba320c7 Mon Sep 17 00:00:00 2001 From: haim kastner Date: Tue, 17 Dec 2019 19:34:55 +0200 Subject: [PATCH 2/8] Add Welcome Message --- backend/dist/index.js | 18 ++++++++++++++++++ backend/dist/index.js.map | 2 +- backend/src/index.ts | 21 +++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/backend/dist/index.js b/backend/dist/index.js index 0addd4dd..9bdfc5b6 100644 --- a/backend/dist/index.js +++ b/backend/dist/index.js @@ -1,5 +1,23 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +const welcomeMessage = ` + .:: .: .:: :: .: .::: .::.::::::::.::: .:::::: + .:: .:: .: :: .:: .:: .: :: .: .:: .::.:: .:: +.:: .: .:: .:: .: .:: .:: .:: .::.:: .:: +.:: .:: .:: .:: .:: .:: .:: .:: .::.:::::: .:: +.:: .:::::: .:: .:: .:::::: .:: .:: .: .::.:: .:: + .:: .:: .:: .:: .:: .:: .:: .:: .:: .: ::.:: .:: + .:::: .:: .:: .:: :: .:: .::.:: .::.:::::::: .:: + + + '||' '|| .|'''.| + || ... .... .... || ||.. ' .... ... .. .... ... .... ... .. + || .| '|. .| '' '' .|| || ''|||. .|...|| ||' '' '|. | .|...|| ||' '' + || || || || .|' || || . '|| || || '|.| || || + .||.....| '|..|' '|...' '|..'|' .||. |'....|' '|...' .||. '| '|...' .||. + +`; +console.log('\x1b[34m', welcomeMessage, '\x1b[0m'); const fs = require("fs"); const http = require("http"); const https = require("https"); diff --git a/backend/dist/index.js.map b/backend/dist/index.js.map index 8cba3e66..00534112 100644 --- a/backend/dist/index.js.map +++ b/backend/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAAwB;AACxB,qCAAyC;AACzC,+CAA4C;AAE5C,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,yBAAyB;AACzB,IAAI,CAAC,YAAY,CAAC,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC5D,eAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,sBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,YAAY;AACZ,IAAI,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC7B,IAAI;QACA,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAwB;YACpC,GAAG;YACH,IAAI;YACJ,EAAE;SACL,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1E,eAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,sBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,KAAK,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;CACJ"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GACpB;;;;;;;;;;;;;;;;CAgBC,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAEnD,yBAAyB;AACzB,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAAwB;AACxB,qCAAyC;AACzC,+CAA4C;AAE5C,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,yBAAyB;AACzB,IAAI,CAAC,YAAY,CAAC,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC5D,eAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,sBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,YAAY;AACZ,IAAI,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC7B,IAAI;QACA,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAwB;YACpC,GAAG;YACH,IAAI;YACJ,EAAE;SACL,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1E,eAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,sBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,KAAK,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;CACJ"} \ No newline at end of file diff --git a/backend/src/index.ts b/backend/src/index.ts index 01759642..111fea61 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,3 +1,24 @@ +const welcomeMessage = +` + .:: .: .:: :: .: .::: .::.::::::::.::: .:::::: + .:: .:: .: :: .:: .:: .: :: .: .:: .::.:: .:: +.:: .: .:: .:: .: .:: .:: .:: .::.:: .:: +.:: .:: .:: .:: .:: .:: .:: .:: .::.:::::: .:: +.:: .:::::: .:: .:: .:::::: .:: .:: .: .::.:: .:: + .:: .:: .:: .:: .:: .:: .:: .:: .:: .: ::.:: .:: + .:::: .:: .:: .:: :: .:: .::.:: .::.:::::::: .:: + + + '||' '|| .|'''.| + || ... .... .... || ||.. ' .... ... .. .... ... .... ... .. + || .| '|. .| '' '' .|| || ''|||. .|...|| ||' '' '|. | .|...|| ||' '' + || || || || .|' || || . '|| || || '|.| || || + .||.....| '|..|' '|...' '|..'|' .||. |'....|' '|...' .||. '| '|...' .||. + +`; + +console.log('\x1b[34m', welcomeMessage ,'\x1b[0m'); + import * as fs from 'fs'; import * as http from 'http'; import * as https from 'https'; From c6365dbd4de0918d86a55f7316579f7eb6706058 Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 04:48:48 +0200 Subject: [PATCH 3/8] Make better CI process with code lint and tests #94 --- .gitignore | 4 +- .travis.yml | 24 + README.md | 6 + backend/.prettierrc | 5 + backend/.vscode/launch.json | 16 +- backend/README.md | 52 +- backend/e2e/authRoute.spec.ts | 94 -- backend/e2e/devicesRoute.spec.ts | 57 - backend/e2e/minionsRoute.spec.ts | 224 --- backend/e2e/operationsRoute.spec.ts | 103 -- backend/e2e/prepareRoutesSpecTests.spec.ts | 159 -- backend/e2e/remoteConnectionRoute.spec.ts | 81 - backend/e2e/timingsRoute.spec.ts | 80 - backend/e2e/usersRoute.spec.ts | 153 -- backend/e2e/vulnerability.spec.ts | 34 - backend/package-lock.json | 1323 ++++++++++++++++- backend/package.json | 21 +- backend/src/app.ts | 272 ++-- backend/src/business-layer/authBl.ts | 281 ++-- backend/src/business-layer/calibrateBl.ts | 141 +- backend/src/business-layer/devicesBl.ts | 158 +- .../src/business-layer/iftttIntegrationBl.ts | 134 +- backend/src/business-layer/minionsBl.ts | 1064 +++++++------ backend/src/business-layer/operationsBl.ts | 287 ++-- .../src/business-layer/remoteConnectionBl.ts | 959 ++++++------ backend/src/business-layer/rfBl.ts | 181 ++- backend/src/business-layer/sessionsBl.ts | 147 +- backend/src/business-layer/timelineBl.ts | 78 +- backend/src/business-layer/timeoutBl.ts | 332 ++--- backend/src/business-layer/timingsBl.ts | 489 +++--- backend/src/business-layer/usersBl.ts | 170 ++- backend/src/business-layer/versionsBl.ts | 203 +-- backend/src/config.ts | 74 +- backend/src/controllers/authController.ts | 158 +- backend/src/controllers/devicesController.ts | 112 +- backend/src/controllers/feedController.ts | 136 +- backend/src/controllers/iftttController.ts | 153 +- backend/src/controllers/minionsController.ts | 399 ++--- .../src/controllers/operationsController.ts | 154 +- .../controllers/radioFrequencyController.ts | 125 +- .../controllers/remoteConnectionController.ts | 142 +- .../src/controllers/staticAssetsController.ts | 34 +- backend/src/controllers/timingsController.ts | 131 +- backend/src/controllers/usersController.ts | 337 +++-- backend/src/controllers/versionsController.ts | 76 +- backend/src/data-layer/dataIO.ts | 73 +- backend/src/data-layer/devicesDal.ts | 124 +- backend/src/data-layer/iftttIntegrationDal.ts | 92 +- backend/src/data-layer/minionsDal.ts | 274 ++-- backend/src/data-layer/operationsDal.ts | 196 ++- backend/src/data-layer/remoteConnectionDal.ts | 88 +- backend/src/data-layer/sessionsDal.ts | 137 +- backend/src/data-layer/timelineDal.ts | 123 +- backend/src/data-layer/timingsDal.ts | 196 ++- backend/src/data-layer/usersDal.ts | 255 ++-- backend/src/index.ts | 44 +- backend/src/models/backendInterfaces.d.ts | 185 +-- backend/src/models/remote2localProtocol.ts | 174 +-- backend/src/models/sharedInterfaces.d.ts | 790 +++++----- backend/src/modules/brandModuleBase.ts | 224 ++- .../src/modules/broadlink/broadlinkHandler.ts | 940 ++++++------ backend/src/modules/ifttt/iftttHandler.ts | 249 ++-- backend/src/modules/miio/miioHandler.ts | 370 ++--- backend/src/modules/mock/mockHandler.ts | 407 +++-- backend/src/modules/modulesManager.ts | 651 ++++---- .../mqtt/mqtt-converters/mqttConverterBase.ts | 177 ++- .../mqtt/mqtt-converters/tasmotaConverter.ts | 61 +- backend/src/modules/mqtt/mqttBroker.ts | 40 +- backend/src/modules/mqtt/mqttHandler.ts | 387 +++-- backend/src/modules/orvibo/orviboHandler.ts | 518 ++++--- backend/src/modules/tasmota/tasmotaHandler.ts | 120 +- backend/src/modules/tuya/tuyaHandler.ts | 749 +++++----- .../src/modules/yeelight/yeelightHandler.ts | 776 +++++----- backend/src/routers/authenticationRoute.ts | 131 +- backend/src/routers/feedRoute.ts | 86 +- backend/src/security/authentication.ts | 129 +- backend/src/security/schemaValidator.ts | 123 +- backend/src/utilities/deepCopy.ts | 2 +- backend/src/utilities/lanManager.ts | 81 +- backend/src/utilities/macAddress.ts | 50 +- backend/src/utilities/mailSender.ts | 34 +- backend/src/utilities/sleep.ts | 10 +- backend/swagger.yaml | 16 +- backend/test/business-layer/authBl.spec.ts | 97 -- backend/test/business-layer/devicesBl.spec.ts | 178 --- .../business-layer/minionsBl.mock.spec.ts | 253 ---- backend/test/business-layer/minionsBl.spec.ts | 674 --------- .../business-layer/remoteConnectionBl.spec.ts | 28 - .../test/business-layer/sessionsBl.spec.ts | 96 -- backend/test/business-layer/timeoutBl.spec.ts | 47 - .../business-layer/timingsBl.mock.spec.ts | 14 - backend/test/business-layer/timingsBl.spec.ts | 17 - backend/test/business-layer/usersBl.spec.ts | 95 -- .../test/data-layer/devicesDal.mock.spec.ts | 55 - backend/test/data-layer/devicesDal.spec.ts | 86 -- .../test/data-layer/minionsDal.mock.spec.ts | 151 -- backend/test/data-layer/minionsDal.spec.ts | 152 -- backend/test/data-layer/operationsDal.spec.ts | 135 -- .../remoteConnectionDal.mock.spec.ts | 22 - .../data-layer/remoteConnectionDal.spec.ts | 91 -- .../test/data-layer/sessionsDal.mock.spec.ts | 49 - backend/test/data-layer/sessionsDal.spec.ts | 89 -- .../test/data-layer/timingsDal.mock.spec.ts | 135 -- backend/test/data-layer/usersDal.mock.spec.ts | 60 - backend/test/data-layer/usersDal.spec.ts | 122 -- backend/test/modules/mock/mockHandler.spec.ts | 25 - .../test/modules/modulesManager.mock.spec.ts | 94 -- backend/test/modules/modulesManager.spec.ts | 213 --- backend/test/security/authentication.spec.ts | 123 -- backend/test/security/schemaValidator.spec.ts | 148 -- .../test/utilities/lanManager.mock.spec.ts | 55 - backend/test/utilities/lanManager.spec.ts | 21 - backend/test/utilities/sleep.spec.ts | 27 - backend/tests/e2e/authRoute.spec.ts | 99 ++ backend/tests/e2e/devicesRoute.spec.ts | 53 + backend/tests/e2e/minionsRoute.spec.ts | 223 +++ backend/tests/e2e/operationsRoute.spec.ts | 96 ++ .../tests/e2e/prepareRoutesSpecTests.spec.ts | 152 ++ .../tests/e2e/remoteConnectionRoute.spec.ts | 77 + backend/tests/e2e/timingsRoute.spec.ts | 78 + backend/tests/e2e/usersRoute.spec.ts | 141 ++ backend/tests/e2e/vulnerability.spec.ts | 39 + .../tests/unit/business-layer/authBl.spec.ts | 95 ++ .../unit/business-layer/devicesBl.spec.ts | 173 +++ .../business-layer/minionsBl.mock.spec.ts | 249 ++++ .../unit/business-layer/minionsBl.spec.ts | 644 ++++++++ .../remoteConnection.mock.spec.ts | 59 +- .../business-layer/remoteConnectionBl.spec.ts | 30 + .../unit/business-layer/sessionsBl.spec.ts | 91 ++ .../unit/business-layer/timeoutBl.spec.ts | 52 + .../business-layer/timingsBl.mock.spec.ts | 22 + .../unit/business-layer/timingsBl.spec.ts | 15 + .../tests/unit/business-layer/usersBl.spec.ts | 88 ++ .../unit/data-layer/devicesDal.mock.spec.ts | 54 + .../tests/unit/data-layer/devicesDal.spec.ts | 80 + .../unit/data-layer/minionsDal.mock.spec.ts | 138 ++ .../tests/unit/data-layer/minionsDal.spec.ts | 137 ++ .../unit/data-layer/operationsDal.spec.ts | 126 ++ .../remoteConnectionDal.mock.spec.ts | 20 + .../data-layer/remoteConnectionDal.spec.ts | 84 ++ .../unit/data-layer/sessionsDal.mock.spec.ts | 47 + .../tests/unit/data-layer/sessionsDal.spec.ts | 83 ++ .../unit/data-layer/timingsDal.mock.spec.ts | 130 ++ .../unit/data-layer/usersDal.mock.spec.ts | 55 + .../tests/unit/data-layer/usersDal.spec.ts | 110 ++ .../unit/modules/mock/mockHandler.spec.ts | 26 + .../unit/modules/modulesManager.mock.spec.ts | 91 ++ .../tests/unit/modules/modulesManager.spec.ts | 201 +++ .../unit/security/authentication.spec.ts | 122 ++ .../unit/security/schemaValidator.spec.ts | 141 ++ .../unit/utilities/lanManager.mock.spec.ts | 53 + .../tests/unit/utilities/lanManager.spec.ts | 19 + backend/tests/unit/utilities/sleep.spec.ts | 25 + backend/tslint.json | 150 +- frontend/README.md | 8 +- .../minions/minions.component.scss | 19 +- 156 files changed, 13690 insertions(+), 12502 deletions(-) create mode 100644 .travis.yml create mode 100644 backend/.prettierrc delete mode 100644 backend/e2e/authRoute.spec.ts delete mode 100644 backend/e2e/devicesRoute.spec.ts delete mode 100644 backend/e2e/minionsRoute.spec.ts delete mode 100644 backend/e2e/operationsRoute.spec.ts delete mode 100644 backend/e2e/prepareRoutesSpecTests.spec.ts delete mode 100644 backend/e2e/remoteConnectionRoute.spec.ts delete mode 100644 backend/e2e/timingsRoute.spec.ts delete mode 100644 backend/e2e/usersRoute.spec.ts delete mode 100644 backend/e2e/vulnerability.spec.ts delete mode 100644 backend/test/business-layer/authBl.spec.ts delete mode 100644 backend/test/business-layer/devicesBl.spec.ts delete mode 100644 backend/test/business-layer/minionsBl.mock.spec.ts delete mode 100644 backend/test/business-layer/minionsBl.spec.ts delete mode 100644 backend/test/business-layer/remoteConnectionBl.spec.ts delete mode 100644 backend/test/business-layer/sessionsBl.spec.ts delete mode 100644 backend/test/business-layer/timeoutBl.spec.ts delete mode 100644 backend/test/business-layer/timingsBl.mock.spec.ts delete mode 100644 backend/test/business-layer/timingsBl.spec.ts delete mode 100644 backend/test/business-layer/usersBl.spec.ts delete mode 100644 backend/test/data-layer/devicesDal.mock.spec.ts delete mode 100644 backend/test/data-layer/devicesDal.spec.ts delete mode 100644 backend/test/data-layer/minionsDal.mock.spec.ts delete mode 100644 backend/test/data-layer/minionsDal.spec.ts delete mode 100644 backend/test/data-layer/operationsDal.spec.ts delete mode 100644 backend/test/data-layer/remoteConnectionDal.mock.spec.ts delete mode 100644 backend/test/data-layer/remoteConnectionDal.spec.ts delete mode 100644 backend/test/data-layer/sessionsDal.mock.spec.ts delete mode 100644 backend/test/data-layer/sessionsDal.spec.ts delete mode 100644 backend/test/data-layer/timingsDal.mock.spec.ts delete mode 100644 backend/test/data-layer/usersDal.mock.spec.ts delete mode 100644 backend/test/data-layer/usersDal.spec.ts delete mode 100644 backend/test/modules/mock/mockHandler.spec.ts delete mode 100644 backend/test/modules/modulesManager.mock.spec.ts delete mode 100644 backend/test/modules/modulesManager.spec.ts delete mode 100644 backend/test/security/authentication.spec.ts delete mode 100644 backend/test/security/schemaValidator.spec.ts delete mode 100644 backend/test/utilities/lanManager.mock.spec.ts delete mode 100644 backend/test/utilities/lanManager.spec.ts delete mode 100644 backend/test/utilities/sleep.spec.ts create mode 100644 backend/tests/e2e/authRoute.spec.ts create mode 100644 backend/tests/e2e/devicesRoute.spec.ts create mode 100644 backend/tests/e2e/minionsRoute.spec.ts create mode 100644 backend/tests/e2e/operationsRoute.spec.ts create mode 100644 backend/tests/e2e/prepareRoutesSpecTests.spec.ts create mode 100644 backend/tests/e2e/remoteConnectionRoute.spec.ts create mode 100644 backend/tests/e2e/timingsRoute.spec.ts create mode 100644 backend/tests/e2e/usersRoute.spec.ts create mode 100644 backend/tests/e2e/vulnerability.spec.ts create mode 100644 backend/tests/unit/business-layer/authBl.spec.ts create mode 100644 backend/tests/unit/business-layer/devicesBl.spec.ts create mode 100644 backend/tests/unit/business-layer/minionsBl.mock.spec.ts create mode 100644 backend/tests/unit/business-layer/minionsBl.spec.ts rename backend/{test => tests/unit}/business-layer/remoteConnection.mock.spec.ts (71%) create mode 100644 backend/tests/unit/business-layer/remoteConnectionBl.spec.ts create mode 100644 backend/tests/unit/business-layer/sessionsBl.spec.ts create mode 100644 backend/tests/unit/business-layer/timeoutBl.spec.ts create mode 100644 backend/tests/unit/business-layer/timingsBl.mock.spec.ts create mode 100644 backend/tests/unit/business-layer/timingsBl.spec.ts create mode 100644 backend/tests/unit/business-layer/usersBl.spec.ts create mode 100644 backend/tests/unit/data-layer/devicesDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/devicesDal.spec.ts create mode 100644 backend/tests/unit/data-layer/minionsDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/minionsDal.spec.ts create mode 100644 backend/tests/unit/data-layer/operationsDal.spec.ts create mode 100644 backend/tests/unit/data-layer/remoteConnectionDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/remoteConnectionDal.spec.ts create mode 100644 backend/tests/unit/data-layer/sessionsDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/sessionsDal.spec.ts create mode 100644 backend/tests/unit/data-layer/timingsDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/usersDal.mock.spec.ts create mode 100644 backend/tests/unit/data-layer/usersDal.spec.ts create mode 100644 backend/tests/unit/modules/mock/mockHandler.spec.ts create mode 100644 backend/tests/unit/modules/modulesManager.mock.spec.ts create mode 100644 backend/tests/unit/modules/modulesManager.spec.ts create mode 100644 backend/tests/unit/security/authentication.spec.ts create mode 100644 backend/tests/unit/security/schemaValidator.spec.ts create mode 100644 backend/tests/unit/utilities/lanManager.mock.spec.ts create mode 100644 backend/tests/unit/utilities/lanManager.spec.ts create mode 100644 backend/tests/unit/utilities/sleep.spec.ts diff --git a/.gitignore b/.gitignore index c111b3be..c87e6022 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ node_modules/ encryption/ data/ logs/ -.env \ No newline at end of file +.env +coverage +.nyc_output \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e7142b7b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +--- +matrix: + include: + - + before_script: + - "cd backend" + language: node_js + node_js: + - stable + install: + - npm install + script: + - npm run cover + after_script: "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js" + - + before_script: + - "cd frontend" + language: node_js + node_js: + - stable + install: + - npm install + script: + - npm run build diff --git a/README.md b/README.md index c11aeebe..6ef9d7ce 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,12 @@ Let's create a smart home, without giving anyone access to our house 😊. ## CASA-NET. Open-source server to control IoT devices in a local home network. + +[![Build Status](https://travis-ci.org/casanet/casanet-server.svg?branch=master)](https://travis-ci.org/casanet/casanet-server) + +[![Coverage Status](https://coveralls.io/repos/github/casanet/casanet-server/badge.svg?branch=master)](https://coveralls.io/github/casanet/casanet-server?branch=master) + + ## Philosophy. In this project, I wanted to solve a number of troubles. first of all, anyone who uses a number of smart devices (smart IR, smart socket, or anything of that kind) of different companies is familiar with the problem of dealing with a number of different applications; holding 10 applications for each home appliance when each is completely different in the interface and operations and authentication. diff --git a/backend/.prettierrc b/backend/.prettierrc new file mode 100644 index 00000000..4ddba9ab --- /dev/null +++ b/backend/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "trailingComma": "all", + "singleQuote": true +} \ No newline at end of file diff --git a/backend/.vscode/launch.json b/backend/.vscode/launch.json index 6f27a1db..1222e9f8 100644 --- a/backend/.vscode/launch.json +++ b/backend/.vscode/launch.json @@ -10,18 +10,16 @@ "sourceMaps": true, "smartStep": true, "internalConsoleOptions": "openOnSessionStart", - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], + "outFiles": ["${workspaceFolder}/dist/**/*.js"], "env": { - "NODE_ENV": "debug", + "NODE_ENV": "debug" } }, { "type": "node", "request": "launch", "name": "Mocha Tests", - "preLaunchTask": "npm: test", + "preLaunchTask": "npm: test:unit", "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", "env": { "NODE_ENV": "test", @@ -36,7 +34,7 @@ "999999", "--colors", "--recursive", - "${workspaceFolder}/test/**/*.spec.ts", + "${workspaceFolder}/test/**/*.spec.ts" ], "internalConsoleOptions": "openOnSessionStart" }, @@ -44,7 +42,7 @@ "type": "node", "request": "launch", "name": "Mocha e2e", - "preLaunchTask": "npm: test", + "preLaunchTask": "npm: test:e2e", "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", "env": { "NODE_ENV": "test", @@ -62,6 +60,6 @@ "${workspaceFolder}/e2e/**/*.spec.ts" ], "internalConsoleOptions": "openOnSessionStart" - }, + } ] -} \ No newline at end of file +} diff --git a/backend/README.md b/backend/README.md index 08e81522..ebf1b800 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,7 +1,13 @@ # Casanet server - backend -This is the casa-net local server to communicate and control IoT devices in a home. + +This is the casa-net local server to communicate and control IoT devices in a home. + +[![Build Status](https://travis-ci.org/casanet/casanet-server.svg?branch=master)](https://travis-ci.org/casanet/casanet-server) + +[![Coverage Status](https://coveralls.io/repos/github/casanet/casanet-server/badge.svg?branch=master)](https://coveralls.io/github/casanet/casanet-server?branch=master) ### Server installation + 1. Download the project via git or download files as a zip. 1. In Linux OS, make sure `net-tools` installed. 1. Install Node.js on the machine. @@ -21,42 +27,51 @@ You can load the environment using a .env file. Also in the `casanet.json` file, you can edit the configuration of a few stuff (if not set by the environments variables). #### Default user -Can edit any property of the default user. + +Can edit any property of the default user. Except for the user account in the email. this will be always the mac address of the machine. (The reason is for security, the only owner of the machine should know the default username). #### HTTP/HTTPS server ports + You can edit port and HTTPS using. Also can set it by environment variables: -* `HTTP_PORT` -* `HTTPS_PORT` -* `USE_HTTPS` + +- `HTTP_PORT` +- `HTTPS_PORT` +- `USE_HTTPS` > HTTPS require `private.key` `certificate.crt` and `ca_bundle.crt` files to be in `$/.../backend/encryption/` directory. #### Requests limit + To block brute-force attacks there is a request limit per IP. #### Home position + To allows timings based on sun events (such as turn on a light in the sunset) the server needs to know the location area of the home. It doesn't need to be the exact location but needs to be close enough. To get your home latitude and longitude you can use https://www.latlong.net/. #### Password hash salt -set `SALT_KEYS` env var for salt sessions hash. otherways the salt will generate randomly on runtime, and in the next running, all sessions will be invalid. + +set `SALT_KEYS` env var for salt sessions hash. otherways the salt will generate randomly on runtime, and in the next running, all sessions will be invalid. #### Specify devices network -set `SUBNET_TO_SCAN` env var to specify the network to scan devices IP's in it. the format is `xxx.xxx.xxx`. -if not set, the default network is the first current machine IP subnet. +set `SUBNET_TO_SCAN` env var to specify the network to scan devices IP's in it. the format is `xxx.xxx.xxx`. + +if not set, the default network is the first current machine IP subnet. #### Specify physical address + set `PHYSICAL_ADDRESS` env var to specify the physical (aka MAC) address to use. if not set, the address will be the first real machine address. #### Two factor authentication (MFA) + To Allows MFA protection the server needs access to the email account to send the code to user email before login is done. Let's take for example how to configure a Gmail account: (Of course, it will work for any other SMTP services). @@ -66,31 +81,28 @@ First needs to turn on the IMAP/SMTP access service for the account, [see google If MFA is enabled for the Gmail account to create an application key for the password. [see google instructions](https://support.google.com/accounts/answer/185833). And use the following environment variables: -* `TFA_SMTP_SERVER` (value example: `smtp.gmail.com`) -* `TFA_USER_NAME` (value example: `my-usename@gmail.com`) -* `TFA_USER_KEY` (value example: `my-gmail-password or my-application-password`) + +- `TFA_SMTP_SERVER` (value example: `smtp.gmail.com`) +- `TFA_USER_NAME` (value example: `my-usename@gmail.com`) +- `TFA_USER_KEY` (value example: `my-gmail-password or my-application-password`) that's all. ## Devices connection + Each IoT device should be connected to the local network before it can add it to the casa-net server. For each supported IoT device model connection and pairing instructions see [modules documentation](./src/modules/README.md). ## Fetch RF (IR / 433MHz etc.) commands from a commands repository + When using RF transmitter to control home devices it's possible to record the command from the original remote control or generating random command. So to avoid recording a lot of commands one by one there is another project to store commands and serve then on demand. see the [project page](https://github.com/casanet/rf-commands-repo). The `rf-commands-repo` URL placed in the `casanet.json` configuration file. -If you want to update my repo, feel free to contact me. +If you want to update my repo, feel free to contact me. ## API -The UI should wrap API. - -The full specs of API are documented in [swagger API file](./swagger.yaml). - - - - - +The UI should wrap API. +The full specs of API are documented in [swagger API file](./swagger.yaml). diff --git a/backend/e2e/authRoute.spec.ts b/backend/e2e/authRoute.spec.ts deleted file mode 100644 index 4752b10e..00000000 --- a/backend/e2e/authRoute.spec.ts +++ /dev/null @@ -1,94 +0,0 @@ -import * as chai from 'chai'; -import { expect } from 'chai'; -import chaiHttp = require('chai-http'); -import * as moment from 'moment'; -import app from '../src/App'; -import { Login } from '../src/models/sharedInterfaces'; -import { validAdminPlainPassword, validSystemAdmin , validSystemUser , validUserPlainPassword } from './prepareRoutesSpecTests.spec'; - -chai.use(chaiHttp); -const agent = chai.request.agent(app); - -describe('Authentication routing API', () => { - - describe('/POST auth/login', () => { - it('it should respond 20x as status code', (done) => { - const loginSchema: Login = { - email: validSystemUser.email, - password: validUserPlainPassword, - }; - - agent.post('/API/auth/login') - .send(loginSchema) - .end((err, res) => { - expect(res.statusType).eql(2); - expect(res).cookie('session'); - done(); - }); - }).timeout(moment.duration(15, 'seconds').asMilliseconds()); - - it('it should respond 40x as status code', (done) => { - const loginSchema: Login = { - email: validSystemUser.email + 'e', - password: validUserPlainPassword, - }; - - agent.post('/API/auth/login') - .send(loginSchema) - .end((err, res) => { - expect(res.statusType, 'wrong email passed').eql(4); - done(); - }); - }); - - it('it should respond 20x as status code', (done) => { - const loginSchema: Login = { - email: validSystemUser.email, - password: validUserPlainPassword + 'e', - }; - - agent.post('/API/auth/login') - .send(loginSchema) - .end((err, res) => { - expect(res.statusType, 'wrong pasword passed').eql(4); - done(); - }); - }); - }); - - describe('/POST auth/login/tfa', () => { - it('it should respond 20x as status code', (done) => { - - const loginSchema: Login = { - email: validSystemUser.email, - password: validUserPlainPassword, - }; - - agent.post('/API/auth/login/tfa') - .send(loginSchema) - .end((err, res) => { - expect(res.statusType).eql(4); - done(); - }); - }); - }); - - describe('/POST auth/logout', () => { - it('it should respond 20x as status code', (done) => { - agent.post('/API/auth/logout') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should respond 40x as status code', (done) => { - const unauthAgent = chai.request.agent(app); - unauthAgent.post('/API/auth/logout') - .end((err, res) => { - expect(res.statusType).eql(4); - done(); - }); - }); - }); -}); diff --git a/backend/e2e/devicesRoute.spec.ts b/backend/e2e/devicesRoute.spec.ts deleted file mode 100644 index 1c9a88fd..00000000 --- a/backend/e2e/devicesRoute.spec.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { expect } from 'chai'; -import * as moment from 'moment'; -import { LocalNetworkDevice } from '../src/models/sharedInterfaces'; -import { testLongSpecs, validUserAgent } from './prepareRoutesSpecTests.spec'; - -describe('Devices routing API', () => { - - describe('/GET devices', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/devices') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET devices/kinds', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/devices/kinds') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/PUT devices/{deviceMac}', () => { - it('it should respond 20x as status code', (done) => { - const device: LocalNetworkDevice = { - mac: '1111111111', - name: 'dfdff', - }; - validUserAgent.put(`/API/devices/${device.mac}`) - .send(device) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST devices/rescan', () => { - - if (!testLongSpecs) { - return; - } - - it('it should respond 20x as status code', (done) => { - validUserAgent.post('/API/devices/rescan') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }).timeout(moment.duration(5, 'minutes').asMilliseconds()); - }); -}); diff --git a/backend/e2e/minionsRoute.spec.ts b/backend/e2e/minionsRoute.spec.ts deleted file mode 100644 index a84f948c..00000000 --- a/backend/e2e/minionsRoute.spec.ts +++ /dev/null @@ -1,224 +0,0 @@ -import { expect } from 'chai'; -import * as moment from 'moment'; -import { MinionsDalSingleton } from '../src/data-layer/minionsDal'; -import { ErrorResponse, Minion, MinionRename, MinionStatus, SetMinionAutoTurnOff } from '../src/models/sharedInterfaces'; -import { validUserAgent } from './prepareRoutesSpecTests.spec'; - -const minioinMock: Minion = { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '45543544', - }, - }, - isProperlyCommunicated: true, - minionId: 'm1', - minionType: 'switch', - minionStatus: { - - }, - name: 'bla bla 1', -}; -MinionsDalSingleton.createMinion(minioinMock) - .then(() => { - console.log('Generate mock minion in data successfuly'); - }) - .catch(() => { - console.warn('Fail to generate mock minion in data'); - }); - -const minioinAcMock: Minion = { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: '45543dd544', - }, - }, - isProperlyCommunicated: true, - minionId: 'm2', - minionType: 'airConditioning', - minionStatus: { - - }, - name: 'bla bla ac 2', -}; -MinionsDalSingleton.createMinion(minioinAcMock) - .then(() => { - console.log('Generate mock ac minion in data successfuly'); - }) - .catch(() => { - console.warn('Fail to generate mock ac minion in data'); - }); - -describe('Minions routing API', () => { - - describe('/GET minions', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/minions') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET minions/{minionId}', () => { - - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/minions/m1') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST minions', () => { - it('it should respond 501 as status code', (done) => { - const minion: Minion = { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: '????????', - }, - }, - minionType: 'light', - name: 'dfdf', - minionStatus: { - - }, - }; - validUserAgent.post('/API/minions') - .send(minion) - .end((err, res) => { - - const errorResponse: ErrorResponse = { - responseCode: 2404, - message: 'device not exist in lan network', - }; - expect(res.body).to.be.deep.equal(errorResponse); - done(); - }); - }); - }); - - describe('/PUT minions/{minionId}', () => { - it('it should respond 20x as status code', (done) => { - const minionStatus: MinionStatus = { - switch: { - status: 'off', - }, - }; - validUserAgent.put('/API/minions/m1') - .send(minionStatus) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/DELETE minions/{minionId}', () => { - it('it should respond 501 as status code', (done) => { - validUserAgent.del('/API/minions/minionId') - .end((err, res) => { - const errorResponse: ErrorResponse = { - responseCode: 1404, - message: 'minion not exist', - }; - expect(res.body).to.be.deep.equal(errorResponse); - done(); - }); - }); - }); - - describe('/PUT minions/timeout/{minionId}', () => { - it('it should respond 20x as status code', (done) => { - const minionUpdate: SetMinionAutoTurnOff = { - setAutoTurnOffMS: 50000, - }; - validUserAgent.put('/API/minions/timeout/m1') - .send(minionUpdate) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/PUT minions/rename/{minionId}', () => { - it('it should change the minion name successfully', async () => { - const minionUpdate: MinionRename = { - name: 'other name', - }; - const response = await validUserAgent.put('/API/minions/rename/m1').send(minionUpdate); - - expect(response.statusType).eql(2); - - const getResponse = await validUserAgent.get('/API/minions/m1').send(); - - expect(getResponse.body).to.have.property('name').eq('other name'); - }); - }); - - describe('/POST minions/commands/record/{minionId}', () => { - it('it should respond 20x as status code', (done) => { - const minionStatus: MinionStatus = { - airConditioning: { - fanStrength: 'high', - mode: 'auto', - status: 'on', - temperature: 21, - }, - }; - validUserAgent.post('/API/minions/commands/record/m2') - .send(minionStatus) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST minions/commands/generate/{minionId}', () => { - it('it should respond 20x as status code', (done) => { - const minionStatus: MinionStatus = { - airConditioning: { - fanStrength: 'high', - mode: 'auto', - status: 'on', - temperature: 21, - }, - }; - validUserAgent.post('/API/minions/commands/generate/m2') - .send(minionStatus) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST minions/rescan', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.post('/API/minions/rescan') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }).timeout(moment.duration(5, 'seconds').asMilliseconds()); - }); - - describe('/POST minions/rescan/{minionId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.post('/API/minions/rescan/m1') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); -}); diff --git a/backend/e2e/operationsRoute.spec.ts b/backend/e2e/operationsRoute.spec.ts deleted file mode 100644 index 0612591f..00000000 --- a/backend/e2e/operationsRoute.spec.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { expect } from 'chai'; -import { OperationsDalSingleton } from '../src/data-layer/operationsDal'; -import { Operation } from '../src/models/sharedInterfaces'; -import { validUserAgent } from './prepareRoutesSpecTests.spec'; - -const operationMock: Operation = { - operationId: 'o1', - operationName: 'operation a', - activities: [ - - ], -}; - -OperationsDalSingleton.createOperation(operationMock) - .then(() => { - console.log('Generate mock operation in data successfuly'); - }) - .catch(() => { - console.warn('Fail to operation mock minion in data'); - }); - -describe('Operations routing API', () => { - - describe('/GET operations/{operationId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/operations/o1') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - const operationToPost: Operation = { - activities: [], - operationId: 'sdsds', - operationName: 'sdsd', - }; - - describe('/POST operations', () => { - it('it should respond 20x as status code', (done) => { - - validUserAgent.post('/API/operations') - .send(operationToPost) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET operations', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/operations') - .end((err, res) => { - - expect(res.statusType).eql(2); - - // By the way, update the posted operation id. - const operations: Operation[] = res.body; - operationToPost.operationId = operations[operations.length - 1].operationId; - - done(); - }); - }); - }); - - describe('/PUT operations/{userId}', () => { - it('it should respond 20x as status code', (done) => { - const operation: Operation = { - activities: [], - operationId: 'sdsds', - operationName: 'sdsd', - }; - validUserAgent.put(`/API/operations/${operationToPost.operationId}`) - .send(operation) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST operations/trigger/{operationId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.post(`/API/operations/trigger/${operationToPost.operationId}`) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/DELETE operations/{operationId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.del(`/API/operations/${operationToPost.operationId}`) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); -}); diff --git a/backend/e2e/prepareRoutesSpecTests.spec.ts b/backend/e2e/prepareRoutesSpecTests.spec.ts deleted file mode 100644 index 2c031184..00000000 --- a/backend/e2e/prepareRoutesSpecTests.spec.ts +++ /dev/null @@ -1,159 +0,0 @@ -import * as bcrypt from 'bcryptjs'; -import * as chai from 'chai'; -import chaiHttp = require('chai-http'); -import app from '../src/App'; -import { Configuration } from '../src/config'; -import { UsersDalSingleton } from '../src/data-layer/usersDal'; -import { Login, Minion } from '../src/models/sharedInterfaces'; -import { User } from '../src/models/sharedInterfaces'; - -/** - * Perpare chai session agent. - */ -chai.use(chaiHttp); -const userAgent = chai.request.agent(app); -const adminAgent = chai.request.agent(app); - -/** - * Reset data, for testing all system flow. - */ -const unHashedUserPassword = '2574653478565761341114'; -const signInUser: User = { - email: 'user@casa.net', - displayName: 'user account', - ignoreTfa: true, - password: bcrypt.hashSync(unHashedUserPassword, Configuration.keysHandling.bcryptSaltRounds), - sessionTimeOutMS: 123454321100000, - scope: 'userAuth', -}; - -const unHashedAdminPassword = 'fdsfdjhhg743278956djkb'; -const signInAdmin: User = { - email: 'admin@casa.net', - displayName: 'admin account', - ignoreTfa: true, - password: bcrypt.hashSync(unHashedAdminPassword, Configuration.keysHandling.bcryptSaltRounds), - sessionTimeOutMS: 123454321100000, - scope: 'adminAuth', -}; - -/** - * Hold keys in struct for export by ref and not by val. - */ -const sessionKey: { userSessionKey?: string, adminSessionKey?: string } = {}; - -/** - * Create user to login to it, and then all system specs can use it in as routing cert. - */ -UsersDalSingleton.createUser(signInUser) - .then(() => { - - /** - * The valied login schema model. - */ - const loginSchema: Login = { - email: signInUser.email, - password: unHashedUserPassword, - }; - - /** - * Login to system then the load session agent can be used - * in other spec's to check thire tests. - */ - userAgent.post('/API/auth/login') - .send(loginSchema) - .end((err, res) => { - - if (err || res.statusType !== 2) { - console.error('Perpare user agent fail, all API tests specs that need user certs will fail too.'); - } else { - const cookie: string = res['headers']['set-cookie'][0] as string; - sessionKey.userSessionKey = cookie.split(';')[0].split('=')[1]; - } - }); - - /** - * Create admin user. - */ - UsersDalSingleton.createUser(signInAdmin) - .then(() => { - - /** - * The valied login schema model. - */ - const loginAdminSchema: Login = { - email: signInAdmin.email, - password: unHashedAdminPassword, - }; - - /** - * Same as user agent just in admin certs. - */ - adminAgent.post('/API/auth/login') - .send(loginAdminSchema) - .end((err, res) => { - - if (err || res.statusType !== 2) { - console.error('Perpare admin agent fail, all API tests specs that need admin certs will fail too.'); - } else { - const cookie: string = res['headers']['set-cookie'][0] as string; - sessionKey.adminSessionKey = cookie.split(';')[0].split('=')[1]; - } - }); - - }); - }); - -/** - * Check if user want test the long time tests sucj as scanning real network etc. - */ -const testLongSpecsSelection = process.env.TEST_LONG_SPECS !== 'false'; -if (testLongSpecsSelection) { - console.log(`Testing all specs, to avoid long time duration test set TEST_LONG_SPECS env var to 'false'`); -} else { - console.log(`Avoiding long time duration specs, to change it set TEST_LONG_SPECS env var to 'true'`); -} - -/** - * API - */ - -/** - * A valid user password. - */ -export const validUserPlainPassword = unHashedUserPassword; - -/** - * A valid user password. - */ -export const validAdminPlainPassword = unHashedAdminPassword; - -/** - * A valid user object. - */ -export const validSystemUser = signInUser; - -/** - * A valid user (with admin premission) object. - */ -export const validSystemAdmin = signInAdmin; - -/** - * A valid sessions cookie session key. - */ -export const validSession = sessionKey; - -/** - * An express test agent with valid cookie as user. - */ -export const validUserAgent = userAgent; - -/** - * An express test agent with valid cookie as admin. - */ -export const validAdminAgent = adminAgent; - -/** - * Mark if user want to test all tests, even the long time tests. - */ -export const testLongSpecs: boolean = testLongSpecsSelection; diff --git a/backend/e2e/remoteConnectionRoute.spec.ts b/backend/e2e/remoteConnectionRoute.spec.ts deleted file mode 100644 index a9879ef9..00000000 --- a/backend/e2e/remoteConnectionRoute.spec.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { expect } from 'chai'; -import { RemoteSettings, User } from '../src/models/sharedInterfaces'; -import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; - -describe('Remote connection routing API', () => { - - describe('/GET remote', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/remote') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET remote/status', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/remote/status') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - const remoteSettings: RemoteSettings = { - host: 'ws://127.0.0.1/', - connectionKey: 'abracadabra', - }; - - describe('/PUT remote', () => { - it('it should respond 20x as status code', (done) => { - validAdminAgent.put('/API/remote') - .send(remoteSettings) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should respond 40x as status code', (done) => { - validUserAgent.put('/API/remote') - .send(remoteSettings) - .end((err, res) => { - expect(res.statusType, 'user cant edit remote connection').eql(4); - done(); - }); - }); - - it('it should respond 50x as status code', (done) => { - remoteSettings.host = 'invalied.com/wrong'; - validAdminAgent.put('/API/remote') - .send(remoteSettings) - .end((err, res) => { - expect(res.statusType).eql(5); - done(); - }); - }); - }); - - describe('/DELETE remote', () => { - it('it should respond 40x as status code', (done) => { - validUserAgent.del('/API/remote') - .end((err, res) => { - expect(res.statusType, 'user cant edit remote connection').eql(4); - done(); - }); - }); - - it('it should respond 20x as status code', (done) => { - validAdminAgent.del('/API/remote') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - }); - -}); diff --git a/backend/e2e/timingsRoute.spec.ts b/backend/e2e/timingsRoute.spec.ts deleted file mode 100644 index 8da39e17..00000000 --- a/backend/e2e/timingsRoute.spec.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { expect } from 'chai'; -import { TimingsDalSingleton } from '../src/data-layer/timingsDal'; -import { Timing } from '../src/models/sharedInterfaces'; -import { validUserAgent } from './prepareRoutesSpecTests.spec'; - -const timingMock: Timing = { - isActive: true, - timingId: 'td1', - timingName: 'timing a', - timingProperties: { - once: { - date: 77777, - }, - }, - timingType: 'once', - triggerOperationId: 'o1', -}; - -TimingsDalSingleton.createTiming(timingMock) - .then(() => { - console.log('Generate mock timing in data successfuly'); - }) - .catch(() => { - console.warn('Fail to generate mock timing in data'); - }); -describe('Timings routing API', () => { - - describe('/GET timings', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/timings') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET timings/{timingId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/timings/td1') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/POST timings', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.post('/API/timings') - .send(timingMock) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/PUT timings/{userId}', () => { - it('it should respond 20x as status code', (done) => { - timingMock.isActive = false; - validUserAgent.put('/API/timings/td1') - .send(timingMock) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/DELETE timings/{timingId}', () => { - it('it should respond 20x as status code', (done) => { - validUserAgent.del('/API/timings/td1') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); -}); diff --git a/backend/e2e/usersRoute.spec.ts b/backend/e2e/usersRoute.spec.ts deleted file mode 100644 index fd66ba1f..00000000 --- a/backend/e2e/usersRoute.spec.ts +++ /dev/null @@ -1,153 +0,0 @@ -import { expect } from 'chai'; -import { User } from '../src/models/sharedInterfaces'; -import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; - -describe('Users routing API', () => { - - describe('/GET users/profile', () => { - it('it should respond 20x as status code', (done) => { - validAdminAgent.get('/API/users/profile') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); - - describe('/GET users', () => { - it('it should respond 20x as status code', (done) => { - validAdminAgent.get('/API/users') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should never let passwords in response', (done) => { - validAdminAgent.get('/API/users') - .end((err, res) => { - const users = res.body as User[]; - for (const user of users) { - if (user.password) { - throw new Error('server should never let password get out. even it was hashed.'); - } - } - done(); - }); - }); - - it('it should respond 40x as status code', (done) => { - validUserAgent.get('/API/users') - .end((err, res) => { - expect(res.statusType).eql(4); - done(); - }); - }); - }); - - describe('/GET users/{userId}', () => { - it('it should respond 20x as status code', (done) => { - validAdminAgent.get('/API/users/user@casa.net') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should never let password in response', (done) => { - validAdminAgent.get('/API/users/user@casa.net') - .end((err, res) => { - const user = res.body as User; - if (user.password) { - throw new Error('server should never let password get out. even it was hashed.'); - } - done(); - }); - }); - - it('it should respond 20x as status code', (done) => { - validUserAgent.get('/API/users/user@casa.net') - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should respond 50x as status code', (done) => { - validUserAgent.get('/API/users/aa@bb.com') - .end((err, res) => { - expect(res.statusType).eql(5); - done(); - }); - }); - }); - - const newUser: User = { - displayName: 'create by users API e2e', - ignoreTfa: false, - email: 'aa@bb.com', - password: '1234567890', - sessionTimeOutMS: 334343232, - scope: 'userAuth', - }; - - describe('/POST users', () => { - it('it should respond 40x as status code', (done) => { - - validUserAgent.post('/API/users') - .send(newUser) - .end((err, res) => { - expect(res.statusType).eql(4); - done(); - }); - }); - - it('it should respond 20x as status code', (done) => { - - validAdminAgent.post('/API/users') - .send(newUser) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should respond 50x as status code', (done) => { - - validAdminAgent.post('/API/users') - .send(newUser) - .end((err, res) => { - expect(res.statusType).eql(5); - done(); - }); - }); - - }); - - describe('/PUT users/{userId}', () => { - it('it should respond 20x as status code', (done) => { - - newUser.displayName = 'update by admin'; - validAdminAgent.put(`/API/users/${newUser.email}`) - .send(newUser) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - - it('it should refused change user scope', (done) => { - done(); - }); - }); - - describe('/DELETE users/{userId}', () => { - it('it should respond 20x as status code', (done) => { - validAdminAgent.del(`/API/users/${newUser.email}`) - .end((err, res) => { - expect(res.statusType).eql(2); - done(); - }); - }); - }); -}); diff --git a/backend/e2e/vulnerability.spec.ts b/backend/e2e/vulnerability.spec.ts deleted file mode 100644 index 5d48384f..00000000 --- a/backend/e2e/vulnerability.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { expect } from 'chai'; -import * as moment from 'moment'; -import app from '../src/App'; -import { Configuration } from '../src/config'; -import { User } from '../src/models/sharedInterfaces'; -import { DeepCopy } from '../src/utilities/deepCopy'; -import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; - -describe('Test vulnerability specs in API', () => { - - /** Allows test max request rate on spesific IP. */ - app.enable('trust proxy'); - - describe('RateLimit', () => { - it('it should denied requests after max limits', async () => { - for (let i = 0; i < Configuration.requestsLimit.maxRequests; i++) { - await validAdminAgent.get('/API/users/profile').set('X-Forwarded-For', '7.7.7.7').send(); - } - const response = await validAdminAgent.get('/API/users/profile').set('X-Forwarded-For', '7.7.7.7').send(); - expect(response.status).to.be.eql(429); - }).timeout(moment.duration(10, 'seconds').asMilliseconds()); - }); - - describe('sanitizeData', () => { - it('it should denied requests after max limits', async () => { - const responseA = await validAdminAgent.get('/API/users/profile').send(); - const userWithXss: User = DeepCopy(responseA.body); - userWithXss.displayName += ''; - const responseB = await validAdminAgent.put(`/API/users/${userWithXss.email}`).send(userWithXss); - const responseC = await validAdminAgent.get('/API/users/profile').send(); - expect(responseC.body).to.be.deep.equal(responseA.body); - }); - }); -}); diff --git a/backend/package-lock.json b/backend/package-lock.json index c6b3415e..132f2ec8 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -4,6 +4,290 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/core": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", + "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helpers": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", + "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.3.tgz", + "integrity": "sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", + "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", + "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -59,6 +343,12 @@ "@types/node": "*" } }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/connect": { "version": "3.4.32", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", @@ -452,12 +742,27 @@ "resolved": "https://registry.npmjs.org/appdirectory/-/appdirectory-0.1.0.tgz", "integrity": "sha1-62yBYyDnsqsW9e2ZfyjYIF31Y3U=" }, + "append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "optional": true }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, "are-we-there-yet": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", @@ -916,6 +1221,12 @@ "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", "optional": true }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -967,6 +1278,41 @@ } } }, + "caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "requires": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, "callback-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", @@ -1209,6 +1555,12 @@ "minimist": "^1.1.0" } }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -1464,6 +1816,19 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "coveralls": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.9.tgz", + "integrity": "sha512-nNBg3B1+4iDox5A5zqHKzUTiwl2ey4k2o0NEcVZYvl+GOSJdKBj4AJGKLv6h3SvWch7tABHePAQOSZWM9E2hMg==", + "dev": true, + "requires": { + "js-yaml": "^3.13.1", + "lcov-parse": "^1.0.0", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.88.0" + } + }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -1616,6 +1981,23 @@ "resolved": "https://registry.npmjs.org/deepcopy/-/deepcopy-0.6.3.tgz", "integrity": "sha1-Y0eA8vhlardxr4+oQx7RzO5Vx7A=" }, + "default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } + }, "defer-to-connect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", @@ -1885,9 +2267,9 @@ }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "semver": { "version": "5.7.1", @@ -2010,6 +2392,12 @@ "next-tick": "^1.0.0" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -2385,6 +2773,28 @@ "unpipe": "~1.0.0" } }, + "find-cache-dir": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", + "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + } + } + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -2423,6 +2833,59 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, + "foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -2458,6 +2921,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fromentries": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz", + "integrity": "sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==", + "dev": true + }, "fs": { "version": "0.0.1-security", "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", @@ -2589,6 +3058,12 @@ "sanitize-html": "^1.20.1" } }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -2717,6 +3192,12 @@ "ini": "^1.3.4" } }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -2765,9 +3246,9 @@ "dev": true }, "handlebars": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz", - "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz", + "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -2834,6 +3315,30 @@ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "optional": true }, + "hasha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.1.0.tgz", + "integrity": "sha512-OFPDWmzPN1l7atOV1TgBVmNtBxaIysToK6Ve9DK+vT6pYuklw/nPNT+HJbZi0KDcI6vWB+9tgvZ5YD7fA3CXcA==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -2931,6 +3436,12 @@ } } }, + "html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -3430,6 +3941,202 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "requires": { + "append-transform": "^2.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz", + "integrity": "sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, "joi": { "version": "14.3.1", "resolved": "https://registry.npmjs.org/joi/-/joi-14.3.1.tgz", @@ -3445,6 +4152,12 @@ "resolved": "https://registry.npmjs.org/jonah/-/jonah-0.0.2.tgz", "integrity": "sha1-1UumAVog1C3YONibImMXms9ibns=" }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -3468,6 +4181,12 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", @@ -3493,6 +4212,15 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -3622,6 +4350,12 @@ "invert-kv": "^1.0.0" } }, + "lcov-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", + "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", + "dev": true + }, "level-codec": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", @@ -3913,6 +4647,12 @@ "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, "lodash.indexof": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/lodash.indexof/-/lodash.indexof-4.0.5.tgz", @@ -3986,6 +4726,12 @@ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -5133,13 +5879,35 @@ "validator": "^4.4.0" }, "dependencies": { + "depd": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=" + }, "lodash": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "validator": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-4.9.0.tgz", + "integrity": "sha1-CC/84qdhSP8HqOienCukOq8S7Ew=", + "requires": { + "depd": "1.1.0" + } } } }, + "node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, "node-ssdp": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/node-ssdp/-/node-ssdp-3.3.0.tgz", @@ -5319,6 +6087,293 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, + "nyc": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.0.0.tgz", + "integrity": "sha512-qcLBlNCKMDVuKb7d1fpxjPR8sHeMVX0CHarXAVzrVWoFrigCkYR8xcrjfXSPi5HXM7EU78L6ywO7w1c5rZNCNg==", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "js-yaml": "^3.13.1", + "make-dir": "^3.0.0", + "node-preload": "^0.2.0", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "uuid": "^3.3.3", + "yargs": "^15.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.1.0.tgz", + "integrity": "sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^16.1.0" + } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -5572,6 +6627,18 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, "package-json": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", @@ -5824,6 +6891,66 @@ } } }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, "portscanner": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", @@ -5935,6 +7062,12 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -5945,6 +7078,15 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } + }, "promise-polyfill": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", @@ -6333,6 +7475,15 @@ "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -6706,6 +7857,49 @@ "source-map": "^0.6.0" } }, + "spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "requires": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "dependencies": { + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", @@ -7069,6 +8263,17 @@ "execa": "^0.7.0" } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -7132,6 +8337,12 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "optional": true }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", @@ -7199,6 +8410,53 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, + "tslint": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "tslint-config-prettier": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", + "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", + "dev": true + }, "tsoa": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tsoa/-/tsoa-2.4.3.tgz", @@ -7261,11 +8519,6 @@ "ansi-regex": "^2.0.0" } }, - "validator": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", - "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" - }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", @@ -7296,6 +8549,15 @@ } } }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -7379,6 +8641,15 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz", @@ -7412,19 +8683,19 @@ "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=" }, "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.5.tgz", + "integrity": "sha512-GFZ3EXRptKGvb/C1Sq6nO1iI7AGcjyqmIyOw0DrD0675e+NNbGO72xmMM2iEBdFbxaTLo70NbjM/Wy54uZIlsg==", "optional": true, "requires": { - "commander": "~2.20.0", + "commander": "~2.20.3", "source-map": "~0.6.1" }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "optional": true } } @@ -7574,19 +8845,9 @@ } }, "validator": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-4.9.0.tgz", - "integrity": "sha1-CC/84qdhSP8HqOienCukOq8S7Ew=", - "requires": { - "depd": "1.1.0" - }, - "dependencies": { - "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=" - } - } + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", + "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" }, "vary": { "version": "1.1.2", diff --git a/backend/package.json b/backend/package.json index 04dd638a..a380a1c3 100644 --- a/backend/package.json +++ b/backend/package.json @@ -4,16 +4,22 @@ "author": { "name": "Haim Kastner", "email": "haim.kastner@gmail.com", - "url": "https://github.com/haimkastner" + "url": "https://github.com/casanet/casanet-server" }, "description": "IoT server for local home network - Server side", "main": "dist/index.js", "scripts": { + "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"", + "lint": "tslint -p tsconfig.json", + "lint:fix": "tslint --fix -p tsconfig.json", "jscopy": "copyfiles -u 1 src/**/*.js dist", "serve": "tsoa routes && tsoa swagger && tsc && npm run jscopy && node dist/index.js", - "build": "tsoa routes && tsoa swagger && tsc && npm run jscopy", - "test": "del-cli data/test -f && npm run build && cross-env NODE_ENV=test mocha --require ts-node/register test/**/*.spec.ts", - "e2e": "del-cli data/test -f && npm run build && cross-env NODE_ENV=test mocha --require ts-node/register e2e/**/*.spec.ts" + "build:dev": "tsoa routes && tsoa swagger && tsc && npm run jscopy", + "build": "npm run format && npm run lint && tsoa routes && tsoa swagger && tsc && npm run jscopy", + "test:unit": "del-cli data/test -f && npm run build:dev && cross-env NODE_ENV=test mocha --exit --require ts-node/register tests/unit/**/*.spec.ts", + "test:e2e": "del-cli data/test -f && npm run build:dev && cross-env NODE_ENV=test mocha --exit --require ts-node/register tests/e2e/**/*.spec.ts", + "test": "del-cli data/test -f && npm run build && cross-env NODE_ENV=test mocha --exit --require ts-node/register tests/**/*.spec.ts", + "cover": "node \"node_modules/nyc/bin/nyc.js\" --reporter=lcov npm run test" }, "license": "GNU", "dependencies": { @@ -45,7 +51,7 @@ "moment": "^2.23.0", "mosca": "^2.8.3", "network-list2": "^1.0.2", - "node-orvibo-2": "1.1.5", + "node-orvibo-2": "^1.1.5", "node-yeelight-wifi": "^0.1.2", "nodemailer": "^5.1.1", "path": "^0.12.7", @@ -83,10 +89,15 @@ "@types/suncalc": "^1.8.0", "@types/ws": "^6.0.1", "copyfiles": "^2.1.1", + "coveralls": "^3.0.9", "cross-env": "^5.2.0", "del-cli": "^1.1.0", "mocha": "^6.1.4", + "nyc": "^15.0.0", + "prettier": "^1.19.1", "ts-node": "^7.0.1", + "tslint": "^5.20.1", + "tslint-config-prettier": "^1.18.0", "typescript": "^3.5.3", "ws": "^6.2.1" } diff --git a/backend/src/app.ts b/backend/src/app.ts index ad2ef532..5ae8d5a3 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -28,149 +28,151 @@ import './controllers/usersController'; import './controllers/versionsController'; // also import other moduls that not imported in other place. -import './business-layer/timeoutBl'; import './business-layer/calibrateBl'; +import './business-layer/timeoutBl'; class App { - public express: express.Express; - private authenticationRouter: AuthenticationRouter = new AuthenticationRouter(); - private feedRouter: FeedRouter = new FeedRouter(); - - constructor() { - /** Creat the express app */ - this.express = express(); - - /** Security is the first thing, right? */ - this.vulnerabilityProtection(); - - /** Parse the request */ - this.dataParsing(); - - /** After data parsed, sanitize it. */ - this.sanitizeData(); - - /** Load instance to remote server connection logic. */ - this.loadRemoteServerConnection(); - - /** Finaly route to API */ - this.routes(); - - /** Serve static client side assets */ - this.serveStatic(); - - /** And never sent errors back to the client. */ - this.catchErrors(); - } - - /** - * Serve static files of front-end. - */ - private serveStatic() { - /** In / path only serve the index.html file */ - this.express.get('/', (req: express.Request, res: express.Response) => - res.sendFile(path.join(__dirname, '/public/index.html'))); - /** Get any file in public directory */ - this.express.use(express.static(path.join(__dirname, '/public/'))); - } - - /** - * Route requests to API. - */ - private routes(): void { - - /** Route authentication API */ - this.authenticationRouter.routes(this.express); - - /** Route system feed */ - this.feedRouter.routes(this.express); - - /** Use generated routers (by TSOA) */ - RegisterRoutes(this.express); - } - - /** - * Protect from many vulnerabilities ,by http headers such as HSTS HTTPS redirect etc. - */ - private vulnerabilityProtection(): void { - - // Protect from DDOS and access thieves - const limiter = rateLimit({ - windowMs: Configuration.requestsLimit.windowsMs, - max: Configuration.requestsLimit.maxRequests, - }); - // apply to all requests - this.express.use(limiter); - - // Protect authentication API from guessing username/password. - const authLimiter = rateLimit({ - windowMs: 15 * 60 * 1000, // 15 minutes - max: 10, - }); - // apply to all authentication requests - this.express.use('/API/auth/**', authLimiter); - - // Use to redirect http to https/ssl - if (Configuration.http.useHttps) { - this.express.use(forceSsl); - } - - // Protect from XSS and other malicious attacks - this.express.use(helmet()); - this.express.use(helmet.frameguard({ action: 'deny' })); + public express: express.Express; + private authenticationRouter: AuthenticationRouter = new AuthenticationRouter(); + private feedRouter: FeedRouter = new FeedRouter(); + + constructor() { + /** Creat the express app */ + this.express = express(); + + /** Security is the first thing, right? */ + this.vulnerabilityProtection(); + + /** Parse the request */ + this.dataParsing(); + + /** After data parsed, sanitize it. */ + this.sanitizeData(); + + /** Load instance to remote server connection logic. */ + this.loadRemoteServerConnection(); + + /** Finaly route to API */ + this.routes(); + + /** Serve static client side assets */ + this.serveStatic(); + + /** And never sent errors back to the client. */ + this.catchErrors(); + } + + /** + * Serve static files of front-end. + */ + private serveStatic() { + /** In / path only serve the index.html file */ + this.express.get('/', (req: express.Request, res: express.Response) => + res.sendFile(path.join(__dirname, '/public/index.html')), + ); + /** Get any file in public directory */ + this.express.use(express.static(path.join(__dirname, '/public/'))); + } + + /** + * Route requests to API. + */ + private routes(): void { + /** Route authentication API */ + this.authenticationRouter.routes(this.express); + + /** Route system feed */ + this.feedRouter.routes(this.express); + + /** Use generated routers (by TSOA) */ + RegisterRoutes(this.express); + } + + /** + * Protect from many vulnerabilities ,by http headers such as HSTS HTTPS redirect etc. + */ + private vulnerabilityProtection(): void { + // Protect from DDOS and access thieves + const limiter = rateLimit({ + windowMs: Configuration.requestsLimit.windowsMs, + max: Configuration.requestsLimit.maxRequests, + }); + // apply to all requests + this.express.use(limiter); + + // Protect authentication API from guessing username/password. + const authLimiter = rateLimit({ + windowMs: 15 * 60 * 1000, // 15 minutes + max: 10, + }); + // apply to all authentication requests + this.express.use('/API/auth/**', authLimiter); + + // Use to redirect http to https/ssl + if (Configuration.http.useHttps) { + this.express.use(forceSsl); } - /** - * Init remote server, with app router. - */ - private loadRemoteServerConnection() { - RemoteConnectionBlSingleton.loadExpressRouter(this.express); - } + // Protect from XSS and other malicious attacks + this.express.use(helmet()); + this.express.use(helmet.frameguard({ action: 'deny' })); + } + + /** + * Init remote server, with app router. + */ + private loadRemoteServerConnection() { + RemoteConnectionBlSingleton.loadExpressRouter(this.express); + } + + /** + * Parse request query and body. + */ + private dataParsing(): void { + this.express.use(cookieParser()); // Parse every request cookie to readble json. + + this.express.use(bodyParser.json({ limit: '2mb' })); // for parsing application/json + } + + /** + * Sanitize Json schema arrived from client. + * to avoid stored XSS issues. + */ + private sanitizeData(): void { + this.express.use((req: express.Request, res: express.Response, next: express.NextFunction) => { + sanitizeExpressMiddleware(req, res, next, { + allowedAttributes: {}, + allowedTags: [], + }); + }); + } + + /** + * Catch any Node / JS error. + */ + private catchErrors() { + // Unknowon routing get 404 + this.express.use('*', (req, res) => { + res.statusCode = 404; + res.send(); + }); /** - * Parse request query and body. + * Production error handler, no stacktraces leaked to the client. */ - private dataParsing(): void { - this.express.use(cookieParser()); // Parse every request cookie to readble json. - - this.express.use(bodyParser.json({ limit: '2mb' })); // for parsing application/json - } - - /** - * Sanitize Json schema arrived from client. - * to avoid stored XSS issues. - */ - private sanitizeData(): void { - this.express.use((req: express.Request, res: express.Response, next: express.NextFunction) => { - sanitizeExpressMiddleware(req, res, next, { - allowedAttributes: {}, - allowedTags: [], - }); - }); - } - - /** - * Catch any Node / JS error. - */ - private catchErrors() { - - // Unknowon routing get 404 - this.express.use('*', (req, res) => { - res.statusCode = 404; - res.send(); - }); - - /** - * Production error handler, no stacktraces leaked to the client. - */ - this.express.use((err: Error, req: express.Request, res: express.Response, next: express.NextFunction) => { - try { - logger.warn(`express route crash, req: ${req.method} ${req.path} error: ${err.message} body: ${JSON.stringify(req.body)}`); - } catch (error) { - logger.warn(`Ok... even the crash route catcher crashd...`); - } - res.status(500).send(); - }); - } + this.express.use((err: Error, req: express.Request, res: express.Response, next: express.NextFunction) => { + try { + logger.warn( + `express route crash, req: ${req.method} ${req.path} error: ${err.message} body: ${JSON.stringify( + req.body, + )}`, + ); + } catch (error) { + logger.warn(`Ok... even the crash route catcher crashd...`); + } + res.status(500).send(); + }); + } } export default new App().express; diff --git a/backend/src/business-layer/authBl.ts b/backend/src/business-layer/authBl.ts index ae176ee3..61fbae4a 100644 --- a/backend/src/business-layer/authBl.ts +++ b/backend/src/business-layer/authBl.ts @@ -10,169 +10,166 @@ import { SessionsBl, SessionsBlSingleton } from './sessionsBl'; import { UsersBl, UsersBlSingleton } from './usersBl'; declare interface TfaData { - generatedKey: string; - timeStamp: Date; + generatedKey: string; + timeStamp: Date; } export const sessionExpiresMs = (+process.env.SESSION_EXPIRES_DAYS || 365) * 24 * 60 * 60 * 1000; export class AuthBl { + private readonly GENERIC_ERROR_RESPONSE: ErrorResponse = { + responseCode: 2403, + message: 'username or password is incorrect', + }; + + private sessionsBl: SessionsBl; + private usersBl: UsersBl; + + private tfaLogins: { [key: string]: TfaData } = {}; + + /** + * Init auth bl. using dependecy injection pattern to allow units testings. + * @param sessionsBl Inject the sessions bl instance to used sessionBl. + * @param usersBl Inject the user bl instance to used userBl. + */ + constructor(sessionsBl: SessionsBl, usersBl: UsersBl) { + this.sessionsBl = sessionsBl; + this.usersBl = usersBl; + } + + /** + * Login to system. + */ + public async login(response: express.Response, login: Login) { + let userTryToLogin: User; + try { + userTryToLogin = await this.usersBl.getUser(login.email); + } catch (error) { + /** case user not in system return generic error. */ + logger.debug(`login email ${login.email} fail, invalid cert`); + + response.statusCode = 403; + return this.GENERIC_ERROR_RESPONSE; + } - private readonly GENERIC_ERROR_RESPONSE: ErrorResponse = { - responseCode: 2403, - message: 'username or password is incorrect', - }; - - private sessionsBl: SessionsBl; - private usersBl: UsersBl; - - private tfaLogins: { [key: string]: TfaData } = {}; - - /** - * Init auth bl. using dependecy injection pattern to allow units testings. - * @param sessionsBl Inject the sessions bl instance to used sessionBl. - * @param usersBl Inject the user bl instance to used userBl. - */ - constructor(sessionsBl: SessionsBl, usersBl: UsersBl) { + /** If User not fauld or password not match */ + if (!(await bcrypt.compare(login.password, userTryToLogin.password))) { + /** Case password incorrect return generic error. */ + response.statusCode = 403; + return this.GENERIC_ERROR_RESPONSE; + } - this.sessionsBl = sessionsBl; - this.usersBl = usersBl; + /** Case user not require MFA, the login prossess done. */ + if (userTryToLogin.ignoreTfa) { + await this.activeSession(response, userTryToLogin); + return; } - private async activeSession(response: express.Response, user: User): Promise { + /** Case user require MFA but email account not properly sets, send error message about it. */ + if (!Configuration.twoStepsVerification.TwoStepEnabled) { + logger.warn(`User ${userTryToLogin.email} try to login but there is no support in tfa right now`); + response.statusCode = 501; + return { + responseCode: 2501, + message: 'MFA configuration not set correctly', + } as ErrorResponse; + } - const sessionKey = await this.sessionsBl.generateSession(user); + /** Generate random MFA key. */ + const tfaKey = randomstring.generate({ + charset: 'numeric', + length: 6, + }); + + try { + /** Try to send MFA key to user email. */ + await SendMail(userTryToLogin.email, tfaKey); + } catch (error) { + /** Case sending fail leet hime know it. */ + logger.error(`Mail API problem, ${error.message}`); + response.statusCode = 501; + return { + responseCode: 3501, + message: 'Fail to send MFA mail message, inner error.', + } as ErrorResponse; + } - /** - * Finally load session on cookies response. - */ - response.cookie('session', sessionKey, { - sameSite: true, - httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie - secure: Configuration.http.useHttps, // only send cookie over https - maxAge: sessionExpiresMs, // Age in milliseconds - }); + /** Map generated key to user. */ + this.tfaLogins[userTryToLogin.email] = { + generatedKey: tfaKey, + timeStamp: new Date(), + }; - /** All OK, no additional info */ - response.statusCode = 200; + /** Mark status to 201, means, the login is OK but needs extra, MFA. */ + response.statusCode = 201; + } + + /** + * Login to system after tfa sent. + */ + public async loginTfa(response: express.Response, login: Login) { + let userTryToLogin: User; + try { + userTryToLogin = await this.usersBl.getUser(login.email); + } catch (error) { + /** case user not in system return generic error. */ + logger.info(`login email ${login.email} fail, invalid cert`); + response.statusCode = 403; + return this.GENERIC_ERROR_RESPONSE; } - /** - * Login to system. - */ - public async login(response: express.Response, login: Login) { - - let userTryToLogin: User; - try { - userTryToLogin = await this.usersBl.getUser(login.email); - } catch (error) { - /** case user not in system return generic error. */ - logger.debug(`login email ${login.email} fail, invalid cert`); - - response.statusCode = 403; - return this.GENERIC_ERROR_RESPONSE; - } - - /** If User not fauld or password not match */ - if (!await bcrypt.compare(login.password, userTryToLogin.password)) { - /** Case password incorrect return generic error. */ - response.statusCode = 403; - return this.GENERIC_ERROR_RESPONSE; - } - - /** Case user not require MFA, the login prossess done. */ - if (userTryToLogin.ignoreTfa) { - await this.activeSession(response, userTryToLogin); - return; - } - - /** Case user require MFA but email account not properly sets, send error message about it. */ - if (!Configuration.twoStepsVerification.TwoStepEnabled) { - logger.warn(`User ${userTryToLogin.email} try to login but there is no support in tfa right now`); - response.statusCode = 501; - return { - responseCode: 2501, - message: 'MFA configuration not set correctly', - } as ErrorResponse; - } - - /** Generate random MFA key. */ - const tfaKey = randomstring.generate({ - charset: 'numeric', - length: 6, - }); - - try { - /** Try to send MFA key to user email. */ - await SendMail(userTryToLogin.email, tfaKey); - } catch (error) { - /** Case sending fail leet hime know it. */ - logger.error(`Mail API problem, ${error.message}`); - response.statusCode = 501; - return { - responseCode: 3501, - message: 'Fail to send MFA mail message, inner error.', - } as ErrorResponse; - } - - /** Map generated key to user. */ - this.tfaLogins[userTryToLogin.email] = { - generatedKey: tfaKey, - timeStamp: new Date(), - }; - - /** Mark status to 201, means, the login is OK but needs extra, MFA. */ - response.statusCode = 201; - } + /** Get MFA key if exists */ + const tfaData = this.tfaLogins[userTryToLogin.email]; /** - * Login to system after tfa sent. + * If user request MFA in last 5 minutes, and MFA key same as generated, let user pass. */ - public async loginTfa(response: express.Response, login: Login) { - - let userTryToLogin: User; - try { - userTryToLogin = await this.usersBl.getUser(login.email); - } catch (error) { - /** case user not in system return generic error. */ - logger.info(`login email ${login.email} fail, invalid cert`); - response.statusCode = 403; - return this.GENERIC_ERROR_RESPONSE; - } - - /** Get MFA key if exists */ - const tfaData = this.tfaLogins[userTryToLogin.email]; - - /** - * If user request MFA in last 5 minutes, and MFA key same as generated, let user pass. - */ - if (tfaData && - tfaData.generatedKey === login.password && - new Date().getTime() - tfaData.timeStamp.getTime() < momoent.duration(5, 'minutes').asMilliseconds()) { - delete this.tfaLogins[userTryToLogin.email]; - await this.activeSession(response, userTryToLogin); - return; - } - - /** Any other case, return generic error. */ - response.statusCode = 403; - return this.GENERIC_ERROR_RESPONSE; + if ( + tfaData && + tfaData.generatedKey === login.password && + new Date().getTime() - tfaData.timeStamp.getTime() < momoent.duration(5, 'minutes').asMilliseconds() + ) { + delete this.tfaLogins[userTryToLogin.email]; + await this.activeSession(response, userTryToLogin); + return; } + /** Any other case, return generic error. */ + response.statusCode = 403; + return this.GENERIC_ERROR_RESPONSE; + } + + /** + * Logout. + * @param response + */ + public async logout(sessionKey: string, response: express.Response): Promise { + const session = await this.sessionsBl.getSession(sessionKey); + await this.sessionsBl.deleteSession(session); + response.cookie('session', 'null', { + sameSite: true, + httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie + secure: Configuration.http.useHttps, // only send cookie over https + maxAge: 1, // Age in seconds + }); + } + + private async activeSession(response: express.Response, user: User): Promise { + const sessionKey = await this.sessionsBl.generateSession(user); + /** - * Logout. - * @param response + * Finally load session on cookies response. */ - public async logout(sessionKey: string, response: express.Response): Promise { - const session = await this.sessionsBl.getSession(sessionKey); - await this.sessionsBl.deleteSession(session); - response.cookie('session', 'null', { - sameSite: true, - httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie - secure: Configuration.http.useHttps, // only send cookie over https - maxAge: 1, // Age in seconds - }); - } + response.cookie('session', sessionKey, { + sameSite: true, + httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie + secure: Configuration.http.useHttps, // only send cookie over https + maxAge: sessionExpiresMs, // Age in milliseconds + }); + + /** All OK, no additional info */ + response.statusCode = 200; + } } export const AuthBlSingleton = new AuthBl(SessionsBlSingleton, UsersBlSingleton); diff --git a/backend/src/business-layer/calibrateBl.ts b/backend/src/business-layer/calibrateBl.ts index 1f976217..12e0f0e2 100644 --- a/backend/src/business-layer/calibrateBl.ts +++ b/backend/src/business-layer/calibrateBl.ts @@ -1,89 +1,88 @@ import * as moment from 'moment'; +import { MinionStatus } from '../models/sharedInterfaces'; +import { DeepCopy } from '../utilities/deepCopy'; import { logger } from '../utilities/logger'; import { Delay } from '../utilities/sleep'; import { MinionsBl, MinionsBlSingleton } from './minionsBl'; -import { DeepCopy } from '../utilities/deepCopy'; -import { MinionStatus } from '../models/sharedInterfaces'; const CALIBRATE_INTERVAL_ACTIVATION = moment.duration(30, 'seconds'); export class CalibrateBl { + // Dependecies + private minionsBl: MinionsBl; - // Dependecies - private minionsBl: MinionsBl; + /** Map last minion calibrate timestamp */ + private lastCalibrateMap: { [key: string]: Date } = {}; - /** Map last minion calibrate timestamp */ - private lastCalibrateMap: { [key: string]: Date } = {}; + /** + * Init CalibrateBl . using dependecy injection pattern to allow units testings. + * @param minionsBl Inject minionsBl instance. + */ + constructor(minionsBl: MinionsBl) { + this.minionsBl = minionsBl; /** - * Init CalibrateBl . using dependecy injection pattern to allow units testings. - * @param minionsBl Inject minionsBl instance. + * Init module. */ - constructor(minionsBl: MinionsBl) { - this.minionsBl = minionsBl; - - /** - * Init module. - */ - this.initActivation(); + this.initActivation(); + } + + private async calibrateActivation(): Promise { + const now = new Date(); + + for (const minion of await this.minionsBl.getMinions()) { + /** If minion set calibrate to off (undefined/0), pass it. */ + if (!minion.calibrationCycleMinutes) { + continue; + } + + /** If minion calibration time not arrived yet, ignore it. */ + if ( + this.lastCalibrateMap[minion.minionId] && + now.getTime() - this.lastCalibrateMap[minion.minionId].getTime() < + moment.duration(minion.calibrationCycleMinutes, 'minutes').asMilliseconds() + ) { + continue; + } + + /** Calibrate minion status */ + + /** + * Get the minion current status, then copy status *by val* + */ + const minionStatus = DeepCopy(minion.minionStatus); + + try { + await this.minionsBl.setMinionStatus(minion.minionId, minionStatus); + logger.debug(`Calibrate minion ${minion.minionId} successfully acvtivated`); + } catch (error) { + logger.warn(`Calibrate minion ${minion.minionId} fail, ${JSON.stringify(error)}`); + } + + /** Then keep the calibrate timestamp */ + this.lastCalibrateMap[minion.minionId] = now; + + /** + * Some poor devices protocols need it. + */ + await Delay(moment.duration(1, 'seconds')); } + } - private async calibrateActivation(): Promise { - - const now = new Date(); - - for (const minion of await this.minionsBl.getMinions()) { - /** If minion set calibrate to off (undefined/0), pass it. */ - if (!minion.calibrationCycleMinutes) { - continue; - } - - /** If minion calibration time not arrived yet, ignore it. */ - if (this.lastCalibrateMap[minion.minionId] && - now.getTime() - this.lastCalibrateMap[minion.minionId].getTime() < moment.duration(minion.calibrationCycleMinutes, 'minutes').asMilliseconds()) { - continue; - } - - /** Calibrate minion status */ - - /** - * Get the minion current status, then copy status *by val* - */ - const minionStatus = DeepCopy(minion.minionStatus); - - try { - await this.minionsBl.setMinionStatus(minion.minionId, minionStatus); - logger.debug(`Calibrate minion ${minion.minionId} successfully acvtivated`); - } catch (error) { - logger.warn(`Calibrate minion ${minion.minionId} fail, ${JSON.stringify(error)}`); - } - - /** Then keep the calibrate timestamp */ - this.lastCalibrateMap[minion.minionId] = now; - - /** - * Some poor devices protocols need it. - */ - await Delay(moment.duration(1, 'seconds')); - } - } - - - private async initActivation(): Promise { - - /** - * Finally start timeout activation - */ - setInterval(async () => { - try { - await this.calibrateActivation(); - } catch (error) { - logger.error(`Invoking calibration on minions fail, ${JSON.stringify(error)}`); - } - }, CALIBRATE_INTERVAL_ACTIVATION.asMilliseconds()); - - logger.info('Calibrate module init done.'); - } + private async initActivation(): Promise { + /** + * Finally start timeout activation + */ + setInterval(async () => { + try { + await this.calibrateActivation(); + } catch (error) { + logger.error(`Invoking calibration on minions fail, ${JSON.stringify(error)}`); + } + }, CALIBRATE_INTERVAL_ACTIVATION.asMilliseconds()); + + logger.info('Calibrate module init done.'); + } } export const CalibrateBlSingleton = new CalibrateBl(MinionsBlSingleton); diff --git a/backend/src/business-layer/devicesBl.ts b/backend/src/business-layer/devicesBl.ts index 870b7669..08fa03b5 100644 --- a/backend/src/business-layer/devicesBl.ts +++ b/backend/src/business-layer/devicesBl.ts @@ -6,96 +6,96 @@ import { LocalNetworkReader } from '../utilities/lanManager'; import { logger } from '../utilities/logger'; export class DevicesBl { + /** + * Local devices changes feed. + */ + public devicesUpdate = new BehaviorSubject([]); + // Dependecies + private localNetworkReader: () => Promise; + private devicesDal: DevicesDal; + private modulesManager: ModulesManager; - // Dependecies - private localNetworkReader: () => Promise; - private devicesDal: DevicesDal; - private modulesManager: ModulesManager; + /** + * local devices. + */ + private localDevices: LocalNetworkDevice[] = []; - /** - * local devices. - */ - private localDevices: LocalNetworkDevice[] = []; + /** + * Init DevicesBl . using dependecy injection pattern to allow units testings. + * @param devicesDal Inject devices dal. + * @param localNetworkReader Inject the reader function. + */ + constructor( + devicesDal: DevicesDal, + localNetworkReader: () => Promise, + modulesManager: ModulesManager, + ) { + this.devicesDal = devicesDal; + this.localNetworkReader = localNetworkReader; + this.modulesManager = modulesManager; + } - /** - * Local devices changes feed. - */ - public devicesUpdate = new BehaviorSubject([]); + /** + * Get all local network devices + */ + public async getDevices(): Promise { + return this.localDevices; + } - /** - * Init DevicesBl . using dependecy injection pattern to allow units testings. - * @param devicesDal Inject devices dal. - * @param localNetworkReader Inject the reader function. - */ - constructor(devicesDal: DevicesDal, localNetworkReader: () => Promise, modulesManager: ModulesManager) { - this.devicesDal = devicesDal; - this.localNetworkReader = localNetworkReader; - this.modulesManager = modulesManager; - } - - /** - * Load local devices name from saved cache. - */ - private async loadDevicesName(): Promise { - const cachedDevices = await this.devicesDal.getDevices(); - - for (const localDevice of this.localDevices) { - for (const cachedDevice of cachedDevices) { - if (cachedDevice.mac === localDevice.mac) { - localDevice.name = cachedDevice.name; - break; - } - } - } - } + /** + * Set name to device. + * @param deviceToSet Device to cached. + */ + public async setDeviceName(deviceToSet: LocalNetworkDevice): Promise { + await this.devicesDal.saveDevice(deviceToSet); + await this.loadDevicesName(); + this.devicesUpdate.next(this.localDevices); + } - /** - * Load local network devices data. - */ - private async loadDevices(): Promise { - this.localDevices = await this.localNetworkReader() - .catch(() => { - logger.warn('Loading devices network fail, setting devices as empty array...'); - this.localDevices = []; - }) as LocalNetworkDevice[]; + /** + * Rescan local network. + */ + public async rescanNetwork(): Promise { + await this.loadDevices(); + this.devicesUpdate.next(this.localDevices); + } - await this.loadDevicesName() - .catch(() => { - logger.warn('Loading devices names fail'); - }); - } + /** + * Get devices models kinds array. + */ + public async getDevicesKins(): Promise { + return this.modulesManager.devicesKind; + } - /** - * Get all local network devices - */ - public async getDevices(): Promise { - return this.localDevices; - } + /** + * Load local devices name from saved cache. + */ + private async loadDevicesName(): Promise { + const cachedDevices = await this.devicesDal.getDevices(); - /** - * Set name to device. - * @param deviceToSet Device to cached. - */ - public async setDeviceName(deviceToSet: LocalNetworkDevice): Promise { - await this.devicesDal.saveDevice(deviceToSet); - await this.loadDevicesName(); - this.devicesUpdate.next(this.localDevices); + for (const localDevice of this.localDevices) { + for (const cachedDevice of cachedDevices) { + if (cachedDevice.mac === localDevice.mac) { + localDevice.name = cachedDevice.name; + break; + } + } } + } - /** - * Rescan local network. - */ - public async rescanNetwork(): Promise { - await this.loadDevices(); - this.devicesUpdate.next(this.localDevices); - } + /** + * Load local network devices data. + */ + private async loadDevices(): Promise { + this.localDevices = (await this.localNetworkReader().catch(() => { + logger.warn('Loading devices network fail, setting devices as empty array...'); + this.localDevices = []; + })) as LocalNetworkDevice[]; - /** - * Get devices models kinds array. - */ - public async getDevicesKins(): Promise { - return this.modulesManager.devicesKind; - } + await this.loadDevicesName().catch(() => { + logger.warn('Loading devices names fail'); + }); + } } export const DevicesBlSingleton = new DevicesBl(DevicesDalSingleton, LocalNetworkReader, ModulesManagerSingltone); diff --git a/backend/src/business-layer/iftttIntegrationBl.ts b/backend/src/business-layer/iftttIntegrationBl.ts index f97c37e7..fea16705 100644 --- a/backend/src/business-layer/iftttIntegrationBl.ts +++ b/backend/src/business-layer/iftttIntegrationBl.ts @@ -1,6 +1,12 @@ import * as request from 'request-promise'; import { IftttIntergrationDal, IftttIntergrationDalSingleton } from '../data-layer/iftttIntegrationDal'; -import { IftttActionTriggered, IftttIntegrationSettings, Minion, MinionFeed, Operation } from '../models/sharedInterfaces'; +import { + IftttActionTriggered, + IftttIntegrationSettings, + Minion, + MinionFeed, + Operation, +} from '../models/sharedInterfaces'; import { DeepCopy } from '../utilities/deepCopy'; import { logger } from '../utilities/logger'; import { MinionsBl, MinionsBlSingleton } from './minionsBl'; @@ -10,74 +16,78 @@ import { OperationsBl, OperationsBlSingleton } from './operationsBl'; * Using Webhooks API. */ export class IftttIntegrationBl { + /** + * Init Ifttt IntegrationBl bl. using dependecy injection pattern to allow units testings. + * @param iftttIntergrationDal Inject the ifttt intergration dal. + * @param minionsBl Inject the minions bl instance to used minionsBl. + */ + constructor( + private iftttIntergrationDal: IftttIntergrationDal, + private minionsBl: MinionsBl, + private operationsBl: OperationsBl, + ) { + /** Subscribe to minions feed, to trigger an wenhooks event */ + this.minionsBl.minionFeed.subscribe((minionFeed: MinionFeed) => { + if (!minionFeed || minionFeed.event !== 'update') { + return; + } + this.invokeTrigger(minionFeed.minion); + }); + } - /** - * Init Ifttt IntegrationBl bl. using dependecy injection pattern to allow units testings. - * @param iftttIntergrationDal Inject the ifttt intergration dal. - * @param minionsBl Inject the minions bl instance to used minionsBl. - */ - constructor(private iftttIntergrationDal: IftttIntergrationDal, - private minionsBl: MinionsBl, - private operationsBl: OperationsBl, - ) { - /** Subscribe to minions feed, to trigger an wenhooks event */ - this.minionsBl.minionFeed.subscribe((minionFeed: MinionFeed) => { - if (!minionFeed || minionFeed.event !== 'update') { - return; - } - this.invokeTrigger(minionFeed.minion); - }); - } + /** + * Set Ifttt intergration settings. + */ + public async setIftttIntergrationSettings(iftttIntegrationSettings: IftttIntegrationSettings) { + await this.iftttIntergrationDal.setIntegrationSettings(iftttIntegrationSettings); + } - /** - * Set Ifttt intergration settings. - */ - public async setIftttIntergrationSettings(iftttIntegrationSettings: IftttIntegrationSettings) { - await this.iftttIntergrationDal.setIntegrationSettings(iftttIntegrationSettings); - } + /** Get current ifttt integration settings */ + public async getIftttIntergrationSettings(): Promise { + return await this.iftttIntergrationDal.getIntegrationSettings(); + } - /** Get current ifttt integration settings */ - public async getIftttIntergrationSettings(): Promise { - return await this.iftttIntergrationDal.getIntegrationSettings(); - } + /** Trigger requested minion action. */ + public async triggeredMinionAction(minionId: string, iftttActionTriggered: IftttActionTriggered): Promise { + const minion = DeepCopy(await this.minionsBl.getMinionById(minionId)); + minion.minionStatus[minion.minionType].status = iftttActionTriggered.setStatus; + await this.minionsBl.setMinionStatus(minionId, minion.minionStatus); + } - /** Trigger requested minion action. */ - public async triggeredMinionAction(minionId: string, iftttActionTriggered: IftttActionTriggered): Promise { - const minion = DeepCopy(await this.minionsBl.getMinionById(minionId)); - minion.minionStatus[minion.minionType].status = iftttActionTriggered.setStatus; - await this.minionsBl.setMinionStatus(minionId, minion.minionStatus); - } + /** Trigger requested operation action. */ + public async triggeredOperationAction(operationId: string): Promise { + await this.operationsBl.triggerOperation(operationId); + } - /** Trigger requested operation action. */ - public async triggeredOperationAction(operationId: string): Promise { - await this.operationsBl.triggerOperation(operationId); + /** Send trigger to webhooks API */ + private async invokeTrigger(minion: Minion) { + const iftttSettings = await this.iftttIntergrationDal.getIntegrationSettings(); + if (!iftttSettings.enableIntegration) { + return; } - /** Send trigger to webhooks API */ - private async invokeTrigger(minion: Minion) { - - const iftttSettings = await this.iftttIntergrationDal.getIntegrationSettings(); - if (!iftttSettings.enableIntegration) { - return; - } - - try { - await request({ - method: 'POST', - // tslint:disable-next-line:max-line-length - uri: `https://maker.ifttt.com/trigger/when-${minion.minionId}-${minion.minionStatus[minion.minionType].status}/with/key/${iftttSettings.apiKey}`, - body: { - value1: minion.name, - value2: minion.minionType, - value3: minion.minionStatus[minion.minionType], - }, - json: true, - }); - } catch (error) { - logger.warn(`Sent IFTTT trigger for ${minion.minionId} fail, ${JSON.stringify(!error ? error : error.message)}`); - } + try { + await request({ + method: 'POST', + // tslint:disable-next-line:max-line-length + uri: `https://maker.ifttt.com/trigger/when-${minion.minionId}-${ + minion.minionStatus[minion.minionType].status + }/with/key/${iftttSettings.apiKey}`, + body: { + value1: minion.name, + value2: minion.minionType, + value3: minion.minionStatus[minion.minionType], + }, + json: true, + }); + } catch (error) { + logger.warn(`Sent IFTTT trigger for ${minion.minionId} fail, ${JSON.stringify(!error ? error : error.message)}`); } - + } } -export const IftttIntegrationBlSingleton = new IftttIntegrationBl(IftttIntergrationDalSingleton, MinionsBlSingleton, OperationsBlSingleton); +export const IftttIntegrationBlSingleton = new IftttIntegrationBl( + IftttIntergrationDalSingleton, + MinionsBlSingleton, + OperationsBlSingleton, +); diff --git a/backend/src/business-layer/minionsBl.ts b/backend/src/business-layer/minionsBl.ts index 1e3adf5f..0c402548 100644 --- a/backend/src/business-layer/minionsBl.ts +++ b/backend/src/business-layer/minionsBl.ts @@ -3,14 +3,14 @@ import * as randomstring from 'randomstring'; import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; import { MinionsDal, MinionsDalSingleton } from '../data-layer/minionsDal'; import { - DeviceKind, - ErrorResponse, - IftttOnChanged, - LocalNetworkDevice, - Minion, - MinionFeed, - MinionStatus, - ProgressStatus, + DeviceKind, + ErrorResponse, + IftttOnChanged, + LocalNetworkDevice, + Minion, + MinionFeed, + MinionStatus, + ProgressStatus, } from '../models/sharedInterfaces'; import { ModulesManager, ModulesManagerSingltone } from '../modules/modulesManager'; import { logger } from '../utilities/logger'; @@ -18,640 +18,624 @@ import { Delay } from '../utilities/sleep'; import { DevicesBl, DevicesBlSingleton } from './devicesBl'; export class MinionsBl { + /** + * Minions status update feed. + */ + public minionFeed = new BehaviorSubject(undefined); + // Dependencies + private minionsDal: MinionsDal; + private devicesBl: DevicesBl; + private modulesManager: ModulesManager; + private scanningStatus: ProgressStatus = 'finished'; + + /** + * minions + */ + private minions: Minion[] = []; + + /** + * Init minions bl. using dependency injection pattern to allow units testings. + * @param minionsDal Inject the dal instance. + */ + constructor(minionsDal: MinionsDal, devicesBl: DevicesBl, modulesManager: ModulesManager) { + this.minionsDal = minionsDal; + this.devicesBl = devicesBl; + this.modulesManager = modulesManager; + + logger.info('Starting init minions....'); + this.initData() + .then(() => { + logger.info('Init minions done'); + }) + .catch(() => { + logger.error('Init minions fail'); + }); + } + + /** + * API + */ + + /** + * Gets minions array. + */ + public async getMinions(): Promise { + return this.minions; + } + + /** + * Get minion by id. + * @param minionId minion id. + */ + public async getMinionById(minionId: string): Promise { + const minion = this.findMinion(minionId); + + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } + return minion; + } + + /** + * Scan all minions real status. + * mean, update minions cache by request each device what is the real status. + * @param scanNetwork Whenever scan also the local networks IP's map or not. + */ + public async scanMinionsStatus(scanNetwork: boolean = false): Promise { + if (this.scanningStatus !== 'inProgress') { + this.scanMinioinsNetworkAndStatuses(scanNetwork); + } + } + + /** + * Get the current scanning status + */ + public getScaningStatus(): ProgressStatus { + return this.scanningStatus; + } + + /** + * Scan minion real status. + * mean update minions cache by request the device what is the real status. + */ + public async scanMinionStatus(minionId: string): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } + await this.readMinionStatus(minion); + } + + /** + * Rename minion. + * @param minionId minion id. + * @param nameToSet the new name to set. + */ + public async renameMinion(minionId: string, nameToSet: string): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } - // Dependecies - private minionsDal: MinionsDal; - private devicesBl: DevicesBl; - private modulesManager: ModulesManager; - private scanningStatus: ProgressStatus = 'finished'; + minion.name = nameToSet; - /** - * minions - */ - private minions: Minion[] = []; + try { + await this.minionsDal.renameMinion(minionId, nameToSet); + } catch (error) { + logger.warn(`Fail to update minion ${minionId} with new name ${error.message}`); + } /** - * Minions status update feed. + * Send minions feed update. */ - public minionFeed = new BehaviorSubject(undefined); + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Set minion status + * @param minionId minion to set new status to. + * @param minionStatus the status to set. + */ + public async setMinionStatus(minionId: string, minionStatus: MinionStatus): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } /** - * Init minions bl. using dependecy injection pattern to allow units testings. - * @param minionsDal Inject the dal instance. + * The minion status is depend on minion type. */ - constructor(minionsDal: MinionsDal, devicesBl: DevicesBl, modulesManager: ModulesManager) { - - this.minionsDal = minionsDal; - this.devicesBl = devicesBl; - this.modulesManager = modulesManager; - - logger.info('Starting init minions....'); - this.initData() - .then(() => { - logger.info('Init minions done'); - }) - .catch(() => { - logger.error('Init minions fail'); - }); + if (!minionStatus[minion.minionType]) { + throw { + responseCode: 1405, + message: 'incorrect minion status for current minion type', + } as ErrorResponse; } /** - * Init minions. + * set the status. */ - private async initData(): Promise { - - /** Mark scannig as 'inProgress' */ - this.scanningStatus = 'inProgress'; - - /** - * Gets all minions - */ - this.minions = await this.minionsDal.getMinions(); - - /** - * Scan network on startup - */ - await this.devicesBl.rescanNetwork(); - - /** - * Get network local devices - */ - const localDevices = await this.devicesBl.getDevices(); + await this.modulesManager.setStatus(minion, minionStatus).catch(err => { + minion.isProperlyCommunicated = false; + this.minionFeed.next({ + event: 'update', + minion, + }); + throw err; + }); + + /** If there is no change from the last minion status */ + if (minion.isProperlyCommunicated && JSON.stringify(minion.minionStatus) === JSON.stringify(minionStatus)) { + return; + } - /** - * Then load minion with new pysical network data - */ - await this.loadMinionsLocalDeviceData(localDevices); + minion.isProperlyCommunicated = true; - /** - * Let`s modules retrieve updated minions array. - */ - ModulesManagerSingltone.retrieveMinions.setPullMethod(async (): Promise => { - return await this.getMinions(); - }); + /** + * If success, update minion to new status. + */ + minion.minionStatus = minionStatus; - /** - * After all, subscribe to devices status updates. - */ - this.modulesManager.minionStatusChangedEvent.subscribe(async (pysicalDeviceUpdate) => { - if (!pysicalDeviceUpdate) { - return; - } + /** + * Send minions feed update. + */ + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Set minion timeout property. + */ + public async setMinionTimeout(minionId: string, setAutoTurnOffMS: number): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } - try { - const minion = await this.getMinionById(pysicalDeviceUpdate.minionId); - await this.onMinionUpdated(minion, pysicalDeviceUpdate.status); + minion.minionAutoTurnOffMS = setAutoTurnOffMS; - } catch (error) { - logger.info(`Avoiding device update, there is no minion with id: ${pysicalDeviceUpdate.minionId}`); - } - }); + /** + * Save timeout update in Dal for next app running. + */ + this.minionsDal.updateMinionAutoTurnOff(minionId, setAutoTurnOffMS).catch((error: ErrorResponse) => { + logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); + }); - /** - * And also Registar to devices pysical data update (name or ip). - */ - this.devicesBl.devicesUpdate.subscribe((localsDevices: LocalNetworkDevice[]) => { - this.loadMinionsLocalDeviceData(localsDevices); - }); + /** + * Send minion feed update + */ + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Set minion calibrate property. + */ + public async setMinionCalibrate(minionId: string, calibrationCycleMinutes: number): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } - /** - * Finally, after all, get minions status. - */ - await this.readMinionsStatus(); + minion.calibrationCycleMinutes = calibrationCycleMinutes; - /** Now mark all tasks finished */ - this.scanningStatus = 'finished'; - } + /** + * Save timeout update in Dal for next app running. + */ + this.minionsDal.updateMinionCalibrate(minionId, calibrationCycleMinutes).catch((error: ErrorResponse) => { + logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); + }); /** - * Load minion devices data - * @param localDevices local device array. + * Send minion feed update */ - private async loadMinionsLocalDeviceData(localDevices: LocalNetworkDevice[]): Promise { - /** - * Each device check each used minion. - */ - for (const localDevice of localDevices) { - for (const minion of this.minions) { - if (minion.device.pysicalDevice.mac === localDevice.mac) { - minion.device.pysicalDevice = localDevice; - } - } - } + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Create new minion + * @param minion minion to create. + */ + public async createMinion(minion: Minion): Promise { + /** + * check if minion valid. + */ + const error = this.validateNewMinion(minion); + if (error) { + throw error; } /** - * Read minoin current status. - * @param minion minion to read status for. + * get local devices (to load current physical info such as ip) */ - private async readMinionStatus(minion: Minion) { - try { - const currentStatus: MinionStatus = await this.modulesManager.getStatus(minion) as MinionStatus; - - await this.onMinionUpdated(minion, currentStatus); + const localDevices = await this.devicesBl.getDevices(); + let foundLocalDevice = false; + for (const localDevice of localDevices) { + if (localDevice.mac === minion.device.pysicalDevice.mac) { + minion.device.pysicalDevice = localDevice; + foundLocalDevice = true; + break; + } + } - } catch (error) { - minion.isProperlyCommunicated = false; - logger.warn(`Fail to read status of ${minion.name} id: ${minion.minionId} err : ${error.message}`); - throw error; - } + if (!foundLocalDevice) { + throw { + responseCode: 2404, + message: 'device not exist in lan network', + } as ErrorResponse; } /** - * Read each minion current status. + * Generate new id. (never trust client....) */ - private async readMinionsStatus(): Promise { - for (const minion of this.minions) { - - /** - * Read current minion status. - */ - await this.readMinionStatus(minion) - .catch(() => { - /** - * Fail, do nothing.... - */ - }); - - /** - * Let time between minions reading. - * this is because some of devices using broadcast in network and can't communication 2 together. - */ - await Delay(moment.duration(1, 'seconds')); - } - } + minion.minionId = randomstring.generate(6); /** - * Find minion in minions array. - * @param minionId minioin id. + * Create new minion in dal. */ - private findMinion(minionId: string): Minion { - for (const minion of this.minions) { - if (minion.minionId === minionId) { - return minion; - } - } - } - - private async onMinionUpdated(minion: Minion, updateToStatus: MinionStatus) { - /** If there is no change from last minion status */ - if (minion.isProperlyCommunicated && - JSON.stringify(minion.minionStatus) === JSON.stringify(updateToStatus)) { - return; - } - - minion.isProperlyCommunicated = true; - minion.minionStatus = updateToStatus; - this.minionFeed.next({ - event: 'update', - minion, - }); - } + await this.minionsDal.createMinion(minion); /** - * Validate new minion properties to make sure that they compatible to requires. - * @param minionToCheck new minion to validate. + * Send create new minion feed update (*before* try to get the status!!!) */ - private validateNewMinion(minionToCheck: Minion): ErrorResponse { + this.minionFeed.next({ + event: 'created', + minion, + }); - /** - * Get brand & model - */ - let deviceKind: DeviceKind; - for (const kind of this.modulesManager.devicesKind) { - if (kind.brand === minionToCheck.device.brand && - kind.model === minionToCheck.device.model) { - deviceKind = kind; - } - } + /** + * Try to get current status. + */ + try { + await this.readMinionStatus(minion); + } catch (error) {} + } + + /** + * Delete minion + * @param minionId minion id to delete + */ + public async deleteMinion(minionId: string): Promise { + const originalMinion = this.findMinion(minionId); + if (!originalMinion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } - /** - * Check that model exits in barns. - */ - if (!deviceKind) { - return { - responseCode: 1409, - message: 'there is no supported model for brand + model', - }; - } + await this.minionsDal.deleteMinion(originalMinion); - /** - * Check if token reqired and not exist. - */ - if (deviceKind.isTokenRequierd && !minionToCheck.device.token) { - return { - responseCode: 2409, - message: 'token is requird', - }; - } + // The minions array is given from DAL by ref, mean if removed + // from dal it will removed from BL too, so check if exist + // (if in next someone will copy by val) and then remove. + if (this.minions.indexOf(originalMinion) !== -1) { + this.minions.splice(this.minions.indexOf(originalMinion), 1); + } - /** - * Check if id reqired and not exist. - */ - if (deviceKind.isIdRequierd && !minionToCheck.device.deviceId) { - return { - responseCode: 3409, - message: 'id is requird', - }; - } + this.minionFeed.next({ + event: 'removed', + minion: originalMinion, + }); + + // Finally clean module communication + await this.modulesManager.refreshModule(originalMinion.device.brand); + } + + /** + * Notify minion status changed by ifttt + * @param minionId Minion id. + * @param iftttOnChanged Minion key amd status to set. + */ + public async notifyMinionChangedByIfttt(minionId: string, iftttOnChanged: IftttOnChanged) { + const minion = this.findMinion(minionId); + + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; + } - /** - * If the modele is not for unlimited minoins count the used minions. - */ - if (deviceKind.minionsPerDevice !== -1) { - let minionsCount = 0; - for (const minion of this.minions) { - if (minion.device.pysicalDevice.mac === minionToCheck.device.pysicalDevice.mac) { - minionsCount++; - } - } - - /** - * If the new minion is above max minions per device. - */ - if (minionsCount >= deviceKind.minionsPerDevice) { - return { - responseCode: 4409, - message: 'device already in max uses with other minion', - }; - } - } + /** Make sure the deviceId match to minion deviceId (there is no other authentication!!!) */ + if (iftttOnChanged.deviceId !== minion.device.deviceId) { + throw { + responseCode: 5403, + message: 'invalid device id', + } as ErrorResponse; + } - /** - * ignore user selection and set corrent minion type based on model. - */ - minionToCheck.minionType = deviceKind.suppotedMinionType; + /** Case it's first time update. */ + if (!minion.minionStatus[minion.minionType]) { + const initStatus = { + status: 'on', + }; + const initMinionStatus = {}; + initMinionStatus[minion.minionType] = initStatus; + minion.minionStatus = initMinionStatus as MinionStatus; } + /** Update the minion status */ + minion.minionStatus[minion.minionType].status = iftttOnChanged.newStatus; + /** - * Scan the minions current status - * @param scanNetwork Whenever scan also the local networks IP's map or not. + * Send minions feed update. */ - private async scanMinioinsNetworkAndStatuses(scanNetwork: boolean = false) { - this.scanningStatus = 'inProgress'; - try { - if (scanNetwork) { - await this.devicesBl.rescanNetwork(); - } - await this.modulesManager.refreshModules(); - await this.readMinionsStatus(); - } catch (error) { - logger.warn(`Scannig minions ${scanNetwork ? 'with network' : ''} faild ${JSON.stringify(error)}`); - this.scanningStatus = 'fail'; - return; - } - this.scanningStatus = 'finished'; - } + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Init minions. + */ + private async initData(): Promise { + /** Mark scanning as 'inProgress' */ + this.scanningStatus = 'inProgress'; /** - * API + * Gets all minions */ + this.minions = await this.minionsDal.getMinions(); /** - * Gets minons array. + * Scan network on startup */ - public async getMinions(): Promise { - return this.minions; - } + await this.devicesBl.rescanNetwork(); /** - * Get minion by id. - * @param minionId minion id. + * Get network local devices */ - public async getMinionById(minionId: string): Promise { - const minion = this.findMinion(minionId); - - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - return minion; - } + const localDevices = await this.devicesBl.getDevices(); /** - * Scan all minions real status. - * mean, update minions cache by request each device what is the real status. - * @param scanNetwork Whenever scan also the local networks IP's map or not. + * Then load minion with new physical network data */ - public async scanMinionsStatus(scanNetwork: boolean = false): Promise { - if (this.scanningStatus !== 'inProgress') - this.scanMinioinsNetworkAndStatuses(scanNetwork); - } + await this.loadMinionsLocalDeviceData(localDevices); /** - * Get the current scanning status + * Let`s modules retrieve updated minions array. */ - public getScaningStatus(): ProgressStatus { - return this.scanningStatus; - } + ModulesManagerSingltone.retrieveMinions.setPullMethod( + async (): Promise => { + return await this.getMinions(); + }, + ); /** - * Scan minion real status. - * mean update minions cache by request the device what is the real status. + * After all, subscribe to devices status updates. */ - public async scanMinionStatus(minionId: string): Promise { - const minioin = this.findMinion(minionId); - if (!minioin) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - await this.readMinionStatus(minioin); - } + this.modulesManager.minionStatusChangedEvent.subscribe(async pysicalDeviceUpdate => { + if (!pysicalDeviceUpdate) { + return; + } + + try { + const minion = await this.getMinionById(pysicalDeviceUpdate.minionId); + await this.onMinionUpdated(minion, pysicalDeviceUpdate.status); + } catch (error) { + logger.info(`Avoiding device update, there is no minion with id: ${pysicalDeviceUpdate.minionId}`); + } + }); /** - * Rename minion. - * @param minionId minion id. - * @param nameToSet the new name to set. + * And also register to devices pysical data update (name or ip). */ - public async renameMinion(minionId: string, nameToSet: string): Promise { - const minion = this.findMinion(minionId); - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } + this.devicesBl.devicesUpdate.subscribe((localsDevices: LocalNetworkDevice[]) => { + this.loadMinionsLocalDeviceData(localsDevices); + }); - minion.name = nameToSet; - - try { - await this.minionsDal.renameMinion(minionId, nameToSet); - } catch (error) { - logger.warn(`Fail to update minion ${minionId} with new name ${error.message}`); - - } + /** + * Finally, after all, get minions status. + */ + await this.readMinionsStatus(); - /** - * Send minions feed update. - */ - this.minionFeed.next({ - event: 'update', - minion, - }); - } + /** Now mark all tasks finished */ + this.scanningStatus = 'finished'; + } + /** + * Load minion devices data + * @param localDevices local device array. + */ + private async loadMinionsLocalDeviceData(localDevices: LocalNetworkDevice[]): Promise { /** - * Set minon status - * @param minionId minion to set new status to. - * @param minionStatus the status to set. + * Each device check each used minion. */ - public async setMinionStatus(minionId: string, minionStatus: MinionStatus): Promise { - const minion = this.findMinion(minionId); - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; + for (const localDevice of localDevices) { + for (const minion of this.minions) { + if (minion.device.pysicalDevice.mac === localDevice.mac) { + minion.device.pysicalDevice = localDevice; } - - /** - * The minion status is depend on minion type. - */ - if (!minionStatus[minion.minionType]) { - throw { - responseCode: 1405, - message: 'incorrect minion status for current minion type', - } as ErrorResponse; - } - + } + } + } + + /** + * Read minoin current status. + * @param minion minion to read status for. + */ + private async readMinionStatus(minion: Minion) { + try { + const currentStatus: MinionStatus = (await this.modulesManager.getStatus(minion)) as MinionStatus; + + await this.onMinionUpdated(minion, currentStatus); + } catch (error) { + minion.isProperlyCommunicated = false; + logger.warn(`Fail to read status of ${minion.name} id: ${minion.minionId} err : ${error.message}`); + throw error; + } + } + + /** + * Read each minion current status. + */ + private async readMinionsStatus(): Promise { + for (const minion of this.minions) { + /** + * Read current minion status. + */ + await this.readMinionStatus(minion).catch(() => { /** - * set the status. + * Fail, do nothing.... */ - await this.modulesManager.setStatus(minion, minionStatus) - .catch((err) => { - minion.isProperlyCommunicated = false; - this.minionFeed.next({ - event: 'update', - minion, - }); - throw err; - }); - - /** If there is no change from the last minion status */ - if (minion.isProperlyCommunicated && - JSON.stringify(minion.minionStatus) === JSON.stringify(minionStatus)) { - return; - } + }); - minion.isProperlyCommunicated = true; - - /** - * If success, update minion to new status. - */ - minion.minionStatus = minionStatus; + /** + * Let time between minions reading. + * this is because some of devices using broadcast in network and can't communication 2 together. + */ + await Delay(moment.duration(1, 'seconds')); + } + } + + /** + * Find minion in minions array. + * @param minionId minioin id. + */ + private findMinion(minionId: string): Minion { + for (const minion of this.minions) { + if (minion.minionId === minionId) { + return minion; + } + } + } - /** - * Send minions feed update. - */ - this.minionFeed.next({ - event: 'update', - minion, - }); + private async onMinionUpdated(minion: Minion, updateToStatus: MinionStatus) { + /** If there is no change from last minion status */ + if (minion.isProperlyCommunicated && JSON.stringify(minion.minionStatus) === JSON.stringify(updateToStatus)) { + return; } + minion.isProperlyCommunicated = true; + minion.minionStatus = updateToStatus; + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Validate new minion properties to make sure that they compatible to requires. + * @param minionToCheck new minion to validate. + */ + private validateNewMinion(minionToCheck: Minion): ErrorResponse { /** - * Set minoin timeout property. + * Get brand & model */ - public async setMinionTimeout(minionId: string, setAutoTurnOffMS: number): Promise { - const minion = this.findMinion(minionId); - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - minion.minionAutoTurnOffMS = setAutoTurnOffMS; - - /** - * Save timeout update in Dal for next app running. - */ - this.minionsDal.updateMinionAutoTurnOff(minionId, setAutoTurnOffMS) - .catch((error: ErrorResponse) => { - logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); - }); - - /** - * Send minion feed update - */ - this.minionFeed.next({ - event: 'update', - minion, - }); + let deviceKind: DeviceKind; + for (const kind of this.modulesManager.devicesKind) { + if (kind.brand === minionToCheck.device.brand && kind.model === minionToCheck.device.model) { + deviceKind = kind; + } } /** - * Set minoin calibrate property. + * Check that model exits in barns. */ - public async setMinionCalibrate(minionId: string, calibrationCycleMinutes: number): Promise { - const minion = this.findMinion(minionId); - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - minion.calibrationCycleMinutes = calibrationCycleMinutes; - - /** - * Save timeout update in Dal for next app running. - */ - this.minionsDal.updateMinionCalibrate(minionId, calibrationCycleMinutes) - .catch((error: ErrorResponse) => { - logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); - }); - - /** - * Send minion feed update - */ - this.minionFeed.next({ - event: 'update', - minion, - }); + if (!deviceKind) { + return { + responseCode: 1409, + message: 'there is no supported model for brand + model', + }; } /** - * Create new minon - * @param minion minon to create. + * Check if token reqired and not exist. */ - public async createMinion(minion: Minion): Promise { - - /** - * check if minion valid. - */ - const error = this.validateNewMinion(minion); - if (error) { - throw error; - } - - /** - * get local devices (to load corrent pysical info such as ip) - */ - const localDevices = await this.devicesBl.getDevices(); - let foundLocalDevice = false; - for (const localDevice of localDevices) { - if (localDevice.mac === minion.device.pysicalDevice.mac) { - minion.device.pysicalDevice = localDevice; - foundLocalDevice = true; - break; - } - } - - if (!foundLocalDevice) { - throw { - responseCode: 2404, - message: 'device not exist in lan network', - } as ErrorResponse; - } - - /** - * Generate new id. (never trust client....) - */ - minion.minionId = randomstring.generate(6); - - /** - * Create new minion in dal. - */ - await this.minionsDal.createMinion(minion); - - /** - * Send create new minion feed update (*befor* try to get the status!!!) - */ - this.minionFeed.next({ - event: 'created', - minion, - }); - - /** - * Try to get current status. - */ - try { - await this.readMinionStatus(minion); - } catch (error) { - - } + if (deviceKind.isTokenRequierd && !minionToCheck.device.token) { + return { + responseCode: 2409, + message: 'token is requird', + }; } /** - * Delete minoin - * @param minionId minion id to delete + * Check if id reqired and not exist. */ - public async deleteMinion(minionId: string): Promise { - const originalMinion = this.findMinion(minionId); - if (!originalMinion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - await this.minionsDal.deleteMinion(originalMinion); - - // The minoins arrat is given from DAL by ref, mean if removed - // from dal it will removed from BL too, so check if exist - // (if in next someone will copy by val) and then remove. - if (this.minions.indexOf(originalMinion) !== -1) { - this.minions.splice(this.minions.indexOf(originalMinion), 1); - } - - this.minionFeed.next({ - event: 'removed', - minion: originalMinion, - }); - - // Finally clean module communication - await this.modulesManager.refreshModule(originalMinion.device.brand); + if (deviceKind.isIdRequierd && !minionToCheck.device.deviceId) { + return { + responseCode: 3409, + message: 'id is requird', + }; } /** - * Notify minion status changed by ifttt - * @param minionId Minon id. - * @param iftttOnChanged Minion key amd status to set. + * If the modele is not for unlimited minoins count the used minions. */ - public async notifyMinionChangedByIfttt(minionId: string, iftttOnChanged: IftttOnChanged) { - const minion = this.findMinion(minionId); - - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; + if (deviceKind.minionsPerDevice !== -1) { + let minionsCount = 0; + for (const minion of this.minions) { + if (minion.device.pysicalDevice.mac === minionToCheck.device.pysicalDevice.mac) { + minionsCount++; } + } + + /** + * If the new minion is above max minions per device. + */ + if (minionsCount >= deviceKind.minionsPerDevice) { + return { + responseCode: 4409, + message: 'device already in max uses with other minion', + }; + } + } - /** Make sure the deviceId match to minion deviceId (there is no other authentication!!!) */ - if (iftttOnChanged.deviceId !== minion.device.deviceId) { - throw { - responseCode: 5403, - message: 'invalid device id', - } as ErrorResponse; - } - - /** Case it's first time update. */ - if (!minion.minionStatus[minion.minionType]) { - const initStatus = { - status: 'on', - }; - const initMinionStatus = {}; - initMinionStatus[minion.minionType] = initStatus; - minion.minionStatus = initMinionStatus as MinionStatus; - } - - /** Update the minion status */ - minion.minionStatus[minion.minionType].status = iftttOnChanged.newStatus; - - /** - * Send minions feed update. - */ - this.minionFeed.next({ - event: 'update', - minion, - }); + /** + * ignore user selection and set corrent minion type based on model. + */ + minionToCheck.minionType = deviceKind.suppotedMinionType; + } + + /** + * Scan the minions current status + * @param scanNetwork Whenever scan also the local networks IP's map or not. + */ + private async scanMinioinsNetworkAndStatuses(scanNetwork: boolean = false) { + this.scanningStatus = 'inProgress'; + try { + if (scanNetwork) { + await this.devicesBl.rescanNetwork(); + } + await this.modulesManager.refreshModules(); + await this.readMinionsStatus(); + } catch (error) { + logger.warn(`Scannig minions ${scanNetwork ? 'with network' : ''} faild ${JSON.stringify(error)}`); + this.scanningStatus = 'fail'; + return; } + this.scanningStatus = 'finished'; + } } export const MinionsBlSingleton = new MinionsBl(MinionsDalSingleton, DevicesBlSingleton, ModulesManagerSingltone); diff --git a/backend/src/business-layer/operationsBl.ts b/backend/src/business-layer/operationsBl.ts index 1f93101d..cfb5f13a 100644 --- a/backend/src/business-layer/operationsBl.ts +++ b/backend/src/business-layer/operationsBl.ts @@ -8,154 +8,155 @@ import { Delay } from '../utilities/sleep'; import { MinionsBl, MinionsBlSingleton } from './minionsBl'; export class OperationsBl { - - // Dependecies - private operationsDal: OperationsDal; - private minionsBl: MinionsBl; - - /** - * Init OperationsBl . using dependecy injection pattern to allow units testings. - * @param operationsDal Inject operations dal. - * @param localNetworkReader Inject the reader function. - */ - constructor(operationsDal: OperationsDal, minionsBl: MinionsBl) { - this.operationsDal = operationsDal; - this.minionsBl = minionsBl; - } - - /** - * Validate activities. (minion and status to set). - * @param operationActiviries activities array to validate. - */ - private async validateNewOperationActivities(operationActiviries: OperationActivity[]): Promise { - for (const activity of operationActiviries) { - const activityMinion = await this.minionsBl.getMinionById(activity.minionId); - - if (!activity.minionStatus[activityMinion.minionType]) { - throw { - responseCode: 2405, - message: 'incorrect minion status for activity minion type', - } as ErrorResponse; - } - } - - return; - } - + // Dependecies + private operationsDal: OperationsDal; + private minionsBl: MinionsBl; + + /** + * Init OperationsBl . using dependecy injection pattern to allow units testings. + * @param operationsDal Inject operations dal. + * @param localNetworkReader Inject the reader function. + */ + constructor(operationsDal: OperationsDal, minionsBl: MinionsBl) { + this.operationsDal = operationsDal; + this.minionsBl = minionsBl; + } + + /** + * API + */ + + /** + * Get all operations array. + */ + public async getOperations(): Promise { + return await this.operationsDal.getOperations(); + } + + /** + * Get operation by id. + * @param operationId operation id. + */ + public async getOperationById(operationId: string): Promise { + return await this.operationsDal.getOperationById(operationId); + } + + /** + * Set operation properties. + * @param operationId operation id. + * @param operation operation props to set. + */ + public async SetOperation(operationId: string, operation: Operation): Promise { + await this.validateNewOperationActivities(operation.activities); + operation.operationId = operationId; + return await this.operationsDal.updateOperation(operation); + } + + /** + * Create operation. + * @param operation operation to create. + */ + public async CreateOperation(operation: Operation): Promise { + await this.validateNewOperationActivities(operation.activities); /** - * Invoke each activity. - * @param operationActiviries activities to invoke. + * Generate new id. (never trust client....) */ - private async invokeOperationActivities(operationActiviries: OperationActivity[]): Promise { - const errors: OperationResult[] = []; - for (const activity of operationActiviries) { - /** - * wait 1 sec between one minion to other, becuase of broadcasting mismatch in some brands communication protocol. - */ - await Delay(moment.duration(1, 'seconds')); - - logger.info(`Setting minion ${activity.minionId} a new status by operation activity...`); - - try { - await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); - continue; - } catch (error) { - logger.warn(`Setting minion ${activity.minionId} a new status by operation activity data: ` + - `${JSON.stringify(activity.minionStatus)} fail, ` + - `${JSON.stringify(error)}`); - } - - await Delay(moment.duration(3, 'seconds')); - - logger.info(`Trying set status for ${activity.minionId} agine...`); - - try { - await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); - continue; - } catch (error) { - logger.warn(`The second try to set status for ${activity.minionId} fail too`); - } - - await Delay(moment.duration(5, 'seconds')); - - logger.info(`Last chance of set status for ${activity.minionId} ...`); - - try { - await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); - } catch (error) { - logger.warn(`Last chance to set status for ${activity.minionId} fail too. sorry ;)`); - errors.push({ - minionId: activity.minionId, - error, - }); - } - } - return errors; + operation.operationId = randomstring.generate(6); + return await this.operationsDal.createOperation(operation); + } + + /** + * Delete operation. + * @param operationId operation id to delete. + */ + public async DeleteOperation(operationId: string): Promise { + return await this.operationsDal.deleteOperation(operationId); + } + + /** + * Trigger operation activities + * @param operationId operation to trigger. + * @returns Set status erros if will be any. + */ + public async triggerOperation(operationId: string): Promise { + const operation = await this.operationsDal.getOperationById(operationId); + logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} ...`); + const errors = await this.invokeOperationActivities(operation.activities); + logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} done`); + return errors; + } + + /** + * Validate activities. (minion and status to set). + * @param operationActiviries activities array to validate. + */ + private async validateNewOperationActivities(operationActiviries: OperationActivity[]): Promise { + for (const activity of operationActiviries) { + const activityMinion = await this.minionsBl.getMinionById(activity.minionId); + + if (!activity.minionStatus[activityMinion.minionType]) { + throw { + responseCode: 2405, + message: 'incorrect minion status for activity minion type', + } as ErrorResponse; + } } - /** - * API - */ - - /** - * Get all operations array. - */ - public async getOperations(): Promise { - return await this.operationsDal.getOperations(); - } - - /** - * Get operation by id. - * @param operationId operation id. - */ - public async getOperationById(operationId: string): Promise { - return await this.operationsDal.getOperationById(operationId); - } - - /** - * Set operation properties. - * @param operationId operation id. - * @param operation operation props to set. - */ - public async SetOperation(operationId: string, operation: Operation): Promise { - await this.validateNewOperationActivities(operation.activities); - operation.operationId = operationId; - return await this.operationsDal.updateOperation(operation); - } - - /** - * Create operation. - * @param operation operation to create. - */ - public async CreateOperation(operation: Operation): Promise { - await this.validateNewOperationActivities(operation.activities); - /** - * Generate new id. (never trust client....) - */ - operation.operationId = randomstring.generate(6); - return await this.operationsDal.createOperation(operation); - } - - /** - * Delete operation. - * @param operationId operation id to delete. - */ - public async DeleteOperation(operationId: string): Promise { - return await this.operationsDal.deleteOperation(operationId); - } - - /** - * Trigger operation activities - * @param operationId operation to trigger. - * @returns Set status erros if will be any. - */ - public async triggerOperation(operationId: string): Promise { - const operation = await this.operationsDal.getOperationById(operationId); - logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} ...`); - const errors = await this.invokeOperationActivities(operation.activities); - logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} done`); - return errors; + return; + } + + /** + * Invoke each activity. + * @param operationActiviries activities to invoke. + */ + private async invokeOperationActivities(operationActiviries: OperationActivity[]): Promise { + const errors: OperationResult[] = []; + for (const activity of operationActiviries) { + /** + * wait 1 sec between one minion to other, becuase of broadcasting mismatch in some brands communication protocol. + */ + await Delay(moment.duration(1, 'seconds')); + + logger.info(`Setting minion ${activity.minionId} a new status by operation activity...`); + + try { + await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); + continue; + } catch (error) { + logger.warn( + `Setting minion ${activity.minionId} a new status by operation activity data: ` + + `${JSON.stringify(activity.minionStatus)} fail, ` + + `${JSON.stringify(error)}`, + ); + } + + await Delay(moment.duration(3, 'seconds')); + + logger.info(`Trying set status for ${activity.minionId} agine...`); + + try { + await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); + continue; + } catch (error) { + logger.warn(`The second try to set status for ${activity.minionId} fail too`); + } + + await Delay(moment.duration(5, 'seconds')); + + logger.info(`Last chance of set status for ${activity.minionId} ...`); + + try { + await this.minionsBl.setMinionStatus(activity.minionId, activity.minionStatus); + } catch (error) { + logger.warn(`Last chance to set status for ${activity.minionId} fail too. sorry ;)`); + errors.push({ + minionId: activity.minionId, + error, + }); + } } + return errors; + } } export const OperationsBlSingleton = new OperationsBl(OperationsDalSingleton, MinionsBlSingleton); diff --git a/backend/src/business-layer/remoteConnectionBl.ts b/backend/src/business-layer/remoteConnectionBl.ts index 54ba99ae..59af6b62 100644 --- a/backend/src/business-layer/remoteConnectionBl.ts +++ b/backend/src/business-layer/remoteConnectionBl.ts @@ -7,7 +7,13 @@ import { WebSocketClient } from 'reconnecting-ws'; import { RemoteConnectionDal } from '../data-layer/remoteConnectionDal'; import { RemoteConnectionDalSingleton } from '../data-layer/remoteConnectionDal'; import { HttpRequest, LocalMessage, RemoteMessage } from '../models/remote2localProtocol'; -import { ErrorResponse, MinionFeed, RemoteConnectionStatus, RemoteSettings, TimingFeed } from '../models/sharedInterfaces'; +import { + ErrorResponse, + MinionFeed, + RemoteConnectionStatus, + RemoteSettings, + TimingFeed, +} from '../models/sharedInterfaces'; import { logger } from '../utilities/logger'; import { GetMachinMacAddress } from '../utilities/macAddress'; import { MinionsBl } from './minionsBl'; @@ -19,501 +25,518 @@ import { TimingsBlSingleton } from './timingsBl'; * Used to connect remote server via web socket, and let`s users acceess */ export class RemoteConnectionBl { - - private ACK_INTERVAL = moment.duration(20, 'seconds'); - private REMOTE_REQUEST_TIMEOUT = moment.duration(20, 'seconds'); - private ackPongRecieved = true; - - /** Hold register requests promis functions */ - private registerAccountsPromisessMap: { - [key: string]: { - resolve: () => {}, - reject: (errorResponse: ErrorResponse) => {}, - timeout: NodeJS.Timeout, - }, - } = {}; - - /** Hold get register users requests promis */ - private requestRegisteredUsersPromisess: { - resolve: (registeredUsers: string[]) => {}, - reject: (errorResponse: ErrorResponse) => {}, - timeout: NodeJS.Timeout, + private ACK_INTERVAL = moment.duration(20, 'seconds'); + private REMOTE_REQUEST_TIMEOUT = moment.duration(20, 'seconds'); + private ackPongRecieved = true; + + /** Hold register requests promis functions */ + private registerAccountsPromisessMap: { + [key: string]: { + resolve: () => {}; + reject: (errorResponse: ErrorResponse) => {}; + timeout: NodeJS.Timeout; }; - - /** Express router, used to create http requests from - * remote server without actually open TCP connection. - */ - private expressRouter: express.Express; - - /** Hold the remote connection status */ - private remoteConnectionStatus: RemoteConnectionStatus = 'cantReachRemoteServer'; - - /** Web socket client object, to connect remote server */ - private webSocketClient: WebSocketClient; - - /** - * Init remote connection bl. using dependecy injection pattern to allow units testings. - * @param remoteConnectionDal Inject the remote connection dal.. - * @param minionsBl Inject the minions bl instance to used minionsBl. - * @param timingsBl Inject the timings bl instance to used timingsBl. - */ - constructor(private remoteConnectionDal: RemoteConnectionDal, - private minionsBl: MinionsBl, - private timingsBl: TimingsBl, - ) { - /** Use chai testing lib, to mock http requests */ - chai.use(chaiHttp); - - /** Connect to remote server */ - this.connectToRemote(); - - /** Subscribe to minions feed, to forward remote server */ - this.minionsBl.minionFeed.subscribe((minionFeed: MinionFeed) => { - const localMessage: LocalMessage = { - localMessagesType: 'feed', - message: { - feed: { - feedType: 'minions', - feedContent: minionFeed, - }, - }, - }; - this.sendMessage(localMessage); - }); - - /** Subscribe to timings feed, to forward remote server */ - this.timingsBl.timingFeed.subscribe((timingFeed: TimingFeed) => { - const localMessage: LocalMessage = { - localMessagesType: 'feed', - message: { - feed: { - feedType: 'timings', - feedContent: timingFeed, - }, - }, - }; - this.sendMessage(localMessage); - }); - - /** Start sending ack message interval */ - setInterval(() => { - /** If status is not OK or Connection problem - * dont send ack message. - * (If remote server not set yet, ther is no point to try sending ack). - */ - if (this.remoteConnectionStatus !== 'connectionOK' && - this.remoteConnectionStatus !== 'cantReachRemoteServer') { - return; - } - - if (!this.ackPongRecieved) { - this.remoteConnectionStatus = 'cantReachRemoteServer'; - } else { - this.remoteConnectionStatus = 'connectionOK'; - } - - this.ackPongRecieved = false; - this.sendMessage({ - localMessagesType: 'ack', - message: {}, - }); - }, this.ACK_INTERVAL.asMilliseconds()); - } - - /** - * Let app give the express router instance. - * Then each remote request will pass to app via router. - * without actually opening TCP connection with HTTP request. - * @param expressRouter The express app/router instance - */ - public loadExpressRouter(expressRouter: express.Express) { - this.expressRouter = expressRouter; - } - - /** Get current remote connection status */ - public get connectionStatus(): RemoteConnectionStatus { - return this.remoteConnectionStatus; - } - - /** Get remote server host/ip name */ - public async getRemoteHost(): Promise { - const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); - if (!remoteSettings) { - return ''; - } - return remoteSettings.host; - } - - /** - * Set remote server settings. - * then close old connection if exsit, and try open new connection with new settings. - */ - public async setRemoteSettings(remoteSettings: RemoteSettings) { - this.closeRemoteConnection(); - this.remoteConnectionStatus = 'notConfigured'; - await this.remoteConnectionDal.setRemoteSettings(remoteSettings); - this.connectToRemote(); - } - - /** - * Disconnect from remote server, and delete his settings. - */ - public async removeRemoteSettings() { - this.closeRemoteConnection(); - this.remoteConnectionStatus = 'notConfigured'; - await this.remoteConnectionDal.deleteRemoteSettings(); - } - - /** - * Request from the remote server to send code to email befor register account request - * @param email user email account - */ - public async requestSendUserRegisterCode(email: string) { - if (this.remoteConnectionStatus !== 'connectionOK') { - throw { - message: 'There is no connection to remote server', - responseCode: 6501, - } as ErrorResponse; - } - - await this.sendMessage({ - localMessagesType: 'sendRegistrationCode', - message: { - sendRegistrationCode: { - email, - }, - }, - }); + } = {}; + + /** Hold get register users requests promis */ + private requestRegisteredUsersPromisess: { + resolve: (registeredUsers: string[]) => {}; + reject: (errorResponse: ErrorResponse) => {}; + timeout: NodeJS.Timeout; + }; + + /** Express router, used to create http requests from + * remote server without actually open TCP connection. + */ + private expressRouter: express.Express; + + /** Hold the remote connection status */ + private remoteConnectionStatus: RemoteConnectionStatus = 'cantReachRemoteServer'; + + /** Web socket client object, to connect remote server */ + private webSocketClient: WebSocketClient; + + /** + * Init remote connection bl. using dependecy injection pattern to allow units testings. + * @param remoteConnectionDal Inject the remote connection dal.. + * @param minionsBl Inject the minions bl instance to used minionsBl. + * @param timingsBl Inject the timings bl instance to used timingsBl. + */ + constructor( + private remoteConnectionDal: RemoteConnectionDal, + private minionsBl: MinionsBl, + private timingsBl: TimingsBl, + ) { + /** Use chai testing lib, to mock http requests */ + chai.use(chaiHttp); + + /** Connect to remote server */ + this.connectToRemote(); + + /** Subscribe to minions feed, to forward remote server */ + this.minionsBl.minionFeed.subscribe((minionFeed: MinionFeed) => { + const localMessage: LocalMessage = { + localMessagesType: 'feed', + message: { + feed: { + feedType: 'minions', + feedContent: minionFeed, + }, + }, + }; + this.sendMessage(localMessage); + }); + + /** Subscribe to timings feed, to forward remote server */ + this.timingsBl.timingFeed.subscribe((timingFeed: TimingFeed) => { + const localMessage: LocalMessage = { + localMessagesType: 'feed', + message: { + feed: { + feedType: 'timings', + feedContent: timingFeed, + }, + }, + }; + this.sendMessage(localMessage); + }); + + /** Start sending ack message interval */ + setInterval(() => { + /** If status is not OK or Connection problem + * dont send ack message. + * (If remote server not set yet, ther is no point to try sending ack). + */ + if (this.remoteConnectionStatus !== 'connectionOK' && this.remoteConnectionStatus !== 'cantReachRemoteServer') { + return; + } + + if (!this.ackPongRecieved) { + this.remoteConnectionStatus = 'cantReachRemoteServer'; + } else { + this.remoteConnectionStatus = 'connectionOK'; + } + + this.ackPongRecieved = false; + this.sendMessage({ + localMessagesType: 'ack', + message: {}, + }); + }, this.ACK_INTERVAL.asMilliseconds()); + } + + /** + * Let app give the express router instance. + * Then each remote request will pass to app via router. + * without actually opening TCP connection with HTTP request. + * @param expressRouter The express app/router instance + */ + public loadExpressRouter(expressRouter: express.Express) { + this.expressRouter = expressRouter; + } + + /** Get current remote connection status */ + public get connectionStatus(): RemoteConnectionStatus { + return this.remoteConnectionStatus; + } + + /** Get remote server host/ip name */ + public async getRemoteHost(): Promise { + const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); + if (!remoteSettings) { + return ''; } - - /** - * Remove account from local server valid account to forward from remote to local - * @param email user email account - */ - public unregisterUserFromRemoteForwarding(email: string): Promise { - if (this.remoteConnectionStatus !== 'connectionOK') { - throw { - message: 'There is no connection to remote server', - responseCode: 6501, - } as ErrorResponse; - } - - return new Promise(async (resolve, reject) => { - await this.sendMessage({ - localMessagesType: 'unregisterAccount', - message: { - unregisterAccount: { - email, - }, - }, - }); - - this.registerAccountsPromisessMap[email] = { - resolve: resolve as any, - reject: reject as any, - timeout: setTimeout(() => { - reject({ - message: 'remote server timeout', - responseCode: 12503, - } as ErrorResponse); - - }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), - }; - }); + return remoteSettings.host; + } + + /** + * Set remote server settings. + * then close old connection if exsit, and try open new connection with new settings. + */ + public async setRemoteSettings(remoteSettings: RemoteSettings) { + this.closeRemoteConnection(); + this.remoteConnectionStatus = 'notConfigured'; + await this.remoteConnectionDal.setRemoteSettings(remoteSettings); + this.connectToRemote(); + } + + /** + * Disconnect from remote server, and delete his settings. + */ + public async removeRemoteSettings() { + this.closeRemoteConnection(); + this.remoteConnectionStatus = 'notConfigured'; + await this.remoteConnectionDal.deleteRemoteSettings(); + } + + /** + * Request from the remote server to send code to email befor register account request + * @param email user email account + */ + public async requestSendUserRegisterCode(email: string) { + if (this.remoteConnectionStatus !== 'connectionOK') { + throw { + message: 'There is no connection to remote server', + responseCode: 6501, + } as ErrorResponse; } - /** - * Register account to allow forward HTTP requests from remote to local server - * @param email user email account - * @param code auth. code that sent by remote server to email. - */ - public registerUserForRemoteForwarding(email: string, code: string): Promise { - - if (this.remoteConnectionStatus !== 'connectionOK') { - throw { - message: 'There is no connection to remote server', - responseCode: 6501, - } as ErrorResponse; - } - - return new Promise(async (resolve, reject) => { - await this.sendMessage({ - localMessagesType: 'registerAccount', - message: { - registerAccount: { - email, - code, - }, - }, - }); - - this.registerAccountsPromisessMap[email] = { - resolve: resolve as any, - reject: reject as any, - timeout: setTimeout(() => { - reject({ - message: 'remote server timeout', - responseCode: 12503, - } as ErrorResponse); - - }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), - }; - }); + await this.sendMessage({ + localMessagesType: 'sendRegistrationCode', + message: { + sendRegistrationCode: { + email, + }, + }, + }); + } + + /** + * Remove account from local server valid account to forward from remote to local + * @param email user email account + */ + public unregisterUserFromRemoteForwarding(email: string): Promise { + if (this.remoteConnectionStatus !== 'connectionOK') { + throw { + message: 'There is no connection to remote server', + responseCode: 6501, + } as ErrorResponse; } - /** - * Get registered users of current local server from the remote server. - */ - public getRegisteredUsersForRemoteForwarding(): Promise { - - if (this.remoteConnectionStatus !== 'connectionOK') { - throw { - message: 'There is no connection to remote server', - responseCode: 6501, - } as ErrorResponse; - } - - return new Promise(async (resolve, reject) => { - await this.sendMessage({ - localMessagesType: 'registeredUsers', - message: {}, - }); - - this.requestRegisteredUsersPromisess = { - resolve: resolve as any, - reject: reject as any, - timeout: setTimeout(() => { - reject({ - message: 'remote server timeout', - responseCode: 12503, - } as ErrorResponse); - - }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), - }; - }); + return new Promise(async (resolve, reject) => { + await this.sendMessage({ + localMessagesType: 'unregisterAccount', + message: { + unregisterAccount: { + email, + }, + }, + }); + + this.registerAccountsPromisessMap[email] = { + resolve: resolve as any, + reject: reject as any, + timeout: setTimeout(() => { + reject({ + message: 'remote server timeout', + responseCode: 12503, + } as ErrorResponse); + }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), + }; + }); + } + + /** + * Register account to allow forward HTTP requests from remote to local server + * @param email user email account + * @param code auth. code that sent by remote server to email. + */ + public registerUserForRemoteForwarding(email: string, code: string): Promise { + if (this.remoteConnectionStatus !== 'connectionOK') { + throw { + message: 'There is no connection to remote server', + responseCode: 6501, + } as ErrorResponse; } - /** - * Send a message to remote server. - * @param localMessage message to send - */ - private sendMessage(localMessage: LocalMessage) { - if (this.remoteConnectionStatus !== 'connectionOK' && - this.remoteConnectionStatus !== 'cantReachRemoteServer') { - return; - } - try { this.webSocketClient.sendData(JSON.stringify(localMessage)); } catch (error) { } + return new Promise(async (resolve, reject) => { + await this.sendMessage({ + localMessagesType: 'registerAccount', + message: { + registerAccount: { + email, + code, + }, + }, + }); + + this.registerAccountsPromisessMap[email] = { + resolve: resolve as any, + reject: reject as any, + timeout: setTimeout(() => { + reject({ + message: 'remote server timeout', + responseCode: 12503, + } as ErrorResponse); + }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), + }; + }); + } + + /** + * Get registered users of current local server from the remote server. + */ + public getRegisteredUsersForRemoteForwarding(): Promise { + if (this.remoteConnectionStatus !== 'connectionOK') { + throw { + message: 'There is no connection to remote server', + responseCode: 6501, + } as ErrorResponse; } - /** Close manualy web socket to remote server */ - private closeRemoteConnection() { - try { this.webSocketClient.disconnect(); } catch (error) { } + return new Promise(async (resolve, reject) => { + await this.sendMessage({ + localMessagesType: 'registeredUsers', + message: {}, + }); + + this.requestRegisteredUsersPromisess = { + resolve: resolve as any, + reject: reject as any, + timeout: setTimeout(() => { + reject({ + message: 'remote server timeout', + responseCode: 12503, + } as ErrorResponse); + }, this.REMOTE_REQUEST_TIMEOUT.asMilliseconds()), + }; + }); + } + + /** + * Send a message to remote server. + * @param localMessage message to send + */ + private sendMessage(localMessage: LocalMessage) { + if (this.remoteConnectionStatus !== 'connectionOK' && this.remoteConnectionStatus !== 'cantReachRemoteServer') { + return; } - - /** Connect to remote server by web sockets */ - private async connectToRemote() { - /** Get remote server settings */ - const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); - - /** If there is not settings */ - if (!remoteSettings) { - this.remoteConnectionStatus = 'notConfigured'; - logger.debug('There is no connection configuration to remote server.'); - return; - } - - /** create web socket instance */ - this.webSocketClient = new WebSocketClient(3000, false); - - /** Allow *only wss* connections. */ - /** open connection to remote server. */ - this.webSocketClient.connect(`${remoteSettings.host}`); - - logger.info(`Opening ws channel to ${remoteSettings.host}`); - - this.webSocketClient.on('open', () => { - this.remoteConnectionStatus = 'connectionOK'; - logger.info(`Ws channel to ${remoteSettings.host} opend succssfuly`); - }); - - this.webSocketClient.on('message', async (rawRemoteMessage: string) => { - - /** Parse message and send to correct method handle */ - const remoteMessage: RemoteMessage = JSON.parse(rawRemoteMessage); - switch (remoteMessage.remoteMessagesType) { - case 'readyToInitialization': await this.onInitReady(); break; - case 'authenticationFail': await this.onAuthenticationFail(remoteMessage.message[remoteMessage.remoteMessagesType]); break; - case 'authenticatedSuccessfuly': await this.onAuthenticatedSuccessfuly(); break; - case 'registerUserResults': - await this.onRegisterUserResults(remoteMessage.message[remoteMessage.remoteMessagesType]); break; - case 'registeredUsers': - await this.onRegisteredUsersDataArrived(remoteMessage.message[remoteMessage.remoteMessagesType]); break; - case 'ackOk': await this.OnArkOk(); break; - case 'httpRequest': await this.onRemoteHttpRequest(remoteMessage.message[remoteMessage.remoteMessagesType]); break; - } - }); - - this.webSocketClient.on('error', (err: Error) => { - logger.info(`Ws channel error ${err.message}`); - }); - - this.webSocketClient.on('close', (code: number, reason: string) => { - if (this.remoteConnectionStatus !== 'connectionOK') { - return; - } - this.remoteConnectionStatus = 'cantReachRemoteServer'; - logger.info(`Ws channel closed ${remoteSettings.host} code: ${code} reasone: ${reason}`); - }); - - this.webSocketClient.on('reconnect', () => { - logger.debug(`Ws channel trying reconnect ${remoteSettings.host}`); - }); + try { + this.webSocketClient.sendData(JSON.stringify(localMessage)); + } catch (error) {} + } + + /** Close manualy web socket to remote server */ + private closeRemoteConnection() { + try { + this.webSocketClient.disconnect(); + } catch (error) {} + } + + /** Connect to remote server by web sockets */ + private async connectToRemote() { + /** Get remote server settings */ + const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); + + /** If there is not settings */ + if (!remoteSettings) { + this.remoteConnectionStatus = 'notConfigured'; + logger.debug('There is no connection configuration to remote server.'); + return; } - private async OnArkOk() { - this.ackPongRecieved = true; - this.remoteConnectionStatus = 'connectionOK'; + /** create web socket instance */ + this.webSocketClient = new WebSocketClient(3000, false); + + /** Allow *only wss* connections. */ + /** open connection to remote server. */ + this.webSocketClient.connect(`${remoteSettings.host}`); + + logger.info(`Opening ws channel to ${remoteSettings.host}`); + + this.webSocketClient.on('open', () => { + this.remoteConnectionStatus = 'connectionOK'; + logger.info(`Ws channel to ${remoteSettings.host} opend succssfuly`); + }); + + this.webSocketClient.on('message', async (rawRemoteMessage: string) => { + /** Parse message and send to correct method handle */ + const remoteMessage: RemoteMessage = JSON.parse(rawRemoteMessage); + switch (remoteMessage.remoteMessagesType) { + case 'readyToInitialization': + await this.onInitReady(); + break; + case 'authenticationFail': + await this.onAuthenticationFail(remoteMessage.message[remoteMessage.remoteMessagesType]); + break; + case 'authenticatedSuccessfuly': + await this.onAuthenticatedSuccessfuly(); + break; + case 'registerUserResults': + await this.onRegisterUserResults(remoteMessage.message[remoteMessage.remoteMessagesType]); + break; + case 'registeredUsers': + await this.onRegisteredUsersDataArrived(remoteMessage.message[remoteMessage.remoteMessagesType]); + break; + case 'ackOk': + await this.OnArkOk(); + break; + case 'httpRequest': + await this.onRemoteHttpRequest(remoteMessage.message[remoteMessage.remoteMessagesType]); + break; + } + }); + + this.webSocketClient.on('error', (err: Error) => { + logger.info(`Ws channel error ${err.message}`); + }); + + this.webSocketClient.on('close', (code: number, reason: string) => { + if (this.remoteConnectionStatus !== 'connectionOK') { + return; + } + this.remoteConnectionStatus = 'cantReachRemoteServer'; + logger.info(`Ws channel closed ${remoteSettings.host} code: ${code} reasone: ${reason}`); + }); + + this.webSocketClient.on('reconnect', () => { + logger.debug(`Ws channel trying reconnect ${remoteSettings.host}`); + }); + } + + private async OnArkOk() { + this.ackPongRecieved = true; + this.remoteConnectionStatus = 'connectionOK'; + } + + private onRegisterUserResults(forwardUserResults: { user: string; results?: ErrorResponse }) { + const { user, results } = forwardUserResults; + + if (!this.registerAccountsPromisessMap[user]) { + return; } - private onRegisterUserResults(forwardUserResults: { user: string; results?: ErrorResponse; }) { - const { user, results } = forwardUserResults; - - if (!this.registerAccountsPromisessMap[user]) { - return; - } - - /** Get the request promise functions */ - const requestPromises = this.registerAccountsPromisessMap[user]; - - /** Clear the timeout function */ - clearTimeout(requestPromises.timeout); + /** Get the request promise functions */ + const requestPromises = this.registerAccountsPromisessMap[user]; - /** If all ok, invoke the resolve function */ - if (!results) { - requestPromises.resolve(); - } else { - /** Else invoke the reject function with error */ - requestPromises.reject(results); - } + /** Clear the timeout function */ + clearTimeout(requestPromises.timeout); - /** remote user from request promises map. */ - delete this.registerAccountsPromisessMap[user]; + /** If all ok, invoke the resolve function */ + if (!results) { + requestPromises.resolve(); + } else { + /** Else invoke the reject function with error */ + requestPromises.reject(results); } - private onRegisteredUsersDataArrived(registeredUsers: string[]) { + /** remote user from request promises map. */ + delete this.registerAccountsPromisessMap[user]; + } - if (!this.requestRegisteredUsersPromisess) { - return; - } - - /** Clear the timeout function */ - clearTimeout(this.requestRegisteredUsersPromisess.timeout); - - this.requestRegisteredUsersPromisess.resolve(registeredUsers); - - /** Throw promisses away. */ - this.requestRegisteredUsersPromisess = undefined; - } - - /** Handle auth passed messages from remote server */ - private async onAuthenticatedSuccessfuly() { - this.remoteConnectionStatus = 'connectionOK'; - logger.info(`Successfuly authenticated to remote server.`); + private onRegisteredUsersDataArrived(registeredUsers: string[]) { + if (!this.requestRegisteredUsersPromisess) { + return; } - /** - * Handle auth fail message from remote server. - * @param errorResponse Error message from remote server. - */ - private async onAuthenticationFail(errorResponse: ErrorResponse) { - logger.error(`Authenticate local server in remote server fail, ${errorResponse.message}`); + /** Clear the timeout function */ + clearTimeout(this.requestRegisteredUsersPromisess.timeout); + + this.requestRegisteredUsersPromisess.resolve(registeredUsers); + + /** Throw promisses away. */ + this.requestRegisteredUsersPromisess = undefined; + } + + /** Handle auth passed messages from remote server */ + private async onAuthenticatedSuccessfuly() { + this.remoteConnectionStatus = 'connectionOK'; + logger.info(`Successfuly authenticated to remote server.`); + } + + /** + * Handle auth fail message from remote server. + * @param errorResponse Error message from remote server. + */ + private async onAuthenticationFail(errorResponse: ErrorResponse) { + logger.error(`Authenticate local server in remote server fail, ${errorResponse.message}`); + this.closeRemoteConnection(); + this.remoteConnectionStatus = 'authorizationFail'; + } + + /** + * On remote server ready to local authentication request. + */ + private async onInitReady() { + try { + const machineAddress = await GetMachinMacAddress(); + const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); + + if (!remoteSettings) { + logger.error(`There is no way to connect remote server, remote settings data not exist`); this.closeRemoteConnection(); - this.remoteConnectionStatus = 'authorizationFail'; + this.remoteConnectionStatus = 'notConfigured'; + return; + } + + this.sendMessage({ + localMessagesType: 'initialization', + message: { + initialization: { + macAddress: machineAddress, + remoteAuthKey: remoteSettings.connectionKey, + }, + }, + }); + } catch (error) { + logger.error(`There is no way to connect remote server, fail to get mac address ${error}`); + this.closeRemoteConnection(); } + } - /** - * On remote server ready to local authentication request. - */ - private async onInitReady() { - try { - const machineAddress = await GetMachinMacAddress(); - const remoteSettings = await this.remoteConnectionDal.getRemoteSettings(); - - if (!remoteSettings) { - logger.error(`There is no way to connect remote server, remote settings data not exist`); - this.closeRemoteConnection(); - this.remoteConnectionStatus = 'notConfigured'; - return; - } - - this.sendMessage({ - localMessagesType: 'initialization', - message: { - initialization: { - macAddress: machineAddress, - remoteAuthKey: remoteSettings.connectionKey, - }, - }, - }); - - } catch (error) { - logger.error(`There is no way to connect remote server, fail to get mac address ${error}`); - this.closeRemoteConnection(); - } + /** Handle http request from remote server */ + private async onRemoteHttpRequest(httpRequest: HttpRequest) { + /** If express router not load yet, ignore */ + if (!this.expressRouter) { + return; } - /** Handle http request from remote server */ - private async onRemoteHttpRequest(httpRequest: HttpRequest) { - - /** If express router not load yet, ignore */ - if (!this.expressRouter) { - return; - } - - /** create request agent mock */ - const requestAgent = chai.request(this.expressRouter); - /** generate request */ - let request = requestAgent.get('/'); - /** generate correct request method */ - switch (httpRequest.httpMethod) { - case 'GET': request = requestAgent.get(httpRequest.httpPath); break; - case 'POST': request = requestAgent.post(httpRequest.httpPath); break; - case 'PUT': request = requestAgent.put(httpRequest.httpPath); break; - case 'DELETE': request = requestAgent.del(httpRequest.httpPath); break; - } - /** set cookie header */ - request.set('Cookie', `session=${httpRequest.httpSession}`); - /** send request and wait for response */ - const response = await request.send(httpRequest.httpBody); - /** send response back to remote server */ - this.sendMessage({ - localMessagesType: 'httpResponse', - message: { - httpResponse: { - requestId: httpRequest.requestId, - httpStatus: response.status, - httpBody: response.body, - httpSession: this.extractCookie(response.header), - }, - }, - }); + /** create request agent mock */ + const requestAgent = chai.request(this.expressRouter); + /** generate request */ + let request = requestAgent.get('/'); + /** generate correct request method */ + switch (httpRequest.httpMethod) { + case 'GET': + request = requestAgent.get(httpRequest.httpPath); + break; + case 'POST': + request = requestAgent.post(httpRequest.httpPath); + break; + case 'PUT': + request = requestAgent.put(httpRequest.httpPath); + break; + case 'DELETE': + request = requestAgent.del(httpRequest.httpPath); + break; } - - /** Extract http cookie from http headers response */ - private extractCookie(headers: {}): { key: string; maxAge: number; } { - try { - if (!headers['set-cookie']) { - return; - } - const sessionParts = headers['set-cookie'][0].split(';'); - return { - key: sessionParts[0].split('=')[1], - maxAge: parseInt(sessionParts[1].split('=')[1], 10), - }; - } catch (error) { return; } + /** set cookie header */ + request.set('Cookie', `session=${httpRequest.httpSession}`); + /** send request and wait for response */ + const response = await request.send(httpRequest.httpBody); + /** send response back to remote server */ + this.sendMessage({ + localMessagesType: 'httpResponse', + message: { + httpResponse: { + requestId: httpRequest.requestId, + httpStatus: response.status, + httpBody: response.body, + httpSession: this.extractCookie(response.header), + }, + }, + }); + } + + /** Extract http cookie from http headers response */ + private extractCookie(headers: {}): { key: string; maxAge: number } { + try { + if (!headers['set-cookie']) { + return; + } + const sessionParts = headers['set-cookie'][0].split(';'); + return { + key: sessionParts[0].split('=')[1], + maxAge: parseInt(sessionParts[1].split('=')[1], 10), + }; + } catch (error) { + return; } + } } -export const RemoteConnectionBlSingleton = new RemoteConnectionBl(RemoteConnectionDalSingleton, - MinionsBlSingleton, - TimingsBlSingleton); +export const RemoteConnectionBlSingleton = new RemoteConnectionBl( + RemoteConnectionDalSingleton, + MinionsBlSingleton, + TimingsBlSingleton, +); diff --git a/backend/src/business-layer/rfBl.ts b/backend/src/business-layer/rfBl.ts index 134a7a47..ead038ad 100644 --- a/backend/src/business-layer/rfBl.ts +++ b/backend/src/business-layer/rfBl.ts @@ -1,11 +1,7 @@ import * as request from 'request-promise'; import { Configuration } from '../config'; import { AcCommands, CommandsSet, RollerCommands, ToggleCommands } from '../models/backendInterfaces'; -import { - CommandsRepoDevice, - ErrorResponse, - MinionStatus, -} from '../models/sharedInterfaces'; +import { CommandsRepoDevice, ErrorResponse, MinionStatus } from '../models/sharedInterfaces'; import { ModulesManager, ModulesManagerSingltone } from '../modules/modulesManager'; import { logger } from '../utilities/logger'; import { Delay } from '../utilities/sleep'; @@ -13,109 +9,108 @@ import { DevicesBl, DevicesBlSingleton } from './devicesBl'; import { MinionsBl, MinionsBlSingleton } from './minionsBl'; export class RfBl { + /** + * Init minions bl. using dependecy injection pattern to allow units testings. + * @param minionsDal Inject the dal instance. + */ + constructor(private minionsBl: MinionsBl, private modulesManager: ModulesManager) {} - /** - * Init minions bl. using dependecy injection pattern to allow units testings. - * @param minionsDal Inject the dal instance. - */ - constructor(private minionsBl: MinionsBl, private modulesManager: ModulesManager) { - - } - - /** - * Get all aupported devices in commands repo. - * @returns supported devices collection. - */ - public async getAvailableDevicesToFetch(): Promise { - try { - return await request({ - method: 'GET', - uri: `${Configuration.commandsRepoUrl}/devices`, - json: true, - }); - } catch (error) { - logger.warn(`Get supported devices from commands repo fail, ${JSON.stringify(!error ? error : error.message)}`); - throw { - responseCode: 10501, - message: 'Get supported devices from commands repo fail', - } as ErrorResponse; - } + /** + * Get all aupported devices in commands repo. + * @returns supported devices collection. + */ + public async getAvailableDevicesToFetch(): Promise { + try { + return await request({ + method: 'GET', + uri: `${Configuration.commandsRepoUrl}/devices`, + json: true, + }); + } catch (error) { + logger.warn(`Get supported devices from commands repo fail, ${JSON.stringify(!error ? error : error.message)}`); + throw { + responseCode: 10501, + message: 'Get supported devices from commands repo fail', + } as ErrorResponse; } + } - /** - * Fetch commands set for certain minion. - * @param minionId minion to fetch commands for. - * @param commandsRepoDevice devices commands set to fetch. - */ - public async fetchDeviceCommandsToMinion(minionId: string, commandsRepoDevice: CommandsRepoDevice) { - const minion = await this.minionsBl.getMinionById(minionId); - - try { - const commands: ToggleCommands | AcCommands | RollerCommands = await request({ - method: 'GET', - uri: `${Configuration.commandsRepoUrl}/rf/${commandsRepoDevice.brand}/${commandsRepoDevice.model}`, - json: true, - }); + /** + * Fetch commands set for certain minion. + * @param minionId minion to fetch commands for. + * @param commandsRepoDevice devices commands set to fetch. + */ + public async fetchDeviceCommandsToMinion(minionId: string, commandsRepoDevice: CommandsRepoDevice) { + const minion = await this.minionsBl.getMinionById(minionId); - const commandsSet: CommandsSet = { - deviceType: minion.minionType, - commands: { + try { + const commands: ToggleCommands | AcCommands | RollerCommands = await request({ + method: 'GET', + uri: `${Configuration.commandsRepoUrl}/rf/${commandsRepoDevice.brand}/${commandsRepoDevice.model}`, + json: true, + }); - }, - }; - commandsSet.commands[minion.minionType] = commands; - await this.modulesManager.setFetchedCommands(minion, commandsSet); - } catch (error) { - // tslint:disable-next-line:max-line-length - logger.warn(`Fetch rf commands for ${commandsRepoDevice.brand}/${commandsRepoDevice.model} fail, ${JSON.stringify(!error ? error : error.message)}`); - throw { - responseCode: 11501, - message: 'Fetch rf commands commands repo fail', - } as ErrorResponse; - } + const commandsSet: CommandsSet = { + deviceType: minion.minionType, + commands: {}, + }; + commandsSet.commands[minion.minionType] = commands; + await this.modulesManager.setFetchedCommands(minion, commandsSet); + } catch (error) { + // tslint:disable-next-line:max-line-length + logger.warn( + `Fetch rf commands for ${commandsRepoDevice.brand}/${commandsRepoDevice.model} fail, ${JSON.stringify( + !error ? error : error.message, + )}`, + ); + throw { + responseCode: 11501, + message: 'Fetch rf commands commands repo fail', + } as ErrorResponse; } + } + + /** + * Record command for current minion status. + * @param minionId minion to record for. + * @param statusToRecordFor The status to record command for. + */ + public async recordCommand(minionId: string, statusToRecordFor: MinionStatus): Promise { + const minion = await this.minionsBl.getMinionById(minionId); /** - * Record command for current minion status. - * @param minionId minion to record for. - * @param statusToRecordFor The status to record command for. + * The minion status is depend on minion type. */ - public async recordCommand(minionId: string, statusToRecordFor: MinionStatus): Promise { - const minion = await this.minionsBl.getMinionById(minionId); + if (!statusToRecordFor[minion.minionType]) { + throw { + responseCode: 1405, + message: 'incorrect minion status for current minion type', + } as ErrorResponse; + } - /** - * The minion status is depend on minion type. - */ - if (!statusToRecordFor[minion.minionType]) { - throw { - responseCode: 1405, - message: 'incorrect minion status for current minion type', - } as ErrorResponse; - } + await this.modulesManager.enterRecordMode(minion, statusToRecordFor); + } - await this.modulesManager.enterRecordMode(minion, statusToRecordFor); - } + /** + * Record command for current minion status. + * @param minionId minion to record for. + * @param statusToGenerateFor The status to record command for. + */ + public async generateCommand(minionId: string, statusToGenerateFor: MinionStatus): Promise { + const minion = await this.minionsBl.getMinionById(minionId); /** - * Record command for current minion status. - * @param minionId minion to record for. - * @param statusToGenerateFor The status to record command for. + * The minion status is depend on minion type. */ - public async generateCommand(minionId: string, statusToGenerateFor: MinionStatus): Promise { - const minion = await this.minionsBl.getMinionById(minionId); - - /** - * The minion status is depend on minion type. - */ - if (!statusToGenerateFor[minion.minionType]) { - throw { - responseCode: 1405, - message: 'incorrect minion status for current minion type', - } as ErrorResponse; - } - - await this.modulesManager.generateCommand(minion, statusToGenerateFor); + if (!statusToGenerateFor[minion.minionType]) { + throw { + responseCode: 1405, + message: 'incorrect minion status for current minion type', + } as ErrorResponse; } + + await this.modulesManager.generateCommand(minion, statusToGenerateFor); + } } export const RfBlSingleton = new RfBl(MinionsBlSingleton, ModulesManagerSingltone); diff --git a/backend/src/business-layer/sessionsBl.ts b/backend/src/business-layer/sessionsBl.ts index ccb65ee2..971e3d5b 100644 --- a/backend/src/business-layer/sessionsBl.ts +++ b/backend/src/business-layer/sessionsBl.ts @@ -8,85 +8,80 @@ import { User } from '../models/sharedInterfaces'; import { sessionExpiresMs } from './authBl'; export class SessionsBl { - - private sessionDal: SessionsDal; - - /** - * Init session bl. using dependecy injection pattern to allow units testings. - * @param sessionDal Inject the dal instance. - */ - constructor(sessionDal: SessionsDal) { - - this.sessionDal = sessionDal; - } - - /** - * Gets session by session key, or reject if not exist. - * @param sessionKey session key - * @returns session, or inject if not exist. - */ - public async getSession(sessionKey: string): Promise { - const hashedSession = cryptoJs.SHA512(sessionKey + Configuration.keysHandling.saltHash).toString(); - return await this.sessionDal.getSession(hashedSession); // TODO unit test? - } - - /** - * Get all user sessions. - * @param user User to get session for. - * @returns Session array. - */ - public async getUserSessions(user: User): Promise { - - const sessions: Session[] = await this.sessionDal.getSessions(); - - const userSessions: Session[] = []; - for (const session of sessions) { - if (session.email === user.email && (new Date().getTime() - session.timeStamp) < sessionExpiresMs) { - userSessions.push(session); - } - } - - return userSessions; + private sessionDal: SessionsDal; + + /** + * Init session bl. using dependecy injection pattern to allow units testings. + * @param sessionDal Inject the dal instance. + */ + constructor(sessionDal: SessionsDal) { + this.sessionDal = sessionDal; + } + + /** + * Gets session by session key, or reject if not exist. + * @param sessionKey session key + * @returns session, or inject if not exist. + */ + public async getSession(sessionKey: string): Promise { + const hashedSession = cryptoJs.SHA512(sessionKey + Configuration.keysHandling.saltHash).toString(); + return await this.sessionDal.getSession(hashedSession); // TODO unit test? + } + + /** + * Get all user sessions. + * @param user User to get session for. + * @returns Session array. + */ + public async getUserSessions(user: User): Promise { + const sessions: Session[] = await this.sessionDal.getSessions(); + + const userSessions: Session[] = []; + for (const session of sessions) { + if (session.email === user.email && new Date().getTime() - session.timeStamp < sessionExpiresMs) { + userSessions.push(session); + } } - /** - * Generate session for user. - * @param userToCreateFor User to create session for. - * @returns The new generated session. - */ - public async generateSession(userToCreateFor: User): Promise { - - const generatedSession = randomstring.generate(64); - const newSession: Session = { - keyHash: cryptoJs.SHA512(generatedSession + Configuration.keysHandling.saltHash).toString(), - timeStamp: new Date().getTime(), - email: userToCreateFor.email, - }; - - await this.sessionDal.createSession(newSession); - - return generatedSession; + return userSessions; + } + + /** + * Generate session for user. + * @param userToCreateFor User to create session for. + * @returns The new generated session. + */ + public async generateSession(userToCreateFor: User): Promise { + const generatedSession = randomstring.generate(64); + const newSession: Session = { + keyHash: cryptoJs.SHA512(generatedSession + Configuration.keysHandling.saltHash).toString(), + timeStamp: new Date().getTime(), + email: userToCreateFor.email, + }; + + await this.sessionDal.createSession(newSession); + + return generatedSession; + } + + /** + * Delete session. + * @param session session to selete. + */ + public async deleteSession(session: Session): Promise { + return this.sessionDal.deleteSession(session); + } + + /** + * Delete all user session . + * @param user user to delete all activated sessions. + */ + public async deleteUserSessions(user: User): Promise { + const sessions = await this.getUserSessions(user); + for (const session of sessions) { + await this.deleteSession(session); } - - /** - * Delete session. - * @param session session to selete. - */ - public async deleteSession(session: Session): Promise { - return this.sessionDal.deleteSession(session); - } - - /** - * Delete all user session . - * @param user user to delete all activated sessions. - */ - public async deleteUserSessions(user: User): Promise { - const sessions = await this.getUserSessions(user); - for (const session of sessions) { - await this.deleteSession(session); - } - } - + } } export const SessionsBlSingleton = new SessionsBl(SessionsDalSingelton); diff --git a/backend/src/business-layer/timelineBl.ts b/backend/src/business-layer/timelineBl.ts index c277cbe3..f9d6dacb 100644 --- a/backend/src/business-layer/timelineBl.ts +++ b/backend/src/business-layer/timelineBl.ts @@ -1,53 +1,49 @@ import { TimelineDal, TimelineDalSingleton } from '../data-layer/timelineDal'; -import { - Minion, - MinionTimeline, -} from '../models/sharedInterfaces'; +import { Minion, MinionTimeline } from '../models/sharedInterfaces'; import { MinionsBl, MinionsBlSingleton } from './minionsBl'; /** * This class take care on all logic of timeline management. */ export class TimelineBl { - - /** - * Init TimelineBl . using dependecy injection pattern to allow units testings. - * @param minionsBl Inject minionsBl instance. - * @param timelineDal Inject timelineDal instance. - */ - constructor(private minionsBl: MinionsBl, private timelineDal: TimelineDal) { - - this.minionsBl.minionFeed.subscribe((minionFeed) => { - if (!minionFeed) { - return; - } - - switch (minionFeed.event) { - case 'update': - try { this.onMinionUpdate(minionFeed.minion); } catch { } - break; - } - }); - } - - /** Get timeline nodes array */ - public async getTimeline(): Promise { - return await this.timelineDal.getTimeline(); - } - - /** Add node to the timeline */ - private onMinionUpdate(minion: Minion) { - if (!minion.minionStatus[minion.minionType]) { - return; - } - - this.timelineDal.addTimelinenode({ - minionId: minion.minionId, - timestamp: new Date().getTime(), - status: minion.minionStatus, - }); + /** + * Init TimelineBl . using dependecy injection pattern to allow units testings. + * @param minionsBl Inject minionsBl instance. + * @param timelineDal Inject timelineDal instance. + */ + constructor(private minionsBl: MinionsBl, private timelineDal: TimelineDal) { + this.minionsBl.minionFeed.subscribe(minionFeed => { + if (!minionFeed) { + return; + } + + switch (minionFeed.event) { + case 'update': + try { + this.onMinionUpdate(minionFeed.minion); + } catch {} + break; + } + }); + } + + /** Get timeline nodes array */ + public async getTimeline(): Promise { + return await this.timelineDal.getTimeline(); + } + + /** Add node to the timeline */ + private onMinionUpdate(minion: Minion) { + if (!minion.minionStatus[minion.minionType]) { + return; } + this.timelineDal.addTimelinenode({ + minionId: minion.minionId, + timestamp: new Date().getTime(), + status: minion.minionStatus, + }); + } } export const TimelineBlSingleton = new TimelineBl(MinionsBlSingleton, TimelineDalSingleton); diff --git a/backend/src/business-layer/timeoutBl.ts b/backend/src/business-layer/timeoutBl.ts index bfd1cd80..014e792e 100644 --- a/backend/src/business-layer/timeoutBl.ts +++ b/backend/src/business-layer/timeoutBl.ts @@ -2,12 +2,12 @@ import * as moment from 'moment'; import { Moment } from 'moment'; import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; import { - // tslint:disable-next-line:ordered-imports - Minion, - MinionStatus, - Switch, - SwitchOptions, - Toggle, + // tslint:disable-next-line:ordered-imports + Minion, + MinionStatus, + Switch, + SwitchOptions, + Toggle, } from '../models/sharedInterfaces'; import { DeepCopy } from '../utilities/deepCopy'; import { logger } from '../utilities/logger'; @@ -20,210 +20,208 @@ const TIMEOUT_INTERVAL_ACTIVATION = moment.duration(5, 'seconds'); * Struct to hold info about any minion in system. */ declare interface MinionTimeoutStruct { - isTimeoutDisabled: boolean; - timeout: moment.Duration; - status: SwitchOptions; - turnOnTimeStump: Date; - minionId: string; + isTimeoutDisabled: boolean; + timeout: moment.Duration; + status: SwitchOptions; + turnOnTimeStump: Date; + minionId: string; } /** * This class take care on all logic of minions self timeout. */ export class TimeoutBl { + // Dependecies + private minionsBl: MinionsBl; - // Dependecies - private minionsBl: MinionsBl; + /** + * Info about all minios in system. + */ + private minionsTimeoutInfo: MinionTimeoutStruct[]; + + /** + * Init TimeoutBl . using dependecy injection pattern to allow units testings. + * @param minionsBl Inject minionsBl instance. + */ + constructor(minionsBl: MinionsBl) { + this.minionsBl = minionsBl; /** - * Info about all minios in system. + * Init module. */ - private minionsTimeoutInfo: MinionTimeoutStruct[]; + this.initData(); + } + + /** + * Get minion info sturuct if exsit for given minion id. + * @param minionId minion id to get info for. + */ + private findMinionInfo(minionId: string): MinionTimeoutStruct { + for (const timeoutMinoin of this.minionsTimeoutInfo) { + if (timeoutMinoin.minionId === minionId) { + return timeoutMinoin; + } + } + } + private async timeoutActivation(): Promise { /** - * Init TimeoutBl . using dependecy injection pattern to allow units testings. - * @param minionsBl Inject minionsBl instance. + * get current time. */ - constructor(minionsBl: MinionsBl) { - this.minionsBl = minionsBl; - - /** - * Init module. - */ - this.initData(); - } + const now = new Date(); /** - * Get minion info sturuct if exsit for given minion id. - * @param minionId minion id to get info for. + * Cehck each minion info to know if timeout. */ - private findMinionInfo(minionId: string): MinionTimeoutStruct { - for (const timeoutMinoin of this.minionsTimeoutInfo) { - if (timeoutMinoin.minionId === minionId) { - return timeoutMinoin; - } - } - } + for (const timeoutMinion of this.minionsTimeoutInfo) { + if ( + timeoutMinion.isTimeoutDisabled || + timeoutMinion.status !== 'on' || + now.getTime() - timeoutMinion.turnOnTimeStump.getTime() < timeoutMinion.timeout.asMilliseconds() + ) { + continue; + } + + try { + logger.info(`Minion ${timeoutMinion.minionId} timeout activated`); + const minion = await this.minionsBl.getMinionById(timeoutMinion.minionId); - private async timeoutActivation(): Promise { /** - * get current time. + * Get minion current status, then copy status *by val* */ - const now = new Date(); + const minionStatus = DeepCopy(minion.minionStatus); /** - * Cehck each minion info to know if timeout. + * Set status off. */ - for (const timeoutMinion of this.minionsTimeoutInfo) { - - if (timeoutMinion.isTimeoutDisabled || - timeoutMinion.status !== 'on' || - (now.getTime() - timeoutMinion.turnOnTimeStump.getTime()) < timeoutMinion.timeout.asMilliseconds()) { - continue; - } - - try { - - logger.info(`Minion ${timeoutMinion.minionId} timeout activated`); - const minion = await this.minionsBl.getMinionById(timeoutMinion.minionId); - - /** - * Get minion current status, then copy status *by val* - */ - const minionStatus = DeepCopy(minion.minionStatus); - - /** - * Set status off. - */ - minionStatus[minion.minionType].status = 'off'; - await this.minionsBl.setMinionStatus(timeoutMinion.minionId, minionStatus); - - /** - * If success set status to 'off'. - */ - timeoutMinion.status = 'off'; - } catch (error) { - logger.warn(`Fail to set timeout to ${timeoutMinion.minionId} , error ${error.message}`); - } - - /** - * Some poor devices protocols need it. - */ - await Delay(moment.duration(1, 'seconds')); - } - - } - - /** - * Get switch (on/off) status of minion. - * (each minion kind extends toggel so all minions contain 'status' key). - * @param minion minion to get status from. - */ - private extractMinionOnOffStatus(minion: Minion): SwitchOptions { - const switchObject = (minion.minionStatus[minion.minionType] as Toggle); + minionStatus[minion.minionType].status = 'off'; + await this.minionsBl.setMinionStatus(timeoutMinion.minionId, minionStatus); /** - * New minion some time arrived without any status. + * If success set status to 'off'. */ - if (!switchObject) { - return; - } - return switchObject.status; + timeoutMinion.status = 'off'; + } catch (error) { + logger.warn(`Fail to set timeout to ${timeoutMinion.minionId} , error ${error.message}`); + } + + /** + * Some poor devices protocols need it. + */ + await Delay(moment.duration(1, 'seconds')); } + } + + /** + * Get switch (on/off) status of minion. + * (each minion kind extends toggel so all minions contain 'status' key). + * @param minion minion to get status from. + */ + private extractMinionOnOffStatus(minion: Minion): SwitchOptions { + const switchObject = minion.minionStatus[minion.minionType] as Toggle; /** - * Add new minoin to minions timeout info system. - * @param minion new minion to add. + * New minion some time arrived without any status. */ - private AddMinion(minion: Minion) { - this.minionsTimeoutInfo.push({ - minionId: minion.minionId, - isTimeoutDisabled: (!minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1), - timeout: moment.duration(minion.minionAutoTurnOffMS, 'milliseconds'), - status: this.extractMinionOnOffStatus(minion), - turnOnTimeStump: new Date(), - }); + if (!switchObject) { + return; + } + return switchObject.status; + } + + /** + * Add new minoin to minions timeout info system. + * @param minion new minion to add. + */ + private AddMinion(minion: Minion) { + this.minionsTimeoutInfo.push({ + minionId: minion.minionId, + isTimeoutDisabled: !minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1, + timeout: moment.duration(minion.minionAutoTurnOffMS, 'milliseconds'), + status: this.extractMinionOnOffStatus(minion), + turnOnTimeStump: new Date(), + }); + } + + /** + * Update minoin timeout info system. + * @param minion minion to update from. + */ + private UpdateMinion(minion: Minion) { + const timeoutMinion = this.findMinionInfo(minion.minionId); + + if (!timeoutMinion) { + this.AddMinion(minion); + return; } - /** - * Update minoin timeout info system. - * @param minion minion to update from. - */ - private UpdateMinion(minion: Minion) { - const timeoutMinion = this.findMinionInfo(minion.minionId); + timeoutMinion.isTimeoutDisabled = !minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1; + timeoutMinion.timeout = moment.duration(minion.minionAutoTurnOffMS, 'milliseconds'); - if (!timeoutMinion) { - this.AddMinion(minion); - return; - } + const currentStatus = this.extractMinionOnOffStatus(minion); - timeoutMinion.isTimeoutDisabled = !minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1; - timeoutMinion.timeout = moment.duration(minion.minionAutoTurnOffMS, 'milliseconds'); + /** + * If the status changed to *on* save the timestump. + */ + if (currentStatus !== timeoutMinion.status && currentStatus === 'on') { + timeoutMinion.turnOnTimeStump = new Date(); + } - const currentStatus = this.extractMinionOnOffStatus(minion); + timeoutMinion.status = currentStatus; + } - /** - * If the status changed to *on* save the timestump. - */ - if (currentStatus !== timeoutMinion.status && currentStatus === 'on') { - timeoutMinion.turnOnTimeStump = new Date(); - } + /** + * Remove minoin timeout info from system. + * @param minion minion to remove. + */ + private removeMinion(minion: Minion) { + const timeoutMinion = this.findMinionInfo(minion.minionId); + this.minionsTimeoutInfo.splice(this.minionsTimeoutInfo.indexOf(timeoutMinion), 1); + } - timeoutMinion.status = currentStatus; - } + private async initData(): Promise { + this.minionsTimeoutInfo = []; /** - * Remove minoin timeout info from system. - * @param minion minion to remove. + * First get all exist minions */ - private removeMinion(minion: Minion) { - const timeoutMinion = this.findMinionInfo(minion.minionId); - this.minionsTimeoutInfo.splice(this.minionsTimeoutInfo.indexOf(timeoutMinion), 1); + const rawMinions = await this.minionsBl.getMinions(); + for (const minion of rawMinions) { + /** + * Call to *update* method. + * in case the new minion will arrived *befor* current code line. + */ + this.UpdateMinion(minion); } - private async initData(): Promise { - this.minionsTimeoutInfo = []; - - /** - * First get all exist minions - */ - const rawMinions = await this.minionsBl.getMinions(); - for (const minion of rawMinions) { - /** - * Call to *update* method. - * in case the new minion will arrived *befor* current code line. - */ - this.UpdateMinion(minion); - } - - /** - * Then registar to changes feed. - */ - this.minionsBl.minionFeed.subscribe((minionFeed) => { - if (!minionFeed) { - return; - } - - switch (minionFeed.event) { - case 'created': - case 'update': - this.UpdateMinion(minionFeed.minion); - break; - case 'removed': - this.removeMinion(minionFeed.minion); - break; - } - }); + /** + * Then registar to changes feed. + */ + this.minionsBl.minionFeed.subscribe(minionFeed => { + if (!minionFeed) { + return; + } + + switch (minionFeed.event) { + case 'created': + case 'update': + this.UpdateMinion(minionFeed.minion); + break; + case 'removed': + this.removeMinion(minionFeed.minion); + break; + } + }); - /** - * Finally start timeout activation - */ - setInterval(async () => { - await this.timeoutActivation(); - }, TIMEOUT_INTERVAL_ACTIVATION.asMilliseconds()); + /** + * Finally start timeout activation + */ + setInterval(async () => { + await this.timeoutActivation(); + }, TIMEOUT_INTERVAL_ACTIVATION.asMilliseconds()); - logger.info('Timeout module init done.'); - } + logger.info('Timeout module init done.'); + } } export const TimeoutBlSingleton = new TimeoutBl(MinionsBlSingleton); diff --git a/backend/src/business-layer/timingsBl.ts b/backend/src/business-layer/timingsBl.ts index 41d78931..7ef3bafe 100644 --- a/backend/src/business-layer/timingsBl.ts +++ b/backend/src/business-layer/timingsBl.ts @@ -6,16 +6,16 @@ import * as suncalc from 'suncalc'; import { Configuration } from '../config'; import { TimingsDal, TimingsDalSingleton } from '../data-layer/timingsDal'; import { - DailySunTrigger, - DailyTimeTrigger, - DailyTiming, - DaysOptions, - ErrorResponse, - OnceTiming, - OperationResult, - TimeoutTiming, - Timing, - TimingFeed, + DailySunTrigger, + DailyTimeTrigger, + DailyTiming, + DaysOptions, + ErrorResponse, + OnceTiming, + OperationResult, + TimeoutTiming, + Timing, + TimingFeed, } from '../models/sharedInterfaces'; import { logger } from '../utilities/logger'; import { OperationsBl, OperationsBlSingleton } from './operationsBl'; @@ -23,279 +23,282 @@ import { OperationsBl, OperationsBlSingleton } from './operationsBl'; const TIMING_INTERVAL_ACTIVATION = moment.duration(5, 'seconds'); export class TimingsBl { - - // Dependecies - private timingsDal: TimingsDal; - private operationBl: OperationsBl; - + /** + * Timing trigger feed. + */ + public timingFeed = new BehaviorSubject(undefined); + // Dependecies + private timingsDal: TimingsDal; + private operationBl: OperationsBl; + + /** + * The real avtivation is in minute. + * So only if minute changed trigger the timing logic. + */ + private lastActivationMoment: Moment = moment(1); + + /** + * Init TimingsBl . using dependecy injection pattern to allow units testings. + * @param timingsDal Inject timings dal. + * @param localNetworkReader Inject the reader function. + */ + constructor(timingsDal: TimingsDal, operationBl: OperationsBl) { + this.timingsDal = timingsDal; + this.operationBl = operationBl; + + setInterval(async () => { + await this.timingActivation(); + }, TIMING_INTERVAL_ACTIVATION.asMilliseconds()); + } + + /** + * API + */ + + /** + * Get all timings array. + */ + public async getTimings(): Promise { + return await this.timingsDal.getTimings(); + } + + /** + * Get timing by id. + * @param timingId timing id. + */ + public async getTimingById(timingId: string): Promise { + return await this.timingsDal.getTimingById(timingId); + } + + /** + * Set timing properties. + * @param timingId timing id. + * @param timing timing props to set. + */ + public async SetTiming(timingId: string, timing: Timing): Promise { + await this.validateNewTimingOperation(timing); + timing.timingId = timingId; + return await this.timingsDal.updateTiming(timing); + } + + /** + * Create timing. + * @param timing timing to create. + */ + public async CreateTiming(timing: Timing): Promise { + await this.validateNewTimingOperation(timing); /** - * The real avtivation is in minute. - * So only if minute changed trigger the timing logic. + * Generate new id. (never trust client....) */ - private lastActivationMoment: Moment = moment(1); - - /** - * Timing trigger feed. - */ - public timingFeed = new BehaviorSubject(undefined); - - /** - * Init TimingsBl . using dependecy injection pattern to allow units testings. - * @param timingsDal Inject timings dal. - * @param localNetworkReader Inject the reader function. - */ - constructor(timingsDal: TimingsDal, operationBl: OperationsBl) { - this.timingsDal = timingsDal; - this.operationBl = operationBl; - - setInterval(async () => { - await this.timingActivation(); - }, TIMING_INTERVAL_ACTIVATION.asMilliseconds()); + timing.timingId = randomstring.generate(6); + return await this.timingsDal.createTiming(timing); + } + + /** + * Delete timing. + * @param timingId timing id to delete. + */ + public async DeleteTiming(timingId: string): Promise { + return await this.timingsDal.deleteTiming(timingId); + } + + /** + * Active timing. + * @param timing timing to active. + */ + private async activeTiming(timing: Timing): Promise { + logger.info(`Invoke ${timing.timingName} id: ${timing.timingId} timing starting...`); + + try { + const results = await this.operationBl.triggerOperation(timing.triggerOperationId); + logger.info(`Invoke ${timing.timingName} id: ${timing.timingId} timing done`); + + this.timingFeed.next({ + timing, + results, + }); + } catch (error) { + logger.warn( + `Invoke timing ${timing.timingName}` + + ` id: ${timing.timingId}` + + ` operationId: ${timing.triggerOperationId} fail, ${error.message}`, + ); } - - /** - * Active timing. - * @param timing timing to active. - */ - private async activeTiming(timing: Timing): Promise { - logger.info(`Invoke ${timing.timingName} id: ${timing.timingId} timing starting...`); - - try { - const results = await this.operationBl.triggerOperation(timing.triggerOperationId); - logger.info(`Invoke ${timing.timingName} id: ${timing.timingId} timing done`); - - this.timingFeed.next({ - timing, - results, - }); - - } catch (error) { - logger.warn(`Invoke timing ${timing.timingName}` + - ` id: ${timing.timingId}` + - ` operationId: ${timing.triggerOperationId} fail, ${error.message}`); - } + } + + /** + * Handle One timing. + * Check if time to trigger, and if so, trigger it. + * @param now now. + * @param timing timing to check. + * @param timingProperties Once timing properties. + */ + private async onceTiming(now: Moment, timing: Timing, timingProperties: OnceTiming): Promise { + const timingMoment = moment(timingProperties.date); + if (now.isSame(timingMoment, 'minute')) { + await this.activeTiming(timing); } - + } + + /** + * Check if day exist in timing days. + * @param now now. + * @param dailyProperties daily timing properties to get days array from. + */ + private isInWeek(now: Moment, dailyProperties: DailyTiming) { + return dailyProperties.days.indexOf(now.format('dddd').toLowerCase() as DaysOptions) !== -1; + } + + /** + * Handle Sun trigger timing. + * Check if its time to trigger, and if so, trigger it. + * @param now now. + * @param timing timing to check. + * @param timingProperties SunTrigger timing properties. + */ + private async dailySunTiming(now: Moment, timing: Timing, timingProperties: DailySunTrigger): Promise { /** - * Handle One timing. - * Check if time to trigger, and if so, trigger it. - * @param now now. - * @param timing timing to check. - * @param timingProperties Once timing properties. + * Only id today marked in timing props. */ - private async onceTiming(now: Moment, timing: Timing, timingProperties: OnceTiming): Promise { - const timingMoment = moment(timingProperties.date); - if (now.isSame(timingMoment, 'minute')) { - await this.activeTiming(timing); - } + if (!this.isInWeek(now, timingProperties)) { + return; } /** - * Check if day exist in timing days. - * @param now now. - * @param dailyProperties daily timing properties to get days array from. + * Get sun info. */ - private isInWeek(now: Moment, dailyProperties: DailyTiming) { - return dailyProperties.days.indexOf(now.format('dddd').toLowerCase() as DaysOptions) !== -1; - } + const sunTimes = suncalc.getTimes( + new Date(), + Configuration.homePosition.latitude, + Configuration.homePosition.longitude, + ); /** - * Handle Sun trigger timing. - * Check if its time to trigger, and if so, trigger it. - * @param now now. - * @param timing timing to check. - * @param timingProperties SunTrigger timing properties. + * Get sun trigger moment. */ - private async dailySunTiming(now: Moment, timing: Timing, timingProperties: DailySunTrigger): Promise { - /** - * Only id today marked in timing props. - */ - if (!this.isInWeek(now, timingProperties)) { - return; - } - - /** - * Get sun info. - */ - const sunTimes = suncalc.getTimes(new Date(), Configuration.homePosition.latitude, Configuration.homePosition.longitude); - - /** - * Get sun trigger moment. - */ - let sunTriggerMoment: Moment; - if (timingProperties.sunTrigger === 'sunrise') { - sunTriggerMoment = moment(sunTimes.sunrise); - } else { - sunTriggerMoment = moment(sunTimes.sunset); - } - - /** - * Add / sub minuts of duration from sun trigger. - */ - sunTriggerMoment.add(timingProperties.durationMinutes, 'minutes'); - - /** - * If its new trigger timing. - */ - if (now.isSame(sunTriggerMoment, 'minute')) { - await this.activeTiming(timing); - } + let sunTriggerMoment: Moment; + if (timingProperties.sunTrigger === 'sunrise') { + sunTriggerMoment = moment(sunTimes.sunrise); + } else { + sunTriggerMoment = moment(sunTimes.sunset); } /** - * Handle Day time trigger timing. - * Check if its time to trigger, and if so, trigger it. - * @param now now. - * @param timing timing to check. - * @param timingProperties TimeTrigger timing properties. + * Add / sub minuts of duration from sun trigger. */ - private async dailyTimeTiming(now: Moment, timing: Timing, timingProperties: DailyTimeTrigger): Promise { - /** - * Only id today marked in timing props. - */ - if (!this.isInWeek(now, timingProperties)) { - return; - } - - const momentInday = moment(); - momentInday.set('hour', timingProperties.hour); - momentInday.set('minute', timingProperties.minutes); - - /** - * If its new trigger timing. - */ - if (now.isSame(momentInday, 'minute')) { - await this.activeTiming(timing); - } - } + sunTriggerMoment.add(timingProperties.durationMinutes, 'minutes'); /** - * Handle timeout trigger timing. - * Check if its time to trigger, and if so, trigger it. - * @param now now. - * @param timing timing to check. - * @param timingProperties TimeoutTiming timing properties. + * If its new trigger timing. */ - private async timeoutTiming(now: Moment, timing: Timing, timingProperties: TimeoutTiming): Promise { - const timeoutMoment = moment(timingProperties.startDate); - timeoutMoment.add(timingProperties.durationInMimutes, 'minute'); - - /** - * If its new trigger timing. - */ - if (now.isSame(timeoutMoment, 'minute')) { - await this.activeTiming(timing); - } + if (now.isSame(sunTriggerMoment, 'minute')) { + await this.activeTiming(timing); } - - private async timingActivation(): Promise { - const now = moment(); - - /** - * Only if minute changed. - */ - if (this.lastActivationMoment.isSameOrAfter(now, 'minute')) { - return; - } - - this.lastActivationMoment = now; - - const timings = await this.timingsDal.getTimings(); - - for (const timing of timings) { - if (!timing.isActive) { - continue; - } - - switch (timing.timingType) { - case 'once': { - await this.onceTiming(now, timing, timing.timingProperties[timing.timingType]); - break; - } - case 'dailySunTrigger': { - await this.dailySunTiming(now, timing, timing.timingProperties[timing.timingType]); - break; - } - case 'dailyTimeTrigger': { - await this.dailyTimeTiming(now, timing, timing.timingProperties[timing.timingType]); - break; - } - case 'timeout': { - await this.timeoutTiming(now, timing, timing.timingProperties[timing.timingType]); - break; - } - } - } - } - + } + + /** + * Handle Day time trigger timing. + * Check if its time to trigger, and if so, trigger it. + * @param now now. + * @param timing timing to check. + * @param timingProperties TimeTrigger timing properties. + */ + private async dailyTimeTiming(now: Moment, timing: Timing, timingProperties: DailyTimeTrigger): Promise { /** - * Validate timing. - * 1) operation existence. - * 2) correct timing properties. - * @param timing timing to validate existence. + * Only id today marked in timing props. */ - private async validateNewTimingOperation(timing: Timing): Promise { - await this.operationBl.getOperationById(timing.triggerOperationId); - - if (!timing.timingProperties[timing.timingType]) { - throw { - responseCode: 3405, - message: 'timing properties not match to timing type', - } as ErrorResponse; - } - return; + if (!this.isInWeek(now, timingProperties)) { + return; } - /** - * API - */ + const momentInday = moment(); + momentInday.set('hour', timingProperties.hour); + momentInday.set('minute', timingProperties.minutes); /** - * Get all timings array. + * If its new trigger timing. */ - public async getTimings(): Promise { - return await this.timingsDal.getTimings(); + if (now.isSame(momentInday, 'minute')) { + await this.activeTiming(timing); } + } + + /** + * Handle timeout trigger timing. + * Check if its time to trigger, and if so, trigger it. + * @param now now. + * @param timing timing to check. + * @param timingProperties TimeoutTiming timing properties. + */ + private async timeoutTiming(now: Moment, timing: Timing, timingProperties: TimeoutTiming): Promise { + const timeoutMoment = moment(timingProperties.startDate); + timeoutMoment.add(timingProperties.durationInMimutes, 'minute'); /** - * Get timing by id. - * @param timingId timing id. + * If its new trigger timing. */ - public async getTimingById(timingId: string): Promise { - return await this.timingsDal.getTimingById(timingId); + if (now.isSame(timeoutMoment, 'minute')) { + await this.activeTiming(timing); } + } - /** - * Set timing properties. - * @param timingId timing id. - * @param timing timing props to set. - */ - public async SetTiming(timingId: string, timing: Timing): Promise { - await this.validateNewTimingOperation(timing); - timing.timingId = timingId; - return await this.timingsDal.updateTiming(timing); - } + private async timingActivation(): Promise { + const now = moment(); /** - * Create timing. - * @param timing timing to create. + * Only if minute changed. */ - public async CreateTiming(timing: Timing): Promise { - await this.validateNewTimingOperation(timing); - /** - * Generate new id. (never trust client....) - */ - timing.timingId = randomstring.generate(6); - return await this.timingsDal.createTiming(timing); + if (this.lastActivationMoment.isSameOrAfter(now, 'minute')) { + return; } - /** - * Delete timing. - * @param timingId timing id to delete. - */ - public async DeleteTiming(timingId: string): Promise { - return await this.timingsDal.deleteTiming(timingId); + this.lastActivationMoment = now; + + const timings = await this.timingsDal.getTimings(); + + for (const timing of timings) { + if (!timing.isActive) { + continue; + } + + switch (timing.timingType) { + case 'once': { + await this.onceTiming(now, timing, timing.timingProperties[timing.timingType]); + break; + } + case 'dailySunTrigger': { + await this.dailySunTiming(now, timing, timing.timingProperties[timing.timingType]); + break; + } + case 'dailyTimeTrigger': { + await this.dailyTimeTiming(now, timing, timing.timingProperties[timing.timingType]); + break; + } + case 'timeout': { + await this.timeoutTiming(now, timing, timing.timingProperties[timing.timingType]); + break; + } + } + } + } + + /** + * Validate timing. + * 1) operation existence. + * 2) correct timing properties. + * @param timing timing to validate existence. + */ + private async validateNewTimingOperation(timing: Timing): Promise { + await this.operationBl.getOperationById(timing.triggerOperationId); + + if (!timing.timingProperties[timing.timingType]) { + throw { + responseCode: 3405, + message: 'timing properties not match to timing type', + } as ErrorResponse; } + return; + } } export const TimingsBlSingleton = new TimingsBl(TimingsDalSingleton, OperationsBlSingleton); diff --git a/backend/src/business-layer/usersBl.ts b/backend/src/business-layer/usersBl.ts index 24fde79c..a0f4b10c 100644 --- a/backend/src/business-layer/usersBl.ts +++ b/backend/src/business-layer/usersBl.ts @@ -7,105 +7,103 @@ import { ErrorResponse, User } from '../models/sharedInterfaces'; import { SchemaValidator, UserSchema, UserUpdateSchema } from '../security/schemaValidator'; export class UsersBl { - - private usersDal: UsersDal; - - /** - * Init users bl. using dependecy injection pattern to allow units testings. - * @param usersDal Inject the dal instance. - */ - constructor(usersDal: UsersDal) { - - this.usersDal = usersDal; - } - - /** - * Validatete and senitize user from client. - * @param user user to validate. - * @param isNewUser is user sent to create new one (it's little difference schemas update/create user) - * @returns A sanitizeUser object. - */ - private async validateUser(user: User, isNewUser: boolean): Promise { - /** - * Valid data by validator. - */ - const sanitizeUser: User = await SchemaValidator(user, isNewUser ? UserSchema : UserUpdateSchema) - .catch((validationError: ValidationResult) => { - throw { - responseCode: 2422, - message: validationError.error.message, - } as ErrorResponse; - }); - - /** - * If there is password to hash, hash it, else load the original password hash. - */ - if (sanitizeUser.password) { - sanitizeUser.password = await bcrypt.hash(sanitizeUser.password, Configuration.keysHandling.bcryptSaltRounds); - } else { - const originalUser = await this.usersDal.getUser(sanitizeUser.email); - sanitizeUser.password = originalUser.password; - } - return sanitizeUser; - } - - /** - * Get all users. - */ - public async getUsers(): Promise { - return await this.usersDal.getUsers(); - } + private usersDal: UsersDal; + + /** + * Init users bl. using dependecy injection pattern to allow units testings. + * @param usersDal Inject the dal instance. + */ + constructor(usersDal: UsersDal) { + this.usersDal = usersDal; + } + + /** + * Get all users. + */ + public async getUsers(): Promise { + return await this.usersDal.getUsers(); + } + + /** + * Gets user by user email, or reject if not exist. + * @param email session key + * @returns user, or inject if not exist. + */ + public async getUser(email: string): Promise { + return await this.usersDal.getUser(email); + } + + /** + * Create new user. + * @param user User to create. + */ + public async createUser(user: User): Promise { + const sanitizeUser = (await this.validateUser(user, true)) as User; /** - * Gets user by user email, or reject if not exist. - * @param email session key - * @returns user, or inject if not exist. + * make sure there is no other user with same email in system. */ - public async getUser(email: string): Promise { - return await this.usersDal.getUser(email); + try { + await this.usersDal.getUser(sanitizeUser.email); + } catch (error) { + await this.usersDal.createUser(sanitizeUser); + return; } + throw { + responseCode: 5405, + message: 'user already exist', + } as ErrorResponse; + } + + /** + * Update any properties of user. + * @param userToUpdate User object to update. + */ + public async updateUser(userToUpdate: User): Promise { + const sanitizeUser = (await this.validateUser(userToUpdate, false)) as User; + + await this.usersDal.updateUser(sanitizeUser); + } + + /** + * Delete user. + * @param userSession Current sessiohn user. + */ + public async deleteUser(userEmail: string): Promise { + return await this.usersDal.deleteUser(userEmail); + } + + /** + * Validatete and senitize user from client. + * @param user user to validate. + * @param isNewUser is user sent to create new one (it's little difference schemas update/create user) + * @returns A sanitizeUser object. + */ + private async validateUser(user: User, isNewUser: boolean): Promise { /** - * Create new user. - * @param user User to create. + * Valid data by validator. */ - public async createUser(user: User): Promise { - const sanitizeUser = await this.validateUser(user, true) as User; - - /** - * make sure there is no other user with same email in system. - */ - try { - await this.usersDal.getUser(sanitizeUser.email); - } catch (error) { - await this.usersDal.createUser(sanitizeUser); - return; - } - + const sanitizeUser: User = await SchemaValidator(user, isNewUser ? UserSchema : UserUpdateSchema).catch( + (validationError: ValidationResult) => { throw { - responseCode: 5405, - message: 'user already exist', + responseCode: 2422, + message: validationError.error.message, } as ErrorResponse; - } - - /** - * Update any properties of user. - * @param userToUpdate User object to update. - */ - public async updateUser(userToUpdate: User): Promise { - - const sanitizeUser = await this.validateUser(userToUpdate, false) as User; - - await this.usersDal.updateUser(sanitizeUser); - } + }, + ); /** - * Delete user. - * @param userSession Current sessiohn user. + * If there is password to hash, hash it, else load the original password hash. */ - public async deleteUser(userEmail: string): Promise { - return await this.usersDal.deleteUser(userEmail); + if (sanitizeUser.password) { + sanitizeUser.password = await bcrypt.hash(sanitizeUser.password, Configuration.keysHandling.bcryptSaltRounds); + } else { + const originalUser = await this.usersDal.getUser(sanitizeUser.email); + sanitizeUser.password = originalUser.password; } + return sanitizeUser; + } } export const UsersBlSingleton = new UsersBl(UsersDalSingleton); diff --git a/backend/src/business-layer/versionsBl.ts b/backend/src/business-layer/versionsBl.ts index 88243823..f7b6d95b 100644 --- a/backend/src/business-layer/versionsBl.ts +++ b/backend/src/business-layer/versionsBl.ts @@ -1,120 +1,121 @@ import { exec } from 'child-process-promise'; import * as simplegit from 'simple-git/promise'; import { Configuration } from '../config'; -import { ErrorResponse, UpdateResults, ProgressStatus, VersionInfo, VersionUpdateStatus } from '../models/sharedInterfaces'; +import { + ErrorResponse, + ProgressStatus, + UpdateResults, + VersionInfo, + VersionUpdateStatus, +} from '../models/sharedInterfaces'; import { logger } from '../utilities/logger'; export class VersionsBl { + private git = simplegit(); + private updateStatus: ProgressStatus = 'finished'; + + constructor() {} + + /** + * Update CASA-net application to the latest version. + * Step 1: pull changes from remote repo. + * Step 2: install the new dependencies update via npm. + */ + public async updateToLastVersion(): Promise { + /** Get last update from git repo */ + try { + /** Skip process if updating application already in progress */ + if (this.updateStatus === 'inProgress') { + return { + alreadyUpToDate: false, + }; + } + this.updateStatus = 'inProgress'; - private git = simplegit(); - private updateStatus: ProgressStatus = 'finished'; - - constructor() { - - } - - /** - * Install/update NPM dependencies in the background. it's can take a while. - */ - private async updateVersionDependencies() { - try { - logger.info(`starting NPM install, it's can take a while`); - const installationResults = await exec('npm ci'); - logger.info(`installing last dependencies results: ${installationResults.stdout}`); - this.updateStatus = 'finished'; - } catch (error) { - this.updateStatus = 'fail'; - logger.warn(`Installing last dependencies fail ${error.stdout}`); - } - } - - /** - * Update CASA-net application to the latest version. - * Step 1: pull changes from remote repo. - * Step 2: install the new dependencies update via npm. - */ - public async updateToLastVersion(): Promise { - /** Get last update from git repo */ - try { - - /** Skip process if updating application already in progress */ - if (this.updateStatus === 'inProgress') { - return { - alreadyUpToDate: false, - }; - } - this.updateStatus = 'inProgress'; - - /** Clean up the workspace, this is a dangerous part!!! it will remove any files change. */ - if (Configuration.runningMode === 'prod') { - /** clean all workstation to the HEAD image. to allow the git pull. */ - await this.git.reset('hard'); - } - - /** Pull last version from the GitHub repo. */ - const pullResults = await this.git.pull('origin', 'master', { '--rebase': 'false' }); - - logger.info(`pull last version pulld ${pullResults.summary.changes} changes`); - - /** If thers is no any change just return. */ - if (pullResults.summary.changes === 0) { - this.updateStatus = 'finished'; - return { - alreadyUpToDate: true, - }; - } - - /** Fetch new tags if exist in remote. */ - await this.git.fetch(['--tags', '--force']); + /** Clean up the workspace, this is a dangerous part!!! it will remove any files change. */ + if (Configuration.runningMode === 'prod') { + /** clean all workstation to the HEAD image. to allow the git pull. */ + await this.git.reset('hard'); + } - } catch (error) { - this.updateStatus = 'fail'; - logger.warn(`Pulling last change from remote repo fail ${error.message}`); - throw { - responseCode: 7501, - message: 'Pulling last change from remote repo fail', - } as ErrorResponse; - } + /** Pull last version from the GitHub repo. */ + const pullResults = await this.git.pull('origin', 'master', { '--rebase': 'false' }); - /** Install the last dependencies updates in the background */ - this.updateVersionDependencies(); + logger.info(`pull last version pulld ${pullResults.summary.changes} changes`); + /** If thers is no any change just return. */ + if (pullResults.summary.changes === 0) { + this.updateStatus = 'finished'; return { - alreadyUpToDate: false, + alreadyUpToDate: true, }; + } + + /** Fetch new tags if exist in remote. */ + await this.git.fetch(['--tags', '--force']); + } catch (error) { + this.updateStatus = 'fail'; + logger.warn(`Pulling last change from remote repo fail ${error.message}`); + throw { + responseCode: 7501, + message: 'Pulling last change from remote repo fail', + } as ErrorResponse; } - /** Get version update status */ - public async getUpdateStatus(): Promise { - return { - updateStatus: this.updateStatus, - }; + /** Install the last dependencies updates in the background */ + this.updateVersionDependencies(); + + return { + alreadyUpToDate: false, + }; + } + + /** Get version update status */ + public async getUpdateStatus(): Promise { + return { + updateStatus: this.updateStatus, + }; + } + + /** + * Get current *localy* version. + * @returns Current version. + */ + public async getCurrentVersion(): Promise { + try { + const tags = await this.git.tags(); + const commintHash = await this.git.revparse(['--short', 'HEAD']); + const rawTimestamp = await this.git.show(['-s', '--format=%ct']); + + const timestamp = +rawTimestamp * 1000; + return { + version: tags.latest, + commintHash, + timestamp, + }; + } catch (error) { + logger.warn(`Getting latast version (tag) fail ${error.message}`); + throw { + responseCode: 9501, + message: 'Get current version fail', + } as ErrorResponse; } - - /** - * Get current *localy* version. - * @returns Current version. - */ - public async getCurrentVersion(): Promise { - try { - const tags = await this.git.tags(); - const commintHash = await this.git.revparse(['--short', 'HEAD']); - const rawTimestamp = await this.git.show(['-s', '--format=%ct']); - - const timestamp = +rawTimestamp * 1000; - return { - version: tags.latest, - commintHash, - timestamp, - }; - } catch (error) { - logger.warn(`Getting latast version (tag) fail ${error.message}`); - throw { - responseCode: 9501, - message: 'Get current version fail', - } as ErrorResponse; - } + } + + /** + * Install/update NPM dependencies in the background. it's can take a while. + */ + private async updateVersionDependencies() { + try { + logger.info(`starting NPM install, it's can take a while`); + const installationResults = await exec('npm ci'); + logger.info(`installing last dependencies results: ${installationResults.stdout}`); + this.updateStatus = 'finished'; + } catch (error) { + this.updateStatus = 'fail'; + logger.warn(`Installing last dependencies fail ${error.stdout}`); } + } } export const VersionsBlSingleton = new VersionsBl(); diff --git a/backend/src/config.ts b/backend/src/config.ts index 4c617913..26772349 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -28,70 +28,82 @@ const rawSubnetToScan = process.env.SUBNET_TO_SCAN; */ let configuration: Config; try { - configuration = fse.readJSONSync('casanet.json'); + configuration = fse.readJSONSync('casanet.json'); } catch (error) { - logger.error('Fail to read casanet.json configuration file. exit...'); - process.exit(); + logger.error('Fail to read casanet.json configuration file. exit...'); + process.exit(); } /** * Set running mode. */ switch (rawNodeEnv) { - case 'test': configuration.runningMode = 'test'; break; - case 'debug': configuration.runningMode = 'debug'; break; - case 'prod': configuration.runningMode = 'prod'; break; - default: configuration.runningMode = 'prod'; break; + case 'test': + configuration.runningMode = 'test'; + break; + case 'debug': + configuration.runningMode = 'debug'; + break; + case 'prod': + configuration.runningMode = 'prod'; + break; + default: + configuration.runningMode = 'prod'; + break; } -logger.info(`casa-net app running in -${configuration.runningMode}- mode (use environments vars "NODE_ENV" to change it)`); +logger.info( + `casa-net app running in -${configuration.runningMode}- mode (use environments vars "NODE_ENV" to change it)`, +); if (!rawHttpPort) { - logger.warn('There is no HTTP_PORT env var, using default port ' + configuration.http.httpPort); + logger.warn('There is no HTTP_PORT env var, using default port ' + configuration.http.httpPort); } else { - configuration.http.httpPort = parseInt(rawHttpPort, 10); + configuration.http.httpPort = parseInt(rawHttpPort, 10); } if (!rawHttpsPort) { - logger.warn('There is no HTTP_PORTS env var, using default port ' + configuration.http.httpsPort); + logger.warn('There is no HTTP_PORTS env var, using default port ' + configuration.http.httpsPort); } else { - configuration.http.httpsPort = parseInt(rawHttpsPort, 10); + configuration.http.httpsPort = parseInt(rawHttpsPort, 10); } if (!rawUserHttps) { - logger.warn('There is no USE_HTTPS env var, using default, ' + configuration.http.useHttps); + logger.warn('There is no USE_HTTPS env var, using default, ' + configuration.http.useHttps); } else { - configuration.http.useHttps = rawUserHttps.toLowerCase() !== 'false'; + configuration.http.useHttps = rawUserHttps.toLowerCase() !== 'false'; } if (rawTfaSmtpServer && rawTfaUserName && rawTfaUserKey) { - configuration.twoStepsVerification = { - TwoStepEnabled: true, - smtpServer: rawTfaSmtpServer, - userKey: rawTfaUserKey, - userName: rawTfaUserName, - }; + configuration.twoStepsVerification = { + TwoStepEnabled: true, + smtpServer: rawTfaSmtpServer, + userKey: rawTfaUserKey, + userName: rawTfaUserName, + }; } else { - logger.warn('The 2-step verification in disabled, to enable it set TFA_SMTP_SERVER TFA_USER_NAME TFA_USER_KEY env var correct value.'); - configuration.twoStepsVerification = { - TwoStepEnabled: false, - smtpServer: '', - userKey: '', - userName: '', - }; + logger.warn( + 'The 2-step verification in disabled, to enable it set TFA_SMTP_SERVER TFA_USER_NAME TFA_USER_KEY env var correct value.', + ); + configuration.twoStepsVerification = { + TwoStepEnabled: false, + smtpServer: '', + userKey: '', + userName: '', + }; } if (!rawSaltKeys) { - logger.warn('There is no SALT_KEYS env var, generating random'); + logger.warn('There is no SALT_KEYS env var, generating random'); } configuration.keysHandling = { - saltHash: rawSaltKeys || randomstring.generate(64), - bcryptSaltRounds: 12, + saltHash: rawSaltKeys || randomstring.generate(64), + bcryptSaltRounds: 12, }; if (!rawSubnetToScan) { - logger.warn('There is no SUBNET_TO_SCAN env var, the default subnet is current machine ip subnet.'); + logger.warn('There is no SUBNET_TO_SCAN env var, the default subnet is current machine ip subnet.'); } configuration.scanSubnet = rawSubnetToScan; diff --git a/backend/src/controllers/authController.ts b/backend/src/controllers/authController.ts index e3626c25..33bc74a1 100644 --- a/backend/src/controllers/authController.ts +++ b/backend/src/controllers/authController.ts @@ -1,5 +1,20 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { AuthBlSingleton } from '../business-layer/authBl'; import { SessionsBlSingleton } from '../business-layer/sessionsBl'; import { UsersBlSingleton } from '../business-layer/usersBl'; @@ -13,86 +28,85 @@ import { ErrorResponse, Login, User } from '../models/sharedInterfaces'; @Tags('Authentication') @Route('auth') export class AuthController extends Controller { + /** + * Login to system. + */ + public async login(request: express.Request, response: express.Response, login: Login): Promise { + return await AuthBlSingleton.login(response, login); + } - /** - * Login to system. - */ - public async login(request: express.Request, response: express.Response, login: Login): Promise { - return await AuthBlSingleton.login(response, login); - } + /** + * 2-step verification login. + */ + public async loginTfa(request: express.Request, response: express.Response, login: Login): Promise { + return await AuthBlSingleton.loginTfa(response, login); + } - /** - * 2-step verification login. - */ - public async loginTfa(request: express.Request, response: express.Response, login: Login): Promise { - return await AuthBlSingleton.loginTfa(response, login); - } + /** + * LLogout manually from the system. + */ + public async logout(request: express.Request, response: express.Response): Promise { + await AuthBlSingleton.logout(request.cookies.session, response); + } + /** + * Logout from all activate sessions. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Post('/logout-sessions/{userId}') + public async logoutSessions(userId: string, @Request() request: express.Request): Promise { + const userSession = request.user as User; /** - * LLogout manually from the system. + * Only admin can update other user. */ - public async logout(request: express.Request, response: express.Response): Promise { - await AuthBlSingleton.logout(request.cookies.session, response); + if (userSession.scope !== 'adminAuth' && userSession.email !== userId) { + throw { + responseCode: 4403, + message: 'user not allowed to logout for other users', + } as ErrorResponse; } - /** - * Logout from all activate sessions. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Post('/logout-sessions/{userId}') - public async logoutSessions(userId: string, @Request() request: express.Request): Promise { - const userSession = request.user as User; - /** - * Only admin can update other user. - */ - if (userSession.scope !== 'adminAuth' && userSession.email !== userId) { - throw { - responseCode: 4403, - message: 'user not allowed to logout for other users', - } as ErrorResponse; - } - - const user = await UsersBlSingleton.getUser(userId); - await SessionsBlSingleton.deleteUserSessions(user); - } + const user = await UsersBlSingleton.getUser(userId); + await SessionsBlSingleton.deleteUserSessions(user); + } - ////////////////////////////////////////////////// - /////// SWAGGER DOCUMENTATION ONLY METHODS /////// - ////////////////////////////////////////////////// + ////////////////////////////////////////////////// + /////// SWAGGER DOCUMENTATION ONLY METHODS /////// + ////////////////////////////////////////////////// - /** - * Login. - */ - @Response(201, '2-fatore code sent') - @Response(501, 'Server error') - @Response(403, 'Auth fail') - @Response(422, 'Invalid schema') - @Post('login') - public async loginDocumentation(@Request() request: express.Request, @Body() login: Login): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } + /** + * Login. + */ + @Response(201, '2-fatore code sent') + @Response(501, 'Server error') + @Response(403, 'Auth fail') + @Response(422, 'Invalid schema') + @Post('login') + public async loginDocumentation(@Request() request: express.Request, @Body() login: Login): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } - /** - * 2-step verification login. - */ - @Response(501, 'Server error') - @Response(403, 'Auth fail') - @Response(422, 'Invalid schema') - @Post('login/tfa') - public async loginTfaDocumentation(@Request() request: express.Request, @Body() login: Login): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } + /** + * 2-step verification login. + */ + @Response(501, 'Server error') + @Response(403, 'Auth fail') + @Response(422, 'Invalid schema') + @Post('login/tfa') + public async loginTfaDocumentation(@Request() request: express.Request, @Body() login: Login): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } - /** - * Logout manually from the system. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('logout') - public async logoutDocumentation(): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } + /** + * Logout manually from the system. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('logout') + public async logoutDocumentation(): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } } diff --git a/backend/src/controllers/devicesController.ts b/backend/src/controllers/devicesController.ts index 34891172..753776eb 100644 --- a/backend/src/controllers/devicesController.ts +++ b/backend/src/controllers/devicesController.ts @@ -1,59 +1,73 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { DevicesBlSingleton } from '../business-layer/devicesBl'; import { DeviceKind, ErrorResponse, LocalNetworkDevice } from '../models/sharedInterfaces'; @Tags('Devices') @Route('devices') export class DevicesController extends Controller { + /** + * Get all devices in the local network. + * @returns Local network devices array. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get() + public async getDevices(): Promise { + return await DevicesBlSingleton.getDevices(); + } - /** - * Get all devices in the local network. - * @returns Local network devices array. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get() - public async getDevices(): Promise { - return await DevicesBlSingleton.getDevices(); - } + /** + * Get all supported devices kind info. + * @returns Local network devices array. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('kinds') + public async getDevicesKinds(): Promise { + return await DevicesBlSingleton.getDevicesKins(); + } - /** - * Get all supported devices kind info. - * @returns Local network devices array. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('kinds') - public async getDevicesKinds(): Promise { - return await DevicesBlSingleton.getDevicesKins(); - } + /** + * Set name to a device. + * @param deviceMac Device mac address. + * @param newName The name to set. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('{deviceMac}') + public async setDeviceName(deviceMac: string, @Body() device: LocalNetworkDevice): Promise { + device.mac = deviceMac; + await DevicesBlSingleton.setDeviceName(device); + } - /** - * Set name to a device. - * @param deviceMac Device mac address. - * @param newName The name to set. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('{deviceMac}') - public async setDeviceName(deviceMac: string, @Body() device: LocalNetworkDevice): Promise { - device.mac = deviceMac; - await DevicesBlSingleton.setDeviceName(device); - } - - /** - * Rescan all devices in LAN. - * Used when there are changes in the local network. - * For example, if the router (DHCP server) change IP's of devices or new device connect to the local network etc. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('rescan') - public async rescanDevices(): Promise { - await DevicesBlSingleton.rescanNetwork(); - } + /** + * Rescan all devices in LAN. + * Used when there are changes in the local network. + * For example, if the router (DHCP server) change IP's of devices or new device connect to the local network etc. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('rescan') + public async rescanDevices(): Promise { + await DevicesBlSingleton.rescanNetwork(); + } } diff --git a/backend/src/controllers/feedController.ts b/backend/src/controllers/feedController.ts index 4bfb9ba1..c099d48f 100644 --- a/backend/src/controllers/feedController.ts +++ b/backend/src/controllers/feedController.ts @@ -1,5 +1,20 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { MinionsBlSingleton } from '../business-layer/minionsBl'; import { TimingsBlSingleton } from '../business-layer/timingsBl'; import { ErrorResponse, Login, MinionFeed, Timing, TimingFeed } from '../models/sharedInterfaces'; @@ -11,74 +26,73 @@ import { ErrorResponse, Login, MinionFeed, Timing, TimingFeed } from '../models/ @Tags('Feeds') @Route('feed') export class FeedController extends Controller { + /** + * minions sse feed object. + */ + private miniosSse: any; - /** - * minions sse feed object. - */ - private miniosSse: any; + /** + * timings sse feed object. + */ + private timingsSse: any; - /** - * timings sse feed object. - */ - private timingsSse: any; + /** + * Init minions feed. + * @param miniosSse minion sse object. + */ + public initMinionsFeed(miniosSse: any): void { + this.miniosSse = miniosSse; - /** - * Init minions feed. - * @param miniosSse minion sse object. - */ - public initMinionsFeed(miniosSse: any): void { - this.miniosSse = miniosSse; + MinionsBlSingleton.minionFeed.subscribe(minionFeed => { + if (!minionFeed) { + return; + } - MinionsBlSingleton.minionFeed.subscribe((minionFeed) => { - if (!minionFeed) { - return; - } + this.miniosSse.send(minionFeed); + }); + } - this.miniosSse.send(minionFeed); - }); - } + /** + * Init timings feed. + * @param timingsSse timing sse object. + */ + public initTimingsFeed(timingsSse: any): void { + this.timingsSse = timingsSse; - /** - * Init timings feed. - * @param timingsSse timing sse object. - */ - public initTimingsFeed(timingsSse: any): void { - this.timingsSse = timingsSse; + TimingsBlSingleton.timingFeed.subscribe(timingFeed => { + if (!timingFeed) { + return; + } - TimingsBlSingleton.timingFeed.subscribe((timingFeed) => { - if (!timingFeed) { - return; - } + this.timingsSse.send(timingFeed); + }); + } - this.timingsSse.send(timingFeed); - }); - } + ////////////////////////////////////////////////// + /////// SWAGGER DOCUMENTATION ONLY METHODS /////// + ////////////////////////////////////////////////// - ////////////////////////////////////////////////// - /////// SWAGGER DOCUMENTATION ONLY METHODS /////// - ////////////////////////////////////////////////// + /** + * Minions feed. + * when minion status changed minion created etc. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('minions') + public async getMinionsFeed(): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } - /** - * Minions feed. - * when minion status changed minion created etc. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('minions') - public async getMinionsFeed(): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } - - /** - * Timing feed. - * when timing activated. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('timings') - public async getTimingFeed(): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } + /** + * Timing feed. + * when timing activated. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('timings') + public async getTimingFeed(): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } } diff --git a/backend/src/controllers/iftttController.ts b/backend/src/controllers/iftttController.ts index 4598acab..2d7c712c 100644 --- a/backend/src/controllers/iftttController.ts +++ b/backend/src/controllers/iftttController.ts @@ -1,74 +1,99 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { IftttIntegrationBlSingleton } from '../business-layer/iftttIntegrationBl'; -import { ErrorResponse, IftttActionTriggered, IftttActionTriggeredRequest, IftttIntegrationSettings, IftttRawActionTriggerd } from '../models/sharedInterfaces'; +import { + ErrorResponse, + IftttActionTriggered, + IftttActionTriggeredRequest, + IftttIntegrationSettings, + IftttRawActionTriggerd, +} from '../models/sharedInterfaces'; @Tags('Ifttt') @Route('ifttt') export class IftttController extends Controller { + /** + * Is IFTTT integration enabled. + */ + @Response(501, 'Server error') + @Security('adminAuth') + @Security('userAuth') + @Get('/settings') + public async isIftttEnabled(): Promise { + const iftttSettings = await IftttIntegrationBlSingleton.getIftttIntergrationSettings(); + return iftttSettings.enableIntegration; + } - /** - * Is IFTTT integration enabled. - */ - @Response(501, 'Server error') - @Security('adminAuth') - @Security('userAuth') - @Get('/settings') - public async isIftttEnabled(): Promise { - const iftttSettings = await IftttIntegrationBlSingleton.getIftttIntergrationSettings(); - return iftttSettings.enableIntegration; - } + /** + * Put ifttt integration settings. + */ + @Response(501, 'Server error') + @Security('adminAuth') + @Put('/settings') + public async setIftttIntegrationSettings(@Body() iftttIntegrationSettings: IftttIntegrationSettings): Promise { + await IftttIntegrationBlSingleton.setIftttIntergrationSettings(iftttIntegrationSettings); + } - /** - * Put ifttt integration settings. - */ - @Response(501, 'Server error') - @Security('adminAuth') - @Put('/settings') - public async setIftttIntegrationSettings(@Body() iftttIntegrationSettings: IftttIntegrationSettings): Promise { - await IftttIntegrationBlSingleton.setIftttIntergrationSettings(iftttIntegrationSettings); - } + /** + * Ifttt webhooks triggering casa-net action API. + * when all details in body only, to allow send all data ion one text line. + * Example to use: SMS trigger has only simple text that can pass to IFTTT activity, + * and by current request, it is possible to control any minion by one single line of text. + * so fill the SMS text with JSON and by IFTTT set it to be the request body. + * @param iftttActionTriggered status to and minion to set. + */ + @Response(501, 'Server error') + @Security('iftttAuth') + @Post('/trigger/minions/raw/') + public async triggeredSomeAction(@Body() iftttRawActionTriggerd: IftttRawActionTriggerd): Promise { + const { apiKey, minionId, setStatus } = iftttRawActionTriggerd; + await IftttIntegrationBlSingleton.triggeredMinionAction(minionId, { + apiKey, + setStatus, + }); + } - /** - * Ifttt webhooks triggering casa-net action API. - * when all details in body only, to allow send all data ion one text line. - * Example to use: SMS trigger has only simple text that can pass to IFTTT activity, - * and by current request, it is possible to control any minion by one single line of text. - * so fill the SMS text with JSON and by IFTTT set it to be the request body. - * @param iftttActionTriggered status to and minion to set. - */ - @Response(501, 'Server error') - @Security('iftttAuth') - @Post('/trigger/minions/raw/') - public async triggeredSomeAction(@Body() iftttRawActionTriggerd: IftttRawActionTriggerd): Promise { - const { apiKey, minionId, setStatus } = iftttRawActionTriggerd; - await IftttIntegrationBlSingleton.triggeredMinionAction(minionId, { - apiKey, - setStatus, - }); - } + /** + * Ifttt webhooks triggering casa-net *minion* action API. + * @param minionId minion to set status. + * @param iftttActionTriggered status to set. + */ + @Response(501, 'Server error') + @Security('iftttAuth') + @Post('/trigger/minions/{minionId}/') + public async triggeredMinionAction( + minionId: string, + @Body() iftttActionTriggered: IftttActionTriggered, + ): Promise { + await IftttIntegrationBlSingleton.triggeredMinionAction(minionId, iftttActionTriggered); + } - /** - * Ifttt webhooks triggering casa-net *minion* action API. - * @param minionId minion to set status. - * @param iftttActionTriggered status to set. - */ - @Response(501, 'Server error') - @Security('iftttAuth') - @Post('/trigger/minions/{minionId}/') - public async triggeredMinionAction(minionId: string, @Body() iftttActionTriggered: IftttActionTriggered): Promise { - await IftttIntegrationBlSingleton.triggeredMinionAction(minionId, iftttActionTriggered); - } - - /** - * Ifttt webhooks triggering casa-net *operation* action API. - * @param operationId operation to invoke. - * @param iftttActionTriggeredRequest Ifttt request auth and redirect data. - */ - @Response(501, 'Server error') - @Security('iftttAuth') - @Post('/trigger/operations/{operationId}/') - public async triggeredOperationAction(operationId: string, @Body() iftttActionTriggeredRequest: IftttActionTriggeredRequest) - : Promise { - await IftttIntegrationBlSingleton.triggeredOperationAction(operationId); - } + /** + * Ifttt webhooks triggering casa-net *operation* action API. + * @param operationId operation to invoke. + * @param iftttActionTriggeredRequest Ifttt request auth and redirect data. + */ + @Response(501, 'Server error') + @Security('iftttAuth') + @Post('/trigger/operations/{operationId}/') + public async triggeredOperationAction( + operationId: string, + @Body() iftttActionTriggeredRequest: IftttActionTriggeredRequest, + ): Promise { + await IftttIntegrationBlSingleton.triggeredOperationAction(operationId); + } } diff --git a/backend/src/controllers/minionsController.ts b/backend/src/controllers/minionsController.ts index 461ef7ae..e5057137 100644 --- a/backend/src/controllers/minionsController.ts +++ b/backend/src/controllers/minionsController.ts @@ -1,204 +1,217 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { MinionsBlSingleton } from '../business-layer/minionsBl'; import { TimelineBlSingleton } from '../business-layer/timelineBl'; import { - ErrorResponse, - IftttOnChanged, - Minion, - MinionRename, - MinionStatus, - MinionTimeline, - SetMinionAutoTurnOff, - SetMinionCalibrate, - VersionUpdateStatus, - ScaningStatus, + ErrorResponse, + IftttOnChanged, + Minion, + MinionRename, + MinionStatus, + MinionTimeline, + ScaningStatus, + SetMinionAutoTurnOff, + SetMinionCalibrate, + VersionUpdateStatus, } from '../models/sharedInterfaces'; import { DeepCopy } from '../utilities/deepCopy'; @Tags('Minions') @Route('minions') export class MinionsController extends Controller { - - /** - * NEVER let anyone get device API keys. - * @param minion minion to remove keys from. - */ - private cleanUpMinionBeforRelease(minion: Minion): Minion { - const minionCopy = DeepCopy(minion); - delete minionCopy.device.deviceId; - delete minionCopy.device.token; - return minionCopy; - } - - /** - * NEVER let anyone get device API keys. - * @param minions minions to remove keys from. - */ - private cleanUpMinionsBeforRelease(minions: Minion[]): Minion[] { - const minionsCopy: Minion[] = []; - for (const minion of minions) { - minionsCopy.push(this.cleanUpMinionBeforRelease(minion)); - } - return minionsCopy; - } - - /** - * Get the timeline of minions status. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('timeline') - public async getMinionsTimeline(): Promise { - return await TimelineBlSingleton.getTimeline(); - } - - /** - * Update minion name. - * @param minionId Minion id. - * @param name Minion new name to set. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('rename/{minionId}') - public async renameMinion(minionId: string, @Body() minionRename: MinionRename): Promise { - return await MinionsBlSingleton.renameMinion(minionId, minionRename.name); - } - - /** - * Update minion auto turns off timeout. - * @param minionId Minon id. - * @param setTimeout Timeout property. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('timeout/{minionId}') - public async setMinionTimeout(minionId: string, @Body() setTimeout: SetMinionAutoTurnOff): Promise { - return await MinionsBlSingleton.setMinionTimeout(minionId, setTimeout.setAutoTurnOffMS); - } - - /** - * Update minion auto turns off timeout. - * @param minionId Minon id. - * @param setCalibrate Timeout property. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('calibrate/{minionId}') - public async setMinionCalibrate(minionId: string, @Body() setCalibrate: SetMinionCalibrate): Promise { - return await MinionsBlSingleton.setMinionCalibrate(minionId, setCalibrate.calibrationCycleMinutes); - } - - /** - * Recheck minion device status (update server status cache). - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('rescan/{minionId}') - public async rescanMinionStatus(minionId: string): Promise { - return await MinionsBlSingleton.scanMinionStatus(minionId); - } - - /** - * Recheck every minion device status (update server status cache). - * Note that this is not the devices scan! - * This scanning only checks every minion API to know the current status. - * @param scanNetwork Whenever scan also the local networks IP's map or not - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('rescan') - public async rescanMinionsStatus(@Query() scanNetwork: boolean = false): Promise { - return await MinionsBlSingleton.scanMinionsStatus(scanNetwork); - } - - /** - * Get the current scanning status - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('rescan') - public async getSescaningMinionsStatus(): Promise { - return { - scaningStatus: await MinionsBlSingleton.getScaningStatus() - }; - } - - /** - * Delete minion from the system. - * @param minionId Minon id. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Delete('{minionId}') - public async deleteMinion(minionId: string): Promise { - return await MinionsBlSingleton.deleteMinion(minionId); - } - - /** - * Creates a new minion. - * @param minion The new minion to create. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post() - public async createMinion(@Body() minion: Minion): Promise { - return await MinionsBlSingleton.createMinion(minion); - } - - /** - * Notify minion status changed by ifttt webhook (https://ifttt.com/maker_webhooks). - * @param minionId Minon id. - * @param iftttOnChanged Minion key amd status to set. - */ - @Response(501, 'Server error') - @Security('iftttAuth') - @Put('{minionId}/ifttt') - public async notifyMinionStatusChanged(minionId: string, @Body() iftttOnChanged: IftttOnChanged): Promise { - return await MinionsBlSingleton.notifyMinionChangedByIfttt(minionId, iftttOnChanged); - } - - /** - * Get all minions in the system. - * @returns Minions array. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get() - public async getMinions(): Promise { - return this.cleanUpMinionsBeforRelease(await MinionsBlSingleton.getMinions()); - } - - /** - * Get minion by id. - * @returns Minion. - */ - @Security('userAuth') - @Security('adminAuth') - @Get('{minionId}') - public async getMinion(minionId: string): Promise { - return this.cleanUpMinionBeforRelease(await MinionsBlSingleton.getMinionById(minionId)); - } - - /** - * Update minion status. - * @param minionId Minion id. - * @param setStatus Minion status to set. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('{minionId}') - public async setMinion(minionId: string, @Body() setStatus: MinionStatus): Promise { - return await MinionsBlSingleton.setMinionStatus(minionId, setStatus); + /** + * Get the timeline of minions status. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('timeline') + public async getMinionsTimeline(): Promise { + return await TimelineBlSingleton.getTimeline(); + } + + /** + * Update minion name. + * @param minionId Minion id. + * @param name Minion new name to set. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('rename/{minionId}') + public async renameMinion(minionId: string, @Body() minionRename: MinionRename): Promise { + return await MinionsBlSingleton.renameMinion(minionId, minionRename.name); + } + + /** + * Update minion auto turns off timeout. + * @param minionId Minon id. + * @param setTimeout Timeout property. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('timeout/{minionId}') + public async setMinionTimeout(minionId: string, @Body() setTimeout: SetMinionAutoTurnOff): Promise { + return await MinionsBlSingleton.setMinionTimeout(minionId, setTimeout.setAutoTurnOffMS); + } + + /** + * Update minion auto turns off timeout. + * @param minionId Minon id. + * @param setCalibrate Timeout property. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('calibrate/{minionId}') + public async setMinionCalibrate(minionId: string, @Body() setCalibrate: SetMinionCalibrate): Promise { + return await MinionsBlSingleton.setMinionCalibrate(minionId, setCalibrate.calibrationCycleMinutes); + } + + /** + * Recheck minion device status (update server status cache). + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('rescan/{minionId}') + public async rescanMinionStatus(minionId: string): Promise { + return await MinionsBlSingleton.scanMinionStatus(minionId); + } + + /** + * Recheck every minion device status (update server status cache). + * Note that this is not the devices scan! + * This scanning only checks every minion API to know the current status. + * @param scanNetwork Whenever scan also the local networks IP's map or not + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('rescan') + public async rescanMinionsStatus(@Query() scanNetwork: boolean = false): Promise { + return await MinionsBlSingleton.scanMinionsStatus(scanNetwork); + } + + /** + * Get the current scanning status + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('rescan') + public async getSescaningMinionsStatus(): Promise { + return { + scaningStatus: await MinionsBlSingleton.getScaningStatus(), + }; + } + + /** + * Delete minion from the system. + * @param minionId Minon id. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Delete('{minionId}') + public async deleteMinion(minionId: string): Promise { + return await MinionsBlSingleton.deleteMinion(minionId); + } + + /** + * Creates a new minion. + * @param minion The new minion to create. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post() + public async createMinion(@Body() minion: Minion): Promise { + return await MinionsBlSingleton.createMinion(minion); + } + + /** + * Notify minion status changed by ifttt webhook (https://ifttt.com/maker_webhooks). + * @param minionId Minon id. + * @param iftttOnChanged Minion key amd status to set. + */ + @Response(501, 'Server error') + @Security('iftttAuth') + @Put('{minionId}/ifttt') + public async notifyMinionStatusChanged(minionId: string, @Body() iftttOnChanged: IftttOnChanged): Promise { + return await MinionsBlSingleton.notifyMinionChangedByIfttt(minionId, iftttOnChanged); + } + + /** + * Get all minions in the system. + * @returns Minions array. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get() + public async getMinions(): Promise { + return this.cleanUpMinionsBeforRelease(await MinionsBlSingleton.getMinions()); + } + + /** + * Get minion by id. + * @returns Minion. + */ + @Security('userAuth') + @Security('adminAuth') + @Get('{minionId}') + public async getMinion(minionId: string): Promise { + return this.cleanUpMinionBeforRelease(await MinionsBlSingleton.getMinionById(minionId)); + } + + /** + * Update minion status. + * @param minionId Minion id. + * @param setStatus Minion status to set. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('{minionId}') + public async setMinion(minionId: string, @Body() setStatus: MinionStatus): Promise { + return await MinionsBlSingleton.setMinionStatus(minionId, setStatus); + } + /** + * NEVER let anyone get device API keys. + * @param minion minion to remove keys from. + */ + private cleanUpMinionBeforRelease(minion: Minion): Minion { + const minionCopy = DeepCopy(minion); + delete minionCopy.device.deviceId; + delete minionCopy.device.token; + return minionCopy; + } + + /** + * NEVER let anyone get device API keys. + * @param minions minions to remove keys from. + */ + private cleanUpMinionsBeforRelease(minions: Minion[]): Minion[] { + const minionsCopy: Minion[] = []; + for (const minion of minions) { + minionsCopy.push(this.cleanUpMinionBeforRelease(minion)); } + return minionsCopy; + } } diff --git a/backend/src/controllers/operationsController.ts b/backend/src/controllers/operationsController.ts index 5ce6dde6..35a96a41 100644 --- a/backend/src/controllers/operationsController.ts +++ b/backend/src/controllers/operationsController.ts @@ -1,82 +1,96 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { OperationsBlSingleton } from '../business-layer/operationsBl'; import { ErrorResponse, Operation, OperationResult } from '../models/sharedInterfaces'; @Tags('Operations') @Route('operations') export class OperationsController extends Controller { + /** + * Get all operations in the system. + * @returns Operations array. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get() + public async getOperations(): Promise { + return await OperationsBlSingleton.getOperations(); + } - /** - * Get all operations in the system. - * @returns Operations array. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get() - public async getOperations(): Promise { - return await OperationsBlSingleton.getOperations(); - } + /** + * Get operation by id. + * @returns Operation. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('{operationId}') + public async getOperation(operationId: string): Promise { + return await OperationsBlSingleton.getOperationById(operationId); + } - /** - * Get operation by id. - * @returns Operation. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('{operationId}') - public async getOperation(operationId: string): Promise { - return await OperationsBlSingleton.getOperationById(operationId); - } + /** + * Update operation properties. + * @param operationId OperationId id. + * @param operation Operation object to update to. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('{operationId}') + public async setOperation(operationId: string, @Body() operation: Operation): Promise { + return await OperationsBlSingleton.SetOperation(operationId, operation); + } - /** - * Update operation properties. - * @param operationId OperationId id. - * @param operation Operation object to update to. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('{operationId}') - public async setOperation(operationId: string, @Body() operation: Operation): Promise { - return await OperationsBlSingleton.SetOperation(operationId, operation); - } + /** + * Delete operation from the system. + * @param operationId Operation id. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Delete('{operationId}') + public async deleteOperation(operationId: string): Promise { + return await OperationsBlSingleton.DeleteOperation(operationId); + } - /** - * Delete operation from the system. - * @param operationId Operation id. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Delete('{operationId}') - public async deleteOperation(operationId: string): Promise { - return await OperationsBlSingleton.DeleteOperation(operationId); - } + /** + * Creates a new operation. + * @param operation The new operation to create. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post() + public async createOperation(@Body() operation: Operation): Promise { + return await OperationsBlSingleton.CreateOperation(operation); + } - /** - * Creates a new operation. - * @param operation The new operation to create. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post() - public async createOperation(@Body() operation: Operation): Promise { - return await OperationsBlSingleton.CreateOperation(operation); - } - - /** - * Invoke operation. - * @param operationId Operation id. - * @returns Array of minions set status errors (if any). - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('trigger/{operationId}') - public async triggerOperation(operationId: string): Promise { - return await OperationsBlSingleton.triggerOperation(operationId); - } + /** + * Invoke operation. + * @param operationId Operation id. + * @returns Array of minions set status errors (if any). + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('trigger/{operationId}') + public async triggerOperation(operationId: string): Promise { + return await OperationsBlSingleton.triggerOperation(operationId); + } } diff --git a/backend/src/controllers/radioFrequencyController.ts b/backend/src/controllers/radioFrequencyController.ts index 215f24f3..bab0f0ff 100644 --- a/backend/src/controllers/radioFrequencyController.ts +++ b/backend/src/controllers/radioFrequencyController.ts @@ -1,65 +1,78 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; -import { RfBlSingleton } from '../business-layer/rfBl'; import { - CommandsRepoDevice, - ErrorResponse, - MinionStatus, -} from '../models/sharedInterfaces'; + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; +import { RfBlSingleton } from '../business-layer/rfBl'; +import { CommandsRepoDevice, ErrorResponse, MinionStatus } from '../models/sharedInterfaces'; @Tags('RF') @Route('rf') export class RfController extends Controller { + /** + * Get all aupported devices in commands repo see https://github.com/casanet/rf-commands-repo API. + * @returns supported devices collection. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('devices') + public async getCommandsRepoAvailableDevices(): Promise { + return await RfBlSingleton.getAvailableDevicesToFetch(); + } - /** - * Get all aupported devices in commands repo see https://github.com/casanet/rf-commands-repo API. - * @returns supported devices collection. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('devices') - public async getCommandsRepoAvailableDevices(): Promise { - return await RfBlSingleton.getAvailableDevicesToFetch(); - } - - /** - * Fetch commands set for certain minion see https://github.com/casanet/rf-commands-repo API. - * @param minionId minion to fetch commands for. - * @param commandsRepoDevice devices commands set to fetch. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('fetch-commands/{minionId}') - public async fetchDeviceCommandsToMinion(minionId: string, @Body() commandsRepoDevice: CommandsRepoDevice): Promise { - return await RfBlSingleton.fetchDeviceCommandsToMinion(minionId, commandsRepoDevice); - } + /** + * Fetch commands set for certain minion see https://github.com/casanet/rf-commands-repo API. + * @param minionId minion to fetch commands for. + * @param commandsRepoDevice devices commands set to fetch. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('fetch-commands/{minionId}') + public async fetchDeviceCommandsToMinion( + minionId: string, + @Body() commandsRepoDevice: CommandsRepoDevice, + ): Promise { + return await RfBlSingleton.fetchDeviceCommandsToMinion(minionId, commandsRepoDevice); + } - /** - * Record a command (IR, 433-RF or any other supported RF tech) - * for current minion status. - * @param minionId Minon id. - * @param minionStatus Minion object status to get command for. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('record/{minionId}') - public async recordMinionCommand(minionId: string, @Body() minionStatus: MinionStatus): Promise { - return RfBlSingleton.recordCommand(minionId, minionStatus); - } + /** + * Record a command (IR, 433-RF or any other supported RF tech) + * for current minion status. + * @param minionId Minon id. + * @param minionStatus Minion object status to get command for. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('record/{minionId}') + public async recordMinionCommand(minionId: string, @Body() minionStatus: MinionStatus): Promise { + return RfBlSingleton.recordCommand(minionId, minionStatus); + } - /** - * Generate a command (IR, 433-RF or any other supported RF tech) - * for current minion status. - * @param minionId Minon id. - * @param minionStatus Minion object status to generate command for. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post('generate/{minionId}') - public async generateMinionCommand(minionId: string, @Body() minionStatus: MinionStatus): Promise { - return RfBlSingleton.generateCommand(minionId, minionStatus); - } + /** + * Generate a command (IR, 433-RF or any other supported RF tech) + * for current minion status. + * @param minionId Minon id. + * @param minionStatus Minion object status to generate command for. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post('generate/{minionId}') + public async generateMinionCommand(minionId: string, @Body() minionStatus: MinionStatus): Promise { + return RfBlSingleton.generateCommand(minionId, minionStatus); + } } diff --git a/backend/src/controllers/remoteConnectionController.ts b/backend/src/controllers/remoteConnectionController.ts index 11d9e937..62e5117a 100644 --- a/backend/src/controllers/remoteConnectionController.ts +++ b/backend/src/controllers/remoteConnectionController.ts @@ -1,74 +1,96 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { RemoteConnectionBlSingleton } from '../business-layer/remoteConnectionBl'; -import { ErrorResponse, Login, MinionFeed, RemoteConnectionStatus, RemoteSettings, Timing, TimingFeed } from '../models/sharedInterfaces'; +import { + ErrorResponse, + Login, + MinionFeed, + RemoteConnectionStatus, + RemoteSettings, + Timing, + TimingFeed, +} from '../models/sharedInterfaces'; import { RemoteSettingsSchema, SchemaValidator } from '../security/schemaValidator'; import { GetMachinMacAddress } from '../utilities/macAddress'; @Tags('Remote') @Route('remote') export class RemoteConnectionController extends Controller { + /** + * Get remote server host/IP. + * or empty if not set. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Get() + public async getRemoteHost(): Promise { + return await RemoteConnectionBlSingleton.getRemoteHost(); + } - /** - * Get remote server host/IP. - * or empty if not set. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Get() - public async getRemoteHost(): Promise { - return await RemoteConnectionBlSingleton.getRemoteHost(); - } + /** + * Get connection status to remote status. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Get('status') + public async getConnectionStatus(): Promise { + return RemoteConnectionBlSingleton.connectionStatus; + } - /** - * Get connection status to remote status. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Get('status') - public async getConnectionStatus(): Promise { - return RemoteConnectionBlSingleton.connectionStatus; - } + /** + * Get local casa-server machine mac address. + * Used when creating a new local server in a remote server. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Get('machine-mac') + public async getMachineMac(): Promise { + return await GetMachinMacAddress(); + } - /** - * Get local casa-server machine mac address. - * Used when creating a new local server in a remote server. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Get('machine-mac') - public async getMachineMac(): Promise { - return await GetMachinMacAddress(); + /** + * Connect to remote server with given remote settings. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Put() + public async setRemoteSettings(@Body() remoteSettings: RemoteSettings): Promise { + try { + /** Validate remote settings */ + const validRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema); + return await RemoteConnectionBlSingleton.setRemoteSettings(validRemoteSettings); + } catch (error) { + throw { + responseCode: 2422, + message: 'remote settings data incorrent', + } as ErrorResponse; } + } - /** - * Connect to remote server with given remote settings. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Put() - public async setRemoteSettings(@Body() remoteSettings: RemoteSettings): Promise { - try { - /** Validate remote settings */ - const validRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema); - return await RemoteConnectionBlSingleton.setRemoteSettings(validRemoteSettings); - } catch (error) { - throw { - responseCode: 2422, - message: 'remote settings data incorrent', - } as ErrorResponse; - } - } - - /** - * Remove and disconnect remote server connection. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Delete() - public async removeRemoteSettings(): Promise { - return await RemoteConnectionBlSingleton.removeRemoteSettings(); - } + /** + * Remove and disconnect remote server connection. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Delete() + public async removeRemoteSettings(): Promise { + return await RemoteConnectionBlSingleton.removeRemoteSettings(); + } } diff --git a/backend/src/controllers/staticAssetsController.ts b/backend/src/controllers/staticAssetsController.ts index 638fc64d..2f620065 100644 --- a/backend/src/controllers/staticAssetsController.ts +++ b/backend/src/controllers/staticAssetsController.ts @@ -1,16 +1,30 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; @Tags('Public') @Route('static') export class StaticAssetsController extends Controller { - - /** - * Get public assets for casa-net client side. - */ - @Response(404, 'Page not found') - @Get('**/*') - public async getStaticsAssets(): Promise { - throw new Error('Request never should be here. it is a documentation only route.'); - } + /** + * Get public assets for casa-net client side. + */ + @Response(404, 'Page not found') + @Get('**/*') + public async getStaticsAssets(): Promise { + throw new Error('Request never should be here. it is a documentation only route.'); + } } diff --git a/backend/src/controllers/timingsController.ts b/backend/src/controllers/timingsController.ts index 13e09e7a..468341a7 100644 --- a/backend/src/controllers/timingsController.ts +++ b/backend/src/controllers/timingsController.ts @@ -1,70 +1,83 @@ -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Query, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Query, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { TimingsBlSingleton } from '../business-layer/timingsBl'; import { ErrorResponse, Timing } from '../models/sharedInterfaces'; @Tags('Timings') @Route('timings') export class TimingsController extends Controller { + /** + * Get all the timings in the system. + * @returns Timings array. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get() + public async getTimings(): Promise { + return await TimingsBlSingleton.getTimings(); + } - /** - * Get all the timings in the system. - * @returns Timings array. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get() - public async getTimings(): Promise { - return await TimingsBlSingleton.getTimings(); - } + /** + * Get timing by id. + * @returns Timing. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Get('{timingId}') + public async getTiming(timingId: string): Promise { + return await TimingsBlSingleton.getTimingById(timingId); + } - /** - * Get timing by id. - * @returns Timing. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Get('{timingId}') - public async getTiming(timingId: string): Promise { - return await TimingsBlSingleton.getTimingById(timingId); - } + /** + * Update timing properties. + * @param timingId Timing id. + * @param timing Timing object to update to. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Put('{timingId}') + public async setTiming(timingId: string, @Body() timing: Timing): Promise { + return await TimingsBlSingleton.SetTiming(timingId, timing); + } - /** - * Update timing properties. - * @param timingId Timing id. - * @param timing Timing object to update to. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Put('{timingId}') - public async setTiming(timingId: string, @Body() timing: Timing): Promise { - return await TimingsBlSingleton.SetTiming(timingId, timing); - } - - /** - * Delete timing from the system. - * @param timingId Timing id. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Delete('{timingId}') - public async deleteTiming(timingId: string): Promise { - return await TimingsBlSingleton.DeleteTiming(timingId); - } - - /** - * Creates a new timing. - * @param timing The new timing to create. - */ - @Security('userAuth') - @Security('adminAuth') - @Response(501, 'Server error') - @Post() - public async createTiming(@Body() timing: Timing): Promise { - return await TimingsBlSingleton.CreateTiming(timing); - } + /** + * Delete timing from the system. + * @param timingId Timing id. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Delete('{timingId}') + public async deleteTiming(timingId: string): Promise { + return await TimingsBlSingleton.DeleteTiming(timingId); + } + /** + * Creates a new timing. + * @param timing The new timing to create. + */ + @Security('userAuth') + @Security('adminAuth') + @Response(501, 'Server error') + @Post() + public async createTiming(@Body() timing: Timing): Promise { + return await TimingsBlSingleton.CreateTiming(timing); + } } diff --git a/backend/src/controllers/usersController.ts b/backend/src/controllers/usersController.ts index c24b1d76..e51a6545 100644 --- a/backend/src/controllers/usersController.ts +++ b/backend/src/controllers/usersController.ts @@ -1,185 +1,198 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { RemoteConnectionBlSingleton } from '../business-layer/remoteConnectionBl'; import { UsersBlSingleton } from '../business-layer/usersBl'; import { ErrorResponse, User } from '../models/sharedInterfaces'; import { DeepCopy } from '../utilities/deepCopy'; declare interface UserForwardAuth { - /** - * Generated code that sent to user email account - * @minLength 6 - * @maxLength 6 - */ - code: string; + /** + * Generated code that sent to user email account + * @minLength 6 + * @maxLength 6 + */ + code: string; } @Tags('Users') @Route('users') export class UsersController extends Controller { + /** + * Get user profile. + * @returns User. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Get('profile') + public async getProfile(@Request() request: express.Request): Promise { + const userSession: User = request.user; + return this.cleanUpUserBeforRelease(await UsersBlSingleton.getUser(userSession.email)); + } + + /** + * Reqest registration code. + * @param userId User id/email to send code to. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Post('forward-auth/{userId}') + public async requestUserForwarding(userId: string): Promise { + await RemoteConnectionBlSingleton.requestSendUserRegisterCode(userId); + } + + /** + * Get registered users for forwarding from remote to local. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Get('forward') + public async getRegisteredUsers(): Promise { + return await RemoteConnectionBlSingleton.getRegisteredUsersForRemoteForwarding(); + } + + /** + * Register account to allow forward HTTP requests from remote to local server. + * @param userId User id/email to register. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Post('forward/{userId}') + public async requestUserForwardingAuth(userId: string, @Body() auth: UserForwardAuth): Promise { + await RemoteConnectionBlSingleton.registerUserForRemoteForwarding(userId, auth.code); + } + + /** + * Remove account from local server valid account to forward from remote to local + * @param userId User id/email to unregister. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Delete('forward/{userId}') + public async removeUserForwarding(userId: string): Promise { + await RemoteConnectionBlSingleton.unregisterUserFromRemoteForwarding(userId); + } + + /** + * Get all users in the system. + * @returns Users array. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Get() + public async getUsers(): Promise { + return this.cleanUpUsersBeforRelease(await UsersBlSingleton.getUsers()); + } + + /** + * Get user by id. + * @returns User. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Get('{userId}') + public async getUser(userId: string, @Request() request: express.Request): Promise { + this.isUserAllowd(request.user, userId); + return this.cleanUpUserBeforRelease(await UsersBlSingleton.getUser(userId)); + } + + /** + * Update user properties. + * @param userId User id. + * @param user User object to update to. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Put('{userId}') + public async setUser(userId: string, @Request() request: express.Request, @Body() user: User): Promise { + const userSession = request.user as User; + this.isUserAllowd(userSession, userId); + user.email = userId; /** - * NEVER let anyone get hashed password. - * @param user user to remove password from. - */ - private cleanUpUserBeforRelease(user: User): User { - const userCopy = DeepCopy(user); - delete userCopy.password; - return userCopy; - } - - /** - * NEVER let anyone get hashed password. - * @param users users to remove password from. + * Never allow user to change own scope. */ - private cleanUpUsersBeforRelease(users: User[]): User[] { - const usersCopy: User[] = []; - for (const user of users) { - usersCopy.push(this.cleanUpUserBeforRelease(user)); - } - return usersCopy; + if (userSession.scope !== 'adminAuth') { + user.scope = userSession.scope; } - /** - * Only admin can watch/update/delete other users. - */ - private isUserAllowd(userSession: User, userIdInReq): void { - /** - * Only admin can update other user. - */ - if (userSession.scope !== 'adminAuth' && userSession.email !== userIdInReq) { - throw { - responseCode: 4403, - message: 'user not allowed to watch other accounts', - } as ErrorResponse; - } - } - - /** - * Get user profile. - * @returns User. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Get('profile') - public async getProfile(@Request() request: express.Request): Promise { - const userSession: User = request.user; - return this.cleanUpUserBeforRelease(await UsersBlSingleton.getUser(userSession.email)); - } - - /** - * Reqest registration code. - * @param userId User id/email to send code to. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Post('forward-auth/{userId}') - public async requestUserForwarding(userId: string): Promise { - await RemoteConnectionBlSingleton.requestSendUserRegisterCode(userId); - } - - /** - * Get registered users for forwarding from remote to local. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Get('forward') - public async getRegisteredUsers(): Promise { - return await RemoteConnectionBlSingleton.getRegisteredUsersForRemoteForwarding(); - } - - /** - * Register account to allow forward HTTP requests from remote to local server. - * @param userId User id/email to register. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Post('forward/{userId}') - public async requestUserForwardingAuth(userId: string, @Body() auth: UserForwardAuth): Promise { - await RemoteConnectionBlSingleton.registerUserForRemoteForwarding(userId, auth.code); - } - - /** - * Remove account from local server valid account to forward from remote to local - * @param userId User id/email to unregister. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Delete('forward/{userId}') - public async removeUserForwarding(userId: string): Promise { - await RemoteConnectionBlSingleton.unregisterUserFromRemoteForwarding(userId); - } - - /** - * Get all users in the system. - * @returns Users array. - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Get() - public async getUsers(): Promise { - return this.cleanUpUsersBeforRelease(await UsersBlSingleton.getUsers()); - } - - /** - * Get user by id. - * @returns User. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Get('{userId}') - public async getUser(userId: string, @Request() request: express.Request): Promise { - this.isUserAllowd(request.user, userId); - return this.cleanUpUserBeforRelease(await UsersBlSingleton.getUser(userId)); - } - - /** - * Update user properties. - * @param userId User id. - * @param user User object to update to. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Put('{userId}') - public async setUser(userId: string, @Request() request: express.Request, @Body() user: User): Promise { - const userSession = request.user as User; - this.isUserAllowd(userSession, userId); - user.email = userId; - - /** - * Never allow user to change own scope. - */ - if (userSession.scope !== 'adminAuth') { - user.scope = userSession.scope; - } - - return await UsersBlSingleton.updateUser(user); - } - - /** - * Delete user from the system. - * @param userId User id. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Delete('{userId}') - public async deleteUser(userId: string, @Request() request: express.Request): Promise { - this.isUserAllowd(request.user, userId); - return await UsersBlSingleton.deleteUser(userId); + return await UsersBlSingleton.updateUser(user); + } + + /** + * Delete user from the system. + * @param userId User id. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Delete('{userId}') + public async deleteUser(userId: string, @Request() request: express.Request): Promise { + this.isUserAllowd(request.user, userId); + return await UsersBlSingleton.deleteUser(userId); + } + + /** + * Creates a new user. + * @param user The new user to create. + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Post() + public async createUser(@Body() user: User): Promise { + return await UsersBlSingleton.createUser(user); + } + /** + * NEVER let anyone get hashed password. + * @param user user to remove password from. + */ + private cleanUpUserBeforRelease(user: User): User { + const userCopy = DeepCopy(user); + delete userCopy.password; + return userCopy; + } + + /** + * NEVER let anyone get hashed password. + * @param users users to remove password from. + */ + private cleanUpUsersBeforRelease(users: User[]): User[] { + const usersCopy: User[] = []; + for (const user of users) { + usersCopy.push(this.cleanUpUserBeforRelease(user)); } + return usersCopy; + } + /** + * Only admin can watch/update/delete other users. + */ + private isUserAllowd(userSession: User, userIdInReq): void { /** - * Creates a new user. - * @param user The new user to create. + * Only admin can update other user. */ - @Security('adminAuth') - @Response(501, 'Server error') - @Post() - public async createUser(@Body() user: User): Promise { - return await UsersBlSingleton.createUser(user); + if (userSession.scope !== 'adminAuth' && userSession.email !== userIdInReq) { + throw { + responseCode: 4403, + message: 'user not allowed to watch other accounts', + } as ErrorResponse; } + } } diff --git a/backend/src/controllers/versionsController.ts b/backend/src/controllers/versionsController.ts index 66661481..4f0715cb 100644 --- a/backend/src/controllers/versionsController.ts +++ b/backend/src/controllers/versionsController.ts @@ -1,41 +1,55 @@ import * as express from 'express'; -import { Body, Controller, Delete, Get, Header, Path, Post, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa'; +import { + Body, + Controller, + Delete, + Get, + Header, + Path, + Post, + Put, + Request, + Response, + Route, + Security, + SuccessResponse, + Tags, +} from 'tsoa'; import { VersionsBlSingleton } from '../business-layer/versionsBl'; import { ErrorResponse, UpdateResults, VersionInfo, VersionUpdateStatus } from '../models/sharedInterfaces'; @Tags('Version') @Route('version') export class VersionsController extends Controller { + /** + * Update CASA-net application to the latest version (Restart required for the version update complete). + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Put('latest') + public async updateVersion(): Promise { + return await VersionsBlSingleton.updateToLastVersion(); + } - /** - * Update CASA-net application to the latest version (Restart required for the version update complete). - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Put('latest') - public async updateVersion(): Promise { - return await VersionsBlSingleton.updateToLastVersion(); - } + /** + * Get current version update progress status + */ + @Security('adminAuth') + @Response(501, 'Server error') + @Get('update-status') + public async getUpdateStatus(): Promise { + return await VersionsBlSingleton.getUpdateStatus(); + } - /** - * Get current version update progress status - */ - @Security('adminAuth') - @Response(501, 'Server error') - @Get('update-status') - public async getUpdateStatus(): Promise { - return await VersionsBlSingleton.getUpdateStatus(); - } - - /** - * Get current version. - * @returns Current version. - */ - @Security('adminAuth') - @Security('userAuth') - @Response(501, 'Server error') - @Get() - public async getCurrentVersion(): Promise { - return await VersionsBlSingleton.getCurrentVersion(); - } + /** + * Get current version. + * @returns Current version. + */ + @Security('adminAuth') + @Security('userAuth') + @Response(501, 'Server error') + @Get() + public async getCurrentVersion(): Promise { + return await VersionsBlSingleton.getCurrentVersion(); + } } diff --git a/backend/src/data-layer/dataIO.ts b/backend/src/data-layer/dataIO.ts index 54eef3bb..930a774b 100644 --- a/backend/src/data-layer/dataIO.ts +++ b/backend/src/data-layer/dataIO.ts @@ -8,48 +8,45 @@ import { logger } from '../utilities/logger'; * Used for r/w files. */ export class DataIO implements IDataIO { + public static readonly DATA_DIRACTORY = path.join('./data/', Configuration.runningMode); - public static readonly DATA_DIRACTORY = path.join('./data/', Configuration.runningMode); + /** + * File pull path. + */ + private filePath: string; - /** - * File pull path. - */ - private filePath: string; + /** + * Init data IO. + * @param fileName File name to r/w from. + */ + constructor(private fileName: string) { + this.filePath = path.join(DataIO.DATA_DIRACTORY, this.fileName); + } - /** - * Init data IO. - * @param fileName File name to r/w from. - */ - constructor(private fileName: string) { - this.filePath = path.join(DataIO.DATA_DIRACTORY, this.fileName); + /** + * Get data sync. + * Use it in init only. else the app will black until read finish. + */ + public getDataSync(): any[] { + try { + return fse.readJSONSync(this.filePath); + } catch (error) { + return []; } + } - /** - * Get data sync. - * Use it in init only. else the app will black until read finish. - */ - public getDataSync(): any[] { - try { - return fse.readJSONSync(this.filePath); - } catch (error) { - return []; - } - } - - public async getData(): Promise { - const data = await fse.readJSON(this.filePath) - .catch((err) => { - logger.warn(`Fail to read ${this.fileName} file, ${err}`); - throw new Error('Fail to read data'); - }); - return data; - } + public async getData(): Promise { + const data = await fse.readJSON(this.filePath).catch(err => { + logger.warn(`Fail to read ${this.fileName} file, ${err}`); + throw new Error('Fail to read data'); + }); + return data; + } - public async setData(data: any[]): Promise { - await fse.outputFile(this.filePath, JSON.stringify(data, null, 2)) - .catch((err) => { - logger.warn(`Fail to write ${this.fileName} file, ${err}`); - throw new Error('Fail to write data'); - }); - } + public async setData(data: any[]): Promise { + await fse.outputFile(this.filePath, JSON.stringify(data, null, 2)).catch(err => { + logger.warn(`Fail to write ${this.fileName} file, ${err}`); + throw new Error('Fail to write data'); + }); + } } diff --git a/backend/src/data-layer/devicesDal.ts b/backend/src/data-layer/devicesDal.ts index 6bc2d7c5..08cce443 100644 --- a/backend/src/data-layer/devicesDal.ts +++ b/backend/src/data-layer/devicesDal.ts @@ -8,80 +8,76 @@ const DEVICES_FILE_NAME = 'devices.json'; * Used only to save devices name map to mac address. not any other use. */ export class DevicesDal { - - private dataIo: IDataIO; - - /** - * Kept Devices. - */ - private devices: LocalNetworkDevice[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.devices = dataIo.getDataSync(); + private dataIo: IDataIO; + + /** + * Kept Devices. + */ + private devices: LocalNetworkDevice[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.devices = dataIo.getDataSync(); + } + + /** + * Get all saved devices as array. + */ + public async getDevices(): Promise { + return this.devices; + } + + /** + * Save new device mac name map. + */ + public async saveDevice(deviceToSave: LocalNetworkDevice): Promise { + const originalDevice = this.findDevice(deviceToSave.mac); + + if (originalDevice) { + this.devices.splice(this.devices.indexOf(originalDevice), 1); } - /** - * Find device in devices array - */ - private findDevice(mac: string): LocalNetworkDevice { - for (const device of this.devices) { - if (device.mac === mac) { - return device; - } - } - } - - /** - * Get all saved devices as array. - */ - public async getDevices(): Promise { - return this.devices; - } - - /** - * Save new device mac name map. - */ - public async saveDevice(deviceToSave: LocalNetworkDevice): Promise { - - const originalDevice = this.findDevice(deviceToSave.mac); + this.devices.push(deviceToSave); - if (originalDevice) { - this.devices.splice(this.devices.indexOf(originalDevice), 1); - } + await this.dataIo.setData(this.devices).catch(() => { + this.devices.splice(this.devices.indexOf(deviceToSave), 1); - this.devices.push(deviceToSave); + if (originalDevice) { + this.devices.push(originalDevice); + } - await this.dataIo.setData(this.devices) - .catch(() => { - this.devices.splice(this.devices.indexOf(deviceToSave), 1); + throw new Error('fail to save device'); + }); + } - if (originalDevice) { - this.devices.push(originalDevice); - } + /** + * Remove device name map. + */ + public async removeDevice(deviceToRemove: LocalNetworkDevice): Promise { + const originalDevice = this.findDevice(deviceToRemove.mac); - throw new Error('fail to save device'); - }); + if (!originalDevice) { + throw new Error('device not saved'); } - /** - * Remove device name map. - */ - public async removeDevice(deviceToRemove: LocalNetworkDevice): Promise { - const originalDevice = this.findDevice(deviceToRemove.mac); - - if (!originalDevice) { - throw new Error('device not saved'); - } - - this.devices.splice(this.devices.indexOf(originalDevice), 1); - await this.dataIo.setData(this.devices) - .catch(() => { - this.devices.push(originalDevice); - throw new Error('fail to save device removed request'); - }); + this.devices.splice(this.devices.indexOf(originalDevice), 1); + await this.dataIo.setData(this.devices).catch(() => { + this.devices.push(originalDevice); + throw new Error('fail to save device removed request'); + }); + } + + /** + * Find device in devices array + */ + private findDevice(mac: string): LocalNetworkDevice { + for (const device of this.devices) { + if (device.mac === mac) { + return device; + } } + } } export const DevicesDalSingleton = new DevicesDal(new DataIO(DEVICES_FILE_NAME)); diff --git a/backend/src/data-layer/iftttIntegrationDal.ts b/backend/src/data-layer/iftttIntegrationDal.ts index 00001477..d217cb13 100644 --- a/backend/src/data-layer/iftttIntegrationDal.ts +++ b/backend/src/data-layer/iftttIntegrationDal.ts @@ -5,63 +5,61 @@ import { DataIO } from './dataIO'; const IFTTT_INTEG_FILE_NAME = 'iftttIntegration.json'; export class IftttIntergrationDal { + private dataIo: IDataIO; - private dataIo: IDataIO; + /** + * iftttIntegrationSettings. + */ + private iftttIntegrationSettings: IftttIntegrationSettings[]; - /** - * iftttIntegrationSettings. - */ - private iftttIntegrationSettings: IftttIntegrationSettings[]; + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; + this.iftttIntegrationSettings = dataIo.getDataSync(); - this.iftttIntegrationSettings = dataIo.getDataSync(); - - /** Set integration off as default */ - if (this.iftttIntegrationSettings.length === 0) { - this.iftttIntegrationSettings.push({ - apiKey: '', - enableIntegration: false, - }); - } + /** Set integration off as default */ + if (this.iftttIntegrationSettings.length === 0) { + this.iftttIntegrationSettings.push({ + apiKey: '', + enableIntegration: false, + }); } + } - /** - * Get Integration Settings. - */ - public async getIntegrationSettings(): Promise { - return this.iftttIntegrationSettings.length > 0 ? this.iftttIntegrationSettings[0] : { enableIntegration : false }; - } + /** + * Get Integration Settings. + */ + public async getIntegrationSettings(): Promise { + return this.iftttIntegrationSettings.length > 0 ? this.iftttIntegrationSettings[0] : { enableIntegration: false }; + } - /** - * Delete / Disable Integration Settings. - */ - public async disableIntegrationSettings(): Promise { - this.iftttIntegrationSettings = [{ - apiKey: '', - enableIntegration: false, - }]; + /** + * Delete / Disable Integration Settings. + */ + public async disableIntegrationSettings(): Promise { + this.iftttIntegrationSettings = [ + { + apiKey: '', + enableIntegration: false, + }, + ]; - await this.dataIo.setData(this.iftttIntegrationSettings) - .catch(() => { - throw new Error('fail to save iftttIntegrationSettings delete request'); - }); - } + await this.dataIo.setData(this.iftttIntegrationSettings).catch(() => { + throw new Error('fail to save iftttIntegrationSettings delete request'); + }); + } - /** - * Set Integration Settings(and remove current). - * @param iftttIntegrationSettings Integration settings to save. - */ - public async setIntegrationSettings(iftttIntegrationSettings: IftttIntegrationSettings): Promise { + /** + * Set Integration Settings(and remove current). + * @param iftttIntegrationSettings Integration settings to save. + */ + public async setIntegrationSettings(iftttIntegrationSettings: IftttIntegrationSettings): Promise { + this.iftttIntegrationSettings = [iftttIntegrationSettings]; - this.iftttIntegrationSettings = [iftttIntegrationSettings]; - - await this.dataIo.setData(this.iftttIntegrationSettings) - .catch(() => { - throw new Error('fail to save set iftttIntegrationSettings request'); - }); - } + await this.dataIo.setData(this.iftttIntegrationSettings).catch(() => { + throw new Error('fail to save set iftttIntegrationSettings request'); + }); + } } export const IftttIntergrationDalSingleton = new IftttIntergrationDal(new DataIO(IFTTT_INTEG_FILE_NAME)); diff --git a/backend/src/data-layer/minionsDal.ts b/backend/src/data-layer/minionsDal.ts index b826942e..9b89e9cd 100644 --- a/backend/src/data-layer/minionsDal.ts +++ b/backend/src/data-layer/minionsDal.ts @@ -5,158 +5,152 @@ import { DataIO } from './dataIO'; const MINIONS_FILE_NAME = 'minions.json'; export class MinionsDal { - - private dataIo: IDataIO; - - /** - * minions. - */ - private minions: Minion[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.minions = dataIo.getDataSync(); + private dataIo: IDataIO; + + /** + * minions. + */ + private minions: Minion[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.minions = dataIo.getDataSync(); + } + + /** + * Get all minions as array. + */ + public async getMinions(): Promise { + return this.minions; + } + + /** + * Get minion by id. + * @param minionId minion id. + */ + public async getMinionById(minionId: string): Promise { + const minion = this.findMinion(minionId); + + if (!minion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; } - - /** - * Find minion in minions array - */ - private findMinion(minionId: string): Minion { - for (const minion of this.minions) { - if (minion.minionId === minionId) { - return minion; - } - } + return minion; + } + + /** + * Save new minion. + * @param newMinion minoin to create. + */ + public async createMinion(newMinion: Minion): Promise { + this.minions.push(newMinion); + + await this.dataIo.setData(this.minions).catch(() => { + this.minions.splice(this.minions.indexOf(newMinion), 1); + throw new Error('fail to save minion'); + }); + } + + /** + * Delete minion. + * @param minion minion to delete. + */ + public async deleteMinion(minion: Minion): Promise { + const originalMinion = this.findMinion(minion.minionId); + + if (!originalMinion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; } - /** - * Get all minions as array. - */ - public async getMinions(): Promise { - return this.minions; + this.minions.splice(this.minions.indexOf(originalMinion), 1); + await this.dataIo.setData(this.minions).catch(() => { + this.minions.push(originalMinion); + throw new Error('fail to save minion delete request'); + }); + } + + /** + * Rename minion. + * @param minionId minion id. + * @param nameToSet the new name to set. + */ + public async renameMinion(minionId: string, nameToSet: string): Promise { + const originalMinion = this.findMinion(minionId); + + if (!originalMinion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; } - /** - * Get minion by id. - * @param minionId minion id. - */ - public async getMinionById(minionId: string): Promise { - const minion = this.findMinion(minionId); - - if (!minion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - return minion; + originalMinion.name = nameToSet; + + await this.dataIo.setData(this.minions).catch(() => { + throw new Error('fail to save minion new name update request'); + }); + } + + /** + * Update minion auto turn off timeout. + * @param minionId minion to timeout. + * @param setAutoTurnOffMS ms to set (or -1/undefined to disable). + */ + public async updateMinionAutoTurnOff(minionId: string, setAutoTurnOffMS: number): Promise { + const originalMinion = this.findMinion(minionId); + + if (!originalMinion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; } - /** - * Save new minion. - * @param newMinion minoin to create. - */ - public async createMinion(newMinion: Minion): Promise { - this.minions.push(newMinion); - - await this.dataIo.setData(this.minions) - .catch(() => { - this.minions.splice(this.minions.indexOf(newMinion), 1); - throw new Error('fail to save minion'); - }); + originalMinion.minionAutoTurnOffMS = setAutoTurnOffMS; + + await this.dataIo.setData(this.minions).catch(() => { + throw new Error('fail to save minion timeout update request'); + }); + } + + /** + * Update minion calibration property. + * @param minionId minion to edit. + * @param calibrationCycleMinutes seconds to set (or 0 to disable). + */ + public async updateMinionCalibrate(minionId: string, calibrationCycleMinutes: number): Promise { + const originalMinion = this.findMinion(minionId); + + if (!originalMinion) { + throw { + responseCode: 1404, + message: 'minion not exist', + } as ErrorResponse; } - /** - * Delete minion. - * @param minion minion to delete. - */ - public async deleteMinion(minion: Minion): Promise { - const originalMinion = this.findMinion(minion.minionId); - - if (!originalMinion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - this.minions.splice(this.minions.indexOf(originalMinion), 1); - await this.dataIo.setData(this.minions) - .catch(() => { - this.minions.push(originalMinion); - throw new Error('fail to save minion delete request'); - }); - } + originalMinion.calibrationCycleMinutes = calibrationCycleMinutes; - /** - * Rename minion. - * @param minionId minion id. - * @param nameToSet the new name to set. - */ - public async renameMinion(minionId: string, nameToSet: string): Promise { - const originalMinion = this.findMinion(minionId); - - if (!originalMinion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - originalMinion.name = nameToSet; - - await this.dataIo.setData(this.minions) - .catch(() => { - throw new Error('fail to save minion new name update request'); - }); - } + await this.dataIo.setData(this.minions).catch(() => { + throw new Error('fail to save minion calibrate update request'); + }); + } - /** - * Update minion auto turn off timeout. - * @param minionId minion to timeout. - * @param setAutoTurnOffMS ms to set (or -1/undefined to disable). - */ - public async updateMinionAutoTurnOff(minionId: string, setAutoTurnOffMS: number): Promise { - const originalMinion = this.findMinion(minionId); - - if (!originalMinion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - originalMinion.minionAutoTurnOffMS = setAutoTurnOffMS; - - await this.dataIo.setData(this.minions) - .catch(() => { - throw new Error('fail to save minion timeout update request'); - }); - } - - /** - * Update minion calibration property. - * @param minionId minion to edit. - * @param calibrationCycleMinutes seconds to set (or 0 to disable). - */ - public async updateMinionCalibrate(minionId: string, calibrationCycleMinutes: number): Promise { - const originalMinion = this.findMinion(minionId); - - if (!originalMinion) { - throw { - responseCode: 1404, - message: 'minion not exist', - } as ErrorResponse; - } - - originalMinion.calibrationCycleMinutes = calibrationCycleMinutes; - - await this.dataIo.setData(this.minions) - .catch(() => { - throw new Error('fail to save minion calibrate update request'); - }); + /** + * Find minion in minions array + */ + private findMinion(minionId: string): Minion { + for (const minion of this.minions) { + if (minion.minionId === minionId) { + return minion; + } } + } } export const MinionsDalSingleton = new MinionsDal(new DataIO(MINIONS_FILE_NAME)); diff --git a/backend/src/data-layer/operationsDal.ts b/backend/src/data-layer/operationsDal.ts index 3f95b632..fa9f458f 100644 --- a/backend/src/data-layer/operationsDal.ts +++ b/backend/src/data-layer/operationsDal.ts @@ -5,113 +5,109 @@ import { DataIO } from './dataIO'; const OPERATIONS_FILE_NAME = 'operations.json'; export class OperationsDal { - - private dataIo: IDataIO; - - /** - * operations. - */ - private operations: Operation[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.operations = dataIo.getDataSync(); + private dataIo: IDataIO; + + /** + * operations. + */ + private operations: Operation[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.operations = dataIo.getDataSync(); + } + + /** + * Get all operations as array. + */ + public async getOperations(): Promise { + return this.operations; + } + + /** + * Get operation by id. + * @param minionId operation id. + */ + public async getOperationById(minionId: string): Promise { + const operation = this.findOperation(minionId); + + if (!operation) { + throw { + responseCode: 3404, + message: 'operation not exist', + } as ErrorResponse; } - - /** - * Find operation in operations array - */ - private findOperation(operationId: string): Operation { - for (const operation of this.operations) { - if (operation.operationId === operationId) { - return operation; - } - } + return operation; + } + + /** + * Save new operation. + * @param newOperation operation to create. + */ + public async createOperation(newOperation: Operation): Promise { + this.operations.push(newOperation); + + await this.dataIo.setData(this.operations).catch(() => { + this.operations.splice(this.operations.indexOf(newOperation), 1); + throw new Error('fail to save operation'); + }); + } + + /** + * Delete operation. + * @param operation operation to delete. + */ + public async deleteOperation(operationId: string): Promise { + const originalMinion = this.findOperation(operationId); + + if (!originalMinion) { + throw { + responseCode: 3404, + message: 'operation not exist', + } as ErrorResponse; } - /** - * Get all operations as array. - */ - public async getOperations(): Promise { - return this.operations; + this.operations.splice(this.operations.indexOf(originalMinion), 1); + await this.dataIo.setData(this.operations).catch(() => { + this.operations.push(originalMinion); + throw new Error('fail to save operation delete request'); + }); + } + + /** + * Update operation. + * @param operation operation to update. + */ + public async updateOperation(operation: Operation): Promise { + const originalOperation = this.findOperation(operation.operationId); + + if (!originalOperation) { + throw { + responseCode: 3404, + message: 'operation not exist', + } as ErrorResponse; } - /** - * Get operation by id. - * @param minionId operation id. - */ - public async getOperationById(minionId: string): Promise { - const operation = this.findOperation(minionId); - - if (!operation) { - throw { - responseCode: 3404, - message: 'operation not exist', - } as ErrorResponse; - } + this.operations.splice(this.operations.indexOf(originalOperation), 1); + this.operations.push(operation); + await this.dataIo.setData(this.operations).catch(() => { + this.operations.splice(this.operations.indexOf(operation), 1); + this.operations.push(originalOperation); + throw new Error('fail to save operation update request'); + }); + } + + /** + * Find operation in operations array + */ + private findOperation(operationId: string): Operation { + for (const operation of this.operations) { + if (operation.operationId === operationId) { return operation; + } } - - /** - * Save new operation. - * @param newOperation operation to create. - */ - public async createOperation(newOperation: Operation): Promise { - this.operations.push(newOperation); - - await this.dataIo.setData(this.operations) - .catch(() => { - this.operations.splice(this.operations.indexOf(newOperation), 1); - throw new Error('fail to save operation'); - }); - } - - /** - * Delete operation. - * @param operation operation to delete. - */ - public async deleteOperation(operationId: string): Promise { - const originalMinion = this.findOperation(operationId); - - if (!originalMinion) { - throw { - responseCode: 3404, - message: 'operation not exist', - } as ErrorResponse; - } - - this.operations.splice(this.operations.indexOf(originalMinion), 1); - await this.dataIo.setData(this.operations) - .catch(() => { - this.operations.push(originalMinion); - throw new Error('fail to save operation delete request'); - }); - } - - /** - * Update operation. - * @param operation operation to update. - */ - public async updateOperation(operation: Operation): Promise { - const originalOperation = this.findOperation(operation.operationId); - - if (!originalOperation) { - throw { - responseCode: 3404, - message: 'operation not exist', - } as ErrorResponse; - } - - this.operations.splice(this.operations.indexOf(originalOperation), 1); - this.operations.push(operation); - await this.dataIo.setData(this.operations) - .catch(() => { - this.operations.splice(this.operations.indexOf(operation), 1); - this.operations.push(originalOperation); - throw new Error('fail to save operation update request'); - }); - } + } } export const OperationsDalSingleton = new OperationsDal(new DataIO(OPERATIONS_FILE_NAME)); diff --git a/backend/src/data-layer/remoteConnectionDal.ts b/backend/src/data-layer/remoteConnectionDal.ts index d45b2ec4..1c6fcc92 100644 --- a/backend/src/data-layer/remoteConnectionDal.ts +++ b/backend/src/data-layer/remoteConnectionDal.ts @@ -6,52 +6,48 @@ import { DataIO } from './dataIO'; const REMOTE_CONN_FILE_NAME = 'remoteConnection.json'; export class RemoteConnectionDal { - - private dataIo: IDataIO; - - /** - * remoteSettings. - */ - private remoteSettings: RemoteSettings[]; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.remoteSettings = dataIo.getDataSync(); - } - - /** - * Get remote settings. - */ - public async getRemoteSettings(): Promise { - return this.remoteSettings.length > 0 ? this.remoteSettings[0] : undefined; - } - - /** - * Delete remote settings. - */ - public async deleteRemoteSettings(): Promise { - this.remoteSettings = []; - - await this.dataIo.setData(this.remoteSettings) - .catch(() => { - throw new Error('fail to save remote settings delete request'); - }); - } - - /** - * Set remote settings (and remove current). - * @param remoteSettings remote settings to save. - */ - public async setRemoteSettings(remoteSettings: RemoteSettings): Promise { - - this.remoteSettings = [remoteSettings]; - - await this.dataIo.setData(this.remoteSettings) - .catch(() => { - throw new Error('fail to save set remote settings request'); - }); - } + private dataIo: IDataIO; + + /** + * remoteSettings. + */ + private remoteSettings: RemoteSettings[]; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.remoteSettings = dataIo.getDataSync(); + } + + /** + * Get remote settings. + */ + public async getRemoteSettings(): Promise { + return this.remoteSettings.length > 0 ? this.remoteSettings[0] : undefined; + } + + /** + * Delete remote settings. + */ + public async deleteRemoteSettings(): Promise { + this.remoteSettings = []; + + await this.dataIo.setData(this.remoteSettings).catch(() => { + throw new Error('fail to save remote settings delete request'); + }); + } + + /** + * Set remote settings (and remove current). + * @param remoteSettings remote settings to save. + */ + public async setRemoteSettings(remoteSettings: RemoteSettings): Promise { + this.remoteSettings = [remoteSettings]; + + await this.dataIo.setData(this.remoteSettings).catch(() => { + throw new Error('fail to save set remote settings request'); + }); + } } export const RemoteConnectionDalSingleton = new RemoteConnectionDal(new DataIO(REMOTE_CONN_FILE_NAME)); diff --git a/backend/src/data-layer/sessionsDal.ts b/backend/src/data-layer/sessionsDal.ts index 105691ae..339b0331 100644 --- a/backend/src/data-layer/sessionsDal.ts +++ b/backend/src/data-layer/sessionsDal.ts @@ -4,81 +4,78 @@ import { DataIO } from './dataIO'; const SESSION_FILE_NAME = 'sessions.json'; export class SessionsDal { - - private dataIo: IDataIO; - - /** - * Sessions. - */ - private sessions: Session[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.sessions = dataIo.getDataSync(); + private dataIo: IDataIO; + + /** + * Sessions. + */ + private sessions: Session[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.sessions = dataIo.getDataSync(); + } + + /** + * Get all session as array. + */ + public async getSessions(): Promise { + return this.sessions; + } + + /** + * Get session by session key. + * @param key Find session by key. + */ + public async getSession(key: string): Promise { + const session = this.findSession(key); + + if (!session) { + throw new Error('sessin not exist'); } - - /** - * Find sessin in session array - */ - private findSession(key: string): Session { - for (const session of this.sessions) { - if (session.keyHash === key) { - return session; - } - } - } - - /** - * Get all session as array. - */ - public async getSessions(): Promise { - return this.sessions; + return session; + } + + /** + * Save new session. + */ + public async createSession(newSession: Session): Promise { + this.sessions.push(newSession); + + await this.dataIo.setData(this.sessions).catch(() => { + this.sessions.splice(this.sessions.indexOf(newSession), 1); + throw new Error('fail to save session'); + }); + } + + /** + * Delete session. + */ + public async deleteSession(session: Session): Promise { + const originalSession = this.findSession(session.keyHash); + + if (!originalSession) { + throw new Error('sessin not exist'); } - /** - * Get session by session key. - * @param key Find session by key. - */ - public async getSession(key: string): Promise { - const session = this.findSession(key); - - if (!session) { - throw new Error('sessin not exist'); - } + this.sessions.splice(this.sessions.indexOf(originalSession), 1); + await this.dataIo.setData(this.sessions).catch(() => { + this.sessions.push(originalSession); + throw new Error('fail to save session delete request'); + }); + } + + /** + * Find sessin in session array + */ + private findSession(key: string): Session { + for (const session of this.sessions) { + if (session.keyHash === key) { return session; + } } - - /** - * Save new session. - */ - public async createSession(newSession: Session): Promise { - this.sessions.push(newSession); - - await this.dataIo.setData(this.sessions) - .catch(() => { - this.sessions.splice(this.sessions.indexOf(newSession), 1); - throw new Error('fail to save session'); - }); - } - - /** - * Delete session. - */ - public async deleteSession(session: Session): Promise { - const originalSession = this.findSession(session.keyHash); - - if (!originalSession) { - throw new Error('sessin not exist'); - } - - this.sessions.splice(this.sessions.indexOf(originalSession), 1); - await this.dataIo.setData(this.sessions) - .catch(() => { - this.sessions.push(originalSession); - throw new Error('fail to save session delete request'); - }); - } + } } export const SessionsDalSingelton = new SessionsDal(new DataIO(SESSION_FILE_NAME)); diff --git a/backend/src/data-layer/timelineDal.ts b/backend/src/data-layer/timelineDal.ts index 0bd4e2fb..f96be263 100644 --- a/backend/src/data-layer/timelineDal.ts +++ b/backend/src/data-layer/timelineDal.ts @@ -1,77 +1,74 @@ +import * as moment from 'moment'; +import { Configuration } from '../config'; import { IDataIO } from '../models/backendInterfaces'; import { MinionTimeline } from '../models/sharedInterfaces'; -import { DataIO } from './dataIO'; -import { Configuration } from '../config'; -import * as moment from 'moment'; import { logger } from '../utilities/logger'; +import { DataIO } from './dataIO'; const TIMELINE_FILE_NAME = 'timeline.json'; const TIMELINE_MS_LENGTH = moment.duration(Configuration.timelineDaysLength, 'days').asMilliseconds(); export class TimelineDal { - - private dataIo: IDataIO; - - - /** - * timeline. - */ - private minionsTimeline: MinionTimeline[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.minionsTimeline = dataIo.getDataSync(); - /** remove too old nodes */ - this.removeOldNodes(); + private dataIo: IDataIO; + + /** + * timeline. + */ + private minionsTimeline: MinionTimeline[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.minionsTimeline = dataIo.getDataSync(); + /** remove too old nodes */ + this.removeOldNodes(); + } + + /** + * Get current minions timeline. + */ + public async getTimeline(): Promise { + return this.minionsTimeline; + } + + /** + * Add minion status node to the timeline. + * @param minionTimeline the new timeline node to add . + */ + public async addTimelinenode(minionTimeline: MinionTimeline): Promise { + /** First, remove the olds nodes. */ + this.removeOldNodes(); + + /** Add node to the top of array */ + this.minionsTimeline.unshift(minionTimeline); + + /** Try save timeline */ + try { + await this.dataIo.setData(this.minionsTimeline); + } catch (error) { + logger.warn('fail to save the updated timeline'); } - - /** - * Get current minions timeline. - */ - public async getTimeline(): Promise { - return this.minionsTimeline; - } - - /** - * Add minion status node to the timeline. - * @param minionTimeline the new timeline node to add . - */ - public async addTimelinenode(minionTimeline: MinionTimeline): Promise { - - /** First, remove the olds nodes. */ - this.removeOldNodes(); - - /** Add node to the top of array */ - this.minionsTimeline.unshift(minionTimeline); - - /** Try save timeline */ - try { - await this.dataIo.setData(this.minionsTimeline); - } catch (error) { - logger.warn('fail to save the updated timeline'); - } + } + + /** Remove old nodes from the timeline */ + private removeOldNodes() { + const newTimeline: MinionTimeline[] = []; + const now = new Date().getTime(); + + /** Iterate on all timeline nodes */ + for (const node of this.minionsTimeline) { + /** If current node time too old, stop iterate timeline */ + if (now > node.timestamp + TIMELINE_MS_LENGTH) { + break; + } + + /** Add node to the bottom of the aarry */ + newTimeline.push(node); } - /** Remove old nodes from the timeline */ - private removeOldNodes() { - const newTimeline: MinionTimeline[] = []; - const now = new Date().getTime(); - - /** Iterate on all timeline nodes */ - for (const node of this.minionsTimeline) { - /** If current node time too old, stop iterate timeline */ - if (now > node.timestamp + TIMELINE_MS_LENGTH) { - break; - } - - /** Add node to the bottom of the aarry */ - newTimeline.push(node); - } - - /** Keep the cleaned timeline */ - this.minionsTimeline = newTimeline; - } + /** Keep the cleaned timeline */ + this.minionsTimeline = newTimeline; + } } export const TimelineDalSingleton = new TimelineDal(new DataIO(TIMELINE_FILE_NAME)); diff --git a/backend/src/data-layer/timingsDal.ts b/backend/src/data-layer/timingsDal.ts index e24744fd..9cd7f81a 100644 --- a/backend/src/data-layer/timingsDal.ts +++ b/backend/src/data-layer/timingsDal.ts @@ -5,113 +5,109 @@ import { DataIO } from './dataIO'; const TIMINGS_FILE_NAME = 'timings.json'; export class TimingsDal { - - private dataIo: IDataIO; - - /** - * timings. - */ - private timings: Timing[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; - - this.timings = dataIo.getDataSync(); + private dataIo: IDataIO; + + /** + * timings. + */ + private timings: Timing[] = []; + + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; + + this.timings = dataIo.getDataSync(); + } + + /** + * Get all timings as array. + */ + public async getTimings(): Promise { + return this.timings; + } + + /** + * Get timing by id. + * @param timingId timing id. + */ + public async getTimingById(timingId: string): Promise { + const timing = this.findTiming(timingId); + + if (!timing) { + throw { + responseCode: 4404, + message: 'timing not exist', + } as ErrorResponse; } - - /** - * Find timing in timings array - */ - private findTiming(timingId: string): Timing { - for (const timing of this.timings) { - if (timing.timingId === timingId) { - return timing; - } - } + return timing; + } + + /** + * Save new timing. + * @param newTiming timing to create. + */ + public async createTiming(newTiming: Timing): Promise { + this.timings.push(newTiming); + + await this.dataIo.setData(this.timings).catch(() => { + this.timings.splice(this.timings.indexOf(newTiming), 1); + throw new Error('fail to save timing'); + }); + } + + /** + * Delete timing. + * @param timing timing to delete. + */ + public async deleteTiming(timingId: string): Promise { + const originalTiming = this.findTiming(timingId); + + if (!originalTiming) { + throw { + responseCode: 4404, + message: 'timing not exist', + } as ErrorResponse; } - /** - * Get all timings as array. - */ - public async getTimings(): Promise { - return this.timings; + this.timings.splice(this.timings.indexOf(originalTiming), 1); + await this.dataIo.setData(this.timings).catch(() => { + this.timings.push(originalTiming); + throw new Error('fail to save timing delete request'); + }); + } + + /** + * Update timing. + * @param timing timing to update. + */ + public async updateTiming(timing: Timing): Promise { + const originalTiming = this.findTiming(timing.timingId); + + if (!originalTiming) { + throw { + responseCode: 4404, + message: 'timing not exist', + } as ErrorResponse; } - /** - * Get timing by id. - * @param timingId timing id. - */ - public async getTimingById(timingId: string): Promise { - const timing = this.findTiming(timingId); - - if (!timing) { - throw { - responseCode: 4404, - message: 'timing not exist', - } as ErrorResponse; - } + this.timings.splice(this.timings.indexOf(originalTiming), 1); + this.timings.push(timing); + await this.dataIo.setData(this.timings).catch(() => { + this.timings.splice(this.timings.indexOf(timing), 1); + this.timings.push(originalTiming); + throw new Error('fail to save timing update request'); + }); + } + + /** + * Find timing in timings array + */ + private findTiming(timingId: string): Timing { + for (const timing of this.timings) { + if (timing.timingId === timingId) { return timing; + } } - - /** - * Save new timing. - * @param newTiming timing to create. - */ - public async createTiming(newTiming: Timing): Promise { - this.timings.push(newTiming); - - await this.dataIo.setData(this.timings) - .catch(() => { - this.timings.splice(this.timings.indexOf(newTiming), 1); - throw new Error('fail to save timing'); - }); - } - - /** - * Delete timing. - * @param timing timing to delete. - */ - public async deleteTiming(timingId: string): Promise { - const originalTiming = this.findTiming(timingId); - - if (!originalTiming) { - throw { - responseCode: 4404, - message: 'timing not exist', - } as ErrorResponse; - } - - this.timings.splice(this.timings.indexOf(originalTiming), 1); - await this.dataIo.setData(this.timings) - .catch(() => { - this.timings.push(originalTiming); - throw new Error('fail to save timing delete request'); - }); - } - - /** - * Update timing. - * @param timing timing to update. - */ - public async updateTiming(timing: Timing): Promise { - const originalTiming = this.findTiming(timing.timingId); - - if (!originalTiming) { - throw { - responseCode: 4404, - message: 'timing not exist', - } as ErrorResponse; - } - - this.timings.splice(this.timings.indexOf(originalTiming), 1); - this.timings.push(timing); - await this.dataIo.setData(this.timings) - .catch(() => { - this.timings.splice(this.timings.indexOf(timing), 1); - this.timings.push(originalTiming); - throw new Error('fail to save timing update request'); - }); - } + } } export const TimingsDalSingleton = new TimingsDal(new DataIO(TIMINGS_FILE_NAME)); diff --git a/backend/src/data-layer/usersDal.ts b/backend/src/data-layer/usersDal.ts index 486a839a..d4d9422d 100644 --- a/backend/src/data-layer/usersDal.ts +++ b/backend/src/data-layer/usersDal.ts @@ -9,147 +9,148 @@ import { DataIO } from './dataIO'; const USERS_FILE_NAME = 'users.json'; export class UsersDal { + private dataIo: IDataIO; - private dataIo: IDataIO; + /** + * users. + */ + private users: User[] = []; - /** - * users. - */ - private users: User[] = []; - - constructor(dataIo: IDataIO) { - this.dataIo = dataIo; + constructor(dataIo: IDataIO) { + this.dataIo = dataIo; - this.users = dataIo.getDataSync(); + this.users = dataIo.getDataSync(); - if (this.users.length === 0) { - this.setDefaultUser(); - } + if (this.users.length === 0) { + this.setDefaultUser(); } - - /** - * Set default user. - * used when system in first use and there is no any user in system, yet. - */ - private async setDefaultUser() { - /** Get password from configuration, and hash it like any other password in system */ - const passwordHash = bcrypt.hashSync(Configuration.defaultUser.password, Configuration.keysHandling.bcryptSaltRounds); - - /** Extract user domain from configuration */ - const userNameDomain = Configuration.defaultUser.email.split('@')[1]; - /** - * Used machine address as default user name. - * This is for security issues when users not replacing default user, - * and attackers can access server with known default user. - */ - const userName = await GetMachinMacAddress(); - /** Build default user email address */ - const defaultUserName = `${userName}@${userNameDomain}`; - - this.users.push({ - displayName: Configuration.defaultUser.displayName, - email: defaultUserName, - ignoreTfa: Configuration.defaultUser.ignoreTfa, - password: passwordHash, - scope: Configuration.defaultUser.scope, - }); - - logger.warn(`There is no any user in system, using default user to allow first time access,` + - ` user name is: ${defaultUserName} and for password see casanet.json file.` + - ` for system secure, please create valid user and remove the default user.`); + } + + /** + * Get all users as array. + */ + public async getUsers(): Promise { + return this.users; + } + + /** + * Get users by user email. + * @param email Find user by key. + */ + public async getUser(email: string): Promise { + const user = this.findUser(email); + + if (!user) { + throw { + responseCode: 5404, + message: 'user not exist', + } as ErrorResponse; } - - /** - * Find user in users array - */ - private findUser(email: string): User { - for (const user of this.users) { - if (user.email === email) { - return user; - } - } + return user; + } + + /** + * Save new users. + */ + public async createUser(newUser: User): Promise { + this.users.push(newUser); + + await this.dataIo.setData(this.users).catch(() => { + this.users.splice(this.users.indexOf(newUser), 1); + throw new Error('fail to save user'); + }); + } + + /** + * Delete users. + */ + public async deleteUser(userEmail: string): Promise { + const originalUser = this.findUser(userEmail); + + if (!originalUser) { + throw { + responseCode: 5404, + message: 'user not exist', + } as ErrorResponse; } - /** - * Get all users as array. - */ - public async getUsers(): Promise { - return this.users; + this.users.splice(this.users.indexOf(originalUser), 1); + await this.dataIo.setData(this.users).catch(() => { + this.users.push(originalUser); + throw new Error('fail to save user delete request'); + }); + } + + /** + * Update User. + * @param userToUpdate User to update to. + */ + public async updateUser(userToUpdate: User): Promise { + const originalUser = this.findUser(userToUpdate.email); + + if (!originalUser) { + throw { + responseCode: 5404, + message: 'user not exist', + } as ErrorResponse; } + this.users.splice(this.users.indexOf(originalUser), 1); + this.users.push(userToUpdate); + await this.dataIo.setData(this.users).catch(() => { + this.users.splice(this.users.indexOf(userToUpdate), 1); + this.users.push(originalUser); + throw new Error('fail to save user update request'); + }); + } + + /** + * Set default user. + * used when system in first use and there is no any user in system, yet. + */ + private async setDefaultUser() { + /** Get password from configuration, and hash it like any other password in system */ + const passwordHash = bcrypt.hashSync( + Configuration.defaultUser.password, + Configuration.keysHandling.bcryptSaltRounds, + ); + + /** Extract user domain from configuration */ + const userNameDomain = Configuration.defaultUser.email.split('@')[1]; /** - * Get users by user email. - * @param email Find user by key. + * Used machine address as default user name. + * This is for security issues when users not replacing default user, + * and attackers can access server with known default user. */ - public async getUser(email: string): Promise { - const user = this.findUser(email); - - if (!user) { - throw { - responseCode: 5404, - message: 'user not exist', - } as ErrorResponse; - } + const userName = await GetMachinMacAddress(); + /** Build default user email address */ + const defaultUserName = `${userName}@${userNameDomain}`; + + this.users.push({ + displayName: Configuration.defaultUser.displayName, + email: defaultUserName, + ignoreTfa: Configuration.defaultUser.ignoreTfa, + password: passwordHash, + scope: Configuration.defaultUser.scope, + }); + + logger.warn( + `There is no any user in system, using default user to allow first time access,` + + ` user name is: ${defaultUserName} and for password see casanet.json file.` + + ` for system secure, please create valid user and remove the default user.`, + ); + } + + /** + * Find user in users array + */ + private findUser(email: string): User { + for (const user of this.users) { + if (user.email === email) { return user; + } } - - /** - * Save new users. - */ - public async createUser(newUser: User): Promise { - this.users.push(newUser); - - await this.dataIo.setData(this.users) - .catch(() => { - this.users.splice(this.users.indexOf(newUser), 1); - throw new Error('fail to save user'); - }); - } - - /** - * Delete users. - */ - public async deleteUser(userEmail: string): Promise { - const originalUser = this.findUser(userEmail); - - if (!originalUser) { - throw { - responseCode: 5404, - message: 'user not exist', - } as ErrorResponse; - } - - this.users.splice(this.users.indexOf(originalUser), 1); - await this.dataIo.setData(this.users) - .catch(() => { - this.users.push(originalUser); - throw new Error('fail to save user delete request'); - }); - } - - /** - * Update User. - * @param userToUpdate User to update to. - */ - public async updateUser(userToUpdate: User): Promise { - const originalUser = this.findUser(userToUpdate.email); - - if (!originalUser) { - throw { - responseCode: 5404, - message: 'user not exist', - } as ErrorResponse; - } - - this.users.splice(this.users.indexOf(originalUser), 1); - this.users.push(userToUpdate); - await this.dataIo.setData(this.users) - .catch(() => { - this.users.splice(this.users.indexOf(userToUpdate), 1); - this.users.push(originalUser); - throw new Error('fail to save user update request'); - }); - } + } } export const UsersDalSingleton = new UsersDal(new DataIO(USERS_FILE_NAME)); diff --git a/backend/src/index.ts b/backend/src/index.ts index 111fea61..4c692a98 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,5 +1,4 @@ -const welcomeMessage = -` +const welcomeMessage = ` .:: .: .:: :: .: .::: .::.::::::::.::: .:::::: .:: .:: .: :: .:: .:: .: :: .: .:: .::.:: .:: .:: .: .:: .:: .: .:: .:: .:: .::.:: .:: @@ -17,7 +16,8 @@ const welcomeMessage = `; -console.log('\x1b[34m', welcomeMessage ,'\x1b[0m'); +// tslint:disable-next-line: no-console +console.info('\x1b[34m', welcomeMessage, '\x1b[0m'); import * as fs from 'fs'; import * as http from 'http'; @@ -31,27 +31,27 @@ logger.info('home-iot-server app starting...'); // Start HTTP application http.createServer(app).listen(Configuration.http.httpPort, () => { - logger.info('HTTP listen on port ' + Configuration.http.httpPort); + logger.info('HTTP listen on port ' + Configuration.http.httpPort); }); // SSL/HTTPS if (Configuration.http.useHttps) { - try { - const key = fs.readFileSync(path.join(__dirname, '/../encryption/private.key')); - const cert = fs.readFileSync(path.join(__dirname, '/../encryption/certificate.crt')); - const ca = fs.readFileSync(path.join(__dirname, '/../encryption/ca_bundle.crt')); - - const sslOptions: https.ServerOptions = { - key, - cert, - ca, - }; - - https.createServer(sslOptions, app).listen(Configuration.http.httpsPort, () => { - logger.info('HTTPS/SSL listen on port ' + Configuration.http.httpsPort); - }); - } catch (error) { - logger.fatal(`Faild to load SSL certificate ${error}, exit...`); - process.exit(); - } + try { + const key = fs.readFileSync(path.join(__dirname, '/../encryption/private.key')); + const cert = fs.readFileSync(path.join(__dirname, '/../encryption/certificate.crt')); + const ca = fs.readFileSync(path.join(__dirname, '/../encryption/ca_bundle.crt')); + + const sslOptions: https.ServerOptions = { + key, + cert, + ca, + }; + + https.createServer(sslOptions, app).listen(Configuration.http.httpsPort, () => { + logger.info('HTTPS/SSL listen on port ' + Configuration.http.httpsPort); + }); + } catch (error) { + logger.fatal(`Faild to load SSL certificate ${error}, exit...`); + process.exit(); + } } diff --git a/backend/src/models/backendInterfaces.d.ts b/backend/src/models/backendInterfaces.d.ts index 49dc04ba..ead1b2c3 100644 --- a/backend/src/models/backendInterfaces.d.ts +++ b/backend/src/models/backendInterfaces.d.ts @@ -1,73 +1,82 @@ -import { User, LocalNetworkDevice, DeviceKind, MinionStatus, Minion, ErrorResponse, AirConditioning, MinionTypes } from './sharedInterfaces'; +import { + User, + LocalNetworkDevice, + DeviceKind, + MinionStatus, + Minion, + ErrorResponse, + AirConditioning, + MinionTypes, +} from './sharedInterfaces'; import { Observable, Subscriber, BehaviorSubject } from 'rxjs'; /** * Session key and meta. */ declare interface Session { - keyHash: string; - timeStamp: number; - email: string; + keyHash: string; + timeStamp: number; + email: string; } /** - * Running application mode + * Running application mode */ export declare type RunningMode = 'prod' | 'test' | 'debug'; /** Config staruct for all system */ export declare interface Config { - /** - * Default user to allow login in first use. - */ - defaultUser: User, - /** Http configuration */ - http: { - httpPort: number; - httpsPort: number; - useHttps: boolean; - }, - /** - * Subnet (xxx.xxx.xxx) to scan devices in, - * if undefined using current machine ip as default subnet to scan. - */ - scanSubnet: string; - /** Limit one IP requests per time configuration */ - requestsLimit: { - windowsMs: number; - maxRequests: number - }; - runningMode: RunningMode; - /** Timeline length to keep statuses history, in days */ - timelineDaysLength: number; - /** - * 2-step verification config. access to mail using SMTP protocol. - * *for keys use environment variables only!!!* - */ - twoStepsVerification: { - TwoStepEnabled: boolean; - /**The mail server url, for example 'smtp.gmail.com' */ - smtpServer: string; - /** The username to send from, for example 'myUser@gmail.com' */ - userName: string; - /** The password / application key to access user account */ - userKey: string; - }; - /** - * Use for sun trigger timing when the sunset/sunrise depends on world location. - */ - homePosition: { - latitude: number; - longitude: number; - }; - keysHandling: { - /** Salt keys by. */ - saltHash: string; - /** Bcrypt salt rounds */ - bcryptSaltRounds: number; - }; - /** Rf commands repo to fetch from see project page https://github.com/casanet/rf-commands-repo */ - commandsRepoUrl: string; + /** + * Default user to allow login in first use. + */ + defaultUser: User; + /** Http configuration */ + http: { + httpPort: number; + httpsPort: number; + useHttps: boolean; + }; + /** + * Subnet (xxx.xxx.xxx) to scan devices in, + * if undefined using current machine ip as default subnet to scan. + */ + scanSubnet: string; + /** Limit one IP requests per time configuration */ + requestsLimit: { + windowsMs: number; + maxRequests: number; + }; + runningMode: RunningMode; + /** Timeline length to keep statuses history, in days */ + timelineDaysLength: number; + /** + * 2-step verification config. access to mail using SMTP protocol. + * *for keys use environment variables only!!!* + */ + twoStepsVerification: { + TwoStepEnabled: boolean; + /**The mail server url, for example 'smtp.gmail.com' */ + smtpServer: string; + /** The username to send from, for example 'myUser@gmail.com' */ + userName: string; + /** The password / application key to access user account */ + userKey: string; + }; + /** + * Use for sun trigger timing when the sunset/sunrise depends on world location. + */ + homePosition: { + latitude: number; + longitude: number; + }; + keysHandling: { + /** Salt keys by. */ + saltHash: string; + /** Bcrypt salt rounds */ + bcryptSaltRounds: number; + }; + /** Rf commands repo to fetch from see project page https://github.com/casanet/rf-commands-repo */ + commandsRepoUrl: string; } /** @@ -75,54 +84,56 @@ export declare interface Config { * Use to allow r/w mock mode. */ export declare class IDataIO { + /** + * Get data sync. + * Use it in init only. else the app will black until read finish. + * @returns Data array. + */ + public getDataSync(): any[]; - /** - * Get data sync. - * Use it in init only. else the app will black until read finish. - * @returns Data array. - */ - public getDataSync(): any[]; + /** + * Get file content as json objects array. + */ + public getData(): Promise; - /** - * Get file content as json objects array. - */ - public getData(): Promise; - - /** - * Set json objects array as file content. - * @param data - */ - public setData(data: any[]): Promise; + /** + * Set json objects array as file content. + * @param data + */ + public setData(data: any[]): Promise; } /** AC particular status command */ export declare interface AirConditioningCommand { - command: string; - status: AirConditioning; + command: string; + status: AirConditioning; } /** Toggle commands set */ -export declare interface ToggleCommands { on: string, off: string } +export declare interface ToggleCommands { + on: string; + off: string; +} /** Ac commands set */ export declare interface AcCommands { - off: string; - statusCommands: AirConditioningCommand[]; + off: string; + statusCommands: AirConditioningCommand[]; } /** Roller commands set */ export declare interface RollerCommands { - off: string; - up: string; - down: string; + off: string; + up: string; + down: string; } /** RF (IR/433MHz etc.) commands set based of device type */ export declare interface CommandsSet { - deviceType : MinionTypes, - commands : { - toggle? : ToggleCommands; - airConditioning? : AcCommands; - roller? : RollerCommands; - } -} \ No newline at end of file + deviceType: MinionTypes; + commands: { + toggle?: ToggleCommands; + airConditioning?: AcCommands; + roller?: RollerCommands; + }; +} diff --git a/backend/src/models/remote2localProtocol.ts b/backend/src/models/remote2localProtocol.ts index 93d5b44e..751f10e6 100644 --- a/backend/src/models/remote2localProtocol.ts +++ b/backend/src/models/remote2localProtocol.ts @@ -2,114 +2,114 @@ import { ErrorResponse, MinionFeed, TimingFeed } from './sharedInterfaces'; /** Remote server to local server messages types */ export declare type RemoteMessagesType = - /** When remote sever ready to authentication message from local */ - 'readyToInitialization' | - /** When local server successfult authenticated. */ - 'authenticatedSuccessfuly' | - /** When local server rejected, baucuase auth fail. */ - 'authenticationFail' | - /** Results of register/unregister user to forward from remove server */ - 'registerUserResults' | - /** Registered users of the certain local server */ - 'registeredUsers' | - /** Remote server forwarding http request to local sever */ - 'httpRequest' | - /** When local ack message arrived to remote server */ - 'ackOk'; + /** When remote sever ready to authentication message from local */ + | 'readyToInitialization' + /** When local server successfult authenticated. */ + | 'authenticatedSuccessfuly' + /** When local server rejected, baucuase auth fail. */ + | 'authenticationFail' + /** Results of register/unregister user to forward from remove server */ + | 'registerUserResults' + /** Registered users of the certain local server */ + | 'registeredUsers' + /** Remote server forwarding http request to local sever */ + | 'httpRequest' + /** When local ack message arrived to remote server */ + | 'ackOk'; /** Http request data */ export declare interface HttpRequest { - /** - * Remote request unique id. - * The ws protocol is a two way messages based, and http is req/res based, - * so the id allow remote server to know which response message from local - * ws is belong to which request that waiting to answer from local server. - */ - requestId: string; - /** Request method (GET,PUT, etc) */ - httpMethod: string; - /** Request path (for exampl. /API/Minions) */ - httpPath: string; - /** Request session key */ - httpSession: string; - /** Request body data */ - httpBody: any; + /** + * Remote request unique id. + * The ws protocol is a two way messages based, and http is req/res based, + * so the id allow remote server to know which response message from local + * ws is belong to which request that waiting to answer from local server. + */ + requestId: string; + /** Request method (GET,PUT, etc) */ + httpMethod: string; + /** Request path (for exampl. /API/Minions) */ + httpPath: string; + /** Request session key */ + httpSession: string; + /** Request body data */ + httpBody: any; } /** WS message from remote to local struct */ export declare interface RemoteMessage { - remoteMessagesType: RemoteMessagesType; - message: { - authenticationFail?: ErrorResponse; - httpRequest?: HttpRequest; - registerUserResults?: { - user: string; - results?: ErrorResponse; - }, - registeredUsers?: string[]; + remoteMessagesType: RemoteMessagesType; + message: { + authenticationFail?: ErrorResponse; + httpRequest?: HttpRequest; + registerUserResults?: { + user: string; + results?: ErrorResponse; }; + registeredUsers?: string[]; + }; } /** Local server to remote server messages types */ export declare type LocalMessagesType = - /** Init connection and auth local server message */ - 'initialization' | - /** Request remote server to send registration code */ - 'sendRegistrationCode' | - /** Register account to allow forward HTTP requests from remote to local server */ - 'registerAccount' | - /** Remove account from local server valid account to forward from remote to local */ - 'unregisterAccount' | - /** Request all registered users for forwards of the current local server */ - 'registeredUsers' | - /** Http response with result for remote server request */ - 'httpResponse' | - /** Empty message to check if connection alive */ - 'ack' | - /** Update remote server with feed of local server, like minion status changed etc. */ - 'feed'; + /** Init connection and auth local server message */ + | 'initialization' + /** Request remote server to send registration code */ + | 'sendRegistrationCode' + /** Register account to allow forward HTTP requests from remote to local server */ + | 'registerAccount' + /** Remove account from local server valid account to forward from remote to local */ + | 'unregisterAccount' + /** Request all registered users for forwards of the current local server */ + | 'registeredUsers' + /** Http response with result for remote server request */ + | 'httpResponse' + /** Empty message to check if connection alive */ + | 'ack' + /** Update remote server with feed of local server, like minion status changed etc. */ + | 'feed'; /** Http response data */ export declare interface HttpResponse { - /** Remote server request id, that this response answer on it. */ - requestId: string; - /** Http status code result */ - httpStatus: number; - /** Http data result */ - httpBody: any; - /** Http session result (used in login requests only) */ - httpSession?: { - /** Session key */ - key: string; - /** Session expires time in seconds. */ - maxAge: number; - }; + /** Remote server request id, that this response answer on it. */ + requestId: string; + /** Http status code result */ + httpStatus: number; + /** Http data result */ + httpBody: any; + /** Http session result (used in login requests only) */ + httpSession?: { + /** Session key */ + key: string; + /** Session expires time in seconds. */ + maxAge: number; + }; } export declare interface LocalServerFeed { - feedType: 'minions' | 'timings'; - feedContent: MinionFeed | TimingFeed; + feedType: 'minions' | 'timings'; + feedContent: MinionFeed | TimingFeed; } /** WS message from local to remote struct */ export declare interface LocalMessage { - localMessagesType: LocalMessagesType; - message: { - initialization?: { - macAddress: string; - remoteAuthKey: string; - }; - sendRegistrationCode?: { - email: string; - }, - unregisterAccount?: { - email: string; - }, - registerAccount?: { - email: string; - code: string; - } - httpResponse?: HttpResponse; - feed?: LocalServerFeed; + localMessagesType: LocalMessagesType; + message: { + initialization?: { + macAddress: string; + remoteAuthKey: string; + }; + sendRegistrationCode?: { + email: string; + }; + unregisterAccount?: { + email: string; + }; + registerAccount?: { + email: string; + code: string; }; + httpResponse?: HttpResponse; + feed?: LocalServerFeed; + }; } diff --git a/backend/src/models/sharedInterfaces.d.ts b/backend/src/models/sharedInterfaces.d.ts index e981ba4a..b873349c 100644 --- a/backend/src/models/sharedInterfaces.d.ts +++ b/backend/src/models/sharedInterfaces.d.ts @@ -1,164 +1,160 @@ /** -* Error response. -*/ + * Error response. + */ export declare interface ErrorResponse { - /** - * error code in system. - */ - responseCode: number; + /** + * error code in system. + */ + responseCode: number; - /** - * Readble message. - */ - message?: string; + /** + * Readble message. + */ + message?: string; } /** * Operation result s, hold set minion status result per minion. */ export declare interface OperationResult { - /** - * Minion Id. - */ - minionId: string; + /** + * Minion Id. + */ + minionId: string; - /** - * Set a minion status results. (undefined if sets successfully). - */ - error?: ErrorResponse; + /** + * Set a minion status results. (undefined if sets successfully). + */ + error?: ErrorResponse; } /** Optional status on a remote connection */ export declare type RemoteConnectionStatus = - /** There are no remote settings.. */ - 'notConfigured' | - /** From some reason the connection to remote server offline. */ - 'cantReachRemoteServer' | - /** The remote server has thrown authorization of the local server. */ - 'authorizationFail' | - /** Local server disconnected. (When using a remote server, and the local server disconnected). */ - 'localServerDisconnected' | - /** Connection OK. */ - 'connectionOK'; + /** There are no remote settings.. */ + | 'notConfigured' + /** From some reason the connection to remote server offline. */ + | 'cantReachRemoteServer' + /** The remote server has thrown authorization of the local server. */ + | 'authorizationFail' + /** Local server disconnected. (When using a remote server, and the local server disconnected). */ + | 'localServerDisconnected' + /** Connection OK. */ + | 'connectionOK'; /** * Remote server settings. */ export declare interface RemoteSettings { - /** hostname / IP of the remote server */ - host: string; - /** Access key for authorization local server in the remote server */ - connectionKey: string; + /** hostname / IP of the remote server */ + host: string; + /** Access key for authorization local server in the remote server */ + connectionKey: string; } /** * Login schema model. */ export declare interface Login { - email: string; - password: string; + email: string; + password: string; } - /** * Represents any physical device in a local network. */ export declare interface LocalNetworkDevice { + /** + * Display name. + */ + name?: string; - /** - * Display name. - */ - name?: string; - - /** - * The MAC address of the device, the value is unique to each device. - */ - mac: string; + /** + * The MAC address of the device, the value is unique to each device. + */ + mac: string; - /** - * Info about device manufacturer. - */ - vendor?: string; + /** + * Info about device manufacturer. + */ + vendor?: string; - /** - * The device IP address, if exist it should be unique in network. - */ - ip?: string; + /** + * The device IP address, if exist it should be unique in network. + */ + ip?: string; } /** - * Represents a physical device kind with network info. + * Represents a physical device kind with network info. */ export declare interface MinionDevice { + /** + * The physical network device. + */ + pysicalDevice: LocalNetworkDevice; - /** - * The physical network device. - */ - pysicalDevice: LocalNetworkDevice; + /** + * The brand of device. + */ + brand: string; - /** - * The brand of device. - */ - brand: string; + /** + * The specific model of the device. + */ + model: string; - /** - * The specific model of the device. - */ - model: string; + /** + *Some devices require a token for communication API. + */ + token?: string; - /** - *Some devices require a token for communication API. - */ - token?: string; - - /** - * Some devices require id for communication API. - */ - deviceId?: string; + /** + * Some devices require id for communication API. + */ + deviceId?: string; } - /** * For each supported device, there are limitations and abilities of it. */ export declare interface DeviceKind { - /** - * The brand of the current minion type. (see device model). - */ - brand: string; - - /** - * The specific model of minion type. (see device model). - */ - model: string; - - /** - * The max minions that can be in one device, or -1 if unlimited. - * For example, a simple smart socket can be 1 minion per device, - * Wall switch with 3 switches can be 3 minions per device, - * And IR transmitter can be unlimited minions per device. - */ - minionsPerDevice: number; - - /** - * Is the device require a token for communication API. - */ - isTokenRequierd: boolean; - - /** - * Is device require id for communication API. - */ - isIdRequierd: boolean; - - /** - * Supported minion type for the current device. - */ - suppotedMinionType: MinionTypes; - - /** - * Some of the devices supported recording (for example IR transmitter). - */ - isRecordingSupported: boolean; + /** + * The brand of the current minion type. (see device model). + */ + brand: string; + + /** + * The specific model of minion type. (see device model). + */ + model: string; + + /** + * The max minions that can be in one device, or -1 if unlimited. + * For example, a simple smart socket can be 1 minion per device, + * Wall switch with 3 switches can be 3 minions per device, + * And IR transmitter can be unlimited minions per device. + */ + minionsPerDevice: number; + + /** + * Is the device require a token for communication API. + */ + isTokenRequierd: boolean; + + /** + * Is device require id for communication API. + */ + isIdRequierd: boolean; + + /** + * Supported minion type for the current device. + */ + suppotedMinionType: MinionTypes; + + /** + * Some of the devices supported recording (for example IR transmitter). + */ + isRecordingSupported: boolean; } /** @@ -168,40 +164,47 @@ export declare interface DeviceKind { export declare type AuthScopes = 'adminAuth' | 'userAuth' | 'iftttAuth'; /** - * Represents a user in the system. + * Represents a user in the system. */ export declare interface User { + /** + * Name + */ + displayName?: string; - /** - * Name - */ - displayName?: string; + /** + * User email + */ + email: string; - /** - * User email - */ - email: string; + /** + * User password. + */ + password?: string; - /** - * User password. - */ - password?: string; + /** + * Ignore 2-step verification on login or not. + */ + ignoreTfa: boolean; - /** - * Ignore 2-step verification on login or not. - */ - ignoreTfa: boolean; - - /** - * User scopes. - */ - scope: AuthScopes; + /** + * User scopes. + */ + scope: AuthScopes; } /** * Supported minions types. */ -export declare type MinionTypes = 'toggle' | 'switch' | 'roller' | 'cleaner' | 'airConditioning' | 'light' | 'temperatureLight' | 'colorLight'; +export declare type MinionTypes = + | 'toggle' + | 'switch' + | 'roller' + | 'cleaner' + | 'airConditioning' + | 'light' + | 'temperatureLight' + | 'colorLight'; /** * Supported timings types. @@ -245,11 +248,11 @@ export declare type CleanerMode = 'dock' | 'clean'; /** * A toggle value, the toggle is on way communicated device, - * For example wall light switches with 433 RF that can turn on or off - * but there is no way to know the real light status if someone changes the light status using physical switche. + * For example wall light switches with 433 RF that can turn on or off + * but there is no way to know the real light status if someone changes the light status using physical switche. */ export declare interface Toggle { - status: SwitchOptions + status: SwitchOptions; } /** @@ -257,17 +260,15 @@ export declare interface Toggle { * Used for simple devices that can be turned on or off. *and minion status is readable* * The properties same as a toggle, and the difference is logic only (if that status is readable or not). */ -export declare interface Switch extends Toggle { - -} +export declare interface Switch extends Toggle {} /** * A roller switch stauts. * A roller is a switch for curtains or blinds (or for any other needs) that can drag up/down or stop. */ export declare interface Roller extends Switch { - /** drag direction */ - direction: RollerDirection + /** drag direction */ + direction: RollerDirection; } /** @@ -275,25 +276,25 @@ export declare interface Roller extends Switch { * Cleaner is a smart robot for cleaning home. */ export declare interface Cleaner extends Switch { - /** Cleaner mode */ - mode: CleanerMode; - /** Suction strength */ - fanSpeed: FanStrengthOptions; + /** Cleaner mode */ + mode: CleanerMode; + /** Suction strength */ + fanSpeed: FanStrengthOptions; } /** * An AC status. */ export declare interface AirConditioning extends Switch { - /** - * Valid AC temperatur. (minimum 16° maximum 30°). - * @minimum 16 - * @maximum 30 - * @isInt true - */ - temperature: number; - mode: ACModeOptions; - fanStrength: FanStrengthOptions; + /** + * Valid AC temperatur. (minimum 16° maximum 30°). + * @minimum 16 + * @maximum 30 + * @isInt true + */ + temperature: number; + mode: ACModeOptions; + fanStrength: FanStrengthOptions; } /** @@ -301,13 +302,13 @@ export declare interface AirConditioning extends Switch { * Used to devices that can chang it's brightness. */ export declare interface Light extends Switch { - /** - * Minimum 1% maximum 100% of light brightness. - * @minimum 1 - * @maximum 100 - * @isInt true - */ - brightness: number; + /** + * Minimum 1% maximum 100% of light brightness. + * @minimum 1 + * @maximum 100 + * @isInt true + */ + brightness: number; } /** @@ -315,13 +316,13 @@ export declare interface Light extends Switch { * Used to devices that can chang also light temperature (warm or cold light). */ export declare interface TemperatureLight extends Light { - /** - * Spectrum is 1% to warm light and 100% to cold light. - * @minimum 1 - * @maximum 100 - * @isInt true - */ - temperature: number; + /** + * Spectrum is 1% to warm light and 100% to cold light. + * @minimum 1 + * @maximum 100 + * @isInt true + */ + temperature: number; } /** @@ -329,121 +330,121 @@ export declare interface TemperatureLight extends Light { * Used to devices that can change also light color (RGB). */ export declare interface ColorLight extends TemperatureLight { - /** - * Minimum 0 maximum 255 from red color. - * Valid color value. (8 bits number, minimum 0 maximum 255). - * @minimum 0 - * @maximum 255 - * @isInt true - */ - red: number; - /** - * Minimum 0 maximum 255 from green color. - * Valid color value. (8 bits number, minimum 0 maximum 255). - * @minimum 0 - * @maximum 255 - * @isInt true - */ - green: number; - /** - * Minimum 0 maximum 255 from blue color. - * Valid color value. (8 bits number, minimum 0 maximum 255). - * @minimum 0 - * @maximum 255 - * @isInt true - */ - blue: number; + /** + * Minimum 0 maximum 255 from red color. + * Valid color value. (8 bits number, minimum 0 maximum 255). + * @minimum 0 + * @maximum 255 + * @isInt true + */ + red: number; + /** + * Minimum 0 maximum 255 from green color. + * Valid color value. (8 bits number, minimum 0 maximum 255). + * @minimum 0 + * @maximum 255 + * @isInt true + */ + green: number; + /** + * Minimum 0 maximum 255 from blue color. + * Valid color value. (8 bits number, minimum 0 maximum 255). + * @minimum 0 + * @maximum 255 + * @isInt true + */ + blue: number; } /** * Once timing struct. */ export declare interface OnceTiming { - /** - * UTC time. - */ - date: number; + /** + * UTC time. + */ + date: number; } /** * Timeout timing struct. */ export declare interface TimeoutTiming { - /** - * UTC time. - */ - startDate: number; + /** + * UTC time. + */ + startDate: number; - /** - * Duration to activate timing from the start timeout time in minutes. - */ - durationInMimutes: number; + /** + * Duration to activate timing from the start timeout time in minutes. + */ + durationInMimutes: number; } /** * Daily timing struct. */ export declare interface DailyTiming { - /** - * Selected days in a week. - */ - days: DaysOptions[]; + /** + * Selected days in a week. + */ + days: DaysOptions[]; } /** * Daily timing based on sun triggers. */ export declare interface DailySunTrigger extends DailyTiming { - /** - * Minutes from the sun trigger. - * can be before or after the sun triggers. - * For example, to invoke 40 minutes before sunset set -40 and to invoke 40 minutes after sunset set 40. - * - * NOTE! if the duration is more then minutes available in the day from the sun trigger time, the timing will not activate. - * for example if the sunset is in 18:00 and the duration set to 7*60 minutes, - * the activate time is not on the same day, so it will not activate at all. - */ - durationMinutes: number; + /** + * Minutes from the sun trigger. + * can be before or after the sun triggers. + * For example, to invoke 40 minutes before sunset set -40 and to invoke 40 minutes after sunset set 40. + * + * NOTE! if the duration is more then minutes available in the day from the sun trigger time, the timing will not activate. + * for example if the sunset is in 18:00 and the duration set to 7*60 minutes, + * the activate time is not on the same day, so it will not activate at all. + */ + durationMinutes: number; - /** - * Sun trigger. - */ - sunTrigger: SunTriggerOptions; + /** + * Sun trigger. + */ + sunTrigger: SunTriggerOptions; } /** * Daily timing based on time in a day. */ export declare interface DailyTimeTrigger extends DailyTiming { - /** - * The hour in a day. - * @minimum 0 - * @maximum 23 - * @isInt true - */ - hour: number; + /** + * The hour in a day. + * @minimum 0 + * @maximum 23 + * @isInt true + */ + hour: number; - /** - * Minutes in an hour. - * @minimum 0 - * @maximum 59 - * @isInt true - */ - minutes: number; + /** + * Minutes in an hour. + * @minimum 0 + * @maximum 59 + * @isInt true + */ + minutes: number; } /** * Minion status, the available values depend on the minion type. */ export declare interface MinionStatus { - toggle?: Toggle; - switch?: Switch; - roller?: Roller; - cleaner?: Cleaner; - airConditioning?: AirConditioning; - light?: Light; - temperatureLight?: TemperatureLight; - colorLight?: ColorLight; + toggle?: Toggle; + switch?: Switch; + roller?: Roller; + cleaner?: Cleaner; + airConditioning?: AirConditioning; + light?: Light; + temperatureLight?: TemperatureLight; + colorLight?: ColorLight; } /** @@ -455,233 +456,232 @@ export declare type FeedEvent = 'created' | 'update' | 'removed'; * Minion feed object. */ export declare interface MinionFeed { - event: FeedEvent; - minion: Minion; + event: FeedEvent; + minion: Minion; } /** * Used to change the minion auto turn off the timeout value. */ export declare interface SetMinionAutoTurnOff { - /** The timeout duration in ms, to turn off set 0 as valse. */ - setAutoTurnOffMS: number; + /** The timeout duration in ms, to turn off set 0 as valse. */ + setAutoTurnOffMS: number; } /** * Used to change the minion calibration property value. */ export declare interface SetMinionCalibrate { - /** - * Minutes to calibrate stauts, set 0 to turn off calibration - * @minimum 0 - * @isInt true - */ - calibrationCycleMinutes: number; + /** + * Minutes to calibrate stauts, set 0 to turn off calibration + * @minimum 0 + * @isInt true + */ + calibrationCycleMinutes: number; } /** * Used to rename minion. */ export declare interface MinionRename { - /** The new name to set. */ - name: string; + /** The new name to set. */ + name: string; } /** * Represents a minion in system. - * Minion is a logic device in the system, meaning that a device is a physical device and minion is a logic device - * that uses a physical device to switch home kit status. For example, an IR transmitter can be one physical device - * for a few minions, one to central AC control and second for secondary AC control + * Minion is a logic device in the system, meaning that a device is a physical device and minion is a logic device + * that uses a physical device to switch home kit status. For example, an IR transmitter can be one physical device + * for a few minions, one to central AC control and second for secondary AC control * so in it will be two totally different minions that use one physical device. */ export declare interface Minion { - /** - * Minion unique id. - */ - minionId?: string; - - /** - * The display name for a minion. - */ - name: string; - - /** - * Physical device of minion. - */ - device: MinionDevice; - - /** - * Is communication with device status ok. - */ - isProperlyCommunicated?: boolean; - - /** - * Status of minion (based on minion type). - */ - minionStatus: MinionStatus; - - /** - * Minion type. - */ - minionType: MinionTypes; - - /** - * Auto turns off duration, *if* set member value then the minion will turn off in X ms after turning it on, - * Used for example in boiler minion etc. - */ - minionAutoTurnOffMS?: number; - - /** - * Calibrate the physical device with the server known status, in a periodic cycle, - * if not set or set to 0, never calibrate. - */ - calibrationCycleMinutes? : number + /** + * Minion unique id. + */ + minionId?: string; + + /** + * The display name for a minion. + */ + name: string; + + /** + * Physical device of minion. + */ + device: MinionDevice; + + /** + * Is communication with device status ok. + */ + isProperlyCommunicated?: boolean; + + /** + * Status of minion (based on minion type). + */ + minionStatus: MinionStatus; + + /** + * Minion type. + */ + minionType: MinionTypes; + + /** + * Auto turns off duration, *if* set member value then the minion will turn off in X ms after turning it on, + * Used for example in boiler minion etc. + */ + minionAutoTurnOffMS?: number; + + /** + * Calibrate the physical device with the server known status, in a periodic cycle, + * if not set or set to 0, never calibrate. + */ + calibrationCycleMinutes?: number; } /** * Represents acivity. */ export declare interface OperationActivity { - /** Minion id to set */ - minionId: string; + /** Minion id to set */ + minionId: string; - /** - * Status to set to minion. - */ - minionStatus: MinionStatus; + /** + * Status to set to minion. + */ + minionStatus: MinionStatus; } /** * Represents an operation in the system. * An operation is a set of activities to do. - * For example, to turn on all home light operation + * For example, to turn on all home light operation * sets an array of activity for each light in the home to set light status 'on'. */ export declare interface Operation { - /** - * Operation unique id. - */ - operationId: string; + /** + * Operation unique id. + */ + operationId: string; - /** - * Operation display name. - */ - operationName: string; + /** + * Operation display name. + */ + operationName: string; - /** - * Activities array. - */ - activities: OperationActivity[]; + /** + * Activities array. + */ + activities: OperationActivity[]; } /** * Timing properties, values depend on timing type. */ export declare interface TimingProperties { - dailySunTrigger?: DailySunTrigger; - dailyTimeTrigger?: DailyTimeTrigger; - once?: OnceTiming; - timeout?: TimeoutTiming; + dailySunTrigger?: DailySunTrigger; + dailyTimeTrigger?: DailyTimeTrigger; + once?: OnceTiming; + timeout?: TimeoutTiming; } /** * Timing feed object. */ export declare interface TimingFeed { - timing: Timing; - results: OperationResult[]; + timing: Timing; + results: OperationResult[]; } /** * Represents a timing in the system. */ export declare interface Timing { - /** - * Timing unique id. - */ - timingId: string; - - /** - * Timing display name. - */ - timingName: string; - - /** - * Operation id to invoke. - */ - triggerOperationId: string; - - /** - * Is timing active or not. - */ - isActive: boolean; - - /** - * The timing type. - */ - timingType: TimingTypes; - - /** - * The timing properties. - */ - timingProperties: TimingProperties; -} - -/** + /** + * Timing unique id. + */ + timingId: string; + + /** + * Timing display name. + */ + timingName: string; + + /** + * Operation id to invoke. + */ + triggerOperationId: string; + + /** + * Is timing active or not. + */ + isActive: boolean; + + /** + * The timing type. + */ + timingType: TimingTypes; + + /** + * The timing properties. + */ + timingProperties: TimingProperties; +} + +/** * Ifttt webhook request body to notify minion status changed. - * *Used in ifttt module interface only* + * *Used in ifttt module interface only* */ export declare interface IftttOnChanged { - /** Allow remote-server to forward request to local server */ - localMac?: string; - /** Device id (AKA Ifttt webhook API key), this is the authentication of request. */ - deviceId: string; - /** The new status */ - newStatus: SwitchOptions; + /** Allow remote-server to forward request to local server */ + localMac?: string; + /** Device id (AKA Ifttt webhook API key), this is the authentication of request. */ + deviceId: string; + /** The new status */ + newStatus: SwitchOptions; } /** Ifttt integration settings */ export declare interface IftttIntegrationSettings { - /** WebHooks API key */ - apiKey?: string; - /** Open or close ifttt integration. */ - enableIntegration: boolean; + /** WebHooks API key */ + apiKey?: string; + /** Open or close ifttt integration. */ + enableIntegration: boolean; } /** Ifttt trigger action auth and forward fields */ export declare interface IftttActionTriggeredRequest { - /** WebHooks API key */ - apiKey: string; - /** Allow remote-server to forward request to local server */ - localMac?: string; + /** WebHooks API key */ + apiKey: string; + /** Allow remote-server to forward request to local server */ + localMac?: string; } /** Ifttt trigger set status action */ export declare interface IftttActionTriggered extends IftttActionTriggeredRequest { - setStatus: SwitchOptions; + setStatus: SwitchOptions; } - /** Ifttt trigger with all request data in one JSON struct. */ export declare interface IftttRawActionTriggerd extends IftttActionTriggeredRequest { - minionId: string; - setStatus: SwitchOptions; + minionId: string; + setStatus: SwitchOptions; } /** Update version results */ export declare interface UpdateResults { - /** Application already in the latest version */ - alreadyUpToDate: boolean; + /** Application already in the latest version */ + alreadyUpToDate: boolean; } /** Version info */ export declare interface VersionInfo { - /** Latest version (Git Tag) name */ - version: string; - /** Current local master/HEAD commit hash */ - commintHash: string; - /** Time stamp of HEAD commint in UTC format */ - timestamp: number; + /** Latest version (Git Tag) name */ + version: string; + /** Current local master/HEAD commit hash */ + commintHash: string; + /** Time stamp of HEAD commint in UTC format */ + timestamp: number; } /** Long-time job status */ @@ -689,24 +689,24 @@ export declare type ProgressStatus = 'inProgress' | 'finished' | 'fail'; /** Scanning progress status */ export declare interface ScaningStatus { - scaningStatus: ProgressStatus; + scaningStatus: ProgressStatus; } /** Version update progress status */ export declare interface VersionUpdateStatus { - updateStatus: ProgressStatus; + updateStatus: ProgressStatus; } /** Minion timeline node */ export declare interface MinionTimeline { - minionId: string; - timestamp: number; - status: MinionStatus; + minionId: string; + timestamp: number; + status: MinionStatus; } /** Device in commands repo project. see https://github.com/casanet/rf-commands-repo. API section */ export declare interface CommandsRepoDevice { - brand: string; - model: string; - category: string; -} \ No newline at end of file + brand: string; + model: string; + category: string; +} diff --git a/backend/src/modules/brandModuleBase.ts b/backend/src/modules/brandModuleBase.ts index 823a7d49..51bf2e1e 100644 --- a/backend/src/modules/brandModuleBase.ts +++ b/backend/src/modules/brandModuleBase.ts @@ -11,119 +11,115 @@ import { logger } from '../utilities/logger'; * Any smart devices brand communication module needs to inherit.. */ export abstract class BrandModuleBase { - - public static readonly CACHE_DIRACTORY = path.join('./data/', Configuration.runningMode, '/cache/'); - - /** - * Cache file pull path. - */ - private get cacheFilePath(): string { - return `${path.join(BrandModuleBase.CACHE_DIRACTORY, this.brandName)}.json`; - } - - /** - * Brand name, should be unique in system. - */ - public readonly abstract brandName: string; - - /** - * All supported devices via current module metadata. - */ - public readonly abstract devices: DeviceKind[]; - - /** - * Let minions manager to know if any minion status changed by pysical interface of device. - */ - public minionStatusChangedEvent = new BehaviorSubject<{ - minionId: string; - status: MinionStatus; - }>(undefined); - - /** - * This PullBehavior Allows to retrieve minions array. - * Used when new status arrived and need all minions array to know for witch minion update belong. - * some of is by mac some by other data. - */ - public retrieveMinions: PullBehavior = new PullBehavior(); - - /** - * Get cache JSON data sync. - * Use it in init only. else the app will black until read finish. - */ - protected getCacheDataSync(): any { - try { - return fse.readJSONSync(this.cacheFilePath); - } catch (error) { - return undefined; - } - } - - /** - * Get cache JSON data. - */ - protected async getCacheData(): Promise { - const data = await fse.readJSON(this.cacheFilePath) - .catch((err) => { - logger.warn(`Fail to read ${this.cacheFilePath} cache file, ${err}`); - throw new Error('Fail to read cache data'); - }); - return data; - } - - /** - * Save JSON to module cache. - * @param data Data to save in cache. - */ - protected async setCacheData(data: any): Promise { - await fse.outputFile(this.cacheFilePath, JSON.stringify(data, null, 2)) - .catch((err) => { - logger.warn(`Fail to write ${this.cacheFilePath} cache file, ${err}`); - throw new Error('Fail to write cache data'); - }); + /** + * Cache file pull path. + */ + private get cacheFilePath(): string { + return `${path.join(BrandModuleBase.CACHE_DIRACTORY, this.brandName)}.json`; + } + public static readonly CACHE_DIRACTORY = path.join('./data/', Configuration.runningMode, '/cache/'); + + /** + * Brand name, should be unique in system. + */ + public abstract readonly brandName: string; + + /** + * All supported devices via current module metadata. + */ + public abstract readonly devices: DeviceKind[]; + + /** + * Let minions manager to know if any minion status changed by pysical interface of device. + */ + public minionStatusChangedEvent = new BehaviorSubject<{ + minionId: string; + status: MinionStatus; + }>(undefined); + + /** + * This PullBehavior Allows to retrieve minions array. + * Used when new status arrived and need all minions array to know for witch minion update belong. + * some of is by mac some by other data. + */ + public retrieveMinions: PullBehavior = new PullBehavior(); + + /** + * Get current status of minion. (such as minion status on off etc.) + * @param miniom minion to get status for. + */ + public abstract getStatus(miniom: Minion): Promise; + + /** + * Set minion new status. (such as turn minion on off etc.) + * @param miniom minion to set status for. + * @param setStatus the new status to set. + */ + public abstract setStatus(miniom: Minion, setStatus: MinionStatus): Promise; + + /** + * Record data for currrent minion status. + * Note, only a few devices models support this feature. + * For example it is used when need to record IR data to math status for next use. + * @param minion minion to record for. + * @param statusToRecordFor the specific status to record for. + */ + public abstract enterRecordMode(minion: Minion, statusToRecordFor: MinionStatus): Promise; + + /** + * Generate an RF or IR command for given status. + * Note, only a few devices models support this feature. + * For example, it is used to generate RF command to the RF wall switch, instead of buying remote and record the commands. + * @param minion minion to generate for. + * @param statusToGenerateFor the specific status to record for. + */ + public abstract generateCommand(minion: Minion, statusToGenerateFor: MinionStatus): Promise; + + /** + * Update module with commands set, instead of recording on by one by the end user. + * see https://github.com/casanet/rf-commands-repo project API. + * @param minion minioin to update commands by fetched commands set. + * @param commandsSet Fetched RF commands set. + */ + public abstract setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise; + + /** + * Refresh and reset all module communications. + * Used for cleaning up communication before re-reading data, after communication auth changed or just hard reset module etc. + */ + public abstract refreshCommunication(): Promise; + + /** + * Get cache JSON data sync. + * Use it in init only. else the app will black until read finish. + */ + protected getCacheDataSync(): any { + try { + return fse.readJSONSync(this.cacheFilePath); + } catch (error) { + return undefined; } - - /** - * Get current status of minion. (such as minion status on off etc.) - * @param miniom minion to get status for. - */ - public abstract getStatus(miniom: Minion): Promise; - - /** - * Set minion new status. (such as turn minion on off etc.) - * @param miniom minion to set status for. - * @param setStatus the new status to set. - */ - public abstract setStatus(miniom: Minion, setStatus: MinionStatus): Promise; - - /** - * Record data for currrent minion status. - * Note, only a few devices models support this feature. - * For example it is used when need to record IR data to math status for next use. - * @param minion minion to record for. - * @param statusToRecordFor the specific status to record for. - */ - public abstract enterRecordMode(minion: Minion, statusToRecordFor: MinionStatus): Promise; - - /** - * Generate an RF or IR command for given status. - * Note, only a few devices models support this feature. - * For example, it is used to generate RF command to the RF wall switch, instead of buying remote and record the commands. - * @param minion minion to generate for. - * @param statusToGenerateFor the specific status to record for. - */ - public abstract generateCommand(minion: Minion, statusToGenerateFor: MinionStatus): Promise; - - /** - * Update module with commands set, instead of recording on by one by the end user. - * see https://github.com/casanet/rf-commands-repo project API. - * @param minion minioin to update commands by fetched commands set. - * @param commandsSet Fetched RF commands set. - */ - public abstract setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise; - - /** - * Refresh and reset all module communications. - * Used for cleaning up communication before re-reading data, after communication auth changed or just hard reset module etc. - */ - public abstract refreshCommunication(): Promise; + } + + /** + * Get cache JSON data. + */ + protected async getCacheData(): Promise { + const data = await fse.readJSON(this.cacheFilePath).catch(err => { + logger.warn(`Fail to read ${this.cacheFilePath} cache file, ${err}`); + throw new Error('Fail to read cache data'); + }); + return data; + } + + /** + * Save JSON to module cache. + * @param data Data to save in cache. + */ + protected async setCacheData(data: any): Promise { + await fse.outputFile(this.cacheFilePath, JSON.stringify(data, null, 2)).catch(err => { + logger.warn(`Fail to write ${this.cacheFilePath} cache file, ${err}`); + throw new Error('Fail to write cache data'); + }); + } } diff --git a/backend/src/modules/broadlink/broadlinkHandler.ts b/backend/src/modules/broadlink/broadlinkHandler.ts index f804fe3f..811fbd1a 100644 --- a/backend/src/modules/broadlink/broadlinkHandler.ts +++ b/backend/src/modules/broadlink/broadlinkHandler.ts @@ -1,7 +1,20 @@ import * as moment from 'moment'; import { Duration } from 'moment'; -import { AcCommands, AirConditioningCommand, CommandsSet, RollerCommands, ToggleCommands } from '../../models/backendInterfaces'; -import { AirConditioning, DeviceKind, ErrorResponse, Minion, MinionStatus, SwitchOptions } from '../../models/sharedInterfaces'; +import { + AcCommands, + AirConditioningCommand, + CommandsSet, + RollerCommands, + ToggleCommands, +} from '../../models/backendInterfaces'; +import { + AirConditioning, + DeviceKind, + ErrorResponse, + Minion, + MinionStatus, + SwitchOptions, +} from '../../models/sharedInterfaces'; import { Delay } from '../../utilities/sleep'; import { BrandModuleBase } from '../brandModuleBase'; @@ -12,534 +25,543 @@ const BroadlinkCodeGeneration = require('./commands-generator'); /** Represents the broadlink protocol handler API */ interface BroadlinkAPI { - sendData: (hexCommandCode: string, callback: (err: any) => void) => void; - enterLearning: (timeoutDurationInMs: number, callback: (err: any, hexStringCommand: string) => void) => void; - checkPower: (callback: (err: any, status: boolean) => void) => void; - setPower: (status: boolean, callback: (err: any) => void) => void; + sendData: (hexCommandCode: string, callback: (err: any) => void) => void; + enterLearning: (timeoutDurationInMs: number, callback: (err: any, hexStringCommand: string) => void) => void; + checkPower: (callback: (err: any, status: boolean) => void) => void; + setPower: (status: boolean, callback: (err: any) => void) => void; } interface Cache { - minionId: string; - lastStatus: MinionStatus; - toggleCommands?: ToggleCommands; - acCommands?: AcCommands; - rollerCommands?: RollerCommands; + minionId: string; + lastStatus: MinionStatus; + toggleCommands?: ToggleCommands; + acCommands?: AcCommands; + rollerCommands?: RollerCommands; } export class BroadlinkHandler extends BrandModuleBase { - - private cache: Cache[] = []; - - public readonly brandName: string = 'broadlink'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'SP2', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'RM3 / RM Pro as IR AC', - suppotedMinionType: 'airConditioning', - isRecordingSupported: true, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'RM Pro as RF toggle', - suppotedMinionType: 'toggle', - isRecordingSupported: true, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'RM Pro as RF roller', - suppotedMinionType: 'roller', - isRecordingSupported: true, - }, - ]; - - constructor() { - super(); - const cache = super.getCacheDataSync(); - if (cache) { - this.cache = cache; - } + public readonly brandName: string = 'broadlink'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'SP2', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'RM3 / RM Pro as IR AC', + suppotedMinionType: 'airConditioning', + isRecordingSupported: true, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'RM Pro as RF toggle', + suppotedMinionType: 'toggle', + isRecordingSupported: true, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'RM Pro as RF roller', + suppotedMinionType: 'roller', + isRecordingSupported: true, + }, + ]; + private cache: Cache[] = []; + + constructor() { + super(); + const cache = super.getCacheDataSync(); + if (cache) { + this.cache = cache; } - - private updateCache() { - this.setCacheData(this.cache) - .then(() => { }) - .catch(() => { }); + } + + public async getStatus(miniom: Minion): Promise { + switch (miniom.device.model) { + case 'SP2': + return await this.getSP2Status(miniom); + case 'RM Pro as RF toggle': + case 'RM3 / RM Pro as IR AC': + case 'RM Pro as RF roller': + return await this.getCachedStatus(miniom); } - - private getOrCreateMinionCache(miniom: Minion): Cache { - for (const minionCache of this.cache) { - if (minionCache.minionId === miniom.minionId) { - return minionCache; - } - } - - /** Case there is not cache struct for minion, create it */ - const newMinionCache: Cache = { - minionId: miniom.minionId, - lastStatus: undefined, - }; - - this.cache.push(newMinionCache); - this.updateCache(); - return newMinionCache; + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + switch (miniom.device.model) { + case 'SP2': + return await this.setSP2Status(miniom, setStatus); + case 'RM Pro as RF toggle': + return await this.setRFToggleStatus(miniom, setStatus); + case 'RM3 / RM Pro as IR AC': + return await this.setIRACStatus(miniom, setStatus); + case 'RM Pro as RF roller': + return await this.setRFRollerStatus(miniom, setStatus); } - - /** - * Get IR command (HEX string) for given status. for AC only. - * @param airConditioningCommands array of all commands to find command in. - * @param airConditioningStatus The AC status to get command for. - * @returns IR code struct or undefined if not exist. - */ - private getMinionACStatusCommand(airConditioningCommands: AirConditioningCommand[], - airConditioningStatus: AirConditioning): AirConditioningCommand { - for (const airConditioningCommand of airConditioningCommands) { - if (airConditioningCommand.status.fanStrength === airConditioningStatus.fanStrength && - airConditioningCommand.status.mode === airConditioningStatus.mode && - airConditioningCommand.status.temperature === airConditioningStatus.temperature) { - return airConditioningCommand; - } - } + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + switch (miniom.device.model) { + case 'RM Pro as RF toggle': + return await this.recordRFToggleCommands(miniom, statusToRecordFor); + case 'RM3 / RM Pro as IR AC': + return await this.recordIRACCommands(miniom, statusToRecordFor); + case 'RM Pro as RF roller': + return await this.recordRollerRFCommand(miniom, statusToRecordFor); } - - /** Get broadlink protocol handler instance for given minion */ - private async getBroadlinkInstance(minoin: Minion): Promise { - return new Promise((resolve, reject) => { - const broadlinkDevice = new Broadlink({ address: minoin.device.pysicalDevice.ip, port: 80 }, - minoin.device.pysicalDevice.mac, (err) => { - if (err) { - reject({ - responseCode: 1503, - message: 'Connection to device fail', - } as ErrorResponse); - return; - } - - resolve(broadlinkDevice); - }); - }); + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + switch (miniom.device.model) { + case 'RM Pro as RF toggle': + return await this.generateToggleRFCommand(miniom, statusToRecordFor); + case 'RM Pro as RF roller': + return await this.generateRollerRFCommand(miniom, statusToRecordFor); } - - /** Send RF/IR command */ - private async sendBeamCommand(broadlink: BroadlinkAPI, beamCommand: string): Promise { - return new Promise((resolve, reject) => { - broadlink.sendData(beamCommand, (err) => { - if (err) { - reject({ - responseCode: 11503, - message: 'Sending beam command fail.', - } as ErrorResponse); - return; - } - resolve(); - }); - }); + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + const minionCache = this.getOrCreateMinionCache(minion); + + switch (minion.minionType) { + case 'toggle': + minionCache.toggleCommands = commandsSet.commands.toggle; + break; + case 'airConditioning': + minionCache.acCommands = commandsSet.commands.airConditioning; + break; + case 'roller': + minionCache.rollerCommands = commandsSet.commands.roller; + break; } - - /** Enter learn mode */ - private async enterBeamLearningMode(broadlink: BroadlinkAPI): Promise { - return new Promise((resolve, reject) => { - broadlink.enterLearning(moment.duration(5, 'seconds').asMilliseconds(), (err, hexStringCommand) => { - if (err) { - reject({ - responseCode: 2503, - message: 'Recording fail or timeout', - } as ErrorResponse); - return; - } - resolve(hexStringCommand); - }); - }); - } - - /** Get current broadlink power */ - private async getBroadlinkPowerMode(broadlink: BroadlinkAPI): Promise { - return new Promise((resolve, reject) => { - broadlink.checkPower((err, state) => { - if (err) { - reject({ - responseCode: 7503, - message: 'Getting status fail', - } as ErrorResponse); - return; - } - resolve(state ? 'on' : 'off'); - }); - }); + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } + + private updateCache() { + this.setCacheData(this.cache) + .then(() => {}) + .catch(() => {}); + } + + private getOrCreateMinionCache(miniom: Minion): Cache { + for (const minionCache of this.cache) { + if (minionCache.minionId === miniom.minionId) { + return minionCache; + } } - /** Set broadlink power */ - private async setBroadlinkPowerMode(broadlink: BroadlinkAPI, switchOptions: SwitchOptions): Promise { - return new Promise((resolve, reject) => { - broadlink.setPower(switchOptions === 'on', (err) => { - if (err) { - reject({ - responseCode: 6503, - message: 'Setting status fail', - } as ErrorResponse); - return; - } - resolve(); - }); - }); + /** Case there is not cache struct for minion, create it */ + const newMinionCache: Cache = { + minionId: miniom.minionId, + lastStatus: undefined, + }; + + this.cache.push(newMinionCache); + this.updateCache(); + return newMinionCache; + } + + /** + * Get IR command (HEX string) for given status. for AC only. + * @param airConditioningCommands array of all commands to find command in. + * @param airConditioningStatus The AC status to get command for. + * @returns IR code struct or undefined if not exist. + */ + private getMinionACStatusCommand( + airConditioningCommands: AirConditioningCommand[], + airConditioningStatus: AirConditioning, + ): AirConditioningCommand { + for (const airConditioningCommand of airConditioningCommands) { + if ( + airConditioningCommand.status.fanStrength === airConditioningStatus.fanStrength && + airConditioningCommand.status.mode === airConditioningStatus.mode && + airConditioningCommand.status.temperature === airConditioningStatus.temperature + ) { + return airConditioningCommand; + } } - - /** - * Get last status, use in all devices that not holing any data, such as IR transmitter. - * @param miniom minion to get last status for. - */ - private async getCachedStatus(miniom: Minion): Promise { - await this.getBroadlinkInstance(miniom); - - const minionCache = this.getOrCreateMinionCache(miniom); - if (!minionCache.lastStatus) { - throw { - responseCode: 5503, - message: 'Current status is unknown, no history for current one-way transmitter', - } as ErrorResponse; + } + + /** Get broadlink protocol handler instance for given minion */ + private async getBroadlinkInstance(minoin: Minion): Promise { + return new Promise((resolve, reject) => { + const broadlinkDevice = new Broadlink( + { address: minoin.device.pysicalDevice.ip, port: 80 }, + minoin.device.pysicalDevice.mac, + err => { + if (err) { + reject({ + responseCode: 1503, + message: 'Connection to device fail', + } as ErrorResponse); + return; + } + + resolve(broadlinkDevice); + }, + ); + }); + } + + /** Send RF/IR command */ + private async sendBeamCommand(broadlink: BroadlinkAPI, beamCommand: string): Promise { + return new Promise((resolve, reject) => { + broadlink.sendData(beamCommand, err => { + if (err) { + reject({ + responseCode: 11503, + message: 'Sending beam command fail.', + } as ErrorResponse); + return; } - - return (minionCache.lastStatus); - } - - private async getSP2Status(miniom: Minion): Promise { - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; - - const status = await this.getBroadlinkPowerMode(broadlink) as SwitchOptions; - return { - switch: { - status, - }, - }; - } - - private async setSP2Status(miniom: Minion, setStatus: MinionStatus): Promise { - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; - - await this.setBroadlinkPowerMode(broadlink, setStatus.switch.status); - } - - private async setRFToggleStatus(miniom: Minion, setStatus: MinionStatus): Promise { - - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; - - const minionCache = this.getOrCreateMinionCache(miniom); - - if (!minionCache.toggleCommands) { - throw { - responseCode: 4503, - message: 'there is no availble command. record a on off commands set.', - } as ErrorResponse; + resolve(); + }); + }); + } + + /** Enter learn mode */ + private async enterBeamLearningMode(broadlink: BroadlinkAPI): Promise { + return new Promise((resolve, reject) => { + broadlink.enterLearning(moment.duration(5, 'seconds').asMilliseconds(), (err, hexStringCommand) => { + if (err) { + reject({ + responseCode: 2503, + message: 'Recording fail or timeout', + } as ErrorResponse); + return; } - - const hexCommandCode = setStatus.toggle.status === 'on' - ? minionCache.toggleCommands.on - : minionCache.toggleCommands.off; - - if (!hexCommandCode) { - throw { - responseCode: 4503, - message: 'there is no availble command. record a on off commands set.', - } as ErrorResponse; + resolve(hexStringCommand); + }); + }); + } + + /** Get current broadlink power */ + private async getBroadlinkPowerMode(broadlink: BroadlinkAPI): Promise { + return new Promise((resolve, reject) => { + broadlink.checkPower((err, state) => { + if (err) { + reject({ + responseCode: 7503, + message: 'Getting status fail', + } as ErrorResponse); + return; } - await this.sendBeamCommand(broadlink, hexCommandCode); - - minionCache.lastStatus = setStatus; - this.updateCache(); + resolve(state ? 'on' : 'off'); + }); + }); + } + + /** Set broadlink power */ + private async setBroadlinkPowerMode( + broadlink: BroadlinkAPI, + switchOptions: SwitchOptions, + ): Promise { + return new Promise((resolve, reject) => { + broadlink.setPower(switchOptions === 'on', err => { + if (err) { + reject({ + responseCode: 6503, + message: 'Setting status fail', + } as ErrorResponse); + return; + } + resolve(); + }); + }); + } + + /** + * Get last status, use in all devices that not holing any data, such as IR transmitter. + * @param miniom minion to get last status for. + */ + private async getCachedStatus(miniom: Minion): Promise { + await this.getBroadlinkInstance(miniom); + + const minionCache = this.getOrCreateMinionCache(miniom); + if (!minionCache.lastStatus) { + throw { + responseCode: 5503, + message: 'Current status is unknown, no history for current one-way transmitter', + } as ErrorResponse; } - private async setRFRollerStatus(miniom: Minion, setStatus: MinionStatus): Promise { - - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; + return minionCache.lastStatus; + } - const minionCache = this.getOrCreateMinionCache(miniom); + private async getSP2Status(miniom: Minion): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - if (!minionCache.rollerCommands) { - throw { - responseCode: 4503, - message: 'there is no availble command. record a roller commands set.', - } as ErrorResponse; - } + const status = (await this.getBroadlinkPowerMode(broadlink)) as SwitchOptions; + return { + switch: { + status, + }, + }; + } - const hexCommandCode = setStatus.roller.status === 'off' - ? minionCache.rollerCommands.off - : setStatus.roller.direction === 'up' - ? minionCache.rollerCommands.up - : minionCache.rollerCommands.down; - - if (!hexCommandCode) { - throw { - responseCode: 4503, - message: 'there is no availble command. record a roller commands set.', - } as ErrorResponse; - } + private async setSP2Status(miniom: Minion, setStatus: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - await this.sendBeamCommand(broadlink, hexCommandCode); + await this.setBroadlinkPowerMode(broadlink, setStatus.switch.status); + } - minionCache.lastStatus = setStatus; - this.updateCache(); - } + private async setRFToggleStatus(miniom: Minion, setStatus: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - private async setIRACStatus(miniom: Minion, setStatus: MinionStatus): Promise { + const minionCache = this.getOrCreateMinionCache(miniom); - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; + if (!minionCache.toggleCommands) { + throw { + responseCode: 4503, + message: 'there is no availble command. record a on off commands set.', + } as ErrorResponse; + } - const minionCache = this.getOrCreateMinionCache(miniom); + const hexCommandCode = + setStatus.toggle.status === 'on' ? minionCache.toggleCommands.on : minionCache.toggleCommands.off; - if (!minionCache.acCommands) { - throw { - responseCode: 3503, - message: 'there is no any command', - } as ErrorResponse; - } + if (!hexCommandCode) { + throw { + responseCode: 4503, + message: 'there is no availble command. record a on off commands set.', + } as ErrorResponse; + } + await this.sendBeamCommand(broadlink, hexCommandCode); - let hexCommandCode: string; - - /** - * If the request is to set off, get the off command. - */ - if (setStatus.airConditioning.status === 'off') { - hexCommandCode = minionCache.acCommands.off; - } else { - /** - * Else try to get the correct command for given status to set. - */ - const acCommand = - this.getMinionACStatusCommand(minionCache.acCommands.statusCommands, setStatus.airConditioning); - - /** If there is command, get it. */ - hexCommandCode = acCommand ? acCommand.command : ''; - } + minionCache.lastStatus = setStatus; + this.updateCache(); + } - if (!hexCommandCode) { - throw { - responseCode: 4503, - message: 'there is no availble command for current status. record a new command.', - } as ErrorResponse; - } + private async setRFRollerStatus(miniom: Minion, setStatus: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - await this.sendBeamCommand(broadlink, hexCommandCode); - /** In case AC has missed the sent command, send it again. */ - await Delay(moment.duration(1, 'seconds')); - await this.sendBeamCommand(broadlink, hexCommandCode); + const minionCache = this.getOrCreateMinionCache(miniom); - minionCache.lastStatus = setStatus; - this.updateCache(); + if (!minionCache.rollerCommands) { + throw { + responseCode: 4503, + message: 'there is no availble command. record a roller commands set.', + } as ErrorResponse; } - private async recordIRACCommands(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; + const hexCommandCode = + setStatus.roller.status === 'off' + ? minionCache.rollerCommands.off + : setStatus.roller.direction === 'up' + ? minionCache.rollerCommands.up + : minionCache.rollerCommands.down; + + if (!hexCommandCode) { + throw { + responseCode: 4503, + message: 'there is no availble command. record a roller commands set.', + } as ErrorResponse; + } - const minionCache = this.getOrCreateMinionCache(miniom); + await this.sendBeamCommand(broadlink, hexCommandCode); - if (!minionCache.acCommands) { - minionCache.acCommands = { - off: '', - statusCommands: [], - }; - } + minionCache.lastStatus = setStatus; + this.updateCache(); + } - const hexIRCommand = await this.enterBeamLearningMode(broadlink); + private async setIRACStatus(miniom: Minion, setStatus: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - /** If status is off, jusr save it. */ - if (statusToRecordFor.airConditioning.status === 'off') { - minionCache.acCommands.off = hexIRCommand; - } else { + const minionCache = this.getOrCreateMinionCache(miniom); - /** Else, get record objec if exsit and update command */ - let statusCommand = - this.getMinionACStatusCommand(minionCache.acCommands.statusCommands, statusToRecordFor.airConditioning); + if (!minionCache.acCommands) { + throw { + responseCode: 3503, + message: 'there is no any command', + } as ErrorResponse; + } - /** If command object not exist yet, create new one and add it to commands array */ - if (!statusCommand) { - statusCommand = { - command: '', - status: statusToRecordFor.airConditioning, - }; - minionCache.acCommands.statusCommands.push(statusCommand); - } + let hexCommandCode: string; - statusCommand.command = hexIRCommand; - } - this.updateCache(); + /** + * If the request is to set off, get the off command. + */ + if (setStatus.airConditioning.status === 'off') { + hexCommandCode = minionCache.acCommands.off; + } else { + /** + * Else try to get the correct command for given status to set. + */ + const acCommand = this.getMinionACStatusCommand(minionCache.acCommands.statusCommands, setStatus.airConditioning); + + /** If there is command, get it. */ + hexCommandCode = acCommand ? acCommand.command : ''; } - private async recordRollerRFCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - const broadlink = await this.getBroadlinkInstance(miniom) as BroadlinkAPI; + if (!hexCommandCode) { + throw { + responseCode: 4503, + message: 'there is no availble command for current status. record a new command.', + } as ErrorResponse; + } - const minionCache = this.getOrCreateMinionCache(miniom); + await this.sendBeamCommand(broadlink, hexCommandCode); + /** In case AC has missed the sent command, send it again. */ + await Delay(moment.duration(1, 'seconds')); + await this.sendBeamCommand(broadlink, hexCommandCode); - if (!minionCache.rollerCommands) { - minionCache.rollerCommands = { - up: '', - down: '', - off: '', - }; - } + minionCache.lastStatus = setStatus; + this.updateCache(); + } - const hexIRCommand = await this.enterBeamLearningMode(broadlink); + private async recordIRACCommands(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - if (statusToRecordFor.roller.status === 'off') { - minionCache.rollerCommands.off = hexIRCommand; - } else if (statusToRecordFor.roller.direction === 'up') { - minionCache.rollerCommands.up = hexIRCommand; - } else { - minionCache.rollerCommands.down = hexIRCommand; - } + const minionCache = this.getOrCreateMinionCache(miniom); - this.updateCache(); + if (!minionCache.acCommands) { + minionCache.acCommands = { + off: '', + statusCommands: [], + }; } - private async generateToggleRFCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - - const generatedCode = BroadlinkCodeGeneration.generate('RF433'); + const hexIRCommand = await this.enterBeamLearningMode(broadlink); + + /** If status is off, jusr save it. */ + if (statusToRecordFor.airConditioning.status === 'off') { + minionCache.acCommands.off = hexIRCommand; + } else { + /** Else, get record objec if exsit and update command */ + let statusCommand = this.getMinionACStatusCommand( + minionCache.acCommands.statusCommands, + statusToRecordFor.airConditioning, + ); + + /** If command object not exist yet, create new one and add it to commands array */ + if (!statusCommand) { + statusCommand = { + command: '', + status: statusToRecordFor.airConditioning, + }; + minionCache.acCommands.statusCommands.push(statusCommand); + } - const minionCache = this.getOrCreateMinionCache(miniom); + statusCommand.command = hexIRCommand; + } + this.updateCache(); + } - if (!minionCache.toggleCommands) { - minionCache.toggleCommands = { - on: undefined, - off: undefined, - }; - } + private async recordRollerRFCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + const broadlink = (await this.getBroadlinkInstance(miniom)) as BroadlinkAPI; - if (statusToRecordFor.toggle.status === 'on') { - minionCache.toggleCommands.on = generatedCode; - } else { - minionCache.toggleCommands.off = generatedCode; - } + const minionCache = this.getOrCreateMinionCache(miniom); - this.updateCache(); + if (!minionCache.rollerCommands) { + minionCache.rollerCommands = { + up: '', + down: '', + off: '', + }; } - private async generateRollerRFCommand(minion: Minion, statusToRecordFor: MinionStatus): Promise { + const hexIRCommand = await this.enterBeamLearningMode(broadlink); - const generatedCode = BroadlinkCodeGeneration.generate('RF433'); + if (statusToRecordFor.roller.status === 'off') { + minionCache.rollerCommands.off = hexIRCommand; + } else if (statusToRecordFor.roller.direction === 'up') { + minionCache.rollerCommands.up = hexIRCommand; + } else { + minionCache.rollerCommands.down = hexIRCommand; + } - const minionCache = this.getOrCreateMinionCache(minion); + this.updateCache(); + } - if (!minionCache.rollerCommands) { - minionCache.rollerCommands = { - down: undefined, - up: undefined, - off: undefined, - }; - } + private async generateToggleRFCommand( + miniom: Minion, + statusToRecordFor: MinionStatus, + ): Promise { + const generatedCode = BroadlinkCodeGeneration.generate('RF433'); - if (statusToRecordFor.roller.status === 'off') { - minionCache.rollerCommands.off = generatedCode; - } else if (statusToRecordFor.roller.direction === 'up') { - minionCache.rollerCommands.up = generatedCode; - } else { - minionCache.rollerCommands.down = generatedCode; - } + const minionCache = this.getOrCreateMinionCache(miniom); - this.updateCache(); + if (!minionCache.toggleCommands) { + minionCache.toggleCommands = { + on: undefined, + off: undefined, + }; } - private async recordRFToggleCommands(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - // TODO: swap and then record. - throw { - responseCode: 5501, - message: 'Not implemented yet.', - } as ErrorResponse; + if (statusToRecordFor.toggle.status === 'on') { + minionCache.toggleCommands.on = generatedCode; + } else { + minionCache.toggleCommands.off = generatedCode; } - public async getStatus(miniom: Minion): Promise { - switch (miniom.device.model) { - case 'SP2': - return await this.getSP2Status(miniom); - case 'RM Pro as RF toggle': - case 'RM3 / RM Pro as IR AC': - case 'RM Pro as RF roller': - return await this.getCachedStatus(miniom); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; - } + this.updateCache(); + } - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - switch (miniom.device.model) { - case 'SP2': - return await this.setSP2Status(miniom, setStatus); - case 'RM Pro as RF toggle': - return await this.setRFToggleStatus(miniom, setStatus); - case 'RM3 / RM Pro as IR AC': - return await this.setIRACStatus(miniom, setStatus); - case 'RM Pro as RF roller': - return await this.setRFRollerStatus(miniom, setStatus); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; - } + private async generateRollerRFCommand( + minion: Minion, + statusToRecordFor: MinionStatus, + ): Promise { + const generatedCode = BroadlinkCodeGeneration.generate('RF433'); - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - switch (miniom.device.model) { - case 'RM Pro as RF toggle': - return await this.recordRFToggleCommands(miniom, statusToRecordFor); - case 'RM3 / RM Pro as IR AC': - return await this.recordIRACCommands(miniom, statusToRecordFor); - case 'RM Pro as RF roller': - return await this.recordRollerRFCommand(miniom, statusToRecordFor); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; - } + const minionCache = this.getOrCreateMinionCache(minion); - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - switch (miniom.device.model) { - case 'RM Pro as RF toggle': - return await this.generateToggleRFCommand(miniom, statusToRecordFor); - case 'RM Pro as RF roller': - return await this.generateRollerRFCommand(miniom, statusToRecordFor); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; + if (!minionCache.rollerCommands) { + minionCache.rollerCommands = { + down: undefined, + up: undefined, + off: undefined, + }; } - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - const minionCache = this.getOrCreateMinionCache(minion); - - switch (minion.minionType) { - case 'toggle': - minionCache.toggleCommands = commandsSet.commands.toggle; - break; - case 'airConditioning': - minionCache.acCommands = commandsSet.commands.airConditioning; - break; - case 'roller': - minionCache.rollerCommands = commandsSet.commands.roller; - break; - } + if (statusToRecordFor.roller.status === 'off') { + minionCache.rollerCommands.off = generatedCode; + } else if (statusToRecordFor.roller.direction === 'up') { + minionCache.rollerCommands.up = generatedCode; + } else { + minionCache.rollerCommands.down = generatedCode; } - public async refreshCommunication(): Promise { - // There's nothing to do. - } + this.updateCache(); + } + + private async recordRFToggleCommands(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + // TODO: swap and then record. + throw { + responseCode: 5501, + message: 'Not implemented yet.', + } as ErrorResponse; + } } diff --git a/backend/src/modules/ifttt/iftttHandler.ts b/backend/src/modules/ifttt/iftttHandler.ts index ac6050fa..6a6d4fc2 100644 --- a/backend/src/modules/ifttt/iftttHandler.ts +++ b/backend/src/modules/ifttt/iftttHandler.ts @@ -9,140 +9,139 @@ import { logger } from '../../utilities/logger'; import { BrandModuleBase } from '../brandModuleBase'; export class IftttHandler extends BrandModuleBase { + public readonly brandName: string = 'ifttt'; - public readonly brandName: string = 'ifttt'; + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'toggle', + suppotedMinionType: 'toggle', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'switch', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'air conditioning', + suppotedMinionType: 'airConditioning', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'light', + suppotedMinionType: 'light', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'temperature light', + suppotedMinionType: 'temperatureLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'color light', + suppotedMinionType: 'colorLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: true, + minionsPerDevice: -1, + model: 'roller', + suppotedMinionType: 'roller', + isRecordingSupported: false, + }, + ]; - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'toggle', - suppotedMinionType: 'toggle', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'switch', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'air conditioning', - suppotedMinionType: 'airConditioning', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'light', - suppotedMinionType: 'light', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'temperature light', - suppotedMinionType: 'temperatureLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'color light', - suppotedMinionType: 'colorLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: true, - minionsPerDevice: -1, - model: 'roller', - suppotedMinionType: 'roller', - isRecordingSupported: false, - }, - ]; + constructor() { + super(); + } - constructor() { - super(); - } - - public async getStatus(miniom: Minion): Promise { - /** Currently there is no API to get the real current status. */ - return miniom.minionStatus; - } - - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - let triggerPayload = `${miniom.minionId}-${setStatus[miniom.minionType].status}`; + public async getStatus(miniom: Minion): Promise { + /** Currently there is no API to get the real current status. */ + return miniom.minionStatus; + } - if (setStatus[miniom.minionType].status === 'on') { - switch (miniom.minionType) { - case 'airConditioning': - // tslint:disable-next-line:max-line-length - triggerPayload += `-${setStatus.airConditioning.mode}-${setStatus.airConditioning.fanStrength}-${setStatus.airConditioning.temperature}`; - break; - case 'light': - triggerPayload += `-${setStatus.light.brightness}`; - break; - case 'temperatureLight': - triggerPayload += `-${setStatus.temperatureLight.brightness}-${setStatus.temperatureLight.temperature}`; - break; - case 'colorLight': - // tslint:disable-next-line:max-line-length - triggerPayload += `-${setStatus.colorLight.brightness}-${setStatus.colorLight.temperature}-${setStatus.colorLight.red}-${setStatus.colorLight.green}-${setStatus.colorLight.blue}`; - break; - case 'roller': - triggerPayload += `-${setStatus.roller.direction}`; - break; - } - } + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + let triggerPayload = `${miniom.minionId}-${setStatus[miniom.minionType].status}`; - try { - // tslint:disable-next-line:max-line-length - await request(`https://maker.ifttt.com/trigger/${triggerPayload}/with/key/${miniom.device.deviceId}`); - } catch (error) { - logger.warn(`Sent IFTTT trigger for ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); - throw { - responseCode: 7409, - message: 'Ifttt triggger fail.', - } as ErrorResponse; - } + if (setStatus[miniom.minionType].status === 'on') { + switch (miniom.minionType) { + case 'airConditioning': + // tslint:disable-next-line:max-line-length + triggerPayload += `-${setStatus.airConditioning.mode}-${setStatus.airConditioning.fanStrength}-${setStatus.airConditioning.temperature}`; + break; + case 'light': + triggerPayload += `-${setStatus.light.brightness}`; + break; + case 'temperatureLight': + triggerPayload += `-${setStatus.temperatureLight.brightness}-${setStatus.temperatureLight.temperature}`; + break; + case 'colorLight': + // tslint:disable-next-line:max-line-length + triggerPayload += `-${setStatus.colorLight.brightness}-${setStatus.colorLight.temperature}-${setStatus.colorLight.red}-${setStatus.colorLight.green}-${setStatus.colorLight.blue}`; + break; + case 'roller': + triggerPayload += `-${setStatus.roller.direction}`; + break; + } } - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the ifttt module not support any recording mode', - } as ErrorResponse; + try { + // tslint:disable-next-line:max-line-length + await request(`https://maker.ifttt.com/trigger/${triggerPayload}/with/key/${miniom.device.deviceId}`); + } catch (error) { + logger.warn(`Sent IFTTT trigger for ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); + throw { + responseCode: 7409, + message: 'Ifttt triggger fail.', + } as ErrorResponse; } + } - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the ifttt module not support any recording mode', - } as ErrorResponse; - } + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the ifttt module not support any recording mode', + } as ErrorResponse; + } - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the ifttt module not support any recording mode', + } as ErrorResponse; + } - public async refreshCommunication(): Promise { - // There's nothing to do. - } + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } } diff --git a/backend/src/modules/miio/miioHandler.ts b/backend/src/modules/miio/miioHandler.ts index 2922067b..7eab709a 100644 --- a/backend/src/modules/miio/miioHandler.ts +++ b/backend/src/modules/miio/miioHandler.ts @@ -2,208 +2,212 @@ import * as miio from 'miio'; import { BehaviorSubject } from 'rxjs'; import { CommandsSet } from '../../models/backendInterfaces'; import { - Cleaner, - CleanerMode, - DeviceKind, - ErrorResponse, - FanStrengthOptions, - Minion, - MinionDevice, - MinionStatus, - SwitchOptions, - TemperatureLight, + Cleaner, + CleanerMode, + DeviceKind, + ErrorResponse, + FanStrengthOptions, + Minion, + MinionDevice, + MinionStatus, + SwitchOptions, + TemperatureLight, } from '../../models/sharedInterfaces'; import { DeepCopy } from '../../utilities/deepCopy'; import { logger } from '../../utilities/logger'; import { BrandModuleBase } from '../brandModuleBase'; export class MiioHandler extends BrandModuleBase { - - public readonly brandName: string = 'miio'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'Robot vacuum', - suppotedMinionType: 'cleaner', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'Philips ceiling', - suppotedMinionType: 'temperatureLight', - isRecordingSupported: false, - }, - ]; - - constructor() { - super(); + public readonly brandName: string = 'miio'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'Robot vacuum', + suppotedMinionType: 'cleaner', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'Philips ceiling', + suppotedMinionType: 'temperatureLight', + isRecordingSupported: false, + }, + ]; + + constructor() { + super(); + } + public async getStatus(miniom: Minion): Promise { + try { + const device = await miio.device({ address: miniom.device.pysicalDevice.ip, token: miniom.device.token }); + + let currentStatus: MinionStatus; + switch (miniom.minionType) { + case 'cleaner': + currentStatus = { + cleaner: await this.getVaccumStatus(device), + }; + break; + case 'temperatureLight': + currentStatus = { + temperatureLight: await this.getTempLightStatus(device), + }; + break; + default: + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + device.destroy(); + + return currentStatus; + } catch (error) { + throw { + responseCode: 1503, + message: 'communication with miio device fail', + } as ErrorResponse; } - - private async getFanSpeed(device: miio.device): Promise { - const rawSpeed = await device.fanSpeed(); - - switch (rawSpeed) { - case 38: return 'low'; - case 60: return 'med'; - case 77: return 'high'; - } - return 'auto'; + } + + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + try { + const device = await miio.device({ address: miniom.device.pysicalDevice.ip, token: miniom.device.token }); + + switch (miniom.minionType) { + case 'cleaner': + await this.setVaccumStatus(device, setStatus.cleaner); + break; + case 'temperatureLight': + await this.setTempLightStatus(device, setStatus.temperatureLight); + break; + default: + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + device.destroy(); + } catch (error) { + throw { + responseCode: 1503, + message: 'communication with miio device fail', + } as ErrorResponse; } - - private async setFanSpeed(device: miio.device, fanStrengt: FanStrengthOptions) { - let rawSpeed = 60; - - switch (fanStrengt) { - case 'low': rawSpeed = 38; break; - case 'med': rawSpeed = 60; break; - case 'high': rawSpeed = 77; break; - } - await device.call('set_custom_mode', [rawSpeed]); - + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the miio module not support any recording mode', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the miio module not support any recording mode', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } + + private async getFanSpeed(device: miio.device): Promise { + const rawSpeed = await device.fanSpeed(); + + switch (rawSpeed) { + case 38: + return 'low'; + case 60: + return 'med'; + case 77: + return 'high'; } - - private async setVaccumStatus(device: miio.device, setStatus: Cleaner) { - if (setStatus.status === 'off') { - await await device.call('app_pause'); - return; - } - - await this.setFanSpeed(device, setStatus.fanSpeed); - - switch (setStatus.mode) { - case 'clean': await device.call('app_start'); break; - case 'dock': - await device.call('app_pause'); - await device.call('app_charge'); break; - } + return 'auto'; + } + + private async setFanSpeed(device: miio.device, fanStrengt: FanStrengthOptions) { + let rawSpeed = 60; + + switch (fanStrengt) { + case 'low': + rawSpeed = 38; + break; + case 'med': + rawSpeed = 60; + break; + case 'high': + rawSpeed = 77; + break; } + await device.call('set_custom_mode', [rawSpeed]); + } - private async getVaccumStatus(device: miio.device): Promise { - const statuses = (await device.call('get_status'))[0]; - - const status: SwitchOptions = statuses.in_cleaning ? 'on' : 'off'; - - const fanSpeed = await this.getFanSpeed(device); - - /** 8 == charging, 6 == going to the dock */ - const mode: CleanerMode = statuses.state === 8 || statuses.state === 6 - ? 'dock' - : 'clean'; - return { - fanSpeed, - mode, - status, - }; + private async setVaccumStatus(device: miio.device, setStatus: Cleaner) { + if (setStatus.status === 'off') { + await await device.call('app_pause'); + return; } - private async setTempLightStatus(device: miio.device, setStatus: TemperatureLight) { - await device.call('set_power', [setStatus.status]); - if (setStatus.status === 'on') { - await device.call('set_bricct', [setStatus.brightness, setStatus.temperature]); - } - } + await this.setFanSpeed(device, setStatus.fanSpeed); - private async getTempLightStatus(device: miio.device): Promise { - const status = (await device.call('get_prop', ['power']))[0]; - const brightness = (await device.call('get_prop', ['bright']))[0]; - const temperature = (await device.call('get_prop', ['cct']))[0]; - return { - temperature, - brightness, - status, - }; - } - public async getStatus(miniom: Minion): Promise { - - try { - - const device = await miio.device({ address: miniom.device.pysicalDevice.ip, token: miniom.device.token }); - - let currentStatus: MinionStatus; - switch (miniom.minionType) { - case 'cleaner': - currentStatus = { - cleaner: await this.getVaccumStatus(device), - }; - break; - case 'temperatureLight': - currentStatus = { - temperatureLight: await this.getTempLightStatus(device), - }; - break; - default: - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; - } - - device.destroy(); - - return currentStatus; - - } catch (error) { - - throw { - responseCode: 1503, - message: 'communication with miio device fail', - } as ErrorResponse; - } + switch (setStatus.mode) { + case 'clean': + await device.call('app_start'); + break; + case 'dock': + await device.call('app_pause'); + await device.call('app_charge'); + break; } + } - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - try { - const device = await miio.device({ address: miniom.device.pysicalDevice.ip, token: miniom.device.token }); - - switch (miniom.minionType) { - case 'cleaner': - await this.setVaccumStatus(device, setStatus.cleaner); break; - case 'temperatureLight': - await this.setTempLightStatus(device, setStatus.temperatureLight); break; - default: - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; - } - - device.destroy(); - - } catch (error) { - - throw { - responseCode: 1503, - message: 'communication with miio device fail', - } as ErrorResponse; - } - } + private async getVaccumStatus(device: miio.device): Promise { + const statuses = (await device.call('get_status'))[0]; - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the miio module not support any recording mode', - } as ErrorResponse; - } + const status: SwitchOptions = statuses.in_cleaning ? 'on' : 'off'; - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the miio module not support any recording mode', - } as ErrorResponse; - } + const fanSpeed = await this.getFanSpeed(device); - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } + /** 8 == charging, 6 == going to the dock */ + const mode: CleanerMode = statuses.state === 8 || statuses.state === 6 ? 'dock' : 'clean'; + return { + fanSpeed, + mode, + status, + }; + } - public async refreshCommunication(): Promise { - // There's nothing to do. + private async setTempLightStatus(device: miio.device, setStatus: TemperatureLight) { + await device.call('set_power', [setStatus.status]); + if (setStatus.status === 'on') { + await device.call('set_bricct', [setStatus.brightness, setStatus.temperature]); } + } + + private async getTempLightStatus(device: miio.device): Promise { + const status = (await device.call('get_prop', ['power']))[0]; + const brightness = (await device.call('get_prop', ['bright']))[0]; + const temperature = (await device.call('get_prop', ['cct']))[0]; + return { + temperature, + brightness, + status, + }; + } } diff --git a/backend/src/modules/mock/mockHandler.ts b/backend/src/modules/mock/mockHandler.ts index fb76527c..d2be687c 100644 --- a/backend/src/modules/mock/mockHandler.ts +++ b/backend/src/modules/mock/mockHandler.ts @@ -8,218 +8,213 @@ import { Delay } from '../../utilities/sleep'; import { BrandModuleBase } from '../brandModuleBase'; export class MockHandler extends BrandModuleBase { - - /** - * Time duratin to mock pysical device status update for switch minion. - */ - private readonly SWITCH_CHANGED_INTERVAL: Duration = moment.duration(4, 'seconds'); - - /** - * Time duratin to mock pysical device status update for ac minion. - */ - private readonly AC_CHANGED_INTERVAL: Duration = moment.duration(5, 'seconds'); - - public readonly brandName: string = 'mock'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'switch demo', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'ac demo', - suppotedMinionType: 'airConditioning', - isRecordingSupported: true, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'RF toggle demo', - suppotedMinionType: 'toggle', - isRecordingSupported: true, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'Light demo', - suppotedMinionType: 'light', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'Temperature Light demo', - suppotedMinionType: 'temperatureLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'Color Light demo', - suppotedMinionType: 'colorLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'Roller demo', - suppotedMinionType: 'roller', - isRecordingSupported: false, - }, - ]; - - constructor() { - - super(); - - // for debug updattes remove 'return' + public readonly brandName: string = 'mock'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'switch demo', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'ac demo', + suppotedMinionType: 'airConditioning', + isRecordingSupported: true, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'RF toggle demo', + suppotedMinionType: 'toggle', + isRecordingSupported: true, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'Light demo', + suppotedMinionType: 'light', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'Temperature Light demo', + suppotedMinionType: 'temperatureLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'Color Light demo', + suppotedMinionType: 'colorLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'Roller demo', + suppotedMinionType: 'roller', + isRecordingSupported: false, + }, + ]; + /** + * Time duratin to mock pysical device status update for switch minion. + */ + private readonly SWITCH_CHANGED_INTERVAL: Duration = moment.duration(4, 'seconds'); + + /** + * Time duratin to mock pysical device status update for ac minion. + */ + private readonly AC_CHANGED_INTERVAL: Duration = moment.duration(5, 'seconds'); + + constructor() { + super(); + + // for debug updattes remove 'return' + return; + setInterval(async () => { + const minions = await this.retrieveMinions.pull(); + + if (minions.length === 0 || !minions[0].minionStatus || !minions[0].minionStatus[minions[0].minionType]) { return; - setInterval(async () => { - - const minions = await this.retrieveMinions.pull(); - - if (minions.length === 0 - || !minions[0].minionStatus - || !minions[0].minionStatus[minions[0].minionType]) { - return; - } - - const statusCopy = DeepCopy(minions[0].minionStatus); - - const statusObject = statusCopy[minions[0].minionType] as Toggle; - statusObject.status = statusObject.status === 'off' ? 'on' : 'off'; - - this.minionStatusChangedEvent.next({ - minionId: minions[0].minionId, - status: statusCopy, - }); - }, this.SWITCH_CHANGED_INTERVAL.asMilliseconds()); - - setInterval(() => { - this.minionStatusChangedEvent.next({ - minionId: '656565656', - status: { - airConditioning: { - status: 'off', - fanStrength: 'high', - mode: 'cold', - temperature: 20, - }, - }, - }); - }, this.AC_CHANGED_INTERVAL.asMilliseconds()); - - } - public async getStatus(miniom: Minion): Promise { - await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. - - switch (miniom.device.model) { - case 'switch demo': - return { - switch: { - status: 'on', - }, - }; - case 'ac demo': - return { - airConditioning: { - fanStrength: 'med', - mode: 'cold', - status: 'on', - temperature: 21, - }, - }; - case 'Light demo': - return { - light: { - brightness: 50, - status: 'on', - }, - }; - case 'Temperature Light demo': - return { - temperatureLight: { - brightness: 50, - status: 'on', - temperature: 85, - }, - }; - case 'Color Light demo': - return { - colorLight: { - brightness: 50, - status: 'on', - temperature: 85, - blue: 120, - green: 123, - red: 143, - }, - }; - case 'Roller demo': - return { - roller: { - status: 'on', - direction: 'up', - }, - }; - } - - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; + } + + const statusCopy = DeepCopy(minions[0].minionStatus); + + const statusObject = statusCopy[minions[0].minionType] as Toggle; + statusObject.status = statusObject.status === 'off' ? 'on' : 'off'; + + this.minionStatusChangedEvent.next({ + minionId: minions[0].minionId, + status: statusCopy, + }); + }, this.SWITCH_CHANGED_INTERVAL.asMilliseconds()); + + setInterval(() => { + this.minionStatusChangedEvent.next({ + minionId: '656565656', + status: { + airConditioning: { + status: 'off', + fanStrength: 'high', + mode: 'cold', + temperature: 20, + }, + }, + }); + }, this.AC_CHANGED_INTERVAL.asMilliseconds()); + } + public async getStatus(miniom: Minion): Promise { + await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. + + switch (miniom.device.model) { + case 'switch demo': + return { + switch: { + status: 'on', + }, + }; + case 'ac demo': + return { + airConditioning: { + fanStrength: 'med', + mode: 'cold', + status: 'on', + temperature: 21, + }, + }; + case 'Light demo': + return { + light: { + brightness: 50, + status: 'on', + }, + }; + case 'Temperature Light demo': + return { + temperatureLight: { + brightness: 50, + status: 'on', + temperature: 85, + }, + }; + case 'Color Light demo': + return { + colorLight: { + brightness: 50, + status: 'on', + temperature: 85, + blue: 120, + green: 123, + red: 143, + }, + }; + case 'Roller demo': + return { + roller: { + status: 'on', + direction: 'up', + }, + }; } - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. - if (miniom.device.model === 'switch demo' || - miniom.device.model === 'ac demo' || - miniom.device.model === 'RF toggle demo' || - miniom.device.model === 'Roller demo' || - miniom.device.model === 'Light demo' || - miniom.device.model === 'Temperature Light demo' || - miniom.device.model === 'Color Light demo') { - return; - } - - throw { - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse; + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } + + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. + if ( + miniom.device.model === 'switch demo' || + miniom.device.model === 'ac demo' || + miniom.device.model === 'RF toggle demo' || + miniom.device.model === 'Roller demo' || + miniom.device.model === 'Light demo' || + miniom.device.model === 'Temperature Light demo' || + miniom.device.model === 'Color Light demo' + ) { + return; } - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. - } + throw { + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse; + } - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real command generation. - } + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. + } - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real command generation. + } - public async refreshCommunication(): Promise { - // There's nothing to do. - } + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } } diff --git a/backend/src/modules/modulesManager.ts b/backend/src/modules/modulesManager.ts index f842e2c4..9b5be70d 100644 --- a/backend/src/modules/modulesManager.ts +++ b/backend/src/modules/modulesManager.ts @@ -1,10 +1,10 @@ +import * as moment from 'moment'; +import * as withTimeout from 'promise-with-timeout'; import { PullBehavior } from 'pull-behavior'; import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; import { Configuration } from '../config'; import { DeviceKind, ErrorResponse, Minion, MinionDevice, MinionStatus } from '../models/sharedInterfaces'; import { BrandModuleBase } from './brandModuleBase'; -import * as withTimeout from 'promise-with-timeout'; -import * as moment from 'moment'; /////////////////////////////////////////////////////////////////////////////// //////////////// TO EXTEND: Place here handler reference ////////////////////// @@ -21,362 +21,349 @@ import { TuyaHandler } from './tuya/tuyaHandler'; import { YeelightHandler } from './yeelight/yeelightHandler'; export class ModulesManager { - - private readonly COMMUNICATE_DEVICE_TIMEOUT = moment.duration(15, 'seconds'); - - /** - * All modules handlers - */ - private modulesHandlers: BrandModuleBase[] = []; - - /** - * Let subscribe to any status minion changed. from any brand module. - */ - public minionStatusChangedEvent = new BehaviorSubject<{ - minionId: string; - status: MinionStatus; - }>(undefined); - - /** - * Get all devices kinds of all brands. - */ - public get devicesKind(): DeviceKind[] { - const modulesDevices: DeviceKind[] = []; - for (const moduleHandler of this.modulesHandlers) { - modulesDevices.push(...moduleHandler.devices); - } - return modulesDevices; + /** + * Get all devices kinds of all brands. + */ + public get devicesKind(): DeviceKind[] { + const modulesDevices: DeviceKind[] = []; + for (const moduleHandler of this.modulesHandlers) { + modulesDevices.push(...moduleHandler.devices); } - - /** - * Allows to retrieve minions array. (used as proxy for all moduls). - */ - public retrieveMinions: PullBehavior = new PullBehavior(); - - constructor() { - - /** Currently, do not coverage modules, only 'mock' for other tests. */ - if (Configuration.runningMode === 'test') { - this.initHandler(new MockHandler()); - return; - } - - this.initHandlers(); + return modulesDevices; + } + + /** + * Let subscribe to any status minion changed. from any brand module. + */ + public minionStatusChangedEvent = new BehaviorSubject<{ + minionId: string; + status: MinionStatus; + }>(undefined); + + /** + * Allows to retrieve minions array. (used as proxy for all moduls). + */ + public retrieveMinions: PullBehavior = new PullBehavior(); + private readonly COMMUNICATE_DEVICE_TIMEOUT = moment.duration(15, 'seconds'); + + /** + * All modules handlers + */ + private modulesHandlers: BrandModuleBase[] = []; + + constructor() { + /** Currently, do not coverage modules, only 'mock' for other tests. */ + if (Configuration.runningMode === 'test') { + this.initHandler(new MockHandler()); + return; } - /** - * Init any brand module in system. - */ - private initHandlers(): void { - - //////////////////////////////////////////////////////////////////////// - //////////////// TO EXTEND: Init here new handler ////////////////////// - //////////////////////////////////////////////////////////////////////// - this.initHandler(new MockHandler()); - this.initHandler(new TuyaHandler()); - this.initHandler(new TasmotaHandler()); - this.initHandler(new BroadlinkHandler()); - this.initHandler(new YeelightHandler()); - this.initHandler(new OrviboHandler()); - this.initHandler(new IftttHandler()); - this.initHandler(new MiioHandler()); - this.initHandler(new MqttHandler()); - + this.initHandlers(); + } + + /** + * Get current status of minion. (such as minion status on off etc.) + */ + public async getStatus(miniom: Minion): Promise { + const minionModule = this.getMinionModule(miniom.device.brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${miniom.device.brand}- brand`, + }; + throw errorResponse; } - /** - * Hold the hendler instance and registar to minions status changed. - * @param brandModule the handler instance. - */ - private initHandler(brandModule: BrandModuleBase): void { - - /** - * Set pull proxy method to get all last minions array. - */ - brandModule.retrieveMinions.setPullMethod(async (): Promise => { - if (!this.retrieveMinions.isPullingAvailble) { - return []; - } - return await this.retrieveMinions.pull(); - }); - - brandModule.minionStatusChangedEvent.subscribe((changedMinionStatus) => { - this.minionStatusChangedEvent.next(changedMinionStatus); - }); - - this.modulesHandlers.push(brandModule); + try { + return await withTimeout(minionModule.getStatus(miniom), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; } - - /** - * Get minion communcation module based on brand name. - * @param brandName the brand name. - * @returns The module instance or undefined if not exist. - */ - private getMinionModule(brandName: string): BrandModuleBase { - for (const brandHandler of this.modulesHandlers) { - if (brandName === brandHandler.brandName) { - return brandHandler; - } - } + } + + /** + * Set minion new status. (such as turn minion on off etc.) + * @param miniom minion to set status for. + * @param setStatus the new status to set. + */ + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + const minionModule = this.getMinionModule(miniom.device.brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${miniom.device.brand}- brand`, + }; + throw errorResponse; } - /** - * Get DeviceKind of minoin device. - * @param minionsBrandModuleBase The rand module to look in. - * @param minionDevice the minoin device to get kind for. - * @returns The device kind. - */ - private getModelKind(minionsBrandModuleBase: BrandModuleBase, minionDevice: MinionDevice): DeviceKind { - for (const deviceKind of minionsBrandModuleBase.devices) { - if (deviceKind.brand === minionDevice.brand && - deviceKind.model === minionDevice.model) { - return deviceKind; - } - } + try { + return await withTimeout( + minionModule.setStatus(miniom, setStatus), + this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds(), + ); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; } - - /** - * Get current status of minion. (such as minion status on off etc.) - */ - public async getStatus(miniom: Minion): Promise { - const minionModule = this.getMinionModule(miniom.device.brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${miniom.device.brand}- brand`, - }; - throw errorResponse; - } - - try { - return await withTimeout(minionModule.getStatus(miniom), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } - - throw error - } + } + + /** + * Record data for currrent minion status. + * Note, only few devices models support this feature. + * For example it is used when need to record IR data to math status for next use. + * @param minion minion to record for. + * @param statusToRecordFor the specific status to record for. + */ + public async enterRecordMode(minion: Minion, statusToRecordFor: MinionStatus): Promise { + const minionModule = this.getMinionModule(minion.device.brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${minion.device.brand}- brand`, + }; + throw errorResponse; } - /** - * Set minion new status. (such as turn minion on off etc.) - * @param miniom minion to set status for. - * @param setStatus the new status to set. - */ - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - const minionModule = this.getMinionModule(miniom.device.brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${miniom.device.brand}- brand`, - }; - throw errorResponse; - } - - try { - return await withTimeout(minionModule.setStatus(miniom, setStatus), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } - - throw error - } + /** Make sure that minion supprt recording */ + const modelKind = this.getModelKind(minionModule, minion.device); + if (!modelKind || !modelKind.isRecordingSupported) { + const errorResponse: ErrorResponse = { + responseCode: 6409, + message: `the minioin not support command recording or sending`, + }; + throw errorResponse; } - /** - * Record data for currrent minion status. - * Note, only few devices models support this feature. - * For example it is used when need to record IR data to math status for next use. - * @param minion minion to record for. - * @param statusToRecordFor the specific status to record for. - */ - public async enterRecordMode(minion: Minion, statusToRecordFor: MinionStatus): Promise { - const minionModule = this.getMinionModule(minion.device.brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${minion.device.brand}- brand`, - }; - throw errorResponse; - } - - /** Make sure that minion supprt recording */ - const modelKind = this.getModelKind(minionModule, minion.device); - if (!modelKind || !modelKind.isRecordingSupported) { - const errorResponse: ErrorResponse = { - responseCode: 6409, - message: `the minioin not support command recording or sending`, - }; - throw errorResponse; - } - - try { - return await withTimeout(minionModule.enterRecordMode(minion, statusToRecordFor), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } - - throw error - } + try { + return await withTimeout( + minionModule.enterRecordMode(minion, statusToRecordFor), + this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds(), + ); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; } - - /** - * Generate an RF or IR command for given status. - * Note, only a few devices models support this feature. - * For example, it is used to generate RF command to the RF wall switch, instead of buying remote and record the commands. - * @param minion minion to generate for. - * @param statusToGenerateFor the specific status to record for. - */ - public async generateCommand(minion: Minion, statusToGenerateFor: MinionStatus): Promise { - const minionModule = this.getMinionModule(minion.device.brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${minion.device.brand}- brand`, - }; - throw errorResponse; - } - - /** Make sure that minion supprt recording */ - const modelKind = this.getModelKind(minionModule, minion.device); - if (!modelKind || !modelKind.isRecordingSupported) { - const errorResponse: ErrorResponse = { - responseCode: 6409, - message: `the minioin not support command recording or sending`, - }; - throw errorResponse; - } - - try { - return await withTimeout(minionModule.generateCommand(minion, statusToGenerateFor), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } - - throw error - } + } + + /** + * Generate an RF or IR command for given status. + * Note, only a few devices models support this feature. + * For example, it is used to generate RF command to the RF wall switch, instead of buying remote and record the commands. + * @param minion minion to generate for. + * @param statusToGenerateFor the specific status to record for. + */ + public async generateCommand(minion: Minion, statusToGenerateFor: MinionStatus): Promise { + const minionModule = this.getMinionModule(minion.device.brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${minion.device.brand}- brand`, + }; + throw errorResponse; } - /** - * Update the currect module with fatched commands set. - * see https://github.com/casanet/rf-commands-repo project API. - * @param minion minioin to update commands by fetched commands set. - * @param commandsSet Fetched RF commands set. - */ - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - const minionModule = this.getMinionModule(minion.device.brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${minion.device.brand}- brand`, - }; - throw errorResponse; - } - - /** Make sure that minion supprt recording */ - const modelKind = this.getModelKind(minionModule, minion.device); - if (!modelKind || !modelKind.isRecordingSupported) { - const errorResponse: ErrorResponse = { - responseCode: 6409, - message: `the minioin not support command recording or sending`, - }; - throw errorResponse; - } + /** Make sure that minion supprt recording */ + const modelKind = this.getModelKind(minionModule, minion.device); + if (!modelKind || !modelKind.isRecordingSupported) { + const errorResponse: ErrorResponse = { + responseCode: 6409, + message: `the minioin not support command recording or sending`, + }; + throw errorResponse; + } - try { - return await withTimeout(minionModule.setFetchedCommands(minion, commandsSet), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { + try { + return await withTimeout( + minionModule.generateCommand(minion, statusToGenerateFor), + this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds(), + ); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; + } + } + + /** + * Update the currect module with fatched commands set. + * see https://github.com/casanet/rf-commands-repo project API. + * @param minion minioin to update commands by fetched commands set. + * @param commandsSet Fetched RF commands set. + */ + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + const minionModule = this.getMinionModule(minion.device.brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${minion.device.brand}- brand`, + }; + throw errorResponse; + } - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } + /** Make sure that minion supprt recording */ + const modelKind = this.getModelKind(minionModule, minion.device); + if (!modelKind || !modelKind.isRecordingSupported) { + const errorResponse: ErrorResponse = { + responseCode: 6409, + message: `the minioin not support command recording or sending`, + }; + throw errorResponse; + } - throw error - } + try { + return await withTimeout( + minionModule.setFetchedCommands(minion, commandsSet), + this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds(), + ); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; } - /** - * Refresh and reset all module communications. - * Used for cleaning up communication before re-reading data, after communication auth changed or just hard reset module etc. - */ - public async refreshModules(): Promise { - for (const brandHandler of this.modulesHandlers) { - try { - await withTimeout(brandHandler.refreshCommunication(), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - } - } + } + /** + * Refresh and reset all module communications. + * Used for cleaning up communication before re-reading data, after communication auth changed or just hard reset module etc. + */ + public async refreshModules(): Promise { + for (const brandHandler of this.modulesHandlers) { + try { + await withTimeout(brandHandler.refreshCommunication(), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); + } catch (error) {} + } + } + + /** + * Reset module communication. + * @param brand Brand module to reset. + */ + public async refreshModule(brand: string): Promise { + const minionModule = this.getMinionModule(brand); + + if (!minionModule) { + const errorResponse: ErrorResponse = { + responseCode: 7404, + message: `there is not module for -${brand}- brand`, + }; + throw errorResponse; } + try { + return await withTimeout(minionModule.refreshCommunication(), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); + } catch (error) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { + throw { + responseCode: 1503, + message: 'communication with device fail, timeout', + } as ErrorResponse; + } + + throw error; + } + } + + /** + * Init any brand module in system. + */ + private initHandlers(): void { + //////////////////////////////////////////////////////////////////////// + //////////////// TO EXTEND: Init here new handler ////////////////////// + //////////////////////////////////////////////////////////////////////// + this.initHandler(new MockHandler()); + this.initHandler(new TuyaHandler()); + this.initHandler(new TasmotaHandler()); + this.initHandler(new BroadlinkHandler()); + this.initHandler(new YeelightHandler()); + this.initHandler(new OrviboHandler()); + this.initHandler(new IftttHandler()); + this.initHandler(new MiioHandler()); + this.initHandler(new MqttHandler()); + } + + /** + * Hold the hendler instance and registar to minions status changed. + * @param brandModule the handler instance. + */ + private initHandler(brandModule: BrandModuleBase): void { /** - * Reset module communication. - * @param brand Brand module to reset. + * Set pull proxy method to get all last minions array. */ - public async refreshModule(brand: string): Promise { - const minionModule = this.getMinionModule(brand); - - if (!minionModule) { - const errorResponse: ErrorResponse = { - responseCode: 7404, - message: `there is not module for -${brand}- brand`, - }; - throw errorResponse; - } - - try { - return await withTimeout(minionModule.refreshCommunication(), - this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); - } catch (error) { - - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { - throw { - responseCode: 1503, - message: 'communication with device fail, timeout', - } as ErrorResponse; - } - - throw error + brandModule.retrieveMinions.setPullMethod( + async (): Promise => { + if (!this.retrieveMinions.isPullingAvailble) { + return []; } + return await this.retrieveMinions.pull(); + }, + ); + + brandModule.minionStatusChangedEvent.subscribe(changedMinionStatus => { + this.minionStatusChangedEvent.next(changedMinionStatus); + }); + + this.modulesHandlers.push(brandModule); + } + + /** + * Get minion communcation module based on brand name. + * @param brandName the brand name. + * @returns The module instance or undefined if not exist. + */ + private getMinionModule(brandName: string): BrandModuleBase { + for (const brandHandler of this.modulesHandlers) { + if (brandName === brandHandler.brandName) { + return brandHandler; + } + } + } + + /** + * Get DeviceKind of minoin device. + * @param minionsBrandModuleBase The rand module to look in. + * @param minionDevice the minoin device to get kind for. + * @returns The device kind. + */ + private getModelKind(minionsBrandModuleBase: BrandModuleBase, minionDevice: MinionDevice): DeviceKind { + for (const deviceKind of minionsBrandModuleBase.devices) { + if (deviceKind.brand === minionDevice.brand && deviceKind.model === minionDevice.model) { + return deviceKind; + } } + } } export const ModulesManagerSingltone = new ModulesManager(); diff --git a/backend/src/modules/mqtt/mqtt-converters/mqttConverterBase.ts b/backend/src/modules/mqtt/mqtt-converters/mqttConverterBase.ts index 26a4674f..23c59171 100644 --- a/backend/src/modules/mqtt/mqtt-converters/mqttConverterBase.ts +++ b/backend/src/modules/mqtt/mqtt-converters/mqttConverterBase.ts @@ -6,105 +6,104 @@ import { logger } from '../../../utilities/logger'; * Message data to send device via mqtt. */ export declare interface MqttMessage { - topic: string; - data: string; + topic: string; + data: string; } /** * Data to get from other device mqtt message. */ export declare interface ParsedMqttMessage { - minionId: string; - minionStatus: MinionStatus; + minionId: string; + minionStatus: MinionStatus; } /** * Base mqtt messages converter, use to convert from/to casanet client and other device client messages. */ export abstract class MqttConverterBase { - - /** Mqtt client */ - private mqttClient: mqttapi.AsyncMqttClient; - - /** Casanet topic name to subscribe to */ - private readonly casanetSetTopic: string = 'set/casanet/#'; - private readonly casanetGetTopic: string = 'get/casanet/#'; - - /** Other device topic to subscribe to */ - protected abstract subscribeDeviceTopic: string; - - /** - * Init the converter mqtt client. - */ - public async initClient(brokerUri: string): Promise { - this.mqttClient = mqttapi.connect(brokerUri); - - this.mqttClient.on('connect', async () => { - - /** Subscribe to casanet topics */ - await this.mqttClient.subscribe(this.casanetSetTopic); - await this.mqttClient.subscribe(this.casanetGetTopic); - - /** Subscribe to other device topics */ - await this.mqttClient.subscribe(this.subscribeDeviceTopic); - }); - - this.mqttClient.on('message', async (topic: string, payload: Buffer) => { - try { - const topics = topic.split('/'); - const data = payload.toString(); - - /** If message sent from casanet to device to set status, convert it and publish it */ - if (topic.indexOf('set/casanet') !== -1) { - const minionId = topics[2]; - const status: MinionStatus = JSON.parse(data); - /** Get from child the converted message */ - const mqttMessage = await this.convertSetStatusToDevice(minionId, status); - /** then publish it */ - await this.mqttClient.publish(mqttMessage.topic, mqttMessage.data); - return; - } - - /** If message sent from casanet to device to get the current status, convert it and publish it */ - if (topic.indexOf('get/casanet') !== -1) { - const minionId = topics[2]; - /** Get from child the converted message */ - const mqttMessage = await this.convertStatusRequestToDevice(minionId); - /** then publish it */ - await this.mqttClient.publish(mqttMessage.topic, mqttMessage.data); - return; - } - - /** Case the messsage sent from device to casanet, convert the device message to casanet message format */ - const parsedMqttMessage = await this.convertStatusToCasanet(topic, data); - /** Then publish it */ - await this.mqttClient.publish(`stat/casanet/${parsedMqttMessage.minionId}`, JSON.stringify(parsedMqttMessage.minionStatus)); - - } catch (error) { - logger.warn(`Parsing mqtt message for ${topic}:${payload.toString()} fail ${JSON.stringify(error)}`); - } - }); - - return this; - } - - /** - * Convert casanet set status message to other device mqtt message format. - * @param minionId minionId. - * @param setStatus status to set. - */ - abstract async convertSetStatusToDevice(minionId: string, setStatus: MinionStatus): Promise; - - /** - * Convert casanet get current status message to other device mqtt message format. - * @param minionId minionId - */ - abstract async convertStatusRequestToDevice(minionId: string): Promise; - - /** - * Convert device status update message to casanet mqtt message format. - * @param topic message topic. - * @param data message data. - */ - abstract async convertStatusToCasanet(topic: string, data: string): Promise; + /** Other device topic to subscribe to */ + protected abstract subscribeDeviceTopic: string; + /** Mqtt client */ + private mqttClient: mqttapi.AsyncMqttClient; + + /** Casanet topic name to subscribe to */ + private readonly casanetSetTopic: string = 'set/casanet/#'; + private readonly casanetGetTopic: string = 'get/casanet/#'; + + /** + * Init the converter mqtt client. + */ + public async initClient(brokerUri: string): Promise { + this.mqttClient = mqttapi.connect(brokerUri); + + this.mqttClient.on('connect', async () => { + /** Subscribe to casanet topics */ + await this.mqttClient.subscribe(this.casanetSetTopic); + await this.mqttClient.subscribe(this.casanetGetTopic); + + /** Subscribe to other device topics */ + await this.mqttClient.subscribe(this.subscribeDeviceTopic); + }); + + this.mqttClient.on('message', async (topic: string, payload: Buffer) => { + try { + const topics = topic.split('/'); + const data = payload.toString(); + + /** If message sent from casanet to device to set status, convert it and publish it */ + if (topic.indexOf('set/casanet') !== -1) { + const minionId = topics[2]; + const status: MinionStatus = JSON.parse(data); + /** Get from child the converted message */ + const mqttMessage = await this.convertSetStatusToDevice(minionId, status); + /** then publish it */ + await this.mqttClient.publish(mqttMessage.topic, mqttMessage.data); + return; + } + + /** If message sent from casanet to device to get the current status, convert it and publish it */ + if (topic.indexOf('get/casanet') !== -1) { + const minionId = topics[2]; + /** Get from child the converted message */ + const mqttMessage = await this.convertStatusRequestToDevice(minionId); + /** then publish it */ + await this.mqttClient.publish(mqttMessage.topic, mqttMessage.data); + return; + } + + /** Case the messsage sent from device to casanet, convert the device message to casanet message format */ + const parsedMqttMessage = await this.convertStatusToCasanet(topic, data); + /** Then publish it */ + await this.mqttClient.publish( + `stat/casanet/${parsedMqttMessage.minionId}`, + JSON.stringify(parsedMqttMessage.minionStatus), + ); + } catch (error) { + logger.warn(`Parsing mqtt message for ${topic}:${payload.toString()} fail ${JSON.stringify(error)}`); + } + }); + + return this; + } + + /** + * Convert casanet set status message to other device mqtt message format. + * @param minionId minionId. + * @param setStatus status to set. + */ + public abstract async convertSetStatusToDevice(minionId: string, setStatus: MinionStatus): Promise; + + /** + * Convert casanet get current status message to other device mqtt message format. + * @param minionId minionId + */ + public abstract async convertStatusRequestToDevice(minionId: string): Promise; + + /** + * Convert device status update message to casanet mqtt message format. + * @param topic message topic. + * @param data message data. + */ + public abstract async convertStatusToCasanet(topic: string, data: string): Promise; } diff --git a/backend/src/modules/mqtt/mqtt-converters/tasmotaConverter.ts b/backend/src/modules/mqtt/mqtt-converters/tasmotaConverter.ts index 9716d6c9..e5fd7d59 100644 --- a/backend/src/modules/mqtt/mqtt-converters/tasmotaConverter.ts +++ b/backend/src/modules/mqtt/mqtt-converters/tasmotaConverter.ts @@ -2,39 +2,38 @@ import { MinionStatus, SwitchOptions } from '../../../models/sharedInterfaces'; import { MqttConverterBase, MqttMessage, ParsedMqttMessage } from './mqttConverterBase'; export class TasmotaConverter extends MqttConverterBase { + /** + * Let abstract know the tasmota topic + * (After changing by tasmota web interface the topic to 'sonoff/[minionId]') + */ + protected subscribeDeviceTopic = 'stat/sonoff/+/POWER'; - /** - * Let abstract know the tasmota topic - * (After changing by tasmota web interface the topic to 'sonoff/[minionId]') - */ - protected subscribeDeviceTopic = 'stat/sonoff/+/POWER'; + public async convertSetStatusToDevice(minionId: string, setStatus: MinionStatus): Promise { + return { + topic: `cmnd/sonoff/${minionId}/POWER`, + data: setStatus.switch.status.toUpperCase(), + }; + } - public async convertSetStatusToDevice(minionId: string, setStatus: MinionStatus): Promise { - return { - topic: `cmnd/sonoff/${minionId}/POWER`, - data: setStatus.switch.status.toUpperCase(), - }; - } + public async convertStatusRequestToDevice(minionId: string): Promise { + return { + topic: `cmnd/sonoff/${minionId}/POWER`, + data: '', + }; + } - public async convertStatusRequestToDevice(minionId: string): Promise { - return { - topic: `cmnd/sonoff/${minionId}/POWER`, - data: '', - }; - } + public async convertStatusToCasanet(topic: string, data: string): Promise { + const topics = topic.split('/'); + const minionId = topics[2]; - public async convertStatusToCasanet(topic: string, data: string): Promise { - const topics = topic.split('/'); - const minionId = topics[2]; - - const minionStatus: MinionStatus = { - switch: { - status: data.toLowerCase() as SwitchOptions, - }, - }; - return { - minionId, - minionStatus, - }; - } + const minionStatus: MinionStatus = { + switch: { + status: data.toLowerCase() as SwitchOptions, + }, + }; + return { + minionId, + minionStatus, + }; + } } diff --git a/backend/src/modules/mqtt/mqttBroker.ts b/backend/src/modules/mqtt/mqttBroker.ts index 613b385a..4f249b0d 100644 --- a/backend/src/modules/mqtt/mqttBroker.ts +++ b/backend/src/modules/mqtt/mqttBroker.ts @@ -4,30 +4,28 @@ import { logger } from '../../utilities/logger'; /** Simple Mqtt server */ export class MqttBroker { + private server: mosca.Server; - private server: mosca.Server; + constructor() {} - constructor() { - } + /** + * Init broker + * @param port broker listening port. + * @returns The broker ip. + */ + public async invokeBroker(port: number): Promise { + this.server = new mosca.Server({ + port, + }); - /** - * Init broker - * @param port broker listening port. - * @returns The broker ip. - */ - public async invokeBroker(port: number): Promise { - this.server = new mosca.Server({ - port, - }); + this.server.on('ready', () => { + logger.info(`Mosca mqtt server on ${ip.address()}:${port} is up and running`); + }); - this.server.on('ready', () => { - logger.info(`Mosca mqtt server on ${ip.address()}:${port} is up and running`); - }); + this.server.on('clientConnected', client => { + logger.info(`Mqtt ${client.id} client connected`); + }); - this.server.on('clientConnected', (client) => { - logger.info(`Mqtt ${client.id} client connected`); - }); - - return ip.address(); - } + return ip.address(); + } } diff --git a/backend/src/modules/mqtt/mqttHandler.ts b/backend/src/modules/mqtt/mqttHandler.ts index d388a63f..bbf749a9 100644 --- a/backend/src/modules/mqtt/mqttHandler.ts +++ b/backend/src/modules/mqtt/mqttHandler.ts @@ -11,215 +11,210 @@ const mqttBrokerUri = process.env.MQTT_BROKER_URI; const mqttInternalBrokerPort = process.env.MQTT_INTERNAL_BROKER_PORT; export class MqttHandler extends BrandModuleBase { - - public readonly brandName: string = 'mqtt'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'toggle', - suppotedMinionType: 'toggle', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'switch', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'air conditioning', - suppotedMinionType: 'airConditioning', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'light', - suppotedMinionType: 'light', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'temperature light', - suppotedMinionType: 'temperatureLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'color light', - suppotedMinionType: 'colorLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: -1, - model: 'roller', - suppotedMinionType: 'roller', - isRecordingSupported: false, - }, - ]; - - private mqttBroker: MqttBroker; - private mqttClient: mqttapi.AsyncMqttClient; - - private brokerUri: string; - - private mqttConverters: MqttConverterBase[] = []; - - constructor() { - super(); - - this.loadMqttBroker(); + public readonly brandName: string = 'mqtt'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'toggle', + suppotedMinionType: 'toggle', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'switch', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'air conditioning', + suppotedMinionType: 'airConditioning', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'light', + suppotedMinionType: 'light', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'temperature light', + suppotedMinionType: 'temperatureLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'color light', + suppotedMinionType: 'colorLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'roller', + suppotedMinionType: 'roller', + isRecordingSupported: false, + }, + ]; + + private mqttBroker: MqttBroker; + private mqttClient: mqttapi.AsyncMqttClient; + + private brokerUri: string; + + private mqttConverters: MqttConverterBase[] = []; + + constructor() { + super(); + + this.loadMqttBroker(); + } + + public async getStatus(miniom: Minion): Promise { + await this.mqttClient.publish(`get/casanet/${miniom.minionId}`, ''); + /** Current there is no option to 'ask' and wait for respone, only to send request and the update will arrive by status topic. */ + return miniom.minionStatus; + } + + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + /** Publish set status topic */ + await this.mqttClient.publish(`set/casanet/${miniom.minionId}`, JSON.stringify(setStatus)); + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the mqtt module not support any recording mode', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the mqtt module not support any recording mode', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } + + /** + * Load all mqtt converters + */ + private async loadMqttConverters() { + /////////////////////////////////////////// + ////////// HERE LOAD THE CONVERTERS /////// + /////////////////////////////////////////// + this.mqttConverters.push(new TasmotaConverter()); + + /** Init converters */ + for (const mqttConverter of this.mqttConverters) { + await mqttConverter.initClient(this.brokerUri); } - - /** - * Load all mqtt converters - */ - private async loadMqttConverters() { - - /////////////////////////////////////////// - ////////// HERE LOAD THE CONVERTERS /////// - /////////////////////////////////////////// - this.mqttConverters.push(new TasmotaConverter()); - - /** Init converters */ - for (const mqttConverter of this.mqttConverters) { - await mqttConverter.initClient(this.brokerUri); - } + } + + /** Load broker (or init new one if not configurate one) */ + private async loadMqttBroker() { + /** If there is broker set by env vars */ + if (mqttBrokerUri) { + this.brokerUri = mqttBrokerUri; + /** Then load casanet client */ + await this.loadMqttClient(); + return; } - /** Load broker (or init new one if not configurate one) */ - private async loadMqttBroker() { + logger.info(`There is no MQTT_BROKER_IP env var, invokeing internal mqtt broker.`); + this.mqttBroker = new MqttBroker(); - /** If there is broker set by env vars */ - if (mqttBrokerUri) { - this.brokerUri = mqttBrokerUri; - /** Then load casanet client */ - await this.loadMqttClient(); - return; - } + /** Get broker port */ + const internalBrokerPort = mqttInternalBrokerPort ? parseInt(mqttInternalBrokerPort, 10) : 1883; - logger.info(`There is no MQTT_BROKER_IP env var, invokeing internal mqtt broker.`); - this.mqttBroker = new MqttBroker(); + /** Invoke the internal broker and keep the ip */ + const internalBrokerIp = await this.mqttBroker.invokeBroker(internalBrokerPort); - /** Get broker port */ - const internalBrokerPort = mqttInternalBrokerPort - ? parseInt(mqttInternalBrokerPort, 10) - : 1883; + this.brokerUri = `mqtt://${internalBrokerIp}:${internalBrokerPort}`; + /** Then load casanet client */ + await this.loadMqttClient(); + } - /** Invoke the internal broker and keep the ip */ - const internalBrokerIp = await this.mqttBroker.invokeBroker(internalBrokerPort); + /** Load mqtt client */ + private async loadMqttClient() { + this.mqttClient = mqttapi.connect(this.brokerUri); - this.brokerUri = `mqtt://${internalBrokerIp}:${internalBrokerPort}`; - /** Then load casanet client */ - await this.loadMqttClient(); - } + this.mqttClient.on('connect', async () => { + /** Subscribe to topic that sent to casanet */ + await this.mqttClient.subscribe(`stat/casanet/#`); + }); - /** Load mqtt client */ - private async loadMqttClient() { - this.mqttClient = mqttapi.connect(this.brokerUri); - - this.mqttClient.on('connect', async () => { - /** Subscribe to topic that sent to casanet */ - await this.mqttClient.subscribe(`stat/casanet/#`); - }); - - this.mqttClient.on('message', async (topic: string, payload: Buffer) => { - try { - /** Extract the minion id from the topic */ - const minionId = topic.split('/')[2]; - - /** TODO: check data struct by schema validator. */ - - /** Parse the content */ - const status: MinionStatus = JSON.parse(payload.toString()); - - /** Get all minions */ - const minions = await this.retrieveMinions.pull(); - - /** Find the minion that mention in the message */ - for (const minion of minions) { - /** - * Find the minions that used current pysical tuya device - */ - if (minion.minionId !== minionId) { - continue; - } - - if (!status[minion.minionType]) { - logger.warn(`MQTT message for ${topic}:${payload.toString()} data not matchs the minion type`); - return; - } - - /** Publish the update to casanet system */ - this.minionStatusChangedEvent.next({ - minionId, - status, - }); - - return; - } - logger.debug(`Fail to update minion ${minionId} from mqttt message, minion not exist`); - } catch (error) { - logger.warn(`Parsing mqtt message for ${topic}:${payload.toString()} fail ${JSON.stringify(error)}`); - } - }); - - /** Load the converters */ - await this.loadMqttConverters(); - } + this.mqttClient.on('message', async (topic: string, payload: Buffer) => { + try { + /** Extract the minion id from the topic */ + const minionId = topic.split('/')[2]; - public async getStatus(miniom: Minion): Promise { - await this.mqttClient.publish(`get/casanet/${miniom.minionId}`, ''); - /** Current there is no option to 'ask' and wait for respone, only to send request and the update will arrive by status topic. */ - return miniom.minionStatus; - } + /** TODO: check data struct by schema validator. */ - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - /** Publish set status topic */ - await this.mqttClient.publish(`set/casanet/${miniom.minionId}`, JSON.stringify(setStatus)); - } + /** Parse the content */ + const status: MinionStatus = JSON.parse(payload.toString()); - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the mqtt module not support any recording mode', - } as ErrorResponse; - } + /** Get all minions */ + const minions = await this.retrieveMinions.pull(); - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the mqtt module not support any recording mode', - } as ErrorResponse; - } + /** Find the minion that mention in the message */ + for (const minion of minions) { + /** + * Find the minions that used current pysical tuya device + */ + if (minion.minionId !== minionId) { + continue; + } - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } + if (!status[minion.minionType]) { + logger.warn(`MQTT message for ${topic}:${payload.toString()} data not matchs the minion type`); + return; + } - public async refreshCommunication(): Promise { - // There's nothing to do. - } + /** Publish the update to casanet system */ + this.minionStatusChangedEvent.next({ + minionId, + status, + }); + + return; + } + logger.debug(`Fail to update minion ${minionId} from mqttt message, minion not exist`); + } catch (error) { + logger.warn(`Parsing mqtt message for ${topic}:${payload.toString()} fail ${JSON.stringify(error)}`); + } + }); + + /** Load the converters */ + await this.loadMqttConverters(); + } } diff --git a/backend/src/modules/orvibo/orviboHandler.ts b/backend/src/modules/orvibo/orviboHandler.ts index 30b67216..96c31bd3 100644 --- a/backend/src/modules/orvibo/orviboHandler.ts +++ b/backend/src/modules/orvibo/orviboHandler.ts @@ -1,289 +1,277 @@ -import * as dgram from 'dgram'; -import * as moment from 'moment'; +import * as dgram from 'dgram'; +import * as moment from 'moment'; import * as Orvibo from 'node-orvibo-2'; import { CommandsSet } from '../../models/backendInterfaces'; -import { - DeviceKind, - ErrorResponse, - Minion, - MinionStatus, -} from '../../models/sharedInterfaces'; +import { DeviceKind, ErrorResponse, Minion, MinionStatus } from '../../models/sharedInterfaces'; import { logger } from '../../utilities/logger'; import { Delay } from '../../utilities/sleep'; import { BrandModuleBase } from '../brandModuleBase'; export class OrviboHandler extends BrandModuleBase { - - public readonly brandName: string = 'orvibo'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'S20', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - ]; - - private orviboCommunication: any; - private queryCallback: (deviceResult: any) => void; - private subscribeCallback: (deviceResult: any) => void; - - constructor() { - super(); - - this.initOrviboCommunication(); - } - - /** - * Check if UDP port binded to other application. - * @param port port to check. - */ - private checkPortAvailability(port: number): Promise { - return new Promise((resolve, reject) => { - const socket = dgram.createSocket('udp4'); - - socket.on('error', (e) => { - reject(e); - }); - - socket.bind(port, () => { - socket.close(); - resolve(); - }); - }); - } - - /** Init connection (UDP socket) for orvibo, - * and listen to broadcasts messags in LAN - */ - private async initOrviboCommunication() { - try { - await this.checkPortAvailability(10000); - await this.checkPortAvailability(9999); - await this.checkPortAvailability(48899); - } catch (error) { - this.orviboCommunication = undefined; - logger.error('Fail to init orvibo communication'); - return; + public readonly brandName: string = 'orvibo'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'S20', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + ]; + + private orviboCommunication: any; + private queryCallback: (deviceResult: any) => void; + private subscribeCallback: (deviceResult: any) => void; + + constructor() { + super(); + + this.initOrviboCommunication(); + } + + public async getStatus(minion: Minion): Promise { + return new Promise((resolve, reject) => { + /** create timeout, case device not responsing */ + const timeoutTimer = setTimeout(() => { + this.queryCallback = undefined; + logger.warn(`Fail to get orvibo device ${minion.minionId} state, timeout`); + reject({ + responseCode: 1503, + message: 'receive UDP answer from device fail', + } as ErrorResponse); + }, moment.duration(5, 'seconds').asMilliseconds()); + + /** Set callback to subscribe event */ + this.subscribeCallback = deviceResult => { + if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { + return; } - /** Create the orvibo protocol instance */ - this.orviboCommunication = new Orvibo(); - - /** open the needs UDP channel */ - this.orviboCommunication.listen(); - - /** listen to any device status changes arrived */ - this.orviboCommunication.on('externalstatechanged', async (changedDevice) => { - - if (!changedDevice) { - return; - } - - if (this.queryCallback) { - this.queryCallback(changedDevice); - } - - if (!this.retrieveMinions.isPullingAvailble) { - return; - } - - const minions = await this.retrieveMinions.pull(); - - for (const minion of minions) { - if (minion.device.pysicalDevice.mac === changedDevice.macAddress) { - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: { - switch: { - status: changedDevice.state ? 'on' : 'off', - }, - }, - }); - } - } - }); - - /** Registar to query data response arrived */ - this.orviboCommunication.on('queried', async (queriedDevice) => { - if (this.queryCallback) { - this.queryCallback(queriedDevice); - } - }); + this.queryCallback = undefined; + clearTimeout(timeoutTimer); - /** Registar to subscribed data response arrived */ - this.orviboCommunication.on('subscribed', async (subscribedDevice) => { - if (this.subscribeCallback) { - this.subscribeCallback(subscribedDevice); - } + resolve({ + switch: { + status: deviceResult.state ? 'on' : 'off', + }, }); - } - - /** - * Re-subscribe to current orivbo device, use to know the status - * (orvibo send it by subscribe and button pressed only) and also to alow set status. - * @param miniom The minion of device. - */ - private async reSubsribeOrvibo(miniom: Minion) { - /** If there is no connection, try to init it */ - if (!this.orviboCommunication) { - try { - this.initOrviboCommunication(); - } catch (error) { - this.orviboCommunication = undefined; - throw { - responseCode: 1503, - message: 'there is no UDP socket to send request by', - } as ErrorResponse; - } - } - - /** Reload device each time befor sending data using UDP */ - const currentOrviboDevice = this.orviboCommunication.getDevice(miniom.device.pysicalDevice.mac); - if (currentOrviboDevice) { - this.orviboCommunication.devices.splice(this.orviboCommunication.devices.indexOf(currentOrviboDevice), 1); + }; + + /** Then resubscribe to get the current status */ + this.reSubsribeOrvibo(minion).catch(error => { + reject({ + responseCode: 7503, + message: 'Getting status fail', + } as ErrorResponse); + }); + }); + } + + public async setStatus(minion: Minion, setStatus: MinionStatus): Promise { + await this.reSubsribeOrvibo(minion); + + return new Promise((resolve, reject) => { + /** Create set status message */ + const message = this.orviboCommunication.prepareMessage({ + commandID: '6463', + macAddress: minion.device.pysicalDevice.mac, + macPadding: '202020202020', + data: { + // Session ID? + blank: '00000000', + // Ternary operators are cool, but hard to read. + // This one says "if state is true, set state to 01, otherwise, set to 00" + state: setStatus.switch.status === 'on' ? '01' : '00', + }, + }); + + /** Send status message to device */ + this.orviboCommunication.sendMessage(message, minion.device.pysicalDevice.ip); + + /** create timeout, case device not responsing */ + const timeoutTimer = setTimeout(() => { + this.queryCallback = undefined; + logger.warn(`Fail to set orvibo device ${minion.minionId} ${setStatus.switch.status} state, timeout`); + reject({ + responseCode: 1503, + message: 'receive UDP answer from device fail', + } as ErrorResponse); + }, moment.duration(5, 'seconds').asMilliseconds()); + + /** set callback to query event */ + this.queryCallback = deviceResult => { + if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { + return; } - /** Create device object */ - const orvibo = { - macAddress: miniom.device.pysicalDevice.mac, - macPadding: '202020202020', - type: 'Socket', - ip: miniom.device.pysicalDevice.ip, - // Takes the last character from the message and turns it into a boolean. - // This is our socket's initial state - state: false, - }; - - /** Add it to lib collection */ - this.orviboCommunication.addDevice(orvibo); - - /** Tell lib to subscribe device events results */ - this.orviboCommunication.subscribe(orvibo); - - /** Let UDP to be sent */ - await Delay(moment.duration(0.5, 'seconds')); - } - - public async getStatus(minion: Minion): Promise { - - return new Promise((resolve, reject) => { - - /** create timeout, case device not responsing */ - const timeoutTimer = setTimeout(() => { - this.queryCallback = undefined; - logger.warn(`Fail to get orvibo device ${minion.minionId} state, timeout`); - reject({ - responseCode: 1503, - message: 'receive UDP answer from device fail', - } as ErrorResponse); - }, moment.duration(5, 'seconds').asMilliseconds()); - - /** Set callback to subscribe event */ - this.subscribeCallback = (deviceResult) => { - if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { - return; - } - - this.queryCallback = undefined; - clearTimeout(timeoutTimer); - - resolve({ - switch: { - status: deviceResult.state ? 'on' : 'off', - }, - }); - }; - - /** Then resubscribe to get the current status */ - this.reSubsribeOrvibo(minion) - .catch((error) => { - reject({ - responseCode: 7503, - message: 'Getting status fail', - } as ErrorResponse); - }); - }); - } + this.queryCallback = undefined; + clearTimeout(timeoutTimer); - public async setStatus(minion: Minion, setStatus: MinionStatus): Promise { - - await this.reSubsribeOrvibo(minion); - - return new Promise((resolve, reject) => { - - /** Create set status message */ - const message = this.orviboCommunication.prepareMessage({ - commandID: '6463', - macAddress: minion.device.pysicalDevice.mac, - macPadding: '202020202020', - data: { - // Session ID? - blank: '00000000', - // Ternary operators are cool, but hard to read. - // This one says "if state is true, set state to 01, otherwise, set to 00" - state: setStatus.switch.status === 'on' ? '01' : '00', - }, - }); - - /** Send status message to device */ - this.orviboCommunication.sendMessage(message, minion.device.pysicalDevice.ip); - - /** create timeout, case device not responsing */ - const timeoutTimer = setTimeout(() => { - this.queryCallback = undefined; - logger.warn(`Fail to set orvibo device ${minion.minionId} ${setStatus.switch.status} state, timeout`); - reject({ - responseCode: 1503, - message: 'receive UDP answer from device fail', - } as ErrorResponse); - }, moment.duration(5, 'seconds').asMilliseconds()); - - /** set callback to query event */ - this.queryCallback = (deviceResult) => { - if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { - return; - } - - this.queryCallback = undefined; - clearTimeout(timeoutTimer); - - if (setStatus.switch.status === (deviceResult.state ? 'on' : 'off')) { - resolve(); - return; - } - - reject({ - responseCode: 6503, - message: 'Setting status fail', - } as ErrorResponse); - }; - }); - } + if (setStatus.switch.status === (deviceResult.state ? 'on' : 'off')) { + resolve(); + return; + } - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 5010, - message: 'the orvibo module not support any recording mode', - } as ErrorResponse; + reject({ + responseCode: 6503, + message: 'Setting status fail', + } as ErrorResponse); + }; + }); + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 5010, + message: 'the orvibo module not support any recording mode', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the orvibo module not support any recording mode', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } + + /** + * Check if UDP port binded to other application. + * @param port port to check. + */ + private checkPortAvailability(port: number): Promise { + return new Promise((resolve, reject) => { + const socket = dgram.createSocket('udp4'); + + socket.on('error', e => { + reject(e); + }); + + socket.bind(port, () => { + socket.close(); + resolve(); + }); + }); + } + + /** Init connection (UDP socket) for orvibo, + * and listen to broadcasts messags in LAN + */ + private async initOrviboCommunication() { + try { + await this.checkPortAvailability(10000); + await this.checkPortAvailability(9999); + await this.checkPortAvailability(48899); + } catch (error) { + this.orviboCommunication = undefined; + logger.error('Fail to init orvibo communication'); + return; } - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + /** Create the orvibo protocol instance */ + this.orviboCommunication = new Orvibo(); + + /** open the needs UDP channel */ + this.orviboCommunication.listen(); + + /** listen to any device status changes arrived */ + this.orviboCommunication.on('externalstatechanged', async changedDevice => { + if (!changedDevice) { + return; + } + + if (this.queryCallback) { + this.queryCallback(changedDevice); + } + + if (!this.retrieveMinions.isPullingAvailble) { + return; + } + + const minions = await this.retrieveMinions.pull(); + + for (const minion of minions) { + if (minion.device.pysicalDevice.mac === changedDevice.macAddress) { + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: { + switch: { + status: changedDevice.state ? 'on' : 'off', + }, + }, + }); + } + } + }); + + /** Registar to query data response arrived */ + this.orviboCommunication.on('queried', async queriedDevice => { + if (this.queryCallback) { + this.queryCallback(queriedDevice); + } + }); + + /** Registar to subscribed data response arrived */ + this.orviboCommunication.on('subscribed', async subscribedDevice => { + if (this.subscribeCallback) { + this.subscribeCallback(subscribedDevice); + } + }); + } + + /** + * Re-subscribe to current orivbo device, use to know the status + * (orvibo send it by subscribe and button pressed only) and also to alow set status. + * @param miniom The minion of device. + */ + private async reSubsribeOrvibo(miniom: Minion) { + /** If there is no connection, try to init it */ + if (!this.orviboCommunication) { + try { + this.initOrviboCommunication(); + } catch (error) { + this.orviboCommunication = undefined; throw { - responseCode: 6409, - message: 'the orvibo module not support any recording mode', + responseCode: 1503, + message: 'there is no UDP socket to send request by', } as ErrorResponse; + } } - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. + /** Reload device each time befor sending data using UDP */ + const currentOrviboDevice = this.orviboCommunication.getDevice(miniom.device.pysicalDevice.mac); + if (currentOrviboDevice) { + this.orviboCommunication.devices.splice(this.orviboCommunication.devices.indexOf(currentOrviboDevice), 1); } - public async refreshCommunication(): Promise { - // There's nothing to do. - } + /** Create device object */ + const orvibo = { + macAddress: miniom.device.pysicalDevice.mac, + macPadding: '202020202020', + type: 'Socket', + ip: miniom.device.pysicalDevice.ip, + // Takes the last character from the message and turns it into a boolean. + // This is our socket's initial state + state: false, + }; + + /** Add it to lib collection */ + this.orviboCommunication.addDevice(orvibo); + + /** Tell lib to subscribe device events results */ + this.orviboCommunication.subscribe(orvibo); + + /** Let UDP to be sent */ + await Delay(moment.duration(0.5, 'seconds')); + } } diff --git a/backend/src/modules/tasmota/tasmotaHandler.ts b/backend/src/modules/tasmota/tasmotaHandler.ts index 4354035a..62146f6a 100644 --- a/backend/src/modules/tasmota/tasmotaHandler.ts +++ b/backend/src/modules/tasmota/tasmotaHandler.ts @@ -9,75 +9,73 @@ import { logger } from '../../utilities/logger'; import { BrandModuleBase } from '../brandModuleBase'; export class TasmotaHandler extends BrandModuleBase { + public readonly brandName: string = 'tasmota'; - public readonly brandName: string = 'tasmota'; + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'switch', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + ]; - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'switch', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - ]; + constructor() { + super(); + } - constructor() { - super(); + public async getStatus(miniom: Minion): Promise { + try { + const tosmotaStatus = await request(`http://${miniom.device.pysicalDevice.ip}/cm?cmnd=Power`); + const status = JSON.parse(tosmotaStatus).POWER.toLowerCase() as SwitchOptions; + return { + switch: { + status, + }, + }; + } catch (error) { + logger.warn(`Sent Tosmota command ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); + throw { + responseCode: 1503, + message: 'tosmota request fail.', + } as ErrorResponse; } + } - public async getStatus(miniom: Minion): Promise { - try { - const tosmotaStatus = await request(`http://${miniom.device.pysicalDevice.ip}/cm?cmnd=Power`); - const status = JSON.parse(tosmotaStatus).POWER.toLowerCase() as SwitchOptions; - return { - switch: { - status, - }, - }; - } catch (error) { - logger.warn(`Sent Tosmota command ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); - throw { - responseCode: 1503, - message: 'tosmota request fail.', - } as ErrorResponse; - } + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + try { + await request(`http://${miniom.device.pysicalDevice.ip}/cm?cmnd=Power%20${setStatus[miniom.minionType].status}`); + } catch (error) { + logger.warn(`Sent TOsmota command ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); + throw { + responseCode: 1503, + message: 'tosmota request fail.', + } as ErrorResponse; } + } - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the tosmota module not support any recording mode', + } as ErrorResponse; + } - try { - await request(`http://${miniom.device.pysicalDevice.ip}/cm?cmnd=Power%20${setStatus[miniom.minionType].status}`); - } catch (error) { - logger.warn(`Sent TOsmota command ${miniom.minionId} fail, ${JSON.stringify(error.message)}`); - throw { - responseCode: 1503, - message: 'tosmota request fail.', - } as ErrorResponse; - } - } + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the tosmota module not support any recording mode', + } as ErrorResponse; + } - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the tosmota module not support any recording mode', - } as ErrorResponse; - } + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the tosmota module not support any recording mode', - } as ErrorResponse; - } - - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } - - public async refreshCommunication(): Promise { - // There's nothing to do. - } + public async refreshCommunication(): Promise { + // There's nothing to do. + } } diff --git a/backend/src/modules/tuya/tuyaHandler.ts b/backend/src/modules/tuya/tuyaHandler.ts index b050f228..a038d8f1 100644 --- a/backend/src/modules/tuya/tuyaHandler.ts +++ b/backend/src/modules/tuya/tuyaHandler.ts @@ -2,420 +2,421 @@ import * as moment from 'moment'; import * as Tuyapi from 'tuyapi'; import { CommandsSet } from '../../models/backendInterfaces'; import { - DeviceKind, - ErrorResponse, - Minion, - MinionDevice, - MinionStatus, - RollerDirection, - SwitchOptions, + DeviceKind, + ErrorResponse, + Minion, + MinionDevice, + MinionStatus, + RollerDirection, + SwitchOptions, } from '../../models/sharedInterfaces'; import { logger } from '../../utilities/logger'; import { Delay } from '../../utilities/sleep'; import { BrandModuleBase } from '../brandModuleBase'; export class TuyaHandler extends BrandModuleBase { - - public readonly brandName: string = 'tuya'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: true, - minionsPerDevice: 3, - model: 'wall switch, 3 gangs, first one', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: true, - minionsPerDevice: 3, - model: 'wall switch, 3 gangs, second one', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: true, - minionsPerDevice: 3, - model: 'wall switch, 3 gangs, third one', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: true, - isIdRequierd: true, - minionsPerDevice: 1, - model: 'curtain', - suppotedMinionType: 'roller', - isRecordingSupported: false, - }, - ]; - + public readonly brandName: string = 'tuya'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: true, + minionsPerDevice: 3, + model: 'wall switch, 3 gangs, first one', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: true, + minionsPerDevice: 3, + model: 'wall switch, 3 gangs, second one', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: true, + minionsPerDevice: 3, + model: 'wall switch, 3 gangs, third one', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: true, + isIdRequierd: true, + minionsPerDevice: 1, + model: 'curtain', + suppotedMinionType: 'roller', + isRecordingSupported: false, + }, + ]; + + /** + * Map devices by mac address + */ + private pysicalDevicesMap: { [key: string]: Tuyapi } = {}; + + /** Cache last status, to ignore unnececary updates. */ + private devicesStatusCache: { [key: string]: any } = {}; + + constructor() { + super(); + } + + public async getStatus(miniom: Minion): Promise { /** - * Map devices by mac address + * Get tuya device instance */ - private pysicalDevicesMap: { [key: string]: Tuyapi } = {}; + const tuyaDevice = await this.getTuyaDevice(miniom.device); - /** Cache last status, to ignore unnececary updates. */ - private devicesStatusCache: { [key: string]: any } = {}; + if (miniom.device.model.indexOf('curtain') !== -1) { + try { + const rowStatus = await tuyaDevice.get(); - constructor() { - super(); + return { + roller: { + status: rowStatus !== '3' ? 'on' : 'off', + direction: rowStatus === '1' ? 'up' : 'down', + }, + }; + } catch (err) { + logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + + if (typeof err === 'object' && err.message === 'fffffffffffffff') { + throw { + responseCode: 9503, + message: + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + } as ErrorResponse; + } + + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + } as ErrorResponse; + } } - /** - * Create new tuya communication device api. - * and also listen to data arrived from device. - * @param minionDevice minion device property to create for. - */ - private async createTuyaDevice(minionDevice: MinionDevice) { + const stausResult = await tuyaDevice.get({ schema: true }).catch((err: Error) => { + logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - /** - * Create tuya device. - */ - const tuyaDevice = new Tuyapi({ - id: minionDevice.deviceId, - key: minionDevice.token, - persistentConnection: true, - }); + if ( + typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.' + ) { + throw { + responseCode: 9503, + message: + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + } as ErrorResponse; + } + + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + } as ErrorResponse; + }); + + /** Case stausResult get a garbage value */ + if (typeof stausResult !== 'object' || !stausResult.dps) { + throw { + responseCode: 10503, + message: 'tuya device gives garbage values.', + } as ErrorResponse; + } - await tuyaDevice.find(); + /** + * Extract the current minion status. + */ + let currentGangStatus: boolean; + switch (miniom.device.model) { + case 'wall switch, 3 gangs, first one': + currentGangStatus = stausResult.dps[1]; + break; + case 'wall switch, 3 gangs, second one': + currentGangStatus = stausResult.dps[2]; + break; + case 'wall switch, 3 gangs, third one': + currentGangStatus = stausResult.dps[3]; + break; + } - /** - * Subscribe to status changed event. - */ - tuyaDevice.on('data', async (data) => { + return { + switch: { + status: currentGangStatus ? 'on' : 'off', + }, + }; + } - /** Case data arrived with garbage value */ - if (typeof data === 'string') { - return; - } + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + /** + * Get tuya device instance + */ + const tuyaDevice = await this.getTuyaDevice(miniom.device); - /** If data same as cached, abort. */ - if (this.devicesStatusCache[minionDevice.pysicalDevice.mac] === JSON.stringify(data)) { - return; - } - /** Save data as last status cache. */ - this.devicesStatusCache[minionDevice.pysicalDevice.mac] = JSON.stringify(data); - - logger.debug(`tuya device mac: ${minionDevice.pysicalDevice.mac} data arrived`); - - if (minionDevice.model.indexOf('curtain') !== -1) { - try { - const rowStatus = await tuyaDevice.get(); - - const minions = await this.retrieveMinions.pull(); - - for (const minion of minions) { - /** - * Find the minions that used current pysical tuya device - */ - if (minion.device.deviceId !== minionDevice.deviceId) { - continue; - } - - const status: SwitchOptions = rowStatus !== '3' ? 'on' : 'off'; - const direction: RollerDirection = rowStatus === '1' ? 'up' : 'down'; - - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: { - roller: { - status, - direction, - }, - }, - }); - } - } catch (error) { - - } - return; - } - /** - * Get the current status (the 'data' paramerer is invalid) - */ - tuyaDevice.get({ schema: true }).then((status) => { - - /** Case status get a garbage value */ - if (typeof status !== 'object' || !status.dps) { - return; - } - - /** - * Pull the current minions array in system. - */ - this.retrieveMinions.pull() - .then((minions) => { - for (const minion of minions) { - /** - * Find the minions that used current pysical tuya device - */ - if (minion.device.deviceId !== minionDevice.deviceId) { - continue; - } - - /** - * Then read the current status for specific model and - * send new status update to all subsribers. - */ - if (minion.device.model === 'wall switch, 3 gangs, first one') { - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: { - switch: { - status: status.dps['1'] ? 'on' : 'off', - }, - }, - }); - } - - if (minion.device.model === 'wall switch, 3 gangs, second one') { - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: { - switch: { - status: status.dps['2'] ? 'on' : 'off', - }, - }, - }); - } - - if (minion.device.model === 'wall switch, 3 gangs, third one') { - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: { - switch: { - status: status.dps['3'] ? 'on' : 'off', - }, - }, - }); - } - } - }); - }); + if (miniom.device.model.indexOf('curtain') !== -1) { + try { + await tuyaDevice.set({ + set: setStatus.roller.status === 'off' ? '3' : setStatus.roller.direction === 'up' ? '1' : '2', }); + return; + } catch (err) { + logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + + if ( + typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.' + ) { + throw { + responseCode: 9503, + message: + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + } as ErrorResponse; + } - /** - * Subscribe to error event. - */ - tuyaDevice.on('error', async (err) => { - logger.debug(`tuya device mac: ${minionDevice.pysicalDevice.mac} error: ${err}`); - - try { - tuyaDevice.disconnect(); - delete this.pysicalDevicesMap[minionDevice.pysicalDevice.mac]; - - Delay(moment.duration(5, 'seconds')); - await this.getTuyaDevice(minionDevice); + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + } as ErrorResponse; + } + } - } catch (error) { - logger.warn(`reconnecting TCP connection to the tuya mac: ${minionDevice.pysicalDevice.mac} fail error: ${error}`); - } - }); + /** + * Get current minion gang index. + */ + let gangIndex: number; + switch (miniom.device.model) { + case 'wall switch, 3 gangs, first one': + gangIndex = 1; + break; + case 'wall switch, 3 gangs, second one': + gangIndex = 2; + break; + case 'wall switch, 3 gangs, third one': + gangIndex = 3; + break; + } - /** - * Establish connection - */ - await tuyaDevice.connect(); + await tuyaDevice.set({ set: setStatus.switch.status === 'on', dps: gangIndex }).catch(err => { + logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - /** - * Save the device API in map. to allow instance useing. - */ - this.pysicalDevicesMap[minionDevice.pysicalDevice.mac] = tuyaDevice; + if ( + typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.' + ) { + throw { + responseCode: 9503, + message: + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + } as ErrorResponse; + } + + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + } as ErrorResponse; + }); + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the tuya module not support any recording mode', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the tuya module not support any recording mode', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + for (const tuyaApi of Object.values(this.pysicalDevicesMap)) { + tuyaApi.disconnect(); } - + this.pysicalDevicesMap = {}; + } + + /** + * Create new tuya communication device api. + * and also listen to data arrived from device. + * @param minionDevice minion device property to create for. + */ + private async createTuyaDevice(minionDevice: MinionDevice) { /** - * Get tuya device API instance. - * @param minionDevice The minion device property. to get tuya instance for. - * @returns tuya device API instance + * Create tuya device. */ - private async getTuyaDevice(minionDevice: MinionDevice): Promise { - if (!(minionDevice.pysicalDevice.mac in this.pysicalDevicesMap)) { - await this.createTuyaDevice(minionDevice); - } - return this.pysicalDevicesMap[minionDevice.pysicalDevice.mac]; - } + const tuyaDevice = new Tuyapi({ + id: minionDevice.deviceId, + key: minionDevice.token, + persistentConnection: true, + }); - public async getStatus(miniom: Minion): Promise { - /** - * Get tuya device instance - */ - const tuyaDevice = await this.getTuyaDevice(miniom.device); - - if (miniom.device.model.indexOf('curtain') !== -1) { - try { - const rowStatus = await tuyaDevice.get(); - - return { - roller: { - status: rowStatus !== '3' ? 'on' : 'off', - direction: rowStatus === '1' ? 'up' : 'down', - }, - }; - - } catch (err) { - logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - - if (typeof err === 'object' && - err.message === 'fffffffffffffff') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - } as ErrorResponse; - } - - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - } as ErrorResponse; - } - } + await tuyaDevice.find(); - const stausResult = await tuyaDevice.get({ schema: true }) - .catch((err: Error) => { - logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - } as ErrorResponse; - } - - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - } as ErrorResponse; - }); + /** + * Subscribe to status changed event. + */ + tuyaDevice.on('data', async data => { + /** Case data arrived with garbage value */ + if (typeof data === 'string') { + return; + } - /** Case stausResult get a garbage value */ - if (typeof stausResult !== 'object' || !stausResult.dps) { - throw { - responseCode: 10503, - message: 'tuya device gives garbage values.', - } as ErrorResponse; - } + /** If data same as cached, abort. */ + if (this.devicesStatusCache[minionDevice.pysicalDevice.mac] === JSON.stringify(data)) { + return; + } + /** Save data as last status cache. */ + this.devicesStatusCache[minionDevice.pysicalDevice.mac] = JSON.stringify(data); - /** - * Extract the current minion status. - */ - let currentGangStatus: boolean; - switch (miniom.device.model) { - case 'wall switch, 3 gangs, first one': - currentGangStatus = stausResult.dps[1]; - break; - case 'wall switch, 3 gangs, second one': - currentGangStatus = stausResult.dps[2]; - break; - case 'wall switch, 3 gangs, third one': - currentGangStatus = stausResult.dps[3]; - break; - } + logger.debug(`tuya device mac: ${minionDevice.pysicalDevice.mac} data arrived`); - return { - switch: { - status: currentGangStatus ? 'on' : 'off', - }, - }; - } + if (minionDevice.model.indexOf('curtain') !== -1) { + try { + const rowStatus = await tuyaDevice.get(); - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - /** - * Get tuya device instance - */ - const tuyaDevice = await this.getTuyaDevice(miniom.device); - - if (miniom.device.model.indexOf('curtain') !== -1) { - - try { - await tuyaDevice.set({ - set: setStatus.roller.status === 'off' ? '3' : (setStatus.roller.direction === 'up' ? '1' : '2'), - }); - return; - } catch (err) { - - logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - } as ErrorResponse; - } - - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - } as ErrorResponse; + const minions = await this.retrieveMinions.pull(); + + for (const minion of minions) { + /** + * Find the minions that used current pysical tuya device + */ + if (minion.device.deviceId !== minionDevice.deviceId) { + continue; } + + const status: SwitchOptions = rowStatus !== '3' ? 'on' : 'off'; + const direction: RollerDirection = rowStatus === '1' ? 'up' : 'down'; + + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: { + roller: { + status, + direction, + }, + }, + }); + } + } catch (error) {} + return; + } + /** + * Get the current status (the 'data' paramerer is invalid) + */ + tuyaDevice.get({ schema: true }).then(status => { + /** Case status get a garbage value */ + if (typeof status !== 'object' || !status.dps) { + return; } /** - * Get current minion gang index. + * Pull the current minions array in system. */ - let gangIndex: number; - switch (miniom.device.model) { - case 'wall switch, 3 gangs, first one': - gangIndex = 1; - break; - case 'wall switch, 3 gangs, second one': - gangIndex = 2; - break; - case 'wall switch, 3 gangs, third one': - gangIndex = 3; - break; - } + this.retrieveMinions.pull().then(minions => { + for (const minion of minions) { + /** + * Find the minions that used current pysical tuya device + */ + if (minion.device.deviceId !== minionDevice.deviceId) { + continue; + } - await tuyaDevice.set({ set: setStatus.switch.status === 'on', dps: gangIndex }) - .catch((err) => { - logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - } as ErrorResponse; - } - - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - } as ErrorResponse; - }); - } + /** + * Then read the current status for specific model and + * send new status update to all subsribers. + */ + if (minion.device.model === 'wall switch, 3 gangs, first one') { + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: { + switch: { + status: status.dps['1'] ? 'on' : 'off', + }, + }, + }); + } - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the tuya module not support any recording mode', - } as ErrorResponse; - } + if (minion.device.model === 'wall switch, 3 gangs, second one') { + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: { + switch: { + status: status.dps['2'] ? 'on' : 'off', + }, + }, + }); + } - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the tuya module not support any recording mode', - } as ErrorResponse; - } + if (minion.device.model === 'wall switch, 3 gangs, third one') { + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: { + switch: { + status: status.dps['3'] ? 'on' : 'off', + }, + }, + }); + } + } + }); + }); + }); - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. - } + /** + * Subscribe to error event. + */ + tuyaDevice.on('error', async err => { + logger.debug(`tuya device mac: ${minionDevice.pysicalDevice.mac} error: ${err}`); + + try { + tuyaDevice.disconnect(); + delete this.pysicalDevicesMap[minionDevice.pysicalDevice.mac]; + + Delay(moment.duration(5, 'seconds')); + await this.getTuyaDevice(minionDevice); + } catch (error) { + logger.warn( + `reconnecting TCP connection to the tuya mac: ${minionDevice.pysicalDevice.mac} fail error: ${error}`, + ); + } + }); - public async refreshCommunication(): Promise { - for (const tuyaApi of Object.values(this.pysicalDevicesMap)) { - tuyaApi.disconnect(); - } - this.pysicalDevicesMap = {}; + /** + * Establish connection + */ + await tuyaDevice.connect(); + + /** + * Save the device API in map. to allow instance useing. + */ + this.pysicalDevicesMap[minionDevice.pysicalDevice.mac] = tuyaDevice; + } + + /** + * Get tuya device API instance. + * @param minionDevice The minion device property. to get tuya instance for. + * @returns tuya device API instance + */ + private async getTuyaDevice(minionDevice: MinionDevice): Promise { + if (!(minionDevice.pysicalDevice.mac in this.pysicalDevicesMap)) { + await this.createTuyaDevice(minionDevice); } + return this.pysicalDevicesMap[minionDevice.pysicalDevice.mac]; + } } diff --git a/backend/src/modules/yeelight/yeelightHandler.ts b/backend/src/modules/yeelight/yeelightHandler.ts index 7eb14895..e1f7c27f 100644 --- a/backend/src/modules/yeelight/yeelightHandler.ts +++ b/backend/src/modules/yeelight/yeelightHandler.ts @@ -2,17 +2,17 @@ import * as nodeYeelightWifi from 'node-yeelight-wifi'; import { Color, CommandType, DevicePropery, Discover, IDevice, Yeelight } from 'yeelight-awesome'; import { CommandsSet } from '../../models/backendInterfaces'; import { - ColorLight, - DeviceKind, - ErrorResponse, - Light, - Minion, - MinionDevice, - MinionStatus, - MinionTypes, - SwitchOptions, - TemperatureLight, - Toggle, + ColorLight, + DeviceKind, + ErrorResponse, + Light, + Minion, + MinionDevice, + MinionStatus, + MinionTypes, + SwitchOptions, + TemperatureLight, + Toggle, } from '../../models/sharedInterfaces'; import { DeepCopy } from '../../utilities/deepCopy'; import { logger } from '../../utilities/logger'; @@ -20,418 +20,414 @@ import { Delay } from '../../utilities/sleep'; import { BrandModuleBase } from '../brandModuleBase'; export class YeelightHandler extends BrandModuleBase { - - public readonly brandName: string = 'yeelight'; - - public readonly devices: DeviceKind[] = [ - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'Temperature light', - suppotedMinionType: 'temperatureLight', - isRecordingSupported: false, - }, - { - brand: this.brandName, - isTokenRequierd: false, - isIdRequierd: false, - minionsPerDevice: 1, - model: 'RGBW light', - suppotedMinionType: 'colorLight', - isRecordingSupported: false, - }, - ]; - - /** Lookup object, to look for any yeelight device update via LAN */ - private lookupYeelightWifi: any; - - constructor() { - super(); - - /** Init the yeelight look up. */ - this.lookupYeelightWifi = new nodeYeelightWifi.Lookup(); - - /** Use nodeYeelightWifi lib to handle update from devices only. - * The yeelight-awesome is for get/set data only. - */ - this.lookupYeelightWifi.on('detected', (light) => { - - light.on('connected', () => { - - }); - - light.on('disconnected', () => { - - }); - - light.on('stateUpdate', async (lightUpdate) => { - - if (!this.retrieveMinions.isPullingAvailble) { - return; - } - - try { - /** convert mac to our system pattern */ - const deviceMac = lightUpdate.mac.replace(/:/g, ''); - - /** pull all minions in system */ - const minions = await this.retrieveMinions.pull(); - - /** find minion that update belong to him (if exist) */ - for (const minion of minions) { - if (minion.device.pysicalDevice.mac !== deviceMac) { - continue; - } - - if (this.isMinionSameValueAsUpdate(minion, lightUpdate)) { - return; - } - - logger.debug(`yeelight update arrived for minion ${minion.minionId}`); - const currentStatus = DeepCopy(minion.minionStatus); - - const lightStatus = currentStatus[minion.minionType] as ColorLight; - lightStatus.status = lightUpdate.power ? 'on' : 'off'; - lightStatus.brightness = lightUpdate.bright; - - if (minion.minionType === 'colorLight') { - - lightStatus.red = Math.floor(lightUpdate.rgb.r) as number; - lightStatus.green = Math.floor(lightUpdate.rgb.g) as number; - lightStatus.blue = Math.floor(lightUpdate.rgb.b) as number; - } - - this.minionStatusChangedEvent.next({ - minionId: minion.minionId, - status: currentStatus, - }); - - } - } catch (error) { - - } - }); - }); - } - - /** - * Create new yeelight communication device api. - * @param minionDevice minion device property to create for. + public readonly brandName: string = 'yeelight'; + + public readonly devices: DeviceKind[] = [ + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'Temperature light', + suppotedMinionType: 'temperatureLight', + isRecordingSupported: false, + }, + { + brand: this.brandName, + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'RGBW light', + suppotedMinionType: 'colorLight', + isRecordingSupported: false, + }, + ]; + + /** Lookup object, to look for any yeelight device update via LAN */ + private lookupYeelightWifi: any; + + constructor() { + super(); + + /** Init the yeelight look up. */ + this.lookupYeelightWifi = new nodeYeelightWifi.Lookup(); + + /** Use nodeYeelightWifi lib to handle update from devices only. + * The yeelight-awesome is for get/set data only. */ - private async createYeeligtDeviceComm(minionDevice: MinionDevice): Promise { - - // return; + this.lookupYeelightWifi.on('detected', light => { + light.on('connected', () => {}); - const yeelight = new Yeelight({ lightIp: minionDevice.pysicalDevice.ip, lightPort: 55443 }); + light.on('disconnected', () => {}); - /** - * Registar to connected event. - */ - yeelight.on('connected', () => { - logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} connected`); - }); - - yeelight.on('close', () => { - logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} close`); - }); - - yeelight.on('end', () => { - logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} end`); - }); + light.on('stateUpdate', async lightUpdate => { + if (!this.retrieveMinions.isPullingAvailble) { + return; + } - yeelight.on('error', (err) => { - logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} error ${err}`); - }); + try { + /** convert mac to our system pattern */ + const deviceMac = lightUpdate.mac.replace(/:/g, ''); - /** - * Establish connection - */ - await yeelight.connect(); + /** pull all minions in system */ + const minions = await this.retrieveMinions.pull(); - return yeelight; - } + /** find minion that update belong to him (if exist) */ + for (const minion of minions) { + if (minion.device.pysicalDevice.mac !== deviceMac) { + continue; + } - /** - * Check if minion status is same as light Object update values. - * @param minion minion to check. - * @param lightUpdate yeelight update object to check. - * @returns True is values is same in both. - */ - private isMinionSameValueAsUpdate(minion: Minion, lightUpdate: any): boolean { + if (this.isMinionSameValueAsUpdate(minion, lightUpdate)) { + return; + } - const currentStatus = minion.minionStatus[minion.minionType] as ColorLight; + logger.debug(`yeelight update arrived for minion ${minion.minionId}`); + const currentStatus = DeepCopy(minion.minionStatus); - if (lightUpdate.power !== (currentStatus.status === 'on')) { - return false; - } + const lightStatus = currentStatus[minion.minionType] as ColorLight; + lightStatus.status = lightUpdate.power ? 'on' : 'off'; + lightStatus.brightness = lightUpdate.bright; - if (lightUpdate.bright !== currentStatus.brightness) { - return false; - } - - if (minion.minionType === 'colorLight' && ( - lightUpdate.rgb.r !== currentStatus.red || - lightUpdate.rgb.g !== currentStatus.green || - lightUpdate.rgb.b !== currentStatus.blue)) { - return false; - } + if (minion.minionType === 'colorLight') { + lightStatus.red = Math.floor(lightUpdate.rgb.r) as number; + lightStatus.green = Math.floor(lightUpdate.rgb.g) as number; + lightStatus.blue = Math.floor(lightUpdate.rgb.b) as number; + } - return true; + this.minionStatusChangedEvent.next({ + minionId: minion.minionId, + status: currentStatus, + }); + } + } catch (error) {} + }); + }); + } + + public async getStatus(minion: Minion): Promise { + try { + const l = await this.createYeeligtDeviceComm(minion.device); + + let status: MinionStatus; + switch (minion.minionType) { + case 'temperatureLight': + status = (await this.getSimpleLightStatus(minion, l)) as MinionStatus; + break; + case 'colorLight': + status = (await this.getColorLightStatus(minion, l)) as MinionStatus; + break; + default: + } + + l.disconnect(); + + return status; + } catch (error) { + try { + error = error.result.error.message; + } catch (error) {} + logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error}`); + throw { + responseCode: 7503, + } as ErrorResponse; } - - /** - * The RGB in yeelight is hold in one int var , with struct of 0x00RRGGBB - * so every color has 256 options (16 bits === 2 bytes when byte is 8 bits) - * @param intager intager of color. - * @returns Color object seperated to r g and b. - */ - private intToRgb(intager: number): { r: number, g: number, b: number } { - let red = intager; - for (let i = 0; i < 16; i++) { - red = red / 2; - } - - let green = intager; - for (let i = 0; i < 8; i++) { - green = green / 2; - } - green = green % (Math.pow(2, 8)); - - let blue = intager; - blue = blue % (Math.pow(2, 8)); - - return { - r: Math.floor(red), - g: Math.floor(green), - b: Math.floor(blue), - }; + } + + public async setStatus(minion: Minion, setStatus: MinionStatus): Promise { + try { + const l = await this.createYeeligtDeviceComm(minion.device); + + switch (minion.minionType) { + case 'temperatureLight': + await this.setSimpleLightStatus(minion, l, setStatus.temperatureLight); + break; + case 'colorLight': + await this.setColorLightStatus(minion, l, setStatus.colorLight); + break; + default: + } + + l.disconnect(); + + return; + } catch (error) { + logger.warn(`Fail to set yeelight ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 6503, + } as ErrorResponse; } + } + + public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the yeelight module not support any recording mode', + } as ErrorResponse; + } + + public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { + throw { + responseCode: 6409, + message: 'the yeelight module not support any recording mode', + } as ErrorResponse; + } + + public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { + // There's nothing to do. + } + + public async refreshCommunication(): Promise { + // There's nothing to do. + } + + /** + * Create new yeelight communication device api. + * @param minionDevice minion device property to create for. + */ + private async createYeeligtDeviceComm(minionDevice: MinionDevice): Promise { + // return; + + const yeelight = new Yeelight({ lightIp: minionDevice.pysicalDevice.ip, lightPort: 55443 }); /** - * Convert percent of light temperature value to Kelvin units see https://en.wikipedia.org/wiki/Color_temperature - * @param valueInPercents original value in range 1 - 100 + * Registar to connected event. */ - private convertPercentsToLightTemp(valueInPercents: number): number { - const minRange = 2740; // From some reason under 2700 get general error. - const maxRange = 6500; + yeelight.on('connected', () => { + logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} connected`); + }); - const range = maxRange - minRange; - const factor = range / 100; - return Math.floor((valueInPercents * factor) + minRange); - } + yeelight.on('close', () => { + logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} close`); + }); - /** - * Convert Kelvin units to light temperature in percents (1-100) see https://en.wikipedia.org/wiki/Color_temperature - * @param valueInTempRange Original value, in K. - */ - private convertColorTempToPercents(valueInTempRange: number): number { - const minRange = 1700; - const maxRange = 6500; + yeelight.on('end', () => { + logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} end`); + }); - const range = maxRange - minRange; - const factor = range / 100; - return Math.floor((valueInTempRange - minRange) / factor); - } - - /** - * Get yeelight light status. - * @param minion minion to get for. - * @param yeelightDevice yeelight object to get by. - * @returns Current minion status - */ - private async getSimpleLightStatus(minion: Minion, yeelightDevice: Yeelight): Promise { - try { - const props = await yeelightDevice.getProperty([DevicePropery.POWER, DevicePropery.BRIGHT, DevicePropery.CT]); - - return { - temperatureLight: { - status: props.result.result[0], - temperature: this.convertColorTempToPercents(parseInt(props.result.result[2], 10)) as number, - brightness: parseInt(props.result.result[1], 10) as number, - }, - }; - } catch (error) { - logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 6503, - } as ErrorResponse; - } - } + yeelight.on('error', err => { + logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} error ${err}`); + }); /** - * Get yeelight color light status. - * @param minion minion to get for. - * @param yeelightDevice yeelight object to get by. - * @returns Current minion status + * Establish connection */ - private async getColorLightStatus(minion: Minion, yeelightDevice: Yeelight): Promise { - try { - const props = - await yeelightDevice.getProperty([DevicePropery.POWER, DevicePropery.BRIGHT, DevicePropery.CT, DevicePropery.RGB]); - - const rgb = this.intToRgb(parseInt(props.result.result[3], 10)); - - return { - colorLight: { - status: props.result.result[0], - temperature: this.convertColorTempToPercents(parseInt(props.result.result[2], 10)) as number, - brightness: parseInt(props.result.result[1], 10) as number, - red: rgb.r as number, - green: rgb.g as number, - blue: rgb.b as number, - }, - }; - } catch (error) { - logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 7503, - } as ErrorResponse; - } - } - - /** Set yeelight on/off oprtion */ - private async setPower(yeelightDevice: Yeelight, setState: SwitchOptions) { - await yeelightDevice.setPower(setState === 'on', 'smooth', 1000); + await yeelight.connect(); + + return yeelight; + } + + /** + * Check if minion status is same as light Object update values. + * @param minion minion to check. + * @param lightUpdate yeelight update object to check. + * @returns True is values is same in both. + */ + private isMinionSameValueAsUpdate(minion: Minion, lightUpdate: any): boolean { + const currentStatus = minion.minionStatus[minion.minionType] as ColorLight; + + if (lightUpdate.power !== (currentStatus.status === 'on')) { + return false; } - /** Set yeelight temperature (col/warn light) */ - private async setTemperature(yeelightDevice: Yeelight, setTemperatureLight: number) { - await yeelightDevice.setCtAbx(this.convertPercentsToLightTemp(setTemperatureLight), 'smooth', 1000); + if (lightUpdate.bright !== currentStatus.brightness) { + return false; } - /** Set yeelight light brightness (1-100) */ - private async setBrightness(yeelightDevice: Yeelight, setBrightness: number) { - await yeelightDevice.setBright(setBrightness, 'smooth', 1000); - } - - /** Set yeelight RGB color */ - private async setColor(yeelightDevice: Yeelight, setColor: ColorLight) { - await yeelightDevice.setRGB(new Color(setColor.red, setColor.green, setColor.blue), 'smooth', 5000); - } - - /** Set light properties to simple yeelight light device */ - private async setSimpleLightStatus(minion: Minion, yeelightDevice: Yeelight, setTemperatureLight: TemperatureLight): - Promise { - try { - - await this.setPower(yeelightDevice, setTemperatureLight.status); - - await this.setBrightness(yeelightDevice, setTemperatureLight.brightness); - - await this.setTemperature(yeelightDevice, setTemperatureLight.temperature); - - return; - } catch (error) { - logger.warn(`Fail to set yeeligt ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 7503, - } as ErrorResponse; - } - } - - /** Set light properties to color RGB light support */ - private async setColorLightStatus(minion: Minion, yeelightDevice: Yeelight, setColorLight: ColorLight) - : Promise { - try { - const currentStatus = minion.minionStatus.colorLight; - - await this.setPower(yeelightDevice, setColorLight.status); - - await this.setBrightness(yeelightDevice, setColorLight.brightness); - - /** If the temp changed, do not set RGB otherways the ligt will b colored ;) */ - if (currentStatus.temperature !== setColorLight.temperature) { - await this.setTemperature(yeelightDevice, setColorLight.temperature); - } else { - await this.setColor(yeelightDevice, setColorLight); - } - - return; - } catch (error) { - logger.warn(`Fail to set yeeligt ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 6503, - } as ErrorResponse; - } + if ( + minion.minionType === 'colorLight' && + (lightUpdate.rgb.r !== currentStatus.red || + lightUpdate.rgb.g !== currentStatus.green || + lightUpdate.rgb.b !== currentStatus.blue) + ) { + return false; } - public async getStatus(minion: Minion): Promise { - - try { - - const l = await this.createYeeligtDeviceComm(minion.device); - - let status: MinionStatus; - switch (minion.minionType) { - case 'temperatureLight': - status = await this.getSimpleLightStatus(minion, l) as MinionStatus; - break; - case 'colorLight': - status = await this.getColorLightStatus(minion, l) as MinionStatus; - break; - default: - } - - l.disconnect(); - - return status; - } catch (error) { - - try { error = error.result.error.message; } catch (error) { } - logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error}`); - throw { - responseCode: 7503, - } as ErrorResponse; - } + return true; + } + + /** + * The RGB in yeelight is hold in one int var , with struct of 0x00RRGGBB + * so every color has 256 options (16 bits === 2 bytes when byte is 8 bits) + * @param intager intager of color. + * @returns Color object seperated to r g and b. + */ + private intToRgb(intager: number): { r: number; g: number; b: number } { + let red = intager; + for (let i = 0; i < 16; i++) { + red = red / 2; } - public async setStatus(minion: Minion, setStatus: MinionStatus): Promise { - try { - - const l = await this.createYeeligtDeviceComm(minion.device); - - switch (minion.minionType) { - case 'temperatureLight': - await this.setSimpleLightStatus(minion, l, setStatus.temperatureLight); - break; - case 'colorLight': - await this.setColorLightStatus(minion, l, setStatus.colorLight); - break; - default: - } - - l.disconnect(); - - return; - } catch (error) { - logger.warn(`Fail to set yeelight ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 6503, - } as ErrorResponse; - } + let green = intager; + for (let i = 0; i < 8; i++) { + green = green / 2; } - - public async enterRecordMode(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the yeelight module not support any recording mode', - } as ErrorResponse; + green = green % Math.pow(2, 8); + + let blue = intager; + blue = blue % Math.pow(2, 8); + + return { + r: Math.floor(red), + g: Math.floor(green), + b: Math.floor(blue), + }; + } + + /** + * Convert percent of light temperature value to Kelvin units see https://en.wikipedia.org/wiki/Color_temperature + * @param valueInPercents original value in range 1 - 100 + */ + private convertPercentsToLightTemp(valueInPercents: number): number { + const minRange = 2740; // From some reason under 2700 get general error. + const maxRange = 6500; + + const range = maxRange - minRange; + const factor = range / 100; + return Math.floor(valueInPercents * factor + minRange); + } + + /** + * Convert Kelvin units to light temperature in percents (1-100) see https://en.wikipedia.org/wiki/Color_temperature + * @param valueInTempRange Original value, in K. + */ + private convertColorTempToPercents(valueInTempRange: number): number { + const minRange = 1700; + const maxRange = 6500; + + const range = maxRange - minRange; + const factor = range / 100; + return Math.floor((valueInTempRange - minRange) / factor); + } + + /** + * Get yeelight light status. + * @param minion minion to get for. + * @param yeelightDevice yeelight object to get by. + * @returns Current minion status + */ + private async getSimpleLightStatus(minion: Minion, yeelightDevice: Yeelight): Promise { + try { + const props = await yeelightDevice.getProperty([DevicePropery.POWER, DevicePropery.BRIGHT, DevicePropery.CT]); + + return { + temperatureLight: { + status: props.result.result[0], + temperature: this.convertColorTempToPercents(parseInt(props.result.result[2], 10)) as number, + brightness: parseInt(props.result.result[1], 10) as number, + }, + }; + } catch (error) { + logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 6503, + } as ErrorResponse; } - - public async generateCommand(miniom: Minion, statusToRecordFor: MinionStatus): Promise { - throw { - responseCode: 6409, - message: 'the yeelight module not support any recording mode', - } as ErrorResponse; + } + + /** + * Get yeelight color light status. + * @param minion minion to get for. + * @param yeelightDevice yeelight object to get by. + * @returns Current minion status + */ + private async getColorLightStatus(minion: Minion, yeelightDevice: Yeelight): Promise { + try { + const props = await yeelightDevice.getProperty([ + DevicePropery.POWER, + DevicePropery.BRIGHT, + DevicePropery.CT, + DevicePropery.RGB, + ]); + + const rgb = this.intToRgb(parseInt(props.result.result[3], 10)); + + return { + colorLight: { + status: props.result.result[0], + temperature: this.convertColorTempToPercents(parseInt(props.result.result[2], 10)) as number, + brightness: parseInt(props.result.result[1], 10) as number, + red: rgb.r as number, + green: rgb.g as number, + blue: rgb.b as number, + }, + }; + } catch (error) { + logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 7503, + } as ErrorResponse; } - - public async setFetchedCommands(minion: Minion, commandsSet: CommandsSet): Promise { - // There's nothing to do. + } + + /** Set yeelight on/off oprtion */ + private async setPower(yeelightDevice: Yeelight, setState: SwitchOptions) { + await yeelightDevice.setPower(setState === 'on', 'smooth', 1000); + } + + /** Set yeelight temperature (col/warn light) */ + private async setTemperature(yeelightDevice: Yeelight, setTemperatureLight: number) { + await yeelightDevice.setCtAbx(this.convertPercentsToLightTemp(setTemperatureLight), 'smooth', 1000); + } + + /** Set yeelight light brightness (1-100) */ + private async setBrightness(yeelightDevice: Yeelight, setBrightness: number) { + await yeelightDevice.setBright(setBrightness, 'smooth', 1000); + } + + /** Set yeelight RGB color */ + private async setColor(yeelightDevice: Yeelight, setColor: ColorLight) { + await yeelightDevice.setRGB(new Color(setColor.red, setColor.green, setColor.blue), 'smooth', 5000); + } + + /** Set light properties to simple yeelight light device */ + private async setSimpleLightStatus( + minion: Minion, + yeelightDevice: Yeelight, + setTemperatureLight: TemperatureLight, + ): Promise { + try { + await this.setPower(yeelightDevice, setTemperatureLight.status); + + await this.setBrightness(yeelightDevice, setTemperatureLight.brightness); + + await this.setTemperature(yeelightDevice, setTemperatureLight.temperature); + + return; + } catch (error) { + logger.warn(`Fail to set yeeligt ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 7503, + } as ErrorResponse; } - - public async refreshCommunication(): Promise { - // There's nothing to do. + } + + /** Set light properties to color RGB light support */ + private async setColorLightStatus( + minion: Minion, + yeelightDevice: Yeelight, + setColorLight: ColorLight, + ): Promise { + try { + const currentStatus = minion.minionStatus.colorLight; + + await this.setPower(yeelightDevice, setColorLight.status); + + await this.setBrightness(yeelightDevice, setColorLight.brightness); + + /** If the temp changed, do not set RGB otherways the ligt will b colored ;) */ + if (currentStatus.temperature !== setColorLight.temperature) { + await this.setTemperature(yeelightDevice, setColorLight.temperature); + } else { + await this.setColor(yeelightDevice, setColorLight); + } + + return; + } catch (error) { + logger.warn(`Fail to set yeeligt ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 6503, + } as ErrorResponse; } + } } diff --git a/backend/src/routers/authenticationRoute.ts b/backend/src/routers/authenticationRoute.ts index ea2b6a6c..f9334f54 100644 --- a/backend/src/routers/authenticationRoute.ts +++ b/backend/src/routers/authenticationRoute.ts @@ -7,79 +7,74 @@ import { LoginSchema, RequestSchemaValidator } from '../security/schemaValidator import { expressAuthentication } from './../security/authentication'; export class AuthenticationRouter { + private authController: AuthController; + constructor() { + this.authController = new AuthController(); + } - private authController: AuthController; - constructor() { - this.authController = new AuthController(); - } + public routes(app: express.Express): void { + app.route('/API/auth/login').post(async (req: Request, res: Response) => { + let loginData: Login; + try { + loginData = await RequestSchemaValidator(req, LoginSchema); + } catch { + res.status(422).send(); + return; + } - public routes(app: express.Express): void { + try { + const apiError: ErrorResponse = await this.authController.login(req, res, loginData); + /** Case error is planned (and not some inner error that was thrown from somewhere) return it to client. */ + res.send(apiError); + } catch (error) { + /** Any other unplanned error, don't send to the client any clue about it. */ + res.status(403).send(); + } + }); - app.route('/API/auth/login') - .post(async (req: Request, res: Response) => { - let loginData: Login; - try { - loginData = await RequestSchemaValidator(req, LoginSchema); - } catch { - res.status(422).send(); - return; - } + app.route('/API/auth/login/tfa').post(async (req: Request, res: Response) => { + let loginData: Login; + try { + loginData = await RequestSchemaValidator(req, LoginSchema); + } catch { + res.status(422).send(); + return; + } - try { - const apiError: ErrorResponse = await this.authController.login(req, res, loginData); - /** Case error is planned (and not some inner error that was thrown from somewhere) return it to client. */ - res.send(apiError); - } catch (error) { - /** Any other unplanned error, don't send to the client any clue about it. */ - res.status(403).send(); - } - }); + try { + const apiError: ErrorResponse = await this.authController.loginTfa(req, res, loginData); + /** Case error is planned (and not some inner error that was thrown from somewhere) return it to client. */ + res.send(apiError); + } catch (error) { + /** Any other unplanned error, don't send to the client any clue about it. */ + res.status(403).send(); + } + }); - app.route('/API/auth/login/tfa') - .post(async (req: Request, res: Response) => { - let loginData: Login; - try { - loginData = await RequestSchemaValidator(req, LoginSchema); - } catch { - res.status(422).send(); - return; - } + app.route('/API/auth/logout').post(async (req: Request, res: Response) => { + /** + * Because there is not use in TSOA security, needs to call middelwhere manualy. + */ + req.user = (await expressAuthentication(req, [SystemAuthScopes.userScope, SystemAuthScopes.adminScope]).catch( + (error: ErrorResponse) => { + res.status(403).send(error); + }, + )) as User; - try { - const apiError: ErrorResponse = await this.authController.loginTfa(req, res, loginData); - /** Case error is planned (and not some inner error that was thrown from somewhere) return it to client. */ - res.send(apiError); - } catch (error) { - /** Any other unplanned error, don't send to the client any clue about it. */ - res.status(403).send(); - } - }); + // If auth fail abort the request + if (!req.user) { + res.status(403).send(); + return; + } - app.route('/API/auth/logout') - .post(async (req: Request, res: Response) => { - - /** - * Because there is not use in TSOA security, needs to call middelwhere manualy. - */ - req.user = await expressAuthentication(req, [SystemAuthScopes.userScope, - SystemAuthScopes.adminScope]) - .catch((error: ErrorResponse) => { - res.status(403).send(error); - }) as User; - - // If auth fail abort the request - if (!req.user) { - res.status(403).send(); - return; - } - - this.authController.logout(req, res) - .then(() => { - res.send(); - }) - .catch(() => { - res.status(501).send(); - }); - }); - } + this.authController + .logout(req, res) + .then(() => { + res.send(); + }) + .catch(() => { + res.status(501).send(); + }); + }); + } } diff --git a/backend/src/routers/feedRoute.ts b/backend/src/routers/feedRoute.ts index f38f4b79..ab6a7bdd 100644 --- a/backend/src/routers/feedRoute.ts +++ b/backend/src/routers/feedRoute.ts @@ -8,49 +8,49 @@ import { logger } from '../utilities/logger'; import { expressAuthentication } from './../security/authentication'; export class FeedRouter { - - private feedController: FeedController = new FeedController(); - - public routes(app: express.Express): void { - - /** - * Feed security middelwhere - */ - app.use('/API/feed/*', async (req: Request, res: Response, next: NextFunction) => { - try { - /** - * Because there is no use in TSOA security, needs to call middelwhere manualy. - */ - const user = - await expressAuthentication(req, [SystemAuthScopes.userScope, SystemAuthScopes.adminScope]) as User; - logger.debug(`user ${user.email} connected to feed ${req.path}`); - - next(); - } catch (error) { - res.status(403).send(); - } - }); - - /** - * Init the sse objects. - */ - const minionsSseFeed = new SseStream(['init'], { isSerialized: true }); - const timingsSseFeed = new SseStream(['init'], { isSerialized: true }); - - /** - * SSE minions feed. - */ - app.get('/API/feed/minions', minionsSseFeed.init); - - /** - * SSE timings feed. - */ - app.get('/API/feed/timings', timingsSseFeed.init); - + private feedController: FeedController = new FeedController(); + + public routes(app: express.Express): void { + /** + * Feed security middelwhere + */ + app.use('/API/feed/*', async (req: Request, res: Response, next: NextFunction) => { + try { /** - * After all routings init send sseFeed objects to feed controller + * Because there is no use in TSOA security, needs to call middelwhere manualy. */ - this.feedController.initMinionsFeed(minionsSseFeed); - this.feedController.initTimingsFeed(timingsSseFeed); - } + const user = (await expressAuthentication(req, [ + SystemAuthScopes.userScope, + SystemAuthScopes.adminScope, + ])) as User; + logger.debug(`user ${user.email} connected to feed ${req.path}`); + + next(); + } catch (error) { + res.status(403).send(); + } + }); + + /** + * Init the sse objects. + */ + const minionsSseFeed = new SseStream(['init'], { isSerialized: true }); + const timingsSseFeed = new SseStream(['init'], { isSerialized: true }); + + /** + * SSE minions feed. + */ + app.get('/API/feed/minions', minionsSseFeed.init); + + /** + * SSE timings feed. + */ + app.get('/API/feed/timings', timingsSseFeed.init); + + /** + * After all routings init send sseFeed objects to feed controller + */ + this.feedController.initMinionsFeed(minionsSseFeed); + this.feedController.initTimingsFeed(timingsSseFeed); + } } diff --git a/backend/src/security/authentication.ts b/backend/src/security/authentication.ts index 69b1a890..44cfd4ab 100644 --- a/backend/src/security/authentication.ts +++ b/backend/src/security/authentication.ts @@ -5,20 +5,26 @@ import { SessionsBlSingleton } from '../business-layer/sessionsBl'; import { UsersBlSingleton } from '../business-layer/usersBl'; import { IftttIntergrationDalSingleton } from '../data-layer/iftttIntegrationDal'; import { Session } from '../models/backendInterfaces'; -import { AuthScopes, ErrorResponse, IftttActionTriggeredRequest, IftttIntegrationSettings, User } from '../models/sharedInterfaces'; +import { + AuthScopes, + ErrorResponse, + IftttActionTriggeredRequest, + IftttIntegrationSettings, + User, +} from '../models/sharedInterfaces'; import { logger } from '../utilities/logger'; /** * System auth scopes, shown in swagger doc as 2 kinds of security definitions. */ export const SystemAuthScopes: { - adminScope: AuthScopes, - userScope: AuthScopes, - iftttScope: AuthScopes, + adminScope: AuthScopes; + userScope: AuthScopes; + iftttScope: AuthScopes; } = { - adminScope: 'adminAuth', - userScope: 'userAuth', - iftttScope: 'iftttAuth', + adminScope: 'adminAuth', + userScope: 'userAuth', + iftttScope: 'iftttAuth', }; /** @@ -26,68 +32,67 @@ export const SystemAuthScopes: { * the auth token should be the value of 'session' cookie. * @param securityName Used as auth scope beacuse of poor scopes swaggger support in apiKey auth. */ -export const expressAuthentication = async (request: express.Request, scopes: string[]): Promise => { +export const expressAuthentication = async ( + request: express.Request, + scopes: string[], +): Promise => { + // If the routing security sent wrong security scope. + if (!scopes || scopes.length < 1) { + logger.fatal('invalid or empty security scope'); + throw { + responseCode: 1501, + } as ErrorResponse; + } - // If the routing security sent wrong security scope. - if (!scopes || scopes.length < 1) { - logger.fatal('invalid or empty security scope'); - throw { - responseCode: 1501, - } as ErrorResponse; + if (scopes.indexOf(SystemAuthScopes.iftttScope) !== -1) { + const authedRequest: IftttActionTriggeredRequest = request.body; + if (typeof authedRequest === 'object' && authedRequest.apiKey) { + const iftttIntegrationSettings: IftttIntegrationSettings = await IftttIntergrationDalSingleton.getIntegrationSettings(); + if (iftttIntegrationSettings.enableIntegration && authedRequest.apiKey === iftttIntegrationSettings.apiKey) { + return; + } } - if (scopes.indexOf(SystemAuthScopes.iftttScope) !== -1) { - const authedRequest: IftttActionTriggeredRequest = request.body; - if (typeof authedRequest === 'object' && authedRequest.apiKey) { - const iftttIntegrationSettings: IftttIntegrationSettings = await IftttIntergrationDalSingleton.getIntegrationSettings(); - if (iftttIntegrationSettings.enableIntegration && authedRequest.apiKey === iftttIntegrationSettings.apiKey) { - return; - } - } + throw { + responseCode: 1401, + } as ErrorResponse; + } - throw { - responseCode: 1401, - } as ErrorResponse; + // If the session cookie empty, ther is nothing to check. + if (!request.cookies.session) { + throw { + responseCode: 1401, + } as ErrorResponse; + } - } + try { + const session = await SessionsBlSingleton.getSession(request.cookies.session); + const user = await UsersBlSingleton.getUser(session.email); - // If the session cookie empty, ther is nothing to check. - if (!request.cookies.session) { - throw { - responseCode: 1401, - } as ErrorResponse; + /** + * Make sure that session not expired. + */ + if (new Date().getTime() - session.timeStamp > sessionExpiresMs) { + await SessionsBlSingleton.deleteSession(session); + throw { + responseCode: 1403, + } as ErrorResponse; } - try { - - const session = await SessionsBlSingleton.getSession(request.cookies.session); - const user = await UsersBlSingleton.getUser(session.email); - - /** - * Make sure that session not expired. - */ - if ((new Date().getTime() - session.timeStamp) > sessionExpiresMs) { - await SessionsBlSingleton.deleteSession(session); - throw { - responseCode: 1403, - } as ErrorResponse; - } - - /** - * Pass only in user scope in requierd scopes and the scope is valid. - */ - if (scopes.indexOf(user.scope) !== -1 && - Object.values(SystemAuthScopes).indexOf(user.scope) !== -1) { - return user; - } - - logger.info(`user ${user.email} try to access ${request.method} ${request.path} above his scope ${user.scope}`); - throw { - responseCode: 1403, - } as ErrorResponse; - } catch (error) { - throw { - responseCode: 1403, - } as ErrorResponse; + /** + * Pass only in user scope in requierd scopes and the scope is valid. + */ + if (scopes.indexOf(user.scope) !== -1 && Object.values(SystemAuthScopes).indexOf(user.scope) !== -1) { + return user; } + + logger.info(`user ${user.email} try to access ${request.method} ${request.path} above his scope ${user.scope}`); + throw { + responseCode: 1403, + } as ErrorResponse; + } catch (error) { + throw { + responseCode: 1403, + } as ErrorResponse; + } }; diff --git a/backend/src/security/schemaValidator.ts b/backend/src/security/schemaValidator.ts index 1b5dfc1b..1661c0bf 100644 --- a/backend/src/security/schemaValidator.ts +++ b/backend/src/security/schemaValidator.ts @@ -4,50 +4,87 @@ import { JoiObject, ObjectSchema, ValidationResult } from 'joi'; import { ErrorResponse } from '../models/sharedInterfaces'; import { logger } from '../utilities/logger'; -export const RemoteSettingsSchema: ObjectSchema = Joi.object().keys({ - host: Joi.string().uri().regex(/^(ws:\/\/|wss:\/\/)/).required(), - connectionKey: Joi.string().not('').required(), -}).required(); +export const RemoteSettingsSchema: ObjectSchema = Joi.object() + .keys({ + host: Joi.string() + .uri() + .regex(/^(ws:\/\/|wss:\/\/)/) + .required(), + connectionKey: Joi.string() + .not('') + .required(), + }) + .required(); -export const UserSchema: ObjectSchema = Joi.object().keys({ - email: Joi.string().email().required(), - displayName: Joi.string().not('').required(), - password: Joi.string().not('').min(6).max(18).required(), +export const UserSchema: ObjectSchema = Joi.object() + .keys({ + email: Joi.string() + .email() + .required(), + displayName: Joi.string() + .not('') + .required(), + password: Joi.string() + .not('') + .min(6) + .max(18) + .required(), ignoreTfa: Joi.boolean().required(), scope: Joi.allow('adminAuth', 'userAuth').required(), -}).required(); + }) + .required(); -export const UserUpdateSchema: ObjectSchema = Joi.object().keys({ - email: Joi.string().email().required(), - displayName: Joi.string().not('').required(), - password: Joi.string().allow('').min(6).max(18), +export const UserUpdateSchema: ObjectSchema = Joi.object() + .keys({ + email: Joi.string() + .email() + .required(), + displayName: Joi.string() + .not('') + .required(), + password: Joi.string() + .allow('') + .min(6) + .max(18), ignoreTfa: Joi.boolean().required(), scope: Joi.allow('adminAuth', 'userAuth'), -}).required(); + }) + .required(); -export const LoginSchema: ObjectSchema = Joi.object().keys({ - email: Joi.string().email().required(), - password: Joi.string().not('').required(), +export const LoginSchema: ObjectSchema = Joi.object() + .keys({ + email: Joi.string() + .email() + .required(), + password: Joi.string() + .not('') + .required(), localServerId: Joi.string().allow(''), -}).required(); + }) + .required(); -export const ErrorResponseSchema: ObjectSchema = Joi.object().keys({ - responseCode: Joi.number().min(4000).max(5999).required(), +export const ErrorResponseSchema: ObjectSchema = Joi.object() + .keys({ + responseCode: Joi.number() + .min(4000) + .max(5999) + .required(), message: Joi.string().not(''), -}).required(); + }) + .required(); /** * Get request client IP. */ export const GetIp = (req: Request): string => { - let ip = req.headers['x-forwarded-for'] as string; - if (ip) { - const ipParts = ip.split(','); - ip = ipParts[ipParts.length - 1]; - } else { - ip = req.connection.remoteAddress; - } - return ip; + let ip = req.headers['x-forwarded-for'] as string; + if (ip) { + const ipParts = ip.split(','); + ip = ipParts[ipParts.length - 1]; + } else { + ip = req.connection.remoteAddress; + } + return ip; }; /** @@ -59,17 +96,15 @@ export const GetIp = (req: Request): string => { * @returns {Promise} Promise when seccess with cleaned data. */ export const RequestSchemaValidator = async (req: Request, schema: JoiObject): Promise => { - return await SchemaValidator(req.body, schema) - .catch((result: ValidationResult) => { - logger.warn(`wrong scema data rrrived ` + - `from ${GetIp(req)}, error: ${result.error.message}`); - const error: ErrorResponse = { - responseCode: 2422, - message: result.error.message, - }; + return await SchemaValidator(req.body, schema).catch((result: ValidationResult) => { + logger.warn(`wrong scema data rrrived ` + `from ${GetIp(req)}, error: ${result.error.message}`); + const error: ErrorResponse = { + responseCode: 2422, + message: result.error.message, + }; - throw error; - }); + throw error; + }); }; /** @@ -80,10 +115,10 @@ export const RequestSchemaValidator = async (req: Request, schema: JoiObject): P * @param {JoiObject} schema The Joi schema object */ export const SchemaValidator = async (data: any, scema: JoiObject): Promise> => { - const result: ValidationResult = Joi.validate(data, scema); - if (!result.error) { - return result.value; - } + const result: ValidationResult = Joi.validate(data, scema); + if (!result.error) { + return result.value; + } - throw result; + throw result; }; diff --git a/backend/src/utilities/deepCopy.ts b/backend/src/utilities/deepCopy.ts index d372e477..20400c73 100644 --- a/backend/src/utilities/deepCopy.ts +++ b/backend/src/utilities/deepCopy.ts @@ -4,5 +4,5 @@ * @returns A totaly new copy of data. */ export const DeepCopy = (fromData: T): T => { - return JSON.parse(JSON.stringify(fromData)) as T; + return JSON.parse(JSON.stringify(fromData)) as T; }; diff --git a/backend/src/utilities/lanManager.ts b/backend/src/utilities/lanManager.ts index b9f0701a..e27431b4 100644 --- a/backend/src/utilities/lanManager.ts +++ b/backend/src/utilities/lanManager.ts @@ -10,47 +10,46 @@ import { GetMachinMacAddress } from './macAddress'; * Get the all local network devices. */ export const LocalNetworkReader = (): Promise => { - logger.info('Scanning network devices...'); - return new Promise(async (resolve, reject) => { - - const ops: { ip?: string; vendor?: boolean } = {}; - - /** Ceck if internet connection is online, otherways dont try to get vendor name. */ - const isInternetOnline = await isOnline(); - - if (Configuration.scanSubnet) { - ops.ip = Configuration.scanSubnet; - ops.vendor = isInternetOnline; + logger.info('Scanning network devices...'); + return new Promise(async (resolve, reject) => { + const ops: { ip?: string; vendor?: boolean } = {}; + + /** Ceck if internet connection is online, otherways dont try to get vendor name. */ + const isInternetOnline = await isOnline(); + + if (Configuration.scanSubnet) { + ops.ip = Configuration.scanSubnet; + ops.vendor = isInternetOnline; + } + + networkList2.scan(ops, (err: any, netTableArray: any[]) => { + logger.info('Scanning network devices done.'); + if (err) { + const msg = 'Scen local network fail'; + logger.warn(msg); + reject(msg); + return; + } + + const devices: LocalNetworkDevice[] = []; + + /** Add current mechine info to table (without the MAC address!!!) */ + devices.push({ + mac: '------------', + ip: ip.address(), + vendor: 'casa-net server', + }); + + for (const localDevice of netTableArray) { + if (localDevice.alive && localDevice.mac) { + devices.push({ + mac: localDevice.mac.replace(/:|-|_| /g, '').toLowerCase(), + ip: localDevice.ip, + vendor: localDevice.vendor ? localDevice.vendor : undefined, + }); } - - networkList2.scan(ops, (err: any, netTableArray: any[]) => { - logger.info('Scanning network devices done.'); - if (err) { - const msg = 'Scen local network fail'; - logger.warn(msg); - reject(msg); - return; - } - - const devices: LocalNetworkDevice[] = []; - - /** Add current mechine info to table (without the MAC address!!!) */ - devices.push({ - mac: '------------', - ip: ip.address(), - vendor: 'casa-net server', - }); - - for (const localDevice of netTableArray) { - if (localDevice.alive && localDevice.mac) { - devices.push({ - mac: localDevice.mac.replace(/:|-|_| /g, '').toLowerCase(), - ip: localDevice.ip, - vendor: localDevice.vendor ? localDevice.vendor : undefined, - }); - } - } - resolve(devices); - }); + } + resolve(devices); }); + }); }; diff --git a/backend/src/utilities/macAddress.ts b/backend/src/utilities/macAddress.ts index fb55e465..664a77f4 100644 --- a/backend/src/utilities/macAddress.ts +++ b/backend/src/utilities/macAddress.ts @@ -9,34 +9,32 @@ let machineMacAddress: string; * @returns the mac address. */ export const GetMachinMacAddress = (): Promise => { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { + /** If mac address already known, send it */ + if (machineMacAddress) { + resolve(machineMacAddress); + return; + } - /** If mac address already known, send it */ - if (machineMacAddress) { - resolve(machineMacAddress); - return; - } + /** If MAC address passed by env var, just use it */ + if (process.env.PHYSICAL_ADDRESS) { + machineMacAddress = process.env.PHYSICAL_ADDRESS; + logger.info(`Using '${machineMacAddress}' physical address, loadded from env var.`); + resolve(machineMacAddress); + return; + } - /** If MAC address passed by env var, just use it */ - if (process.env.PHYSICAL_ADDRESS) { - machineMacAddress = process.env.PHYSICAL_ADDRESS; - logger.info(`Using '${machineMacAddress}' physical address, loadded from env var.`); - resolve(machineMacAddress); - return; - } + /** Read the machine mac address */ + getMac.getMac((err: Error, rawMacAddress: string) => { + if (err) { + logger.error('Cant read local MAC address'); + reject(err); + return; + } - /** Read the machine mac address */ - getMac.getMac((err: Error, rawMacAddress: string) => { - - if (err) { - logger.error('Cant read local MAC address'); - reject(err); - return; - } - - /** Format mac address to correct format. */ - machineMacAddress = rawMacAddress.replace(/:|-|_| /g, '').toLowerCase(); - resolve(machineMacAddress); - }); + /** Format mac address to correct format. */ + machineMacAddress = rawMacAddress.replace(/:|-|_| /g, '').toLowerCase(); + resolve(machineMacAddress); }); + }); }; diff --git a/backend/src/utilities/mailSender.ts b/backend/src/utilities/mailSender.ts index 026b0b6e..32426e61 100644 --- a/backend/src/utilities/mailSender.ts +++ b/backend/src/utilities/mailSender.ts @@ -5,13 +5,13 @@ import { Configuration } from '../config'; // create reusable transporter object using the default SMTP transport const transporter = nodemailer.createTransport({ - host: Configuration.twoStepsVerification.smtpServer, - port: 465, - secure: true, // true for 465, false for other ports - auth: { - user: Configuration.twoStepsVerification.userName, - pass: Configuration.twoStepsVerification.userKey, - }, + host: Configuration.twoStepsVerification.smtpServer, + port: 465, + secure: true, // true for 465, false for other ports + auth: { + user: Configuration.twoStepsVerification.userName, + pass: Configuration.twoStepsVerification.userKey, + }, }); /** @@ -20,13 +20,13 @@ const transporter = nodemailer.createTransport({ * @param code generate code to send. */ export const SendMail = async (to: string, code: string) => { - const mailOptions: SendMailOptions = { - from: '"CASAnet" <' + Configuration.twoStepsVerification.userName + '>', - to, - replyTo: undefined, - inReplyTo: undefined, - subject: 'CasaNet account verification', - html: ` + const mailOptions: SendMailOptions = { + from: '"CASAnet" <' + Configuration.twoStepsVerification.userName + '>', + to, + replyTo: undefined, + inReplyTo: undefined, + subject: 'CasaNet account verification', + html: ` @@ -67,8 +67,8 @@ export const SendMail = async (to: string, code: string) => {
`, - }; + }; - // send mail with defined transport object - return transporter.sendMail(mailOptions); + // send mail with defined transport object + return transporter.sendMail(mailOptions); }; diff --git a/backend/src/utilities/sleep.ts b/backend/src/utilities/sleep.ts index a2ef7c97..fd6a344a 100644 --- a/backend/src/utilities/sleep.ts +++ b/backend/src/utilities/sleep.ts @@ -5,9 +5,9 @@ import { Duration } from 'moment'; * @param delayDuration Time duration to delay. */ export const Delay = (delayDuration: Duration): Promise => { - return new Promise((resolve, reject) => { - setTimeout(() => { - resolve(); - }, delayDuration.asMilliseconds()); - }); + return new Promise((resolve, reject) => { + setTimeout(() => { + resolve(); + }, delayDuration.asMilliseconds()); + }); }; diff --git a/backend/swagger.yaml b/backend/swagger.yaml index 29058fbb..78dde549 100644 --- a/backend/swagger.yaml +++ b/backend/swagger.yaml @@ -74,7 +74,7 @@ definitions: - model type: object Toggle: - description: "A toggle value, the toggle is on way communicated device,\r\nFor example wall light switches with 433 RF that can turn on or off \r\nbut there is no way to know the real light status if someone changes the light status using physical switche." + description: "A toggle value, the toggle is on way communicated device,\r\nFor example wall light switches with 433 RF that can turn on or off\r\nbut there is no way to know the real light status if someone changes the light status using physical switche." properties: status: type: string @@ -292,7 +292,7 @@ definitions: x-nullable: true type: object Minion: - description: "Represents a minion in system.\r\nMinion is a logic device in the system, meaning that a device is a physical device and minion is a logic device \r\nthat uses a physical device to switch home kit status. For example, an IR transmitter can be one physical device \r\nfor a few minions, one to central AC control and second for secondary AC control \r\nso in it will be two totally different minions that use one physical device." + description: "Represents a minion in system.\r\nMinion is a logic device in the system, meaning that a device is a physical device and minion is a logic device\r\nthat uses a physical device to switch home kit status. For example, an IR transmitter can be one physical device\r\nfor a few minions, one to central AC control and second for secondary AC control\r\nso in it will be two totally different minions that use one physical device." properties: minionId: type: string @@ -326,12 +326,12 @@ definitions: minionAutoTurnOffMS: type: number format: double - description: "Auto turns off duration, *if* set member value then the minion will turn off in X ms after turning it on, \r\nUsed for example in boiler minion etc." + description: "Auto turns off duration, *if* set member value then the minion will turn off in X ms after turning it on,\r\nUsed for example in boiler minion etc." x-nullable: true calibrationCycleMinutes: type: number format: double - description: "Calibrate the physical device with the server known status, in a periodic cycle, \r\nif not set or set to 0, never calibrate." + description: "Calibrate the physical device with the server known status, in a periodic cycle,\r\nif not set or set to 0, never calibrate." x-nullable: true required: - name @@ -373,7 +373,7 @@ definitions: durationMinutes: type: number format: double - description: "Minutes from the sun trigger.\r\ncan be before or after the sun triggers.\r\nFor example, to invoke 40 minutes before sunset set -40 and to invoke 40 minutes after sunset set 40.\r\n\r\nNOTE! if the duration is more then minutes available in the day from the sun trigger time, the timing will not activate. \r\nfor example if the sunset is in 18:00 and the duration set to 7*60 minutes, \r\nthe activate time is not on the same day, so it will not activate at all." + description: "Minutes from the sun trigger.\r\ncan be before or after the sun triggers.\r\nFor example, to invoke 40 minutes before sunset set -40 and to invoke 40 minutes after sunset set 40.\r\n\r\nNOTE! if the duration is more then minutes available in the day from the sun trigger time, the timing will not activate.\r\nfor example if the sunset is in 18:00 and the duration set to 7*60 minutes,\r\nthe activate time is not on the same day, so it will not activate at all." sunTrigger: type: string enum: @@ -531,7 +531,7 @@ definitions: minionsPerDevice: type: number format: double - description: "The max minions that can be in one device, or -1 if unlimited.\r\nFor example, a simple smart socket can be 1 minion per device, \r\nWall switch with 3 switches can be 3 minions per device,\r\nAnd IR transmitter can be unlimited minions per device." + description: "The max minions that can be in one device, or -1 if unlimited.\r\nFor example, a simple smart socket can be 1 minion per device,\r\nWall switch with 3 switches can be 3 minions per device,\r\nAnd IR transmitter can be unlimited minions per device." isTokenRequierd: type: boolean description: 'Is the device require a token for communication API.' @@ -653,7 +653,7 @@ definitions: - minionStatus type: object Operation: - description: "Represents an operation in the system.\r\nAn operation is a set of activities to do.\r\nFor example, to turn on all home light operation \r\nsets an array of activity for each light in the home to set light status 'on'." + description: "Represents an operation in the system.\r\nAn operation is a set of activities to do.\r\nFor example, to turn on all home light operation\r\nsets an array of activity for each light in the home to set light status 'on'." properties: operationId: type: string @@ -2241,7 +2241,7 @@ paths: description: 'Server error' schema: $ref: '#/definitions/ErrorResponse' - description: "Ifttt webhooks triggering casa-net action API.\r\nwhen all details in body only, to allow send all data ion one text line.\r\nExample to use: SMS trigger has only simple text that can pass to IFTTT activity,\r\nand by current request, it is possible to control any minion by one single line of text. \r\nso fill the SMS text with JSON and by IFTTT set it to be the request body." + description: "Ifttt webhooks triggering casa-net action API.\r\nwhen all details in body only, to allow send all data ion one text line.\r\nExample to use: SMS trigger has only simple text that can pass to IFTTT activity,\r\nand by current request, it is possible to control any minion by one single line of text.\r\nso fill the SMS text with JSON and by IFTTT set it to be the request body." tags: - Ifttt security: diff --git a/backend/test/business-layer/authBl.spec.ts b/backend/test/business-layer/authBl.spec.ts deleted file mode 100644 index 98043698..00000000 --- a/backend/test/business-layer/authBl.spec.ts +++ /dev/null @@ -1,97 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as cryptoJs from 'crypto-js'; -import * as express from 'express'; -import { AuthBl } from '../../src/business-layer/authBl'; -import { SessionsBl } from '../../src/business-layer/sessionsBl'; -import { UsersBl } from '../../src/business-layer/usersBl'; -import { Configuration } from '../../src/config'; -import { SessionsDal } from '../../src/data-layer/sessionsDal'; -import { UsersDal } from '../../src/data-layer/usersDal'; -import { ErrorResponse, User } from '../../src/models/sharedInterfaces'; -import { SessionsDalMock } from '../data-layer/sessionsDal.mock.spec'; -import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; - -const usersDalMock = new UsersDalMock(); -const sessionsDalMock = new SessionsDalMock(); -const authBlMock = new AuthBl(new SessionsBl(sessionsDalMock as unknown as SessionsDal), - new UsersBl(usersDalMock as unknown as UsersDal)); - -const GENERIC_ERROR_RESPONSE: ErrorResponse = { - responseCode: 2403, - message: 'username or password is incorrect', -}; - -describe('Authentication BL tests', () => { - - describe('Login to system', () => { - it('it should login succsessfully', async () => { - - const expressResponseMock: unknown = { - cookie: (sessionName: string, sessionKey: string, options: {}) => { - expect(sessionName).to.equal('session'); - expect(sessionKey).to.be.a('string').length.above(60); - expect(options).to.be.deep.equal({ - sameSite: true, - httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie - secure: Configuration.http.useHttps, // only send cookie over https - maxAge: usersDalMock.mockUsers[0].sessionTimeOutMS, - }); - }, - }; - const pass = usersDalMock.mockUsers[0].password; - const passHash = cryptoJs.SHA256(pass).toString(); - usersDalMock.mockUsers[0].password = passHash; - await authBlMock.login(expressResponseMock as express.Response, { - email: usersDalMock.mockUsers[0].email, - password: pass, - }); - - }); - - it('it should denied login', async () => { - - const expressResponseMock: unknown = { - cookie: (sessionName: string, sessionKey: string, options: {}) => { - throw new Error('login request should be forbidden, the user name not exist'); - }, - }; - const error = await authBlMock.login(expressResponseMock as express.Response, { - email: (usersDalMock.mockUsers[0].email + 'ttt'), - password: usersDalMock.mockUsers[0].password, - }); - - expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); - }); - - it('it should denied login', async () => { - - const expressResponseMock: unknown = { - cookie: (sessionName: string, sessionKey: string, options: {}) => { - throw new Error('login request should be forbidden, the user passwrod incorrect'); - }, - }; - const error = await authBlMock.login(expressResponseMock as express.Response, { - email: (usersDalMock.mockUsers[0].email), - password: usersDalMock.mockUsers[0].password + 'ttt', - }); - - expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); - }); - - it('it should denied login ta', async () => { - - const expressResponseMock: unknown = { - cookie: (sessionName: string, sessionKey: string, options: {}) => { - throw new Error('login request should be forbidden, the user MFA code never required'); - }, - }; - const error = await authBlMock.loginTfa(expressResponseMock as express.Response, { - email: (usersDalMock.mockUsers[0].email), - password: usersDalMock.mockUsers[0].password, - }); - - expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); - }); - }); -}); diff --git a/backend/test/business-layer/devicesBl.spec.ts b/backend/test/business-layer/devicesBl.spec.ts deleted file mode 100644 index a66aa1c4..00000000 --- a/backend/test/business-layer/devicesBl.spec.ts +++ /dev/null @@ -1,178 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; -import { DevicesBl } from '../../src/business-layer/devicesBl'; -import { DevicesDal } from '../../src/data-layer/devicesDal'; -import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, MinionStatus, User } from '../../src/models/sharedInterfaces'; -import { ModulesManager } from '../../src/modules/modulesManager'; -import { Delay } from '../../src/utilities/sleep'; -import { DevicesDalMock } from '../data-layer/devicesDal.mock.spec'; -import { ModulesManagerMock } from '../modules/modulesManager.mock.spec'; -import { localNetworkDevicesMock, localNetworkReaderMock } from '../utilities/lanManager.mock.spec'; - -const devicesDalMock = new DevicesDalMock(); -const modulesManagerMock = new ModulesManagerMock(); - -const devicesBlMock = new DevicesBl(devicesDalMock as unknown as DevicesDal, - localNetworkReaderMock, - modulesManagerMock as unknown as ModulesManager); - -describe('Devices BL tests', () => { - - describe('Get local devices', () => { - it('it should get devices succsessfully', async () => { - - /** - * Befor getting any device, needs to scan network. - */ - await devicesBlMock.rescanNetwork(); - - const devices = await devicesBlMock.getDevices(); - - expect(devices).length(localNetworkDevicesMock.length); - - return; - }).timeout(moment.duration(2.5, 'seconds').asMilliseconds()); - - it('it should load names succsessfully', async () => { - - const devices = await devicesBlMock.getDevices(); - - const localDevices: LocalNetworkDevice = { - mac: '22222222222', - ip: '192.168.1.2', - vendor: 'bla bla brand name', - name: 'second', - }; - expect(devices).to.deep.include(localDevices); - return; - }); - }); - - describe('Set devices name', () => { - it('it should set name succsessfully', async () => { - - const localDevices: LocalNetworkDevice = { - mac: '22222222222', - ip: '192.168.1.2', - vendor: 'bla bla brand name', - name: 'new second name', - }; - - await devicesBlMock.setDeviceName(localDevices); - - expect(devicesDalMock.mockDevicesNamesMap).to.deep.include(localDevices); - }); - - it('it should set name only succsessfully', async () => { - - const localDevices: LocalNetworkDevice = { - mac: '22222222222', - ip: '192.168.1.22', - vendor: 'bla bla brand name', - name: 'some other name', - }; - - await devicesBlMock.setDeviceName(localDevices); - - localDevices.ip = '192.168.1.2'; - - expect(devicesDalMock.mockDevicesNamesMap).to.deep.include(localDevices); - return; - }); - }); - - describe('Rescan network devices', () => { - it('it should scan devices succsessfully', async () => { - - const newNetworkDevice: LocalNetworkDevice = { - mac: '5555555', - ip: '192.168.1.5', - vendor: 'the new device', - }; - localNetworkDevicesMock.push(newNetworkDevice); - - await devicesBlMock.rescanNetwork(); - - const devices = await devicesBlMock.getDevices(); - - expect(devices).length(localNetworkDevicesMock.length); - expect(devices).to.include(newNetworkDevice); - }); - }); - - describe('Get system devices kinds', () => { - it('it should get devices succsessfully', async () => { - - const devicesKinds = await devicesBlMock.getDevicesKins(); - - expect(devicesKinds).to.be.deep.equal(modulesManagerMock.devicesKind); - }); - }); - - describe('Feed devices update', () => { - it('it should update name changes', (done) => { - const localDevices: LocalNetworkDevice = { - mac: '22222222222', - ip: '192.168.1.2', - vendor: 'bla bla brand name', - name: 'update to a new other name', - }; - const subscription = devicesBlMock.devicesUpdate.subscribe((devices) => { - if (!devices || devices.length < 1) { - return; - } - - for (const device of devices) { - if (device.mac === localDevices.mac && - device.name === localDevices.name) { - subscription.unsubscribe(); - done(); - return; - - } - } - }); - - Delay(moment.duration(1, 'seconds')) - .then(() => { - devicesBlMock.setDeviceName(localDevices); - }); - }).timeout(moment.duration(10, 'seconds').asMilliseconds()); - - it('it should update devices network data changed', (done) => { - - const networkDevicesExpected = localNetworkDevicesMock[1]; - networkDevicesExpected.ip = '192.168.1.77'; - - let specDone = false; - const subscription = devicesBlMock.devicesUpdate.subscribe((devices) => { - if (!devices || devices.length < 1) { - return; - } - - if (specDone) { - if (subscription) { - subscription.unsubscribe(); - } - return; - } - for (const device of devices) { - if (networkDevicesExpected.mac === device.mac && - networkDevicesExpected.ip === device.ip) { - specDone = true; - done(); - return; - - } - } - }); - - Delay(moment.duration(1, 'seconds')) - .then(() => { - devicesBlMock.rescanNetwork(); - }); - }); - }); -}); diff --git a/backend/test/business-layer/minionsBl.mock.spec.ts b/backend/test/business-layer/minionsBl.mock.spec.ts deleted file mode 100644 index 7738ba20..00000000 --- a/backend/test/business-layer/minionsBl.mock.spec.ts +++ /dev/null @@ -1,253 +0,0 @@ -import * as moment from 'moment'; -import * as randomstring from 'randomstring'; -import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; -import { DeviceKind, ErrorResponse, Minion, MinionFeed, MinionStatus } from '../../src/models/sharedInterfaces'; -import { Delay } from '../../src/utilities/sleep'; - -export class MinionsBlMock { - - /** - * minions - */ - public minionsMock: Minion[] = []; - - /** - * Minions status update feed. - */ - public minionFeed = new BehaviorSubject(undefined); - - constructor() { - - } - - /** - * Find minion in minions array. - * @param minionId minioin id. - */ - private findMinion(minionId: string): Minion { - for (const minion of this.minionsMock) { - if (minion.minionId === minionId) { - return minion; - } - } - } - - /** - * API - */ - - /** - * Gets minons array. - */ - public async getMinions(): Promise { - return this.minionsMock; - } - - /** - * Get minion by id. - * @param minionId minion id. - */ - public async getMinionById(minionId: string): Promise { - const minion = this.findMinion(minionId); - - if (!minion) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - return minion; - } - - /** - * Scan all minions real status. - * mean update minions cache by request each device what is the real status. - */ - public async scanMinionsStatus(): Promise { - await Delay(moment.duration(2, 'seconds')); - } - - /** - * Scan minion real status. - * mean update minions cache by request the device what is the real status. - */ - public async scanMinionStatus(minionId: string): Promise { - const minioin = this.findMinion(minionId); - if (!minioin) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - await Delay(moment.duration(2, 'seconds')); - } - - /** - * Set minon status - * @param minionId minion to set new status to. - * @param minionStatus the status to set. - */ - public async setMinionStatus(minionId: string, minionStatus: MinionStatus): Promise { - const minion = this.findMinion(minionId); - if (!minion) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - - /** - * The minion status is depend on minion type. - */ - if (!minionStatus[minion.minionType]) { - throw { - responseCode: 4122, - message: 'incorrect minion status, for current minion type', - } as ErrorResponse; - } - - /** - * set the status. - */ - // await this.modulesManager.setStatus(minion, minionStatus) - // .catch((err) => { - // minion.isProperlyCommunicated = false; - // throw err; - // }) - - minion.isProperlyCommunicated = true; - - /** - * If success, update minion to new status. - */ - minion.minionStatus = minionStatus; - - /** - * Send minions feed update. - */ - this.minionFeed.next({ - event: 'update', - minion, - }); - } - - /** - * Set minoin timeout property. - */ - public async setMinionTimeout(minionId: string, minion: Minion): Promise { - const originalMinion = this.findMinion(minionId); - if (!originalMinion) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - - originalMinion.minionAutoTurnOffMS = minion.minionAutoTurnOffMS; - - /** - * TODO: save updates, not all is status, some is timeout.... - */ - // this.minionsDal.saveUpdate(); - - /** - * Send minion feed update - */ - this.minionFeed.next({ - event: 'update', - minion: originalMinion, - }); - } - - /** - * Create new minon - * @param minion minon to create. - */ - public async createMinion(minion: Minion): Promise { - - /** - * check if minion valid. - */ - // const error = this.validateNewMinion(minion); - // if (error) { - // throw error; - // } - - /** - * get local devices (to load corrent pysical info such as ip) - */ - // const localDevices = await this.devicesBl.getDevices(); - // let foundLocalDevice = false; - // for (const localDevice of localDevices) { - // if (localDevice.mac === minion.device.pysicalDevice.mac) { - // minion.device.pysicalDevice = localDevice; - // foundLocalDevice = true; - // break; - // } - // } - - // if (!foundLocalDevice) { - // throw { - // responseCode: 4522, - // message: 'device not exist in lan network', - // } as ErrorResponse; - // } - - /** - * Generate new id. (never trust client....) - */ - minion.minionId = randomstring.generate(5); - - /** - * Create new minion in dal. - */ - // await this.minionsDal.createMinion(minion); - - /** - * Send create new minion feed update (*befor* try to get the status!!!) - */ - this.minionFeed.next({ - event: 'created', - minion, - }); - - /** - * Try to get current status. - */ - // await this.modulesManager.getStatus(minion) - // .then((status: MinionStatus) => { - // minion.minionStatus = status; - // }) - // .catch(() => { - - // }); - } - - /** - * Delete minoin - * @param minionId minion id to delete - */ - public async deleteMinion(minionId: string): Promise { - const originalMinion = this.findMinion(minionId); - if (!originalMinion) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - - // await this.minionsDal.deleteMinion(originalMinion); - - // The minoins arrat is given from DAL by ref, mean if removed - // from dal it will removed from BL too, so check if exist - // (if in next someone will copy by val) and then remove. - if (this.minionsMock.indexOf(originalMinion) !== -1) { - this.minionsMock.splice(this.minionsMock.indexOf(originalMinion), 1); - } - - this.minionFeed.next({ - event: 'removed', - minion: originalMinion, - }); - } -} diff --git a/backend/test/business-layer/minionsBl.spec.ts b/backend/test/business-layer/minionsBl.spec.ts deleted file mode 100644 index b0a6882c..00000000 --- a/backend/test/business-layer/minionsBl.spec.ts +++ /dev/null @@ -1,674 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; -import { DevicesBl } from '../../src/business-layer/devicesBl'; -import { MinionsBl } from '../../src/business-layer/minionsBl'; -import { DevicesDal } from '../../src/data-layer/devicesDal'; -import { MinionsDal } from '../../src/data-layer/minionsDal'; -import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, MinionDevice, MinionStatus, User } from '../../src/models/sharedInterfaces'; -import { ModulesManager } from '../../src/modules/modulesManager'; -import { Delay } from '../../src/utilities/sleep'; -import { DevicesDalMock } from '../data-layer/devicesDal.mock.spec'; -import { MinionsDalMock } from '../data-layer/minionsDal.mock.spec'; -import { ModulesManagerMock } from '../modules/modulesManager.mock.spec'; -import { localNetworkReaderMock } from '../utilities/lanManager.mock.spec'; - -const devicesDalMock = new DevicesDalMock(); -const modulesManagerMock = new ModulesManagerMock(); -const minionsDalMock = new MinionsDalMock(); - -const devicesBlMock = new DevicesBl(devicesDalMock as unknown as DevicesDal, - localNetworkReaderMock, - modulesManagerMock as unknown as ModulesManager); - -const minionsBl = new MinionsBl(minionsDalMock as unknown as MinionsDal, - devicesBlMock, - modulesManagerMock as unknown as ModulesManager); - -describe('Minions BL tests', () => { - - describe('Get minions', () => { - it('it should get minions succsessfully', async () => { - // wait for initilization - await Delay(moment.duration(5, 'seconds')); - - const minions = await minionsBl.getMinions(); - - const loadded: Minion = { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '1111111111', - ip: '192.168.1.1', - name: 'first', - }, - }, - isProperlyCommunicated: true, - minionId: 'm1', - minionType: 'switch', - minionStatus: { - switch: { - status: 'on', - }, - }, - name: 'bla bla 1', - }; - - expect(minions).to.be.a('array').length(minionsDalMock.mockMinions.length) - .to.deep.include(loadded); - }).timeout(moment.duration(10, 'seconds').asMilliseconds()); - - }); - - describe('Get minion by id', () => { - it('it should get minion succsessfully', async () => { - - const minion = await minionsBl.getMinionById('m2'); - - const expectMinion: Minion = { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '33333333333', - ip: '192.168.1.3', - name: 'third', - }, - }, - isProperlyCommunicated: true, - minionId: 'm2', - minionType: 'switch', - minionStatus: { - switch: { - status: 'on', - }, - }, - name: 'bla bla 2', - }; - - expect(minion).to.deep.include(expectMinion); - }); - - it('it should get unconnected minion', async () => { - - const minion = await minionsBl.getMinionById('m3'); - - const expectMinion: Minion = { - device: { - brand: 'mock', - model: 'light demo', - pysicalDevice: { - mac: '4341110986', - }, - }, - isProperlyCommunicated: false, - minionId: 'm3', - minionType: 'light', - minionStatus: {}, - name: 'bla bla 3', - }; - - expect(minion).to.deep.include(expectMinion); - }); - - it('it should get minion device data when few in one pysical', async () => { - - const minion1 = await minionsBl.getMinionById('ac1'); - const minion2 = await minionsBl.getMinionById('ac2'); - const pysicalDevice: MinionDevice = { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: 'ac12345432', - ip: '192.168.1.90', - name: 'IR transmitter', - }, - }; - - expect(pysicalDevice) - .to.deep.equal(minion1.device) - .to.deep.equal(minion2.device); - }); - }); - - describe('Feed minion updates', () => { - it('it should get minion succsessfully', (done) => { - - // TODO: - // const subscription = minionsBl.minionFeed.subscribe((minionFeed) => { - // if (!minionFeed) { - // return; - // } - - // subscription.unsubscribe(); - - // done(); - // }); - done(); - }).timeout(moment.duration(10, 'seconds').asMilliseconds()); - - it('it should update minions network data changes', async () => { - - const newNamedLocalDevice: LocalNetworkDevice = { - mac: '0987123ac', - ip: '192.168.1.5', - name: 'update by minions mock', - }; - - // const minions = await minionsBl.getMinions(); - - await devicesBlMock.setDeviceName(newNamedLocalDevice); - - await Delay(moment.duration(1, 'seconds')); - - const minion = await minionsBl.getMinionById('n1'); - - expect(minion.device.pysicalDevice).to.be.deep.equal(newNamedLocalDevice); - }); - }); - - describe('Set minion status', () => { - - it('it should set status successfuly', async () => { - - const newStatus: MinionStatus = { - switch: { - status: 'off', - }, - }; - - await minionsBl.setMinionStatus('m2', newStatus); - - const minion = await minionsBl.getMinionById('m2'); - - expect(minion.minionStatus).to.be.deep.equal(newStatus); - }); - - it('it should fail to set status', async () => { - - const newStatus: MinionStatus = { - airConditioning: { - fanStrength: 'auto', - mode: 'auto', - status: 'on', - temperature: 20, - }, - }; - - try { - await minionsBl.setMinionStatus('m2', newStatus); - } catch (error) { - const expectedError: ErrorResponse = { - responseCode: 1405, - message: 'incorrect minion status for current minion type', - }; - expect(error).to.be.deep.equal(expectedError); - - return; - } - - throw new Error('expect set status fail, the status value type incorrect.'); - }); - - it('it should fail to set status', async () => { - const newStatus: MinionStatus = { - switch: { - status: 'off', - }, - }; - - try { - await minionsBl.setMinionStatus('t404', newStatus); - } catch (error) { - const expectedError: ErrorResponse = { - responseCode: 1404, - message: 'minion not exist', - }; - expect(error).to.be.deep.equal(expectedError); - - return; - } - - throw new Error('expect set status fail, the minion id not exist.'); - }); - }); - - describe('Set minion timeout', () => { - - it('it should set timeout successfuly', async () => { - - const minionBefor = { - minionId: 'm2', - minionAutoTurnOffMS: 342677771111, - } as Minion; - - await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); - - const minionafter = await minionsBl.getMinionById('m2'); - - expect(minionafter.minionAutoTurnOffMS).to.be.deep.equal(minionBefor.minionAutoTurnOffMS); - }); - - it('it should set timeout successfuly', async () => { - - const minionBefor = { - minionId: 'm2', - minionAutoTurnOffMS: 845642321, - } as Minion; - - await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); - - const minionafter = await minionsDalMock.getMinionById('m2'); - - expect(minionafter.minionAutoTurnOffMS).to.be.deep.equal(minionBefor.minionAutoTurnOffMS); - }); - - it('it should fail to set timeout', async () => { - const minionBefor = { - minionId: 'm404', - minionAutoTurnOffMS: 342677771111, - } as Minion; - - try { - await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); - } catch (error) { - const expectedError: ErrorResponse = { - responseCode: 1404, - message: 'minion not exist', - }; - expect(error).to.be.deep.equal(expectedError); - - return; - } - - throw new Error('expect set status fail, the status value type incorrect.'); - }); - }); - - describe('Create new minion', () => { - - it('it should create minion successfuly', async () => { - const minion: Minion = { - device: { - brand: 'test mock', - model: 'switch demo', - pysicalDevice: { - mac: '777777bb', - }, - }, - minionStatus: { - - }, - name: 'The new minion to create', - minionType: 'switch', - }; - - await minionsBl.createMinion(minion); - }); - - it('it should create minion successfuly', async () => { - const minionToCreate: Minion = { - device: { - brand: 'test mock', - model: 'ac demo', - pysicalDevice: { - mac: '777777cc', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'temperatureLight', - }; - - await minionsBl.createMinion(minionToCreate); - - const minions = await minionsBl.getMinions(); - - let createdMinion: Minion; - for (const minion of minions) { - if (minion.device.pysicalDevice.mac === - minionToCreate.device.pysicalDevice.mac) { - createdMinion = minion; - break; - } - } - - if (createdMinion && - createdMinion.minionType === 'airConditioning') { - return; - } - - throw new Error(`The minion type should fixed to 'airConditioning'`); - }); - - it('it should create minion successfuly', async () => { - const minionToCreate: Minion = { - device: { - brand: 'test mock', - model: 'ac 2 demo', - pysicalDevice: { - mac: '777777cc', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'temperatureLight', - }; - - await minionsBl.createMinion(minionToCreate) - .catch(() => { - throw new Error(`The minion should create even cant read current device status`); - }); - }); - - it('it should create minion successfuly', async () => { - const minionToCreate: Minion = { - device: { - brand: 'test mock', - model: 'ac demo', - pysicalDevice: { - mac: '777777dd', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'temperatureLight', - }; - - await minionsBl.createMinion(minionToCreate); - - const minions = await minionsBl.getMinions(); - - let createdMinion: Minion; - for (const minion of minions) { - if (minion.device.pysicalDevice.mac === - minionToCreate.device.pysicalDevice.mac) { - createdMinion = minion; - break; - } - } - - const expectedStatus: MinionStatus = { - airConditioning: { - fanStrength: 'med', - mode: 'cold', - status: 'on', - temperature: 21, - }, - }; - expect(createdMinion.minionStatus).to.be.deep.equal(expectedStatus); - }); - - it('it should create minion successfuly', async () => { - const minionToCreate: Minion = { - device: { - brand: 'test mock', - model: 'ac demo', - pysicalDevice: { - mac: '777777ee', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'airConditioning', - }; - - await minionsBl.createMinion(minionToCreate); - - const minions = await minionsBl.getMinions(); - - let createdMinion: Minion; - for (const minion of minions) { - if (minion.device.pysicalDevice.mac === - minionToCreate.device.pysicalDevice.mac) { - createdMinion = minion; - break; - } - } - - const pysicalInfo: LocalNetworkDevice = { - mac: '777777ee', - ip: '192.168.1.58', - vendor: 'factory name', - }; - - expect(createdMinion.device.pysicalDevice).to.be.deep.equal(pysicalInfo); - }); - - it('it should fail to create minion', async () => { - const minion: Minion = { - device: { - brand: 'test mock a', - model: 'ac demo', - pysicalDevice: { - mac: '777777bb', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'switch', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 1409, - message: 'there is no supported model for brand + model', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion without token created, and model requier it'); - }); - - it('it should fail to create minion', async () => { - const minion: Minion = { - device: { - brand: 'test mock', - model: 'ac demo 9999999', - pysicalDevice: { - mac: '111111aa', - }, - }, - minionStatus: { - - }, - name: 'The new minion to create', - minionType: 'airConditioning', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 1409, - message: 'there is no supported model for brand + model', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion with incorrect model created'); - }); - - it('it should fail to create minion', async () => { - const minion: Minion = { - device: { - brand: 'second test mock brand', - model: 'switch demo', - pysicalDevice: { - mac: '111111aa', - }, - }, - minionStatus: { - - }, - name: 'The new minion to create', - minionType: 'airConditioning', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 1409, - message: 'there is no supported model for brand + model', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion with incorrect model of brand created'); - }); - - it('it should fail to create minion', async () => { - const minion: Minion = { - device: { - brand: 'test mock', - model: 'switch demo with token', - pysicalDevice: { - mac: '111111aa', - }, - }, - minionStatus: { - - }, - name: 'The new minion to create', - minionType: 'airConditioning', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 2409, - message: 'token is requird', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion with incorrect model of brand created'); - }); - - it('it should fail to create minion', async () => { - const minion: Minion = { - device: { - brand: 'test mock', - model: 'switch demo', - pysicalDevice: { - mac: '777777bb', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'airConditioning', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 4409, - message: 'device already in max uses with other minion', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion with taken device created'); - }); - - it('it should fail to create minion', async () => { - // there is no device in lan (unknown mac address). - const minion: Minion = { - device: { - brand: 'test mock', - model: 'switch demo', - pysicalDevice: { - mac: 'bbcc11187970', - }, - }, - minionStatus: { - - }, - name: 'new minion to create', - minionType: 'airConditioning', - }; - try { - await minionsBl.createMinion(minion); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 2404, - message: 'device not exist in lan network', - }; - - expect(error).to.be.deep.equal(errorResponse); - - return; - } - - throw new Error('minion with unknown mac address created'); - }); - - }); - - describe('Delete minion', () => { - - it('it should delete minion successfuly', async () => { - const minions = await minionsBl.getMinions(); - let selectedMinion: Minion; - for (const minion of minions) { - if (minion.device.pysicalDevice.mac === '777777bb') { - selectedMinion = minion; - break; - } - } - // Needs to copy by val. - const beforDeleteMonionsCount = minions.length; - - await minionsBl.deleteMinion(selectedMinion.minionId); - - const minionsAfterDelete = await minionsBl.getMinions(); - expect(minionsAfterDelete.length).eqls(beforDeleteMonionsCount - 1); - }); - - it('it should fail to delete minion', async () => { - - try { - await minionsBl.deleteMinion('sdgdsgdrrr555'); - } catch (error) { - const errorResponse: ErrorResponse = { - responseCode: 1404, - message: 'minion not exist', - }; - - expect(error).to.be.deep.equal(errorResponse); - return; - } - - throw new Error('unknown minion deleted'); - }); - }); -}); diff --git a/backend/test/business-layer/remoteConnectionBl.spec.ts b/backend/test/business-layer/remoteConnectionBl.spec.ts deleted file mode 100644 index 2527dc61..00000000 --- a/backend/test/business-layer/remoteConnectionBl.spec.ts +++ /dev/null @@ -1,28 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { MinionsBl } from '../../src/business-layer/minionsBl'; -import { RemoteConnectionBl } from '../../src/business-layer/remoteConnectionBl'; -import { TimingsBl } from '../../src/business-layer/timingsBl'; -import { UsersBl } from '../../src/business-layer/usersBl'; -import { RemoteConnectionDal } from '../../src/data-layer/remoteConnectionDal'; -import { UsersDal } from '../../src/data-layer/usersDal'; -import { Delay } from '../../src/utilities/sleep'; -import { MinionsBlMock } from '../business-layer/minionsBl.mock.spec'; -import { RemoteConnectionDalMock } from '../data-layer/remoteConnectionDal.mock.spec'; -import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; -// import { WebSocketMockSinglton } from './remoteConnection.mock.spec'; -import { TimingsBlMock } from './timingsBl.mock.spec'; - -const minionBlMock = new MinionsBlMock(); - -const usersBlMock = new UsersBl(new UsersDalMock() as unknown as UsersDal); - -const remoteConnectionBl = new RemoteConnectionBl(new RemoteConnectionDalMock() as unknown as RemoteConnectionDal, - minionBlMock as unknown as MinionsBl, - new TimingsBlMock() as unknown as TimingsBl); - -// remoteConnectionBl.setRemoteSettings({ -// host: '127.0.0.1:4112', -// connectionKey: 'mock', -// }); diff --git a/backend/test/business-layer/sessionsBl.spec.ts b/backend/test/business-layer/sessionsBl.spec.ts deleted file mode 100644 index 81bad8ea..00000000 --- a/backend/test/business-layer/sessionsBl.spec.ts +++ /dev/null @@ -1,96 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as cryptoJs from 'crypto-js'; -import { SessionsBl } from '../../src/business-layer/sessionsBl'; -import { SessionsDal } from '../../src/data-layer/sessionsDal'; -import { Session } from '../../src/models/backendInterfaces'; -import { ErrorResponse, User } from '../../src/models/sharedInterfaces'; -import { SessionsDalMock } from '../data-layer/sessionsDal.mock.spec'; -import { Configuration } from '../../src/config'; - -const sessionDalMock = new SessionsDalMock(); -const SessionBlMock = new SessionsBl(sessionDalMock as unknown as SessionsDal); - -describe('Sesssion BL tests', () => { - - describe('Get Session', () => { - it('it should get session succsessfully', async () => { - - const key = '543583bfngfnds45453535256524'; - sessionDalMock.mockSessions[2].keyHash = cryptoJs.SHA512(key + Configuration.keysHandling.saltHash).toString(); - const session = await SessionBlMock.getSession(key); - - expect(session).to.deep.equal(sessionDalMock.mockSessions[2]); - return; - }); - - it('it should get nothing for empty session', async () => { - - try { - await SessionBlMock.getSession(''); - } catch (error) { - return; - } - - throw new Error('get empty session should fail'); - }); - - it('it should get nothing for undefined session', async () => { - - try { - await SessionBlMock.getSession(undefined); - } catch (error) { - return; - } - - throw new Error('get undefined session should fail'); - }); - }); - - describe('Get User Sessions', () => { - it('it should get sessions succsessfully', async () => { - - const userToGetFor: User = { - email: sessionDalMock.mockSessions[0].email, - displayName: '', - ignoreTfa: true, - password: 'ffd', - sessionTimeOutMS: 1000000, - scope: 'userAuth', - }; - const sessions = await SessionBlMock.getUserSessions(userToGetFor); - - expect(sessions).to.be.a('array'); - expect(sessions).to.be.an('array').that.is.length(2); - return; - }); - }); - - describe('Generate Session', () => { - it('it should create session succsessfully', async () => { - - const session = await SessionBlMock.generateSession({ - email: sessionDalMock.mockSessions[2].email, - displayName: '', - ignoreTfa: true, - password: 'ffd', - sessionTimeOutMS: 1000000, - scope: 'userAuth', - }); - - expect(session).to.be.a('string').length.above(60); - expect(sessionDalMock.mockSessions).length(5); - return; - }); - }); - - describe('Delete Session', () => { - it('it should delete session succsessfully', async () => { - - await SessionBlMock.deleteSession(sessionDalMock.mockSessions[2]); - - expect(sessionDalMock.mockSessions).length(4); - return; - }); - }); -}); diff --git a/backend/test/business-layer/timeoutBl.spec.ts b/backend/test/business-layer/timeoutBl.spec.ts deleted file mode 100644 index cb7ce556..00000000 --- a/backend/test/business-layer/timeoutBl.spec.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, from, Observable, Subscriber } from 'rxjs'; -import { DevicesBl } from '../../src/business-layer/devicesBl'; -import { MinionsBl } from '../../src/business-layer/minionsBl'; -import { TimeoutBl } from '../../src/business-layer/timeoutBl'; -import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, MinionStatus, User } from '../../src/models/sharedInterfaces'; -import { MinionsBlMock } from './minionsBl.mock.spec'; - -const minionsBlMock = new MinionsBlMock(); -const timeoutBlMock = new TimeoutBl(minionsBlMock as unknown as MinionsBl); - -describe('Timeout BL tests', () => { - describe('Handle new minion', () => { - it('it should get handle the minion succsessfully', (done) => { - /** - * The error is *not* in stackstrace to here so the error is destroyed - * specs lib UI. - */ - try { - minionsBlMock.minionFeed.next({ - event: 'created', - minion: { - device: { - brand: 'a', - model: 'b', - pysicalDevice: { - mac: 'm', - }, - }, - minionId: 'mi', - minionType: 'switch', - name: 'm1', - minionStatus: { - - }, - }, - }); - } catch (error) { - throw new Error('fail to create new minoin without status'); - } - - done(); - }); - }); -}); diff --git a/backend/test/business-layer/timingsBl.mock.spec.ts b/backend/test/business-layer/timingsBl.mock.spec.ts deleted file mode 100644 index 05e63651..00000000 --- a/backend/test/business-layer/timingsBl.mock.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, from, Observable, Subscriber } from 'rxjs'; -import { DevicesBl } from '../../src/business-layer/devicesBl'; -import { TimeoutBl } from '../../src/business-layer/timeoutBl'; -import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, MinionStatus, TimingFeed, User } from '../../src/models/sharedInterfaces'; - -export class TimingsBlMock { - /* - * Timing trigger feed. - */ - public timingFeed = new BehaviorSubject(undefined); -} diff --git a/backend/test/business-layer/timingsBl.spec.ts b/backend/test/business-layer/timingsBl.spec.ts deleted file mode 100644 index 18c74fce..00000000 --- a/backend/test/business-layer/timingsBl.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; -import { OperationsBl } from '../../src/business-layer/operationsBl'; -import { TimingsBl } from '../../src/business-layer/timingsBl'; -import { TimingsDal } from '../../src/data-layer/timingsDal'; -import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, Timing } from '../../src/models/sharedInterfaces'; -import { Delay } from '../../src/utilities/sleep'; -import { TimingsDalMock } from '../data-layer/timingsDal.mock.spec' - -const timingsDalMock = new TimingsDalMock(); -const timingsBl = new TimingsBl(timingsDalMock as unknown as TimingsDal, {} as OperationsBl); - -describe('Timings BL tests', () => { - -}); diff --git a/backend/test/business-layer/usersBl.spec.ts b/backend/test/business-layer/usersBl.spec.ts deleted file mode 100644 index 65dc994d..00000000 --- a/backend/test/business-layer/usersBl.spec.ts +++ /dev/null @@ -1,95 +0,0 @@ -import * as bcrypt from 'bcryptjs'; -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { UsersBl } from '../../src/business-layer/usersBl'; -import { UsersDal } from '../../src/data-layer/usersDal'; -import { ErrorResponse, User } from '../../src/models/sharedInterfaces'; -import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; - -const usersDalMock = new UsersDalMock(); -const usersBl = new UsersBl(usersDalMock as unknown as UsersDal); - -describe('Users BL tests', () => { - - describe('Get User by email', () => { - it('it should get user succsessfully', async () => { - - const user = await usersBl.getUser(usersDalMock.mockUsers[2].email); - - expect(user).to.deep.equal(usersDalMock.mockUsers[2]); - return; - }); - }); - - describe('Get All Users', () => { - it('it should get Users succsessfully', async () => { - - const users = await usersBl.getUsers(); - - expect(users).to.deep.equal(usersDalMock.mockUsers); - return; - }); - }); - - const additionalUser: User = { - email: '12345cm@vf.com', - displayName: 'fnl', - ignoreTfa: false, - password: '123', - sessionTimeOutMS: 5359436, - scope: 'userAuth', - }; - - describe('Create new user', () => { - it('it should fail to create user', async () => { - - try { - await usersBl.createUser(additionalUser); - } catch (error) { - const expectedError: ErrorResponse = { - responseCode: 2422, - }; - expect(error).to.have.property('responseCode').to.deep.equal(2422); - return; - } - - throw new Error('new user created while password less then 6 chars'); - }); - - it('it should create user succsessfully', async () => { - - additionalUser.password = '1234567890'; - await usersBl.createUser(additionalUser); - - const user = await usersBl.getUser(additionalUser.email); - - /** Make sure tha password hashed */ - if (!bcrypt.compareSync(additionalUser.password, user.password)) { - throw new Error('Passowrd not hashed correctly'); - } - - /** For test other user properties math only */ - user.password = additionalUser.password; - - expect(user).to.deep.equal(additionalUser); - }); - }); - - describe('Delete User', () => { - it('it should delete user succsessfully', async () => { - - await usersBl.deleteUser(additionalUser.email); - - expect(usersDalMock.mockUsers).length(4); - return; - }); - }); - - describe('Update User', () => { - - it('it should fail update request', async () => { - // cant updat unknow user. - }); - - }); -}); diff --git a/backend/test/data-layer/devicesDal.mock.spec.ts b/backend/test/data-layer/devicesDal.mock.spec.ts deleted file mode 100644 index e5e8c051..00000000 --- a/backend/test/data-layer/devicesDal.mock.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { LocalNetworkDevice } from '../../src/models/sharedInterfaces'; - -export class DevicesDalMock { - - public mockDevicesNamesMap: LocalNetworkDevice[] = [ - { - name: 'first', - mac: '1111111111', - }, - { - name: 'second', - mac: '22222222222', - }, - { - name: 'third', - mac: '33333333333', - }, - { - name: 'IR transmitter', - mac: 'ac12345432', - }, - ]; - - private findDevice(mac: string): LocalNetworkDevice { - for (const device of this.mockDevicesNamesMap) { - if (device.mac === mac) { - return device; - } - } - } - - public async getDevices(): Promise { - return this.mockDevicesNamesMap; - } - - public async saveDevice(deviceToSave: LocalNetworkDevice): Promise { - const originalDevice = this.findDevice(deviceToSave.mac); - - if (originalDevice) { - this.mockDevicesNamesMap.splice(this.mockDevicesNamesMap.indexOf(originalDevice), 1); - } - - this.mockDevicesNamesMap.push(deviceToSave); - } - - public async removeDevice(deviceToRemove: LocalNetworkDevice): Promise { - const originalDevice = this.findDevice(deviceToRemove.mac); - - if (!originalDevice) { - throw new Error('device not saved'); - } - - this.mockDevicesNamesMap.splice(this.mockDevicesNamesMap.indexOf(originalDevice), 1); - } -} \ No newline at end of file diff --git a/backend/test/data-layer/devicesDal.spec.ts b/backend/test/data-layer/devicesDal.spec.ts deleted file mode 100644 index 6d0810a2..00000000 --- a/backend/test/data-layer/devicesDal.spec.ts +++ /dev/null @@ -1,86 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { DevicesDal } from '../../src/data-layer/devicesDal'; -import { IDataIO, Session } from '../../src/models/backendInterfaces'; -import { LocalNetworkDevice, User } from '../../src/models/sharedInterfaces'; -import { DeepCopy } from '../../src/utilities/deepCopy'; - -class DataIOMock implements IDataIO { - - public mockData: LocalNetworkDevice[] = [ - { - name: 'first', - mac: '1111111111', - }, - { - name: 'second', - mac: '22222222222', - }, - { - name: 'third', - mac: '33333333333', - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const devicesDal = new DevicesDal(dataMock); - -describe('Devices DAL tests', () => { - - describe('Get devices names', () => { - it('it should get devices succsessfully', async () => { - - const users = await devicesDal.getDevices(); - - expect(users).to.deep.equal(dataMock.mockData); - return; - }); - }); - - describe('Set new name to exist device', () => { - it('it should set name succsessfully', async () => { - - const device: LocalNetworkDevice = DeepCopy(dataMock.mockData[1]); - device.name = 'new name'; - await devicesDal.saveDevice(device); - - expect(dataMock.mockData).length(3); - }); - }); - - const additionalDevice: LocalNetworkDevice = { - mac : '44444444', - name : 'fourth', - }; - - describe('Set new name to not exist device', () => { - it('it should set name succsessfully', async () => { - - await devicesDal.saveDevice(additionalDevice); - - expect(dataMock.mockData).length(4); - }); - }); - - describe('Remove device name map', () => { - it('it should delete name map succsessfully', async () => { - - await devicesDal.removeDevice(additionalDevice); - - expect(dataMock.mockData).length(3); - }); - }); -}); diff --git a/backend/test/data-layer/minionsDal.mock.spec.ts b/backend/test/data-layer/minionsDal.mock.spec.ts deleted file mode 100644 index de4765b9..00000000 --- a/backend/test/data-layer/minionsDal.mock.spec.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { ErrorResponse, Minion } from '../../src/models/sharedInterfaces'; - -export class MinionsDalMock { - - public mockMinions: Minion[] = [ - { - device: { - brand: 'mock', - model: 'light demo', - pysicalDevice: { - mac: '4341110986', - }, - }, - isProperlyCommunicated: true, - minionId: 'm3', - minionType: 'light', - minionStatus: { - - }, - name: 'bla bla 3', - }, - { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '1111111111', - }, - }, - isProperlyCommunicated: true, - minionId: 'm1', - minionType: 'switch', - minionStatus: { - - }, - name: 'bla bla 1', - }, - { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '33333333333', - }, - }, - isProperlyCommunicated: true, - minionId: 'm2', - minionType: 'switch', - minionStatus: { - - }, - name: 'bla bla 2', - }, - { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: 'ac12345432', - }, - }, - isProperlyCommunicated: true, - minionId: 'ac1', - minionType: 'airConditioning', - minionStatus: { - - }, - name: 'airConditioning a', - }, - { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: 'ac12345432', - }, - }, - isProperlyCommunicated: true, - minionId: 'ac2', - minionType: 'airConditioning', - minionStatus: { - - }, - name: 'airConditioning b', - }, - { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: '0987123ac', - }, - }, - isProperlyCommunicated: true, - minionId: 'n1', - minionType: 'airConditioning', - minionStatus: { - - }, - name: 'airConditioning b', - }, - ]; - - private findMinion(minionId: string): Minion { - for (const minion of this.mockMinions) { - if (minion.minionId === minionId) { - return minion; - } - } - } - - public async getMinions(): Promise { - return this.mockMinions; - } - - public async getMinionById(minionId: string): Promise { - const minion = this.findMinion(minionId); - - if (!minion) { - throw new Error('minion not exist'); - } - return minion; - } - - public async createMinion(newMinion: Minion): Promise { - this.mockMinions.push(newMinion); - } - - public async deleteMinion(minion: Minion): Promise { - const originalMinion = this.findMinion(minion.minionId); - - if (!originalMinion) { - throw new Error('minion not exist'); - } - - this.mockMinions.splice(this.mockMinions.indexOf(originalMinion), 1); - } - - public async updateMinionAutoTurnOff(minionId: string, setAutoTurnOffMS: number): Promise { - const originalMinion = this.findMinion(minionId); - - if (!originalMinion) { - throw { - responseCode: 4004, - message: 'minion not exist', - } as ErrorResponse; - } - - originalMinion.minionAutoTurnOffMS = setAutoTurnOffMS; - } -} diff --git a/backend/test/data-layer/minionsDal.spec.ts b/backend/test/data-layer/minionsDal.spec.ts deleted file mode 100644 index 0ece1c57..00000000 --- a/backend/test/data-layer/minionsDal.spec.ts +++ /dev/null @@ -1,152 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { MinionsDal } from '../../src/data-layer/minionsDal'; -import { IDataIO, Session } from '../../src/models/backendInterfaces'; -import { Minion } from '../../src/models/sharedInterfaces'; -import { logger } from '../../src/utilities/logger'; - -class DataIOMock implements IDataIO { - - public mockData: Minion[] = [ - { - device: { - brand: 'mock', - model: 'mock model 1', - pysicalDevice: { - mac: '45543544', - }, - }, - isProperlyCommunicated: true, - minionId: 'm1', - minionType: 'switch', - minionStatus: { - - }, - name : 'bla bla 1', - }, - { - device: { - brand: 'mock', - model: 'mock model 2', - pysicalDevice: { - mac: '645425545422', - }, - }, - isProperlyCommunicated: true, - minionId: 'm2', - minionType: 'airConditioning', - minionStatus: { - - }, - name : 'bla bla 2', - }, - { - device: { - brand: 'mock', - model: 'mock model 3', - pysicalDevice: { - mac: '4341110986', - }, - }, - isProperlyCommunicated: true, - minionId: 'm3', - minionType: 'light', - minionStatus: { - - }, - name : 'bla bla 3', - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const minionsDal = new MinionsDal(dataMock); - -describe('Minions DAL tests', () => { - - describe('Get minions', () => { - it('it should get minions succsessfully', async () => { - - const minions = await minionsDal.getMinions(); - - expect(minions).to.deep.equal(dataMock.mockData); - return; - }); - }); - - describe('Get minion by minion id', () => { - it('it should get minion succsessfully', async () => { - - const minion = await minionsDal.getMinionById(dataMock.mockData[1].minionId); - - expect(minion).to.deep.equal(dataMock.mockData[1]); - return; - }); - }); - - const additionalMinion: Minion = { - device: { - brand: 'mock', - model: 'mock model 4', - pysicalDevice: { - mac: '3226445f', - }, - }, - isProperlyCommunicated: true, - minionId: 'm4', - minionType: 'light', - minionStatus: { - - }, - name : 'bla bla 4', - }; - - describe('Create new minion', () => { - it('it should create minion succsessfully', async () => { - - await minionsDal.createMinion(additionalMinion); - - const minion = await minionsDal.getMinionById(additionalMinion.minionId); - - expect(minion).to.deep.equal(additionalMinion); - expect(dataMock.mockData).to.have.length(4); - return; - }); - }); - - describe('Update minion auto turn off timeout', () => { - it('it should update minion succsessfully', async () => { - - const newTurnOffTimeout = 500000; - - await minionsDal.updateMinionAutoTurnOff(additionalMinion.minionId, newTurnOffTimeout); - - const minion = await minionsDal.getMinionById(additionalMinion.minionId); - - expect(minion.minionAutoTurnOffMS).to.be.eql(newTurnOffTimeout); - return; - }); - }); - - describe('Delete minion', () => { - it('it should delete minion succsessfully', async () => { - - await minionsDal.deleteMinion(additionalMinion); - - expect(dataMock.mockData).to.have.length(3); - return; - }); - }); -}); diff --git a/backend/test/data-layer/operationsDal.spec.ts b/backend/test/data-layer/operationsDal.spec.ts deleted file mode 100644 index bc2c00e0..00000000 --- a/backend/test/data-layer/operationsDal.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { OperationsDal } from '../../src/data-layer/operationsDal'; -import { IDataIO } from '../../src/models/backendInterfaces'; -import { Operation } from '../../src/models/sharedInterfaces'; -import { DeepCopy } from '../../src/utilities/deepCopy'; - -class DataIOMock implements IDataIO { - - public mockData: Operation[] = [ - { - operationId: 'a1', - operationName: 'operation a', - activities: [ - { - minionId: 'n1', - minionStatus: { - switch: { - status: 'off', - }, - }, - }, - ], - }, - { - operationId: 'a2', - operationName: 'operation b', - activities: [ - { - minionId: 'ac1', - minionStatus: { - airConditioning: { - fanStrength: 'high', - mode: 'hot', - status: 'off', - temperature: 25, - }, - }, - }, - ], - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const operationsDal = new OperationsDal(dataMock); - -describe('Operations DAL tests', () => { - - describe('Get operations', () => { - it('it should get operations succsessfully', async () => { - - const operations = await operationsDal.getOperations(); - - expect(operations).to.deep.equal(dataMock.mockData); - return; - }); - }); - - describe('Get operation by operation id', () => { - it('it should get operation succsessfully', async () => { - - const operation = await operationsDal.getOperationById(dataMock.mockData[1].operationId); - - expect(operation).to.deep.equal(dataMock.mockData[1]); - return; - }); - }); - - const additionalOperation: Operation = { - operationId: 'fdgfgfg23hg6', - operationName: 'name of', - activities: [ - - ], - }; - - describe('Create new operation', () => { - it('it should create operation succsessfully', async () => { - - await operationsDal.createOperation(additionalOperation); - - const operation = await operationsDal.getOperationById(additionalOperation.operationId); - - expect(operation).to.deep.equal(additionalOperation); - expect(dataMock.mockData).to.have.length(3); - return; - }); - }); - - describe('Delete operation', () => { - it('it should delete operation succsessfully', async () => { - - await operationsDal.deleteOperation(additionalOperation.operationId); - - expect(dataMock.mockData).to.have.length(2); - return; - }); - }); - - describe('Update operation', () => { - it('it should update operation succsessfully', async () => { - - const operation: Operation = DeepCopy(dataMock.mockData[1]); - - operation.activities.push({ - minionId: 'ac2', - minionStatus: { - airConditioning: { - fanStrength: 'low', - mode: 'hot', - status: 'on', - temperature: 25, - }, - }, - }); - await operationsDal.updateOperation(operation); - - expect(dataMock.mockData).to.contains(operation); - return; - }); - }); -}); diff --git a/backend/test/data-layer/remoteConnectionDal.mock.spec.ts b/backend/test/data-layer/remoteConnectionDal.mock.spec.ts deleted file mode 100644 index 905b2e62..00000000 --- a/backend/test/data-layer/remoteConnectionDal.mock.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ - -import { RemoteSettings } from '../../src/models/sharedInterfaces'; - -export class RemoteConnectionDalMock { - - public mockSettings: RemoteSettings = { - host: 'ws://127.0.0.1', - connectionKey: '1234567890', - }; - - public async getRemoteSettings(): Promise { - return this.mockSettings; - } - - public async deleteRemoteSettings(): Promise { - this.mockSettings = undefined; - } - - public async setRemoteSettings(remoteSettings: RemoteSettings): Promise { - this.mockSettings = remoteSettings; - } -} diff --git a/backend/test/data-layer/remoteConnectionDal.spec.ts b/backend/test/data-layer/remoteConnectionDal.spec.ts deleted file mode 100644 index 92788af3..00000000 --- a/backend/test/data-layer/remoteConnectionDal.spec.ts +++ /dev/null @@ -1,91 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { Configuration } from '../../src/config'; -import { RemoteConnectionDal } from '../../src/data-layer/remoteConnectionDal'; -import { IDataIO, Session } from '../../src/models/backendInterfaces'; -import { RemoteSettings } from '../../src/models/sharedInterfaces'; -import { logger } from '../../src/utilities/logger'; - -class DataIOMock implements IDataIO { - - public mockData: RemoteSettings[] = [ - { - connectionKey: 'gggg', - host: 'ws://localhost', - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const remoteConnectionDal = new RemoteConnectionDal(dataMock); - -describe('Remote connection DAL tests', () => { - - describe('Get remote connection', () => { - it('it should get remote connection succsessfully', async () => { - - const remoteSettings = await remoteConnectionDal.getRemoteSettings(); - expect(remoteSettings).to.deep.equal(dataMock.mockData[0]); - return; - }); - }); - - describe('Delete remote connection', () => { - it('it should delete remote connection session succsessfully', async () => { - - await remoteConnectionDal.deleteRemoteSettings(); - - expect(dataMock.mockData.length).to.deep.equal(0); - return; - }); - }); - - const newRemoteSettings: RemoteSettings = { - host: 'ws://127.0.0.1', - connectionKey: '123', - }; - - const secondNewRemoteSettings: RemoteSettings = { - host: 'ws://localhost', - connectionKey: '123456789', - }; - - describe('Set new remote settings', () => { - it('it should set remote settings succsessfully', async () => { - - await remoteConnectionDal.setRemoteSettings(newRemoteSettings); - - expect(dataMock.mockData.length).to.deep.equal(1); - return; - }); - - it('it should set second remote settings succsessfully', async () => { - - await remoteConnectionDal.setRemoteSettings(secondNewRemoteSettings); - - expect(dataMock.mockData.length).to.deep.equal(1); - return; - }); - }); - - describe('Get last new remote connection', () => { - it('it should get last remote settings succsessfully', async () => { - - const remoteSettings = await remoteConnectionDal.getRemoteSettings(); - expect(remoteSettings).to.deep.equal(secondNewRemoteSettings); - return; - }); - }); -}); diff --git a/backend/test/data-layer/sessionsDal.mock.spec.ts b/backend/test/data-layer/sessionsDal.mock.spec.ts deleted file mode 100644 index 0180f24e..00000000 --- a/backend/test/data-layer/sessionsDal.mock.spec.ts +++ /dev/null @@ -1,49 +0,0 @@ - -import { Session } from '../../src/models/backendInterfaces'; - -export class SessionsDalMock { - - public mockSessions: Session[] = [ - { - keyHash: '1234', - timeStamp: new Date().getTime(), - email: 'aa@bb.com', - }, - { - keyHash: '12345', - timeStamp: 300, - email: 'aa@bb.com', - }, - { - keyHash: '1234', - timeStamp: new Date().getTime(), - email: 'aaa@bb.com', - }, - { - keyHash: '123456', - timeStamp: new Date().getTime() - 1000, - email: 'aa@bb.com', - }, - ]; - - public async getSessions(): Promise { - return this.mockSessions; - } - - public async getSession(key: string): Promise { - for (const session of this.mockSessions) { - if (session.keyHash === key) { - return session; - } - } - throw new Error('not exsit'); - } - - public async createSession(newSession: Session): Promise { - this.mockSessions.push(newSession); - } - - public async deleteSession(session: Session): Promise { - this.mockSessions.splice(this.mockSessions.indexOf(session), 1); - } -} diff --git a/backend/test/data-layer/sessionsDal.spec.ts b/backend/test/data-layer/sessionsDal.spec.ts deleted file mode 100644 index b9cb1bf1..00000000 --- a/backend/test/data-layer/sessionsDal.spec.ts +++ /dev/null @@ -1,89 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { Configuration } from '../../src/config'; -import { SessionsDal } from '../../src/data-layer/sessionsDal'; -import { IDataIO, Session } from '../../src/models/backendInterfaces'; -import { logger } from '../../src/utilities/logger'; - -class DataIOMock implements IDataIO { - - public mockData: Session[] = [ - { - email: 'aa.bb@cc.com', - keyHash: '42343243938389343984843546574682746784346327843687324', - timeStamp: 34555435354354, - }, - { - email: 'aa@bb.com', - keyHash: '9875415248941652413541321', - timeStamp: 7777888888, - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const sessionsDal = new SessionsDal(dataMock); - -describe('Sesssion DAL tests', () => { - - describe('Get Sessions', () => { - it('it should get sessions succsessfully', async () => { - - const sessions = await sessionsDal.getSessions(); - expect(sessions).to.deep.equal(dataMock.mockData); - return; - }); - }); - - describe('Get Session by key', () => { - it('it should get session succsessfully', async () => { - - const session = await sessionsDal.getSession(dataMock.mockData[1].keyHash); - - expect(session).to.deep.equal(dataMock.mockData[1]); - return; - }); - }); - - const additionalSession: Session = { - email: 'aa.bb@cc.com', - keyHash: '0987123', - timeStamp: new Date().getTime(), - }; - - describe('Create new session', () => { - it('it should create session succsessfully', async () => { - - await sessionsDal.createSession(additionalSession); - - const session = await sessionsDal.getSession(additionalSession.keyHash); - - expect(session).to.deep.equal(additionalSession); - return; - }); - }); - - describe('Delete session', () => { - it('it should delete session succsessfully', async () => { - - await sessionsDal.deleteSession(additionalSession); - - const sessions = await sessionsDal.getSessions(); - - expect(sessions).to.have.length(dataMock.mockData.length); - return; - }); - }); -}); diff --git a/backend/test/data-layer/timingsDal.mock.spec.ts b/backend/test/data-layer/timingsDal.mock.spec.ts deleted file mode 100644 index be8b624f..00000000 --- a/backend/test/data-layer/timingsDal.mock.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { ErrorResponse, Timing } from '../../src/models/sharedInterfaces'; - -export class TimingsDalMock { - - public mockTimings: Timing[] = [ - { - isActive: true, - timingId: 'td1', - timingName: 'timing a', - timingProperties: { - once: { - date: new Date().getTime(), - }, - }, - timingType: 'once', - triggerOperationId: 'o1', - }, - { - isActive: true, - timingId: 'ts1', - timingName: 'timing as', - timingProperties: { - dailySunTrigger: { - days: [ - 'saturday', - ], - durationMinutes: -30, - sunTrigger: 'sunrise', - }, - }, - timingType: 'dailySunTrigger', - triggerOperationId: 'o1', - }, - { - isActive: true, - timingId: 'tt1', - timingName: 'timing at', - timingProperties: { - dailyTimeTrigger: { - days: [ - 'saturday', - ], - hour: 22, - minutes: 35, - }, - }, - timingType: 'dailyTimeTrigger', - triggerOperationId: 'o1', - }, - { - isActive: true, - timingId: 'to1', - timingName: 'timing to', - timingProperties: { - timeout: { - startDate: new Date().getTime(), - durationInMimutes: 1, - }, - }, - timingType: 'timeout', - triggerOperationId: 'o1', - }, - ]; - - /** - * Find timing in timings array - */ - private findTiming(timingId: string): Timing { - for (const timing of this.mockTimings) { - if (timing.timingId === timingId) { - return timing; - } - } - } - - /** - * Get all timings as array. - */ - public async getTimings(): Promise { - return this.mockTimings; - } - - /** - * Get timing by id. - * @param timingId timing id. - */ - public async getTimingById(timingId: string): Promise { - const timing = this.findTiming(timingId); - - if (!timing) { - throw new Error('timing not exist'); - } - return timing; - } - - /** - * Save new timing. - * @param newTiming timing to create. - */ - public async createTiming(newTiming: Timing): Promise { - this.mockTimings.push(newTiming); - } - - /** - * Delete timing. - * @param timing timing to delete. - */ - public async deleteTiming(timingId: string): Promise { - const originalMinion = this.findTiming(timingId); - - if (!originalMinion) { - throw new Error('timing not exist'); - } - - this.mockTimings.splice(this.mockTimings.indexOf(originalMinion), 1); - } - - /** - * Update timing. - * @param timing timing to update. - */ - public async updateTiming(timing: Timing): Promise { - const originalMinion = this.findTiming(timing.timingId); - - if (!originalMinion) { - throw { - responseCode: 4004, - message: 'timing not exist', - } as ErrorResponse; - } - - this.mockTimings.splice(this.mockTimings.indexOf(originalMinion), 1); - this.mockTimings.push(timing); - } -} diff --git a/backend/test/data-layer/usersDal.mock.spec.ts b/backend/test/data-layer/usersDal.mock.spec.ts deleted file mode 100644 index e3fe55f0..00000000 --- a/backend/test/data-layer/usersDal.mock.spec.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { User } from '../../src/models/sharedInterfaces'; - -export class UsersDalMock { - - public mockUsers: User[] = [ - { - email: 'aa@bb.com', - displayName: 'firstName1', - ignoreTfa: true, - password: '1234', - sessionTimeOutMS: 123454321, - scope: 'userAuth', - }, - { - email: 'aa@bbb.com', - displayName: 'firstName2', - ignoreTfa: true, - password: 'password', - sessionTimeOutMS: 765432, - scope: 'userAuth', - }, - { - email: 'aaa@bb.com', - displayName: 'firstName3', - ignoreTfa: false, - password: 'password', - sessionTimeOutMS: 845646, - scope: 'userAuth', - }, - { - email: 'aaa@bbb.com', - displayName: 'firstName4', - ignoreTfa: true, - password: '1234321', - sessionTimeOutMS: 123454321, - scope: 'userAuth', - }, - ]; - - public async getUsers(): Promise { - return this.mockUsers; - } - - public async getUser(email: string): Promise { - for (const user of this.mockUsers) { - if (user.email === email) { - return user; - } - } - throw new Error('user not exist'); - } - - public async createUser(newUser: User): Promise { - this.mockUsers.push(newUser); - } - - public async deleteUser(user: User): Promise { - this.mockUsers.splice(this.mockUsers.indexOf(user), 1); - } -} diff --git a/backend/test/data-layer/usersDal.spec.ts b/backend/test/data-layer/usersDal.spec.ts deleted file mode 100644 index ad47b0dd..00000000 --- a/backend/test/data-layer/usersDal.spec.ts +++ /dev/null @@ -1,122 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import { UsersDal } from '../../src/data-layer/usersDal'; -import { IDataIO, Session } from '../../src/models/backendInterfaces'; -import { User } from '../../src/models/sharedInterfaces'; -import { logger } from '../../src/utilities/logger'; - -class DataIOMock implements IDataIO { - - public mockData: User[] = [ - { - email: 'aa@bb.com', - displayName: 'firstName1', - ignoreTfa: true, - password: '1234', - sessionTimeOutMS: 123454321, - scope : 'userAuth', - }, - { - email: 'aa@bbb.com', - displayName: 'firstName2', - ignoreTfa: true, - password: 'password', - sessionTimeOutMS: 765432, - scope : 'userAuth', - }, - { - email: 'aaa@bb.com', - displayName: 'firstName3', - ignoreTfa: false, - password: 'password', - sessionTimeOutMS: 845646, - scope : 'userAuth', - }, - { - email: 'aaa@bbb.com', - displayName: 'firstName4', - ignoreTfa: true, - password: '1234321', - sessionTimeOutMS: 123454321, - scope : 'userAuth', - }, - ]; - - public getDataSync(): any[] { - return this.mockData; - } - - public async getData(): Promise { - return this.mockData; - } - - public async setData(data: any[]): Promise { - this.mockData = data; - } -} - -const dataMock = new DataIOMock(); -const usersDal = new UsersDal(dataMock); - -describe('Users DAL tests', () => { - - describe('Get Users', () => { - it('it should get users succsessfully', async () => { - - const users = await usersDal.getUsers(); - - expect(users).to.deep.equal(dataMock.mockData); - return; - }); - }); - - describe('Get User by email', () => { - it('it should get user succsessfully', async () => { - - const user = await usersDal.getUser(dataMock.mockData[2].email); - - expect(user).to.deep.equal(dataMock.mockData[2]); - return; - }); - }); - - const additionalUser: User = { - email: 'abc@dd.com', - displayName: '', - ignoreTfa: false, - password: '876', - sessionTimeOutMS: 456544355, - scope : 'userAuth', - }; - - describe('Create new user', () => { - it('it should create user succsessfully', async () => { - - await usersDal.createUser(additionalUser); - - const users = await usersDal.getUser(additionalUser.email); - - expect(users).to.deep.equal(additionalUser); - return; - }); - }); - - describe('Delete user', () => { - it('it should delete user succsessfully', async () => { - - await usersDal.deleteUser(additionalUser.email); - - const users = await usersDal.getUsers(); - - expect(users).to.have.length(dataMock.mockData.length); - return; - }); - }); - - describe('Update user', () => { - it('it should update user succsessfully', async () => { - - // TODO - }); - }); -}); diff --git a/backend/test/modules/mock/mockHandler.spec.ts b/backend/test/modules/mock/mockHandler.spec.ts deleted file mode 100644 index ae2572bd..00000000 --- a/backend/test/modules/mock/mockHandler.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { BehaviorSubject, Observable, Subscriber, Subscription } from 'rxjs'; -import { Minion } from '../../../src/models/sharedInterfaces'; -import { MockHandler } from '../../../src/modules/mock/mockHandler'; - -const mockHandler = new MockHandler(); -mockHandler.retrieveMinions.setPullMethod(async (): Promise => { - return []; -}); - -describe('Mock handler tests', () => { - - it('it should get pysical updates', (done) => { - // TODO: - // const subscription: Subscription = mockHandler.minionStatusChangedEvent.subscribe((update) => { - // if (update && update.minionId === '656565656') { - // subscription.unsubscribe(); - // done(); - // } - // }); - done(); - }).timeout(moment.duration(10, 'seconds').asMilliseconds()); -}); diff --git a/backend/test/modules/modulesManager.mock.spec.ts b/backend/test/modules/modulesManager.mock.spec.ts deleted file mode 100644 index 42e6a839..00000000 --- a/backend/test/modules/modulesManager.mock.spec.ts +++ /dev/null @@ -1,94 +0,0 @@ -import * as moment from 'moment'; -import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; -import { DeviceKind, ErrorResponse, Minion, MinionStatus } from '../../src/models/sharedInterfaces'; -import { Delay } from '../../src/utilities/sleep'; - -export class ModulesManagerMock { - - /** - * Let subscribe to any status minion changed. from any brand module. - */ - public minionStatusChangedEvent = new BehaviorSubject<{ - minionId: string; - status: MinionStatus; - }>({ - minionId: '', - status: undefined, - }); - - public get devicesKind(): DeviceKind[] { - return [ - { - brand: 'test mock', - isTokenRequierd: false, - isIdRequierd : false, - minionsPerDevice: 1, - model: 'switch demo', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: 'test mock', - isTokenRequierd: true, - isIdRequierd : false, - minionsPerDevice: 1, - model: 'switch demo with token', - suppotedMinionType: 'switch', - isRecordingSupported: false, - }, - { - brand: 'test mock', - isTokenRequierd: false, - isIdRequierd : false, - minionsPerDevice: -1, - model: 'ac demo', - suppotedMinionType: 'airConditioning', - isRecordingSupported: true, - }, - { - brand: 'test mock', - isTokenRequierd: false, - isIdRequierd : false, - minionsPerDevice: -1, - model: 'ac 2 demo', - suppotedMinionType: 'airConditioning', - isRecordingSupported: true, - }, - ]; - } - - public async getStatus(miniom: Minion): Promise { - await Delay(moment.duration(1, 'seconds')); - if (miniom.device.model === 'switch demo') { - return { - switch: { - status: 'on', - }, - }; - } else if (miniom.device.model === 'ac demo') { - return { - airConditioning: { - fanStrength: 'med', - mode: 'cold', - status: 'on', - temperature: 21, - }, - }; - } - throw { - responseCode: 4005, - message: 'unknown model', - } as ErrorResponse; - } - - public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { - await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. - return; - } - - public async refreshModules(): Promise { - } - - public async refreshModule(brand: string): Promise { - } -} diff --git a/backend/test/modules/modulesManager.spec.ts b/backend/test/modules/modulesManager.spec.ts deleted file mode 100644 index bd04a6bc..00000000 --- a/backend/test/modules/modulesManager.spec.ts +++ /dev/null @@ -1,213 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; -import { ErrorResponse, Minion, MinionStatus } from '../../src/models/sharedInterfaces'; -import { ModulesManager } from '../../src/modules/modulesManager'; - -const modulesManager = new ModulesManager(); - -const switchMinionMock: Minion = { - device: { - brand: 'mock', - model: 'switch demo', - pysicalDevice: { - mac: '4343434343', - }, - }, - minionId: 'rtvhavmnj', - minionType: 'switch', - name: 'switchMinionDemo', - isProperlyCommunicated: true, - minionStatus: { - - }, -}; - -const acMinionMock: Minion = { - device: { - brand: 'mock', - model: 'ac demo', - pysicalDevice: { - mac: '6565656565665', - }, - }, - minionId: 'frs74nhk', - minionType: 'airConditioning', - name: 'switchMinionDemo', - isProperlyCommunicated: true, - minionStatus: { - - }, -}; - -const lightMinionMock: Minion = { - device: { - brand: 'mock', - model: 'light demo', - pysicalDevice: { - mac: '6262626262', - }, - }, - minionId: 'dfjmevckrt5', - minionType: 'light', - name: 'lightMinionDemo', - isProperlyCommunicated: true, - minionStatus: { - - }, -}; - -describe('Modules Manager tests', () => { - - describe('Modules pysical updates tests', () => { - - it('it should get pysical updates', (done) => { - // TODO: - // let acArrived = false; - // const subscription = modulesManager.minionStatusChangedEvent.subscribe((update) => { - // if (update.minionId === '656565656') { - // expect(update).to.be.deep.equal({ - // minionId: '656565656', - // status: { - // airConditioning: { - // status: 'off', - // fanStrength: 'high', - // mode: 'cold', - // temperature: 20, - // }, - // }, - // }); - // acArrived = true; - // } - - // if (acArrived) { - // subscription.unsubscribe(); - // done(); - // } - // }); - done(); - }).timeout(moment.duration(20, 'seconds').asMilliseconds()); - }); - - describe('set minion status tests', () => { - - it('it should set switch minoion status', async () => { - await modulesManager.setStatus(switchMinionMock, { - switch: { - status: 'on', - }, - }); - }); - - it('it should set ac minoion status', async () => { - await modulesManager.setStatus(acMinionMock, { - airConditioning: { - status: 'off', - fanStrength: 'high', - mode: 'cold', - temperature: 20, - }, - }); - }); - - it('it should fail to set unknown light minoion status', async () => { - try { - await modulesManager.setStatus(lightMinionMock, { - airConditioning: { - status: 'off', - fanStrength: 'high', - mode: 'cold', - temperature: 20, - }, - }); - } catch (error) { - expect(error).to.be.deep.equal({ - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse); - return; - } - throw new Error('Tring to turn off unkknown light not fail.'); - }); - }); - - describe('get minion status tests', () => { - - it('it should get switch minoion status', async () => { - const status = await modulesManager.getStatus(switchMinionMock) as MinionStatus; - - expect(status).to.be.deep.equal({ - switch: { - status: 'on', - }, - }); - }); - - it('it should get ac minoion status', async () => { - const status = await modulesManager.getStatus(acMinionMock) as MinionStatus; - - expect(status).to.be.deep.equal({ - airConditioning: { - fanStrength: 'med', - mode: 'cold', - status: 'on', - temperature: 21, - }, - }); - }); - - it('it should fail to get unknown light minoion status', async () => { - try { - await modulesManager.getStatus(lightMinionMock); - } catch (error) { - expect(error).to.be.deep.equal({ - responseCode: 8404, - message: 'unknown minion model', - } as ErrorResponse); - return; - } - throw new Error('Tring get status of unkknown light not fail.'); - }); - }); - - describe('record commands tests', () => { - - it('it should record successfuly', async () => { - await modulesManager.enterRecordMode(acMinionMock, {}); - }); - - it('it should fail record', async () => { - try { - await modulesManager.enterRecordMode(switchMinionMock, {}); - } catch (error) { - expect(error).to.be.deep.equal({ - responseCode: 6409, - message: `the minioin not support command recording or sending`, - } as ErrorResponse); - return; - } - throw new Error('Tring record command on unsupported model.'); - }); - }); - - describe('generate commands tests', () => { - - it('it should generate successfuly', async () => { - await modulesManager.generateCommand(acMinionMock, {}); - }); - - it('it should fail record', async () => { - try { - await modulesManager.generateCommand(switchMinionMock, {}); - } catch (error) { - expect(error).to.be.deep.equal({ - responseCode: 6409, - message: `the minioin not support command recording or sending`, - } as ErrorResponse); - return; - } - throw new Error('Tring record command on unsupported model.'); - }); - }); -}); diff --git a/backend/test/security/authentication.spec.ts b/backend/test/security/authentication.spec.ts deleted file mode 100644 index 1ede1ed4..00000000 --- a/backend/test/security/authentication.spec.ts +++ /dev/null @@ -1,123 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as express from 'express'; -import { validSession, validSystemAdmin, validSystemUser } from '../../e2e/prepareRoutesSpecTests.spec'; -import { ErrorResponse, User } from '../../src/models/sharedInterfaces'; -import { expressAuthentication, SystemAuthScopes } from '../../src/security/authentication'; - -describe('Security scopes validation middelwere', () => { - - describe('Test certification', () => { - it('it should pass succsessfully', async () => { - const faksRequest = { - cookies: { - session: validSession.userSessionKey, - }, - }; - const user = await expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]) - .catch(() => { - throw new Error('auth fail'); - }) as User; - - // Password hash not same even if plain text is the same. - user.password = validSystemUser.password; - expect(user).to.deep.equal(validSystemUser); - return; - }); - - it('it should denied', async () => { - const faksRequest = { - cookies: { - session: 'abc1234567', - }, - }; - expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]) - .then(() => { - throw new Error('Access should denied, but bad cert passed'); - }) - .catch((err: ErrorResponse | Error) => { - const expectedError: ErrorResponse = { - responseCode: 1403, - }; - expect(err).to.deep.equal(expectedError); - }); - }); - - it('it should denied', async () => { - const faksRequest = { - cookies: { - }, - }; - expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]) - .then(() => { - throw new Error('Access should denied, but empty cert passed'); - }) - .catch((err: ErrorResponse) => { - const expectedError: ErrorResponse = { - responseCode: 1401, - }; - expect(err).to.deep.equal(expectedError); - }); - }); - - it('it should denied', async () => { - // TODO : session expierd - }); - }); - - describe('Test Auth Scopes', () => { - it('it should pass as admin scope', async () => { - const faksRequest = { - cookies: { - session: validSession.adminSessionKey, - }, - }; - const user = await expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.adminScope]) - .catch(() => { - throw new Error('admin scope auth fail'); - }) as User; - - // Password hash not same even if plain text is the same. - user.password = validSystemAdmin.password; - expect(user).to.deep.equal(validSystemAdmin); - return; - }); - - it('it should denied any access', async () => { - const faksRequest = { - cookies: { - session: validSession.userSessionKey, - }, - }; - try { - await expressAuthentication(faksRequest as express.Request, ['testScop']); - - } catch (err) { - const expectedError: ErrorResponse = { - responseCode: 1403, - }; - expect(err).to.deep.equal(expectedError); - return; - } - throw new Error('Access should throw unknow scope exception, but bad scope passed'); - }); - - it('it should denied any access', async () => { - const faksRequest = { - cookies: { - session: validSession.userSessionKey, - }, - }; - try { - await expressAuthentication(faksRequest as express.Request, ['']); - } catch (err) { - const expectedError: ErrorResponse = { - responseCode: 1403, - }; - expect(err).to.deep.equal(expectedError); - return; - } - throw new Error('Access should throw unknow scope exception, but empty scope passed'); - }); - }); -}); diff --git a/backend/test/security/schemaValidator.spec.ts b/backend/test/security/schemaValidator.spec.ts deleted file mode 100644 index 7585210b..00000000 --- a/backend/test/security/schemaValidator.spec.ts +++ /dev/null @@ -1,148 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as express from 'express'; -import { ErrorResponse, Login, RemoteSettings } from '../../src/models/sharedInterfaces'; -import { - ErrorResponseSchema, - LoginSchema, - RemoteSettingsSchema, - RequestSchemaValidator, - SchemaValidator, -} from '../../src/security/schemaValidator'; - -describe('Schema validator tests', () => { - - describe('Test login schema', () => { - it('it should pass succsessfully', async () => { - const login: Login = { - email: 'aa@bb.com', - password: '123456', - }; - const fakeRequest = { - body: login, - }; - const filterdLogin = await RequestSchemaValidator(fakeRequest as express.Request, LoginSchema) - .catch(() => { - throw new Error('auth fail'); - }); - - expect(filterdLogin).to.deep.equal({ - email: 'aa@bb.com', - password: '123456', - }); - return; - }); - - it('it should fail', async () => { - const login: Login = { - email: 'aa@bb.com', - password: '123456', - }; - delete login['email']; - const fakeRequest = { - body: login, - }; - let validationFail = true; - await RequestSchemaValidator(fakeRequest as express.Request, LoginSchema) - .then(() => { - validationFail = false; - }) - .catch((err) => { - - }); - - if (!validationFail) { - throw new Error('valiation shuold fail'); - } - - return; - }); - }); - - describe('Test RemoteSettingsSchema schema', () => { - it('it should pass ws succsessfully', async () => { - const remoteSettings: RemoteSettings = { - host: 'ws://127.0.0.1', - connectionKey: '123456', - }; - const filterdRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema) - .catch(() => { - throw new Error('valid ws RemoteSettingsSchema schema fail'); - }); - - expect(filterdRemoteSettings).to.deep.equal(remoteSettings); - }); - - it('it should pass wss succsessfully', async () => { - const remoteSettings: RemoteSettings = { - host: 'wss://localhost:8080', - connectionKey: '123456', - }; - const filterdRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema) - .catch(() => { - throw new Error('valid wss RemoteSettingsSchema schema fail'); - }); - - expect(filterdRemoteSettings).to.deep.equal(remoteSettings); - }); - - it('it should fail other protocol URI', async () => { - const remoteSettings: RemoteSettings = { - host: 'http://127.0.0.1', - connectionKey: '123456', - }; - - try { - await await SchemaValidator(remoteSettings, RemoteSettingsSchema); - } catch (error) { - return; - } - - throw new Error('invalid RemoteSettings URI schema passed validator'); - }); - - it('it should fail without protocol URI', async () => { - const remoteSettings: RemoteSettings = { - host: '127.0.0.1:8080', - connectionKey: '123456', - }; - - try { - await await SchemaValidator(remoteSettings, RemoteSettingsSchema); - } catch (error) { - return; - } - - throw new Error('invalid RemoteSettings URI schema passed validator'); - }); - }); - - describe('Test error response schema', () => { - it('it should pass succsessfully', async () => { - const error: ErrorResponse = { - responseCode: 5043, - }; - const filterdError = await SchemaValidator(error, ErrorResponseSchema) - .catch(() => { - throw new Error('valid error response schema fail'); - }); - - expect(filterdError).to.deep.equal(error); - return; - }); - - it('it should fail', async () => { - const error = { - message: '5043', - }; - - try { - await SchemaValidator(error, ErrorResponseSchema); - } catch (error) { - return; - } - - throw new Error('invalid schema passed validator'); - }); - }); -}); diff --git a/backend/test/utilities/lanManager.mock.spec.ts b/backend/test/utilities/lanManager.mock.spec.ts deleted file mode 100644 index ee875ee8..00000000 --- a/backend/test/utilities/lanManager.mock.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { LocalNetworkDevice } from '../../src/models/sharedInterfaces'; -import { Delay } from '../../src/utilities/sleep'; -import * as moment from 'moment'; - -export const localNetworkDevicesMock: LocalNetworkDevice[] = [ - { - mac: '1111111111', - ip: '192.168.1.1', - }, - { - mac: '22222222222', - ip: '192.168.1.2', - vendor: 'bla bla brand name', - - }, - { - mac: '33333333333', - ip: '192.168.1.3', - }, - { - mac: 'ac12345432', - ip: '192.168.1.90', - }, - { - mac: '0987123ac', - ip: '192.168.1.5', - }, - { - mac: '777777bb', - ip: '192.168.1.55', - }, - { - mac: '777777cc', - ip: '192.168.1.56', - }, - { - mac: '777777dd', - ip: '192.168.1.57', - }, - { - mac: '777777ee', - ip: '192.168.1.58', - vendor: 'factory name', - }, - { - mac: '111111aa', - ip: '192.168.1.59', - }, -]; - -export const localNetworkReaderMock = async (): Promise => { - - await Delay(moment.duration(1, 'seconds')); - return localNetworkDevicesMock; -}; \ No newline at end of file diff --git a/backend/test/utilities/lanManager.spec.ts b/backend/test/utilities/lanManager.spec.ts deleted file mode 100644 index 146182af..00000000 --- a/backend/test/utilities/lanManager.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; -import { LocalNetworkReader } from '../../src/utilities/lanManager'; - -describe('Local network devices util.', () => { - - describe('Get real local network table', () => { - - if (!testLongSpecs) { - return; - } - - it('it shuold get table successfuly', async () => { - const networdTable = await LocalNetworkReader(); - - expect(networdTable).to.be.a('array'); - }).timeout(moment.duration(4, 'minutes').asMilliseconds()); - }); -}); diff --git a/backend/test/utilities/sleep.spec.ts b/backend/test/utilities/sleep.spec.ts deleted file mode 100644 index c27ea487..00000000 --- a/backend/test/utilities/sleep.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import * as chai from 'chai'; -import { assert, expect } from 'chai'; -import * as moment from 'moment'; -import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; -import { Delay } from '../../src/utilities/sleep'; - -describe('Sleep utility tests', () => { - - it('it should wait requestd time', async () => { - - if (!testLongSpecs) { - return; - } - - const bedorDelay = new Date().getTime(); - - const delayDuration = moment.duration(3, 'seconds'); - await Delay(delayDuration); - - const afterDelay = new Date().getTime(); - - // Allow range of 100 ms fauls. - expect(afterDelay).to.be - .above(bedorDelay + (delayDuration.asMilliseconds() - 100)) - .below(bedorDelay + (delayDuration.asMilliseconds() + 100)); - }).timeout(moment.duration(7, 'seconds').asMilliseconds()); -}); diff --git a/backend/tests/e2e/authRoute.spec.ts b/backend/tests/e2e/authRoute.spec.ts new file mode 100644 index 00000000..8886e713 --- /dev/null +++ b/backend/tests/e2e/authRoute.spec.ts @@ -0,0 +1,99 @@ +import * as chai from 'chai'; +import { expect } from 'chai'; +import chaiHttp = require('chai-http'); +import * as moment from 'moment'; +import app from '../../src/App'; +import { Login } from '../../src/models/sharedInterfaces'; +import { + validAdminPlainPassword, + validSystemAdmin, + validSystemUser, + validUserPlainPassword, +} from './prepareRoutesSpecTests.spec'; + +chai.use(chaiHttp); +const agent = chai.request.agent(app); + +describe('Authentication routing API', () => { + describe('/POST auth/login', () => { + it('it should respond 20x as status code', done => { + const loginSchema: Login = { + email: validSystemUser.email, + password: validUserPlainPassword, + }; + + agent + .post('/API/auth/login') + .send(loginSchema) + .end((err, res) => { + expect(res.statusType).eql(2); + expect(res).cookie('session'); + done(); + }); + }).timeout(moment.duration(15, 'seconds').asMilliseconds()); + + it('it should respond 40x as status code', done => { + const loginSchema: Login = { + email: validSystemUser.email + 'e', + password: validUserPlainPassword, + }; + + agent + .post('/API/auth/login') + .send(loginSchema) + .end((err, res) => { + expect(res.statusType, 'wrong email passed').eql(4); + done(); + }); + }); + + it('it should respond 20x as status code', done => { + const loginSchema: Login = { + email: validSystemUser.email, + password: validUserPlainPassword + 'e', + }; + + agent + .post('/API/auth/login') + .send(loginSchema) + .end((err, res) => { + expect(res.statusType, 'wrong pasword passed').eql(4); + done(); + }); + }); + }); + + describe('/POST auth/login/tfa', () => { + it('it should respond 20x as status code', done => { + const loginSchema: Login = { + email: validSystemUser.email, + password: validUserPlainPassword, + }; + + agent + .post('/API/auth/login/tfa') + .send(loginSchema) + .end((err, res) => { + expect(res.statusType).eql(4); + done(); + }); + }); + }); + + describe('/POST auth/logout', () => { + it('it should respond 20x as status code', done => { + agent.post('/API/auth/logout').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should respond 40x as status code', done => { + const unauthAgent = chai.request.agent(app); + unauthAgent.post('/API/auth/logout').end((err, res) => { + expect(res.statusType).eql(4); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/devicesRoute.spec.ts b/backend/tests/e2e/devicesRoute.spec.ts new file mode 100644 index 00000000..a8e269ad --- /dev/null +++ b/backend/tests/e2e/devicesRoute.spec.ts @@ -0,0 +1,53 @@ +import { expect } from 'chai'; +import * as moment from 'moment'; +import { LocalNetworkDevice } from '../../src/models/sharedInterfaces'; +import { testLongSpecs, validUserAgent } from './prepareRoutesSpecTests.spec'; + +describe('Devices routing API', () => { + describe('/GET devices', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/devices').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET devices/kinds', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/devices/kinds').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/PUT devices/{deviceMac}', () => { + it('it should respond 20x as status code', done => { + const device: LocalNetworkDevice = { + mac: '1111111111', + name: 'dfdff', + }; + validUserAgent + .put(`/API/devices/${device.mac}`) + .send(device) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST devices/rescan', () => { + if (!testLongSpecs) { + return; + } + + it('it should respond 20x as status code', done => { + validUserAgent.post('/API/devices/rescan').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }).timeout(moment.duration(5, 'minutes').asMilliseconds()); + }); +}); diff --git a/backend/tests/e2e/minionsRoute.spec.ts b/backend/tests/e2e/minionsRoute.spec.ts new file mode 100644 index 00000000..d8a40b10 --- /dev/null +++ b/backend/tests/e2e/minionsRoute.spec.ts @@ -0,0 +1,223 @@ +import { expect } from 'chai'; +import * as moment from 'moment'; +import { MinionsDalSingleton } from '../../src/data-layer/minionsDal'; +import { + ErrorResponse, + Minion, + MinionRename, + MinionStatus, + SetMinionAutoTurnOff, +} from '../../src/models/sharedInterfaces'; +import { validUserAgent } from './prepareRoutesSpecTests.spec'; + +const minioinMock: Minion = { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '45543544', + }, + }, + isProperlyCommunicated: true, + minionId: 'm1', + minionType: 'switch', + minionStatus: {}, + name: 'bla bla 1', +}; +MinionsDalSingleton.createMinion(minioinMock) + .then(() => { + console.log('Generate mock minion in data successfuly'); + }) + .catch(() => { + console.warn('Fail to generate mock minion in data'); + }); + +const minioinAcMock: Minion = { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: '45543dd544', + }, + }, + isProperlyCommunicated: true, + minionId: 'm2', + minionType: 'airConditioning', + minionStatus: {}, + name: 'bla bla ac 2', +}; +MinionsDalSingleton.createMinion(minioinAcMock) + .then(() => { + console.log('Generate mock ac minion in data successfully'); + }) + .catch(() => { + console.warn('Fail to generate mock ac minion in data'); + }); + +describe('Minions routing API', () => { + describe('/GET minions', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/minions').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET minions/{minionId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/minions/m1').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST minions', () => { + it('it should respond 501 as status code', done => { + const minion: Minion = { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: '????????', + }, + }, + minionType: 'light', + name: 'dfdf', + minionStatus: {}, + }; + validUserAgent + .post('/API/minions') + .send(minion) + .end((err, res) => { + const errorResponse: ErrorResponse = { + responseCode: 2404, + message: 'device not exist in lan network', + }; + expect(res.body).to.be.deep.equal(errorResponse); + done(); + }); + }); + }); + + describe('/PUT minions/{minionId}', () => { + it('it should respond 20x as status code', done => { + const minionStatus: MinionStatus = { + switch: { + status: 'off', + }, + }; + validUserAgent + .put('/API/minions/m1') + .send(minionStatus) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/DELETE minions/{minionId}', () => { + it('it should respond 501 as status code', done => { + validUserAgent.del('/API/minions/minionId').end((err, res) => { + const errorResponse: ErrorResponse = { + responseCode: 1404, + message: 'minion not exist', + }; + expect(res.body).to.be.deep.equal(errorResponse); + done(); + }); + }); + }); + + describe('/PUT minions/timeout/{minionId}', () => { + it('it should respond 20x as status code', done => { + const minionUpdate: SetMinionAutoTurnOff = { + setAutoTurnOffMS: 50000, + }; + validUserAgent + .put('/API/minions/timeout/m1') + .send(minionUpdate) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/PUT minions/rename/{minionId}', () => { + it('it should change the minion name successfully', async () => { + const minionUpdate: MinionRename = { + name: 'other name', + }; + const response = await validUserAgent.put('/API/minions/rename/m1').send(minionUpdate); + + expect(response.statusType).eql(2); + + const getResponse = await validUserAgent.get('/API/minions/m1').send(); + + expect(getResponse.body) + .to.have.property('name') + .eq('other name'); + }); + }); + + describe('/POST rf/record/{minionId}', () => { + it('it should respond 20x as status code', done => { + const minionStatus: MinionStatus = { + airConditioning: { + fanStrength: 'high', + mode: 'auto', + status: 'on', + temperature: 21, + }, + }; + validUserAgent + .post('/API/rf/record/m2') + .send(minionStatus) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST rf/generate/{minionId}', () => { + it('it should respond 20x as status code', done => { + const minionStatus: MinionStatus = { + airConditioning: { + fanStrength: 'high', + mode: 'auto', + status: 'on', + temperature: 21, + }, + }; + validUserAgent + .post('/API/rf/generate/m2') + .send(minionStatus) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST minions/rescan', () => { + it('it should respond 20x as status code', done => { + validUserAgent.post('/API/minions/rescan').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }).timeout(moment.duration(5, 'seconds').asMilliseconds()); + }); + + describe('/POST minions/rescan/{minionId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.post('/API/minions/rescan/m1').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/operationsRoute.spec.ts b/backend/tests/e2e/operationsRoute.spec.ts new file mode 100644 index 00000000..ee6f21e9 --- /dev/null +++ b/backend/tests/e2e/operationsRoute.spec.ts @@ -0,0 +1,96 @@ +import { expect } from 'chai'; +import { OperationsDalSingleton } from '../../src/data-layer/operationsDal'; +import { Operation } from '../../src/models/sharedInterfaces'; +import { validUserAgent } from './prepareRoutesSpecTests.spec'; + +const operationMock: Operation = { + operationId: 'o1', + operationName: 'operation a', + activities: [], +}; + +OperationsDalSingleton.createOperation(operationMock) + .then(() => { + console.log('Generate mock operation in data successfuly'); + }) + .catch(() => { + console.warn('Fail to operation mock minion in data'); + }); + +describe('Operations routing API', () => { + describe('/GET operations/{operationId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/operations/o1').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + const operationToPost: Operation = { + activities: [], + operationId: 'sdsds', + operationName: 'sdsd', + }; + + describe('/POST operations', () => { + it('it should respond 20x as status code', done => { + validUserAgent + .post('/API/operations') + .send(operationToPost) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET operations', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/operations').end((err, res) => { + expect(res.statusType).eql(2); + + // By the way, update the posted operation id. + const operations: Operation[] = res.body; + operationToPost.operationId = operations[operations.length - 1].operationId; + + done(); + }); + }); + }); + + describe('/PUT operations/{userId}', () => { + it('it should respond 20x as status code', done => { + const operation: Operation = { + activities: [], + operationId: 'sdsds', + operationName: 'sdsd', + }; + validUserAgent + .put(`/API/operations/${operationToPost.operationId}`) + .send(operation) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST operations/trigger/{operationId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.post(`/API/operations/trigger/${operationToPost.operationId}`).end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/DELETE operations/{operationId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.del(`/API/operations/${operationToPost.operationId}`).end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/prepareRoutesSpecTests.spec.ts b/backend/tests/e2e/prepareRoutesSpecTests.spec.ts new file mode 100644 index 00000000..10c1dbc4 --- /dev/null +++ b/backend/tests/e2e/prepareRoutesSpecTests.spec.ts @@ -0,0 +1,152 @@ +import * as bcrypt from 'bcryptjs'; +import * as chai from 'chai'; +import chaiHttp = require('chai-http'); +import app from '../../src/App'; +import { Configuration } from '../../src/config'; +import { UsersDalSingleton } from '../../src/data-layer/usersDal'; +import { Login, Minion } from '../../src/models/sharedInterfaces'; +import { User } from '../../src/models/sharedInterfaces'; + +/** + * Prepare chai session agent. + */ +chai.use(chaiHttp); +const userAgent = chai.request.agent(app); +const adminAgent = chai.request.agent(app); + +/** + * Reset data, for testing all system flow. + */ +const unHashedUserPassword = '2574653478565761341114'; +const signInUser: User = { + email: 'user@casa.net', + displayName: 'user account', + ignoreTfa: true, + password: bcrypt.hashSync(unHashedUserPassword, Configuration.keysHandling.bcryptSaltRounds), + scope: 'userAuth', +}; + +const unHashedAdminPassword = 'fdsfdjhhg743278956djkb'; +const signInAdmin: User = { + email: 'admin@casa.net', + displayName: 'admin account', + ignoreTfa: true, + password: bcrypt.hashSync(unHashedAdminPassword, Configuration.keysHandling.bcryptSaltRounds), + scope: 'adminAuth', +}; + +/** + * Hold keys in struct for export by ref and not by val. + */ +const sessionKey: { userSessionKey?: string; adminSessionKey?: string } = {}; + +/** + * Create user to login to it, and then all system specs can use it in as routing cert. + */ +UsersDalSingleton.createUser(signInUser).then(() => { + /** + * The valied login schema model. + */ + const loginSchema: Login = { + email: signInUser.email, + password: unHashedUserPassword, + }; + + /** + * Login to system then the load session agent can be used + * in other spec's to check thire tests. + */ + userAgent + .post('/API/auth/login') + .send(loginSchema) + .end((err, res) => { + if (err || res.statusType !== 2) { + console.error('Perpare user agent fail, all API tests specs that need user certs will fail too.'); + } else { + const cookie: string = res['headers']['set-cookie'][0] as string; + sessionKey.userSessionKey = cookie.split(';')[0].split('=')[1]; + } + }); + + /** + * Create admin user. + */ + UsersDalSingleton.createUser(signInAdmin).then(() => { + /** + * The valid login schema model. + */ + const loginAdminSchema: Login = { + email: signInAdmin.email, + password: unHashedAdminPassword, + }; + + /** + * Same as user agent just in admin certs. + */ + adminAgent + .post('/API/auth/login') + .send(loginAdminSchema) + .end((err, res) => { + if (err || res.statusType !== 2) { + console.error('Perpare admin agent fail, all API tests specs that need admin certs will fail too.'); + } else { + const cookie: string = res['headers']['set-cookie'][0] as string; + sessionKey.adminSessionKey = cookie.split(';')[0].split('=')[1]; + } + }); + }); +}); + +/** + * Check if user want test the long time tests sucj as scanning real network etc. + */ +const testLongSpecsSelection = process.env.TEST_LONG_SPECS !== 'false'; +if (testLongSpecsSelection) { + console.log(`Testing all specs, to avoid long time duration test set TEST_LONG_SPECS env var to 'false'`); +} else { + console.log(`Avoiding long time duration specs, to change it set TEST_LONG_SPECS env var to 'true'`); +} + +/** + * API + */ + +/** + * A valid user password. + */ +export const validUserPlainPassword = unHashedUserPassword; + +/** + * A valid user password. + */ +export const validAdminPlainPassword = unHashedAdminPassword; + +/** + * A valid user object. + */ +export const validSystemUser = signInUser; + +/** + * A valid user (with admin permission) object. + */ +export const validSystemAdmin = signInAdmin; + +/** + * A valid sessions cookie session key. + */ +export const validSession = sessionKey; + +/** + * An express test agent with valid cookie as user. + */ +export const validUserAgent = userAgent; + +/** + * An express test agent with valid cookie as admin. + */ +export const validAdminAgent = adminAgent; + +/** + * Mark if user want to test all tests, even the long time tests. + */ +export const testLongSpecs: boolean = testLongSpecsSelection; diff --git a/backend/tests/e2e/remoteConnectionRoute.spec.ts b/backend/tests/e2e/remoteConnectionRoute.spec.ts new file mode 100644 index 00000000..59d6e58b --- /dev/null +++ b/backend/tests/e2e/remoteConnectionRoute.spec.ts @@ -0,0 +1,77 @@ +import { expect } from 'chai'; +import { RemoteSettings, User } from '../../src/models/sharedInterfaces'; +import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; + +describe('Remote connection routing API', () => { + describe('/GET remote', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/remote').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET remote/status', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/remote/status').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + const remoteSettings: RemoteSettings = { + host: 'ws://127.0.0.1/', + connectionKey: 'abracadabra', + }; + + describe('/PUT remote', () => { + it('it should respond 20x as status code', done => { + validAdminAgent + .put('/API/remote') + .send(remoteSettings) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should respond 40x as status code', done => { + validUserAgent + .put('/API/remote') + .send(remoteSettings) + .end((err, res) => { + expect(res.statusType, 'user cant edit remote connection').eql(4); + done(); + }); + }); + + it('it should respond 50x as status code', done => { + remoteSettings.host = 'invalied.com/wrong'; + validAdminAgent + .put('/API/remote') + .send(remoteSettings) + .end((err, res) => { + expect(res.statusType).eql(5); + done(); + }); + }); + }); + + describe('/DELETE remote', () => { + it('it should respond 40x as status code', done => { + validUserAgent.del('/API/remote').end((err, res) => { + expect(res.statusType, 'user cant edit remote connection').eql(4); + done(); + }); + }); + + it('it should respond 20x as status code', done => { + validAdminAgent.del('/API/remote').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/timingsRoute.spec.ts b/backend/tests/e2e/timingsRoute.spec.ts new file mode 100644 index 00000000..e5441c7d --- /dev/null +++ b/backend/tests/e2e/timingsRoute.spec.ts @@ -0,0 +1,78 @@ +import { expect } from 'chai'; +import { TimingsDalSingleton } from '../../src/data-layer/timingsDal'; +import { Timing } from '../../src/models/sharedInterfaces'; +import { validUserAgent } from './prepareRoutesSpecTests.spec'; + +const timingMock: Timing = { + isActive: true, + timingId: 'td1', + timingName: 'timing a', + timingProperties: { + once: { + date: 77777, + }, + }, + timingType: 'once', + triggerOperationId: 'o1', +}; + +TimingsDalSingleton.createTiming(timingMock) + .then(() => { + console.log('Generate mock timing in data successfuly'); + }) + .catch(() => { + console.warn('Fail to generate mock timing in data'); + }); +describe('Timings routing API', () => { + describe('/GET timings', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/timings').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET timings/{timingId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/timings/td1').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/POST timings', () => { + it('it should respond 20x as status code', done => { + validUserAgent + .post('/API/timings') + .send(timingMock) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/PUT timings/{userId}', () => { + it('it should respond 20x as status code', done => { + timingMock.isActive = false; + validUserAgent + .put('/API/timings/td1') + .send(timingMock) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/DELETE timings/{timingId}', () => { + it('it should respond 20x as status code', done => { + validUserAgent.del('/API/timings/td1').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/usersRoute.spec.ts b/backend/tests/e2e/usersRoute.spec.ts new file mode 100644 index 00000000..3dd98268 --- /dev/null +++ b/backend/tests/e2e/usersRoute.spec.ts @@ -0,0 +1,141 @@ +import { expect } from 'chai'; +import { User } from '../../src/models/sharedInterfaces'; +import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; + +describe('Users routing API', () => { + describe('/GET users/profile', () => { + it('it should respond 20x as status code', done => { + validAdminAgent.get('/API/users/profile').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); + + describe('/GET users', () => { + it('it should respond 20x as status code', done => { + validAdminAgent.get('/API/users').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should never let passwords in response', done => { + validAdminAgent.get('/API/users').end((err, res) => { + const users = res.body as User[]; + for (const user of users) { + if (user.password) { + throw new Error('server should never let password get out. even it was hashed.'); + } + } + done(); + }); + }); + + it('it should respond 40x as status code', done => { + validUserAgent.get('/API/users').end((err, res) => { + expect(res.statusType).eql(4); + done(); + }); + }); + }); + + describe('/GET users/{userId}', () => { + it('it should respond 20x as status code', done => { + validAdminAgent.get('/API/users/user@casa.net').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should never let password in response', done => { + validAdminAgent.get('/API/users/user@casa.net').end((err, res) => { + const user = res.body as User; + if (user.password) { + throw new Error('server should never let password get out. even it was hashed.'); + } + done(); + }); + }); + + it('it should respond 20x as status code', done => { + validUserAgent.get('/API/users/user@casa.net').end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should respond 50x as status code', done => { + validUserAgent.get('/API/users/aa@bb.com').end((err, res) => { + expect(res.statusType).eql(5); + done(); + }); + }); + }); + + const newUser: User = { + displayName: 'create by users API e2e', + ignoreTfa: false, + email: 'aa@bb.com', + password: '1234567890', + scope: 'userAuth', + }; + + describe('/POST users', () => { + it('it should respond 40x as status code', done => { + validUserAgent + .post('/API/users') + .send(newUser) + .end((err, res) => { + expect(res.statusType).eql(4); + done(); + }); + }); + + it('it should respond 20x as status code', done => { + validAdminAgent + .post('/API/users') + .send(newUser) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should respond 50x as status code', done => { + validAdminAgent + .post('/API/users') + .send(newUser) + .end((err, res) => { + expect(res.statusType).eql(5); + done(); + }); + }); + }); + + describe('/PUT users/{userId}', () => { + it('it should respond 20x as status code', done => { + newUser.displayName = 'update by admin'; + validAdminAgent + .put(`/API/users/${newUser.email}`) + .send(newUser) + .end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + + it('it should refused change user scope', done => { + done(); + }); + }); + + describe('/DELETE users/{userId}', () => { + it('it should respond 20x as status code', done => { + validAdminAgent.del(`/API/users/${newUser.email}`).end((err, res) => { + expect(res.statusType).eql(2); + done(); + }); + }); + }); +}); diff --git a/backend/tests/e2e/vulnerability.spec.ts b/backend/tests/e2e/vulnerability.spec.ts new file mode 100644 index 00000000..acae2154 --- /dev/null +++ b/backend/tests/e2e/vulnerability.spec.ts @@ -0,0 +1,39 @@ +import { expect } from 'chai'; +import * as moment from 'moment'; +import app from '../../src/App'; +import { Configuration } from '../../src/config'; +import { User } from '../../src/models/sharedInterfaces'; +import { DeepCopy } from '../../src/utilities/deepCopy'; +import { validAdminAgent, validUserAgent } from './prepareRoutesSpecTests.spec'; + +describe('Test vulnerability specs in API', () => { + /** Allows test max request rate on specific IP. */ + app.enable('trust proxy'); + + describe('RateLimit', () => { + it('it should denied requests after max limits', async () => { + for (let i = 0; i < Configuration.requestsLimit.maxRequests; i++) { + await validAdminAgent + .get('/API/users/profile') + .set('X-Forwarded-For', '7.7.7.7') + .send(); + } + const response = await validAdminAgent + .get('/API/users/profile') + .set('X-Forwarded-For', '7.7.7.7') + .send(); + expect(response.status).to.be.eql(429); + }).timeout(moment.duration(10, 'seconds').asMilliseconds()); + }); + + describe('sanitizeData', () => { + it('it should denied requests after max limits', async () => { + const responseA = await validAdminAgent.get('/API/users/profile').send(); + const userWithXss: User = DeepCopy(responseA.body); + userWithXss.displayName += ''; + const responseB = await validAdminAgent.put(`/API/users/${userWithXss.email}`).send(userWithXss); + const responseC = await validAdminAgent.get('/API/users/profile').send(); + expect(responseC.body).to.be.deep.equal(responseA.body); + }); + }); +}); diff --git a/backend/tests/unit/business-layer/authBl.spec.ts b/backend/tests/unit/business-layer/authBl.spec.ts new file mode 100644 index 00000000..da26bd51 --- /dev/null +++ b/backend/tests/unit/business-layer/authBl.spec.ts @@ -0,0 +1,95 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as cryptoJs from 'crypto-js'; +import * as express from 'express'; +import { AuthBl, sessionExpiresMs } from '../../../src/business-layer/authBl'; +import { SessionsBl } from '../../../src/business-layer/sessionsBl'; +import { UsersBl } from '../../../src/business-layer/usersBl'; +import { Configuration } from '../../../src/config'; +import { SessionsDal } from '../../../src/data-layer/sessionsDal'; +import { UsersDal } from '../../../src/data-layer/usersDal'; +import { ErrorResponse, User } from '../../../src/models/sharedInterfaces'; +import { SessionsDalMock } from '../data-layer/sessionsDal.mock.spec'; +import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; + +const usersDalMock = new UsersDalMock(); +const sessionsDalMock = new SessionsDalMock(); +const authBlMock = new AuthBl( + new SessionsBl((sessionsDalMock as unknown) as SessionsDal), + new UsersBl((usersDalMock as unknown) as UsersDal), +); + +const GENERIC_ERROR_RESPONSE: ErrorResponse = { + responseCode: 2403, + message: 'username or password is incorrect', +}; + +describe('Authentication BL tests', () => { + describe('Login to system', () => { + it('it should login succsessfully', async () => { + const expressResponseMock: unknown = { + cookie: (sessionName: string, sessionKey: string, options: {}) => { + expect(sessionName).to.equal('session'); + expect(sessionKey) + .to.be.a('string') + .length.above(60); + expect(options).to.be.deep.equal({ + sameSite: true, + httpOnly: true, // minimize risk of XSS attacks by restricting the client from reading the cookie + secure: Configuration.http.useHttps, // only send cookie over https + maxAge: sessionExpiresMs, + }); + }, + }; + const pass = usersDalMock.mockUsers[0].password; + const passHash = cryptoJs.SHA256(pass).toString(); + usersDalMock.mockUsers[0].password = passHash; + await authBlMock.login(expressResponseMock as express.Response, { + email: usersDalMock.mockUsers[0].email, + password: pass, + }); + }); + + it('it should denied login', async () => { + const expressResponseMock: unknown = { + cookie: (sessionName: string, sessionKey: string, options: {}) => { + throw new Error('login request should be forbidden, the user name not exist'); + }, + }; + const error = await authBlMock.login(expressResponseMock as express.Response, { + email: usersDalMock.mockUsers[0].email + 'ttt', + password: usersDalMock.mockUsers[0].password, + }); + + expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); + }); + + it('it should denied login', async () => { + const expressResponseMock: unknown = { + cookie: (sessionName: string, sessionKey: string, options: {}) => { + throw new Error('login request should be forbidden, the user passwrod incorrect'); + }, + }; + const error = await authBlMock.login(expressResponseMock as express.Response, { + email: usersDalMock.mockUsers[0].email, + password: usersDalMock.mockUsers[0].password + 'ttt', + }); + + expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); + }); + + it('it should denied login ta', async () => { + const expressResponseMock: unknown = { + cookie: (sessionName: string, sessionKey: string, options: {}) => { + throw new Error('login request should be forbidden, the user MFA code never required'); + }, + }; + const error = await authBlMock.loginTfa(expressResponseMock as express.Response, { + email: usersDalMock.mockUsers[0].email, + password: usersDalMock.mockUsers[0].password, + }); + + expect(error).to.deep.equal(GENERIC_ERROR_RESPONSE); + }); + }); +}); diff --git a/backend/tests/unit/business-layer/devicesBl.spec.ts b/backend/tests/unit/business-layer/devicesBl.spec.ts new file mode 100644 index 00000000..987c6079 --- /dev/null +++ b/backend/tests/unit/business-layer/devicesBl.spec.ts @@ -0,0 +1,173 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; +import { DevicesBl } from '../../../src/business-layer/devicesBl'; +import { DevicesDal } from '../../../src/data-layer/devicesDal'; +import { + DeviceKind, + ErrorResponse, + LocalNetworkDevice, + Minion, + MinionStatus, + User, +} from '../../../src/models/sharedInterfaces'; +import { ModulesManager } from '../../../src/modules/modulesManager'; +import { Delay } from '../../../src/utilities/sleep'; +import { DevicesDalMock } from '../data-layer/devicesDal.mock.spec'; +import { ModulesManagerMock } from '../modules/modulesManager.mock.spec'; +import { localNetworkDevicesMock, localNetworkReaderMock } from '../utilities/lanManager.mock.spec'; + +const devicesDalMock = new DevicesDalMock(); +const modulesManagerMock = new ModulesManagerMock(); + +const devicesBlMock = new DevicesBl( + (devicesDalMock as unknown) as DevicesDal, + localNetworkReaderMock, + (modulesManagerMock as unknown) as ModulesManager, +); + +describe('Devices BL tests', () => { + describe('Get local devices', () => { + it('it should get devices succsessfully', async () => { + /** + * Befor getting any device, needs to scan network. + */ + await devicesBlMock.rescanNetwork(); + + const devices = await devicesBlMock.getDevices(); + + expect(devices).length(localNetworkDevicesMock.length); + + return; + }).timeout(moment.duration(2.5, 'seconds').asMilliseconds()); + + it('it should load names succsessfully', async () => { + const devices = await devicesBlMock.getDevices(); + + const localDevices: LocalNetworkDevice = { + mac: '22222222222', + ip: '192.168.1.2', + vendor: 'bla bla brand name', + name: 'second', + }; + expect(devices).to.deep.include(localDevices); + return; + }); + }); + + describe('Set devices name', () => { + it('it should set name succsessfully', async () => { + const localDevices: LocalNetworkDevice = { + mac: '22222222222', + ip: '192.168.1.2', + vendor: 'bla bla brand name', + name: 'new second name', + }; + + await devicesBlMock.setDeviceName(localDevices); + + expect(devicesDalMock.mockDevicesNamesMap).to.deep.include(localDevices); + }); + + it('it should set name only succsessfully', async () => { + const localDevices: LocalNetworkDevice = { + mac: '22222222222', + ip: '192.168.1.22', + vendor: 'bla bla brand name', + name: 'some other name', + }; + + await devicesBlMock.setDeviceName(localDevices); + + localDevices.ip = '192.168.1.2'; + + expect(devicesDalMock.mockDevicesNamesMap).to.deep.include(localDevices); + return; + }); + }); + + describe('Rescan network devices', () => { + it('it should scan devices succsessfully', async () => { + const newNetworkDevice: LocalNetworkDevice = { + mac: '5555555', + ip: '192.168.1.5', + vendor: 'the new device', + }; + localNetworkDevicesMock.push(newNetworkDevice); + + await devicesBlMock.rescanNetwork(); + + const devices = await devicesBlMock.getDevices(); + + expect(devices).length(localNetworkDevicesMock.length); + expect(devices).to.include(newNetworkDevice); + }); + }); + + describe('Get system devices kinds', () => { + it('it should get devices succsessfully', async () => { + const devicesKinds = await devicesBlMock.getDevicesKins(); + + expect(devicesKinds).to.be.deep.equal(modulesManagerMock.devicesKind); + }); + }); + + describe('Feed devices update', () => { + it('it should update name changes', done => { + const localDevices: LocalNetworkDevice = { + mac: '22222222222', + ip: '192.168.1.2', + vendor: 'bla bla brand name', + name: 'update to a new other name', + }; + const subscription = devicesBlMock.devicesUpdate.subscribe(devices => { + if (!devices || devices.length < 1) { + return; + } + + for (const device of devices) { + if (device.mac === localDevices.mac && device.name === localDevices.name) { + subscription.unsubscribe(); + done(); + return; + } + } + }); + + Delay(moment.duration(1, 'seconds')).then(() => { + devicesBlMock.setDeviceName(localDevices); + }); + }).timeout(moment.duration(10, 'seconds').asMilliseconds()); + + it('it should update devices network data changed', done => { + const networkDevicesExpected = localNetworkDevicesMock[1]; + networkDevicesExpected.ip = '192.168.1.77'; + + let specDone = false; + const subscription = devicesBlMock.devicesUpdate.subscribe(devices => { + if (!devices || devices.length < 1) { + return; + } + + if (specDone) { + if (subscription) { + subscription.unsubscribe(); + } + return; + } + for (const device of devices) { + if (networkDevicesExpected.mac === device.mac && networkDevicesExpected.ip === device.ip) { + specDone = true; + done(); + return; + } + } + }); + + Delay(moment.duration(1, 'seconds')).then(() => { + devicesBlMock.rescanNetwork(); + }); + }); + }); +}); diff --git a/backend/tests/unit/business-layer/minionsBl.mock.spec.ts b/backend/tests/unit/business-layer/minionsBl.mock.spec.ts new file mode 100644 index 00000000..7da7030e --- /dev/null +++ b/backend/tests/unit/business-layer/minionsBl.mock.spec.ts @@ -0,0 +1,249 @@ +import * as moment from 'moment'; +import * as randomstring from 'randomstring'; +import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; +import { DeviceKind, ErrorResponse, Minion, MinionFeed, MinionStatus } from '../../../src/models/sharedInterfaces'; +import { Delay } from '../../../src/utilities/sleep'; + +export class MinionsBlMock { + /** + * minions + */ + public minionsMock: Minion[] = []; + + /** + * Minions status update feed. + */ + public minionFeed = new BehaviorSubject(undefined); + + constructor() {} + + /** + * Find minion in minions array. + * @param minionId minioin id. + */ + private findMinion(minionId: string): Minion { + for (const minion of this.minionsMock) { + if (minion.minionId === minionId) { + return minion; + } + } + } + + /** + * API + */ + + /** + * Gets minons array. + */ + public async getMinions(): Promise { + return this.minionsMock; + } + + /** + * Get minion by id. + * @param minionId minion id. + */ + public async getMinionById(minionId: string): Promise { + const minion = this.findMinion(minionId); + + if (!minion) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + return minion; + } + + /** + * Scan all minions real status. + * mean update minions cache by request each device what is the real status. + */ + public async scanMinionsStatus(): Promise { + await Delay(moment.duration(2, 'seconds')); + } + + /** + * Scan minion real status. + * mean update minions cache by request the device what is the real status. + */ + public async scanMinionStatus(minionId: string): Promise { + const minioin = this.findMinion(minionId); + if (!minioin) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + await Delay(moment.duration(2, 'seconds')); + } + + /** + * Set minon status + * @param minionId minion to set new status to. + * @param minionStatus the status to set. + */ + public async setMinionStatus(minionId: string, minionStatus: MinionStatus): Promise { + const minion = this.findMinion(minionId); + if (!minion) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + + /** + * The minion status is depend on minion type. + */ + if (!minionStatus[minion.minionType]) { + throw { + responseCode: 4122, + message: 'incorrect minion status, for current minion type', + } as ErrorResponse; + } + + /** + * set the status. + */ + // await this.modulesManager.setStatus(minion, minionStatus) + // .catch((err) => { + // minion.isProperlyCommunicated = false; + // throw err; + // }) + + minion.isProperlyCommunicated = true; + + /** + * If success, update minion to new status. + */ + minion.minionStatus = minionStatus; + + /** + * Send minions feed update. + */ + this.minionFeed.next({ + event: 'update', + minion, + }); + } + + /** + * Set minoin timeout property. + */ + public async setMinionTimeout(minionId: string, minion: Minion): Promise { + const originalMinion = this.findMinion(minionId); + if (!originalMinion) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + + originalMinion.minionAutoTurnOffMS = minion.minionAutoTurnOffMS; + + /** + * TODO: save updates, not all is status, some is timeout.... + */ + // this.minionsDal.saveUpdate(); + + /** + * Send minion feed update + */ + this.minionFeed.next({ + event: 'update', + minion: originalMinion, + }); + } + + /** + * Create new minon + * @param minion minon to create. + */ + public async createMinion(minion: Minion): Promise { + /** + * check if minion valid. + */ + // const error = this.validateNewMinion(minion); + // if (error) { + // throw error; + // } + + /** + * get local devices (to load corrent pysical info such as ip) + */ + // const localDevices = await this.devicesBl.getDevices(); + // let foundLocalDevice = false; + // for (const localDevice of localDevices) { + // if (localDevice.mac === minion.device.pysicalDevice.mac) { + // minion.device.pysicalDevice = localDevice; + // foundLocalDevice = true; + // break; + // } + // } + + // if (!foundLocalDevice) { + // throw { + // responseCode: 4522, + // message: 'device not exist in lan network', + // } as ErrorResponse; + // } + + /** + * Generate new id. (never trust client....) + */ + minion.minionId = randomstring.generate(5); + + /** + * Create new minion in dal. + */ + // await this.minionsDal.createMinion(minion); + + /** + * Send create new minion feed update (*befor* try to get the status!!!) + */ + this.minionFeed.next({ + event: 'created', + minion, + }); + + /** + * Try to get current status. + */ + // await this.modulesManager.getStatus(minion) + // .then((status: MinionStatus) => { + // minion.minionStatus = status; + // }) + // .catch(() => { + + // }); + } + + /** + * Delete minoin + * @param minionId minion id to delete + */ + public async deleteMinion(minionId: string): Promise { + const originalMinion = this.findMinion(minionId); + if (!originalMinion) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + + // await this.minionsDal.deleteMinion(originalMinion); + + // The minoins arrat is given from DAL by ref, mean if removed + // from dal it will removed from BL too, so check if exist + // (if in next someone will copy by val) and then remove. + if (this.minionsMock.indexOf(originalMinion) !== -1) { + this.minionsMock.splice(this.minionsMock.indexOf(originalMinion), 1); + } + + this.minionFeed.next({ + event: 'removed', + minion: originalMinion, + }); + } +} diff --git a/backend/tests/unit/business-layer/minionsBl.spec.ts b/backend/tests/unit/business-layer/minionsBl.spec.ts new file mode 100644 index 00000000..c6a88965 --- /dev/null +++ b/backend/tests/unit/business-layer/minionsBl.spec.ts @@ -0,0 +1,644 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; +import { DevicesBl } from '../../../src/business-layer/devicesBl'; +import { MinionsBl } from '../../../src/business-layer/minionsBl'; +import { DevicesDal } from '../../../src/data-layer/devicesDal'; +import { MinionsDal } from '../../../src/data-layer/minionsDal'; +import { + DeviceKind, + ErrorResponse, + LocalNetworkDevice, + Minion, + MinionDevice, + MinionStatus, + User, +} from '../../../src/models/sharedInterfaces'; +import { ModulesManager } from '../../../src/modules/modulesManager'; +import { Delay } from '../../../src/utilities/sleep'; +import { DevicesDalMock } from '../data-layer/devicesDal.mock.spec'; +import { MinionsDalMock } from '../data-layer/minionsDal.mock.spec'; +import { ModulesManagerMock } from '../modules/modulesManager.mock.spec'; +import { localNetworkReaderMock } from '../utilities/lanManager.mock.spec'; + +const devicesDalMock = new DevicesDalMock(); +const modulesManagerMock = new ModulesManagerMock(); +const minionsDalMock = new MinionsDalMock(); + +const devicesBlMock = new DevicesBl( + (devicesDalMock as unknown) as DevicesDal, + localNetworkReaderMock, + (modulesManagerMock as unknown) as ModulesManager, +); + +const minionsBl = new MinionsBl( + (minionsDalMock as unknown) as MinionsDal, + devicesBlMock, + (modulesManagerMock as unknown) as ModulesManager, +); + +describe('Minions BL tests', () => { + describe('Get minions', () => { + it('it should get minions succsessfully', async () => { + // wait for initilization + await Delay(moment.duration(5, 'seconds')); + + const minions = await minionsBl.getMinions(); + + const loadded: Minion = { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '1111111111', + ip: '192.168.1.1', + name: 'first', + }, + }, + isProperlyCommunicated: true, + minionId: 'm1', + minionType: 'switch', + minionStatus: { + switch: { + status: 'on', + }, + }, + name: 'bla bla 1', + }; + + expect(minions) + .to.be.a('array') + .length(minionsDalMock.mockMinions.length) + .to.deep.include(loadded); + }).timeout(moment.duration(10, 'seconds').asMilliseconds()); + }); + + describe('Get minion by id', () => { + it('it should get minion succsessfully', async () => { + const minion = await minionsBl.getMinionById('m2'); + + const expectMinion: Minion = { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '33333333333', + ip: '192.168.1.3', + name: 'third', + }, + }, + isProperlyCommunicated: true, + minionId: 'm2', + minionType: 'switch', + minionStatus: { + switch: { + status: 'on', + }, + }, + name: 'bla bla 2', + }; + + expect(minion).to.deep.include(expectMinion); + }); + + it('it should get unconnected minion', async () => { + const minion = await minionsBl.getMinionById('m3'); + + const expectMinion: Minion = { + device: { + brand: 'mock', + model: 'light demo', + pysicalDevice: { + mac: '4341110986', + }, + }, + isProperlyCommunicated: false, + minionId: 'm3', + minionType: 'light', + minionStatus: {}, + name: 'bla bla 3', + }; + + expect(minion).to.deep.include(expectMinion); + }); + + it('it should get minion device data when few in one pysical', async () => { + const minion1 = await minionsBl.getMinionById('ac1'); + const minion2 = await minionsBl.getMinionById('ac2'); + const pysicalDevice: MinionDevice = { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: 'ac12345432', + ip: '192.168.1.90', + name: 'IR transmitter', + }, + }; + + expect(pysicalDevice) + .to.deep.equal(minion1.device) + .to.deep.equal(minion2.device); + }); + }); + + describe('Feed minion updates', () => { + it('it should get minion succsessfully', done => { + // TODO: + // const subscription = minionsBl.minionFeed.subscribe((minionFeed) => { + // if (!minionFeed) { + // return; + // } + + // subscription.unsubscribe(); + + // done(); + // }); + done(); + }).timeout(moment.duration(10, 'seconds').asMilliseconds()); + + it('it should update minions network data changes', async () => { + const newNamedLocalDevice: LocalNetworkDevice = { + mac: '0987123ac', + ip: '192.168.1.5', + name: 'update by minions mock', + }; + + // const minions = await minionsBl.getMinions(); + + await devicesBlMock.setDeviceName(newNamedLocalDevice); + + await Delay(moment.duration(1, 'seconds')); + + const minion = await minionsBl.getMinionById('n1'); + + expect(minion.device.pysicalDevice).to.be.deep.equal(newNamedLocalDevice); + }); + }); + + describe('Set minion status', () => { + it('it should set status successfuly', async () => { + const newStatus: MinionStatus = { + switch: { + status: 'off', + }, + }; + + await minionsBl.setMinionStatus('m2', newStatus); + + const minion = await minionsBl.getMinionById('m2'); + + expect(minion.minionStatus).to.be.deep.equal(newStatus); + }); + + it('it should fail to set status', async () => { + const newStatus: MinionStatus = { + airConditioning: { + fanStrength: 'auto', + mode: 'auto', + status: 'on', + temperature: 20, + }, + }; + + try { + await minionsBl.setMinionStatus('m2', newStatus); + } catch (error) { + const expectedError: ErrorResponse = { + responseCode: 1405, + message: 'incorrect minion status for current minion type', + }; + expect(error).to.be.deep.equal(expectedError); + + return; + } + + throw new Error('expect set status fail, the status value type incorrect.'); + }); + + it('it should fail to set status', async () => { + const newStatus: MinionStatus = { + switch: { + status: 'off', + }, + }; + + try { + await minionsBl.setMinionStatus('t404', newStatus); + } catch (error) { + const expectedError: ErrorResponse = { + responseCode: 1404, + message: 'minion not exist', + }; + expect(error).to.be.deep.equal(expectedError); + + return; + } + + throw new Error('expect set status fail, the minion id not exist.'); + }); + }); + + describe('Set minion timeout', () => { + it('it should set timeout successfuly', async () => { + const minionBefor = { + minionId: 'm2', + minionAutoTurnOffMS: 342677771111, + } as Minion; + + await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); + + const minionafter = await minionsBl.getMinionById('m2'); + + expect(minionafter.minionAutoTurnOffMS).to.be.deep.equal(minionBefor.minionAutoTurnOffMS); + }); + + it('it should set timeout successfuly', async () => { + const minionBefor = { + minionId: 'm2', + minionAutoTurnOffMS: 845642321, + } as Minion; + + await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); + + const minionafter = await minionsDalMock.getMinionById('m2'); + + expect(minionafter.minionAutoTurnOffMS).to.be.deep.equal(minionBefor.minionAutoTurnOffMS); + }); + + it('it should fail to set timeout', async () => { + const minionBefor = { + minionId: 'm404', + minionAutoTurnOffMS: 342677771111, + } as Minion; + + try { + await minionsBl.setMinionTimeout(minionBefor.minionId, minionBefor.minionAutoTurnOffMS); + } catch (error) { + const expectedError: ErrorResponse = { + responseCode: 1404, + message: 'minion not exist', + }; + expect(error).to.be.deep.equal(expectedError); + + return; + } + + throw new Error('expect set status fail, the status value type incorrect.'); + }); + }); + + describe('Create new minion', () => { + it('it should create minion successfuly', async () => { + const minion: Minion = { + device: { + brand: 'test mock', + model: 'switch demo', + pysicalDevice: { + mac: '777777bb', + }, + }, + minionStatus: {}, + name: 'The new minion to create', + minionType: 'switch', + }; + + await minionsBl.createMinion(minion); + }); + + it('it should create minion successfuly', async () => { + const minionToCreate: Minion = { + device: { + brand: 'test mock', + model: 'ac demo', + pysicalDevice: { + mac: '777777cc', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'temperatureLight', + }; + + await minionsBl.createMinion(minionToCreate); + + const minions = await minionsBl.getMinions(); + + let createdMinion: Minion; + for (const minion of minions) { + if (minion.device.pysicalDevice.mac === minionToCreate.device.pysicalDevice.mac) { + createdMinion = minion; + break; + } + } + + if (createdMinion && createdMinion.minionType === 'airConditioning') { + return; + } + + throw new Error(`The minion type should fixed to 'airConditioning'`); + }); + + it('it should create minion successfuly', async () => { + const minionToCreate: Minion = { + device: { + brand: 'test mock', + model: 'ac 2 demo', + pysicalDevice: { + mac: '777777cc', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'temperatureLight', + }; + + await minionsBl.createMinion(minionToCreate).catch(() => { + throw new Error(`The minion should create even cant read current device status`); + }); + }); + + it('it should create minion successfuly', async () => { + const minionToCreate: Minion = { + device: { + brand: 'test mock', + model: 'ac demo', + pysicalDevice: { + mac: '777777dd', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'temperatureLight', + }; + + await minionsBl.createMinion(minionToCreate); + + const minions = await minionsBl.getMinions(); + + let createdMinion: Minion; + for (const minion of minions) { + if (minion.device.pysicalDevice.mac === minionToCreate.device.pysicalDevice.mac) { + createdMinion = minion; + break; + } + } + + const expectedStatus: MinionStatus = { + airConditioning: { + fanStrength: 'med', + mode: 'cold', + status: 'on', + temperature: 21, + }, + }; + expect(createdMinion.minionStatus).to.be.deep.equal(expectedStatus); + }); + + it('it should create minion successfuly', async () => { + const minionToCreate: Minion = { + device: { + brand: 'test mock', + model: 'ac demo', + pysicalDevice: { + mac: '777777ee', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'airConditioning', + }; + + await minionsBl.createMinion(minionToCreate); + + const minions = await minionsBl.getMinions(); + + let createdMinion: Minion; + for (const minion of minions) { + if (minion.device.pysicalDevice.mac === minionToCreate.device.pysicalDevice.mac) { + createdMinion = minion; + break; + } + } + + const pysicalInfo: LocalNetworkDevice = { + mac: '777777ee', + ip: '192.168.1.58', + vendor: 'factory name', + }; + + expect(createdMinion.device.pysicalDevice).to.be.deep.equal(pysicalInfo); + }); + + it('it should fail to create minion', async () => { + const minion: Minion = { + device: { + brand: 'test mock a', + model: 'ac demo', + pysicalDevice: { + mac: '777777bb', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'switch', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 1409, + message: 'there is no supported model for brand + model', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion without token created, and model requier it'); + }); + + it('it should fail to create minion', async () => { + const minion: Minion = { + device: { + brand: 'test mock', + model: 'ac demo 9999999', + pysicalDevice: { + mac: '111111aa', + }, + }, + minionStatus: {}, + name: 'The new minion to create', + minionType: 'airConditioning', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 1409, + message: 'there is no supported model for brand + model', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion with incorrect model created'); + }); + + it('it should fail to create minion', async () => { + const minion: Minion = { + device: { + brand: 'second test mock brand', + model: 'switch demo', + pysicalDevice: { + mac: '111111aa', + }, + }, + minionStatus: {}, + name: 'The new minion to create', + minionType: 'airConditioning', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 1409, + message: 'there is no supported model for brand + model', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion with incorrect model of brand created'); + }); + + it('it should fail to create minion', async () => { + const minion: Minion = { + device: { + brand: 'test mock', + model: 'switch demo with token', + pysicalDevice: { + mac: '111111aa', + }, + }, + minionStatus: {}, + name: 'The new minion to create', + minionType: 'airConditioning', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 2409, + message: 'token is requird', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion with incorrect model of brand created'); + }); + + it('it should fail to create minion', async () => { + const minion: Minion = { + device: { + brand: 'test mock', + model: 'switch demo', + pysicalDevice: { + mac: '777777bb', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'airConditioning', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 4409, + message: 'device already in max uses with other minion', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion with taken device created'); + }); + + it('it should fail to create minion', async () => { + // there is no device in lan (unknown mac address). + const minion: Minion = { + device: { + brand: 'test mock', + model: 'switch demo', + pysicalDevice: { + mac: 'bbcc11187970', + }, + }, + minionStatus: {}, + name: 'new minion to create', + minionType: 'airConditioning', + }; + try { + await minionsBl.createMinion(minion); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 2404, + message: 'device not exist in lan network', + }; + + expect(error).to.be.deep.equal(errorResponse); + + return; + } + + throw new Error('minion with unknown mac address created'); + }); + }); + + describe('Delete minion', () => { + it('it should delete minion successfuly', async () => { + const minions = await minionsBl.getMinions(); + let selectedMinion: Minion; + for (const minion of minions) { + if (minion.device.pysicalDevice.mac === '777777bb') { + selectedMinion = minion; + break; + } + } + // Needs to copy by val. + const beforDeleteMonionsCount = minions.length; + + await minionsBl.deleteMinion(selectedMinion.minionId); + + const minionsAfterDelete = await minionsBl.getMinions(); + expect(minionsAfterDelete.length).eqls(beforDeleteMonionsCount - 1); + }); + + it('it should fail to delete minion', async () => { + try { + await minionsBl.deleteMinion('sdgdsgdrrr555'); + } catch (error) { + const errorResponse: ErrorResponse = { + responseCode: 1404, + message: 'minion not exist', + }; + + expect(error).to.be.deep.equal(errorResponse); + return; + } + + throw new Error('unknown minion deleted'); + }); + }); +}); diff --git a/backend/test/business-layer/remoteConnection.mock.spec.ts b/backend/tests/unit/business-layer/remoteConnection.mock.spec.ts similarity index 71% rename from backend/test/business-layer/remoteConnection.mock.spec.ts rename to backend/tests/unit/business-layer/remoteConnection.mock.spec.ts index cc41c8b6..f63ed186 100644 --- a/backend/test/business-layer/remoteConnection.mock.spec.ts +++ b/backend/tests/unit/business-layer/remoteConnection.mock.spec.ts @@ -1,12 +1,10 @@ - import * as https from 'https'; import * as WebSocket from 'ws'; -import { RemoteMessage } from '../../src/models/remote2localProtocol'; -import { logger } from '../../src/utilities/logger'; +import { RemoteMessage } from '../../../src/models/remote2localProtocol'; +import { logger } from '../../../src/utilities/logger'; class WebSocketMock { - - private randomMockCert = `-----BEGIN CERTIFICATE----- + private randomMockCert = `-----BEGIN CERTIFICATE----- MIIDqzCCApOgAwIBAgIhAP5LymW/ISUQGzDVqq+qq1EBvC6D6Nb9ubI6Rsehybo0 MA0GCSqGSIb3DQEBBQUAMHAxCTAHBgNVBAYTADEJMAcGA1UECgwAMQkwBwYDVQQL DAAxHTAbBgNVBAMMFG1vY2suY2FzYS1uZXQub25saW5lMQ8wDQYJKoZIhvcNAQkB @@ -29,7 +27,7 @@ W5SkWT/g+hfv4ogjnI+zXWkAYgLus2kbr4xdOfyOcLkMMzTLK67KjrsWLIRPK7O4 fDMxB20ghYV8WGDrwU4xdYdfV6fyhOjT33SajR8BPA== -----END CERTIFICATE-----`; - private randomMockKey = `-----BEGIN RSA PRIVATE KEY----- + private randomMockKey = `-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAudn55Hk8LE47jRVIdVy3vbmcy0ONZLweXvg8HhocoSSwzry6 9zAUO5qHwYJQ9WdgHYAkSBWIfwlZGQmJNgCSd0avLPBuxjddTccYuxjdfipF02Yn mmlRhBEQo46yiWgprzb2lFWUfpJgW96N/E1fjiX/uCTl4WtX7brYiLuqLwo10Z3e @@ -57,35 +55,36 @@ m9rxzHJl4qzjVLaTOc3w8e77oYG6PH+XRHkzSMTKVkQ8q0iYWihSR5E7nW7bvmFE lbSoR6gGvDVr9ceTTheKYXk0bNEThIr6POfxtaBiiG6RwfsRNII= -----END RSA PRIVATE KEY-----`; - private httpsServer; - private wss: WebSocket.Server; - private mockServerPort = 4112; - constructor() { - - const sslOptions: https.ServerOptions = { - key: Buffer.alloc(this.randomMockKey.length, this.randomMockKey), - cert: Buffer.alloc(this.randomMockCert.length, this.randomMockCert), - }; + private httpsServer; + private wss: WebSocket.Server; + private mockServerPort = 4112; + constructor() { + const sslOptions: https.ServerOptions = { + key: Buffer.alloc(this.randomMockKey.length, this.randomMockKey), + cert: Buffer.alloc(this.randomMockCert.length, this.randomMockCert), + }; - this.httpsServer = https.createServer(sslOptions); + this.httpsServer = https.createServer(sslOptions); - this.wss = new WebSocket.Server({ server: this.httpsServer }); + this.wss = new WebSocket.Server({ server: this.httpsServer }); - this.wss.on('connection', (ws) => { - ws.on('message', function incoming(message) { - console.log('received: %s', message); - }); + this.wss.on('connection', ws => { + ws.on('message', function incoming(message) { + console.log('received: %s', message); + }); - ws.send(JSON.stringify({ - remoteMessagesType: 'readyToInitialization', - message: {}, - } as RemoteMessage)); - }); + ws.send( + JSON.stringify({ + remoteMessagesType: 'readyToInitialization', + message: {}, + } as RemoteMessage), + ); + }); - this.httpsServer.listen(this.mockServerPort, () => { - logger.info('HTTPS server tester listen on port ' + this.mockServerPort); - }); - } + this.httpsServer.listen(this.mockServerPort, () => { + logger.info('HTTPS server tester listen on port ' + this.mockServerPort); + }); + } } export const WebSocketMockSinglton = new WebSocketMock(); diff --git a/backend/tests/unit/business-layer/remoteConnectionBl.spec.ts b/backend/tests/unit/business-layer/remoteConnectionBl.spec.ts new file mode 100644 index 00000000..e390bf7a --- /dev/null +++ b/backend/tests/unit/business-layer/remoteConnectionBl.spec.ts @@ -0,0 +1,30 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { MinionsBl } from '../../../src/business-layer/minionsBl'; +import { RemoteConnectionBl } from '../../../src/business-layer/remoteConnectionBl'; +import { TimingsBl } from '../../../src/business-layer/timingsBl'; +import { UsersBl } from '../../../src/business-layer/usersBl'; +import { RemoteConnectionDal } from '../../../src/data-layer/remoteConnectionDal'; +import { UsersDal } from '../../../src/data-layer/usersDal'; +import { Delay } from '../../../src/utilities/sleep'; +import { MinionsBlMock } from '../business-layer/minionsBl.mock.spec'; +import { RemoteConnectionDalMock } from '../data-layer/remoteConnectionDal.mock.spec'; +import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; +// import { WebSocketMockSinglton } from './remoteConnection.mock.spec'; +import { TimingsBlMock } from './timingsBl.mock.spec'; + +const minionBlMock = new MinionsBlMock(); + +const usersBlMock = new UsersBl((new UsersDalMock() as unknown) as UsersDal); + +const remoteConnectionBl = new RemoteConnectionBl( + (new RemoteConnectionDalMock() as unknown) as RemoteConnectionDal, + (minionBlMock as unknown) as MinionsBl, + (new TimingsBlMock() as unknown) as TimingsBl, +); + +// remoteConnectionBl.setRemoteSettings({ +// host: '127.0.0.1:4112', +// connectionKey: 'mock', +// }); diff --git a/backend/tests/unit/business-layer/sessionsBl.spec.ts b/backend/tests/unit/business-layer/sessionsBl.spec.ts new file mode 100644 index 00000000..78f30aa5 --- /dev/null +++ b/backend/tests/unit/business-layer/sessionsBl.spec.ts @@ -0,0 +1,91 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as cryptoJs from 'crypto-js'; +import { SessionsBl } from '../../../src/business-layer/sessionsBl'; +import { Configuration } from '../../../src/config'; +import { SessionsDal } from '../../../src/data-layer/sessionsDal'; +import { Session } from '../../../src/models/backendInterfaces'; +import { ErrorResponse, User } from '../../../src/models/sharedInterfaces'; +import { SessionsDalMock } from '../data-layer/sessionsDal.mock.spec'; + +const sessionDalMock = new SessionsDalMock(); +const SessionBlMock = new SessionsBl((sessionDalMock as unknown) as SessionsDal); + +describe('Session BL tests', () => { + describe('Get Session', () => { + it('it should get session successfully', async () => { + const key = '543583bfngfnds45453535256524'; + sessionDalMock.mockSessions[2].keyHash = cryptoJs.SHA512(key + Configuration.keysHandling.saltHash).toString(); + const session = await SessionBlMock.getSession(key); + + expect(session).to.deep.equal(sessionDalMock.mockSessions[2]); + return; + }); + + it('it should get nothing for empty session', async () => { + try { + await SessionBlMock.getSession(''); + } catch (error) { + return; + } + + throw new Error('get empty session should fail'); + }); + + it('it should get nothing for undefined session', async () => { + try { + await SessionBlMock.getSession(undefined); + } catch (error) { + return; + } + + throw new Error('get undefined session should fail'); + }); + }); + + describe('Get User Sessions', () => { + it('it should get sessions successfully', async () => { + const userToGetFor: User = { + email: sessionDalMock.mockSessions[0].email, + displayName: '', + ignoreTfa: true, + password: 'ffd', + scope: 'userAuth', + }; + const sessions = await SessionBlMock.getUserSessions(userToGetFor); + + expect(sessions).to.be.a('array'); + expect(sessions) + .to.be.an('array') + .that.is.length(2); + return; + }); + }); + + describe('Generate Session', () => { + it('it should create session successfully', async () => { + const session = await SessionBlMock.generateSession({ + email: sessionDalMock.mockSessions[2].email, + displayName: '', + ignoreTfa: true, + password: 'ffd', + scope: 'userAuth', + }); + + expect(session) + .to.be.a('string') + .length.above(60); + expect(sessionDalMock.mockSessions).length(5); + return; + }); + }); + + describe('Delete Session', () => { + it('it should delete session successfully', async () => { + await SessionBlMock.deleteSession(sessionDalMock.mockSessions[2]); + + expect(sessionDalMock.mockSessions).length(4); + return; + }); + }); +}); diff --git a/backend/tests/unit/business-layer/timeoutBl.spec.ts b/backend/tests/unit/business-layer/timeoutBl.spec.ts new file mode 100644 index 00000000..56cfbf72 --- /dev/null +++ b/backend/tests/unit/business-layer/timeoutBl.spec.ts @@ -0,0 +1,52 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, from, Observable, Subscriber } from 'rxjs'; +import { DevicesBl } from '../../../src/business-layer/devicesBl'; +import { MinionsBl } from '../../../src/business-layer/minionsBl'; +import { TimeoutBl } from '../../../src/business-layer/timeoutBl'; +import { + DeviceKind, + ErrorResponse, + LocalNetworkDevice, + Minion, + MinionStatus, + User, +} from '../../../src/models/sharedInterfaces'; +import { MinionsBlMock } from './minionsBl.mock.spec'; + +const minionsBlMock = new MinionsBlMock(); +const timeoutBlMock = new TimeoutBl((minionsBlMock as unknown) as MinionsBl); + +describe('Timeout BL tests', () => { + describe('Handle new minion', () => { + it('it should get handle the minion succsessfully', done => { + /** + * The error is *not* in stackstrace to here so the error is destroyed + * specs lib UI. + */ + try { + minionsBlMock.minionFeed.next({ + event: 'created', + minion: { + device: { + brand: 'a', + model: 'b', + pysicalDevice: { + mac: 'm', + }, + }, + minionId: 'mi', + minionType: 'switch', + name: 'm1', + minionStatus: {}, + }, + }); + } catch (error) { + throw new Error('fail to create new minoin without status'); + } + + done(); + }); + }); +}); diff --git a/backend/tests/unit/business-layer/timingsBl.mock.spec.ts b/backend/tests/unit/business-layer/timingsBl.mock.spec.ts new file mode 100644 index 00000000..8768b160 --- /dev/null +++ b/backend/tests/unit/business-layer/timingsBl.mock.spec.ts @@ -0,0 +1,22 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, from, Observable, Subscriber } from 'rxjs'; +import { DevicesBl } from '../../../src/business-layer/devicesBl'; +import { TimeoutBl } from '../../../src/business-layer/timeoutBl'; +import { + DeviceKind, + ErrorResponse, + LocalNetworkDevice, + Minion, + MinionStatus, + TimingFeed, + User, +} from '../../../src/models/sharedInterfaces'; + +export class TimingsBlMock { + /* + * Timing trigger feed. + */ + public timingFeed = new BehaviorSubject(undefined); +} diff --git a/backend/tests/unit/business-layer/timingsBl.spec.ts b/backend/tests/unit/business-layer/timingsBl.spec.ts new file mode 100644 index 00000000..f2cc5658 --- /dev/null +++ b/backend/tests/unit/business-layer/timingsBl.spec.ts @@ -0,0 +1,15 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; +import { OperationsBl } from '../../../src/business-layer/operationsBl'; +import { TimingsBl } from '../../../src/business-layer/timingsBl'; +import { TimingsDal } from '../../../src/data-layer/timingsDal'; +import { DeviceKind, ErrorResponse, LocalNetworkDevice, Minion, Timing } from '../../../src/models/sharedInterfaces'; +import { Delay } from '../../../src/utilities/sleep'; +import { TimingsDalMock } from '../data-layer/timingsDal.mock.spec'; + +const timingsDalMock = new TimingsDalMock(); +const timingsBl = new TimingsBl((timingsDalMock as unknown) as TimingsDal, {} as OperationsBl); + +describe('Timings BL tests', () => {}); diff --git a/backend/tests/unit/business-layer/usersBl.spec.ts b/backend/tests/unit/business-layer/usersBl.spec.ts new file mode 100644 index 00000000..e5066f35 --- /dev/null +++ b/backend/tests/unit/business-layer/usersBl.spec.ts @@ -0,0 +1,88 @@ +import * as bcrypt from 'bcryptjs'; +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { UsersBl } from '../../../src/business-layer/usersBl'; +import { UsersDal } from '../../../src/data-layer/usersDal'; +import { ErrorResponse, User } from '../../../src/models/sharedInterfaces'; +import { UsersDalMock } from '../data-layer/usersDal.mock.spec'; + +const usersDalMock = new UsersDalMock(); +const usersBl = new UsersBl((usersDalMock as unknown) as UsersDal); + +describe('Users BL tests', () => { + describe('Get User by email', () => { + it('it should get user successfully', async () => { + const user = await usersBl.getUser(usersDalMock.mockUsers[2].email); + + expect(user).to.deep.equal(usersDalMock.mockUsers[2]); + return; + }); + }); + + describe('Get All Users', () => { + it('it should get Users successfully', async () => { + const users = await usersBl.getUsers(); + + expect(users).to.deep.equal(usersDalMock.mockUsers); + return; + }); + }); + + const additionalUser: User = { + email: '12345cm@vf.com', + displayName: 'fnl', + ignoreTfa: false, + password: '123', + scope: 'userAuth', + }; + + describe('Create new user', () => { + it('it should fail to create user', async () => { + try { + await usersBl.createUser(additionalUser); + } catch (error) { + const expectedError: ErrorResponse = { + responseCode: 2422, + }; + expect(error) + .to.have.property('responseCode') + .to.deep.equal(2422); + return; + } + + throw new Error('new user created while password less then 6 chars'); + }); + + it('it should create user successfully', async () => { + additionalUser.password = '1234567890'; + await usersBl.createUser(additionalUser); + + const user = await usersBl.getUser(additionalUser.email); + + /** Make sure tha password hashed */ + if (!bcrypt.compareSync(additionalUser.password, user.password)) { + throw new Error('Password not hashed correctly'); + } + + /** For test other user properties math only */ + user.password = additionalUser.password; + + expect(user).to.deep.equal(additionalUser); + }); + }); + + describe('Delete User', () => { + it('it should delete user successfully', async () => { + await usersBl.deleteUser(additionalUser.email); + + expect(usersDalMock.mockUsers).length(4); + return; + }); + }); + + describe('Update User', () => { + it('it should fail update request', async () => { + // cant update unknown user. + }); + }); +}); diff --git a/backend/tests/unit/data-layer/devicesDal.mock.spec.ts b/backend/tests/unit/data-layer/devicesDal.mock.spec.ts new file mode 100644 index 00000000..b9221b10 --- /dev/null +++ b/backend/tests/unit/data-layer/devicesDal.mock.spec.ts @@ -0,0 +1,54 @@ +import { LocalNetworkDevice } from '../../../src/models/sharedInterfaces'; + +export class DevicesDalMock { + public mockDevicesNamesMap: LocalNetworkDevice[] = [ + { + name: 'first', + mac: '1111111111', + }, + { + name: 'second', + mac: '22222222222', + }, + { + name: 'third', + mac: '33333333333', + }, + { + name: 'IR transmitter', + mac: 'ac12345432', + }, + ]; + + private findDevice(mac: string): LocalNetworkDevice { + for (const device of this.mockDevicesNamesMap) { + if (device.mac === mac) { + return device; + } + } + } + + public async getDevices(): Promise { + return this.mockDevicesNamesMap; + } + + public async saveDevice(deviceToSave: LocalNetworkDevice): Promise { + const originalDevice = this.findDevice(deviceToSave.mac); + + if (originalDevice) { + this.mockDevicesNamesMap.splice(this.mockDevicesNamesMap.indexOf(originalDevice), 1); + } + + this.mockDevicesNamesMap.push(deviceToSave); + } + + public async removeDevice(deviceToRemove: LocalNetworkDevice): Promise { + const originalDevice = this.findDevice(deviceToRemove.mac); + + if (!originalDevice) { + throw new Error('device not saved'); + } + + this.mockDevicesNamesMap.splice(this.mockDevicesNamesMap.indexOf(originalDevice), 1); + } +} diff --git a/backend/tests/unit/data-layer/devicesDal.spec.ts b/backend/tests/unit/data-layer/devicesDal.spec.ts new file mode 100644 index 00000000..4d365c90 --- /dev/null +++ b/backend/tests/unit/data-layer/devicesDal.spec.ts @@ -0,0 +1,80 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { DevicesDal } from '../../../src/data-layer/devicesDal'; +import { IDataIO, Session } from '../../../src/models/backendInterfaces'; +import { LocalNetworkDevice, User } from '../../../src/models/sharedInterfaces'; +import { DeepCopy } from '../../../src/utilities/deepCopy'; + +class DataIOMock implements IDataIO { + public mockData: LocalNetworkDevice[] = [ + { + name: 'first', + mac: '1111111111', + }, + { + name: 'second', + mac: '22222222222', + }, + { + name: 'third', + mac: '33333333333', + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const devicesDal = new DevicesDal(dataMock); + +describe('Devices DAL tests', () => { + describe('Get devices names', () => { + it('it should get devices succsessfully', async () => { + const users = await devicesDal.getDevices(); + + expect(users).to.deep.equal(dataMock.mockData); + return; + }); + }); + + describe('Set new name to exist device', () => { + it('it should set name succsessfully', async () => { + const device: LocalNetworkDevice = DeepCopy(dataMock.mockData[1]); + device.name = 'new name'; + await devicesDal.saveDevice(device); + + expect(dataMock.mockData).length(3); + }); + }); + + const additionalDevice: LocalNetworkDevice = { + mac: '44444444', + name: 'fourth', + }; + + describe('Set new name to not exist device', () => { + it('it should set name succsessfully', async () => { + await devicesDal.saveDevice(additionalDevice); + + expect(dataMock.mockData).length(4); + }); + }); + + describe('Remove device name map', () => { + it('it should delete name map succsessfully', async () => { + await devicesDal.removeDevice(additionalDevice); + + expect(dataMock.mockData).length(3); + }); + }); +}); diff --git a/backend/tests/unit/data-layer/minionsDal.mock.spec.ts b/backend/tests/unit/data-layer/minionsDal.mock.spec.ts new file mode 100644 index 00000000..046722e1 --- /dev/null +++ b/backend/tests/unit/data-layer/minionsDal.mock.spec.ts @@ -0,0 +1,138 @@ +import { ErrorResponse, Minion } from '../../../src/models/sharedInterfaces'; + +export class MinionsDalMock { + public mockMinions: Minion[] = [ + { + device: { + brand: 'mock', + model: 'light demo', + pysicalDevice: { + mac: '4341110986', + }, + }, + isProperlyCommunicated: true, + minionId: 'm3', + minionType: 'light', + minionStatus: {}, + name: 'bla bla 3', + }, + { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '1111111111', + }, + }, + isProperlyCommunicated: true, + minionId: 'm1', + minionType: 'switch', + minionStatus: {}, + name: 'bla bla 1', + }, + { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '33333333333', + }, + }, + isProperlyCommunicated: true, + minionId: 'm2', + minionType: 'switch', + minionStatus: {}, + name: 'bla bla 2', + }, + { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: 'ac12345432', + }, + }, + isProperlyCommunicated: true, + minionId: 'ac1', + minionType: 'airConditioning', + minionStatus: {}, + name: 'airConditioning a', + }, + { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: 'ac12345432', + }, + }, + isProperlyCommunicated: true, + minionId: 'ac2', + minionType: 'airConditioning', + minionStatus: {}, + name: 'airConditioning b', + }, + { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: '0987123ac', + }, + }, + isProperlyCommunicated: true, + minionId: 'n1', + minionType: 'airConditioning', + minionStatus: {}, + name: 'airConditioning b', + }, + ]; + + private findMinion(minionId: string): Minion { + for (const minion of this.mockMinions) { + if (minion.minionId === minionId) { + return minion; + } + } + } + + public async getMinions(): Promise { + return this.mockMinions; + } + + public async getMinionById(minionId: string): Promise { + const minion = this.findMinion(minionId); + + if (!minion) { + throw new Error('minion not exist'); + } + return minion; + } + + public async createMinion(newMinion: Minion): Promise { + this.mockMinions.push(newMinion); + } + + public async deleteMinion(minion: Minion): Promise { + const originalMinion = this.findMinion(minion.minionId); + + if (!originalMinion) { + throw new Error('minion not exist'); + } + + this.mockMinions.splice(this.mockMinions.indexOf(originalMinion), 1); + } + + public async updateMinionAutoTurnOff(minionId: string, setAutoTurnOffMS: number): Promise { + const originalMinion = this.findMinion(minionId); + + if (!originalMinion) { + throw { + responseCode: 4004, + message: 'minion not exist', + } as ErrorResponse; + } + + originalMinion.minionAutoTurnOffMS = setAutoTurnOffMS; + } +} diff --git a/backend/tests/unit/data-layer/minionsDal.spec.ts b/backend/tests/unit/data-layer/minionsDal.spec.ts new file mode 100644 index 00000000..a8a5bb65 --- /dev/null +++ b/backend/tests/unit/data-layer/minionsDal.spec.ts @@ -0,0 +1,137 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { MinionsDal } from '../../../src/data-layer/minionsDal'; +import { IDataIO, Session } from '../../../src/models/backendInterfaces'; +import { Minion } from '../../../src/models/sharedInterfaces'; +import { logger } from '../../../src/utilities/logger'; + +class DataIOMock implements IDataIO { + public mockData: Minion[] = [ + { + device: { + brand: 'mock', + model: 'mock model 1', + pysicalDevice: { + mac: '45543544', + }, + }, + isProperlyCommunicated: true, + minionId: 'm1', + minionType: 'switch', + minionStatus: {}, + name: 'bla bla 1', + }, + { + device: { + brand: 'mock', + model: 'mock model 2', + pysicalDevice: { + mac: '645425545422', + }, + }, + isProperlyCommunicated: true, + minionId: 'm2', + minionType: 'airConditioning', + minionStatus: {}, + name: 'bla bla 2', + }, + { + device: { + brand: 'mock', + model: 'mock model 3', + pysicalDevice: { + mac: '4341110986', + }, + }, + isProperlyCommunicated: true, + minionId: 'm3', + minionType: 'light', + minionStatus: {}, + name: 'bla bla 3', + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const minionsDal = new MinionsDal(dataMock); + +describe('Minions DAL tests', () => { + describe('Get minions', () => { + it('it should get minions succsessfully', async () => { + const minions = await minionsDal.getMinions(); + + expect(minions).to.deep.equal(dataMock.mockData); + return; + }); + }); + + describe('Get minion by minion id', () => { + it('it should get minion succsessfully', async () => { + const minion = await minionsDal.getMinionById(dataMock.mockData[1].minionId); + + expect(minion).to.deep.equal(dataMock.mockData[1]); + return; + }); + }); + + const additionalMinion: Minion = { + device: { + brand: 'mock', + model: 'mock model 4', + pysicalDevice: { + mac: '3226445f', + }, + }, + isProperlyCommunicated: true, + minionId: 'm4', + minionType: 'light', + minionStatus: {}, + name: 'bla bla 4', + }; + + describe('Create new minion', () => { + it('it should create minion succsessfully', async () => { + await minionsDal.createMinion(additionalMinion); + + const minion = await minionsDal.getMinionById(additionalMinion.minionId); + + expect(minion).to.deep.equal(additionalMinion); + expect(dataMock.mockData).to.have.length(4); + return; + }); + }); + + describe('Update minion auto turn off timeout', () => { + it('it should update minion succsessfully', async () => { + const newTurnOffTimeout = 500000; + + await minionsDal.updateMinionAutoTurnOff(additionalMinion.minionId, newTurnOffTimeout); + + const minion = await minionsDal.getMinionById(additionalMinion.minionId); + + expect(minion.minionAutoTurnOffMS).to.be.eql(newTurnOffTimeout); + return; + }); + }); + + describe('Delete minion', () => { + it('it should delete minion succsessfully', async () => { + await minionsDal.deleteMinion(additionalMinion); + + expect(dataMock.mockData).to.have.length(3); + return; + }); + }); +}); diff --git a/backend/tests/unit/data-layer/operationsDal.spec.ts b/backend/tests/unit/data-layer/operationsDal.spec.ts new file mode 100644 index 00000000..646a90e5 --- /dev/null +++ b/backend/tests/unit/data-layer/operationsDal.spec.ts @@ -0,0 +1,126 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { OperationsDal } from '../../../src/data-layer/operationsDal'; +import { IDataIO } from '../../../src/models/backendInterfaces'; +import { Operation } from '../../../src/models/sharedInterfaces'; +import { DeepCopy } from '../../../src/utilities/deepCopy'; + +class DataIOMock implements IDataIO { + public mockData: Operation[] = [ + { + operationId: 'a1', + operationName: 'operation a', + activities: [ + { + minionId: 'n1', + minionStatus: { + switch: { + status: 'off', + }, + }, + }, + ], + }, + { + operationId: 'a2', + operationName: 'operation b', + activities: [ + { + minionId: 'ac1', + minionStatus: { + airConditioning: { + fanStrength: 'high', + mode: 'hot', + status: 'off', + temperature: 25, + }, + }, + }, + ], + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const operationsDal = new OperationsDal(dataMock); + +describe('Operations DAL tests', () => { + describe('Get operations', () => { + it('it should get operations succsessfully', async () => { + const operations = await operationsDal.getOperations(); + + expect(operations).to.deep.equal(dataMock.mockData); + return; + }); + }); + + describe('Get operation by operation id', () => { + it('it should get operation succsessfully', async () => { + const operation = await operationsDal.getOperationById(dataMock.mockData[1].operationId); + + expect(operation).to.deep.equal(dataMock.mockData[1]); + return; + }); + }); + + const additionalOperation: Operation = { + operationId: 'fdgfgfg23hg6', + operationName: 'name of', + activities: [], + }; + + describe('Create new operation', () => { + it('it should create operation succsessfully', async () => { + await operationsDal.createOperation(additionalOperation); + + const operation = await operationsDal.getOperationById(additionalOperation.operationId); + + expect(operation).to.deep.equal(additionalOperation); + expect(dataMock.mockData).to.have.length(3); + return; + }); + }); + + describe('Delete operation', () => { + it('it should delete operation succsessfully', async () => { + await operationsDal.deleteOperation(additionalOperation.operationId); + + expect(dataMock.mockData).to.have.length(2); + return; + }); + }); + + describe('Update operation', () => { + it('it should update operation succsessfully', async () => { + const operation: Operation = DeepCopy(dataMock.mockData[1]); + + operation.activities.push({ + minionId: 'ac2', + minionStatus: { + airConditioning: { + fanStrength: 'low', + mode: 'hot', + status: 'on', + temperature: 25, + }, + }, + }); + await operationsDal.updateOperation(operation); + + expect(dataMock.mockData).to.contains(operation); + return; + }); + }); +}); diff --git a/backend/tests/unit/data-layer/remoteConnectionDal.mock.spec.ts b/backend/tests/unit/data-layer/remoteConnectionDal.mock.spec.ts new file mode 100644 index 00000000..c44dd2f7 --- /dev/null +++ b/backend/tests/unit/data-layer/remoteConnectionDal.mock.spec.ts @@ -0,0 +1,20 @@ +import { RemoteSettings } from '../../../src/models/sharedInterfaces'; + +export class RemoteConnectionDalMock { + public mockSettings: RemoteSettings = { + host: 'ws://127.0.0.1', + connectionKey: '1234567890', + }; + + public async getRemoteSettings(): Promise { + return this.mockSettings; + } + + public async deleteRemoteSettings(): Promise { + this.mockSettings = undefined; + } + + public async setRemoteSettings(remoteSettings: RemoteSettings): Promise { + this.mockSettings = remoteSettings; + } +} diff --git a/backend/tests/unit/data-layer/remoteConnectionDal.spec.ts b/backend/tests/unit/data-layer/remoteConnectionDal.spec.ts new file mode 100644 index 00000000..c921d209 --- /dev/null +++ b/backend/tests/unit/data-layer/remoteConnectionDal.spec.ts @@ -0,0 +1,84 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { Configuration } from '../../../src/config'; +import { RemoteConnectionDal } from '../../../src/data-layer/remoteConnectionDal'; +import { IDataIO, Session } from '../../../src/models/backendInterfaces'; +import { RemoteSettings } from '../../../src/models/sharedInterfaces'; +import { logger } from '../../../src/utilities/logger'; + +class DataIOMock implements IDataIO { + public mockData: RemoteSettings[] = [ + { + connectionKey: 'gggg', + host: 'ws://localhost', + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const remoteConnectionDal = new RemoteConnectionDal(dataMock); + +describe('Remote connection DAL tests', () => { + describe('Get remote connection', () => { + it('it should get remote connection succsessfully', async () => { + const remoteSettings = await remoteConnectionDal.getRemoteSettings(); + expect(remoteSettings).to.deep.equal(dataMock.mockData[0]); + return; + }); + }); + + describe('Delete remote connection', () => { + it('it should delete remote connection session succsessfully', async () => { + await remoteConnectionDal.deleteRemoteSettings(); + + expect(dataMock.mockData.length).to.deep.equal(0); + return; + }); + }); + + const newRemoteSettings: RemoteSettings = { + host: 'ws://127.0.0.1', + connectionKey: '123', + }; + + const secondNewRemoteSettings: RemoteSettings = { + host: 'ws://localhost', + connectionKey: '123456789', + }; + + describe('Set new remote settings', () => { + it('it should set remote settings succsessfully', async () => { + await remoteConnectionDal.setRemoteSettings(newRemoteSettings); + + expect(dataMock.mockData.length).to.deep.equal(1); + return; + }); + + it('it should set second remote settings succsessfully', async () => { + await remoteConnectionDal.setRemoteSettings(secondNewRemoteSettings); + + expect(dataMock.mockData.length).to.deep.equal(1); + return; + }); + }); + + describe('Get last new remote connection', () => { + it('it should get last remote settings succsessfully', async () => { + const remoteSettings = await remoteConnectionDal.getRemoteSettings(); + expect(remoteSettings).to.deep.equal(secondNewRemoteSettings); + return; + }); + }); +}); diff --git a/backend/tests/unit/data-layer/sessionsDal.mock.spec.ts b/backend/tests/unit/data-layer/sessionsDal.mock.spec.ts new file mode 100644 index 00000000..e3bbe9ea --- /dev/null +++ b/backend/tests/unit/data-layer/sessionsDal.mock.spec.ts @@ -0,0 +1,47 @@ +import { Session } from '../../../src/models/backendInterfaces'; + +export class SessionsDalMock { + public mockSessions: Session[] = [ + { + keyHash: '1234', + timeStamp: new Date().getTime(), + email: 'aa@bb.com', + }, + { + keyHash: '12345', + timeStamp: 300, + email: 'aa@bb.com', + }, + { + keyHash: '1234', + timeStamp: new Date().getTime(), + email: 'aaa@bb.com', + }, + { + keyHash: '123456', + timeStamp: new Date().getTime() - 1000, + email: 'aa@bb.com', + }, + ]; + + public async getSessions(): Promise { + return this.mockSessions; + } + + public async getSession(key: string): Promise { + for (const session of this.mockSessions) { + if (session.keyHash === key) { + return session; + } + } + throw new Error('not exsit'); + } + + public async createSession(newSession: Session): Promise { + this.mockSessions.push(newSession); + } + + public async deleteSession(session: Session): Promise { + this.mockSessions.splice(this.mockSessions.indexOf(session), 1); + } +} diff --git a/backend/tests/unit/data-layer/sessionsDal.spec.ts b/backend/tests/unit/data-layer/sessionsDal.spec.ts new file mode 100644 index 00000000..9d34f2a9 --- /dev/null +++ b/backend/tests/unit/data-layer/sessionsDal.spec.ts @@ -0,0 +1,83 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { Configuration } from '../../../src/config'; +import { SessionsDal } from '../../../src/data-layer/sessionsDal'; +import { IDataIO, Session } from '../../../src/models/backendInterfaces'; +import { logger } from '../../../src/utilities/logger'; + +class DataIOMock implements IDataIO { + public mockData: Session[] = [ + { + email: 'aa.bb@cc.com', + keyHash: '42343243938389343984843546574682746784346327843687324', + timeStamp: 34555435354354, + }, + { + email: 'aa@bb.com', + keyHash: '9875415248941652413541321', + timeStamp: 7777888888, + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const sessionsDal = new SessionsDal(dataMock); + +describe('Sesssion DAL tests', () => { + describe('Get Sessions', () => { + it('it should get sessions succsessfully', async () => { + const sessions = await sessionsDal.getSessions(); + expect(sessions).to.deep.equal(dataMock.mockData); + return; + }); + }); + + describe('Get Session by key', () => { + it('it should get session succsessfully', async () => { + const session = await sessionsDal.getSession(dataMock.mockData[1].keyHash); + + expect(session).to.deep.equal(dataMock.mockData[1]); + return; + }); + }); + + const additionalSession: Session = { + email: 'aa.bb@cc.com', + keyHash: '0987123', + timeStamp: new Date().getTime(), + }; + + describe('Create new session', () => { + it('it should create session succsessfully', async () => { + await sessionsDal.createSession(additionalSession); + + const session = await sessionsDal.getSession(additionalSession.keyHash); + + expect(session).to.deep.equal(additionalSession); + return; + }); + }); + + describe('Delete session', () => { + it('it should delete session succsessfully', async () => { + await sessionsDal.deleteSession(additionalSession); + + const sessions = await sessionsDal.getSessions(); + + expect(sessions).to.have.length(dataMock.mockData.length); + return; + }); + }); +}); diff --git a/backend/tests/unit/data-layer/timingsDal.mock.spec.ts b/backend/tests/unit/data-layer/timingsDal.mock.spec.ts new file mode 100644 index 00000000..e6022982 --- /dev/null +++ b/backend/tests/unit/data-layer/timingsDal.mock.spec.ts @@ -0,0 +1,130 @@ +import { ErrorResponse, Timing } from '../../../src/models/sharedInterfaces'; + +export class TimingsDalMock { + public mockTimings: Timing[] = [ + { + isActive: true, + timingId: 'td1', + timingName: 'timing a', + timingProperties: { + once: { + date: new Date().getTime(), + }, + }, + timingType: 'once', + triggerOperationId: 'o1', + }, + { + isActive: true, + timingId: 'ts1', + timingName: 'timing as', + timingProperties: { + dailySunTrigger: { + days: ['saturday'], + durationMinutes: -30, + sunTrigger: 'sunrise', + }, + }, + timingType: 'dailySunTrigger', + triggerOperationId: 'o1', + }, + { + isActive: true, + timingId: 'tt1', + timingName: 'timing at', + timingProperties: { + dailyTimeTrigger: { + days: ['saturday'], + hour: 22, + minutes: 35, + }, + }, + timingType: 'dailyTimeTrigger', + triggerOperationId: 'o1', + }, + { + isActive: true, + timingId: 'to1', + timingName: 'timing to', + timingProperties: { + timeout: { + startDate: new Date().getTime(), + durationInMimutes: 1, + }, + }, + timingType: 'timeout', + triggerOperationId: 'o1', + }, + ]; + + /** + * Find timing in timings array + */ + private findTiming(timingId: string): Timing { + for (const timing of this.mockTimings) { + if (timing.timingId === timingId) { + return timing; + } + } + } + + /** + * Get all timings as array. + */ + public async getTimings(): Promise { + return this.mockTimings; + } + + /** + * Get timing by id. + * @param timingId timing id. + */ + public async getTimingById(timingId: string): Promise { + const timing = this.findTiming(timingId); + + if (!timing) { + throw new Error('timing not exist'); + } + return timing; + } + + /** + * Save new timing. + * @param newTiming timing to create. + */ + public async createTiming(newTiming: Timing): Promise { + this.mockTimings.push(newTiming); + } + + /** + * Delete timing. + * @param timing timing to delete. + */ + public async deleteTiming(timingId: string): Promise { + const originalMinion = this.findTiming(timingId); + + if (!originalMinion) { + throw new Error('timing not exist'); + } + + this.mockTimings.splice(this.mockTimings.indexOf(originalMinion), 1); + } + + /** + * Update timing. + * @param timing timing to update. + */ + public async updateTiming(timing: Timing): Promise { + const originalMinion = this.findTiming(timing.timingId); + + if (!originalMinion) { + throw { + responseCode: 4004, + message: 'timing not exist', + } as ErrorResponse; + } + + this.mockTimings.splice(this.mockTimings.indexOf(originalMinion), 1); + this.mockTimings.push(timing); + } +} diff --git a/backend/tests/unit/data-layer/usersDal.mock.spec.ts b/backend/tests/unit/data-layer/usersDal.mock.spec.ts new file mode 100644 index 00000000..f3b6be11 --- /dev/null +++ b/backend/tests/unit/data-layer/usersDal.mock.spec.ts @@ -0,0 +1,55 @@ +import { User } from '../../../src/models/sharedInterfaces'; + +export class UsersDalMock { + public mockUsers: User[] = [ + { + email: 'aa@bb.com', + displayName: 'firstName1', + ignoreTfa: true, + password: '1234', + scope: 'userAuth', + }, + { + email: 'aa@bbb.com', + displayName: 'firstName2', + ignoreTfa: true, + password: 'password', + scope: 'userAuth', + }, + { + email: 'aaa@bb.com', + displayName: 'firstName3', + ignoreTfa: false, + password: 'password', + scope: 'userAuth', + }, + { + email: 'aaa@bbb.com', + displayName: 'firstName4', + ignoreTfa: true, + password: '1234321', + scope: 'userAuth', + }, + ]; + + public async getUsers(): Promise { + return this.mockUsers; + } + + public async getUser(email: string): Promise { + for (const user of this.mockUsers) { + if (user.email === email) { + return user; + } + } + throw new Error('user not exist'); + } + + public async createUser(newUser: User): Promise { + this.mockUsers.push(newUser); + } + + public async deleteUser(user: User): Promise { + this.mockUsers.splice(this.mockUsers.indexOf(user), 1); + } +} diff --git a/backend/tests/unit/data-layer/usersDal.spec.ts b/backend/tests/unit/data-layer/usersDal.spec.ts new file mode 100644 index 00000000..3d65bd86 --- /dev/null +++ b/backend/tests/unit/data-layer/usersDal.spec.ts @@ -0,0 +1,110 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import { UsersDal } from '../../../src/data-layer/usersDal'; +import { IDataIO, Session } from '../../../src/models/backendInterfaces'; +import { User } from '../../../src/models/sharedInterfaces'; +import { logger } from '../../../src/utilities/logger'; + +class DataIOMock implements IDataIO { + public mockData: User[] = [ + { + email: 'aa@bb.com', + displayName: 'firstName1', + ignoreTfa: true, + password: '1234', + scope: 'userAuth', + }, + { + email: 'aa@bbb.com', + displayName: 'firstName2', + ignoreTfa: true, + password: 'password', + scope: 'userAuth', + }, + { + email: 'aaa@bb.com', + displayName: 'firstName3', + ignoreTfa: false, + password: 'password', + scope: 'userAuth', + }, + { + email: 'aaa@bbb.com', + displayName: 'firstName4', + ignoreTfa: true, + password: '1234321', + scope: 'userAuth', + }, + ]; + + public getDataSync(): any[] { + return this.mockData; + } + + public async getData(): Promise { + return this.mockData; + } + + public async setData(data: any[]): Promise { + this.mockData = data; + } +} + +const dataMock = new DataIOMock(); +const usersDal = new UsersDal(dataMock); + +describe('Users DAL tests', () => { + describe('Get Users', () => { + it('it should get users successfully', async () => { + const users = await usersDal.getUsers(); + + expect(users).to.deep.equal(dataMock.mockData); + return; + }); + }); + + describe('Get User by email', () => { + it('it should get user successfully', async () => { + const user = await usersDal.getUser(dataMock.mockData[2].email); + + expect(user).to.deep.equal(dataMock.mockData[2]); + return; + }); + }); + + const additionalUser: User = { + email: 'abc@dd.com', + displayName: '', + ignoreTfa: false, + password: '876', + scope: 'userAuth', + }; + + describe('Create new user', () => { + it('it should create user successfully', async () => { + await usersDal.createUser(additionalUser); + + const users = await usersDal.getUser(additionalUser.email); + + expect(users).to.deep.equal(additionalUser); + return; + }); + }); + + describe('Delete user', () => { + it('it should delete user successfully', async () => { + await usersDal.deleteUser(additionalUser.email); + + const users = await usersDal.getUsers(); + + expect(users).to.have.length(dataMock.mockData.length); + return; + }); + }); + + describe('Update user', () => { + it('it should update user successfully', async () => { + // TODO + }); + }); +}); diff --git a/backend/tests/unit/modules/mock/mockHandler.spec.ts b/backend/tests/unit/modules/mock/mockHandler.spec.ts new file mode 100644 index 00000000..0badbe26 --- /dev/null +++ b/backend/tests/unit/modules/mock/mockHandler.spec.ts @@ -0,0 +1,26 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { BehaviorSubject, Observable, Subscriber, Subscription } from 'rxjs'; +import { Minion } from '../../../../src/models/sharedInterfaces'; +import { MockHandler } from '../../../../src/modules/mock/mockHandler'; + +const mockHandler = new MockHandler(); +mockHandler.retrieveMinions.setPullMethod( + async (): Promise => { + return []; + }, +); + +describe('Mock handler tests', () => { + it('it should get pysical updates', done => { + // TODO: + // const subscription: Subscription = mockHandler.minionStatusChangedEvent.subscribe((update) => { + // if (update && update.minionId === '656565656') { + // subscription.unsubscribe(); + // done(); + // } + // }); + done(); + }).timeout(moment.duration(10, 'seconds').asMilliseconds()); +}); diff --git a/backend/tests/unit/modules/modulesManager.mock.spec.ts b/backend/tests/unit/modules/modulesManager.mock.spec.ts new file mode 100644 index 00000000..55ca037c --- /dev/null +++ b/backend/tests/unit/modules/modulesManager.mock.spec.ts @@ -0,0 +1,91 @@ +import * as moment from 'moment'; +import { BehaviorSubject, Observable, Subscriber } from 'rxjs'; +import { DeviceKind, ErrorResponse, Minion, MinionStatus } from '../../../src/models/sharedInterfaces'; +import { Delay } from '../../../src/utilities/sleep'; + +export class ModulesManagerMock { + /** + * Let subscribe to any status minion changed. from any brand module. + */ + public minionStatusChangedEvent = new BehaviorSubject<{ + minionId: string; + status: MinionStatus; + }>({ + minionId: '', + status: undefined, + }); + + public get devicesKind(): DeviceKind[] { + return [ + { + brand: 'test mock', + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'switch demo', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: 'test mock', + isTokenRequierd: true, + isIdRequierd: false, + minionsPerDevice: 1, + model: 'switch demo with token', + suppotedMinionType: 'switch', + isRecordingSupported: false, + }, + { + brand: 'test mock', + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'ac demo', + suppotedMinionType: 'airConditioning', + isRecordingSupported: true, + }, + { + brand: 'test mock', + isTokenRequierd: false, + isIdRequierd: false, + minionsPerDevice: -1, + model: 'ac 2 demo', + suppotedMinionType: 'airConditioning', + isRecordingSupported: true, + }, + ]; + } + + public async getStatus(miniom: Minion): Promise { + await Delay(moment.duration(1, 'seconds')); + if (miniom.device.model === 'switch demo') { + return { + switch: { + status: 'on', + }, + }; + } else if (miniom.device.model === 'ac demo') { + return { + airConditioning: { + fanStrength: 'med', + mode: 'cold', + status: 'on', + temperature: 21, + }, + }; + } + throw { + responseCode: 4005, + message: 'unknown model', + } as ErrorResponse; + } + + public async setStatus(miniom: Minion, setStatus: MinionStatus): Promise { + await Delay(moment.duration(0.5, 'seconds')); // Here shuold be the real communication with device. + return; + } + + public async refreshModules(): Promise {} + + public async refreshModule(brand: string): Promise {} +} diff --git a/backend/tests/unit/modules/modulesManager.spec.ts b/backend/tests/unit/modules/modulesManager.spec.ts new file mode 100644 index 00000000..dbcc9a33 --- /dev/null +++ b/backend/tests/unit/modules/modulesManager.spec.ts @@ -0,0 +1,201 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; +import { ErrorResponse, Minion, MinionStatus } from '../../../src/models/sharedInterfaces'; +import { ModulesManager } from '../../../src/modules/modulesManager'; + +const modulesManager = new ModulesManager(); + +const switchMinionMock: Minion = { + device: { + brand: 'mock', + model: 'switch demo', + pysicalDevice: { + mac: '4343434343', + }, + }, + minionId: 'rtvhavmnj', + minionType: 'switch', + name: 'switchMinionDemo', + isProperlyCommunicated: true, + minionStatus: {}, +}; + +const acMinionMock: Minion = { + device: { + brand: 'mock', + model: 'ac demo', + pysicalDevice: { + mac: '6565656565665', + }, + }, + minionId: 'frs74nhk', + minionType: 'airConditioning', + name: 'switchMinionDemo', + isProperlyCommunicated: true, + minionStatus: {}, +}; + +const lightMinionMock: Minion = { + device: { + brand: 'mock', + model: 'light demo', + pysicalDevice: { + mac: '6262626262', + }, + }, + minionId: 'dfjmevckrt5', + minionType: 'light', + name: 'lightMinionDemo', + isProperlyCommunicated: true, + minionStatus: {}, +}; + +describe('Modules Manager tests', () => { + describe('Modules pysical updates tests', () => { + it('it should get pysical updates', done => { + // TODO: + // let acArrived = false; + // const subscription = modulesManager.minionStatusChangedEvent.subscribe((update) => { + // if (update.minionId === '656565656') { + // expect(update).to.be.deep.equal({ + // minionId: '656565656', + // status: { + // airConditioning: { + // status: 'off', + // fanStrength: 'high', + // mode: 'cold', + // temperature: 20, + // }, + // }, + // }); + // acArrived = true; + // } + + // if (acArrived) { + // subscription.unsubscribe(); + // done(); + // } + // }); + done(); + }).timeout(moment.duration(20, 'seconds').asMilliseconds()); + }); + + describe('set minion status tests', () => { + it('it should set switch minoion status', async () => { + await modulesManager.setStatus(switchMinionMock, { + switch: { + status: 'on', + }, + }); + }); + + it('it should set ac minoion status', async () => { + await modulesManager.setStatus(acMinionMock, { + airConditioning: { + status: 'off', + fanStrength: 'high', + mode: 'cold', + temperature: 20, + }, + }); + }); + + it('it should fail to set unknown light minoion status', async () => { + try { + await modulesManager.setStatus(lightMinionMock, { + airConditioning: { + status: 'off', + fanStrength: 'high', + mode: 'cold', + temperature: 20, + }, + }); + } catch (error) { + expect(error).to.be.deep.equal({ + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse); + return; + } + throw new Error('Tring to turn off unkknown light not fail.'); + }); + }); + + describe('get minion status tests', () => { + it('it should get switch minoion status', async () => { + const status = (await modulesManager.getStatus(switchMinionMock)) as MinionStatus; + + expect(status).to.be.deep.equal({ + switch: { + status: 'on', + }, + }); + }); + + it('it should get ac minoion status', async () => { + const status = (await modulesManager.getStatus(acMinionMock)) as MinionStatus; + + expect(status).to.be.deep.equal({ + airConditioning: { + fanStrength: 'med', + mode: 'cold', + status: 'on', + temperature: 21, + }, + }); + }); + + it('it should fail to get unknown light minoion status', async () => { + try { + await modulesManager.getStatus(lightMinionMock); + } catch (error) { + expect(error).to.be.deep.equal({ + responseCode: 8404, + message: 'unknown minion model', + } as ErrorResponse); + return; + } + throw new Error('Tring get status of unkknown light not fail.'); + }); + }); + + describe('record commands tests', () => { + it('it should record successfuly', async () => { + await modulesManager.enterRecordMode(acMinionMock, {}); + }); + + it('it should fail record', async () => { + try { + await modulesManager.enterRecordMode(switchMinionMock, {}); + } catch (error) { + expect(error).to.be.deep.equal({ + responseCode: 6409, + message: `the minioin not support command recording or sending`, + } as ErrorResponse); + return; + } + throw new Error('Tring record command on unsupported model.'); + }); + }); + + describe('generate commands tests', () => { + it('it should generate successfuly', async () => { + await modulesManager.generateCommand(acMinionMock, {}); + }); + + it('it should fail record', async () => { + try { + await modulesManager.generateCommand(switchMinionMock, {}); + } catch (error) { + expect(error).to.be.deep.equal({ + responseCode: 6409, + message: `the minioin not support command recording or sending`, + } as ErrorResponse); + return; + } + throw new Error('Tring record command on unsupported model.'); + }); + }); +}); diff --git a/backend/tests/unit/security/authentication.spec.ts b/backend/tests/unit/security/authentication.spec.ts new file mode 100644 index 00000000..a745bbd3 --- /dev/null +++ b/backend/tests/unit/security/authentication.spec.ts @@ -0,0 +1,122 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as express from 'express'; +import { validSession, validSystemAdmin, validSystemUser } from '../../e2e/prepareRoutesSpecTests.spec'; +import { ErrorResponse, User } from '../../../src/models/sharedInterfaces'; +import { expressAuthentication, SystemAuthScopes } from '../../../src/security/authentication'; + +describe('Security scopes validation middelwere', () => { + describe('Test certification', () => { + it('it should pass succsessfully', async () => { + const faksRequest = { + cookies: { + session: validSession.userSessionKey, + }, + }; + const user = (await expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]).catch( + () => { + throw new Error('auth fail'); + }, + )) as User; + + // Password hash not same even if plain text is the same. + user.password = validSystemUser.password; + expect(user).to.deep.equal(validSystemUser); + return; + }); + + it('it should denied', async () => { + const faksRequest = { + cookies: { + session: 'abc1234567', + }, + }; + expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]) + .then(() => { + throw new Error('Access should denied, but bad cert passed'); + }) + .catch((err: ErrorResponse | Error) => { + const expectedError: ErrorResponse = { + responseCode: 1403, + }; + expect(err).to.deep.equal(expectedError); + }); + }); + + it('it should denied', async () => { + const faksRequest = { + cookies: {}, + }; + expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.userScope]) + .then(() => { + throw new Error('Access should denied, but empty cert passed'); + }) + .catch((err: ErrorResponse) => { + const expectedError: ErrorResponse = { + responseCode: 1401, + }; + expect(err).to.deep.equal(expectedError); + }); + }); + + it('it should denied', async () => { + // TODO : session expierd + }); + }); + + describe('Test Auth Scopes', () => { + it('it should pass as admin scope', async () => { + const faksRequest = { + cookies: { + session: validSession.adminSessionKey, + }, + }; + const user = (await expressAuthentication(faksRequest as express.Request, [SystemAuthScopes.adminScope]).catch( + () => { + throw new Error('admin scope auth fail'); + }, + )) as User; + + // Password hash not same even if plain text is the same. + user.password = validSystemAdmin.password; + expect(user).to.deep.equal(validSystemAdmin); + return; + }); + + it('it should denied any access', async () => { + const faksRequest = { + cookies: { + session: validSession.userSessionKey, + }, + }; + try { + await expressAuthentication(faksRequest as express.Request, ['testScop']); + } catch (err) { + const expectedError: ErrorResponse = { + responseCode: 1403, + }; + expect(err).to.deep.equal(expectedError); + return; + } + throw new Error('Access should throw unknow scope exception, but bad scope passed'); + }); + + it('it should denied any access', async () => { + const faksRequest = { + cookies: { + session: validSession.userSessionKey, + }, + }; + try { + await expressAuthentication(faksRequest as express.Request, ['']); + } catch (err) { + const expectedError: ErrorResponse = { + responseCode: 1403, + }; + expect(err).to.deep.equal(expectedError); + return; + } + throw new Error('Access should throw unknow scope exception, but empty scope passed'); + }); + }); +}); diff --git a/backend/tests/unit/security/schemaValidator.spec.ts b/backend/tests/unit/security/schemaValidator.spec.ts new file mode 100644 index 00000000..bc366056 --- /dev/null +++ b/backend/tests/unit/security/schemaValidator.spec.ts @@ -0,0 +1,141 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as express from 'express'; +import { ErrorResponse, Login, RemoteSettings } from '../../../src/models/sharedInterfaces'; +import { + ErrorResponseSchema, + LoginSchema, + RemoteSettingsSchema, + RequestSchemaValidator, + SchemaValidator, +} from '../../../src/security/schemaValidator'; + +describe('Schema validator tests', () => { + describe('Test login schema', () => { + it('it should pass succsessfully', async () => { + const login: Login = { + email: 'aa@bb.com', + password: '123456', + }; + const fakeRequest = { + body: login, + }; + const filterdLogin = await RequestSchemaValidator(fakeRequest as express.Request, LoginSchema).catch(() => { + throw new Error('auth fail'); + }); + + expect(filterdLogin).to.deep.equal({ + email: 'aa@bb.com', + password: '123456', + }); + return; + }); + + it('it should fail', async () => { + const login: Login = { + email: 'aa@bb.com', + password: '123456', + }; + delete login['email']; + const fakeRequest = { + body: login, + }; + let validationFail = true; + await RequestSchemaValidator(fakeRequest as express.Request, LoginSchema) + .then(() => { + validationFail = false; + }) + .catch(err => {}); + + if (!validationFail) { + throw new Error('valiation shuold fail'); + } + + return; + }); + }); + + describe('Test RemoteSettingsSchema schema', () => { + it('it should pass ws succsessfully', async () => { + const remoteSettings: RemoteSettings = { + host: 'ws://127.0.0.1', + connectionKey: '123456', + }; + const filterdRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema).catch(() => { + throw new Error('valid ws RemoteSettingsSchema schema fail'); + }); + + expect(filterdRemoteSettings).to.deep.equal(remoteSettings); + }); + + it('it should pass wss succsessfully', async () => { + const remoteSettings: RemoteSettings = { + host: 'wss://localhost:8080', + connectionKey: '123456', + }; + const filterdRemoteSettings = await SchemaValidator(remoteSettings, RemoteSettingsSchema).catch(() => { + throw new Error('valid wss RemoteSettingsSchema schema fail'); + }); + + expect(filterdRemoteSettings).to.deep.equal(remoteSettings); + }); + + it('it should fail other protocol URI', async () => { + const remoteSettings: RemoteSettings = { + host: 'http://127.0.0.1', + connectionKey: '123456', + }; + + try { + await await SchemaValidator(remoteSettings, RemoteSettingsSchema); + } catch (error) { + return; + } + + throw new Error('invalid RemoteSettings URI schema passed validator'); + }); + + it('it should fail without protocol URI', async () => { + const remoteSettings: RemoteSettings = { + host: '127.0.0.1:8080', + connectionKey: '123456', + }; + + try { + await await SchemaValidator(remoteSettings, RemoteSettingsSchema); + } catch (error) { + return; + } + + throw new Error('invalid RemoteSettings URI schema passed validator'); + }); + }); + + describe('Test error response schema', () => { + it('it should pass succsessfully', async () => { + const error: ErrorResponse = { + responseCode: 5043, + }; + const filterdError = await SchemaValidator(error, ErrorResponseSchema).catch(() => { + throw new Error('valid error response schema fail'); + }); + + expect(filterdError).to.deep.equal(error); + return; + }); + + it('it should fail', async () => { + const error = { + message: '5043', + }; + + try { + await SchemaValidator(error, ErrorResponseSchema); + } catch (error) { + return; + } + + throw new Error('invalid schema passed validator'); + }); + }); +}); diff --git a/backend/tests/unit/utilities/lanManager.mock.spec.ts b/backend/tests/unit/utilities/lanManager.mock.spec.ts new file mode 100644 index 00000000..15e1c31f --- /dev/null +++ b/backend/tests/unit/utilities/lanManager.mock.spec.ts @@ -0,0 +1,53 @@ +import { LocalNetworkDevice } from '../../../src/models/sharedInterfaces'; +import { Delay } from '../../../src/utilities/sleep'; +import * as moment from 'moment'; + +export const localNetworkDevicesMock: LocalNetworkDevice[] = [ + { + mac: '1111111111', + ip: '192.168.1.1', + }, + { + mac: '22222222222', + ip: '192.168.1.2', + vendor: 'bla bla brand name', + }, + { + mac: '33333333333', + ip: '192.168.1.3', + }, + { + mac: 'ac12345432', + ip: '192.168.1.90', + }, + { + mac: '0987123ac', + ip: '192.168.1.5', + }, + { + mac: '777777bb', + ip: '192.168.1.55', + }, + { + mac: '777777cc', + ip: '192.168.1.56', + }, + { + mac: '777777dd', + ip: '192.168.1.57', + }, + { + mac: '777777ee', + ip: '192.168.1.58', + vendor: 'factory name', + }, + { + mac: '111111aa', + ip: '192.168.1.59', + }, +]; + +export const localNetworkReaderMock = async (): Promise => { + await Delay(moment.duration(1, 'seconds')); + return localNetworkDevicesMock; +}; diff --git a/backend/tests/unit/utilities/lanManager.spec.ts b/backend/tests/unit/utilities/lanManager.spec.ts new file mode 100644 index 00000000..2769e865 --- /dev/null +++ b/backend/tests/unit/utilities/lanManager.spec.ts @@ -0,0 +1,19 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; +import { LocalNetworkReader } from '../../../src/utilities/lanManager'; + +describe('Local network devices util.', () => { + describe('Get real local network table', () => { + if (!testLongSpecs) { + return; + } + + it('it shuold get table successfuly', async () => { + const networdTable = await LocalNetworkReader(); + + expect(networdTable).to.be.a('array'); + }).timeout(moment.duration(4, 'minutes').asMilliseconds()); + }); +}); diff --git a/backend/tests/unit/utilities/sleep.spec.ts b/backend/tests/unit/utilities/sleep.spec.ts new file mode 100644 index 00000000..af7d65c2 --- /dev/null +++ b/backend/tests/unit/utilities/sleep.spec.ts @@ -0,0 +1,25 @@ +import * as chai from 'chai'; +import { assert, expect } from 'chai'; +import * as moment from 'moment'; +import { testLongSpecs } from '../../e2e/prepareRoutesSpecTests.spec'; +import { Delay } from '../../../src/utilities/sleep'; + +describe('Sleep utility tests', () => { + it('it should wait requestd time', async () => { + if (!testLongSpecs) { + return; + } + + const bedorDelay = new Date().getTime(); + + const delayDuration = moment.duration(3, 'seconds'); + await Delay(delayDuration); + + const afterDelay = new Date().getTime(); + + // Allow range of 100 ms fauls. + expect(afterDelay) + .to.be.above(bedorDelay + (delayDuration.asMilliseconds() - 100)) + .below(bedorDelay + (delayDuration.asMilliseconds() + 100)); + }).timeout(moment.duration(7, 'seconds').asMilliseconds()); +}); diff --git a/backend/tslint.json b/backend/tslint.json index 71e746bb..dcd06ad7 100644 --- a/backend/tslint.json +++ b/backend/tslint.json @@ -1,144 +1,8 @@ { - "defaultSeverity": "error", - "extends": [ - "tslint:recommended" - ], - "jsRules": {}, - "rules": { - "interface-name": [true, "never-prefix"], - "arrow-return-shorthand": true, - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "eofline": true, - "forin": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-super": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-misused-new": true, - "no-non-null-assertion": true, - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unnecessary-initializer": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "typeof-compare": true, - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ], - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "use-input-property-decorator": true, - "use-output-property-decorator": true, - "use-host-property-decorator": true, - "no-input-rename": true, - "no-output-rename": true, - "use-life-cycle-interface": true, - "use-pipe-transform-interface": true, - "component-class-suffix": true, - "directive-class-suffix": true, - "invoke-injectable": true - }, - "rulesDirectory": [] -} \ No newline at end of file + "extends": ["tslint:recommended", "tslint-config-prettier"], + "rules": { + "interface-name": false, + "object-literal-sort-keys": false, + "no-empty": false + } +} diff --git a/frontend/README.md b/frontend/README.md index a2318acd..595a6592 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,12 +1,16 @@ # casanet dashboard +[![Build Status](https://travis-ci.org/casanet/casanet-server.svg?branch=master)](https://travis-ci.org/casanet/casanet-server) + This Angular project use to be the frontend of the casanet server. The app should support two scenarios: + 1. Serving app by the local server in the local network. 1. Serving app by a public CDN service and configuring the API requests URL. Build the project by `npm run build`. the results will copy to `$backend/dist/public` If you need the CDN configuration: -* Set `API_URL` environment variable with the remote server or the local server URL. (default is `http://127.0.0.1:3000`) -* Build the app by `npm run build:external`. the results will be in the `dist` directory. + +- Set `API_URL` environment variable with the remote server or the local server URL. (default is `http://127.0.0.1:3000`) +- Build the app by `npm run build:external`. the results will be in the `dist` directory. diff --git a/frontend/src/app/dashboard-crm/minions/minions.component.scss b/frontend/src/app/dashboard-crm/minions/minions.component.scss index b5141fc6..749639c1 100644 --- a/frontend/src/app/dashboard-crm/minions/minions.component.scss +++ b/frontend/src/app/dashboard-crm/minions/minions.component.scss @@ -1,7 +1,6 @@ mat-card { padding: 5px; margin: 7px; - } .minion-card-focus:hover { @@ -10,40 +9,38 @@ mat-card { } .minion-card:active { - margin-top: 12px; + margin-top: 12px; } .minion-text { color: white; } - -/deep/ .mat-form-field-type-mat-select .mat-form-field-label, .mat-select-value { +::ng-deep .mat-form-field-type-mat-select .mat-form-field-label, +.mat-select-value { color: white; } ::ng-deep .mat-accent .mat-slider-thumb { background-color: black; -} +} ::ng-deep .mat-accent .mat-slider-thumb-label { background-color: black; -} +} ::ng-deep .mat-accent .mat-slider-track-fill { background-color: black; -} +} ::ng-deep .mat-mini-fab { background-color: #1f5f59; color: white; -} +} ::ng-deep .mat-fab { background-color: #1f5f59; color: white; } - - /* SLIDER */ // We need to use ::ng-deep to overcome view encapsulation @@ -85,8 +82,6 @@ mat-card { color: white; } - - .custom-slider .ng5-slider .ng5-slider-tick { width: 1px; height: 10px; From 1d1980372a0c648ffa789586c506e6e09bd8b1db Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 04:52:50 +0200 Subject: [PATCH 4/8] Fix travis config --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e7142b7b..60dccc69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,18 +2,20 @@ matrix: include: - - before_script: + before_install: - "cd backend" language: node_js node_js: - stable install: - npm install + env: + - TEST_LONG_SPECS=false script: - npm run cover after_script: "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js" - - before_script: + before_install: - "cd frontend" language: node_js node_js: From ef7834b5abd6184768ab9f8d3baca299f1b39932 Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 05:09:31 +0200 Subject: [PATCH 5/8] Fix case sensitive files name --- backend/tests/e2e/authRoute.spec.ts | 2 +- backend/tests/e2e/prepareRoutesSpecTests.spec.ts | 2 +- backend/tests/e2e/vulnerability.spec.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/tests/e2e/authRoute.spec.ts b/backend/tests/e2e/authRoute.spec.ts index 8886e713..3e7ed6c8 100644 --- a/backend/tests/e2e/authRoute.spec.ts +++ b/backend/tests/e2e/authRoute.spec.ts @@ -2,7 +2,7 @@ import * as chai from 'chai'; import { expect } from 'chai'; import chaiHttp = require('chai-http'); import * as moment from 'moment'; -import app from '../../src/App'; +import app from '../../src/app'; import { Login } from '../../src/models/sharedInterfaces'; import { validAdminPlainPassword, diff --git a/backend/tests/e2e/prepareRoutesSpecTests.spec.ts b/backend/tests/e2e/prepareRoutesSpecTests.spec.ts index 10c1dbc4..81976106 100644 --- a/backend/tests/e2e/prepareRoutesSpecTests.spec.ts +++ b/backend/tests/e2e/prepareRoutesSpecTests.spec.ts @@ -1,7 +1,7 @@ import * as bcrypt from 'bcryptjs'; import * as chai from 'chai'; import chaiHttp = require('chai-http'); -import app from '../../src/App'; +import app from '../../src/app'; import { Configuration } from '../../src/config'; import { UsersDalSingleton } from '../../src/data-layer/usersDal'; import { Login, Minion } from '../../src/models/sharedInterfaces'; diff --git a/backend/tests/e2e/vulnerability.spec.ts b/backend/tests/e2e/vulnerability.spec.ts index acae2154..e9213bda 100644 --- a/backend/tests/e2e/vulnerability.spec.ts +++ b/backend/tests/e2e/vulnerability.spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import * as moment from 'moment'; -import app from '../../src/App'; +import app from '../../src/app'; import { Configuration } from '../../src/config'; import { User } from '../../src/models/sharedInterfaces'; import { DeepCopy } from '../../src/utilities/deepCopy'; From f9f0d4bfd722efe91b51329b220848e059fa649f Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 10:14:18 +0200 Subject: [PATCH 6/8] Create and hide alert about redirecting domain --- frontend/ngsw-config.json | 2 +- frontend/package-lock.json | 2353 +++++++++++++---- frontend/package.json | 2 +- frontend/src/app/auth/auth.component.ts | 25 + frontend/src/assets/i18n/en.json | 664 ++--- frontend/src/assets/i18n/he.json | 664 ++--- .../build-external-environment.js | 31 +- .../build-internal-environment.js | 23 +- frontend/src/environments/environment.ts | 27 +- frontend/src/light-app/index.js | 261 +- frontend/src/light-app/service-worker.js | 2 +- 11 files changed, 2663 insertions(+), 1391 deletions(-) diff --git a/frontend/ngsw-config.json b/frontend/ngsw-config.json index 6a5382c9..161bb726 100644 --- a/frontend/ngsw-config.json +++ b/frontend/ngsw-config.json @@ -26,7 +26,7 @@ "urls": [ "/**" ], - "version": 28, + "version": 29, "cacheConfig": { "maxSize": 100, "maxAge": "30d" diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3856a154..f9c8dd8f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -26,18 +26,18 @@ } }, "@angular-devkit/build-angular": { - "version": "0.803.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.4.tgz", - "integrity": "sha512-tL0MdAPtUjqG+F6Hc0xhaKb2gk8g55AeBjSZognlJkqPRS+b+gF1qDmyW0n5HXbyDk+zIGZyvYpzkBBL8VI6bg==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.803.4", - "@angular-devkit/build-optimizer": "0.803.4", - "@angular-devkit/build-webpack": "0.803.4", - "@angular-devkit/core": "8.3.4", - "@babel/core": "7.5.5", - "@babel/preset-env": "7.5.5", - "@ngtools/webpack": "8.3.4", + "version": "0.803.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.21.tgz", + "integrity": "sha512-flfgflvfpwdsm3x/U7QnfbtyZPEbsVipzQAoao1Zo58Beq1a+NsKsWbjrF/x4TSoI2czt0OVWXNytlfXM7LMhg==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.803.21", + "@angular-devkit/build-optimizer": "0.803.21", + "@angular-devkit/build-webpack": "0.803.21", + "@angular-devkit/core": "8.3.21", + "@babel/core": "7.7.5", + "@babel/preset-env": "7.7.6", + "@ngtools/webpack": "8.3.21", "ajv": "6.10.2", "autoprefixer": "9.6.1", "browserslist": "4.6.6", @@ -45,12 +45,13 @@ "caniuse-lite": "1.0.30000989", "circular-dependency-plugin": "5.2.0", "clean-css": "4.2.1", - "copy-webpack-plugin": "5.0.4", + "copy-webpack-plugin": "5.1.1", "core-js": "3.2.1", "file-loader": "4.2.0", "find-cache-dir": "3.0.0", "glob": "7.1.4", "istanbul-instrumenter-loader": "3.0.1", + "jest-worker": "24.9.0", "karma-source-map-support": "1.4.0", "less": "3.9.0", "less-loader": "5.0.0", @@ -76,19 +77,41 @@ "style-loader": "1.0.0", "stylus": "0.54.5", "stylus-loader": "3.0.2", - "terser": "4.1.4", - "terser-webpack-plugin": "1.4.1", + "terser": "4.3.9", + "terser-webpack-plugin": "1.4.3", "tree-kill": "1.2.1", "webpack": "4.39.2", - "webpack-dev-middleware": "3.7.0", - "webpack-dev-server": "3.8.0", + "webpack-dev-middleware": "3.7.2", + "webpack-dev-server": "3.9.0", "webpack-merge": "4.2.1", "webpack-sources": "1.4.3", "webpack-subresource-integrity": "1.1.0-rc.6", - "worker-farm": "1.7.0", "worker-plugin": "3.2.0" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.803.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.21.tgz", + "integrity": "sha512-E2K/YexIWVyKM/xmyxvDjkJf+wX9u4c8YYpNaK4htsRzA06juc7N1MhlL/jURZiRl5b/K9sapYeq3tMX76saxA==", + "dev": true, + "requires": { + "@angular-devkit/core": "8.3.21", + "rxjs": "6.4.0" + } + }, + "@angular-devkit/core": { + "version": "8.3.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.21.tgz", + "integrity": "sha512-BYyVbrbys535FplX0+GVOlYBg/cyk1U5SRhSxRRFZYi9epVlEBBPk8/6wV4cQPGb6EwXkVj7YtPWXjXcGfzWmA==", + "dev": true, + "requires": { + "ajv": "6.10.2", + "fast-json-stable-stringify": "2.0.0", + "magic-string": "0.25.3", + "rxjs": "6.4.0", + "source-map": "0.7.3" + } + }, "core-js": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz", @@ -113,9 +136,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.803.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.4.tgz", - "integrity": "sha512-VGkHCyU/OC0BoTeoERb0cFG00Ippjhtx2du+7JgwGNU1GF+g2H6Ka1NJRQf/TrwgH5ATmagvlTKQRDOMo51jqg==", + "version": "0.803.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.21.tgz", + "integrity": "sha512-gNN6kPaF4phZco3TmsrNr9tIEKXYsoSeoaUiDUfgmCYwa7fAqM8Ojh7HX6IQuB2PpVmEwKGlCcSh6xDtB33NjA==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -126,17 +149,39 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.803.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.4.tgz", - "integrity": "sha512-IbXoKyhdfaza+K8orCwDx3r7C/8qaTwiXUlarW/adoH5XBwzAtYGGsMmmWRffBnBiZtI2LT3VK21QAostklNxg==", + "version": "0.803.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.21.tgz", + "integrity": "sha512-zCFVla/Xdk8qGVybvnHtoKml2h0/ShasSjT55VNZO1XaTCMqYkQEwwqSGEiVajpauafWjKrKxxBhsmWoI4efAA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.4", - "@angular-devkit/core": "8.3.4", - "rxjs": "6.4.0", - "webpack-merge": "4.2.1" + "@angular-devkit/architect": "0.803.21", + "@angular-devkit/core": "8.3.21", + "rxjs": "6.4.0" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.803.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.21.tgz", + "integrity": "sha512-E2K/YexIWVyKM/xmyxvDjkJf+wX9u4c8YYpNaK4htsRzA06juc7N1MhlL/jURZiRl5b/K9sapYeq3tMX76saxA==", + "dev": true, + "requires": { + "@angular-devkit/core": "8.3.21", + "rxjs": "6.4.0" + } + }, + "@angular-devkit/core": { + "version": "8.3.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.21.tgz", + "integrity": "sha512-BYyVbrbys535FplX0+GVOlYBg/cyk1U5SRhSxRRFZYi9epVlEBBPk8/6wV4cQPGb6EwXkVj7YtPWXjXcGfzWmA==", + "dev": true, + "requires": { + "ajv": "6.10.2", + "fast-json-stable-stringify": "2.0.0", + "magic-string": "0.25.3", + "rxjs": "6.4.0", + "source-map": "0.7.3" + } + }, "rxjs": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", @@ -1128,19 +1173,19 @@ } }, "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz", + "integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==", "dev": true, "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", "json5": "^2.1.0", "lodash": "^4.17.13", @@ -1149,10 +1194,105 @@ "source-map": "^0.5.0" }, "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -1194,54 +1334,328 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" } }, "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/helper-function-name": { @@ -1265,53 +1679,144 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", "dev": true, "requires": { - "@babel/types": "^7.5.5" + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz", + "integrity": "sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-plugin-utils": { @@ -1330,41 +1835,259 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", "dev": true, "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-split-export-declaration": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", @@ -1374,26 +2097,214 @@ } }, "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/helpers": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz", - "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", "dev": true, "requires": { - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0" + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/highlight": { @@ -1414,145 +2325,153 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", + "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" + "@babel/plugin-syntax-dynamic-import": "^7.7.4" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "@babel/plugin-syntax-json-strings": "^7.7.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz", + "integrity": "sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz", + "integrity": "sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", + "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-remap-async-to-generator": "^7.7.4" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz", - "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1560,229 +2479,368 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", "globals": "^11.1.0" + }, + "dependencies": { + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz", + "integrity": "sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", + "@babel/helper-function-name": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "dependencies": { + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==", + "dev": true + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", + "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz", + "integrity": "sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.7.5", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", - "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz", + "integrity": "sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-module-transforms": "^7.7.5", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-simple-access": "^7.7.4", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-hoist-variables": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz", - "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", "dev": true, "requires": { - "regexp-tree": "^0.1.13" + "@babel/helper-create-regexp-features-plugin": "^7.7.4" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" + "@babel/helper-replace-supers": "^7.7.4" } }, "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz", + "integrity": "sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "dependencies": { + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", + "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz", + "integrity": "sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==", "dev": true, "requires": { "regenerator-transform": "^0.14.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", + "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1790,100 +2848,102 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.6.tgz", + "integrity": "sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.4", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.5", + "@babel/plugin-transform-modules-commonjs": "^7.7.5", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.4", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.5", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", + "core-js-compat": "^3.4.7", "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.5.0" }, "dependencies": { - "@babel/plugin-transform-destructuring": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", - "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, "semver": { @@ -1942,18 +3002,31 @@ } }, "@ngtools/webpack": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.4.tgz", - "integrity": "sha512-hNikQ6cjvCmA/bK8dor+oijPKF9sQAcM29FCPn3t0l3ucoVSOvbFpvtMYqlIHN5pw6WitZpImnkk2OW3o1JaDA==", + "version": "8.3.21", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.21.tgz", + "integrity": "sha512-DGqmFQ52sV4uB3y3spQTNLa69oU5cwd1yIqMB4GSM+Qp+hozdzrPA2gVH90N2DDhWe8icsSQHAtZQiR9+BDL8g==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.4", + "@angular-devkit/core": "8.3.21", "enhanced-resolve": "4.1.0", "rxjs": "6.4.0", "tree-kill": "1.2.1", "webpack-sources": "1.4.3" }, "dependencies": { + "@angular-devkit/core": { + "version": "8.3.21", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.21.tgz", + "integrity": "sha512-BYyVbrbys535FplX0+GVOlYBg/cyk1U5SRhSxRRFZYi9epVlEBBPk8/6wV4cQPGb6EwXkVj7YtPWXjXcGfzWmA==", + "dev": true, + "requires": { + "ajv": "6.10.2", + "fast-json-stable-stringify": "2.0.0", + "magic-string": "0.25.3", + "rxjs": "6.4.0", + "source-map": "0.7.3" + } + }, "rxjs": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", @@ -2303,9 +3376,9 @@ } }, "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", "dev": true }, "adm-zip": { @@ -2990,6 +4063,16 @@ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", @@ -3204,9 +4287,9 @@ } }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -3780,13 +4863,10 @@ "dev": true }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "console-control-strings": { "version": "1.1.0", @@ -3857,12 +4937,12 @@ "dev": true }, "copy-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", "dev": true, "requires": { - "cacache": "^11.3.3", + "cacache": "^12.0.3", "find-cache-dir": "^2.1.0", "glob-parent": "^3.1.0", "globby": "^7.1.1", @@ -3870,16 +4950,16 @@ "loader-utils": "^1.2.3", "minimatch": "^3.0.4", "normalize-path": "^3.0.0", - "p-limit": "^2.2.0", + "p-limit": "^2.2.1", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "serialize-javascript": "^2.1.2", "webpack-log": "^2.0.0" }, "dependencies": { "cacache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", - "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -3887,6 +4967,7 @@ "figgy-pudding": "^3.5.1", "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", @@ -4027,13 +5108,38 @@ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" }, "core-js-compat": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", - "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.1.tgz", + "integrity": "sha512-2Tl1EuxZo94QS2VeH28Ebf5g3xbPZG/hj/N5HDDy4XMP/ImR0JIer/nggQRiMN91Q54JVkGbytf42wO29oXVHg==", "dev": true, "requires": { - "browserslist": "^4.6.6", - "semver": "^6.3.0" + "browserslist": "^4.8.2", + "semver": "7.0.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.2.tgz", + "integrity": "sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001015", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.42" + } + }, + "caniuse-lite": { + "version": "1.0.30001017", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001017.tgz", + "integrity": "sha512-EDnZyOJ6eYh6lHmCvCdHAFbfV4KJ9lSdfv4h/ppEhrU/Yudkl7jujwMZ1we6RX7DXqBfT04pVMQ4J+1wcTlsKA==", + "dev": true + }, + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, "core-util-is": { @@ -4239,12 +5345,6 @@ "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", "dev": true }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -4291,9 +5391,9 @@ "dev": true }, "deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", - "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "requires": { "is-arguments": "^1.0.4", @@ -4446,9 +5546,9 @@ "dev": true }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -4590,15 +5690,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.258", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.258.tgz", - "integrity": "sha512-rkPYrgFU7k/8ngjHYvzOZ44OQQ1GeIRIQnhGv00RkSlQXEnJKsGonQppbEEWHuuxZegpMao+WZmYraWQJQJMMg==", + "version": "1.3.322", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz", + "integrity": "sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==", "dev": true }, "elliptic": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", - "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -5229,9 +6329,9 @@ }, "dependencies": { "schema-utils": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz", - "integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", + "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", "dev": true, "requires": { "ajv": "^6.10.2", @@ -5240,6 +6340,13 @@ } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", @@ -5714,9 +6821,9 @@ "dev": true }, "handlebars": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz", - "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -6022,9 +7129,9 @@ "dev": true }, "https-proxy-agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", - "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "requires": { "agent-base": "^4.3.0", @@ -6289,9 +7396,9 @@ "dev": true }, "is-absolute-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.2.tgz", - "integrity": "sha512-+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true }, "is-accessor-descriptor": { @@ -6799,6 +7906,27 @@ "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", "dev": true }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "js-base64": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", @@ -7165,9 +8293,9 @@ } }, "loglevel": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", - "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", "dev": true }, "loose-envify": { @@ -7371,6 +8499,12 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -7749,9 +8883,9 @@ } }, "node-forge": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.2.tgz", - "integrity": "sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", "dev": true }, "node-gyp": { @@ -7833,20 +8967,12 @@ } }, "node-releases": { - "version": "1.1.30", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.30.tgz", - "integrity": "sha512-BHcr1g6NeUH12IL+X3Flvs4IOnl1TL0JczUhEZjDE+FXXPQcVCNr8NEPb01zqGxzhTpdyJL5GXemaCW7aw6Khw==", + "version": "1.1.44", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.44.tgz", + "integrity": "sha512-NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==", "dev": true, "requires": { - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "semver": "^6.3.0" } }, "node-sass": { @@ -8351,9 +9477,9 @@ "dev": true }, "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", "dev": true }, "object-keys": { @@ -8644,9 +9770,9 @@ } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, "requires": { "asn1.js": "^4.0.0", @@ -8845,36 +9971,24 @@ } }, "portfinder": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", - "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, @@ -9364,9 +10478,9 @@ }, "dependencies": { "schema-utils": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz", - "integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", + "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", "dev": true, "requires": { "ajv": "^6.10.2", @@ -9574,19 +10688,93 @@ "safe-regex": "^1.1.0" } }, - "regexp-tree": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz", - "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==", - "dev": true - }, "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "dev": true, "requires": { - "define-properties": "^1.1.2" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "regexpu-core": { @@ -9604,15 +10792,15 @@ } }, "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", + "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -10145,12 +11333,12 @@ } }, "selfsigned": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.6.tgz", - "integrity": "sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, "requires": { - "node-forge": "0.8.2" + "node-forge": "0.9.0" } }, "semver": { @@ -10240,9 +11428,9 @@ } }, "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", "dev": true }, "serve-index": { @@ -10673,9 +11861,9 @@ } }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "dev": true, "requires": { "debug": "^3.2.5", @@ -11141,9 +12329,9 @@ }, "dependencies": { "schema-utils": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz", - "integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", + "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", "dev": true, "requires": { "ajv": "^6.10.2", @@ -11244,9 +12432,9 @@ } }, "terser": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.4.tgz", - "integrity": "sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg==", + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz", + "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==", "dev": true, "requires": { "commander": "^2.20.0", @@ -11263,16 +12451,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", @@ -11315,9 +12503,9 @@ } }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timers-browserify": { @@ -11886,9 +13074,9 @@ } }, "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "void-elements": { @@ -11995,14 +13183,15 @@ } }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -12050,7 +13239,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true @@ -12080,7 +13269,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -12107,12 +13296,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -12138,7 +13327,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -12167,7 +13356,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -12186,7 +13375,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -12228,7 +13417,7 @@ "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, @@ -12238,12 +13427,12 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { @@ -12256,24 +13445,24 @@ } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.4.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -12287,7 +13476,7 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -12301,13 +13490,22 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.7", "bundled": true, "dev": true, "optional": true, @@ -12378,7 +13576,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -12419,7 +13617,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -12446,7 +13644,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -12499,18 +13697,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -12535,7 +13733,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true @@ -12670,13 +13868,14 @@ } }, "webpack-dev-middleware": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", - "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "dev": true, "requires": { "memory-fs": "^0.4.1", - "mime": "^2.4.2", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" }, @@ -12690,41 +13889,41 @@ } }, "webpack-dev-server": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz", - "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz", + "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.1.6", + "chokidar": "^2.1.8", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", - "is-absolute-url": "^3.0.0", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.3", + "loglevel": "^1.6.4", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.21", + "portfinder": "^1.0.25", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.4", + "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.3.0", + "sockjs-client": "1.4.0", "spdy": "^4.0.1", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.0", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", "yargs": "12.0.5" @@ -12817,14 +14016,15 @@ } }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -12872,7 +14072,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true @@ -12902,7 +14102,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -12929,12 +14129,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -12960,7 +14160,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -12989,7 +14189,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -13008,7 +14208,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -13050,7 +14250,7 @@ "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, @@ -13060,12 +14260,12 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { @@ -13078,24 +14278,24 @@ } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.4.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -13109,7 +14309,7 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -13123,13 +14323,22 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.7", "bundled": true, "dev": true, "optional": true, @@ -13200,7 +14409,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -13241,7 +14450,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -13268,7 +14477,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -13321,18 +14530,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -13357,7 +14566,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true diff --git a/frontend/package.json b/frontend/package.json index 89297c33..d25eeeae 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -40,7 +40,7 @@ "zone.js": "~0.9.1" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.803.3", + "@angular-devkit/build-angular": "^0.803.21", "@angular/cli": "^8.3.3", "@angular/compiler-cli": "^8.2.5", "@angular/language-service": "^8.2.5", diff --git a/frontend/src/app/auth/auth.component.ts b/frontend/src/app/auth/auth.component.ts index 589237fa..705b1770 100644 --- a/frontend/src/app/auth/auth.component.ts +++ b/frontend/src/app/auth/auth.component.ts @@ -8,6 +8,7 @@ import { TranslatePipe } from '../translate.pipe'; import { MinionsService } from '../services/minions.service'; import { OperationService } from '../services/operations.service'; import { Minion } from '../../../../backend/src/models/sharedInterfaces'; +import { environment } from '../../environments/environment'; @Component({ selector: 'app-auth', @@ -96,8 +97,32 @@ export class AuthComponent implements OnInit, OnChanges, AfterContentInit, OnDes }); }); + + setTimeout(() => { this.domainsAlert(); }, 5000); } + private async domainsAlert() { + + if (document.baseURI.includes(environment.dashboardDomain)) { + return; + } + + const msg = ` + ${this.translatePipe.transform('go to correct domain')} +
+ ${environment.dashboardDomain} + `; + + + const swalResult: void | SweetAlertResult = await swal({ + type: 'warning', + html: msg, + showConfirmButton: true, + showCancelButton: false, + confirmButtonText: this.translatePipe.transform('OK'), + }); + } + ngAfterContentInit() { /** Clear loader from DOM, to not let it work in background */ document.getElementById('loading-app-assets').innerHTML = ''; diff --git a/frontend/src/assets/i18n/en.json b/frontend/src/assets/i18n/en.json index 276d05c3..428c20c4 100644 --- a/frontend/src/assets/i18n/en.json +++ b/frontend/src/assets/i18n/en.json @@ -1,332 +1,334 @@ { - "DIR": "ltr", - "RIGHT_DIR": "right", - "LEFT_DIR": "left", - "REQUEST_FAIL": "Request fail", - "ERROR": "error", - "TITLE": "CASA net (en)", - "EMAIL": "email", - "PASSWORD": "password", - "ONE_TIME_PASSWORD": "one-time password", - "LOGIN": "login", - "AUTHENTICATION": "authentication", - "ABOUT": "About", - "HELP": "Help", - "LOGOUT": "Logout", - "PROFILE": "Profile", - "MINIONS": "Minions", - "OPERATIONS": "Operations", - "TIMINGS": "Timings", - "DEVICES": "Devices", - "USERS": "Users", - "PROPERTIES": "properties", - "DITAILS": "ditails", - "PRESS_TO_TURN_ON": "Press to turn on device", - "PRESS_TO_TURN_OFF": "Press to turn off device", - "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "communication error, press to read device data again\nor rescan network addresses", - "HOT": "hot", - "COLD": "cold", - "DRY": "dry", - "AUTO": "auto", - "MED": "med", - "HIGH": "high", - "LOW": "low", - "MODE": "mode", - "FAN_STRENGTH": "fan strength", - "TEMERATURE": "temperature", - "BRIGTNESS": "brigtness", - "COLOR": "color", - "RED": "red", - "GREEN": "green", - "BLUE": "blue", - "UP_DIRECTION": "up direction", - "DOWN_DIRECTION": "down direction", - "SUBMIT": "submit", - "CANCEL": "cancel", - "DEVICE_META": "Device meta", - "REFRESH_MINION_DATA": "Refresh minion", - "REDO_LAST_UPDATE": "Redo last status update", - "ENTER_RECORD_OR_GENERATE_MODE": "Enter record/generate mode", - "TURN_OFF_TIMEOUT": "Auto turn off", - "EXIT_RECORD_OR_GENERATE_MODE": "Exit record mode", - "DELETE_MINION": "Delete minion", - "REREAD_ALL_MINIONS": "Re-read minion properties", - "REFRESH": "Refresh", - "RESCAN_NETWORK_AND_MINIONS": "Scan network IP`s and refresh minions", - "CREATE_MINION": "Create a new minion", - "PRESS_TO_RECORD": "Press to record the command", - "MINUTES": "minutes", - "HOURS": "hours", - "SURE": "sure", - "BEFORE_DELETE_MESSAGE": "Are you want to delete", - "DELETE": "delete", - "ENTER_NAME": "Enter name", - "ENTER_NAME_HERE": "Enter name here...", - "ENTER_ID": "Enter device id", - "ENTER_ID_HERE": "Enter device id here...", - "ENTER_TOKEN": "Enter device token", - "ENTER_TOKEN_HERE": "Enter device token here...", - "SELECT_MODEL": "Select model", - "SELECT_A_MODEL": "Select a model", - "SELECT_BRAND": "Select brand", - "SELECT_A_BRAND": "Select a brand", - "SELECT_DEVICE": "Select device", - "SELECT_A_DEVICE": "Select a device", - "EDIT": "Edit", - "USE_AUTO_TURNOFF_TIMEOUT": "active auto turnoff timeout", - "CLOSE": "close", - "INNER_ID": "inner id", - "MODEL": "model", - "BRAND": "brand", - "DEVICE_NAME": "physical device name", - "DEVICE_MAC": "physical device address", - "DEVICE_IP": "physical device ip address", - "DEVICE_VENDOR": "physical device vendor", - "NEXT": "Next", - "BACK": "Back", - "DONE": "Done", - "CREATE": "Create", - "RESET": "Reset", - "DONE_MINION_MESSAGE": "Ready to create a minion", - "GENERATE_COMMANDS": "Generate new random commands fot toggle on/off", - "ENTER_EMAIL": "Enter email", - "INCORRECT_EMAIL": "Incorrect email", - "ENTER_PASSWORD": "Enter password", - "MIN_PASSWORD_LENGTH_MSG": "Please enter more than 6 characters", - "MAX_PASSWORD_LENGTH_MSG": "Please enter less than 25 characters", - "LOGIN_SUCCESSFULLY": "successfully connected", - "CONNECTED_FAIL": "connection fail, try agine", - "LOGOUT_SUCCESSFULLY": "logout successfully", - "LOGOUT_FAIL": "logout fail, try agine", - "TRIGGER_OPERATION": "Trigger operation", - "ACTIVITIES": "Activities", - "NAME": "Name", - "STATUS": "Status", - "CREATE_OPERATION": "Create a new Operation", - "DELETE_OPERATION": "Delete the operation", - "CREATE_ACTIVITIES": "Create activities", - "ADD_ACTIVITY": "Add activity", - "DONE_OPERATION_MESSAGE": "The new operation is ready", - "SELECT_MINION": "Select a minion", - "SET_STATUS": "Set status", - "ON": "on", - "OFF": "off", - "SET_PROPERTIES": "Set properties", - "DONE_ACTIVITY_MESSAGE": "The new activity is reaady", - "DELETE_TIMING": "Delete the timing", - "DAYS": "Days", - "SUN_TRIGGER": "Sun trigger", - "SUNRISE": "Sunrise", - "SUNSET": "Sunset", - "DURATION_IN_MINUTES": "Duration in minutes", - "HOUR": "hour", - "START_IN": "Start in", - "CREATE_TIMING": "Create a new timing", - "SELECT_OPERATION": "Select a operation", - "SELECT_TIMING_TYPE": "Select the timing type", - "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "The duration must be on the same calendar day", - "DONE_TIMING_MESSAGE": "The new timing is ready", - "CHOOSE_DATE": "Choose a date", - "MAC": "MAC address", - "IP": "IP Address", - "VENDOR": "Vendor name", - "RESCAN_NETWORK": "Rescan network", - "PRESS_NAME": "Press the new name", - "DEVICE": "Device", - "ACTIVATE": "Activate", - "TYPE": "Type", - "SUNDAY": "Sunday", - "MONDAY": "Monday", - "TUESDAY": "Tuesday", - "WEDNSDAY": "Wednsday", - "THURSDAY": "Thursday", - "FRIDAY": "Friday", - "SATURDAY": "Saturday", - "SET": "Set", - "FAIL": "fail", - "ACTIVATED": "activated", - "ACTIVATED_OPERATION": "Activated operation", - "OK": "OK", - "ONLINE": "Connected to server", - "OFFLINE": "Server offline", - "LANGUAGE": "Language", - "SELECT_LANGUAGE": "language select", - "REMOTE_SERVER": "Remote server", - "REMOTE_STATUS": "Remote server status", - "REMOTE_URI": "Remote server address", - "EDIT_CONNECTION": "Edit connection", - "DISCONNECT": "Disconnect", - "GET_LOCAL_MAC": "Get the local MAC address", - "IFTTT_INTEGRATION": "IFTTT integration", - "IFTTT_STATUS": "integration status", - "CONFIG_CONNECTION": "Configure", - "DISABLE_IFTTT": "Disable integration", - "ENABLED": "enables", - "DISABLED": "disabled", - "READING_MAC": "Reading the MAC address...", - "PRESS_IFTTT_API_KEY": "Press the IFTTT API key", - "SETTING_IFTTT": "Setting IFTTT services...", - "FORMAT": "foramt", - "API_KEY": "The local server API key", - "SETTING_REMOTE_SERVER": "Settings remote server...", - "ALLOW_UNMFA_ACCESS": "Access without MFA", - "SESSION_MS_TIMEOUT": "Session duration in ms", - "SESSION_HOURES_TIMEOUT": "Session duration in hours", - "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "Password should be between 6 to 18 characters", - "SCOPE": "Scope", - "ADMIN": "Admin", - "USER": "User", - "EDIT_USER": "Edit user", - "SET_PASSWORD": "set password", - "CREATE_USER": "Create a new user", - "FOR_THE_USER": "For the user", - "SELECT_USER_SCOPE": "Select scope", - "ALLOW": "Allow", - "REJECT": "Reject", - "PRESS_PASSWORD": "Press password", - "ENTER_VALID_EMAIL": "Enter valid email", - "PRESS_PASSWORD_AGINE": "Press password agine", - "THE_PASSWORDS_NOT_SAME": "The passwords not match", - "DONE_USER_MESSAGE": "The ser creation is ready", - "LIGHT_VERSION": "Light version", - "REDIRECT_TO_THE_LIGHT_VERSION": "Redirect to the light version", - "DEACTIVATE_SESSIONS": "Deactivate sessions", - "REGISTER_USER_TO_REMOTE_SERVER": "Register user to the remote server", - "REMOVE_USER_FROM_THE_REMOTE_SERVER": "Remove user from the remove server", - "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "The auth. code will send to account", - "REGISTER_USER": "Regiter user", - "SEND": "Send", - "ENTER_THE_SENT_CODE": "Enter the sent code", - "REMOVE": "Remove", - "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "will remove from the remote server", - "DOCK": "Dock", - "CLEAN": "Clean", - "FAN_SPEED": "Suction strength", - "REGISTERED_USERS": "Registered users", - "REPLACE_OPERATION": "Replace operation", - "CURRENT_OPERATION": "Currnet operatin", - "VERSION": "Version", - "UPDATE_TO_THE_LAST_VERSION": "Update to the last version", - "UPDATING_WARNING" : "PAY ATTENTION! updating version may be a risk! please notice, the updating process can take a while, do not turn off application during version update.", - "UPDATE_SYSTEM_FAIL" : "Update system process fail", - "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH" : "Contact support or check the local server health", - "UPDATE": "Update", - "SUCCESSFULLY_UPDATED_TO": "Successfully updated to", - "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "Restart required for the version update complete", - "SYSTEM_ALREADY_UP_TO_DATE": "System already up-to-date", - "RELEASE_DATE": "Release date", - "SET_A_NEW_NAME": "Set a new name", - "CURRENT_NAME": "Current name", - "RENAME": "Rename", - "TIMELINE": "Timeline", - "SELECT_LOCAL_SERVER": "Select local server", - "WAIT_15_MINUTES_FOR_NEXT_TRYING": "Wait 15 minutes for next trying", - "TOO_MANY_REQUESTS" : "Too many requests", - "FETCH_COMMANDS": "Fetch commands", - "GETTING_SUPPOTERD_DEVICES": "Getting supported devices", - "MATCH_TO": "Match to", - "OPERATION_ID" : "Operation ID", - "INFO" : "Info", - "CALIBRATION" : "Calibration", - "DEFINE_CALIBRATION" : "define minion calibrate activation, to make sure that minion status in the casanet is the same as the real physical device status.", - "MINUTES_CYCLE" : "Calibration cycle, in minutes", - "CALIBRATE_EACH" : "Calibrate each", - "COMMANDS_SET": "commands set", - "PWA" : "Use As App (PWA)", - "INSTALL" : "Install", - "UNINSTALL" : "Uninstall", - "notConfigured": "Remote server not configured", - "cantReachRemoteServer": "Remote server offline", - "authorizationFail": "Local server fail to authenticate", - "localServerDisconnected": "The local server is disconnected", - "connectionOK": "Remote server connection OK", - "dailySunTrigger": "sun triggers timing", - "dailyTimeTrigger": "weekly timing", - "once": "one-time timing", - "timeout": "countdown timing", - "toggle": "toggle", - "switch": "switch", - "airConditioning": "air conditioning", - "light": "light", - "roller": "roller", - "cleaner": "cleaner", - "temperatureLight": "temperature light", - "colorLight": "color light", - "status": "status", - "on": "on", - "off": "off", - "direction": "direction", - "down": "down", - "up": "up", - "mode": "mode", - "fanStrength": "fan strength", - "temperature": "temperature", - "brigtness": "brigtness", - "red": "red", - "green": "green", - "blue": "blue", - "hot": "hot", - "cold": "cold", - "dry": "dry", - "auto": "auto", - "med": "med", - "high": "high", - "low": "low", - "fanSpeed": "fan speed", - "api-messages": { - "0": "offline", - "1401": "unauthorized", - "1403": "access forbidden", - "2403": "user name or password incorrent", - "3403": "authorization of local server in remote, fail", - "4403": "user not allowed to watch other accounts", - "5403": "invalid device id", - "6403": "user or code invalied", - "1404": "minion not exist", - "2404": "device not exist in lan network", - "3404": "operation not exist", - "4404": "timing not exist", - "5404": "user not exist", - "6404": "local server not exist", - "7404": "there is not module handler for minion brand", - "8404": "unknown minion model", - "1405": "incorrect minion status for current minion type", - "2405": "incorrect minion status for activity minion type", - "3405": "timing properties not match to timing type", - "5405": "user already exist", - "6405": "user not allowd to watch other account", - "1409": "there is no supported model for brand + model", - "2409": "token is requird", - "3409": "device id is requird", - "4409": "device already in max uses with other minion", - "5409": "you have to select local server to connect to it", - "6409": "the minioin not support command recording", - "7409": "ifttt triggger fail", - "1422": "wrong schema", - "2422": "wrong schema, with wrong message", - "1500": "unknown error", - "1501": "internal error", - "2501": "MFA configuration not set correctly", - "3501": "Fail to send MFA mail message, inner error.", - "4501": "There is no connection to local server.", - "5501": "Not implement yet.", - "6501": "There is no connection to remote server", - "7501": "Pulling last changes from remote repo fail", - "8501": "Installing last dependencies fail", - "9051": "Get current version info fail", - "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", - "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", - "1503": "Connection to device fail", - "2503": "Recording fail or timeout", - "3503": "There is no any command", - "4503": "Current opertion command not exist", - "5503": "Current status is unknown, no history for current one-way transmitter", - "6503": "Setting status fail", - "7503": "Getting status fail", - "8503": "local server timeout", - "9503": "Error communicating with device. Make sure nothing else is trying to control it or connected to it", - "10503": "Tuya device gives garbage values", - "11503": "Sending the beam command fail", - "12503": "Remote server timeout" - } -} \ No newline at end of file + "DIR": "ltr", + "RIGHT_DIR": "right", + "LEFT_DIR": "left", + "REQUEST_FAIL": "Request fail", + "ERROR": "error", + "TITLE": "CASA net (en)", + "EMAIL": "email", + "PASSWORD": "password", + "ONE_TIME_PASSWORD": "one-time password", + "LOGIN": "login", + "AUTHENTICATION": "authentication", + "ABOUT": "About", + "HELP": "Help", + "LOGOUT": "Logout", + "PROFILE": "Profile", + "MINIONS": "Minions", + "OPERATIONS": "Operations", + "TIMINGS": "Timings", + "DEVICES": "Devices", + "USERS": "Users", + "PROPERTIES": "properties", + "DITAILS": "details", + "PRESS_TO_TURN_ON": "Press to turn on device", + "PRESS_TO_TURN_OFF": "Press to turn off device", + "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "communication error, press to read device data again\nor rescan network addresses", + "HOT": "hot", + "COLD": "cold", + "DRY": "dry", + "AUTO": "auto", + "MED": "med", + "HIGH": "high", + "LOW": "low", + "MODE": "mode", + "FAN_STRENGTH": "fan strength", + "TEMERATURE": "temperature", + "BRIGTNESS": "brightness", + "COLOR": "color", + "RED": "red", + "GREEN": "green", + "BLUE": "blue", + "UP_DIRECTION": "up direction", + "DOWN_DIRECTION": "down direction", + "SUBMIT": "submit", + "CANCEL": "cancel", + "DEVICE_META": "Device meta", + "REFRESH_MINION_DATA": "Refresh minion", + "REDO_LAST_UPDATE": "Redo last status update", + "ENTER_RECORD_OR_GENERATE_MODE": "Enter record/generate mode", + "TURN_OFF_TIMEOUT": "Auto turn off", + "EXIT_RECORD_OR_GENERATE_MODE": "Exit record mode", + "DELETE_MINION": "Delete minion", + "REREAD_ALL_MINIONS": "Re-read minion properties", + "REFRESH": "Refresh", + "RESCAN_NETWORK_AND_MINIONS": "Scan network IP`s and refresh minions", + "CREATE_MINION": "Create a new minion", + "PRESS_TO_RECORD": "Press to record the command", + "MINUTES": "minutes", + "HOURS": "hours", + "SURE": "sure", + "BEFORE_DELETE_MESSAGE": "Are you want to delete", + "DELETE": "delete", + "ENTER_NAME": "Enter name", + "ENTER_NAME_HERE": "Enter name here...", + "ENTER_ID": "Enter device id", + "ENTER_ID_HERE": "Enter device id here...", + "ENTER_TOKEN": "Enter device token", + "ENTER_TOKEN_HERE": "Enter device token here...", + "SELECT_MODEL": "Select model", + "SELECT_A_MODEL": "Select a model", + "SELECT_BRAND": "Select brand", + "SELECT_A_BRAND": "Select a brand", + "SELECT_DEVICE": "Select device", + "SELECT_A_DEVICE": "Select a device", + "EDIT": "Edit", + "USE_AUTO_TURNOFF_TIMEOUT": "active auto turnoff timeout", + "CLOSE": "close", + "INNER_ID": "inner id", + "MODEL": "model", + "BRAND": "brand", + "DEVICE_NAME": "physical device name", + "DEVICE_MAC": "physical device address", + "DEVICE_IP": "physical device ip address", + "DEVICE_VENDOR": "physical device vendor", + "NEXT": "Next", + "BACK": "Back", + "DONE": "Done", + "CREATE": "Create", + "RESET": "Reset", + "DONE_MINION_MESSAGE": "Ready to create a minion", + "GENERATE_COMMANDS": "Generate new random commands fot toggle on/off", + "ENTER_EMAIL": "Enter email", + "INCORRECT_EMAIL": "Incorrect email", + "ENTER_PASSWORD": "Enter password", + "MIN_PASSWORD_LENGTH_MSG": "Please enter more than 6 characters", + "MAX_PASSWORD_LENGTH_MSG": "Please enter less than 25 characters", + "LOGIN_SUCCESSFULLY": "successfully connected", + "CONNECTED_FAIL": "connection fail, try again", + "LOGOUT_SUCCESSFULLY": "logout successfully", + "LOGOUT_FAIL": "logout fail, try again", + "TRIGGER_OPERATION": "Trigger operation", + "ACTIVITIES": "Activities", + "NAME": "Name", + "STATUS": "Status", + "CREATE_OPERATION": "Create a new Operation", + "DELETE_OPERATION": "Delete the operation", + "CREATE_ACTIVITIES": "Create activities", + "ADD_ACTIVITY": "Add activity", + "DONE_OPERATION_MESSAGE": "The new operation is ready", + "SELECT_MINION": "Select a minion", + "SET_STATUS": "Set status", + "ON": "on", + "OFF": "off", + "SET_PROPERTIES": "Set properties", + "DONE_ACTIVITY_MESSAGE": "The new activity is ready", + "DELETE_TIMING": "Delete the timing", + "DAYS": "Days", + "SUN_TRIGGER": "Sun trigger", + "SUNRISE": "Sunrise", + "SUNSET": "Sunset", + "DURATION_IN_MINUTES": "Duration in minutes", + "HOUR": "hour", + "START_IN": "Start in", + "CREATE_TIMING": "Create a new timing", + "SELECT_OPERATION": "Select a operation", + "SELECT_TIMING_TYPE": "Select the timing type", + "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "The duration must be on the same calendar day", + "DONE_TIMING_MESSAGE": "The new timing is ready", + "CHOOSE_DATE": "Choose a date", + "MAC": "MAC address", + "IP": "IP Address", + "VENDOR": "Vendor name", + "RESCAN_NETWORK": "Rescan network", + "PRESS_NAME": "Press the new name", + "DEVICE": "Device", + "ACTIVATE": "Activate", + "TYPE": "Type", + "SUNDAY": "Sunday", + "MONDAY": "Monday", + "TUESDAY": "Tuesday", + "WEDNSDAY": "Wednesday", + "THURSDAY": "Thursday", + "FRIDAY": "Friday", + "SATURDAY": "Saturday", + "SET": "Set", + "FAIL": "fail", + "ACTIVATED": "activated", + "ACTIVATED_OPERATION": "Activated operation", + "OK": "OK", + "ONLINE": "Connected to server", + "OFFLINE": "Server offline", + "LANGUAGE": "Language", + "SELECT_LANGUAGE": "language select", + "REMOTE_SERVER": "Remote server", + "REMOTE_STATUS": "Remote server status", + "REMOTE_URI": "Remote server address", + "EDIT_CONNECTION": "Edit connection", + "DISCONNECT": "Disconnect", + "GET_LOCAL_MAC": "Get the local MAC address", + "IFTTT_INTEGRATION": "IFTTT integration", + "IFTTT_STATUS": "integration status", + "CONFIG_CONNECTION": "Configure", + "DISABLE_IFTTT": "Disable integration", + "ENABLED": "enables", + "DISABLED": "disabled", + "READING_MAC": "Reading the MAC address...", + "PRESS_IFTTT_API_KEY": "Press the IFTTT API key", + "SETTING_IFTTT": "Setting IFTTT services...", + "FORMAT": "format", + "API_KEY": "The local server API key", + "SETTING_REMOTE_SERVER": "Settings remote server...", + "ALLOW_UNMFA_ACCESS": "Access without MFA", + "SESSION_MS_TIMEOUT": "Session duration in ms", + "SESSION_HOURES_TIMEOUT": "Session duration in hours", + "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "Password should be between 6 to 18 characters", + "SCOPE": "Scope", + "ADMIN": "Admin", + "USER": "User", + "EDIT_USER": "Edit user", + "SET_PASSWORD": "set password", + "CREATE_USER": "Create a new user", + "FOR_THE_USER": "For the user", + "SELECT_USER_SCOPE": "Select scope", + "ALLOW": "Allow", + "REJECT": "Reject", + "PRESS_PASSWORD": "Press password", + "ENTER_VALID_EMAIL": "Enter valid email", + "PRESS_PASSWORD_AGINE": "Press password again", + "THE_PASSWORDS_NOT_SAME": "The passwords not match", + "DONE_USER_MESSAGE": "The ser creation is ready", + "LIGHT_VERSION": "Light version", + "REDIRECT_TO_THE_LIGHT_VERSION": "Redirect to the light version", + "DEACTIVATE_SESSIONS": "Deactivate sessions", + "REGISTER_USER_TO_REMOTE_SERVER": "Register user to the remote server", + "REMOVE_USER_FROM_THE_REMOTE_SERVER": "Remove user from the remove server", + "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "The auth. code will send to account", + "REGISTER_USER": "Register user", + "SEND": "Send", + "ENTER_THE_SENT_CODE": "Enter the sent code", + "REMOVE": "Remove", + "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "will remove from the remote server", + "DOCK": "Dock", + "CLEAN": "Clean", + "FAN_SPEED": "Suction strength", + "REGISTERED_USERS": "Registered users", + "REPLACE_OPERATION": "Replace operation", + "CURRENT_OPERATION": "Current operation", + "VERSION": "Version", + "UPDATE_TO_THE_LAST_VERSION": "Update to the last version", + "UPDATING_WARNING": "PAY ATTENTION! updating version may be a risk! please notice, the updating process can take a while, do not turn off application during version update.", + "UPDATE_SYSTEM_FAIL": "Update system process fail", + "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH": "Contact support or check the local server health", + "UPDATE": "Update", + "SUCCESSFULLY_UPDATED_TO": "Successfully updated to", + "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "Restart required for the version update complete", + "SYSTEM_ALREADY_UP_TO_DATE": "System already up-to-date", + "RELEASE_DATE": "Release date", + "SET_A_NEW_NAME": "Set a new name", + "CURRENT_NAME": "Current name", + "RENAME": "Rename", + "TIMELINE": "Timeline", + "SELECT_LOCAL_SERVER": "Select local server", + "WAIT_15_MINUTES_FOR_NEXT_TRYING": "Wait 15 minutes for next trying", + "TOO_MANY_REQUESTS": "Too many requests", + "FETCH_COMMANDS": "Fetch commands", + "GETTING_SUPPOTERD_DEVICES": "Getting supported devices", + "MATCH_TO": "Match to", + "OPERATION_ID": "Operation ID", + "INFO": "Info", + "CALIBRATION": "Calibration", + "DEFINE_CALIBRATION": "define minion calibrate activation, to make sure that minion status in the casanet is the same as the real physical device status.", + "MINUTES_CYCLE": "Calibration cycle, in minutes", + "CALIBRATE_EACH": "Calibrate each", + "COMMANDS_SET": "commands set", + "PWA": "Use As App (PWA)", + "INSTALL": "Install", + "UNINSTALL": "Uninstall", + "notConfigured": "Remote server not configured", + "cantReachRemoteServer": "Remote server offline", + "authorizationFail": "Local server fail to authenticate", + "localServerDisconnected": "The local server is disconnected", + "connectionOK": "Remote server connection OK", + "dailySunTrigger": "sun triggers timing", + "dailyTimeTrigger": "weekly timing", + "once": "one-time timing", + "timeout": "countdown timing", + "toggle": "toggle", + "switch": "switch", + "airConditioning": "air conditioning", + "light": "light", + "roller": "roller", + "cleaner": "cleaner", + "temperatureLight": "temperature light", + "colorLight": "color light", + "status": "status", + "on": "on", + "off": "off", + "direction": "direction", + "down": "down", + "up": "up", + "mode": "mode", + "fanStrength": "fan strength", + "temperature": "temperature", + "brigtness": "brightness", + "red": "red", + "green": "green", + "blue": "blue", + "hot": "hot", + "cold": "cold", + "dry": "dry", + "auto": "auto", + "med": "med", + "high": "high", + "low": "low", + "fanSpeed": "fan speed", + "move to": "Move to", + "go to correct domain": "The address of the service has changed and you will soon get off the air, please move to our new address!", + "api-messages": { + "0": "offline", + "1401": "unauthorized", + "1403": "access forbidden", + "2403": "user name or password incorrect", + "3403": "authorization of local server in remote, fail", + "4403": "user not allowed to watch other accounts", + "5403": "invalid device id", + "6403": "user or code invalid", + "1404": "minion not exist", + "2404": "device not exist in lan network", + "3404": "operation not exist", + "4404": "timing not exist", + "5404": "user not exist", + "6404": "local server not exist", + "7404": "there is not module handler for minion brand", + "8404": "unknown minion model", + "1405": "incorrect minion status for current minion type", + "2405": "incorrect minion status for activity minion type", + "3405": "timing properties not match to timing type", + "5405": "user already exist", + "6405": "user not allows to watch other account", + "1409": "there is no supported model for brand + model", + "2409": "token is required", + "3409": "device id is required", + "4409": "device already in max uses with other minion", + "5409": "you have to select local server to connect to it", + "6409": "the minion not support command recording", + "7409": "ifttt trigger fail", + "1422": "wrong schema", + "2422": "wrong schema, with wrong message", + "1500": "unknown error", + "1501": "internal error", + "2501": "MFA configuration not set correctly", + "3501": "Fail to send MFA mail message, inner error.", + "4501": "There is no connection to local server.", + "5501": "Not implement yet.", + "6501": "There is no connection to remote server", + "7501": "Pulling last changes from remote repo fail", + "8501": "Installing last dependencies fail", + "9051": "Get current version info fail", + "10051": "Receiving devices list from the commands server failed", + "11051": "Receiving commands set from the commands server failed", + "1503": "Connection to device fail", + "2503": "Recording fail or timeout", + "3503": "There is no any command", + "4503": "Current operation command not exist", + "5503": "Current status is unknown, no history for current one-way transmitter", + "6503": "Setting status fail", + "7503": "Getting status fail", + "8503": "local server timeout", + "9503": "Error communicating with device. Make sure nothing else is trying to control it or connected to it", + "10503": "Tuya device gives garbage values", + "11503": "Sending the beam command fail", + "12503": "Remote server timeout" + } +} diff --git a/frontend/src/assets/i18n/he.json b/frontend/src/assets/i18n/he.json index 0af58231..1269fbfc 100644 --- a/frontend/src/assets/i18n/he.json +++ b/frontend/src/assets/i18n/he.json @@ -1,332 +1,334 @@ { - "DIR": "rtl", - "RIGHT_DIR": "left", - "LEFT_DIR": "right", - "REQUEST_FAIL": "הבקשה נכשלה", - "ERROR": "שגיאה", - "TITLE": "CASA net (he)", - "EMAIL": "דואר אלקטרוני", - "PASSWORD": "סיסמה", - "ONE_TIME_PASSWORD": "סיסמה חד-פעמית", - "LOGIN": "התחברות", - "AUTHENTICATION": "אימות", - "ABOUT": "אודות", - "HELP": "עזרה", - "LOGOUT": "התנתקות", - "PROFILE": "פרופיל", - "MINIONS": "מניונים", - "OPERATIONS": "פעולות", - "TIMINGS": "תזמונים", - "DEVICES": "מכשירים", - "USERS": "משתמשים", - "PROPERTIES": "תכונות", - "DITAILS": "פרטים", - "PRESS_TO_TURN_ON": "לחץ להדלקת המכשיר", - "PRESS_TO_TURN_OFF": "לחץ לכיבוי המכשיר", - "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "תקלת תקשורת, לחץ לבדיקה מחודשת של המכשיר \nאו סרוק מחדש את כתובות הרשת", - "HOT": "חום", - "COLD": "קור", - "DRY": "יבש", - "AUTO": "אוטומטי", - "MED": "בינוני", - "HIGH": "חזק", - "LOW": "חלש", - "MODE": "מצב", - "FAN_STRENGTH": "עצמת רוח", - "TEMERATURE": "טמפרטורה", - "BRIGTNESS": "בהירות", - "COLOR": "צבע", - "RED": "אדום", - "GREEN": "ירוק", - "BLUE": "כחול", - "UP_DIRECTION": "כיוון מעלה", - "DOWN_DIRECTION": "כיוון מטה", - "SUBMIT": "בצע", - "CANCEL": "ביטול", - "DEVICE_META": "מידע על המכשיר", - "REFRESH_MINION_DATA": "רענן סטטוס", - "REDO_LAST_UPDATE": "בצע שוב עדכון סטטוס האחרון", - "ENTER_RECORD_OR_GENERATE_MODE": "מצב הקלטה/ג'ינרוט", - "EXIT_RECORD_OR_GENERATE_MODE": "צא ממצב הקלטה/ג'ינרוט", - "TURN_OFF_TIMEOUT": "כיבוי אוטומטי", - "DELETE_MINION": "מחק מיניון", - "REREAD_ALL_MINIONS": "קרא מחדש נתוני מניונים", - "REFRESH": "רענן", - "RESCAN_NETWORK_AND_MINIONS": "סרוק את כתובות הרשת ורענן מיניונים", - "CREATE_MINION": "צור מיניון", - "PRESS_TO_RECORD": "לחץ להקלטת הפקודה", - "MINUTES": "דקות", - "HOURS": "שעות", - "SURE": "בטוח", - "BEFORE_DELETE_MESSAGE": "האם ברצונך למחוק את", - "DELETE": "מחק", - "ENTER_NAME": "הכנס שם", - "ENTER_NAME_HERE": "כתוב את השם פה...", - "ENTER_ID": "הכנס מזהה מכשיר", - "ENTER_ID_HERE": "כתוב מזהה מכשיר פה...", - "ENTER_TOKEN": "הכנס מפתח זיהוי (Token) מכשיר", - "ENTER_TOKEN_HERE": "הכנס מפתח זיהוי (Token) מכשיר פה...", - "SELECT_MODEL": "בחר דגם", - "SELECT_A_MODEL": "בחר דגם", - "SELECT_BRAND": "בחר חברה", - "SELECT_A_BRAND": "בחר חברה", - "SELECT_DEVICE": "בחר מכשיר", - "SELECT_A_DEVICE": "בחר מכשיר", - "EDIT": "ערוך", - "USE_AUTO_TURNOFF_TIMEOUT": "להפעיל טיימר כיבוי אוטמטי", - "CLOSE": "סגור", - "INNER_ID": "מזהה פנימי", - "MODEL": "דגם", - "BRAND": "חברה", - "DEVICE_NAME": "שם מכשיר פיזי", - "DEVICE_MAC": "כתובת רשת פיזית", - "DEVICE_IP": "כתובת IP", - "DEVICE_VENDOR": "תיאור החברה", - "NEXT": "הבא", - "BACK": "הקודם", - "DONE": "בוצע", - "CREATE": "צור", - "RESET": "ניקוי", - "DONE_MINION_MESSAGE": "יצירת מיניון חדש מוכנה", - "GENERATE_COMMANDS": "ג'ינרוט פקודות רנדומליות עבור כיבוי והדלקה", - "ENTER_EMAIL": "הזן דואר-אלקטרוני", - "INCORRECT_EMAIL": "כתובת דואר לא תקינה", - "ENTER_PASSWORD": "Enter password", - "MIN_PASSWORD_LENGTH_MSG": "לפחות 6 תווים בסיסמה", - "MAX_PASSWORD_LENGTH_MSG": "מקסימום 25 תווים", - "LOGIN_SUCCESSFULLY": "התחברות בוצעה בהצלחה", - "CONNECTED_FAIL": "התחברות נכשלה, נסה שוב", - "LOGOUT_SUCCESSFULLY": "התנתקות בוצעה בהצלחה", - "LOGOUT_FAIL": "התנתקות נכשלה, נסה שוב", - "TRIGGER_OPERATION": "הרץ פעולות", - "ACTIVITIES": "פעולות", - "NAME": "שם", - "STATUS": "סטטוס", - "CREATE_OPERATION": "צור פעולה", - "DELETE_OPERATION": "מחק פעולה", - "CREATE_ACTIVITIES": "יצירת פעולות", - "ADD_ACTIVITY": "הוסף פעולה", - "DONE_OPERATION_MESSAGE": "יצירת פעולה חדשה מוכנה", - "SELECT_MINION": "בחירת מיניון", - "SET_STATUS": "בחירת מצב", - "ON": "דלוק", - "OFF": "כבוי", - "SET_PROPERTIES": "בחירת תכונות", - "DONE_ACTIVITY_MESSAGE": "יצירת פעולה מוכנה", - "DELETE_TIMING": "מחיקת תזמון", - "DAYS": "ימים", - "SUN_TRIGGER": "טריגר", - "SUNRISE": "זריחה", - "SUNSET": "שקיעה", - "DURATION_IN_MINUTES": "טווח בדקות", - "HOUR": "שעה", - "START_IN": "התחיל ב", - "CREATE_TIMING": "יצירת תזמון", - "SELECT_OPERATION": "בחירת פעולה", - "SELECT_TIMING_TYPE": "בחירת סוג תזמון", - "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "טווח הדקות המקסימלי חייב לצאת באותו יום קלנדרי", - "DONE_TIMING_MESSAGE": "התזמון החדש מוכן ליצירה", - "CHOOSE_DATE": "בחירת תאריך", - "MAC": "כתובת MAC", - "IP": "כתובת IP", - "VENDOR": "שם ספק הציוד", - "RESCAN_NETWORK": "סריקת הרשת", - "PRESS_NAME": "הזן שם", - "DEVICE": "מכשיר", - "ACTIVATE": "מפעיל", - "TYPE": "סוג", - "SUNDAY": "ראשון", - "MONDAY": "שני", - "TUESDAY": "שלישי", - "WEDNSDAY": "רביעי", - "THURSDAY": "חמישי", - "FRIDAY": "שישי", - "SATURDAY": "שבת", - "SET": "הגדרת", - "FAIL": "נכשל", - "ACTIVATED": "הופעל", - "ACTIVATED_OPERATION": "פעולה שהופעלה", - "OK": "אישור", - "ONLINE": "שרת מחובר", - "OFFLINE": "שרת מנותק", - "LANGUAGE": "שפה", - "SELECT_LANGUAGE": "בחירת שפה", - "REMOTE_SERVER": "שרת מרוחק", - "REMOTE_STATUS": "סטטוס שרת מרוחק", - "REMOTE_URI": "כתובת שרת מרוחק", - "EDIT_CONNECTION": "ערוך חיבור", - "DISCONNECT": "התנתק", - "GET_LOCAL_MAC": "כתובת פיזית של השרת המקומי", - "IFTTT_INTEGRATION": "חיבוריות לשירותי IFTTT", - "IFTTT_STATUS": "סטטוס חיבוריות", - "CONFIG_CONNECTION": "הגדר חיבוריות", - "DISABLE_IFTTT": "בטל חיבוריות", - "ENABLED": "מאופשר", - "DISABLED": "מנוטרל", - "READING_MAC": "קורא כתובת פיזית...", - "PRESS_IFTTT_API_KEY": "הזן מפתח API של שירותי IFTTT", - "SETTING_IFTTT": "מגדיר שירותי IFTTT", - "FORMAT": "מבנה", - "API_KEY": "מפתח אימות מול שרת מרוחק", - "SETTING_REMOTE_SERVER": "מגדיר שרת מרוחק", - "ALLOW_UNMFA_ACCESS": "גישה ללא אימות דו שלבי", - "SESSION_MS_TIMEOUT": "אורך סשן במילישניות", - "SESSION_HOURES_TIMEOUT": "אורך סשן בשעות", - "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "הסיסמה צריכה להיות בין 6 ל 18 תווים", - "SCOPE": "הרשאות", - "ADMIN": "מנהל", - "USER": "משתמש", - "EDIT_USER": "ערוך משתמש", - "SET_PASSWORD": "הגדר סיסמה", - "CREATE_USER": "צור משתמש", - "FOR_THE_USER": "עבור המשתמש", - "SELECT_USER_SCOPE": "בחר הרשאה", - "ALLOW": "אפשר", - "REJECT": "סרב", - "PRESS_PASSWORD": "הזן סיסמה", - "ENTER_VALID_EMAIL": "הזן כתובת תקינה", - "PRESS_PASSWORD_AGINE": "הזן שוב סיסמה", - "THE_PASSWORDS_NOT_SAME": "הסיסמאות לא תואמות", - "DONE_USER_MESSAGE": "המשתמש מוכן ליצירה", - "LIGHT_VERSION": "גרסה קלה", - "REDIRECT_TO_THE_LIGHT_VERSION": "מעבר לגרסה הקלה", - "DEACTIVATE_SESSIONS": "ניתוק סשנים פעילים", - "REGISTER_USER_TO_REMOTE_SERVER": "רישום משתמש לשרת המרוחק", - "REMOVE_USER_FROM_THE_REMOTE_SERVER": "הסר משתמש משרת מרוחק", - "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "קוד האימות יישלח לכתובת", - "REGISTER_USER": "רישום משתמש", - "SEND": "שלח", - "ENTER_THE_SENT_CODE": "הזן את הקוד שנשלח", - "REMOVE": "הסר", - "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "יוסר מהשרת המרוחק", - "DOCK": "עגינה", - "CLEAN": "ניקוי", - "FAN_SPEED": "מהירות שאיבה", - "REGISTERED_USERS": "משתמשים רשומים", - "REPLACE_OPERATION": "החלף פעולה להפעלה", - "CURRENT_OPERATION": "הפעולה כרגע", - "VERSION": "גרסה", - "UPDATE_TO_THE_LAST_VERSION": "עדכן לגרסה האחרונה", - "UPDATING_WARNING" : "שימו לב! עדכון גרסה מהווה סיכון מסוים! תהליך העדכון יכול לקחת זמן מה, נא לא לכבות את היישום במהלך עדכון הגרסה.", - "UPDATE_SYSTEM_FAIL" : "עדכון המערכת נכשל", - "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH" : "יש ליצור קשר עם התמיכה, או לבדוק את תקינות השרת המקומי.", - "UPDATE": "עדכן", - "SUCCESSFULLY_UPDATED_TO": "עודכן בהצלחה ל", - "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "אתחול נדרש להשלמת עדכון הגרסה", - "SYSTEM_ALREADY_UP_TO_DATE": "המערכת כבר מעודכנת", - "RELEASE_DATE": "תאריך שחרור", - "SET_A_NEW_NAME": "הזן שם חדש", - "CURRENT_NAME": "שם נוכחי", - "RENAME": "שנה שם", - "TIMELINE": "ציר הזמן", - "SELECT_LOCAL_SERVER": "בחר שרת מקומי", - "WAIT_15_MINUTES_FOR_NEXT_TRYING": "נא המתן רבע שעה עד שתוכל לנסות שוב", - "TOO_MANY_REQUESTS": "יותר מדי בקשות", - "FETCH_COMMANDS": "משוך פקודות מכשיר", - "GETTING_SUPPOTERD_DEVICES": "מאחזר מכשירים קיימים", - "MATCH_TO": "התאם ל", - "COMMANDS_SET": "ערכת פקודות", - "OPERATION_ID" : "מזהה פעולה", - "INFO" : "מידע", - "CALIBRATION" : "כיול", - "DEFINE_CALIBRATION" : "הגדרת כיול אוטומטי, לווידוא שהסטטוס הידוע בשרת זהה לסטטוס של המכשיר הפיזי.", - "MINUTES_CYCLE" : "מחזור כיול, בדקות", - "CALIBRATE_EACH" : "מכייל כל", - "PWA" : "התקן כיישום (PWA)", - "INSTALL" : "התקן", - "UNINSTALL" : "הסר", - "notConfigured": "לא הוגדר שרת מרוחק", - "cantReachRemoteServer": "שרת מרוחק לא נגיש", - "authorizationFail": "אימות מול שרת מרוחק נכשל", - "localServerDisconnected": "שרת מקומי התנתק", - "connectionOK": "חיבור לשרת מרוחק תקין", - "dailySunTrigger": "תזמון מבוסס אירועי שמש", - "dailyTimeTrigger": "תזמון שבועי", - "once": "תזמון חד-פעמי", - "timeout": "תזמון ספירה לאחור", - "toggle": "מתג חד-כיווני", - "switch": "מתג", - "airConditioning": "מזגן", - "light": "תאורה", - "roller": "גלגלון", - "cleaner": "מנקה", - "temperatureLight": "תאורה עם טמפ'", - "colorLight": "תאורה צבעונית", - "status": "סטטוס", - "on": "דלוק", - "off": "כבוי", - "direction": "כיוון", - "down": "מטה", - "up": "מעלה", - "mode": "מצב", - "fanStrength": "עצמת רוח", - "temperature": "טמפרטורה", - "brightness": "בהירות", - "red": "אדום", - "green": "ירוק", - "blue": "כחול", - "hot": "חום", - "cold": "קור", - "dry": "יבש", - "auto": "אוטמטי", - "med": "בינוני", - "high": "גבוה", - "low": "חלש", - "fanSpeed": "מהירות אויר", - "api-messages": { - "0": "לא מקוון", - "1401": "חיבור לא מאומת", - "1403": "גישה נדחתה", - "2403": "שם משתמש או סיסמה אינם תקינים", - "3403": "אימות שרת מקומי בשרת המרוחק נכשל", - "4403": "user not allowed to watch other accounts", - "5403": "invalid device id", - "6403": "user or code invalied", - "1404": "מיניון לא קיים", - "2404": "מכשיר לא קיים ברשת המקומית", - "3404": "פעולה לא קיימת", - "4404": "תזמון לא קיים", - "5404": "משתמש לא קיים", - "6404": "שרת מקומי לא קיים", - "7404": "there is not module handler for minion brand", - "8404": "דגם מיניון לא מוכר", - "1405": "סטטוס מיניון לא תקין עבור סוג המיניון", - "2405": "סטטוס מיניון לא תקין עבור סוג המיניון בפעולה", - "3405": "תכונות התזמון לא מתאימות לסוד התזמון", - "5405": "משתמש קיים כבר", - "6405": "משתמש אינו רשאי לצפות במשתמש אחר", - "1409": "אין תמיכה בדגם או המותג", - "2409": "נדרש טוקן (מפתח)", - "3409": "נדרש מזהה מכשיר", - "4409": "לא ניתן ליצור מיניון נוסף על המכשיר", - "5409": "יש לבחור קודם שרת מקומי להתחברות", - "6409": "הקלטה לא נתמכת במכשיר", - "7409": "הפעלת טריגר IFTTT נכשלה", - "1422": "מבנה נתונים לא תקין", - "2422": "מבנה נתונים לא תקין, עם הודעה על השגיאה", - "1500": "שגיאה לא ידועה", - "1501": "שגיאה פנימית בשרת", - "2501": "אימות דו שלבי לא הוגדר", - "3501": "שליחת מייל אימות נכשלה, שגיאה פנימית.", - "4501": "חיבור לשרת מקומי לא זמין", - "5501": "הפעולה לא מומשה עדיין", - "6501": "אין תקשורת עם השרת המרוחק", - "7501": "קבלת עדכונים מהשרת נכשלה", - "8501": "התקנת תלויות המערכת נכשלה", - "9051": "קבלת מידע על הגרסה נכשלה", - "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", - "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", - "1503": "חיבור למכשיר נכשל", - "2503": "הקלטה נכשלה או שלא התקבל קלט", - "3503": "לא קיימות פקודות מוקלטות", - "4503": "לא קיימת פקודה מוקלטת לשליחה", - "5503": "סטטוס לא ידוע, לא קיימת היסטוריה של שליחת סטטוס מהמשדר", - "6503": "שליחת סטטוס למכשיר נכשלה", - "7503": "קבלת סטטוס מהמכשיר נכשלה", - "8503": "אין תגובה מהשרת המקומי", - "9503": "שגיאה בתקשורת עם המכשיר, נא וודא שאין יישום אחר המתקשר עם המכשיר כרגע.", - "10503": "המכשיר מחזיר ערכי זבל", - "11503": "שליחת פקודת RF/IR נכשלה", - "12503": "אין תגובה מהשרת המרוחק" - } -} \ No newline at end of file + "DIR": "rtl", + "RIGHT_DIR": "left", + "LEFT_DIR": "right", + "REQUEST_FAIL": "הבקשה נכשלה", + "ERROR": "שגיאה", + "TITLE": "CASA net (he)", + "EMAIL": "דואר אלקטרוני", + "PASSWORD": "סיסמה", + "ONE_TIME_PASSWORD": "סיסמה חד-פעמית", + "LOGIN": "התחברות", + "AUTHENTICATION": "אימות", + "ABOUT": "אודות", + "HELP": "עזרה", + "LOGOUT": "התנתקות", + "PROFILE": "פרופיל", + "MINIONS": "מניונים", + "OPERATIONS": "פעולות", + "TIMINGS": "תזמונים", + "DEVICES": "מכשירים", + "USERS": "משתמשים", + "PROPERTIES": "תכונות", + "DITAILS": "פרטים", + "PRESS_TO_TURN_ON": "לחץ להדלקת המכשיר", + "PRESS_TO_TURN_OFF": "לחץ לכיבוי המכשיר", + "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "תקלת תקשורת, לחץ לבדיקה מחודשת של המכשיר \nאו סרוק מחדש את כתובות הרשת", + "HOT": "חום", + "COLD": "קור", + "DRY": "יבש", + "AUTO": "אוטומטי", + "MED": "בינוני", + "HIGH": "חזק", + "LOW": "חלש", + "MODE": "מצב", + "FAN_STRENGTH": "עצמת רוח", + "TEMERATURE": "טמפרטורה", + "BRIGTNESS": "בהירות", + "COLOR": "צבע", + "RED": "אדום", + "GREEN": "ירוק", + "BLUE": "כחול", + "UP_DIRECTION": "כיוון מעלה", + "DOWN_DIRECTION": "כיוון מטה", + "SUBMIT": "בצע", + "CANCEL": "ביטול", + "DEVICE_META": "מידע על המכשיר", + "REFRESH_MINION_DATA": "רענן סטטוס", + "REDO_LAST_UPDATE": "בצע שוב עדכון סטטוס האחרון", + "ENTER_RECORD_OR_GENERATE_MODE": "מצב הקלטה/ג'ינרוט", + "EXIT_RECORD_OR_GENERATE_MODE": "צא ממצב הקלטה/ג'ינרוט", + "TURN_OFF_TIMEOUT": "כיבוי אוטומטי", + "DELETE_MINION": "מחק מיניון", + "REREAD_ALL_MINIONS": "קרא מחדש נתוני מניונים", + "REFRESH": "רענן", + "RESCAN_NETWORK_AND_MINIONS": "סרוק את כתובות הרשת ורענן מיניונים", + "CREATE_MINION": "צור מיניון", + "PRESS_TO_RECORD": "לחץ להקלטת הפקודה", + "MINUTES": "דקות", + "HOURS": "שעות", + "SURE": "בטוח", + "BEFORE_DELETE_MESSAGE": "האם ברצונך למחוק את", + "DELETE": "מחק", + "ENTER_NAME": "הכנס שם", + "ENTER_NAME_HERE": "כתוב את השם פה...", + "ENTER_ID": "הכנס מזהה מכשיר", + "ENTER_ID_HERE": "כתוב מזהה מכשיר פה...", + "ENTER_TOKEN": "הכנס מפתח זיהוי (Token) מכשיר", + "ENTER_TOKEN_HERE": "הכנס מפתח זיהוי (Token) מכשיר פה...", + "SELECT_MODEL": "בחר דגם", + "SELECT_A_MODEL": "בחר דגם", + "SELECT_BRAND": "בחר חברה", + "SELECT_A_BRAND": "בחר חברה", + "SELECT_DEVICE": "בחר מכשיר", + "SELECT_A_DEVICE": "בחר מכשיר", + "EDIT": "ערוך", + "USE_AUTO_TURNOFF_TIMEOUT": "להפעיל טיימר כיבוי אוטמטי", + "CLOSE": "סגור", + "INNER_ID": "מזהה פנימי", + "MODEL": "דגם", + "BRAND": "חברה", + "DEVICE_NAME": "שם מכשיר פיזי", + "DEVICE_MAC": "כתובת רשת פיזית", + "DEVICE_IP": "כתובת IP", + "DEVICE_VENDOR": "תיאור החברה", + "NEXT": "הבא", + "BACK": "הקודם", + "DONE": "בוצע", + "CREATE": "צור", + "RESET": "ניקוי", + "DONE_MINION_MESSAGE": "יצירת מיניון חדש מוכנה", + "GENERATE_COMMANDS": "ג'ינרוט פקודות רנדומליות עבור כיבוי והדלקה", + "ENTER_EMAIL": "הזן דואר-אלקטרוני", + "INCORRECT_EMAIL": "כתובת דואר לא תקינה", + "ENTER_PASSWORD": "Enter password", + "MIN_PASSWORD_LENGTH_MSG": "לפחות 6 תווים בסיסמה", + "MAX_PASSWORD_LENGTH_MSG": "מקסימום 25 תווים", + "LOGIN_SUCCESSFULLY": "התחברות בוצעה בהצלחה", + "CONNECTED_FAIL": "התחברות נכשלה, נסה שוב", + "LOGOUT_SUCCESSFULLY": "התנתקות בוצעה בהצלחה", + "LOGOUT_FAIL": "התנתקות נכשלה, נסה שוב", + "TRIGGER_OPERATION": "הרץ פעולות", + "ACTIVITIES": "פעולות", + "NAME": "שם", + "STATUS": "סטטוס", + "CREATE_OPERATION": "צור פעולה", + "DELETE_OPERATION": "מחק פעולה", + "CREATE_ACTIVITIES": "יצירת פעולות", + "ADD_ACTIVITY": "הוסף פעולה", + "DONE_OPERATION_MESSAGE": "יצירת פעולה חדשה מוכנה", + "SELECT_MINION": "בחירת מיניון", + "SET_STATUS": "בחירת מצב", + "ON": "דלוק", + "OFF": "כבוי", + "SET_PROPERTIES": "בחירת תכונות", + "DONE_ACTIVITY_MESSAGE": "יצירת פעולה מוכנה", + "DELETE_TIMING": "מחיקת תזמון", + "DAYS": "ימים", + "SUN_TRIGGER": "טריגר", + "SUNRISE": "זריחה", + "SUNSET": "שקיעה", + "DURATION_IN_MINUTES": "טווח בדקות", + "HOUR": "שעה", + "START_IN": "התחיל ב", + "CREATE_TIMING": "יצירת תזמון", + "SELECT_OPERATION": "בחירת פעולה", + "SELECT_TIMING_TYPE": "בחירת סוג תזמון", + "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "טווח הדקות המקסימלי חייב לצאת באותו יום קלנדרי", + "DONE_TIMING_MESSAGE": "התזמון החדש מוכן ליצירה", + "CHOOSE_DATE": "בחירת תאריך", + "MAC": "כתובת MAC", + "IP": "כתובת IP", + "VENDOR": "שם ספק הציוד", + "RESCAN_NETWORK": "סריקת הרשת", + "PRESS_NAME": "הזן שם", + "DEVICE": "מכשיר", + "ACTIVATE": "מפעיל", + "TYPE": "סוג", + "SUNDAY": "ראשון", + "MONDAY": "שני", + "TUESDAY": "שלישי", + "WEDNSDAY": "רביעי", + "THURSDAY": "חמישי", + "FRIDAY": "שישי", + "SATURDAY": "שבת", + "SET": "הגדרת", + "FAIL": "נכשל", + "ACTIVATED": "הופעל", + "ACTIVATED_OPERATION": "פעולה שהופעלה", + "OK": "אישור", + "ONLINE": "שרת מחובר", + "OFFLINE": "שרת מנותק", + "LANGUAGE": "שפה", + "SELECT_LANGUAGE": "בחירת שפה", + "REMOTE_SERVER": "שרת מרוחק", + "REMOTE_STATUS": "סטטוס שרת מרוחק", + "REMOTE_URI": "כתובת שרת מרוחק", + "EDIT_CONNECTION": "ערוך חיבור", + "DISCONNECT": "התנתק", + "GET_LOCAL_MAC": "כתובת פיזית של השרת המקומי", + "IFTTT_INTEGRATION": "חיבוריות לשירותי IFTTT", + "IFTTT_STATUS": "סטטוס חיבוריות", + "CONFIG_CONNECTION": "הגדר חיבוריות", + "DISABLE_IFTTT": "בטל חיבוריות", + "ENABLED": "מאופשר", + "DISABLED": "מנוטרל", + "READING_MAC": "קורא כתובת פיזית...", + "PRESS_IFTTT_API_KEY": "הזן מפתח API של שירותי IFTTT", + "SETTING_IFTTT": "מגדיר שירותי IFTTT", + "FORMAT": "מבנה", + "API_KEY": "מפתח אימות מול שרת מרוחק", + "SETTING_REMOTE_SERVER": "מגדיר שרת מרוחק", + "ALLOW_UNMFA_ACCESS": "גישה ללא אימות דו שלבי", + "SESSION_MS_TIMEOUT": "אורך סשן במילישניות", + "SESSION_HOURES_TIMEOUT": "אורך סשן בשעות", + "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "הסיסמה צריכה להיות בין 6 ל 18 תווים", + "SCOPE": "הרשאות", + "ADMIN": "מנהל", + "USER": "משתמש", + "EDIT_USER": "ערוך משתמש", + "SET_PASSWORD": "הגדר סיסמה", + "CREATE_USER": "צור משתמש", + "FOR_THE_USER": "עבור המשתמש", + "SELECT_USER_SCOPE": "בחר הרשאה", + "ALLOW": "אפשר", + "REJECT": "סרב", + "PRESS_PASSWORD": "הזן סיסמה", + "ENTER_VALID_EMAIL": "הזן כתובת תקינה", + "PRESS_PASSWORD_AGINE": "הזן שוב סיסמה", + "THE_PASSWORDS_NOT_SAME": "הסיסמאות לא תואמות", + "DONE_USER_MESSAGE": "המשתמש מוכן ליצירה", + "LIGHT_VERSION": "גרסה קלה", + "REDIRECT_TO_THE_LIGHT_VERSION": "מעבר לגרסה הקלה", + "DEACTIVATE_SESSIONS": "ניתוק סשנים פעילים", + "REGISTER_USER_TO_REMOTE_SERVER": "רישום משתמש לשרת המרוחק", + "REMOVE_USER_FROM_THE_REMOTE_SERVER": "הסר משתמש משרת מרוחק", + "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "קוד האימות יישלח לכתובת", + "REGISTER_USER": "רישום משתמש", + "SEND": "שלח", + "ENTER_THE_SENT_CODE": "הזן את הקוד שנשלח", + "REMOVE": "הסר", + "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "יוסר מהשרת המרוחק", + "DOCK": "עגינה", + "CLEAN": "ניקוי", + "FAN_SPEED": "מהירות שאיבה", + "REGISTERED_USERS": "משתמשים רשומים", + "REPLACE_OPERATION": "החלף פעולה להפעלה", + "CURRENT_OPERATION": "הפעולה כרגע", + "VERSION": "גרסה", + "UPDATE_TO_THE_LAST_VERSION": "עדכן לגרסה האחרונה", + "UPDATING_WARNING": "שימו לב! עדכון גרסה מהווה סיכון מסוים! תהליך העדכון יכול לקחת זמן מה, נא לא לכבות את היישום במהלך עדכון הגרסה.", + "UPDATE_SYSTEM_FAIL": "עדכון המערכת נכשל", + "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH": "יש ליצור קשר עם התמיכה, או לבדוק את תקינות השרת המקומי.", + "UPDATE": "עדכן", + "SUCCESSFULLY_UPDATED_TO": "עודכן בהצלחה ל", + "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "אתחול נדרש להשלמת עדכון הגרסה", + "SYSTEM_ALREADY_UP_TO_DATE": "המערכת כבר מעודכנת", + "RELEASE_DATE": "תאריך שחרור", + "SET_A_NEW_NAME": "הזן שם חדש", + "CURRENT_NAME": "שם נוכחי", + "RENAME": "שנה שם", + "TIMELINE": "ציר הזמן", + "SELECT_LOCAL_SERVER": "בחר שרת מקומי", + "WAIT_15_MINUTES_FOR_NEXT_TRYING": "נא המתן רבע שעה עד שתוכל לנסות שוב", + "TOO_MANY_REQUESTS": "יותר מדי בקשות", + "FETCH_COMMANDS": "משוך פקודות מכשיר", + "GETTING_SUPPOTERD_DEVICES": "מאחזר מכשירים קיימים", + "MATCH_TO": "התאם ל", + "COMMANDS_SET": "ערכת פקודות", + "OPERATION_ID": "מזהה פעולה", + "INFO": "מידע", + "CALIBRATION": "כיול", + "DEFINE_CALIBRATION": "הגדרת כיול אוטומטי, לווידוא שהסטטוס הידוע בשרת זהה לסטטוס של המכשיר הפיזי.", + "MINUTES_CYCLE": "מחזור כיול, בדקות", + "CALIBRATE_EACH": "מכייל כל", + "PWA": "התקן כיישום (PWA)", + "INSTALL": "התקן", + "UNINSTALL": "הסר", + "notConfigured": "לא הוגדר שרת מרוחק", + "cantReachRemoteServer": "שרת מרוחק לא נגיש", + "authorizationFail": "אימות מול שרת מרוחק נכשל", + "localServerDisconnected": "שרת מקומי התנתק", + "connectionOK": "חיבור לשרת מרוחק תקין", + "dailySunTrigger": "תזמון מבוסס אירועי שמש", + "dailyTimeTrigger": "תזמון שבועי", + "once": "תזמון חד-פעמי", + "timeout": "תזמון ספירה לאחור", + "toggle": "מתג חד-כיווני", + "switch": "מתג", + "airConditioning": "מזגן", + "light": "תאורה", + "roller": "גלגלון", + "cleaner": "מנקה", + "temperatureLight": "תאורה עם טמפ'", + "colorLight": "תאורה צבעונית", + "status": "סטטוס", + "on": "דלוק", + "off": "כבוי", + "direction": "כיוון", + "down": "מטה", + "up": "מעלה", + "mode": "מצב", + "fanStrength": "עצמת רוח", + "temperature": "טמפרטורה", + "brightness": "בהירות", + "red": "אדום", + "green": "ירוק", + "blue": "כחול", + "hot": "חום", + "cold": "קור", + "dry": "יבש", + "auto": "אוטמטי", + "med": "בינוני", + "high": "גבוה", + "low": "חלש", + "fanSpeed": "מהירות אויר", + "move to": "עבור אל", + "go to correct domain": "כתובת השירות השתנתה ובקרוב תרד מהאוויר, נא עברו לכתובתנו החדשה!", + "api-messages": { + "0": "לא מקוון", + "1401": "חיבור לא מאומת", + "1403": "גישה נדחתה", + "2403": "שם משתמש או סיסמה אינם תקינים", + "3403": "אימות שרת מקומי בשרת המרוחק נכשל", + "4403": "user not allowed to watch other accounts", + "5403": "invalid device id", + "6403": "user or code invalied", + "1404": "מיניון לא קיים", + "2404": "מכשיר לא קיים ברשת המקומית", + "3404": "פעולה לא קיימת", + "4404": "תזמון לא קיים", + "5404": "משתמש לא קיים", + "6404": "שרת מקומי לא קיים", + "7404": "there is not module handler for minion brand", + "8404": "דגם מיניון לא מוכר", + "1405": "סטטוס מיניון לא תקין עבור סוג המיניון", + "2405": "סטטוס מיניון לא תקין עבור סוג המיניון בפעולה", + "3405": "תכונות התזמון לא מתאימות לסוד התזמון", + "5405": "משתמש קיים כבר", + "6405": "משתמש אינו רשאי לצפות במשתמש אחר", + "1409": "אין תמיכה בדגם או המותג", + "2409": "נדרש טוקן (מפתח)", + "3409": "נדרש מזהה מכשיר", + "4409": "לא ניתן ליצור מיניון נוסף על המכשיר", + "5409": "יש לבחור קודם שרת מקומי להתחברות", + "6409": "הקלטה לא נתמכת במכשיר", + "7409": "הפעלת טריגר IFTTT נכשלה", + "1422": "מבנה נתונים לא תקין", + "2422": "מבנה נתונים לא תקין, עם הודעה על השגיאה", + "1500": "שגיאה לא ידועה", + "1501": "שגיאה פנימית בשרת", + "2501": "אימות דו שלבי לא הוגדר", + "3501": "שליחת מייל אימות נכשלה, שגיאה פנימית.", + "4501": "חיבור לשרת מקומי לא זמין", + "5501": "הפעולה לא מומשה עדיין", + "6501": "אין תקשורת עם השרת המרוחק", + "7501": "קבלת עדכונים מהשרת נכשלה", + "8501": "התקנת תלויות המערכת נכשלה", + "9051": "קבלת מידע על הגרסה נכשלה", + "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", + "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", + "1503": "חיבור למכשיר נכשל", + "2503": "הקלטה נכשלה או שלא התקבל קלט", + "3503": "לא קיימות פקודות מוקלטות", + "4503": "לא קיימת פקודה מוקלטת לשליחה", + "5503": "סטטוס לא ידוע, לא קיימת היסטוריה של שליחת סטטוס מהמשדר", + "6503": "שליחת סטטוס למכשיר נכשלה", + "7503": "קבלת סטטוס מהמכשיר נכשלה", + "8503": "אין תגובה מהשרת המקומי", + "9503": "שגיאה בתקשורת עם המכשיר, נא וודא שאין יישום אחר המתקשר עם המכשיר כרגע.", + "10503": "המכשיר מחזיר ערכי זבל", + "11503": "שליחת פקודת RF/IR נכשלה", + "12503": "אין תגובה מהשרת המרוחק" + } +} diff --git a/frontend/src/environments/build-external-environment.js b/frontend/src/environments/build-external-environment.js index 754acda2..b78b2cc9 100644 --- a/frontend/src/environments/build-external-environment.js +++ b/frontend/src/environments/build-external-environment.js @@ -1,25 +1,32 @@ /** This script use to allow set API URL by system environment at build process time */ -const fse = require('fs-extra'); +const fse = require("fs-extra"); -const { API_URL } = process.env; -const defaultApiUrl = 'http://127.0.0.1:3000'; +const { API_URL, DASHBOARD_DOMAIN } = process.env; +const defaultApiUrl = "http://127.0.0.1:3000"; if (API_URL) { - console.log(`API URL set to be ${API_URL}`); + console.log(`API URL set to be ${API_URL}`); } else { - console.warn(`There is no 'API_URL' envirnment var, using ${defaultApiUrl} as default...`); + console.warn( + `There is no 'API_URL' environment var, using ${defaultApiUrl} as default...` + ); } -fse.outputFileSync('./src/environments/environment.final.ts', ` +fse.outputFileSync( + "./src/environments/environment.final.ts", + ` export const environment = { production: true, - baseUrl: '${API_URL || defaultApiUrl}/API' + baseUrl: '${API_URL || defaultApiUrl}/API', + dashboardDomain: '${DASHBOARD_DOMAIN || ''}' }; -`); +` +); /** -* Also, build the light app environments -*/ -fse.outputJSONSync('./src/light-app/environments.json', { - API_URL: `${API_URL || defaultApiUrl}/API` + * Also, build the light app environments + */ +fse.outputJSONSync("./src/light-app/environments.json", { + API_URL: `${API_URL || defaultApiUrl}/API`, + DASHBOARD_DOMAIN: `${DASHBOARD_DOMAIN || ''}` }); diff --git a/frontend/src/environments/build-internal-environment.js b/frontend/src/environments/build-internal-environment.js index 688062ff..d726eaee 100644 --- a/frontend/src/environments/build-internal-environment.js +++ b/frontend/src/environments/build-internal-environment.js @@ -1,19 +1,24 @@ -/** This script use for local server assets serving, - * to allow user fetch frontend app from local server - * without creating second server for static files serve +/** This script use for local server assets serving, + * to allow user fetch frontend app from local server + * without creating second server for static files serve */ -const fse = require('fs-extra'); +const fse = require("fs-extra"); -fse.outputFileSync('./src/environments/environment.final.ts', ` +fse.outputFileSync( + "./src/environments/environment.final.ts", + ` export const environment = { production: true, - baseUrl: '/API' + baseUrl: '/API', + dashboardDomain: '' }; -`); +` +); /** * Also, build the light app environments */ -fse.outputJSONSync('./src/light-app/environments.json', { - API_URL : "/API" +fse.outputJSONSync("./src/light-app/environments.json", { + API_URL: "/API", + DASHBOARD_DOMAIN: '' }); diff --git a/frontend/src/environments/environment.ts b/frontend/src/environments/environment.ts index 68658569..92624738 100644 --- a/frontend/src/environments/environment.ts +++ b/frontend/src/environments/environment.ts @@ -5,19 +5,20 @@ export const environment = { production: false, - baseUrl: 'http://127.0.0.1:3000/API' + baseUrl: 'http://127.0.0.1:3000/API', + dashboardDomain: '' }; export const palete = { - primary: '#D32F2F', - accent: '#E65100', - warm: '#C2185B', - name: '#D50000', - secondary: '#D81B60', - tertiary: '#8E24AA', - quaternary: '#5E35B1', - quinary: '#3949AB', - secondaryLight: '#E91E63', - tertiaryLight: '#9C27B0', - quaternaryLight: '#673AB7', - quinaryLight: '#3F51B5', + primary: '#D32F2F', + accent: '#E65100', + warm: '#C2185B', + name: '#D50000', + secondary: '#D81B60', + tertiary: '#8E24AA', + quaternary: '#5E35B1', + quinary: '#3949AB', + secondaryLight: '#E91E63', + tertiaryLight: '#9C27B0', + quaternaryLight: '#673AB7', + quinaryLight: '#3F51B5', }; diff --git a/frontend/src/light-app/index.js b/frontend/src/light-app/index.js index 358c2708..81dece26 100644 --- a/frontend/src/light-app/index.js +++ b/frontend/src/light-app/index.js @@ -1,27 +1,42 @@ /** Get the environments */ let environments = { - API_URL: "http://127.0.0.1:3000/API" -} + API_URL: "http://127.0.0.1:3000/API", + DASHBOARD_DOMAIN: "" +}; + +let domainAlert = () => { + if (document.baseURI.includes(environments.DASHBOARD_DOMAIN)) { + return; + } + + const result = confirm( + `The address of the service has changed and you will soon get off the air, please move to our new address!\n\n${environments.DASHBOARD_DOMAIN}\n\nPress 'OK' to move the new home` + ); + if (!result) { + return; + } + window.location.href = `${environments.DASHBOARD_DOMAIN}/light-app/index.html` +}; let fetchEnvironments = () => { - const xmlhttp = new XMLHttpRequest(); - xmlhttp.onload = () => { - - if (xmlhttp.readyState === 4 && xmlhttp.status == 200) { - environments = JSON.parse(xmlhttp.responseText); - return; - } - - if (xmlhttp.status === 401 || xmlhttp.status === 403) { - alert('GET ENVIRONMENTS FAIL') - return; - } + const xmlhttp = new XMLHttpRequest(); + xmlhttp.onload = () => { + if (xmlhttp.readyState === 4 && xmlhttp.status == 200) { + environments = JSON.parse(xmlhttp.responseText); + domainAlert(); + return; + } - getMinionsFail(xmlhttp.responseText); + if (xmlhttp.status === 401 || xmlhttp.status === 403) { + alert("GET ENVIRONMENTS FAIL"); + return; } - xmlhttp.open("GET", '/light-app/environments.json', false); - xmlhttp.send(); -} + + getMinionsFail(xmlhttp.responseText); + }; + xmlhttp.open("GET", "/light-app/environments.json", false); + xmlhttp.send(); +}; /** Fetch the environments, sync */ fetchEnvironments(); @@ -30,138 +45,144 @@ fetchEnvironments(); * Redirect to auth page. */ let accessFail = () => { - alert('ACCESS FORBIDDEN, redirecting to auth page...') - window.location.href = "/#/login"; -} + alert("ACCESS FORBIDDEN, redirecting to auth page..."); + window.location.href = "/#/login"; +}; -let getMinionsFail = (msg) => { - if (confirm(`GET MINIONS FAIL: \n${msg},\n\n\nPress "OK" to retry`)) { - patchMinions(); - } -} +let getMinionsFail = msg => { + if (confirm(`GET MINIONS FAIL: \n${msg},\n\n\nPress "OK" to retry`)) { + patchMinions(); + } +}; /** * Generate buttons of each minion. * @param {*} minions Minions array */ -let generateMinions = (minions) => { - minions.sort((m1, m2) => { - return m1.name < m2.name ? -1 : 1; - }); - - /** Get the list holder element */ - const listElement = document.getElementById('minions-list'); - - /** Set list empty */ - listElement.innerHTML = ''; - - for (const minion of minions) { - /** Create button element */ - const minionButton = document.createElement('button'); - - /** Inaert name */ - minionButton.innerText = minion.name; - - try { - /** Set correct class for current status */ - minionButton.className = `minion-button minion-${minion.minionStatus[minion.minionType].status}`; - } catch (error) { - minion.minionStatus[minion.minionType] = { - status: 'off' - }; - minionButton.className = `minion-button minion-unknown`; - } +let generateMinions = minions => { + minions.sort((m1, m2) => { + return m1.name < m2.name ? -1 : 1; + }); + + /** Get the list holder element */ + const listElement = document.getElementById("minions-list"); + + /** Set list empty */ + listElement.innerHTML = ""; + + for (const minion of minions) { + /** Create button element */ + const minionButton = document.createElement("button"); + + /** Inaert name */ + minionButton.innerText = minion.name; + + try { + /** Set correct class for current status */ + minionButton.className = `minion-button minion-${ + minion.minionStatus[minion.minionType].status + }`; + } catch (error) { + minion.minionStatus[minion.minionType] = { + status: "off" + }; + minionButton.className = `minion-button minion-unknown`; + } - /** Toggle status on click */ - minionButton.onclick = () => { buttonClicked(minionButton, minion); }; + /** Toggle status on click */ + minionButton.onclick = () => { + buttonClicked(minionButton, minion); + }; - /** Add it to buttons list */ - const item = document.createElement('li'); - item.appendChild(minionButton); - listElement.appendChild(item); - } -} + /** Add it to buttons list */ + const item = document.createElement("li"); + item.appendChild(minionButton); + listElement.appendChild(item); + } +}; /** Get minions from server */ let patchMinions = () => { - // compatible with IE7+, Firefox, Chrome, Opera, Safari - const xmlhttp = new XMLHttpRequest(); - xmlhttp.withCredentials = true; - xmlhttp.onload = () => { - - if (xmlhttp.readyState === 4 && xmlhttp.status == 200) { - generateMinions(JSON.parse(xmlhttp.responseText)); - return; - } - - if (xmlhttp.status === 401 || xmlhttp.status === 403) { - accessFail(); - return; - } - - getMinionsFail(xmlhttp.responseText); + // compatible with IE7+, Firefox, Chrome, Opera, Safari + const xmlhttp = new XMLHttpRequest(); + xmlhttp.withCredentials = true; + xmlhttp.onload = () => { + if (xmlhttp.readyState === 4 && xmlhttp.status == 200) { + generateMinions(JSON.parse(xmlhttp.responseText)); + return; } - xmlhttp.open("GET", `${environments.API_URL}/minions`, true); - xmlhttp.send(); -} -/** Toggle minion status on click */ -let buttonClicked = (element, minion) => { + if (xmlhttp.status === 401 || xmlhttp.status === 403) { + accessFail(); + return; + } - element.className = 'minion-button minion-sync'; + getMinionsFail(xmlhttp.responseText); + }; + xmlhttp.open("GET", `${environments.API_URL}/minions`, true); + xmlhttp.send(); +}; - const setStatus = JSON.parse(JSON.stringify(minion.minionStatus)); - setStatus[minion.minionType].status = - setStatus[minion.minionType].status === 'on' - ? 'off' - : 'on'; +/** Toggle minion status on click */ +let buttonClicked = (element, minion) => { + element.className = "minion-button minion-sync"; + const setStatus = JSON.parse(JSON.stringify(minion.minionStatus)); + setStatus[minion.minionType].status = + setStatus[minion.minionType].status === "on" ? "off" : "on"; - // compatible with IE7+, Firefox, Chrome, Opera, Safari - const xmlhttp = new XMLHttpRequest(); - xmlhttp.withCredentials = true; + // compatible with IE7+, Firefox, Chrome, Opera, Safari + const xmlhttp = new XMLHttpRequest(); + xmlhttp.withCredentials = true; - xmlhttp.onload = () => { - if (xmlhttp.readyState !== 4) { - return; - } + xmlhttp.onload = () => { + if (xmlhttp.readyState !== 4) { + return; + } - if (xmlhttp.status === 204) { - patchMinions(); - return; - } + if (xmlhttp.status === 204) { + patchMinions(); + return; + } - element.className = `minion-button minion-${minion.minionStatus[minion.minionType].status}`; + element.className = `minion-button minion-${ + minion.minionStatus[minion.minionType].status + }`; - if (xmlhttp.status === 401 || xmlhttp.status === 403) { - accessFail(); - } + if (xmlhttp.status === 401 || xmlhttp.status === 403) { + accessFail(); } + }; - xmlhttp.open("PUT", `${environments.API_URL}/minions/${minion.minionId}`, true); - xmlhttp.setRequestHeader('Content-type', 'application/json; charset=utf-8'); - xmlhttp.send(JSON.stringify(setStatus)); -} + xmlhttp.open( + "PUT", + `${environments.API_URL}/minions/${minion.minionId}`, + true + ); + xmlhttp.setRequestHeader("Content-type", "application/json; charset=utf-8"); + xmlhttp.send(JSON.stringify(setStatus)); +}; /** On start. get and generate minions */ patchMinions(); /** SSE */ var evtSource = new EventSource(`${environments.API_URL}/feed/minions`, { - withCredentials: true + withCredentials: true }); -evtSource.onmessage = (e) => { - patchMinions(); -} +evtSource.onmessage = e => { + patchMinions(); +}; /** PWA */ -if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('/light-app/service-worker.js') - .then(function (registration) { - console.log('Registration successful, scope is:', registration.scope); - }) - .catch(function (error) { - console.warn('Service worker registration failed, error:', error); - }); -} \ No newline at end of file +if ("serviceWorker" in navigator) { + navigator.serviceWorker + .register("/light-app/service-worker.js") + .then(function(registration) { + console.log("Registration successful, scope is:", registration.scope); + }) + .catch(function(error) { + console.warn("Service worker registration failed, error:", error); + }); +} diff --git a/frontend/src/light-app/service-worker.js b/frontend/src/light-app/service-worker.js index 5de347fc..72dfe9b5 100644 --- a/frontend/src/light-app/service-worker.js +++ b/frontend/src/light-app/service-worker.js @@ -23,7 +23,7 @@ self.addEventListener('fetch', (e) => { e.respondWith( caches.match(e.request).then((r) => { if (e.request.url.indexOf('/API/') !== -1) { - console.log(e.request.url + ' feched as api'); + console.log(e.request.url + ' fetched as api'); return fetch(e.request); } console.log('[Service Worker] Fetching resource: ' + e.request.url); From 1aaab12215d3234d561be27903b4bed7f19c0695 Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 10:31:14 +0200 Subject: [PATCH 7/8] save fetched commands immediately #91 --- backend/src/modules/broadlink/broadlinkHandler.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/modules/broadlink/broadlinkHandler.ts b/backend/src/modules/broadlink/broadlinkHandler.ts index 811fbd1a..c27e5ec0 100644 --- a/backend/src/modules/broadlink/broadlinkHandler.ts +++ b/backend/src/modules/broadlink/broadlinkHandler.ts @@ -164,6 +164,7 @@ export class BroadlinkHandler extends BrandModuleBase { minionCache.rollerCommands = commandsSet.commands.roller; break; } + this.updateCache(); } public async refreshCommunication(): Promise { From f271ce5d156eaa2ed165ee19c574d2587e760710 Mon Sep 17 00:00:00 2001 From: haim kastner Date: Sun, 19 Jan 2020 10:38:10 +0200 Subject: [PATCH 8/8] Update project build --- README.md | 1 - backend/README.md | 1 - backend/dist/app.js | 2 +- backend/dist/app.js.map | 2 +- backend/dist/business-layer/authBl.js | 30 +- backend/dist/business-layer/authBl.js.map | 2 +- backend/dist/business-layer/calibrateBl.js | 5 +- .../dist/business-layer/calibrateBl.js.map | 2 +- backend/dist/business-layer/devicesBl.js | 62 +- backend/dist/business-layer/devicesBl.js.map | 2 +- .../business-layer/iftttIntegrationBl.js.map | 2 +- backend/dist/business-layer/minionsBl.js | 491 +++++++------ backend/dist/business-layer/minionsBl.js.map | 2 +- backend/dist/business-layer/operationsBl.js | 118 ++-- .../dist/business-layer/operationsBl.js.map | 2 +- .../dist/business-layer/remoteConnectionBl.js | 6 +- .../business-layer/remoteConnectionBl.js.map | 2 +- backend/dist/business-layer/rfBl.js.map | 2 +- backend/dist/business-layer/sessionsBl.js | 2 +- backend/dist/business-layer/sessionsBl.js.map | 2 +- backend/dist/business-layer/timelineBl.js | 2 +- backend/dist/business-layer/timelineBl.js.map | 2 +- backend/dist/business-layer/timeoutBl.js | 6 +- backend/dist/business-layer/timeoutBl.js.map | 2 +- backend/dist/business-layer/timingsBl.js | 98 +-- backend/dist/business-layer/timingsBl.js.map | 2 +- backend/dist/business-layer/usersBl.js | 61 +- backend/dist/business-layer/usersBl.js.map | 2 +- backend/dist/business-layer/versionsBl.js | 30 +- backend/dist/business-layer/versionsBl.js.map | 2 +- backend/dist/config.js.map | 2 +- .../dist/controllers/authController.js.map | 2 +- .../dist/controllers/devicesController.js.map | 2 +- backend/dist/controllers/feedController.js | 4 +- .../dist/controllers/feedController.js.map | 2 +- .../dist/controllers/iftttController.js.map | 2 +- backend/dist/controllers/minionsController.js | 50 +- .../dist/controllers/minionsController.js.map | 2 +- .../controllers/operationsController.js.map | 2 +- .../radioFrequencyController.js.map | 2 +- .../remoteConnectionController.js.map | 2 +- .../controllers/staticAssetsController.js.map | 2 +- .../dist/controllers/timingsController.js.map | 2 +- backend/dist/controllers/usersController.js | 68 +- .../dist/controllers/usersController.js.map | 2 +- .../controllers/versionsController.js.map | 2 +- backend/dist/data-layer/dataIO.js | 6 +- backend/dist/data-layer/dataIO.js.map | 2 +- backend/dist/data-layer/devicesDal.js | 26 +- backend/dist/data-layer/devicesDal.js.map | 2 +- .../dist/data-layer/iftttIntegrationDal.js | 12 +- .../data-layer/iftttIntegrationDal.js.map | 2 +- backend/dist/data-layer/minionsDal.js | 35 +- backend/dist/data-layer/minionsDal.js.map | 2 +- backend/dist/data-layer/operationsDal.js | 29 +- backend/dist/data-layer/operationsDal.js.map | 2 +- .../dist/data-layer/remoteConnectionDal.js | 6 +- .../data-layer/remoteConnectionDal.js.map | 2 +- backend/dist/data-layer/sessionsDal.js | 26 +- backend/dist/data-layer/sessionsDal.js.map | 2 +- backend/dist/data-layer/timelineDal.js | 4 +- backend/dist/data-layer/timelineDal.js.map | 2 +- backend/dist/data-layer/timingsDal.js | 29 +- backend/dist/data-layer/timingsDal.js.map | 2 +- backend/dist/data-layer/usersDal.js | 85 ++- backend/dist/data-layer/usersDal.js.map | 2 +- backend/dist/index.js | 3 +- backend/dist/index.js.map | 2 +- backend/dist/modules/brandModuleBase.js | 6 +- backend/dist/modules/brandModuleBase.js.map | 2 +- .../modules/broadlink/broadlinkHandler.js | 177 +++-- .../modules/broadlink/broadlinkHandler.js.map | 2 +- .../dist/modules/ifttt/iftttHandler.js.map | 2 +- backend/dist/modules/miio/miioHandler.js | 141 ++-- backend/dist/modules/miio/miioHandler.js.map | 2 +- backend/dist/modules/mock/mockHandler.js | 20 +- backend/dist/modules/mock/mockHandler.js.map | 2 +- backend/dist/modules/modulesManager.js | 158 ++--- backend/dist/modules/modulesManager.js.map | 2 +- .../mqtt-converters/mqttConverterBase.js.map | 2 +- .../mqtt-converters/tasmotaConverter.js.map | 2 +- backend/dist/modules/mqtt/mqttBroker.js | 5 +- backend/dist/modules/mqtt/mqttBroker.js.map | 2 +- backend/dist/modules/mqtt/mqttHandler.js | 58 +- backend/dist/modules/mqtt/mqttHandler.js.map | 2 +- backend/dist/modules/orvibo/orviboHandler.js | 195 +++-- .../dist/modules/orvibo/orviboHandler.js.map | 2 +- .../modules/tasmota/tasmotaHandler.js.map | 2 +- backend/dist/modules/tuya/tuyaHandler.js | 312 ++++---- backend/dist/modules/tuya/tuyaHandler.js.map | 2 +- .../dist/modules/yeelight/yeelightHandler.js | 167 ++--- .../modules/yeelight/yeelightHandler.js.map | 2 +- backend/dist/public/6.1bc1785f83207644cb3e.js | 1 - backend/dist/public/6.f035b3a7a9345473d016.js | 1 + backend/dist/public/7.421eedcba482dfff3aa9.js | 1 + backend/dist/public/7.79bd1e24ff8bd1406fa4.js | 1 - backend/dist/public/8.29221b4caa99d135d5df.js | 1 - backend/dist/public/8.45e11fbbbbe7f21163cf.js | 1 + backend/dist/public/assets/i18n/en.json | 664 +++++++++--------- backend/dist/public/assets/i18n/he.json | 664 +++++++++--------- .../public/common.4a59c2db34bb95b09265.js | 1 + .../public/common.caba40804b75d5fcb3d4.js | 1 - backend/dist/public/index.html | 4 +- .../dist/public/light-app/environments.json | 2 +- backend/dist/public/light-app/index.js | 261 +++---- .../dist/public/light-app/service-worker.js | 2 +- .../dist/public/main.37675dfde7abe9a5ecd9.js | 1 + .../dist/public/main.52c6963b91afa8539cf0.js | 1 - .../dist/public/main.8efce47c6e6bce3ce9ea.js | 1 - backend/dist/public/ngsw.json | 8 +- .../polyfills-es5.96676b3374a7dec5e591.js | 1 + .../polyfills-es5.f2bbd7c6170b5c31d719.js | 1 - .../public/polyfills.541ca1c51d67435ff2fc.js | 1 - .../public/polyfills.e16ecad8b75045f8fc22.js | 1 + .../public/runtime.047b7895a9543913a429.js | 1 + .../public/runtime.8ded7984748ec3497b30.js | 1 - .../public/styles.346d3a2eabc3784e2422.css | 1 + .../public/styles.6d24ce27c7a24c9318fc.css | 1 - backend/dist/routers/authenticationRoute.js | 18 +- .../dist/routers/authenticationRoute.js.map | 2 +- backend/dist/routers/feedRoute.js | 5 +- backend/dist/routers/feedRoute.js.map | 2 +- backend/dist/security/authentication.js | 5 +- backend/dist/security/authentication.js.map | 2 +- backend/dist/security/schemaValidator.js | 85 ++- backend/dist/security/schemaValidator.js.map | 2 +- backend/dist/utilities/deepCopy.js.map | 2 +- backend/dist/utilities/lanManager.js.map | 2 +- backend/dist/utilities/macAddress.js.map | 2 +- backend/dist/utilities/mailSender.js.map | 2 +- backend/dist/utilities/sleep.js.map | 2 +- 131 files changed, 2203 insertions(+), 2195 deletions(-) delete mode 100644 backend/dist/public/6.1bc1785f83207644cb3e.js create mode 100644 backend/dist/public/6.f035b3a7a9345473d016.js create mode 100644 backend/dist/public/7.421eedcba482dfff3aa9.js delete mode 100644 backend/dist/public/7.79bd1e24ff8bd1406fa4.js delete mode 100644 backend/dist/public/8.29221b4caa99d135d5df.js create mode 100644 backend/dist/public/8.45e11fbbbbe7f21163cf.js create mode 100644 backend/dist/public/common.4a59c2db34bb95b09265.js delete mode 100644 backend/dist/public/common.caba40804b75d5fcb3d4.js create mode 100644 backend/dist/public/main.37675dfde7abe9a5ecd9.js delete mode 100644 backend/dist/public/main.52c6963b91afa8539cf0.js delete mode 100644 backend/dist/public/main.8efce47c6e6bce3ce9ea.js create mode 100644 backend/dist/public/polyfills-es5.96676b3374a7dec5e591.js delete mode 100644 backend/dist/public/polyfills-es5.f2bbd7c6170b5c31d719.js delete mode 100644 backend/dist/public/polyfills.541ca1c51d67435ff2fc.js create mode 100644 backend/dist/public/polyfills.e16ecad8b75045f8fc22.js create mode 100644 backend/dist/public/runtime.047b7895a9543913a429.js delete mode 100644 backend/dist/public/runtime.8ded7984748ec3497b30.js create mode 100644 backend/dist/public/styles.346d3a2eabc3784e2422.css delete mode 100644 backend/dist/public/styles.6d24ce27c7a24c9318fc.css diff --git a/README.md b/README.md index 6ef9d7ce..f55393a1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ Open-source server to control IoT devices in a local home network. [![Build Status](https://travis-ci.org/casanet/casanet-server.svg?branch=master)](https://travis-ci.org/casanet/casanet-server) - [![Coverage Status](https://coveralls.io/repos/github/casanet/casanet-server/badge.svg?branch=master)](https://coveralls.io/github/casanet/casanet-server?branch=master) diff --git a/backend/README.md b/backend/README.md index ebf1b800..1160f205 100644 --- a/backend/README.md +++ b/backend/README.md @@ -3,7 +3,6 @@ This is the casa-net local server to communicate and control IoT devices in a home. [![Build Status](https://travis-ci.org/casanet/casanet-server.svg?branch=master)](https://travis-ci.org/casanet/casanet-server) - [![Coverage Status](https://coveralls.io/repos/github/casanet/casanet-server/badge.svg?branch=master)](https://coveralls.io/github/casanet/casanet-server?branch=master) ### Server installation diff --git a/backend/dist/app.js b/backend/dist/app.js index c89da937..f0d159dd 100644 --- a/backend/dist/app.js +++ b/backend/dist/app.js @@ -28,8 +28,8 @@ require("./controllers/timingsController"); require("./controllers/usersController"); require("./controllers/versionsController"); // also import other moduls that not imported in other place. -require("./business-layer/timeoutBl"); require("./business-layer/calibrateBl"); +require("./business-layer/timeoutBl"); class App { constructor() { this.authenticationRouter = new authenticationRoute_1.AuthenticationRouter(); diff --git a/backend/dist/app.js.map b/backend/dist/app.js.map index de98ff32..6b582980 100644 --- a/backend/dist/app.js.map +++ b/backend/dist/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/authBl.js b/backend/dist/business-layer/authBl.js index 059a1171..95a3efc0 100644 --- a/backend/dist/business-layer/authBl.js +++ b/backend/dist/business-layer/authBl.js @@ -24,20 +24,6 @@ class AuthBl { this.sessionsBl = sessionsBl; this.usersBl = usersBl; } - async activeSession(response, user) { - const sessionKey = await this.sessionsBl.generateSession(user); - /** - * Finally load session on cookies response. - */ - response.cookie('session', sessionKey, { - sameSite: true, - httpOnly: true, - secure: config_1.Configuration.http.useHttps, - maxAge: exports.sessionExpiresMs, - }); - /** All OK, no additional info */ - response.statusCode = 200; - } /** * Login to system. */ @@ -53,7 +39,7 @@ class AuthBl { return this.GENERIC_ERROR_RESPONSE; } /** If User not fauld or password not match */ - if (!await bcrypt.compare(login.password, userTryToLogin.password)) { + if (!(await bcrypt.compare(login.password, userTryToLogin.password))) { /** Case password incorrect return generic error. */ response.statusCode = 403; return this.GENERIC_ERROR_RESPONSE; @@ -142,6 +128,20 @@ class AuthBl { maxAge: 1, }); } + async activeSession(response, user) { + const sessionKey = await this.sessionsBl.generateSession(user); + /** + * Finally load session on cookies response. + */ + response.cookie('session', sessionKey, { + sameSite: true, + httpOnly: true, + secure: config_1.Configuration.http.useHttps, + maxAge: exports.sessionExpiresMs, + }); + /** All OK, no additional info */ + response.statusCode = 200; + } } exports.AuthBl = AuthBl; exports.AuthBlSingleton = new AuthBl(sessionsBl_1.SessionsBlSingleton, usersBl_1.UsersBlSingleton); diff --git a/backend/dist/business-layer/authBl.js.map b/backend/dist/business-layer/authBl.js.map index 7af86162..829ab4d6 100644 --- a/backend/dist/business-layer/authBl.js.map +++ b/backend/dist/business-layer/authBl.js.map @@ -1 +1 @@ -{"version":3,"file":"authBl.js","sourceRoot":"","sources":["../../src/business-layer/authBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"authBl.js","sourceRoot":"","sources":["../../src/business-layer/authBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/calibrateBl.js b/backend/dist/business-layer/calibrateBl.js index f0e07662..e78111d6 100644 --- a/backend/dist/business-layer/calibrateBl.js +++ b/backend/dist/business-layer/calibrateBl.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const moment = require("moment"); +const deepCopy_1 = require("../utilities/deepCopy"); const logger_1 = require("../utilities/logger"); const sleep_1 = require("../utilities/sleep"); const minionsBl_1 = require("./minionsBl"); -const deepCopy_1 = require("../utilities/deepCopy"); const CALIBRATE_INTERVAL_ACTIVATION = moment.duration(30, 'seconds'); class CalibrateBl { /** @@ -29,7 +29,8 @@ class CalibrateBl { } /** If minion calibration time not arrived yet, ignore it. */ if (this.lastCalibrateMap[minion.minionId] && - now.getTime() - this.lastCalibrateMap[minion.minionId].getTime() < moment.duration(minion.calibrationCycleMinutes, 'minutes').asMilliseconds()) { + now.getTime() - this.lastCalibrateMap[minion.minionId].getTime() < + moment.duration(minion.calibrationCycleMinutes, 'minutes').asMilliseconds()) { continue; } /** Calibrate minion status */ diff --git a/backend/dist/business-layer/calibrateBl.js.map b/backend/dist/business-layer/calibrateBl.js.map index 723bc5f1..e03ae18b 100644 --- a/backend/dist/business-layer/calibrateBl.js.map +++ b/backend/dist/business-layer/calibrateBl.js.map @@ -1 +1 @@ -{"version":3,"file":"calibrateBl.js","sourceRoot":"","sources":["../../src/business-layer/calibrateBl.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AACjC,gDAA6C;AAC7C,8CAA2C;AAC3C,2CAA4D;AAC5D,oDAAiD;AAGjD,MAAM,6BAA6B,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAErE,MAAa,WAAW;IAQpB;;;OAGG;IACH,YAAY,SAAoB;QAPhC,0CAA0C;QAClC,qBAAgB,GAA4B,EAAE,CAAC;QAOnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B;;WAEG;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAE7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE;YACpD,6DAA6D;YAC7D,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;gBACjC,SAAS;aACZ;YAED,6DAA6D;YAC7D,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;gBAChJ,SAAS;aACZ;YAED,8BAA8B;YAE9B;;eAEG;YACH,MAAM,YAAY,GAAG,mBAAQ,CAAe,MAAM,CAAC,YAAY,CAAC,CAAC;YAEjE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpE,eAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,QAAQ,0BAA0B,CAAC,CAAC;aAC/E;YAAC,OAAO,KAAK,EAAE;gBACZ,eAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACrF;YAED,wCAAwC;YACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YAE7C;;eAEG;YACH,MAAM,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SAC9C;IACL,CAAC;IAGO,KAAK,CAAC,cAAc;QAExB;;WAEG;QACH,WAAW,CAAC,KAAK,IAAI,EAAE;YACnB,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAClF;QACL,CAAC,EAAE,6BAA6B,CAAC,cAAc,EAAE,CAAC,CAAC;QAEnD,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;CACJ;AA7ED,kCA6EC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,8BAAkB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"calibrateBl.js","sourceRoot":"","sources":["../../src/business-layer/calibrateBl.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AAEjC,oDAAiD;AACjD,gDAA6C;AAC7C,8CAA2C;AAC3C,2CAA4D;AAE5D,MAAM,6BAA6B,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAErE,MAAa,WAAW;IAOtB;;;OAGG;IACH,YAAY,SAAoB;QAPhC,0CAA0C;QAClC,qBAAgB,GAA4B,EAAE,CAAC;QAOrD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B;;WAEG;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE;YACtD,6DAA6D;YAC7D,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;gBACnC,SAAS;aACV;YAED,6DAA6D;YAC7D,IACE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;oBAC9D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,cAAc,EAAE,EAC7E;gBACA,SAAS;aACV;YAED,8BAA8B;YAE9B;;eAEG;YACH,MAAM,YAAY,GAAG,mBAAQ,CAAe,MAAM,CAAC,YAAY,CAAC,CAAC;YAEjE,IAAI;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpE,eAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,QAAQ,0BAA0B,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACd,eAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnF;YAED,wCAAwC;YACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YAE7C;;eAEG;YACH,MAAM,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B;;WAEG;QACH,WAAW,CAAC,KAAK,IAAI,EAAE;YACrB,IAAI;gBACF,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAClC;YAAC,OAAO,KAAK,EAAE;gBACd,eAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAChF;QACH,CAAC,EAAE,6BAA6B,CAAC,cAAc,EAAE,CAAC,CAAC;QAEnD,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;CACF;AA5ED,kCA4EC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,8BAAkB,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/devicesBl.js b/backend/dist/business-layer/devicesBl.js index 47436258..c779f1c5 100644 --- a/backend/dist/business-layer/devicesBl.js +++ b/backend/dist/business-layer/devicesBl.js @@ -12,46 +12,18 @@ class DevicesBl { * @param localNetworkReader Inject the reader function. */ constructor(devicesDal, localNetworkReader, modulesManager) { - /** - * local devices. - */ - this.localDevices = []; /** * Local devices changes feed. */ this.devicesUpdate = new rxjs_1.BehaviorSubject([]); + /** + * local devices. + */ + this.localDevices = []; this.devicesDal = devicesDal; this.localNetworkReader = localNetworkReader; this.modulesManager = modulesManager; } - /** - * Load local devices name from saved cache. - */ - async loadDevicesName() { - const cachedDevices = await this.devicesDal.getDevices(); - for (const localDevice of this.localDevices) { - for (const cachedDevice of cachedDevices) { - if (cachedDevice.mac === localDevice.mac) { - localDevice.name = cachedDevice.name; - break; - } - } - } - } - /** - * Load local network devices data. - */ - async loadDevices() { - this.localDevices = await this.localNetworkReader() - .catch(() => { - logger_1.logger.warn('Loading devices network fail, setting devices as empty array...'); - this.localDevices = []; - }); - await this.loadDevicesName() - .catch(() => { - logger_1.logger.warn('Loading devices names fail'); - }); - } /** * Get all local network devices */ @@ -80,6 +52,32 @@ class DevicesBl { async getDevicesKins() { return this.modulesManager.devicesKind; } + /** + * Load local devices name from saved cache. + */ + async loadDevicesName() { + const cachedDevices = await this.devicesDal.getDevices(); + for (const localDevice of this.localDevices) { + for (const cachedDevice of cachedDevices) { + if (cachedDevice.mac === localDevice.mac) { + localDevice.name = cachedDevice.name; + break; + } + } + } + } + /** + * Load local network devices data. + */ + async loadDevices() { + this.localDevices = (await this.localNetworkReader().catch(() => { + logger_1.logger.warn('Loading devices network fail, setting devices as empty array...'); + this.localDevices = []; + })); + await this.loadDevicesName().catch(() => { + logger_1.logger.warn('Loading devices names fail'); + }); + } } exports.DevicesBl = DevicesBl; exports.DevicesBlSingleton = new DevicesBl(devicesDal_1.DevicesDalSingleton, lanManager_1.LocalNetworkReader, modulesManager_1.ModulesManagerSingltone); diff --git a/backend/dist/business-layer/devicesBl.js.map b/backend/dist/business-layer/devicesBl.js.map index e995462a..7d734ff8 100644 --- a/backend/dist/business-layer/devicesBl.js.map +++ b/backend/dist/business-layer/devicesBl.js.map @@ -1 +1 @@ -{"version":3,"file":"devicesBl.js","sourceRoot":"","sources":["../../src/business-layer/devicesBl.ts"],"names":[],"mappings":";;AAAA,+BAA+D;AAC/D,yDAA2E;AAE3E,8DAAoF;AACpF,wDAA6D;AAC7D,gDAA6C;AAE7C,MAAa,SAAS;IAiBlB;;;;OAIG;IACH,YAAY,UAAsB,EAAE,kBAAuD,EAAE,cAA8B;QAf3H;;WAEG;QACK,iBAAY,GAAyB,EAAE,CAAC;QAEhD;;WAEG;QACI,kBAAa,GAAG,IAAI,sBAAe,CAAuB,EAAE,CAAC,CAAC;QAQjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAEzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YACzC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;gBACtC,IAAI,YAAY,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,EAAE;oBACtC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;oBACrC,MAAM;iBACT;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;aAC9C,KAAK,CAAC,GAAG,EAAE;YACR,eAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAyB,CAAC;QAE/B,MAAM,IAAI,CAAC,eAAe,EAAE;aACvB,KAAK,CAAC,GAAG,EAAE;YACR,eAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,WAA+B;QACtD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3C,CAAC;CACJ;AA3FD,8BA2FC;AAEY,QAAA,kBAAkB,GAAG,IAAI,SAAS,CAAC,gCAAmB,EAAE,+BAAkB,EAAE,wCAAuB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"devicesBl.js","sourceRoot":"","sources":["../../src/business-layer/devicesBl.ts"],"names":[],"mappings":";;AAAA,+BAA+D;AAC/D,yDAA2E;AAE3E,8DAAoF;AACpF,wDAA6D;AAC7D,gDAA6C;AAE7C,MAAa,SAAS;IAepB;;;;OAIG;IACH,YACE,UAAsB,EACtB,kBAAuD,EACvD,cAA8B;QAtBhC;;WAEG;QACI,kBAAa,GAAG,IAAI,sBAAe,CAAuB,EAAE,CAAC,CAAC;QAMrE;;WAEG;QACK,iBAAY,GAAyB,EAAE,CAAC;QAY9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,WAA+B;QACxD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAEzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;gBACxC,IAAI,YAAY,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,EAAE;oBACxC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;oBACrC,MAAM;iBACP;aACF;SACF;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9D,eAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAyB,CAAC;QAE5B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACtC,eAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3FD,8BA2FC;AAEY,QAAA,kBAAkB,GAAG,IAAI,SAAS,CAAC,gCAAmB,EAAE,+BAAkB,EAAE,wCAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/iftttIntegrationBl.js.map b/backend/dist/business-layer/iftttIntegrationBl.js.map index 17b3a955..24157196 100644 --- a/backend/dist/business-layer/iftttIntegrationBl.js.map +++ b/backend/dist/business-layer/iftttIntegrationBl.js.map @@ -1 +1 @@ -{"version":3,"file":"iftttIntegrationBl.js","sourceRoot":"","sources":["../../src/business-layer/iftttIntegrationBl.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAC3C,2EAAwG;AAExG,oDAAiD;AACjD,gDAA6C;AAC7C,2CAA4D;AAC5D,iDAAqE;AACrE;;;GAGG;AACH,MAAa,kBAAkB;IAE3B;;;;OAIG;IACH,YAAoB,oBAA0C,EAC1C,SAAoB,EACpB,YAA0B;QAF1B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAE1C,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC3D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC9C,OAAO;aACV;YACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,4BAA4B,CAAC,wBAAkD;QACxF,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACrF,CAAC;IAED,6CAA6C;IACtC,KAAK,CAAC,4BAA4B;QACrC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;IACpE,CAAC;IAED,uCAAuC;IAChC,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,oBAA0C;QAC3F,MAAM,MAAM,GAAG,mBAAQ,CAAS,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAC/E,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,wBAAwB,CAAC,WAAmB;QACrD,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,mCAAmC;IAC3B,KAAK,CAAC,aAAa,CAAC,MAAc;QAEtC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE;YAClC,OAAO;SACV;QAED,IAAI;YACA,MAAM,OAAO,CAAC;gBACV,MAAM,EAAE,MAAM;gBACd,2CAA2C;gBAC3C,GAAG,EAAE,wCAAwC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE;gBAChJ,IAAI,EAAE;oBACF,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;iBACjD;gBACD,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACpH;IACL,CAAC;CAEJ;AArED,gDAqEC;AAEY,QAAA,2BAA2B,GAAG,IAAI,kBAAkB,CAAC,mDAA6B,EAAE,8BAAkB,EAAE,oCAAqB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"iftttIntegrationBl.js","sourceRoot":"","sources":["../../src/business-layer/iftttIntegrationBl.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAC3C,2EAAwG;AAQxG,oDAAiD;AACjD,gDAA6C;AAC7C,2CAA4D;AAC5D,iDAAqE;AACrE;;;GAGG;AACH,MAAa,kBAAkB;IAC7B;;;;OAIG;IACH,YACU,oBAA0C,EAC1C,SAAoB,EACpB,YAA0B;QAF1B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAElC,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC7D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAChD,OAAO;aACR;YACD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,4BAA4B,CAAC,wBAAkD;QAC1F,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACnF,CAAC;IAED,6CAA6C;IACtC,KAAK,CAAC,4BAA4B;QACvC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;IAClE,CAAC;IAED,uCAAuC;IAChC,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,oBAA0C;QAC7F,MAAM,MAAM,GAAG,mBAAQ,CAAS,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAC/E,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,wBAAwB,CAAC,WAAmB;QACvD,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,mCAAmC;IAC3B,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE;YACpC,OAAO;SACR;QAED,IAAI;YACF,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE,MAAM;gBACd,2CAA2C;gBAC3C,GAAG,EAAE,wCAAwC,MAAM,CAAC,QAAQ,IAC1D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MACzC,aAAa,aAAa,CAAC,MAAM,EAAE;gBACnC,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;iBAC/C;gBACD,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,eAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAClH;IACH,CAAC;CACF;AArED,gDAqEC;AAEY,QAAA,2BAA2B,GAAG,IAAI,kBAAkB,CAC/D,mDAA6B,EAC7B,8BAAkB,EAClB,oCAAqB,CACtB,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/minionsBl.js b/backend/dist/business-layer/minionsBl.js index 2d573a12..3d4104a8 100644 --- a/backend/dist/business-layer/minionsBl.js +++ b/backend/dist/business-layer/minionsBl.js @@ -10,19 +10,19 @@ const sleep_1 = require("../utilities/sleep"); const devicesBl_1 = require("./devicesBl"); class MinionsBl { /** - * Init minions bl. using dependecy injection pattern to allow units testings. + * Init minions bl. using dependency injection pattern to allow units testings. * @param minionsDal Inject the dal instance. */ constructor(minionsDal, devicesBl, modulesManager) { + /** + * Minions status update feed. + */ + this.minionFeed = new rxjs_1.BehaviorSubject(undefined); this.scanningStatus = 'finished'; /** * minions */ this.minions = []; - /** - * Minions status update feed. - */ - this.minionFeed = new rxjs_1.BehaviorSubject(undefined); this.minionsDal = minionsDal; this.devicesBl = devicesBl; this.modulesManager = modulesManager; @@ -35,230 +35,11 @@ class MinionsBl { logger_1.logger.error('Init minions fail'); }); } - /** - * Init minions. - */ - async initData() { - /** Mark scannig as 'inProgress' */ - this.scanningStatus = 'inProgress'; - /** - * Gets all minions - */ - this.minions = await this.minionsDal.getMinions(); - /** - * Scan network on startup - */ - await this.devicesBl.rescanNetwork(); - /** - * Get network local devices - */ - const localDevices = await this.devicesBl.getDevices(); - /** - * Then load minion with new pysical network data - */ - await this.loadMinionsLocalDeviceData(localDevices); - /** - * Let`s modules retrieve updated minions array. - */ - modulesManager_1.ModulesManagerSingltone.retrieveMinions.setPullMethod(async () => { - return await this.getMinions(); - }); - /** - * After all, subscribe to devices status updates. - */ - this.modulesManager.minionStatusChangedEvent.subscribe(async (pysicalDeviceUpdate) => { - if (!pysicalDeviceUpdate) { - return; - } - try { - const minion = await this.getMinionById(pysicalDeviceUpdate.minionId); - await this.onMinionUpdated(minion, pysicalDeviceUpdate.status); - } - catch (error) { - logger_1.logger.info(`Avoiding device update, there is no minion with id: ${pysicalDeviceUpdate.minionId}`); - } - }); - /** - * And also Registar to devices pysical data update (name or ip). - */ - this.devicesBl.devicesUpdate.subscribe((localsDevices) => { - this.loadMinionsLocalDeviceData(localsDevices); - }); - /** - * Finally, after all, get minions status. - */ - await this.readMinionsStatus(); - /** Now mark all tasks finished */ - this.scanningStatus = 'finished'; - } - /** - * Load minion devices data - * @param localDevices local device array. - */ - async loadMinionsLocalDeviceData(localDevices) { - /** - * Each device check each used minion. - */ - for (const localDevice of localDevices) { - for (const minion of this.minions) { - if (minion.device.pysicalDevice.mac === localDevice.mac) { - minion.device.pysicalDevice = localDevice; - } - } - } - } - /** - * Read minoin current status. - * @param minion minion to read status for. - */ - async readMinionStatus(minion) { - try { - const currentStatus = await this.modulesManager.getStatus(minion); - await this.onMinionUpdated(minion, currentStatus); - } - catch (error) { - minion.isProperlyCommunicated = false; - logger_1.logger.warn(`Fail to read status of ${minion.name} id: ${minion.minionId} err : ${error.message}`); - throw error; - } - } - /** - * Read each minion current status. - */ - async readMinionsStatus() { - for (const minion of this.minions) { - /** - * Read current minion status. - */ - await this.readMinionStatus(minion) - .catch(() => { - /** - * Fail, do nothing.... - */ - }); - /** - * Let time between minions reading. - * this is because some of devices using broadcast in network and can't communication 2 together. - */ - await sleep_1.Delay(moment.duration(1, 'seconds')); - } - } - /** - * Find minion in minions array. - * @param minionId minioin id. - */ - findMinion(minionId) { - for (const minion of this.minions) { - if (minion.minionId === minionId) { - return minion; - } - } - } - async onMinionUpdated(minion, updateToStatus) { - /** If there is no change from last minion status */ - if (minion.isProperlyCommunicated && - JSON.stringify(minion.minionStatus) === JSON.stringify(updateToStatus)) { - return; - } - minion.isProperlyCommunicated = true; - minion.minionStatus = updateToStatus; - this.minionFeed.next({ - event: 'update', - minion, - }); - } - /** - * Validate new minion properties to make sure that they compatible to requires. - * @param minionToCheck new minion to validate. - */ - validateNewMinion(minionToCheck) { - /** - * Get brand & model - */ - let deviceKind; - for (const kind of this.modulesManager.devicesKind) { - if (kind.brand === minionToCheck.device.brand && - kind.model === minionToCheck.device.model) { - deviceKind = kind; - } - } - /** - * Check that model exits in barns. - */ - if (!deviceKind) { - return { - responseCode: 1409, - message: 'there is no supported model for brand + model', - }; - } - /** - * Check if token reqired and not exist. - */ - if (deviceKind.isTokenRequierd && !minionToCheck.device.token) { - return { - responseCode: 2409, - message: 'token is requird', - }; - } - /** - * Check if id reqired and not exist. - */ - if (deviceKind.isIdRequierd && !minionToCheck.device.deviceId) { - return { - responseCode: 3409, - message: 'id is requird', - }; - } - /** - * If the modele is not for unlimited minoins count the used minions. - */ - if (deviceKind.minionsPerDevice !== -1) { - let minionsCount = 0; - for (const minion of this.minions) { - if (minion.device.pysicalDevice.mac === minionToCheck.device.pysicalDevice.mac) { - minionsCount++; - } - } - /** - * If the new minion is above max minions per device. - */ - if (minionsCount >= deviceKind.minionsPerDevice) { - return { - responseCode: 4409, - message: 'device already in max uses with other minion', - }; - } - } - /** - * ignore user selection and set corrent minion type based on model. - */ - minionToCheck.minionType = deviceKind.suppotedMinionType; - } - /** - * Scan the minions current status - * @param scanNetwork Whenever scan also the local networks IP's map or not. - */ - async scanMinioinsNetworkAndStatuses(scanNetwork = false) { - this.scanningStatus = 'inProgress'; - try { - if (scanNetwork) { - await this.devicesBl.rescanNetwork(); - } - await this.modulesManager.refreshModules(); - await this.readMinionsStatus(); - } - catch (error) { - logger_1.logger.warn(`Scannig minions ${scanNetwork ? 'with network' : ''} faild ${JSON.stringify(error)}`); - this.scanningStatus = 'fail'; - return; - } - this.scanningStatus = 'finished'; - } /** * API */ /** - * Gets minons array. + * Gets minions array. */ async getMinions() { return this.minions; @@ -283,8 +64,9 @@ class MinionsBl { * @param scanNetwork Whenever scan also the local networks IP's map or not. */ async scanMinionsStatus(scanNetwork = false) { - if (this.scanningStatus !== 'inProgress') + if (this.scanningStatus !== 'inProgress') { this.scanMinioinsNetworkAndStatuses(scanNetwork); + } } /** * Get the current scanning status @@ -297,14 +79,14 @@ class MinionsBl { * mean update minions cache by request the device what is the real status. */ async scanMinionStatus(minionId) { - const minioin = this.findMinion(minionId); - if (!minioin) { + const minion = this.findMinion(minionId); + if (!minion) { throw { responseCode: 1404, message: 'minion not exist', }; } - await this.readMinionStatus(minioin); + await this.readMinionStatus(minion); } /** * Rename minion. @@ -335,7 +117,7 @@ class MinionsBl { }); } /** - * Set minon status + * Set minion status * @param minionId minion to set new status to. * @param minionStatus the status to set. */ @@ -359,8 +141,7 @@ class MinionsBl { /** * set the status. */ - await this.modulesManager.setStatus(minion, minionStatus) - .catch((err) => { + await this.modulesManager.setStatus(minion, minionStatus).catch(err => { minion.isProperlyCommunicated = false; this.minionFeed.next({ event: 'update', @@ -369,8 +150,7 @@ class MinionsBl { throw err; }); /** If there is no change from the last minion status */ - if (minion.isProperlyCommunicated && - JSON.stringify(minion.minionStatus) === JSON.stringify(minionStatus)) { + if (minion.isProperlyCommunicated && JSON.stringify(minion.minionStatus) === JSON.stringify(minionStatus)) { return; } minion.isProperlyCommunicated = true; @@ -387,7 +167,7 @@ class MinionsBl { }); } /** - * Set minoin timeout property. + * Set minion timeout property. */ async setMinionTimeout(minionId, setAutoTurnOffMS) { const minion = this.findMinion(minionId); @@ -401,8 +181,7 @@ class MinionsBl { /** * Save timeout update in Dal for next app running. */ - this.minionsDal.updateMinionAutoTurnOff(minionId, setAutoTurnOffMS) - .catch((error) => { + this.minionsDal.updateMinionAutoTurnOff(minionId, setAutoTurnOffMS).catch((error) => { logger_1.logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); }); /** @@ -414,7 +193,7 @@ class MinionsBl { }); } /** - * Set minoin calibrate property. + * Set minion calibrate property. */ async setMinionCalibrate(minionId, calibrationCycleMinutes) { const minion = this.findMinion(minionId); @@ -428,8 +207,7 @@ class MinionsBl { /** * Save timeout update in Dal for next app running. */ - this.minionsDal.updateMinionCalibrate(minionId, calibrationCycleMinutes) - .catch((error) => { + this.minionsDal.updateMinionCalibrate(minionId, calibrationCycleMinutes).catch((error) => { logger_1.logger.warn(`Fail to update minion ${minionId} auto turn off ${error.message}`); }); /** @@ -441,8 +219,8 @@ class MinionsBl { }); } /** - * Create new minon - * @param minion minon to create. + * Create new minion + * @param minion minion to create. */ async createMinion(minion) { /** @@ -453,7 +231,7 @@ class MinionsBl { throw error; } /** - * get local devices (to load corrent pysical info such as ip) + * get local devices (to load current physical info such as ip) */ const localDevices = await this.devicesBl.getDevices(); let foundLocalDevice = false; @@ -479,7 +257,7 @@ class MinionsBl { */ await this.minionsDal.createMinion(minion); /** - * Send create new minion feed update (*befor* try to get the status!!!) + * Send create new minion feed update (*before* try to get the status!!!) */ this.minionFeed.next({ event: 'created', @@ -491,11 +269,10 @@ class MinionsBl { try { await this.readMinionStatus(minion); } - catch (error) { - } + catch (error) { } } /** - * Delete minoin + * Delete minion * @param minionId minion id to delete */ async deleteMinion(minionId) { @@ -507,7 +284,7 @@ class MinionsBl { }; } await this.minionsDal.deleteMinion(originalMinion); - // The minoins arrat is given from DAL by ref, mean if removed + // The minions array is given from DAL by ref, mean if removed // from dal it will removed from BL too, so check if exist // (if in next someone will copy by val) and then remove. if (this.minions.indexOf(originalMinion) !== -1) { @@ -522,7 +299,7 @@ class MinionsBl { } /** * Notify minion status changed by ifttt - * @param minionId Minon id. + * @param minionId Minion id. * @param iftttOnChanged Minion key amd status to set. */ async notifyMinionChangedByIfttt(minionId, iftttOnChanged) { @@ -559,6 +336,222 @@ class MinionsBl { minion, }); } + /** + * Init minions. + */ + async initData() { + /** Mark scanning as 'inProgress' */ + this.scanningStatus = 'inProgress'; + /** + * Gets all minions + */ + this.minions = await this.minionsDal.getMinions(); + /** + * Scan network on startup + */ + await this.devicesBl.rescanNetwork(); + /** + * Get network local devices + */ + const localDevices = await this.devicesBl.getDevices(); + /** + * Then load minion with new physical network data + */ + await this.loadMinionsLocalDeviceData(localDevices); + /** + * Let`s modules retrieve updated minions array. + */ + modulesManager_1.ModulesManagerSingltone.retrieveMinions.setPullMethod(async () => { + return await this.getMinions(); + }); + /** + * After all, subscribe to devices status updates. + */ + this.modulesManager.minionStatusChangedEvent.subscribe(async (pysicalDeviceUpdate) => { + if (!pysicalDeviceUpdate) { + return; + } + try { + const minion = await this.getMinionById(pysicalDeviceUpdate.minionId); + await this.onMinionUpdated(minion, pysicalDeviceUpdate.status); + } + catch (error) { + logger_1.logger.info(`Avoiding device update, there is no minion with id: ${pysicalDeviceUpdate.minionId}`); + } + }); + /** + * And also register to devices pysical data update (name or ip). + */ + this.devicesBl.devicesUpdate.subscribe((localsDevices) => { + this.loadMinionsLocalDeviceData(localsDevices); + }); + /** + * Finally, after all, get minions status. + */ + await this.readMinionsStatus(); + /** Now mark all tasks finished */ + this.scanningStatus = 'finished'; + } + /** + * Load minion devices data + * @param localDevices local device array. + */ + async loadMinionsLocalDeviceData(localDevices) { + /** + * Each device check each used minion. + */ + for (const localDevice of localDevices) { + for (const minion of this.minions) { + if (minion.device.pysicalDevice.mac === localDevice.mac) { + minion.device.pysicalDevice = localDevice; + } + } + } + } + /** + * Read minoin current status. + * @param minion minion to read status for. + */ + async readMinionStatus(minion) { + try { + const currentStatus = (await this.modulesManager.getStatus(minion)); + await this.onMinionUpdated(minion, currentStatus); + } + catch (error) { + minion.isProperlyCommunicated = false; + logger_1.logger.warn(`Fail to read status of ${minion.name} id: ${minion.minionId} err : ${error.message}`); + throw error; + } + } + /** + * Read each minion current status. + */ + async readMinionsStatus() { + for (const minion of this.minions) { + /** + * Read current minion status. + */ + await this.readMinionStatus(minion).catch(() => { + /** + * Fail, do nothing.... + */ + }); + /** + * Let time between minions reading. + * this is because some of devices using broadcast in network and can't communication 2 together. + */ + await sleep_1.Delay(moment.duration(1, 'seconds')); + } + } + /** + * Find minion in minions array. + * @param minionId minioin id. + */ + findMinion(minionId) { + for (const minion of this.minions) { + if (minion.minionId === minionId) { + return minion; + } + } + } + async onMinionUpdated(minion, updateToStatus) { + /** If there is no change from last minion status */ + if (minion.isProperlyCommunicated && JSON.stringify(minion.minionStatus) === JSON.stringify(updateToStatus)) { + return; + } + minion.isProperlyCommunicated = true; + minion.minionStatus = updateToStatus; + this.minionFeed.next({ + event: 'update', + minion, + }); + } + /** + * Validate new minion properties to make sure that they compatible to requires. + * @param minionToCheck new minion to validate. + */ + validateNewMinion(minionToCheck) { + /** + * Get brand & model + */ + let deviceKind; + for (const kind of this.modulesManager.devicesKind) { + if (kind.brand === minionToCheck.device.brand && kind.model === minionToCheck.device.model) { + deviceKind = kind; + } + } + /** + * Check that model exits in barns. + */ + if (!deviceKind) { + return { + responseCode: 1409, + message: 'there is no supported model for brand + model', + }; + } + /** + * Check if token reqired and not exist. + */ + if (deviceKind.isTokenRequierd && !minionToCheck.device.token) { + return { + responseCode: 2409, + message: 'token is requird', + }; + } + /** + * Check if id reqired and not exist. + */ + if (deviceKind.isIdRequierd && !minionToCheck.device.deviceId) { + return { + responseCode: 3409, + message: 'id is requird', + }; + } + /** + * If the modele is not for unlimited minoins count the used minions. + */ + if (deviceKind.minionsPerDevice !== -1) { + let minionsCount = 0; + for (const minion of this.minions) { + if (minion.device.pysicalDevice.mac === minionToCheck.device.pysicalDevice.mac) { + minionsCount++; + } + } + /** + * If the new minion is above max minions per device. + */ + if (minionsCount >= deviceKind.minionsPerDevice) { + return { + responseCode: 4409, + message: 'device already in max uses with other minion', + }; + } + } + /** + * ignore user selection and set corrent minion type based on model. + */ + minionToCheck.minionType = deviceKind.suppotedMinionType; + } + /** + * Scan the minions current status + * @param scanNetwork Whenever scan also the local networks IP's map or not. + */ + async scanMinioinsNetworkAndStatuses(scanNetwork = false) { + this.scanningStatus = 'inProgress'; + try { + if (scanNetwork) { + await this.devicesBl.rescanNetwork(); + } + await this.modulesManager.refreshModules(); + await this.readMinionsStatus(); + } + catch (error) { + logger_1.logger.warn(`Scannig minions ${scanNetwork ? 'with network' : ''} faild ${JSON.stringify(error)}`); + this.scanningStatus = 'fail'; + return; + } + this.scanningStatus = 'finished'; + } } exports.MinionsBl = MinionsBl; exports.MinionsBlSingleton = new MinionsBl(minionsDal_1.MinionsDalSingleton, devicesBl_1.DevicesBlSingleton, modulesManager_1.ModulesManagerSingltone); diff --git a/backend/dist/business-layer/minionsBl.js.map b/backend/dist/business-layer/minionsBl.js.map index bbe40c0f..3864b465 100644 --- a/backend/dist/business-layer/minionsBl.js.map +++ b/backend/dist/business-layer/minionsBl.js.map @@ -1 +1 @@ -{"version":3,"file":"minionsBl.js","sourceRoot":"","sources":["../../src/business-layer/minionsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"minionsBl.js","sourceRoot":"","sources":["../../src/business-layer/minionsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/operationsBl.js b/backend/dist/business-layer/operationsBl.js index ae0563f9..0a7e67fd 100644 --- a/backend/dist/business-layer/operationsBl.js +++ b/backend/dist/business-layer/operationsBl.js @@ -16,6 +16,63 @@ class OperationsBl { this.operationsDal = operationsDal; this.minionsBl = minionsBl; } + /** + * API + */ + /** + * Get all operations array. + */ + async getOperations() { + return await this.operationsDal.getOperations(); + } + /** + * Get operation by id. + * @param operationId operation id. + */ + async getOperationById(operationId) { + return await this.operationsDal.getOperationById(operationId); + } + /** + * Set operation properties. + * @param operationId operation id. + * @param operation operation props to set. + */ + async SetOperation(operationId, operation) { + await this.validateNewOperationActivities(operation.activities); + operation.operationId = operationId; + return await this.operationsDal.updateOperation(operation); + } + /** + * Create operation. + * @param operation operation to create. + */ + async CreateOperation(operation) { + await this.validateNewOperationActivities(operation.activities); + /** + * Generate new id. (never trust client....) + */ + operation.operationId = randomstring.generate(6); + return await this.operationsDal.createOperation(operation); + } + /** + * Delete operation. + * @param operationId operation id to delete. + */ + async DeleteOperation(operationId) { + return await this.operationsDal.deleteOperation(operationId); + } + /** + * Trigger operation activities + * @param operationId operation to trigger. + * @returns Set status erros if will be any. + */ + async triggerOperation(operationId) { + const operation = await this.operationsDal.getOperationById(operationId); + logger_1.logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} ...`); + const errors = await this.invokeOperationActivities(operation.activities); + logger_1.logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} done`); + return errors; + } /** * Validate activities. (minion and status to set). * @param operationActiviries activities array to validate. @@ -40,8 +97,8 @@ class OperationsBl { const errors = []; for (const activity of operationActiviries) { /** - * wait 1 sec between one minion to other, becuase of broadcasting mismatch in some brands communication protocol. - */ + * wait 1 sec between one minion to other, becuase of broadcasting mismatch in some brands communication protocol. + */ await sleep_1.Delay(moment.duration(1, 'seconds')); logger_1.logger.info(`Setting minion ${activity.minionId} a new status by operation activity...`); try { @@ -77,63 +134,6 @@ class OperationsBl { } return errors; } - /** - * API - */ - /** - * Get all operations array. - */ - async getOperations() { - return await this.operationsDal.getOperations(); - } - /** - * Get operation by id. - * @param operationId operation id. - */ - async getOperationById(operationId) { - return await this.operationsDal.getOperationById(operationId); - } - /** - * Set operation properties. - * @param operationId operation id. - * @param operation operation props to set. - */ - async SetOperation(operationId, operation) { - await this.validateNewOperationActivities(operation.activities); - operation.operationId = operationId; - return await this.operationsDal.updateOperation(operation); - } - /** - * Create operation. - * @param operation operation to create. - */ - async CreateOperation(operation) { - await this.validateNewOperationActivities(operation.activities); - /** - * Generate new id. (never trust client....) - */ - operation.operationId = randomstring.generate(6); - return await this.operationsDal.createOperation(operation); - } - /** - * Delete operation. - * @param operationId operation id to delete. - */ - async DeleteOperation(operationId) { - return await this.operationsDal.deleteOperation(operationId); - } - /** - * Trigger operation activities - * @param operationId operation to trigger. - * @returns Set status erros if will be any. - */ - async triggerOperation(operationId) { - const operation = await this.operationsDal.getOperationById(operationId); - logger_1.logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} ...`); - const errors = await this.invokeOperationActivities(operation.activities); - logger_1.logger.info(`Invokeing operation ${operation.operationName}, id: ${operationId} done`); - return errors; - } } exports.OperationsBl = OperationsBl; exports.OperationsBlSingleton = new OperationsBl(operationsDal_1.OperationsDalSingleton, minionsBl_1.MinionsBlSingleton); diff --git a/backend/dist/business-layer/operationsBl.js.map b/backend/dist/business-layer/operationsBl.js.map index 3f12c005..455ec0f4 100644 --- a/backend/dist/business-layer/operationsBl.js.map +++ b/backend/dist/business-layer/operationsBl.js.map @@ -1 +1 @@ -{"version":3,"file":"operationsBl.js","sourceRoot":"","sources":["../../src/business-layer/operationsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"operationsBl.js","sourceRoot":"","sources":["../../src/business-layer/operationsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/remoteConnectionBl.js b/backend/dist/business-layer/remoteConnectionBl.js index 7e771b1e..76bdca08 100644 --- a/backend/dist/business-layer/remoteConnectionBl.js +++ b/backend/dist/business-layer/remoteConnectionBl.js @@ -66,8 +66,7 @@ class RemoteConnectionBl { * dont send ack message. * (If remote server not set yet, ther is no point to try sending ack). */ - if (this.remoteConnectionStatus !== 'connectionOK' && - this.remoteConnectionStatus !== 'cantReachRemoteServer') { + if (this.remoteConnectionStatus !== 'connectionOK' && this.remoteConnectionStatus !== 'cantReachRemoteServer') { return; } if (!this.ackPongRecieved) { @@ -240,8 +239,7 @@ class RemoteConnectionBl { * @param localMessage message to send */ sendMessage(localMessage) { - if (this.remoteConnectionStatus !== 'connectionOK' && - this.remoteConnectionStatus !== 'cantReachRemoteServer') { + if (this.remoteConnectionStatus !== 'connectionOK' && this.remoteConnectionStatus !== 'cantReachRemoteServer') { return; } try { diff --git a/backend/dist/business-layer/remoteConnectionBl.js.map b/backend/dist/business-layer/remoteConnectionBl.js.map index 4c6b075b..f0d92a88 100644 --- a/backend/dist/business-layer/remoteConnectionBl.js.map +++ b/backend/dist/business-layer/remoteConnectionBl.js.map @@ -1 +1 @@ -{"version":3,"file":"remoteConnectionBl.js","sourceRoot":"","sources":["../../src/business-layer/remoteConnectionBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"remoteConnectionBl.js","sourceRoot":"","sources":["../../src/business-layer/remoteConnectionBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/rfBl.js.map b/backend/dist/business-layer/rfBl.js.map index 8494eccc..64d57183 100644 --- a/backend/dist/business-layer/rfBl.js.map +++ b/backend/dist/business-layer/rfBl.js.map @@ -1 +1 @@ -{"version":3,"file":"rfBl.js","sourceRoot":"","sources":["../../src/business-layer/rfBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rfBl.js","sourceRoot":"","sources":["../../src/business-layer/rfBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/sessionsBl.js b/backend/dist/business-layer/sessionsBl.js index bd9e5da0..26c1f056 100644 --- a/backend/dist/business-layer/sessionsBl.js +++ b/backend/dist/business-layer/sessionsBl.js @@ -31,7 +31,7 @@ class SessionsBl { const sessions = await this.sessionDal.getSessions(); const userSessions = []; for (const session of sessions) { - if (session.email === user.email && (new Date().getTime() - session.timeStamp) < authBl_1.sessionExpiresMs) { + if (session.email === user.email && new Date().getTime() - session.timeStamp < authBl_1.sessionExpiresMs) { userSessions.push(session); } } diff --git a/backend/dist/business-layer/sessionsBl.js.map b/backend/dist/business-layer/sessionsBl.js.map index ef99a713..f51376b2 100644 --- a/backend/dist/business-layer/sessionsBl.js.map +++ b/backend/dist/business-layer/sessionsBl.js.map @@ -1 +1 @@ -{"version":3,"file":"sessionsBl.js","sourceRoot":"","sources":["../../src/business-layer/sessionsBl.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,6CAA6C;AAC7C,sCAA0C;AAC1C,2DAA8E;AAG9E,qCAA4C;AAE5C,MAAa,UAAU;IAInB;;;OAGG;IACH,YAAY,UAAuB;QAE/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,UAAkB;QACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,sBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnG,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB;IAC9E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,IAAU;QAEnC,MAAM,QAAQ,GAAc,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAEhE,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,yBAAgB,EAAE;gBAC/F,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;SACJ;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,eAAqB;QAE9C,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAY;YACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,GAAG,sBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;YAC3F,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC/B,KAAK,EAAE,eAAe,CAAC,KAAK;SAC/B,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,OAAgB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,IAAU;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACrC;IACL,CAAC;CAEJ;AAhFD,gCAgFC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,kCAAoB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"sessionsBl.js","sourceRoot":"","sources":["../../src/business-layer/sessionsBl.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,6CAA6C;AAC7C,sCAA0C;AAC1C,2DAA8E;AAG9E,qCAA4C;AAE5C,MAAa,UAAU;IAGrB;;;OAGG;IACH,YAAY,UAAuB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,UAAkB;QACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,sBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnG,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB;IAC5E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,IAAU;QACrC,MAAM,QAAQ,GAAc,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAEhE,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,yBAAgB,EAAE;gBAC/F,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,eAAqB;QAChD,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAY;YAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,GAAG,sBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;YAC3F,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC/B,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,OAAgB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,IAAU;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACnC;IACH,CAAC;CACF;AA3ED,gCA2EC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,kCAAoB,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/timelineBl.js b/backend/dist/business-layer/timelineBl.js index aa5fa9b2..395968f3 100644 --- a/backend/dist/business-layer/timelineBl.js +++ b/backend/dist/business-layer/timelineBl.js @@ -14,7 +14,7 @@ class TimelineBl { constructor(minionsBl, timelineDal) { this.minionsBl = minionsBl; this.timelineDal = timelineDal; - this.minionsBl.minionFeed.subscribe((minionFeed) => { + this.minionsBl.minionFeed.subscribe(minionFeed => { if (!minionFeed) { return; } diff --git a/backend/dist/business-layer/timelineBl.js.map b/backend/dist/business-layer/timelineBl.js.map index 484fa3eb..0fe426de 100644 --- a/backend/dist/business-layer/timelineBl.js.map +++ b/backend/dist/business-layer/timelineBl.js.map @@ -1 +1 @@ -{"version":3,"file":"timelineBl.js","sourceRoot":"","sources":["../../src/business-layer/timelineBl.ts"],"names":[],"mappings":";;AAAA,2DAA8E;AAK9E,2CAA4D;AAE5D;;GAEG;AACH,MAAa,UAAU;IAEnB;;;;OAIG;IACH,YAAoB,SAAoB,EAAU,WAAwB;QAAtD,cAAS,GAAT,SAAS,CAAW;QAAU,gBAAW,GAAX,WAAW,CAAa;QAEtE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO;aACV;YAED,QAAQ,UAAU,CAAC,KAAK,EAAE;gBACtB,KAAK,QAAQ;oBACT,IAAI;wBAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;qBAAE;oBAAC,WAAM,GAAG;oBACzD,MAAM;aACb;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B;IACxB,KAAK,CAAC,WAAW;QACpB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,+BAA+B;IACvB,cAAc,CAAC,MAAc;QACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACzC,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM,CAAC,YAAY;SAC9B,CAAC,CAAC;IACP,CAAC;CAEJ;AAxCD,gCAwCC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,8BAAkB,EAAE,kCAAoB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"timelineBl.js","sourceRoot":"","sources":["../../src/business-layer/timelineBl.ts"],"names":[],"mappings":";;AAAA,2DAA8E;AAE9E,2CAA4D;AAE5D;;GAEG;AACH,MAAa,UAAU;IACrB;;;;OAIG;IACH,YAAoB,SAAoB,EAAU,WAAwB;QAAtD,cAAS,GAAT,SAAS,CAAW;QAAU,gBAAW,GAAX,WAAW,CAAa;QACxE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,QAAQ,UAAU,CAAC,KAAK,EAAE;gBACxB,KAAK,QAAQ;oBACX,IAAI;wBACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;qBACxC;oBAAC,WAAM,GAAE;oBACV,MAAM;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IACxB,KAAK,CAAC,WAAW;QACtB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,+BAA+B;IACvB,cAAc,CAAC,MAAc;QACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC3C,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,gCAuCC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,8BAAkB,EAAE,kCAAoB,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/timeoutBl.js b/backend/dist/business-layer/timeoutBl.js index 3f77b027..2faae69c 100644 --- a/backend/dist/business-layer/timeoutBl.js +++ b/backend/dist/business-layer/timeoutBl.js @@ -43,7 +43,7 @@ class TimeoutBl { for (const timeoutMinion of this.minionsTimeoutInfo) { if (timeoutMinion.isTimeoutDisabled || timeoutMinion.status !== 'on' || - (now.getTime() - timeoutMinion.turnOnTimeStump.getTime()) < timeoutMinion.timeout.asMilliseconds()) { + now.getTime() - timeoutMinion.turnOnTimeStump.getTime() < timeoutMinion.timeout.asMilliseconds()) { continue; } try { @@ -94,7 +94,7 @@ class TimeoutBl { AddMinion(minion) { this.minionsTimeoutInfo.push({ minionId: minion.minionId, - isTimeoutDisabled: (!minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1), + isTimeoutDisabled: !minion.minionAutoTurnOffMS || minion.minionAutoTurnOffMS < 1, timeout: moment.duration(minion.minionAutoTurnOffMS, 'milliseconds'), status: this.extractMinionOnOffStatus(minion), turnOnTimeStump: new Date(), @@ -145,7 +145,7 @@ class TimeoutBl { /** * Then registar to changes feed. */ - this.minionsBl.minionFeed.subscribe((minionFeed) => { + this.minionsBl.minionFeed.subscribe(minionFeed => { if (!minionFeed) { return; } diff --git a/backend/dist/business-layer/timeoutBl.js.map b/backend/dist/business-layer/timeoutBl.js.map index 72cd5e9c..b9b76a3d 100644 --- a/backend/dist/business-layer/timeoutBl.js.map +++ b/backend/dist/business-layer/timeoutBl.js.map @@ -1 +1 @@ -{"version":3,"file":"timeoutBl.js","sourceRoot":"","sources":["../../src/business-layer/timeoutBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"timeoutBl.js","sourceRoot":"","sources":["../../src/business-layer/timeoutBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/timingsBl.js b/backend/dist/business-layer/timingsBl.js index c145d56d..76b16ce0 100644 --- a/backend/dist/business-layer/timingsBl.js +++ b/backend/dist/business-layer/timingsBl.js @@ -16,21 +16,66 @@ class TimingsBl { * @param localNetworkReader Inject the reader function. */ constructor(timingsDal, operationBl) { + /** + * Timing trigger feed. + */ + this.timingFeed = new rxjs_1.BehaviorSubject(undefined); /** * The real avtivation is in minute. * So only if minute changed trigger the timing logic. */ this.lastActivationMoment = moment(1); - /** - * Timing trigger feed. - */ - this.timingFeed = new rxjs_1.BehaviorSubject(undefined); this.timingsDal = timingsDal; this.operationBl = operationBl; setInterval(async () => { await this.timingActivation(); }, TIMING_INTERVAL_ACTIVATION.asMilliseconds()); } + /** + * API + */ + /** + * Get all timings array. + */ + async getTimings() { + return await this.timingsDal.getTimings(); + } + /** + * Get timing by id. + * @param timingId timing id. + */ + async getTimingById(timingId) { + return await this.timingsDal.getTimingById(timingId); + } + /** + * Set timing properties. + * @param timingId timing id. + * @param timing timing props to set. + */ + async SetTiming(timingId, timing) { + await this.validateNewTimingOperation(timing); + timing.timingId = timingId; + return await this.timingsDal.updateTiming(timing); + } + /** + * Create timing. + * @param timing timing to create. + */ + async CreateTiming(timing) { + await this.validateNewTimingOperation(timing); + /** + * Generate new id. (never trust client....) + */ + timing.timingId = randomstring.generate(6); + return await this.timingsDal.createTiming(timing); + } + /** + * Delete timing. + * @param timingId timing id to delete. + */ + async DeleteTiming(timingId) { + return await this.timingsDal.deleteTiming(timingId); + } /** * Active timing. * @param timing timing to active. @@ -202,51 +247,6 @@ class TimingsBl { } return; } - /** - * API - */ - /** - * Get all timings array. - */ - async getTimings() { - return await this.timingsDal.getTimings(); - } - /** - * Get timing by id. - * @param timingId timing id. - */ - async getTimingById(timingId) { - return await this.timingsDal.getTimingById(timingId); - } - /** - * Set timing properties. - * @param timingId timing id. - * @param timing timing props to set. - */ - async SetTiming(timingId, timing) { - await this.validateNewTimingOperation(timing); - timing.timingId = timingId; - return await this.timingsDal.updateTiming(timing); - } - /** - * Create timing. - * @param timing timing to create. - */ - async CreateTiming(timing) { - await this.validateNewTimingOperation(timing); - /** - * Generate new id. (never trust client....) - */ - timing.timingId = randomstring.generate(6); - return await this.timingsDal.createTiming(timing); - } - /** - * Delete timing. - * @param timingId timing id to delete. - */ - async DeleteTiming(timingId) { - return await this.timingsDal.deleteTiming(timingId); - } } exports.TimingsBl = TimingsBl; exports.TimingsBlSingleton = new TimingsBl(timingsDal_1.TimingsDalSingleton, operationsBl_1.OperationsBlSingleton); diff --git a/backend/dist/business-layer/timingsBl.js.map b/backend/dist/business-layer/timingsBl.js.map index 454ca0fa..9569bbe5 100644 --- a/backend/dist/business-layer/timingsBl.js.map +++ b/backend/dist/business-layer/timingsBl.js.map @@ -1 +1 @@ -{"version":3,"file":"timingsBl.js","sourceRoot":"","sources":["../../src/business-layer/timingsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"timingsBl.js","sourceRoot":"","sources":["../../src/business-layer/timingsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/business-layer/usersBl.js b/backend/dist/business-layer/usersBl.js index 7a0d618e..46d77f0d 100644 --- a/backend/dist/business-layer/usersBl.js +++ b/backend/dist/business-layer/usersBl.js @@ -12,35 +12,6 @@ class UsersBl { constructor(usersDal) { this.usersDal = usersDal; } - /** - * Validatete and senitize user from client. - * @param user user to validate. - * @param isNewUser is user sent to create new one (it's little difference schemas update/create user) - * @returns A sanitizeUser object. - */ - async validateUser(user, isNewUser) { - /** - * Valid data by validator. - */ - const sanitizeUser = await schemaValidator_1.SchemaValidator(user, isNewUser ? schemaValidator_1.UserSchema : schemaValidator_1.UserUpdateSchema) - .catch((validationError) => { - throw { - responseCode: 2422, - message: validationError.error.message, - }; - }); - /** - * If there is password to hash, hash it, else load the original password hash. - */ - if (sanitizeUser.password) { - sanitizeUser.password = await bcrypt.hash(sanitizeUser.password, config_1.Configuration.keysHandling.bcryptSaltRounds); - } - else { - const originalUser = await this.usersDal.getUser(sanitizeUser.email); - sanitizeUser.password = originalUser.password; - } - return sanitizeUser; - } /** * Get all users. */ @@ -60,7 +31,7 @@ class UsersBl { * @param user User to create. */ async createUser(user) { - const sanitizeUser = await this.validateUser(user, true); + const sanitizeUser = (await this.validateUser(user, true)); /** * make sure there is no other user with same email in system. */ @@ -81,7 +52,7 @@ class UsersBl { * @param userToUpdate User object to update. */ async updateUser(userToUpdate) { - const sanitizeUser = await this.validateUser(userToUpdate, false); + const sanitizeUser = (await this.validateUser(userToUpdate, false)); await this.usersDal.updateUser(sanitizeUser); } /** @@ -91,6 +62,34 @@ class UsersBl { async deleteUser(userEmail) { return await this.usersDal.deleteUser(userEmail); } + /** + * Validatete and senitize user from client. + * @param user user to validate. + * @param isNewUser is user sent to create new one (it's little difference schemas update/create user) + * @returns A sanitizeUser object. + */ + async validateUser(user, isNewUser) { + /** + * Valid data by validator. + */ + const sanitizeUser = await schemaValidator_1.SchemaValidator(user, isNewUser ? schemaValidator_1.UserSchema : schemaValidator_1.UserUpdateSchema).catch((validationError) => { + throw { + responseCode: 2422, + message: validationError.error.message, + }; + }); + /** + * If there is password to hash, hash it, else load the original password hash. + */ + if (sanitizeUser.password) { + sanitizeUser.password = await bcrypt.hash(sanitizeUser.password, config_1.Configuration.keysHandling.bcryptSaltRounds); + } + else { + const originalUser = await this.usersDal.getUser(sanitizeUser.email); + sanitizeUser.password = originalUser.password; + } + return sanitizeUser; + } } exports.UsersBl = UsersBl; exports.UsersBlSingleton = new UsersBl(usersDal_1.UsersDalSingleton); diff --git a/backend/dist/business-layer/usersBl.js.map b/backend/dist/business-layer/usersBl.js.map index 309db774..ab70173a 100644 --- a/backend/dist/business-layer/usersBl.js.map +++ b/backend/dist/business-layer/usersBl.js.map @@ -1 +1 @@ -{"version":3,"file":"usersBl.js","sourceRoot":"","sources":["../../src/business-layer/usersBl.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AAGnC,sCAA0C;AAC1C,qDAAqE;AAErE,iEAA4F;AAE5F,MAAa,OAAO;IAIhB;;;OAGG;IACH,YAAY,QAAkB;QAE1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CAAC,IAAU,EAAE,SAAkB;QACrD;;WAEG;QACH,MAAM,YAAY,GAAS,MAAM,iCAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,4BAAU,CAAC,CAAC,CAAC,kCAAgB,CAAC;aAC5F,KAAK,CAAC,CAAC,eAAsC,EAAE,EAAE;YAC9C,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO;aACxB,CAAC;QACvB,CAAC,CAAC,CAAC;QAEP;;WAEG;QACH,IAAI,YAAY,CAAC,QAAQ,EAAE;YACvB,YAAY,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;SACjH;aAAM;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;SACjD;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACjB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,KAAa;QAC9B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,IAAU;QAC9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAS,CAAC;QAEjE;;WAEG;QACH,IAAI;YACA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO;SACV;QAED,MAAM;YACF,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,oBAAoB;SACf,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,YAAkB;QAEtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAS,CAAC;QAE1E,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACrC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACJ;AApGD,0BAoGC;AAEY,QAAA,gBAAgB,GAAG,IAAI,OAAO,CAAC,4BAAiB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"usersBl.js","sourceRoot":"","sources":["../../src/business-layer/usersBl.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AAGnC,sCAA0C;AAC1C,qDAAqE;AAErE,iEAA4F;AAE5F,MAAa,OAAO;IAGlB;;;OAGG;IACH,YAAY,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,KAAa;QAChC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,IAAU;QAChC,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAS,CAAC;QAEnE;;WAEG;QACH,IAAI;YACF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO;SACR;QAED,MAAM;YACJ,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,oBAAoB;SACb,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,YAAkB;QACxC,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAS,CAAC;QAE5E,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CAAC,IAAU,EAAE,SAAkB;QACvD;;WAEG;QACH,MAAM,YAAY,GAAS,MAAM,iCAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,4BAAU,CAAC,CAAC,CAAC,kCAAgB,CAAC,CAAC,KAAK,CACrG,CAAC,eAAsC,EAAE,EAAE;YACzC,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO;aACtB,CAAC;QACrB,CAAC,CACF,CAAC;QAEF;;WAEG;QACH,IAAI,YAAY,CAAC,QAAQ,EAAE;YACzB,YAAY,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;SAC/G;aAAM;YACL,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;SAC/C;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAlGD,0BAkGC;AAEY,QAAA,gBAAgB,GAAG,IAAI,OAAO,CAAC,4BAAiB,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/business-layer/versionsBl.js b/backend/dist/business-layer/versionsBl.js index ad21933f..54ce44c6 100644 --- a/backend/dist/business-layer/versionsBl.js +++ b/backend/dist/business-layer/versionsBl.js @@ -9,21 +9,6 @@ class VersionsBl { this.git = simplegit(); this.updateStatus = 'finished'; } - /** - * Install/update NPM dependencies in the background. it's can take a while. - */ - async updateVersionDependencies() { - try { - logger_1.logger.info(`starting NPM install, it's can take a while`); - const installationResults = await child_process_promise_1.exec('npm ci'); - logger_1.logger.info(`installing last dependencies results: ${installationResults.stdout}`); - this.updateStatus = 'finished'; - } - catch (error) { - this.updateStatus = 'fail'; - logger_1.logger.warn(`Installing last dependencies fail ${error.stdout}`); - } - } /** * Update CASA-net application to the latest version. * Step 1: pull changes from remote repo. @@ -101,6 +86,21 @@ class VersionsBl { }; } } + /** + * Install/update NPM dependencies in the background. it's can take a while. + */ + async updateVersionDependencies() { + try { + logger_1.logger.info(`starting NPM install, it's can take a while`); + const installationResults = await child_process_promise_1.exec('npm ci'); + logger_1.logger.info(`installing last dependencies results: ${installationResults.stdout}`); + this.updateStatus = 'finished'; + } + catch (error) { + this.updateStatus = 'fail'; + logger_1.logger.warn(`Installing last dependencies fail ${error.stdout}`); + } + } } exports.VersionsBl = VersionsBl; exports.VersionsBlSingleton = new VersionsBl(); diff --git a/backend/dist/business-layer/versionsBl.js.map b/backend/dist/business-layer/versionsBl.js.map index b93a8e1f..91cae158 100644 --- a/backend/dist/business-layer/versionsBl.js.map +++ b/backend/dist/business-layer/versionsBl.js.map @@ -1 +1 @@ -{"version":3,"file":"versionsBl.js","sourceRoot":"","sources":["../../src/business-layer/versionsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"versionsBl.js","sourceRoot":"","sources":["../../src/business-layer/versionsBl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/config.js.map b/backend/dist/config.js.map index b3405851..53aabf09 100644 --- a/backend/dist/config.js.map +++ b/backend/dist/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/authController.js.map b/backend/dist/controllers/authController.js.map index cdd09ef8..3b91b672 100644 --- a/backend/dist/controllers/authController.js.map +++ b/backend/dist/controllers/authController.js.map @@ -1 +1 @@ -{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../src/controllers/authController.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../src/controllers/authController.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/devicesController.js.map b/backend/dist/controllers/devicesController.js.map index 3142206f..ddcb2534 100644 --- a/backend/dist/controllers/devicesController.js.map +++ b/backend/dist/controllers/devicesController.js.map @@ -1 +1 @@ -{"version":3,"file":"devicesController.js","sourceRoot":"","sources":["../../src/controllers/devicesController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAuI;AACvI,2DAAiE;AAKjE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,iBAAU;IAE7C;;;OAGG;IAKI,KAAK,CAAC,UAAU;QACnB,OAAO,MAAM,8BAAkB,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe;QACxB,OAAO,MAAM,8BAAkB,CAAC,cAAc,EAAE,CAAC;IACrD,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAU,MAA0B;QAC5E,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,8BAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,aAAa;QACtB,MAAM,8BAAkB,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;CACJ,CAAA;AA1CG;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;mDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,OAAO,CAAC;wDAGZ;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,aAAa,CAAC;IAC4B,WAAA,WAAI,EAAE,CAAA;sDAGpD;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,QAAQ,CAAC;sDAGd;AAnDQ,iBAAiB;IAF7B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,iBAAiB,CAoD7B;AApDY,8CAAiB"} \ No newline at end of file +{"version":3,"file":"devicesController.js","sourceRoot":"","sources":["../../src/controllers/devicesController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAec;AACd,2DAAiE;AAKjE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,iBAAU;IAC/C;;;OAGG;IAKI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,8BAAkB,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,8BAAkB,CAAC,cAAc,EAAE,CAAC;IACnD,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAU,MAA0B;QAC9E,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,8BAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,aAAa;QACxB,MAAM,8BAAkB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AA1CC;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;mDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,OAAO,CAAC;wDAGZ;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,aAAa,CAAC;IAC4B,WAAA,WAAI,EAAE,CAAA;sDAGpD;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,QAAQ,CAAC;sDAGd;AAlDU,iBAAiB;IAF7B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,iBAAiB,CAmD7B;AAnDY,8CAAiB"} \ No newline at end of file diff --git a/backend/dist/controllers/feedController.js b/backend/dist/controllers/feedController.js index 1cae336c..ece29253 100644 --- a/backend/dist/controllers/feedController.js +++ b/backend/dist/controllers/feedController.js @@ -20,7 +20,7 @@ let FeedController = class FeedController extends tsoa_1.Controller { */ initMinionsFeed(miniosSse) { this.miniosSse = miniosSse; - minionsBl_1.MinionsBlSingleton.minionFeed.subscribe((minionFeed) => { + minionsBl_1.MinionsBlSingleton.minionFeed.subscribe(minionFeed => { if (!minionFeed) { return; } @@ -33,7 +33,7 @@ let FeedController = class FeedController extends tsoa_1.Controller { */ initTimingsFeed(timingsSse) { this.timingsSse = timingsSse; - timingsBl_1.TimingsBlSingleton.timingFeed.subscribe((timingFeed) => { + timingsBl_1.TimingsBlSingleton.timingFeed.subscribe(timingFeed => { if (!timingFeed) { return; } diff --git a/backend/dist/controllers/feedController.js.map b/backend/dist/controllers/feedController.js.map index 8036cb1d..ad090c1a 100644 --- a/backend/dist/controllers/feedController.js.map +++ b/backend/dist/controllers/feedController.js.map @@ -1 +1 @@ -{"version":3,"file":"feedController.js","sourceRoot":"","sources":["../../src/controllers/feedController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAAyI;AACzI,2DAAiE;AACjE,2DAAiE;AAGjE;;;GAGG;AAGH,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAAU;IAY1C;;;OAGG;IACI,eAAe,CAAC,SAAc;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,8BAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YACnD,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO;aACV;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAe;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,8BAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YACnD,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO;aACV;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kDAAkD;IAClD,kDAAkD;IAClD,kDAAkD;IAElD;;;OAGG;IAKI,KAAK,CAAC,cAAc;QACvB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;CACJ,CAAA;AAfG;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;oDAGd;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;mDAGd;AAtEQ,cAAc;IAF1B,WAAI,CAAC,OAAO,CAAC;IACb,YAAK,CAAC,MAAM,CAAC;GACD,cAAc,CAuE1B;AAvEY,wCAAc"} \ No newline at end of file +{"version":3,"file":"feedController.js","sourceRoot":"","sources":["../../src/controllers/feedController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAec;AACd,2DAAiE;AACjE,2DAAiE;AAGjE;;;GAGG;AAGH,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAAU;IAW5C;;;OAGG;IACI,eAAe,CAAC,SAAc;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,8BAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YACnD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAe;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,8BAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YACnD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,kDAAkD;IAClD,kDAAkD;IAElD;;;OAGG;IAKI,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;CACF,CAAA;AAfC;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;oDAGd;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;mDAGd;AArEU,cAAc;IAF1B,WAAI,CAAC,OAAO,CAAC;IACb,YAAK,CAAC,MAAM,CAAC;GACD,cAAc,CAsE1B;AAtEY,wCAAc"} \ No newline at end of file diff --git a/backend/dist/controllers/iftttController.js.map b/backend/dist/controllers/iftttController.js.map index 327326d5..2bac3dc6 100644 --- a/backend/dist/controllers/iftttController.js.map +++ b/backend/dist/controllers/iftttController.js.map @@ -1 +1 @@ -{"version":3,"file":"iftttController.js","sourceRoot":"","sources":["../../src/controllers/iftttController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAuI;AACvI,6EAAmF;AAKnF,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,iBAAU;IAE3C;;OAEG;IAKI,KAAK,CAAC,cAAc;QACvB,MAAM,aAAa,GAAG,MAAM,gDAA2B,CAAC,4BAA4B,EAAE,CAAC;QACvF,OAAO,aAAa,CAAC,iBAAiB,CAAC;IAC3C,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,2BAA2B,CAAS,wBAAkD;QAC/F,MAAM,gDAA2B,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IAII,KAAK,CAAC,mBAAmB,CAAS,sBAA8C;QACnF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC;QAC/D,MAAM,gDAA2B,CAAC,qBAAqB,CAAC,QAAQ,EAAE;YAC9D,MAAM;YACN,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IAII,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAU,oBAA0C;QACnG,MAAM,gDAA2B,CAAC,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IAII,KAAK,CAAC,wBAAwB,CAAC,WAAmB,EAAU,2BAAwD;QAEvH,MAAM,gDAA2B,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;CACJ,CAAA;AA1DG;IAJC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,UAAG,CAAC,WAAW,CAAC;qDAIhB;AAQD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,UAAG,CAAC,WAAW,CAAC;IACyB,WAAA,WAAI,EAAE,CAAA;kEAE/C;AAaD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,uBAAuB,CAAC;IACI,WAAA,WAAI,EAAE,CAAA;0DAMvC;AAUD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,8BAA8B,CAAC;IACiB,WAAA,WAAI,EAAE,CAAA;4DAE3D;AAUD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,oCAAoC,CAAC;IACiB,WAAA,WAAI,EAAE,CAAA;+DAGjE;AAlEQ,eAAe;IAF3B,WAAI,CAAC,OAAO,CAAC;IACb,YAAK,CAAC,OAAO,CAAC;GACF,eAAe,CAmE3B;AAnEY,0CAAe"} \ No newline at end of file +{"version":3,"file":"iftttController.js","sourceRoot":"","sources":["../../src/controllers/iftttController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAec;AACd,6EAAmF;AAWnF,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,iBAAU;IAC7C;;OAEG;IAKI,KAAK,CAAC,cAAc;QACzB,MAAM,aAAa,GAAG,MAAM,gDAA2B,CAAC,4BAA4B,EAAE,CAAC;QACvF,OAAO,aAAa,CAAC,iBAAiB,CAAC;IACzC,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,2BAA2B,CAAS,wBAAkD;QACjG,MAAM,gDAA2B,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;OAOG;IAII,KAAK,CAAC,mBAAmB,CAAS,sBAA8C;QACrF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC;QAC/D,MAAM,gDAA2B,CAAC,qBAAqB,CAAC,QAAQ,EAAE;YAChE,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAII,KAAK,CAAC,qBAAqB,CAChC,QAAgB,EACR,oBAA0C;QAElD,MAAM,gDAA2B,CAAC,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IAII,KAAK,CAAC,wBAAwB,CACnC,WAAmB,EACX,2BAAwD;QAEhE,MAAM,gDAA2B,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;CACF,CAAA;AA/DC;IAJC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,UAAG,CAAC,WAAW,CAAC;qDAIhB;AAQD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,UAAG,CAAC,WAAW,CAAC;IACyB,WAAA,WAAI,EAAE,CAAA;kEAE/C;AAaD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,uBAAuB,CAAC;IACI,WAAA,WAAI,EAAE,CAAA;0DAMvC;AAUD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,8BAA8B,CAAC;IAGlC,WAAA,WAAI,EAAE,CAAA;4DAGR;AAUD;IAHC,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,eAAQ,CAAC,WAAW,CAAC;IACrB,WAAI,CAAC,oCAAoC,CAAC;IAGxC,WAAA,WAAI,EAAE,CAAA;+DAGR;AAtEU,eAAe;IAF3B,WAAI,CAAC,OAAO,CAAC;IACb,YAAK,CAAC,OAAO,CAAC;GACF,eAAe,CAuE3B;AAvEY,0CAAe"} \ No newline at end of file diff --git a/backend/dist/controllers/minionsController.js b/backend/dist/controllers/minionsController.js index 41255628..7c5648ba 100644 --- a/backend/dist/controllers/minionsController.js +++ b/backend/dist/controllers/minionsController.js @@ -14,27 +14,6 @@ const minionsBl_1 = require("../business-layer/minionsBl"); const timelineBl_1 = require("../business-layer/timelineBl"); const deepCopy_1 = require("../utilities/deepCopy"); let MinionsController = class MinionsController extends tsoa_1.Controller { - /** - * NEVER let anyone get device API keys. - * @param minion minion to remove keys from. - */ - cleanUpMinionBeforRelease(minion) { - const minionCopy = deepCopy_1.DeepCopy(minion); - delete minionCopy.device.deviceId; - delete minionCopy.device.token; - return minionCopy; - } - /** - * NEVER let anyone get device API keys. - * @param minions minions to remove keys from. - */ - cleanUpMinionsBeforRelease(minions) { - const minionsCopy = []; - for (const minion of minions) { - minionsCopy.push(this.cleanUpMinionBeforRelease(minion)); - } - return minionsCopy; - } /** * Get the timeline of minions status. */ @@ -85,7 +64,7 @@ let MinionsController = class MinionsController extends tsoa_1.Controller { */ async getSescaningMinionsStatus() { return { - scaningStatus: await minionsBl_1.MinionsBlSingleton.getScaningStatus() + scaningStatus: await minionsBl_1.MinionsBlSingleton.getScaningStatus(), }; } /** @@ -111,9 +90,9 @@ let MinionsController = class MinionsController extends tsoa_1.Controller { return await minionsBl_1.MinionsBlSingleton.notifyMinionChangedByIfttt(minionId, iftttOnChanged); } /** - * Get all minions in the system. - * @returns Minions array. - */ + * Get all minions in the system. + * @returns Minions array. + */ async getMinions() { return this.cleanUpMinionsBeforRelease(await minionsBl_1.MinionsBlSingleton.getMinions()); } @@ -132,6 +111,27 @@ let MinionsController = class MinionsController extends tsoa_1.Controller { async setMinion(minionId, setStatus) { return await minionsBl_1.MinionsBlSingleton.setMinionStatus(minionId, setStatus); } + /** + * NEVER let anyone get device API keys. + * @param minion minion to remove keys from. + */ + cleanUpMinionBeforRelease(minion) { + const minionCopy = deepCopy_1.DeepCopy(minion); + delete minionCopy.device.deviceId; + delete minionCopy.device.token; + return minionCopy; + } + /** + * NEVER let anyone get device API keys. + * @param minions minions to remove keys from. + */ + cleanUpMinionsBeforRelease(minions) { + const minionsCopy = []; + for (const minion of minions) { + minionsCopy.push(this.cleanUpMinionBeforRelease(minion)); + } + return minionsCopy; + } }; __decorate([ tsoa_1.Security('userAuth'), diff --git a/backend/dist/controllers/minionsController.js.map b/backend/dist/controllers/minionsController.js.map index 74c5cf7c..fd9f8b0b 100644 --- a/backend/dist/controllers/minionsController.js.map +++ b/backend/dist/controllers/minionsController.js.map @@ -1 +1 @@ -{"version":3,"file":"minionsController.js","sourceRoot":"","sources":["../../src/controllers/minionsController.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"minionsController.js","sourceRoot":"","sources":["../../src/controllers/minionsController.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/operationsController.js.map b/backend/dist/controllers/operationsController.js.map index f21ed560..84c62950 100644 --- a/backend/dist/controllers/operationsController.js.map +++ b/backend/dist/controllers/operationsController.js.map @@ -1 +1 @@ -{"version":3,"file":"operationsController.js","sourceRoot":"","sources":["../../src/controllers/operationsController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAuI;AACvI,iEAAuE;AAKvE,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,iBAAU;IAEhD;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACtB,OAAO,MAAM,oCAAqB,CAAC,aAAa,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAC,WAAmB;QACzC,OAAO,MAAM,oCAAqB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAU,SAAoB;QACvE,OAAO,MAAM,oCAAqB,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC5C,OAAO,MAAM,oCAAqB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe,CAAS,SAAoB;QACrD,OAAO,MAAM,oCAAqB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAC7C,OAAO,MAAM,oCAAqB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AAjEG;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;yDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;wDAGpB;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;IAC2B,WAAA,WAAI,EAAE,CAAA;wDAErD;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,CAAC,eAAe,CAAC;2DAGvB;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,EAAE;IACuB,WAAA,WAAI,EAAE,CAAA;2DAEnC;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,uBAAuB,CAAC;4DAG7B;AA1EQ,oBAAoB;IAFhC,WAAI,CAAC,YAAY,CAAC;IAClB,YAAK,CAAC,YAAY,CAAC;GACP,oBAAoB,CA2EhC;AA3EY,oDAAoB"} \ No newline at end of file +{"version":3,"file":"operationsController.js","sourceRoot":"","sources":["../../src/controllers/operationsController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAec;AACd,iEAAuE;AAKvE,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,oCAAqB,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC3C,OAAO,MAAM,oCAAqB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAU,SAAoB;QACzE,OAAO,MAAM,oCAAqB,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC9C,OAAO,MAAM,oCAAqB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,eAAe,CAAS,SAAoB;QACvD,OAAO,MAAM,oCAAqB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAC/C,OAAO,MAAM,oCAAqB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AAjEC;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;yDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;wDAGpB;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;IAC2B,WAAA,WAAI,EAAE,CAAA;wDAErD;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,CAAC,eAAe,CAAC;2DAGvB;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,EAAE;IACuB,WAAA,WAAI,EAAE,CAAA;2DAEnC;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,uBAAuB,CAAC;4DAG7B;AAzEU,oBAAoB;IAFhC,WAAI,CAAC,YAAY,CAAC;IAClB,YAAK,CAAC,YAAY,CAAC;GACP,oBAAoB,CA0EhC;AA1EY,oDAAoB"} \ No newline at end of file diff --git a/backend/dist/controllers/radioFrequencyController.js.map b/backend/dist/controllers/radioFrequencyController.js.map index b52bde54..29b42252 100644 --- a/backend/dist/controllers/radioFrequencyController.js.map +++ b/backend/dist/controllers/radioFrequencyController.js.map @@ -1 +1 @@ -{"version":3,"file":"radioFrequencyController.js","sourceRoot":"","sources":["../../src/controllers/radioFrequencyController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAuI;AACvI,iDAAuD;AASvD,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,iBAAU;IAExC;;;OAGG;IAKI,KAAK,CAAC,+BAA+B;QACxC,OAAO,MAAM,oBAAa,CAAC,0BAA0B,EAAE,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,2BAA2B,CAAC,QAAgB,EAAU,kBAAsC;QACrG,OAAO,MAAM,oBAAa,CAAC,2BAA2B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IAKI,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAU,YAA0B;QACjF,OAAO,oBAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IAKI,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAU,YAA0B;QACnF,OAAO,oBAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;CACJ,CAAA;AA5CG;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;mEAGd;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,2BAA2B,CAAC;IAC2B,WAAA,WAAI,EAAE,CAAA;+DAEjE;AAYD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,mBAAmB,CAAC;IAC0B,WAAA,WAAI,EAAE,CAAA;uDAEzD;AAYD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,qBAAqB,CAAC;IAC0B,WAAA,WAAI,EAAE,CAAA;yDAE3D;AArDQ,YAAY;IAFxB,WAAI,CAAC,IAAI,CAAC;IACV,YAAK,CAAC,IAAI,CAAC;GACC,YAAY,CAsDxB;AAtDY,oCAAY"} \ No newline at end of file +{"version":3,"file":"radioFrequencyController.js","sourceRoot":"","sources":["../../src/controllers/radioFrequencyController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAec;AACd,iDAAuD;AAKvD,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,iBAAU;IAC1C;;;OAGG;IAKI,KAAK,CAAC,+BAA+B;QAC1C,OAAO,MAAM,oBAAa,CAAC,0BAA0B,EAAE,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,2BAA2B,CACtC,QAAgB,EACR,kBAAsC;QAE9C,OAAO,MAAM,oBAAa,CAAC,2BAA2B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED;;;;;OAKG;IAKI,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAU,YAA0B;QACnF,OAAO,oBAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IAKI,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAU,YAA0B;QACrF,OAAO,oBAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;CACF,CAAA;AA/CC;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,SAAS,CAAC;mEAGd;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,2BAA2B,CAAC;IAG9B,WAAA,WAAI,EAAE,CAAA;+DAGR;AAYD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,mBAAmB,CAAC;IAC0B,WAAA,WAAI,EAAE,CAAA;uDAEzD;AAYD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,CAAC,qBAAqB,CAAC;IAC0B,WAAA,WAAI,EAAE,CAAA;yDAE3D;AAvDU,YAAY;IAFxB,WAAI,CAAC,IAAI,CAAC;IACV,YAAK,CAAC,IAAI,CAAC;GACC,YAAY,CAwDxB;AAxDY,oCAAY"} \ No newline at end of file diff --git a/backend/dist/controllers/remoteConnectionController.js.map b/backend/dist/controllers/remoteConnectionController.js.map index 448c3ee0..6fee5b7d 100644 --- a/backend/dist/controllers/remoteConnectionController.js.map +++ b/backend/dist/controllers/remoteConnectionController.js.map @@ -1 +1 @@ -{"version":3,"file":"remoteConnectionController.js","sourceRoot":"","sources":["../../src/controllers/remoteConnectionController.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+BAAyI;AACzI,6EAAmF;AAEnF,iEAAoF;AACpF,wDAA8D;AAI9D,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,iBAAU;IAEtD;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACtB,OAAO,MAAM,gDAA2B,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IAKI,KAAK,CAAC,mBAAmB;QAC5B,OAAO,gDAA2B,CAAC,gBAAgB,CAAC;IACxD,CAAC;IAED;;;OAGG;IAII,KAAK,CAAC,aAAa;QACtB,OAAO,MAAM,gCAAmB,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,iBAAiB,CAAS,cAA8B;QACjE,IAAI;YACA,+BAA+B;YAC/B,MAAM,mBAAmB,GAAG,MAAM,iCAAe,CAAC,cAAc,EAAE,sCAAoB,CAAC,CAAC;YACxF,OAAO,MAAM,gDAA2B,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;SACnF;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,gCAAgC;aAC3B,CAAC;SACtB;IACL,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,oBAAoB;QAC7B,OAAO,MAAM,gDAA2B,CAAC,oBAAoB,EAAE,CAAC;IACpE,CAAC;CACJ,CAAA;AAtDG;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;+DAGL;AASD;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,QAAQ,CAAC;qEAGb;AASD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,aAAa,CAAC;+DAGlB;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;IAC0B,WAAA,WAAI,EAAE,CAAA;mEAWrC;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,EAAE;sEAGR;AA/DQ,0BAA0B;IAFtC,WAAI,CAAC,QAAQ,CAAC;IACd,YAAK,CAAC,QAAQ,CAAC;GACH,0BAA0B,CAgEtC;AAhEY,gEAA0B"} \ No newline at end of file +{"version":3,"file":"remoteConnectionController.js","sourceRoot":"","sources":["../../src/controllers/remoteConnectionController.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+BAec;AACd,6EAAmF;AAUnF,iEAAoF;AACpF,wDAA8D;AAI9D,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,iBAAU;IACxD;;;OAGG;IAKI,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,gDAA2B,CAAC,aAAa,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IAKI,KAAK,CAAC,mBAAmB;QAC9B,OAAO,gDAA2B,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAED;;;OAGG;IAII,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,gCAAmB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,iBAAiB,CAAS,cAA8B;QACnE,IAAI;YACF,+BAA+B;YAC/B,MAAM,mBAAmB,GAAG,MAAM,iCAAe,CAAC,cAAc,EAAE,sCAAoB,CAAC,CAAC;YACxF,OAAO,MAAM,gDAA2B,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;SACjF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,gCAAgC;aACzB,CAAC;SACpB;IACH,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,oBAAoB;QAC/B,OAAO,MAAM,gDAA2B,CAAC,oBAAoB,EAAE,CAAC;IAClE,CAAC;CACF,CAAA;AAtDC;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;+DAGL;AASD;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,QAAQ,CAAC;qEAGb;AASD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,aAAa,CAAC;+DAGlB;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;IAC0B,WAAA,WAAI,EAAE,CAAA;mEAWrC;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,EAAE;sEAGR;AA9DU,0BAA0B;IAFtC,WAAI,CAAC,QAAQ,CAAC;IACd,YAAK,CAAC,QAAQ,CAAC;GACH,0BAA0B,CA+DtC;AA/DY,gEAA0B"} \ No newline at end of file diff --git a/backend/dist/controllers/staticAssetsController.js.map b/backend/dist/controllers/staticAssetsController.js.map index 0bc6ec11..af9b99ae 100644 --- a/backend/dist/controllers/staticAssetsController.js.map +++ b/backend/dist/controllers/staticAssetsController.js.map @@ -1 +1 @@ -{"version":3,"file":"staticAssetsController.js","sourceRoot":"","sources":["../../src/controllers/staticAssetsController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAAyI;AAIzI,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,iBAAU;IAElD;;OAEG;IAGI,KAAK,CAAC,gBAAgB;QACzB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;CACJ,CAAA;AAHG;IAFC,eAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,UAAG,CAAC,MAAM,CAAC;8DAGX;AATQ,sBAAsB;IAFlC,WAAI,CAAC,QAAQ,CAAC;IACd,YAAK,CAAC,QAAQ,CAAC;GACH,sBAAsB,CAUlC;AAVY,wDAAsB"} \ No newline at end of file +{"version":3,"file":"staticAssetsController.js","sourceRoot":"","sources":["../../src/controllers/staticAssetsController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAec;AAId,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,iBAAU;IACpD;;OAEG;IAGI,KAAK,CAAC,gBAAgB;QAC3B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;CACF,CAAA;AAHC;IAFC,eAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,UAAG,CAAC,MAAM,CAAC;8DAGX;AARU,sBAAsB;IAFlC,WAAI,CAAC,QAAQ,CAAC;IACd,YAAK,CAAC,QAAQ,CAAC;GACH,sBAAsB,CASlC;AATY,wDAAsB"} \ No newline at end of file diff --git a/backend/dist/controllers/timingsController.js.map b/backend/dist/controllers/timingsController.js.map index 8a70915a..10158464 100644 --- a/backend/dist/controllers/timingsController.js.map +++ b/backend/dist/controllers/timingsController.js.map @@ -1 +1 @@ -{"version":3,"file":"timingsController.js","sourceRoot":"","sources":["../../src/controllers/timingsController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAuI;AACvI,2DAAiE;AAKjE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,iBAAU;IAE7C;;;OAGG;IAKI,KAAK,CAAC,UAAU;QACnB,OAAO,MAAM,8BAAkB,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,SAAS,CAAC,QAAgB;QACnC,OAAO,MAAM,8BAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAU,MAAc;QAC3D,OAAO,MAAM,8BAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAC,QAAgB;QACtC,OAAO,MAAM,8BAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAS,MAAc;QAC5C,OAAO,MAAM,8BAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;CAEJ,CAAA;AArDG;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;mDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,YAAY,CAAC;kDAGjB;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,YAAY,CAAC;IACwB,WAAA,WAAI,EAAE,CAAA;kDAE/C;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,CAAC,YAAY,CAAC;qDAGpB;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,EAAE;IACoB,WAAA,WAAI,EAAE,CAAA;qDAEhC;AA7DQ,iBAAiB;IAF7B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,iBAAiB,CA+D7B;AA/DY,8CAAiB"} \ No newline at end of file +{"version":3,"file":"timingsController.js","sourceRoot":"","sources":["../../src/controllers/timingsController.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAec;AACd,2DAAiE;AAKjE,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,iBAAU;IAC/C;;;OAGG;IAKI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,8BAAkB,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,SAAS,CAAC,QAAgB;QACrC,OAAO,MAAM,8BAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IAKI,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAU,MAAc;QAC7D,OAAO,MAAM,8BAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,OAAO,MAAM,8BAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,YAAY,CAAS,MAAc;QAC9C,OAAO,MAAM,8BAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AApDC;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;mDAGL;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,YAAY,CAAC;kDAGjB;AAWD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,YAAY,CAAC;IACwB,WAAA,WAAI,EAAE,CAAA;kDAE/C;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,aAAM,CAAC,YAAY,CAAC;qDAGpB;AAUD;IAJC,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,WAAI,EAAE;IACoB,WAAA,WAAI,EAAE,CAAA;qDAEhC;AA5DU,iBAAiB;IAF7B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,iBAAiB,CA6D7B;AA7DY,8CAAiB"} \ No newline at end of file diff --git a/backend/dist/controllers/usersController.js b/backend/dist/controllers/usersController.js index 849f1bc7..12a38fdd 100644 --- a/backend/dist/controllers/usersController.js +++ b/backend/dist/controllers/usersController.js @@ -14,40 +14,6 @@ const remoteConnectionBl_1 = require("../business-layer/remoteConnectionBl"); const usersBl_1 = require("../business-layer/usersBl"); const deepCopy_1 = require("../utilities/deepCopy"); let UsersController = class UsersController extends tsoa_1.Controller { - /** - * NEVER let anyone get hashed password. - * @param user user to remove password from. - */ - cleanUpUserBeforRelease(user) { - const userCopy = deepCopy_1.DeepCopy(user); - delete userCopy.password; - return userCopy; - } - /** - * NEVER let anyone get hashed password. - * @param users users to remove password from. - */ - cleanUpUsersBeforRelease(users) { - const usersCopy = []; - for (const user of users) { - usersCopy.push(this.cleanUpUserBeforRelease(user)); - } - return usersCopy; - } - /** - * Only admin can watch/update/delete other users. - */ - isUserAllowd(userSession, userIdInReq) { - /** - * Only admin can update other user. - */ - if (userSession.scope !== 'adminAuth' && userSession.email !== userIdInReq) { - throw { - responseCode: 4403, - message: 'user not allowed to watch other accounts', - }; - } - } /** * Get user profile. * @returns User. @@ -130,6 +96,40 @@ let UsersController = class UsersController extends tsoa_1.Controller { async createUser(user) { return await usersBl_1.UsersBlSingleton.createUser(user); } + /** + * NEVER let anyone get hashed password. + * @param user user to remove password from. + */ + cleanUpUserBeforRelease(user) { + const userCopy = deepCopy_1.DeepCopy(user); + delete userCopy.password; + return userCopy; + } + /** + * NEVER let anyone get hashed password. + * @param users users to remove password from. + */ + cleanUpUsersBeforRelease(users) { + const usersCopy = []; + for (const user of users) { + usersCopy.push(this.cleanUpUserBeforRelease(user)); + } + return usersCopy; + } + /** + * Only admin can watch/update/delete other users. + */ + isUserAllowd(userSession, userIdInReq) { + /** + * Only admin can update other user. + */ + if (userSession.scope !== 'adminAuth' && userSession.email !== userIdInReq) { + throw { + responseCode: 4403, + message: 'user not allowed to watch other accounts', + }; + } + } }; __decorate([ tsoa_1.Security('adminAuth'), diff --git a/backend/dist/controllers/usersController.js.map b/backend/dist/controllers/usersController.js.map index 8001ce19..46c3c376 100644 --- a/backend/dist/controllers/usersController.js.map +++ b/backend/dist/controllers/usersController.js.map @@ -1 +1 @@ -{"version":3,"file":"usersController.js","sourceRoot":"","sources":["../../src/controllers/usersController.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"usersController.js","sourceRoot":"","sources":["../../src/controllers/usersController.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/versionsController.js.map b/backend/dist/controllers/versionsController.js.map index eb50467c..83d79077 100644 --- a/backend/dist/controllers/versionsController.js.map +++ b/backend/dist/controllers/versionsController.js.map @@ -1 +1 @@ -{"version":3,"file":"versionsController.js","sourceRoot":"","sources":["../../src/controllers/versionsController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAAyI;AACzI,6DAAmE;AAKnE,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,iBAAU;IAE9C;;OAEG;IAII,KAAK,CAAC,aAAa;QACtB,OAAO,MAAM,gCAAmB,CAAC,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,eAAe;QACxB,OAAO,MAAM,gCAAmB,CAAC,eAAe,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,iBAAiB;QAC1B,OAAO,MAAM,gCAAmB,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC;CACJ,CAAA;AAzBG;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,QAAQ,CAAC;uDAGb;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;yDAGpB;AAUD;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;2DAGL;AAhCQ,kBAAkB;IAF9B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,kBAAkB,CAiC9B;AAjCY,gDAAkB"} \ No newline at end of file +{"version":3,"file":"versionsController.js","sourceRoot":"","sources":["../../src/controllers/versionsController.ts"],"names":[],"mappings":";;;;;;;;AACA,+BAec;AACd,6DAAmE;AAKnE,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,iBAAU;IAChD;;OAEG;IAII,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,gCAAmB,CAAC,mBAAmB,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IAII,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,gCAAmB,CAAC,eAAe,EAAE,CAAC;IACrD,CAAC;IAED;;;OAGG;IAKI,KAAK,CAAC,iBAAiB;QAC5B,OAAO,MAAM,gCAAmB,CAAC,iBAAiB,EAAE,CAAC;IACvD,CAAC;CACF,CAAA;AAzBC;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,QAAQ,CAAC;uDAGb;AAQD;IAHC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,CAAC,eAAe,CAAC;yDAGpB;AAUD;IAJC,eAAQ,CAAC,WAAW,CAAC;IACrB,eAAQ,CAAC,UAAU,CAAC;IACpB,eAAQ,CAAgB,GAAG,EAAE,cAAc,CAAC;IAC5C,UAAG,EAAE;2DAGL;AA/BU,kBAAkB;IAF9B,WAAI,CAAC,SAAS,CAAC;IACf,YAAK,CAAC,SAAS,CAAC;GACJ,kBAAkB,CAgC9B;AAhCY,gDAAkB"} \ No newline at end of file diff --git a/backend/dist/data-layer/dataIO.js b/backend/dist/data-layer/dataIO.js index 9d40cf26..f9933219 100644 --- a/backend/dist/data-layer/dataIO.js +++ b/backend/dist/data-layer/dataIO.js @@ -29,16 +29,14 @@ class DataIO { } } async getData() { - const data = await fse.readJSON(this.filePath) - .catch((err) => { + const data = await fse.readJSON(this.filePath).catch(err => { logger_1.logger.warn(`Fail to read ${this.fileName} file, ${err}`); throw new Error('Fail to read data'); }); return data; } async setData(data) { - await fse.outputFile(this.filePath, JSON.stringify(data, null, 2)) - .catch((err) => { + await fse.outputFile(this.filePath, JSON.stringify(data, null, 2)).catch(err => { logger_1.logger.warn(`Fail to write ${this.fileName} file, ${err}`); throw new Error('Fail to write data'); }); diff --git a/backend/dist/data-layer/dataIO.js.map b/backend/dist/data-layer/dataIO.js.map index 8b2ab6d5..bff2fe7d 100644 --- a/backend/dist/data-layer/dataIO.js.map +++ b/backend/dist/data-layer/dataIO.js.map @@ -1 +1 @@ -{"version":3,"file":"dataIO.js","sourceRoot":"","sources":["../../src/data-layer/dataIO.ts"],"names":[],"mappings":";;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,sCAA0C;AAE1C,gDAA6C;AAE7C;;GAEG;AACH,MAAa,MAAM;IASf;;;OAGG;IACH,YAAoB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,IAAI;YACA,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;IACL,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;aACzC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,eAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAW;QAC5B,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAC7D,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACX,CAAC;;AA5CL,wBA6CC;AA3C0B,qBAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAa,CAAC,WAAW,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"dataIO.js","sourceRoot":"","sources":["../../src/data-layer/dataIO.ts"],"names":[],"mappings":";;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,sCAA0C;AAE1C,gDAA6C;AAE7C;;GAEG;AACH,MAAa,MAAM;IAQjB;;;OAGG;IACH,YAAoB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,IAAI;YACF,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzD,eAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAW;QAC9B,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC7E,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;AAzCH,wBA0CC;AAzCwB,qBAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAa,CAAC,WAAW,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/devicesDal.js b/backend/dist/data-layer/devicesDal.js index dc8655ae..72b76630 100644 --- a/backend/dist/data-layer/devicesDal.js +++ b/backend/dist/data-layer/devicesDal.js @@ -14,16 +14,6 @@ class DevicesDal { this.dataIo = dataIo; this.devices = dataIo.getDataSync(); } - /** - * Find device in devices array - */ - findDevice(mac) { - for (const device of this.devices) { - if (device.mac === mac) { - return device; - } - } - } /** * Get all saved devices as array. */ @@ -39,8 +29,7 @@ class DevicesDal { this.devices.splice(this.devices.indexOf(originalDevice), 1); } this.devices.push(deviceToSave); - await this.dataIo.setData(this.devices) - .catch(() => { + await this.dataIo.setData(this.devices).catch(() => { this.devices.splice(this.devices.indexOf(deviceToSave), 1); if (originalDevice) { this.devices.push(originalDevice); @@ -57,12 +46,21 @@ class DevicesDal { throw new Error('device not saved'); } this.devices.splice(this.devices.indexOf(originalDevice), 1); - await this.dataIo.setData(this.devices) - .catch(() => { + await this.dataIo.setData(this.devices).catch(() => { this.devices.push(originalDevice); throw new Error('fail to save device removed request'); }); } + /** + * Find device in devices array + */ + findDevice(mac) { + for (const device of this.devices) { + if (device.mac === mac) { + return device; + } + } + } } exports.DevicesDal = DevicesDal; exports.DevicesDalSingleton = new DevicesDal(new dataIO_1.DataIO(DEVICES_FILE_NAME)); diff --git a/backend/dist/data-layer/devicesDal.js.map b/backend/dist/data-layer/devicesDal.js.map index b078d477..c656aec8 100644 --- a/backend/dist/data-layer/devicesDal.js.map +++ b/backend/dist/data-layer/devicesDal.js.map @@ -1 +1 @@ -{"version":3,"file":"devicesDal.js","sourceRoot":"","sources":["../../src/data-layer/devicesDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAElC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAa,UAAU;IASnB,YAAY,MAAe;QAL3B;;WAEG;QACK,YAAO,GAAyB,EAAE,CAAC;QAGvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAW;QAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE;gBACpB,OAAO,MAAM,CAAC;aACjB;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,YAAgC;QAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAE3D,IAAI,cAAc,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACrC;YAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,cAAkC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA3ED,gCA2EC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"devicesDal.js","sourceRoot":"","sources":["../../src/data-layer/devicesDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAElC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAa,UAAU;IAQrB,YAAY,MAAe;QAL3B;;WAEG;QACK,YAAO,GAAyB,EAAE,CAAC;QAGzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,YAAgC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAE3D,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACnC;YAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,cAAkC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAW;QAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE;gBACtB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;CACF;AAvED,gCAuEC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/iftttIntegrationDal.js b/backend/dist/data-layer/iftttIntegrationDal.js index 24121777..3ad219e6 100644 --- a/backend/dist/data-layer/iftttIntegrationDal.js +++ b/backend/dist/data-layer/iftttIntegrationDal.js @@ -24,12 +24,13 @@ class IftttIntergrationDal { * Delete / Disable Integration Settings. */ async disableIntegrationSettings() { - this.iftttIntegrationSettings = [{ + this.iftttIntegrationSettings = [ + { apiKey: '', enableIntegration: false, - }]; - await this.dataIo.setData(this.iftttIntegrationSettings) - .catch(() => { + }, + ]; + await this.dataIo.setData(this.iftttIntegrationSettings).catch(() => { throw new Error('fail to save iftttIntegrationSettings delete request'); }); } @@ -39,8 +40,7 @@ class IftttIntergrationDal { */ async setIntegrationSettings(iftttIntegrationSettings) { this.iftttIntegrationSettings = [iftttIntegrationSettings]; - await this.dataIo.setData(this.iftttIntegrationSettings) - .catch(() => { + await this.dataIo.setData(this.iftttIntegrationSettings).catch(() => { throw new Error('fail to save set iftttIntegrationSettings request'); }); } diff --git a/backend/dist/data-layer/iftttIntegrationDal.js.map b/backend/dist/data-layer/iftttIntegrationDal.js.map index 66c3fe45..84c0d732 100644 --- a/backend/dist/data-layer/iftttIntegrationDal.js.map +++ b/backend/dist/data-layer/iftttIntegrationDal.js.map @@ -1 +1 @@ -{"version":3,"file":"iftttIntegrationDal.js","sourceRoot":"","sources":["../../src/data-layer/iftttIntegrationDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAElC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAa,oBAAoB;IAS7B,YAAY,MAAe;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAErD,qCAAqC;QACrC,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,EAAE;gBACV,iBAAiB,EAAE,KAAK;aAC3B,CAAC,CAAC;SACN;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB;QAC/B,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAG,KAAK,EAAE,CAAC;IACvH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B;QACnC,IAAI,CAAC,wBAAwB,GAAG,CAAC;gBAC7B,MAAM,EAAE,EAAE;gBACV,iBAAiB,EAAE,KAAK;aAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;aACnD,KAAK,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,sBAAsB,CAAC,wBAAkD;QAElF,IAAI,CAAC,wBAAwB,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;aACnD,KAAK,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA1DD,oDA0DC;AAEY,QAAA,6BAA6B,GAAG,IAAI,oBAAoB,CAAC,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"iftttIntegrationDal.js","sourceRoot":"","sources":["../../src/data-layer/iftttIntegrationDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAElC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAa,oBAAoB;IAQ/B,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAErD,qCAAqC;QACrC,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBACjC,MAAM,EAAE,EAAE;gBACV,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB;QACjC,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;IACpH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B;QACrC,IAAI,CAAC,wBAAwB,GAAG;YAC9B;gBACE,MAAM,EAAE,EAAE;gBACV,iBAAiB,EAAE,KAAK;aACzB;SACF,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,sBAAsB,CAAC,wBAAkD;QACpF,IAAI,CAAC,wBAAwB,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxDD,oDAwDC;AAEY,QAAA,6BAA6B,GAAG,IAAI,oBAAoB,CAAC,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/minionsDal.js b/backend/dist/data-layer/minionsDal.js index 33cd781b..f56a4b84 100644 --- a/backend/dist/data-layer/minionsDal.js +++ b/backend/dist/data-layer/minionsDal.js @@ -11,16 +11,6 @@ class MinionsDal { this.dataIo = dataIo; this.minions = dataIo.getDataSync(); } - /** - * Find minion in minions array - */ - findMinion(minionId) { - for (const minion of this.minions) { - if (minion.minionId === minionId) { - return minion; - } - } - } /** * Get all minions as array. */ @@ -47,8 +37,7 @@ class MinionsDal { */ async createMinion(newMinion) { this.minions.push(newMinion); - await this.dataIo.setData(this.minions) - .catch(() => { + await this.dataIo.setData(this.minions).catch(() => { this.minions.splice(this.minions.indexOf(newMinion), 1); throw new Error('fail to save minion'); }); @@ -66,8 +55,7 @@ class MinionsDal { }; } this.minions.splice(this.minions.indexOf(originalMinion), 1); - await this.dataIo.setData(this.minions) - .catch(() => { + await this.dataIo.setData(this.minions).catch(() => { this.minions.push(originalMinion); throw new Error('fail to save minion delete request'); }); @@ -86,8 +74,7 @@ class MinionsDal { }; } originalMinion.name = nameToSet; - await this.dataIo.setData(this.minions) - .catch(() => { + await this.dataIo.setData(this.minions).catch(() => { throw new Error('fail to save minion new name update request'); }); } @@ -105,8 +92,7 @@ class MinionsDal { }; } originalMinion.minionAutoTurnOffMS = setAutoTurnOffMS; - await this.dataIo.setData(this.minions) - .catch(() => { + await this.dataIo.setData(this.minions).catch(() => { throw new Error('fail to save minion timeout update request'); }); } @@ -124,11 +110,20 @@ class MinionsDal { }; } originalMinion.calibrationCycleMinutes = calibrationCycleMinutes; - await this.dataIo.setData(this.minions) - .catch(() => { + await this.dataIo.setData(this.minions).catch(() => { throw new Error('fail to save minion calibrate update request'); }); } + /** + * Find minion in minions array + */ + findMinion(minionId) { + for (const minion of this.minions) { + if (minion.minionId === minionId) { + return minion; + } + } + } } exports.MinionsDal = MinionsDal; exports.MinionsDalSingleton = new MinionsDal(new dataIO_1.DataIO(MINIONS_FILE_NAME)); diff --git a/backend/dist/data-layer/minionsDal.js.map b/backend/dist/data-layer/minionsDal.js.map index ed41aa4f..909f7afd 100644 --- a/backend/dist/data-layer/minionsDal.js.map +++ b/backend/dist/data-layer/minionsDal.js.map @@ -1 +1 @@ -{"version":3,"file":"minionsDal.js","sourceRoot":"","sources":["../../src/data-layer/minionsDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"minionsDal.js","sourceRoot":"","sources":["../../src/data-layer/minionsDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/data-layer/operationsDal.js b/backend/dist/data-layer/operationsDal.js index 6302c4b0..79ee3a82 100644 --- a/backend/dist/data-layer/operationsDal.js +++ b/backend/dist/data-layer/operationsDal.js @@ -11,16 +11,6 @@ class OperationsDal { this.dataIo = dataIo; this.operations = dataIo.getDataSync(); } - /** - * Find operation in operations array - */ - findOperation(operationId) { - for (const operation of this.operations) { - if (operation.operationId === operationId) { - return operation; - } - } - } /** * Get all operations as array. */ @@ -47,8 +37,7 @@ class OperationsDal { */ async createOperation(newOperation) { this.operations.push(newOperation); - await this.dataIo.setData(this.operations) - .catch(() => { + await this.dataIo.setData(this.operations).catch(() => { this.operations.splice(this.operations.indexOf(newOperation), 1); throw new Error('fail to save operation'); }); @@ -66,8 +55,7 @@ class OperationsDal { }; } this.operations.splice(this.operations.indexOf(originalMinion), 1); - await this.dataIo.setData(this.operations) - .catch(() => { + await this.dataIo.setData(this.operations).catch(() => { this.operations.push(originalMinion); throw new Error('fail to save operation delete request'); }); @@ -86,13 +74,22 @@ class OperationsDal { } this.operations.splice(this.operations.indexOf(originalOperation), 1); this.operations.push(operation); - await this.dataIo.setData(this.operations) - .catch(() => { + await this.dataIo.setData(this.operations).catch(() => { this.operations.splice(this.operations.indexOf(operation), 1); this.operations.push(originalOperation); throw new Error('fail to save operation update request'); }); } + /** + * Find operation in operations array + */ + findOperation(operationId) { + for (const operation of this.operations) { + if (operation.operationId === operationId) { + return operation; + } + } + } } exports.OperationsDal = OperationsDal; exports.OperationsDalSingleton = new OperationsDal(new dataIO_1.DataIO(OPERATIONS_FILE_NAME)); diff --git a/backend/dist/data-layer/operationsDal.js.map b/backend/dist/data-layer/operationsDal.js.map index d161b8d1..9be4a760 100644 --- a/backend/dist/data-layer/operationsDal.js.map +++ b/backend/dist/data-layer/operationsDal.js.map @@ -1 +1 @@ -{"version":3,"file":"operationsDal.js","sourceRoot":"","sources":["../../src/data-layer/operationsDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"operationsDal.js","sourceRoot":"","sources":["../../src/data-layer/operationsDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/data-layer/remoteConnectionDal.js b/backend/dist/data-layer/remoteConnectionDal.js index fac79469..7cea4ddc 100644 --- a/backend/dist/data-layer/remoteConnectionDal.js +++ b/backend/dist/data-layer/remoteConnectionDal.js @@ -18,8 +18,7 @@ class RemoteConnectionDal { */ async deleteRemoteSettings() { this.remoteSettings = []; - await this.dataIo.setData(this.remoteSettings) - .catch(() => { + await this.dataIo.setData(this.remoteSettings).catch(() => { throw new Error('fail to save remote settings delete request'); }); } @@ -29,8 +28,7 @@ class RemoteConnectionDal { */ async setRemoteSettings(remoteSettings) { this.remoteSettings = [remoteSettings]; - await this.dataIo.setData(this.remoteSettings) - .catch(() => { + await this.dataIo.setData(this.remoteSettings).catch(() => { throw new Error('fail to save set remote settings request'); }); } diff --git a/backend/dist/data-layer/remoteConnectionDal.js.map b/backend/dist/data-layer/remoteConnectionDal.js.map index 9193a98f..91520c1f 100644 --- a/backend/dist/data-layer/remoteConnectionDal.js.map +++ b/backend/dist/data-layer/remoteConnectionDal.js.map @@ -1 +1 @@ -{"version":3,"file":"remoteConnectionDal.js","sourceRoot":"","sources":["../../src/data-layer/remoteConnectionDal.ts"],"names":[],"mappings":";;AAGA,qCAAkC;AAElC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAa,mBAAmB;IAS5B,YAAY,MAAe;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB;QAC7B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aACzC,KAAK,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,cAA8B;QAEzD,IAAI,CAAC,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aACzC,KAAK,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA/CD,kDA+CC;AAEY,QAAA,4BAA4B,GAAG,IAAI,mBAAmB,CAAC,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"remoteConnectionDal.js","sourceRoot":"","sources":["../../src/data-layer/remoteConnectionDal.ts"],"names":[],"mappings":";;AAGA,qCAAkC;AAElC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAa,mBAAmB;IAQ9B,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB;QAC/B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,cAA8B;QAC3D,IAAI,CAAC,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3CD,kDA2CC;AAEY,QAAA,4BAA4B,GAAG,IAAI,mBAAmB,CAAC,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/sessionsDal.js b/backend/dist/data-layer/sessionsDal.js index 869ce321..a3fed07b 100644 --- a/backend/dist/data-layer/sessionsDal.js +++ b/backend/dist/data-layer/sessionsDal.js @@ -11,16 +11,6 @@ class SessionsDal { this.dataIo = dataIo; this.sessions = dataIo.getDataSync(); } - /** - * Find sessin in session array - */ - findSession(key) { - for (const session of this.sessions) { - if (session.keyHash === key) { - return session; - } - } - } /** * Get all session as array. */ @@ -43,8 +33,7 @@ class SessionsDal { */ async createSession(newSession) { this.sessions.push(newSession); - await this.dataIo.setData(this.sessions) - .catch(() => { + await this.dataIo.setData(this.sessions).catch(() => { this.sessions.splice(this.sessions.indexOf(newSession), 1); throw new Error('fail to save session'); }); @@ -58,12 +47,21 @@ class SessionsDal { throw new Error('sessin not exist'); } this.sessions.splice(this.sessions.indexOf(originalSession), 1); - await this.dataIo.setData(this.sessions) - .catch(() => { + await this.dataIo.setData(this.sessions).catch(() => { this.sessions.push(originalSession); throw new Error('fail to save session delete request'); }); } + /** + * Find sessin in session array + */ + findSession(key) { + for (const session of this.sessions) { + if (session.keyHash === key) { + return session; + } + } + } } exports.SessionsDal = SessionsDal; exports.SessionsDalSingelton = new SessionsDal(new dataIO_1.DataIO(SESSION_FILE_NAME)); diff --git a/backend/dist/data-layer/sessionsDal.js.map b/backend/dist/data-layer/sessionsDal.js.map index b8765ec1..5604e736 100644 --- a/backend/dist/data-layer/sessionsDal.js.map +++ b/backend/dist/data-layer/sessionsDal.js.map @@ -1 +1 @@ -{"version":3,"file":"sessionsDal.js","sourceRoot":"","sources":["../../src/data-layer/sessionsDal.ts"],"names":[],"mappings":";;AACA,qCAAkC;AAElC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,MAAa,WAAW;IASpB,YAAY,MAAe;QAL3B;;WAEG;QACK,aAAQ,GAAc,EAAE,CAAC;QAG7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAW;QAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE;gBACzB,OAAO,OAAO,CAAC;aAClB;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,GAAW;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,UAAmB;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,OAAgB;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,eAAe,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA5ED,kCA4EC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"sessionsDal.js","sourceRoot":"","sources":["../../src/data-layer/sessionsDal.ts"],"names":[],"mappings":";;AACA,qCAAkC;AAElC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,MAAa,WAAW;IAQtB,YAAY,MAAe;QAL3B;;WAEG;QACK,aAAQ,GAAc,EAAE,CAAC;QAG/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,GAAW;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,UAAmB;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,OAAgB;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAW;QAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE;gBAC3B,OAAO,OAAO,CAAC;aAChB;SACF;IACH,CAAC;CACF;AAzED,kCAyEC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/timelineDal.js b/backend/dist/data-layer/timelineDal.js index c68622c9..5b649ccf 100644 --- a/backend/dist/data-layer/timelineDal.js +++ b/backend/dist/data-layer/timelineDal.js @@ -1,9 +1,9 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const dataIO_1 = require("./dataIO"); -const config_1 = require("../config"); const moment = require("moment"); +const config_1 = require("../config"); const logger_1 = require("../utilities/logger"); +const dataIO_1 = require("./dataIO"); const TIMELINE_FILE_NAME = 'timeline.json'; const TIMELINE_MS_LENGTH = moment.duration(config_1.Configuration.timelineDaysLength, 'days').asMilliseconds(); class TimelineDal { diff --git a/backend/dist/data-layer/timelineDal.js.map b/backend/dist/data-layer/timelineDal.js.map index 1e355e20..c46ebe0a 100644 --- a/backend/dist/data-layer/timelineDal.js.map +++ b/backend/dist/data-layer/timelineDal.js.map @@ -1 +1 @@ -{"version":3,"file":"timelineDal.js","sourceRoot":"","sources":["../../src/data-layer/timelineDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAClC,sCAA0C;AAC1C,iCAAiC;AACjC,gDAA6C;AAE7C,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;AAEtG,MAAa,WAAW;IAUpB,YAAY,MAAe;QAL3B;;WAEG;QACK,oBAAe,GAAqB,EAAE,CAAC;QAG3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,2BAA2B;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAAC,cAA8B;QAEvD,oCAAoC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7C,wBAAwB;QACxB,IAAI;YACA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;SACpD;IACL,CAAC;IAED,yCAAyC;IACjC,cAAc;QAClB,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjC,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;YACrC,0DAA0D;YAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,kBAAkB,EAAE;gBAC3C,MAAM;aACT;YAED,2CAA2C;YAC3C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,gCAAgC;QAChC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;IACvC,CAAC;CACJ;AAhED,kCAgEC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,IAAI,eAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"timelineDal.js","sourceRoot":"","sources":["../../src/data-layer/timelineDal.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AACjC,sCAA0C;AAG1C,gDAA6C;AAC7C,qCAAkC;AAElC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;AAEtG,MAAa,WAAW;IAQtB,YAAY,MAAe;QAL3B;;WAEG;QACK,oBAAe,GAAqB,EAAE,CAAC;QAG7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,2BAA2B;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAAC,cAA8B;QACzD,oCAAoC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7C,wBAAwB;QACxB,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,yCAAyC;IACjC,cAAc;QACpB,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjC,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;YACvC,0DAA0D;YAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,kBAAkB,EAAE;gBAC7C,MAAM;aACP;YAED,2CAA2C;YAC3C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;QAED,gCAAgC;QAChC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;IACrC,CAAC;CACF;AA7DD,kCA6DC;AAEY,QAAA,oBAAoB,GAAG,IAAI,WAAW,CAAC,IAAI,eAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/data-layer/timingsDal.js b/backend/dist/data-layer/timingsDal.js index 32cb63f5..2badd18d 100644 --- a/backend/dist/data-layer/timingsDal.js +++ b/backend/dist/data-layer/timingsDal.js @@ -11,16 +11,6 @@ class TimingsDal { this.dataIo = dataIo; this.timings = dataIo.getDataSync(); } - /** - * Find timing in timings array - */ - findTiming(timingId) { - for (const timing of this.timings) { - if (timing.timingId === timingId) { - return timing; - } - } - } /** * Get all timings as array. */ @@ -47,8 +37,7 @@ class TimingsDal { */ async createTiming(newTiming) { this.timings.push(newTiming); - await this.dataIo.setData(this.timings) - .catch(() => { + await this.dataIo.setData(this.timings).catch(() => { this.timings.splice(this.timings.indexOf(newTiming), 1); throw new Error('fail to save timing'); }); @@ -66,8 +55,7 @@ class TimingsDal { }; } this.timings.splice(this.timings.indexOf(originalTiming), 1); - await this.dataIo.setData(this.timings) - .catch(() => { + await this.dataIo.setData(this.timings).catch(() => { this.timings.push(originalTiming); throw new Error('fail to save timing delete request'); }); @@ -86,13 +74,22 @@ class TimingsDal { } this.timings.splice(this.timings.indexOf(originalTiming), 1); this.timings.push(timing); - await this.dataIo.setData(this.timings) - .catch(() => { + await this.dataIo.setData(this.timings).catch(() => { this.timings.splice(this.timings.indexOf(timing), 1); this.timings.push(originalTiming); throw new Error('fail to save timing update request'); }); } + /** + * Find timing in timings array + */ + findTiming(timingId) { + for (const timing of this.timings) { + if (timing.timingId === timingId) { + return timing; + } + } + } } exports.TimingsDal = TimingsDal; exports.TimingsDalSingleton = new TimingsDal(new dataIO_1.DataIO(TIMINGS_FILE_NAME)); diff --git a/backend/dist/data-layer/timingsDal.js.map b/backend/dist/data-layer/timingsDal.js.map index ba124a5b..c81bd140 100644 --- a/backend/dist/data-layer/timingsDal.js.map +++ b/backend/dist/data-layer/timingsDal.js.map @@ -1 +1 @@ -{"version":3,"file":"timingsDal.js","sourceRoot":"","sources":["../../src/data-layer/timingsDal.ts"],"names":[],"mappings":";;AAEA,qCAAkC;AAElC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC,MAAa,UAAU;IASnB,YAAY,MAAe;QAL3B;;WAEG;QACK,YAAO,GAAa,EAAE,CAAC;QAG3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,QAAgB;QAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,OAAO,MAAM,CAAC;aACjB;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE;YACT,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,kBAAkB;aACb,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,QAAgB;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,kBAAkB;aACb,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,MAAc;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,kBAAkB;aACb,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAClC,KAAK,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AA5GD,gCA4GC;AAEY,QAAA,mBAAmB,GAAG,IAAI,UAAU,CAAC,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"timingsDal.js","sourceRoot":"","sources":["../../src/data-layer/timingsDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/data-layer/usersDal.js b/backend/dist/data-layer/usersDal.js index 2983ded8..e995e2c9 100644 --- a/backend/dist/data-layer/usersDal.js +++ b/backend/dist/data-layer/usersDal.js @@ -18,44 +18,6 @@ class UsersDal { this.setDefaultUser(); } } - /** - * Set default user. - * used when system in first use and there is no any user in system, yet. - */ - async setDefaultUser() { - /** Get password from configuration, and hash it like any other password in system */ - const passwordHash = bcrypt.hashSync(config_1.Configuration.defaultUser.password, config_1.Configuration.keysHandling.bcryptSaltRounds); - /** Extract user domain from configuration */ - const userNameDomain = config_1.Configuration.defaultUser.email.split('@')[1]; - /** - * Used machine address as default user name. - * This is for security issues when users not replacing default user, - * and attackers can access server with known default user. - */ - const userName = await macAddress_1.GetMachinMacAddress(); - /** Build default user email address */ - const defaultUserName = `${userName}@${userNameDomain}`; - this.users.push({ - displayName: config_1.Configuration.defaultUser.displayName, - email: defaultUserName, - ignoreTfa: config_1.Configuration.defaultUser.ignoreTfa, - password: passwordHash, - scope: config_1.Configuration.defaultUser.scope, - }); - logger_1.logger.warn(`There is no any user in system, using default user to allow first time access,` + - ` user name is: ${defaultUserName} and for password see casanet.json file.` + - ` for system secure, please create valid user and remove the default user.`); - } - /** - * Find user in users array - */ - findUser(email) { - for (const user of this.users) { - if (user.email === email) { - return user; - } - } - } /** * Get all users as array. */ @@ -81,8 +43,7 @@ class UsersDal { */ async createUser(newUser) { this.users.push(newUser); - await this.dataIo.setData(this.users) - .catch(() => { + await this.dataIo.setData(this.users).catch(() => { this.users.splice(this.users.indexOf(newUser), 1); throw new Error('fail to save user'); }); @@ -99,8 +60,7 @@ class UsersDal { }; } this.users.splice(this.users.indexOf(originalUser), 1); - await this.dataIo.setData(this.users) - .catch(() => { + await this.dataIo.setData(this.users).catch(() => { this.users.push(originalUser); throw new Error('fail to save user delete request'); }); @@ -119,13 +79,50 @@ class UsersDal { } this.users.splice(this.users.indexOf(originalUser), 1); this.users.push(userToUpdate); - await this.dataIo.setData(this.users) - .catch(() => { + await this.dataIo.setData(this.users).catch(() => { this.users.splice(this.users.indexOf(userToUpdate), 1); this.users.push(originalUser); throw new Error('fail to save user update request'); }); } + /** + * Set default user. + * used when system in first use and there is no any user in system, yet. + */ + async setDefaultUser() { + /** Get password from configuration, and hash it like any other password in system */ + const passwordHash = bcrypt.hashSync(config_1.Configuration.defaultUser.password, config_1.Configuration.keysHandling.bcryptSaltRounds); + /** Extract user domain from configuration */ + const userNameDomain = config_1.Configuration.defaultUser.email.split('@')[1]; + /** + * Used machine address as default user name. + * This is for security issues when users not replacing default user, + * and attackers can access server with known default user. + */ + const userName = await macAddress_1.GetMachinMacAddress(); + /** Build default user email address */ + const defaultUserName = `${userName}@${userNameDomain}`; + this.users.push({ + displayName: config_1.Configuration.defaultUser.displayName, + email: defaultUserName, + ignoreTfa: config_1.Configuration.defaultUser.ignoreTfa, + password: passwordHash, + scope: config_1.Configuration.defaultUser.scope, + }); + logger_1.logger.warn(`There is no any user in system, using default user to allow first time access,` + + ` user name is: ${defaultUserName} and for password see casanet.json file.` + + ` for system secure, please create valid user and remove the default user.`); + } + /** + * Find user in users array + */ + findUser(email) { + for (const user of this.users) { + if (user.email === email) { + return user; + } + } + } } exports.UsersDal = UsersDal; exports.UsersDalSingleton = new UsersDal(new dataIO_1.DataIO(USERS_FILE_NAME)); diff --git a/backend/dist/data-layer/usersDal.js.map b/backend/dist/data-layer/usersDal.js.map index b31fe7e2..87366145 100644 --- a/backend/dist/data-layer/usersDal.js.map +++ b/backend/dist/data-layer/usersDal.js.map @@ -1 +1 @@ -{"version":3,"file":"usersDal.js","sourceRoot":"","sources":["../../src/data-layer/usersDal.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"usersDal.js","sourceRoot":"","sources":["../../src/data-layer/usersDal.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,sCAA0C;AAG1C,gDAA6C;AAC7C,wDAA8D;AAC9D,qCAAkC;AAElC,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,MAAa,QAAQ;IAQnB,YAAY,MAAe;QAL3B;;WAEG;QACK,UAAK,GAAW,EAAE,CAAC;QAGzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,CAAC,KAAa;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,gBAAgB;aACT,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,OAAa;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,gBAAgB;aACT,CAAC;SACpB;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,YAAkB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,gBAAgB;aACT,CAAC;SACpB;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc;QAC1B,qFAAqF;QACrF,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAClC,sBAAa,CAAC,WAAW,CAAC,QAAQ,EAClC,sBAAa,CAAC,YAAY,CAAC,gBAAgB,CAC5C,CAAC;QAEF,6CAA6C;QAC7C,MAAM,cAAc,GAAG,sBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE;;;;WAIG;QACH,MAAM,QAAQ,GAAG,MAAM,gCAAmB,EAAE,CAAC;QAC7C,uCAAuC;QACvC,MAAM,eAAe,GAAG,GAAG,QAAQ,IAAI,cAAc,EAAE,CAAC;QAExD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,WAAW,EAAE,sBAAa,CAAC,WAAW,CAAC,WAAW;YAClD,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,sBAAa,CAAC,WAAW,CAAC,SAAS;YAC9C,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,sBAAa,CAAC,WAAW,CAAC,KAAK;SACvC,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CACT,gFAAgF;YAC9E,kBAAkB,eAAe,0CAA0C;YAC3E,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAa;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACxB,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;CACF;AA/ID,4BA+IC;AAEY,QAAA,iBAAiB,GAAG,IAAI,QAAQ,CAAC,IAAI,eAAM,CAAC,eAAe,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/index.js b/backend/dist/index.js index 9bdfc5b6..46b1540c 100644 --- a/backend/dist/index.js +++ b/backend/dist/index.js @@ -17,7 +17,8 @@ const welcomeMessage = ` .||.....| '|..|' '|...' '|..'|' .||. |'....|' '|...' .||. '| '|...' .||. `; -console.log('\x1b[34m', welcomeMessage, '\x1b[0m'); +// tslint:disable-next-line: no-console +console.info('\x1b[34m', welcomeMessage, '\x1b[0m'); const fs = require("fs"); const http = require("http"); const https = require("https"); diff --git a/backend/dist/index.js.map b/backend/dist/index.js.map index 00534112..0d13871a 100644 --- a/backend/dist/index.js.map +++ b/backend/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GACpB;;;;;;;;;;;;;;;;CAgBC,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAEnD,yBAAyB;AACzB,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAAwB;AACxB,qCAAyC;AACzC,+CAA4C;AAE5C,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,yBAAyB;AACzB,IAAI,CAAC,YAAY,CAAC,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC5D,eAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,sBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,YAAY;AACZ,IAAI,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC7B,IAAI;QACA,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAwB;YACpC,GAAG;YACH,IAAI;YACJ,EAAE;SACL,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1E,eAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,sBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,KAAK,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;CACJ"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgBtB,CAAC;AAEF,uCAAuC;AACvC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAEpD,yBAAyB;AACzB,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAAwB;AACxB,qCAAyC;AACzC,+CAA4C;AAE5C,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,yBAAyB;AACzB,IAAI,CAAC,YAAY,CAAC,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC9D,eAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,sBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,YAAY;AACZ,IAAI,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC/B,IAAI;QACF,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAwB;YACtC,GAAG;YACH,IAAI;YACJ,EAAE;SACH,CAAC;QAEF,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,aAAG,CAAC,CAAC,MAAM,CAAC,sBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5E,eAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,sBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,eAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,EAAE,CAAC;KAChB;CACF"} \ No newline at end of file diff --git a/backend/dist/modules/brandModuleBase.js b/backend/dist/modules/brandModuleBase.js index 96ffe768..55433b20 100644 --- a/backend/dist/modules/brandModuleBase.js +++ b/backend/dist/modules/brandModuleBase.js @@ -44,8 +44,7 @@ class BrandModuleBase { * Get cache JSON data. */ async getCacheData() { - const data = await fse.readJSON(this.cacheFilePath) - .catch((err) => { + const data = await fse.readJSON(this.cacheFilePath).catch(err => { logger_1.logger.warn(`Fail to read ${this.cacheFilePath} cache file, ${err}`); throw new Error('Fail to read cache data'); }); @@ -56,8 +55,7 @@ class BrandModuleBase { * @param data Data to save in cache. */ async setCacheData(data) { - await fse.outputFile(this.cacheFilePath, JSON.stringify(data, null, 2)) - .catch((err) => { + await fse.outputFile(this.cacheFilePath, JSON.stringify(data, null, 2)).catch(err => { logger_1.logger.warn(`Fail to write ${this.cacheFilePath} cache file, ${err}`); throw new Error('Fail to write cache data'); }); diff --git a/backend/dist/modules/brandModuleBase.js.map b/backend/dist/modules/brandModuleBase.js.map index 84dbb3c5..19697e07 100644 --- a/backend/dist/modules/brandModuleBase.js.map +++ b/backend/dist/modules/brandModuleBase.js.map @@ -1 +1 @@ -{"version":3,"file":"brandModuleBase.js","sourceRoot":"","sources":["../../src/modules/brandModuleBase.ts"],"names":[],"mappings":";;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,iDAA6C;AAC7C,+BAAuC;AACvC,sCAA0C;AAG1C,gDAA6C;AAE7C;;GAEG;AACH,MAAsB,eAAe;IAArC;QAqBI;;WAEG;QACI,6BAAwB,GAAG,IAAI,sBAAe,CAGlD,SAAS,CAAC,CAAC;QAEd;;;;WAIG;QACI,oBAAe,GAA2B,IAAI,4BAAY,EAAY,CAAC;IAkFlF,CAAC;IAhHG;;OAEG;IACH,IAAY,aAAa;QACrB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChF,CAAC;IA2BD;;;OAGG;IACO,gBAAgB;QACtB,IAAI;YACA,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC/C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;aAC9C,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,eAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,YAAY,CAAC,IAAS;QAClC,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAClE,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACX,CAAC;;AAtEL,0CAoHC;AAlH0B,+BAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"brandModuleBase.js","sourceRoot":"","sources":["../../src/modules/brandModuleBase.ts"],"names":[],"mappings":";;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,iDAA6C;AAC7C,+BAAuC;AACvC,sCAA0C;AAG1C,gDAA6C;AAE7C;;GAEG;AACH,MAAsB,eAAe;IAArC;QAmBE;;WAEG;QACI,6BAAwB,GAAG,IAAI,sBAAe,CAGlD,SAAS,CAAC,CAAC;QAEd;;;;WAIG;QACI,oBAAe,GAA2B,IAAI,4BAAY,EAAY,CAAC;IAgFhF,CAAC;IA/GC;;OAEG;IACH,IAAY,aAAa;QACvB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC9E,CAAC;IAyED;;;OAGG;IACO,gBAAgB;QACxB,IAAI;YACF,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY;QAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC9D,eAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,YAAY,CAAC,IAAS;QACpC,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAClF,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;;AA/GH,0CAgHC;AAzGwB,+BAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/modules/broadlink/broadlinkHandler.js b/backend/dist/modules/broadlink/broadlinkHandler.js index cc03c9e4..8a0ac7b5 100644 --- a/backend/dist/modules/broadlink/broadlinkHandler.js +++ b/backend/dist/modules/broadlink/broadlinkHandler.js @@ -10,7 +10,6 @@ const BroadlinkCodeGeneration = require('./commands-generator'); class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { constructor() { super(); - this.cache = []; this.brandName = 'broadlink'; this.devices = [ { @@ -50,11 +49,86 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { isRecordingSupported: true, }, ]; + this.cache = []; const cache = super.getCacheDataSync(); if (cache) { this.cache = cache; } } + async getStatus(miniom) { + switch (miniom.device.model) { + case 'SP2': + return await this.getSP2Status(miniom); + case 'RM Pro as RF toggle': + case 'RM3 / RM Pro as IR AC': + case 'RM Pro as RF roller': + return await this.getCachedStatus(miniom); + } + throw { + responseCode: 8404, + message: 'unknown minion model', + }; + } + async setStatus(miniom, setStatus) { + switch (miniom.device.model) { + case 'SP2': + return await this.setSP2Status(miniom, setStatus); + case 'RM Pro as RF toggle': + return await this.setRFToggleStatus(miniom, setStatus); + case 'RM3 / RM Pro as IR AC': + return await this.setIRACStatus(miniom, setStatus); + case 'RM Pro as RF roller': + return await this.setRFRollerStatus(miniom, setStatus); + } + throw { + responseCode: 8404, + message: 'unknown minion model', + }; + } + async enterRecordMode(miniom, statusToRecordFor) { + switch (miniom.device.model) { + case 'RM Pro as RF toggle': + return await this.recordRFToggleCommands(miniom, statusToRecordFor); + case 'RM3 / RM Pro as IR AC': + return await this.recordIRACCommands(miniom, statusToRecordFor); + case 'RM Pro as RF roller': + return await this.recordRollerRFCommand(miniom, statusToRecordFor); + } + throw { + responseCode: 8404, + message: 'unknown minion model', + }; + } + async generateCommand(miniom, statusToRecordFor) { + switch (miniom.device.model) { + case 'RM Pro as RF toggle': + return await this.generateToggleRFCommand(miniom, statusToRecordFor); + case 'RM Pro as RF roller': + return await this.generateRollerRFCommand(miniom, statusToRecordFor); + } + throw { + responseCode: 8404, + message: 'unknown minion model', + }; + } + async setFetchedCommands(minion, commandsSet) { + const minionCache = this.getOrCreateMinionCache(minion); + switch (minion.minionType) { + case 'toggle': + minionCache.toggleCommands = commandsSet.commands.toggle; + break; + case 'airConditioning': + minionCache.acCommands = commandsSet.commands.airConditioning; + break; + case 'roller': + minionCache.rollerCommands = commandsSet.commands.roller; + break; + } + this.updateCache(); + } + async refreshCommunication() { + // There's nothing to do. + } updateCache() { this.setCacheData(this.cache) .then(() => { }) @@ -93,7 +167,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { /** Get broadlink protocol handler instance for given minion */ async getBroadlinkInstance(minoin) { return new Promise((resolve, reject) => { - const broadlinkDevice = new Broadlink({ address: minoin.device.pysicalDevice.ip, port: 80 }, minoin.device.pysicalDevice.mac, (err) => { + const broadlinkDevice = new Broadlink({ address: minoin.device.pysicalDevice.ip, port: 80 }, minoin.device.pysicalDevice.mac, err => { if (err) { reject({ responseCode: 1503, @@ -108,7 +182,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { /** Send RF/IR command */ async sendBeamCommand(broadlink, beamCommand) { return new Promise((resolve, reject) => { - broadlink.sendData(beamCommand, (err) => { + broadlink.sendData(beamCommand, err => { if (err) { reject({ responseCode: 11503, @@ -153,7 +227,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { /** Set broadlink power */ async setBroadlinkPowerMode(broadlink, switchOptions) { return new Promise((resolve, reject) => { - broadlink.setPower(switchOptions === 'on', (err) => { + broadlink.setPower(switchOptions === 'on', err => { if (err) { reject({ responseCode: 6503, @@ -178,11 +252,11 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { message: 'Current status is unknown, no history for current one-way transmitter', }; } - return (minionCache.lastStatus); + return minionCache.lastStatus; } async getSP2Status(miniom) { - const broadlink = await this.getBroadlinkInstance(miniom); - const status = await this.getBroadlinkPowerMode(broadlink); + const broadlink = (await this.getBroadlinkInstance(miniom)); + const status = (await this.getBroadlinkPowerMode(broadlink)); return { switch: { status, @@ -190,11 +264,11 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { }; } async setSP2Status(miniom, setStatus) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); await this.setBroadlinkPowerMode(broadlink, setStatus.switch.status); } async setRFToggleStatus(miniom, setStatus) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); const minionCache = this.getOrCreateMinionCache(miniom); if (!minionCache.toggleCommands) { throw { @@ -202,9 +276,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { message: 'there is no availble command. record a on off commands set.', }; } - const hexCommandCode = setStatus.toggle.status === 'on' - ? minionCache.toggleCommands.on - : minionCache.toggleCommands.off; + const hexCommandCode = setStatus.toggle.status === 'on' ? minionCache.toggleCommands.on : minionCache.toggleCommands.off; if (!hexCommandCode) { throw { responseCode: 4503, @@ -216,7 +288,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { this.updateCache(); } async setRFRollerStatus(miniom, setStatus) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); const minionCache = this.getOrCreateMinionCache(miniom); if (!minionCache.rollerCommands) { throw { @@ -240,7 +312,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { this.updateCache(); } async setIRACStatus(miniom, setStatus) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); const minionCache = this.getOrCreateMinionCache(miniom); if (!minionCache.acCommands) { throw { @@ -277,7 +349,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { this.updateCache(); } async recordIRACCommands(miniom, statusToRecordFor) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); const minionCache = this.getOrCreateMinionCache(miniom); if (!minionCache.acCommands) { minionCache.acCommands = { @@ -306,7 +378,7 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { this.updateCache(); } async recordRollerRFCommand(miniom, statusToRecordFor) { - const broadlink = await this.getBroadlinkInstance(miniom); + const broadlink = (await this.getBroadlinkInstance(miniom)); const minionCache = this.getOrCreateMinionCache(miniom); if (!minionCache.rollerCommands) { minionCache.rollerCommands = { @@ -372,79 +444,6 @@ class BroadlinkHandler extends brandModuleBase_1.BrandModuleBase { message: 'Not implemented yet.', }; } - async getStatus(miniom) { - switch (miniom.device.model) { - case 'SP2': - return await this.getSP2Status(miniom); - case 'RM Pro as RF toggle': - case 'RM3 / RM Pro as IR AC': - case 'RM Pro as RF roller': - return await this.getCachedStatus(miniom); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - }; - } - async setStatus(miniom, setStatus) { - switch (miniom.device.model) { - case 'SP2': - return await this.setSP2Status(miniom, setStatus); - case 'RM Pro as RF toggle': - return await this.setRFToggleStatus(miniom, setStatus); - case 'RM3 / RM Pro as IR AC': - return await this.setIRACStatus(miniom, setStatus); - case 'RM Pro as RF roller': - return await this.setRFRollerStatus(miniom, setStatus); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - }; - } - async enterRecordMode(miniom, statusToRecordFor) { - switch (miniom.device.model) { - case 'RM Pro as RF toggle': - return await this.recordRFToggleCommands(miniom, statusToRecordFor); - case 'RM3 / RM Pro as IR AC': - return await this.recordIRACCommands(miniom, statusToRecordFor); - case 'RM Pro as RF roller': - return await this.recordRollerRFCommand(miniom, statusToRecordFor); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - }; - } - async generateCommand(miniom, statusToRecordFor) { - switch (miniom.device.model) { - case 'RM Pro as RF toggle': - return await this.generateToggleRFCommand(miniom, statusToRecordFor); - case 'RM Pro as RF roller': - return await this.generateRollerRFCommand(miniom, statusToRecordFor); - } - throw { - responseCode: 8404, - message: 'unknown minion model', - }; - } - async setFetchedCommands(minion, commandsSet) { - const minionCache = this.getOrCreateMinionCache(minion); - switch (minion.minionType) { - case 'toggle': - minionCache.toggleCommands = commandsSet.commands.toggle; - break; - case 'airConditioning': - minionCache.acCommands = commandsSet.commands.airConditioning; - break; - case 'roller': - minionCache.rollerCommands = commandsSet.commands.roller; - break; - } - } - async refreshCommunication() { - // There's nothing to do. - } } exports.BroadlinkHandler = BroadlinkHandler; //# sourceMappingURL=broadlinkHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/broadlink/broadlinkHandler.js.map b/backend/dist/modules/broadlink/broadlinkHandler.js.map index d71f99b7..45de3060 100644 --- a/backend/dist/modules/broadlink/broadlinkHandler.js.map +++ b/backend/dist/modules/broadlink/broadlinkHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"broadlinkHandler.js","sourceRoot":"","sources":["../../../src/modules/broadlink/broadlinkHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"broadlinkHandler.js","sourceRoot":"","sources":["../../../src/modules/broadlink/broadlinkHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/ifttt/iftttHandler.js.map b/backend/dist/modules/ifttt/iftttHandler.js.map index 2d57158c..08acb9e9 100644 --- a/backend/dist/modules/ifttt/iftttHandler.js.map +++ b/backend/dist/modules/ifttt/iftttHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"iftttHandler.js","sourceRoot":"","sources":["../../../src/modules/ifttt/iftttHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"iftttHandler.js","sourceRoot":"","sources":["../../../src/modules/ifttt/iftttHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/miio/miioHandler.js b/backend/dist/modules/miio/miioHandler.js index 487e7279..3bd240d1 100644 --- a/backend/dist/modules/miio/miioHandler.js +++ b/backend/dist/modules/miio/miioHandler.js @@ -27,76 +27,6 @@ class MiioHandler extends brandModuleBase_1.BrandModuleBase { }, ]; } - async getFanSpeed(device) { - const rawSpeed = await device.fanSpeed(); - switch (rawSpeed) { - case 38: return 'low'; - case 60: return 'med'; - case 77: return 'high'; - } - return 'auto'; - } - async setFanSpeed(device, fanStrengt) { - let rawSpeed = 60; - switch (fanStrengt) { - case 'low': - rawSpeed = 38; - break; - case 'med': - rawSpeed = 60; - break; - case 'high': - rawSpeed = 77; - break; - } - await device.call('set_custom_mode', [rawSpeed]); - } - async setVaccumStatus(device, setStatus) { - if (setStatus.status === 'off') { - await await device.call('app_pause'); - return; - } - await this.setFanSpeed(device, setStatus.fanSpeed); - switch (setStatus.mode) { - case 'clean': - await device.call('app_start'); - break; - case 'dock': - await device.call('app_pause'); - await device.call('app_charge'); - break; - } - } - async getVaccumStatus(device) { - const statuses = (await device.call('get_status'))[0]; - const status = statuses.in_cleaning ? 'on' : 'off'; - const fanSpeed = await this.getFanSpeed(device); - /** 8 == charging, 6 == going to the dock */ - const mode = statuses.state === 8 || statuses.state === 6 - ? 'dock' - : 'clean'; - return { - fanSpeed, - mode, - status, - }; - } - async setTempLightStatus(device, setStatus) { - await device.call('set_power', [setStatus.status]); - if (setStatus.status === 'on') { - await device.call('set_bricct', [setStatus.brightness, setStatus.temperature]); - } - } - async getTempLightStatus(device) { - const status = (await device.call('get_prop', ['power']))[0]; - const brightness = (await device.call('get_prop', ['bright']))[0]; - const temperature = (await device.call('get_prop', ['cct']))[0]; - return { - temperature, - brightness, - status, - }; - } async getStatus(miniom) { try { const device = await miio.device({ address: miniom.device.pysicalDevice.ip, token: miniom.device.token }); @@ -171,6 +101,77 @@ class MiioHandler extends brandModuleBase_1.BrandModuleBase { async refreshCommunication() { // There's nothing to do. } + async getFanSpeed(device) { + const rawSpeed = await device.fanSpeed(); + switch (rawSpeed) { + case 38: + return 'low'; + case 60: + return 'med'; + case 77: + return 'high'; + } + return 'auto'; + } + async setFanSpeed(device, fanStrengt) { + let rawSpeed = 60; + switch (fanStrengt) { + case 'low': + rawSpeed = 38; + break; + case 'med': + rawSpeed = 60; + break; + case 'high': + rawSpeed = 77; + break; + } + await device.call('set_custom_mode', [rawSpeed]); + } + async setVaccumStatus(device, setStatus) { + if (setStatus.status === 'off') { + await await device.call('app_pause'); + return; + } + await this.setFanSpeed(device, setStatus.fanSpeed); + switch (setStatus.mode) { + case 'clean': + await device.call('app_start'); + break; + case 'dock': + await device.call('app_pause'); + await device.call('app_charge'); + break; + } + } + async getVaccumStatus(device) { + const statuses = (await device.call('get_status'))[0]; + const status = statuses.in_cleaning ? 'on' : 'off'; + const fanSpeed = await this.getFanSpeed(device); + /** 8 == charging, 6 == going to the dock */ + const mode = statuses.state === 8 || statuses.state === 6 ? 'dock' : 'clean'; + return { + fanSpeed, + mode, + status, + }; + } + async setTempLightStatus(device, setStatus) { + await device.call('set_power', [setStatus.status]); + if (setStatus.status === 'on') { + await device.call('set_bricct', [setStatus.brightness, setStatus.temperature]); + } + } + async getTempLightStatus(device) { + const status = (await device.call('get_prop', ['power']))[0]; + const brightness = (await device.call('get_prop', ['bright']))[0]; + const temperature = (await device.call('get_prop', ['cct']))[0]; + return { + temperature, + brightness, + status, + }; + } } exports.MiioHandler = MiioHandler; //# sourceMappingURL=miioHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/miio/miioHandler.js.map b/backend/dist/modules/miio/miioHandler.js.map index e3119310..e58e5f8e 100644 --- a/backend/dist/modules/miio/miioHandler.js.map +++ b/backend/dist/modules/miio/miioHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"miioHandler.js","sourceRoot":"","sources":["../../../src/modules/miio/miioHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"miioHandler.js","sourceRoot":"","sources":["../../../src/modules/miio/miioHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/mock/mockHandler.js b/backend/dist/modules/mock/mockHandler.js index cfbfe6ac..a4d8342e 100644 --- a/backend/dist/modules/mock/mockHandler.js +++ b/backend/dist/modules/mock/mockHandler.js @@ -7,14 +7,6 @@ const brandModuleBase_1 = require("../brandModuleBase"); class MockHandler extends brandModuleBase_1.BrandModuleBase { constructor() { super(); - /** - * Time duratin to mock pysical device status update for switch minion. - */ - this.SWITCH_CHANGED_INTERVAL = moment.duration(4, 'seconds'); - /** - * Time duratin to mock pysical device status update for ac minion. - */ - this.AC_CHANGED_INTERVAL = moment.duration(5, 'seconds'); this.brandName = 'mock'; this.devices = [ { @@ -81,13 +73,19 @@ class MockHandler extends brandModuleBase_1.BrandModuleBase { isRecordingSupported: false, }, ]; + /** + * Time duratin to mock pysical device status update for switch minion. + */ + this.SWITCH_CHANGED_INTERVAL = moment.duration(4, 'seconds'); + /** + * Time duratin to mock pysical device status update for ac minion. + */ + this.AC_CHANGED_INTERVAL = moment.duration(5, 'seconds'); // for debug updattes remove 'return' return; setInterval(async () => { const minions = await this.retrieveMinions.pull(); - if (minions.length === 0 - || !minions[0].minionStatus - || !minions[0].minionStatus[minions[0].minionType]) { + if (minions.length === 0 || !minions[0].minionStatus || !minions[0].minionStatus[minions[0].minionType]) { return; } const statusCopy = deepCopy_1.DeepCopy(minions[0].minionStatus); diff --git a/backend/dist/modules/mock/mockHandler.js.map b/backend/dist/modules/mock/mockHandler.js.map index 92f094e3..b4a6604c 100644 --- a/backend/dist/modules/mock/mockHandler.js.map +++ b/backend/dist/modules/mock/mockHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"mockHandler.js","sourceRoot":"","sources":["../../../src/modules/mock/mockHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mockHandler.js","sourceRoot":"","sources":["../../../src/modules/mock/mockHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/modulesManager.js b/backend/dist/modules/modulesManager.js index 2a6fb0fa..9069fc53 100644 --- a/backend/dist/modules/modulesManager.js +++ b/backend/dist/modules/modulesManager.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +const moment = require("moment"); +const withTimeout = require("promise-with-timeout"); const pull_behavior_1 = require("pull-behavior"); const rxjs_1 = require("rxjs"); const config_1 = require("../config"); -const withTimeout = require("promise-with-timeout"); -const moment = require("moment"); const broadlinkHandler_1 = require("./broadlink/broadlinkHandler"); const iftttHandler_1 = require("./ifttt/iftttHandler"); const miioHandler_1 = require("./miio/miioHandler"); @@ -16,11 +16,6 @@ const tuyaHandler_1 = require("./tuya/tuyaHandler"); const yeelightHandler_1 = require("./yeelight/yeelightHandler"); class ModulesManager { constructor() { - this.COMMUNICATE_DEVICE_TIMEOUT = moment.duration(15, 'seconds'); - /** - * All modules handlers - */ - this.modulesHandlers = []; /** * Let subscribe to any status minion changed. from any brand module. */ @@ -29,6 +24,11 @@ class ModulesManager { * Allows to retrieve minions array. (used as proxy for all moduls). */ this.retrieveMinions = new pull_behavior_1.PullBehavior(); + this.COMMUNICATE_DEVICE_TIMEOUT = moment.duration(15, 'seconds'); + /** + * All modules handlers + */ + this.modulesHandlers = []; /** Currently, do not coverage modules, only 'mock' for other tests. */ if (config_1.Configuration.runningMode === 'test') { this.initHandler(new mockHandler_1.MockHandler()); @@ -46,68 +46,6 @@ class ModulesManager { } return modulesDevices; } - /** - * Init any brand module in system. - */ - initHandlers() { - //////////////////////////////////////////////////////////////////////// - //////////////// TO EXTEND: Init here new handler ////////////////////// - //////////////////////////////////////////////////////////////////////// - this.initHandler(new mockHandler_1.MockHandler()); - this.initHandler(new tuyaHandler_1.TuyaHandler()); - this.initHandler(new tasmotaHandler_1.TasmotaHandler()); - this.initHandler(new broadlinkHandler_1.BroadlinkHandler()); - this.initHandler(new yeelightHandler_1.YeelightHandler()); - this.initHandler(new orviboHandler_1.OrviboHandler()); - this.initHandler(new iftttHandler_1.IftttHandler()); - this.initHandler(new miioHandler_1.MiioHandler()); - this.initHandler(new mqttHandler_1.MqttHandler()); - } - /** - * Hold the hendler instance and registar to minions status changed. - * @param brandModule the handler instance. - */ - initHandler(brandModule) { - /** - * Set pull proxy method to get all last minions array. - */ - brandModule.retrieveMinions.setPullMethod(async () => { - if (!this.retrieveMinions.isPullingAvailble) { - return []; - } - return await this.retrieveMinions.pull(); - }); - brandModule.minionStatusChangedEvent.subscribe((changedMinionStatus) => { - this.minionStatusChangedEvent.next(changedMinionStatus); - }); - this.modulesHandlers.push(brandModule); - } - /** - * Get minion communcation module based on brand name. - * @param brandName the brand name. - * @returns The module instance or undefined if not exist. - */ - getMinionModule(brandName) { - for (const brandHandler of this.modulesHandlers) { - if (brandName === brandHandler.brandName) { - return brandHandler; - } - } - } - /** - * Get DeviceKind of minoin device. - * @param minionsBrandModuleBase The rand module to look in. - * @param minionDevice the minoin device to get kind for. - * @returns The device kind. - */ - getModelKind(minionsBrandModuleBase, minionDevice) { - for (const deviceKind of minionsBrandModuleBase.devices) { - if (deviceKind.brand === minionDevice.brand && - deviceKind.model === minionDevice.model) { - return deviceKind; - } - } - } /** * Get current status of minion. (such as minion status on off etc.) */ @@ -124,8 +62,7 @@ class ModulesManager { return await withTimeout(minionModule.getStatus(miniom), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -152,8 +89,7 @@ class ModulesManager { return await withTimeout(minionModule.setStatus(miniom, setStatus), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -191,8 +127,7 @@ class ModulesManager { return await withTimeout(minionModule.enterRecordMode(minion, statusToRecordFor), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -230,8 +165,7 @@ class ModulesManager { return await withTimeout(minionModule.generateCommand(minion, statusToGenerateFor), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -268,8 +202,7 @@ class ModulesManager { return await withTimeout(minionModule.setFetchedCommands(minion, commandsSet), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -287,8 +220,7 @@ class ModulesManager { try { await withTimeout(brandHandler.refreshCommunication(), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } - catch (error) { - } + catch (error) { } } } /** @@ -308,8 +240,7 @@ class ModulesManager { return await withTimeout(minionModule.refreshCommunication(), this.COMMUNICATE_DEVICE_TIMEOUT.asMilliseconds()); } catch (error) { - if (typeof error.message === 'string' && - error.message.indexOf('Promise not resolved after') !== -1) { + if (typeof error.message === 'string' && error.message.indexOf('Promise not resolved after') !== -1) { throw { responseCode: 1503, message: 'communication with device fail, timeout', @@ -318,6 +249,67 @@ class ModulesManager { throw error; } } + /** + * Init any brand module in system. + */ + initHandlers() { + //////////////////////////////////////////////////////////////////////// + //////////////// TO EXTEND: Init here new handler ////////////////////// + //////////////////////////////////////////////////////////////////////// + this.initHandler(new mockHandler_1.MockHandler()); + this.initHandler(new tuyaHandler_1.TuyaHandler()); + this.initHandler(new tasmotaHandler_1.TasmotaHandler()); + this.initHandler(new broadlinkHandler_1.BroadlinkHandler()); + this.initHandler(new yeelightHandler_1.YeelightHandler()); + this.initHandler(new orviboHandler_1.OrviboHandler()); + this.initHandler(new iftttHandler_1.IftttHandler()); + this.initHandler(new miioHandler_1.MiioHandler()); + this.initHandler(new mqttHandler_1.MqttHandler()); + } + /** + * Hold the hendler instance and registar to minions status changed. + * @param brandModule the handler instance. + */ + initHandler(brandModule) { + /** + * Set pull proxy method to get all last minions array. + */ + brandModule.retrieveMinions.setPullMethod(async () => { + if (!this.retrieveMinions.isPullingAvailble) { + return []; + } + return await this.retrieveMinions.pull(); + }); + brandModule.minionStatusChangedEvent.subscribe(changedMinionStatus => { + this.minionStatusChangedEvent.next(changedMinionStatus); + }); + this.modulesHandlers.push(brandModule); + } + /** + * Get minion communcation module based on brand name. + * @param brandName the brand name. + * @returns The module instance or undefined if not exist. + */ + getMinionModule(brandName) { + for (const brandHandler of this.modulesHandlers) { + if (brandName === brandHandler.brandName) { + return brandHandler; + } + } + } + /** + * Get DeviceKind of minoin device. + * @param minionsBrandModuleBase The rand module to look in. + * @param minionDevice the minoin device to get kind for. + * @returns The device kind. + */ + getModelKind(minionsBrandModuleBase, minionDevice) { + for (const deviceKind of minionsBrandModuleBase.devices) { + if (deviceKind.brand === minionDevice.brand && deviceKind.model === minionDevice.model) { + return deviceKind; + } + } + } } exports.ModulesManager = ModulesManager; exports.ModulesManagerSingltone = new ModulesManager(); diff --git a/backend/dist/modules/modulesManager.js.map b/backend/dist/modules/modulesManager.js.map index 1d853087..467184dd 100644 --- a/backend/dist/modules/modulesManager.js.map +++ b/backend/dist/modules/modulesManager.js.map @@ -1 +1 @@ -{"version":3,"file":"modulesManager.js","sourceRoot":"","sources":["../../src/modules/modulesManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"modulesManager.js","sourceRoot":"","sources":["../../src/modules/modulesManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/mqtt/mqtt-converters/mqttConverterBase.js.map b/backend/dist/modules/mqtt/mqtt-converters/mqttConverterBase.js.map index e6bd9449..ac8b805b 100644 --- a/backend/dist/modules/mqtt/mqtt-converters/mqttConverterBase.js.map +++ b/backend/dist/modules/mqtt/mqtt-converters/mqttConverterBase.js.map @@ -1 +1 @@ -{"version":3,"file":"mqttConverterBase.js","sourceRoot":"","sources":["../../../../src/modules/mqtt/mqtt-converters/mqttConverterBase.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,sDAAmD;AAkBnD;;GAEG;AACH,MAAsB,iBAAiB;IAAvC;QAKI,yCAAyC;QACxB,oBAAe,GAAW,eAAe,CAAC;QAC1C,oBAAe,GAAW,eAAe,CAAC;IA+E/D,CAAC;IA1EG;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAErC,kCAAkC;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEtD,uCAAuC;YACvC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;YACnE,IAAI;gBACA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEhC,sFAAsF;gBACtF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;oBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9C,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC1E,sBAAsB;oBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO;iBACV;gBAED,kGAAkG;gBAClG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;oBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;oBACtE,sBAAsB;oBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO;iBACV;gBAED,0GAA0G;gBAC1G,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzE,sBAAsB;gBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,iBAAiB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;aAE/H;YAAC,OAAO,KAAK,EAAE;gBACZ,eAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACxG;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CAqBJ;AAtFD,8CAsFC"} \ No newline at end of file +{"version":3,"file":"mqttConverterBase.js","sourceRoot":"","sources":["../../../../src/modules/mqtt/mqtt-converters/mqttConverterBase.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,sDAAmD;AAkBnD;;GAEG;AACH,MAAsB,iBAAiB;IAAvC;QAME,yCAAyC;QACxB,oBAAe,GAAW,eAAe,CAAC;QAC1C,oBAAe,GAAW,eAAe,CAAC;IA6E7D,CAAC;IA3EC;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACvC,kCAAkC;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEtD,uCAAuC;YACvC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;YACrE,IAAI;gBACF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEhC,sFAAsF;gBACtF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9C,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC1E,sBAAsB;oBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO;iBACR;gBAED,kGAAkG;gBAClG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;oBACtE,sBAAsB;oBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO;iBACR;gBAED,0GAA0G;gBAC1G,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzE,sBAAsB;gBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC3B,gBAAgB,iBAAiB,CAAC,QAAQ,EAAE,EAC5C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAC/C,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,eAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtG;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CAqBF;AArFD,8CAqFC"} \ No newline at end of file diff --git a/backend/dist/modules/mqtt/mqtt-converters/tasmotaConverter.js.map b/backend/dist/modules/mqtt/mqtt-converters/tasmotaConverter.js.map index 4ad6b9bb..4c28aa27 100644 --- a/backend/dist/modules/mqtt/mqtt-converters/tasmotaConverter.js.map +++ b/backend/dist/modules/mqtt/mqtt-converters/tasmotaConverter.js.map @@ -1 +1 @@ -{"version":3,"file":"tasmotaConverter.js","sourceRoot":"","sources":["../../../../src/modules/mqtt/mqtt-converters/tasmotaConverter.ts"],"names":[],"mappings":";;AACA,2DAAwF;AAExF,MAAa,gBAAiB,SAAQ,qCAAiB;IAAvD;;QAEI;;;WAGG;QACO,yBAAoB,GAAG,qBAAqB,CAAC;IA8B3D,CAAC;IA5BU,KAAK,CAAC,wBAAwB,CAAC,QAAgB,EAAE,SAAuB;QAC3E,OAAO;YACH,KAAK,EAAE,eAAe,QAAQ,QAAQ;YACtC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;SAC9C,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,QAAgB;QACtD,OAAO;YACH,KAAK,EAAE,eAAe,QAAQ,QAAQ;YACtC,IAAI,EAAE,EAAE;SACX,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,IAAY;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,YAAY,GAAiB;YAC/B,MAAM,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,WAAW,EAAmB;aAC9C;SACJ,CAAC;QACF,OAAO;YACH,QAAQ;YACR,YAAY;SACf,CAAC;IACN,CAAC;CACJ;AApCD,4CAoCC"} \ No newline at end of file +{"version":3,"file":"tasmotaConverter.js","sourceRoot":"","sources":["../../../../src/modules/mqtt/mqtt-converters/tasmotaConverter.ts"],"names":[],"mappings":";;AACA,2DAAwF;AAExF,MAAa,gBAAiB,SAAQ,qCAAiB;IAAvD;;QACE;;;WAGG;QACO,yBAAoB,GAAG,qBAAqB,CAAC;IA8BzD,CAAC;IA5BQ,KAAK,CAAC,wBAAwB,CAAC,QAAgB,EAAE,SAAuB;QAC7E,OAAO;YACL,KAAK,EAAE,eAAe,QAAQ,QAAQ;YACtC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;SAC5C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,QAAgB;QACxD,OAAO;YACL,KAAK,EAAE,eAAe,QAAQ,QAAQ;YACtC,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,IAAY;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,WAAW,EAAmB;aAC5C;SACF,CAAC;QACF,OAAO;YACL,QAAQ;YACR,YAAY;SACb,CAAC;IACJ,CAAC;CACF;AAnCD,4CAmCC"} \ No newline at end of file diff --git a/backend/dist/modules/mqtt/mqttBroker.js b/backend/dist/modules/mqtt/mqttBroker.js index 3446ca50..71f489a5 100644 --- a/backend/dist/modules/mqtt/mqttBroker.js +++ b/backend/dist/modules/mqtt/mqttBroker.js @@ -5,8 +5,7 @@ const mosca = require("mosca"); const logger_1 = require("../../utilities/logger"); /** Simple Mqtt server */ class MqttBroker { - constructor() { - } + constructor() { } /** * Init broker * @param port broker listening port. @@ -19,7 +18,7 @@ class MqttBroker { this.server.on('ready', () => { logger_1.logger.info(`Mosca mqtt server on ${ip.address()}:${port} is up and running`); }); - this.server.on('clientConnected', (client) => { + this.server.on('clientConnected', client => { logger_1.logger.info(`Mqtt ${client.id} client connected`); }); return ip.address(); diff --git a/backend/dist/modules/mqtt/mqttBroker.js.map b/backend/dist/modules/mqtt/mqttBroker.js.map index a3ed0a79..4f3d8591 100644 --- a/backend/dist/modules/mqtt/mqttBroker.js.map +++ b/backend/dist/modules/mqtt/mqttBroker.js.map @@ -1 +1 @@ -{"version":3,"file":"mqttBroker.js","sourceRoot":"","sources":["../../../src/modules/mqtt/mqttBroker.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,+BAA+B;AAC/B,mDAAgD;AAEhD,yBAAyB;AACzB,MAAa,UAAU;IAInB;IACA,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,eAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,oBAAoB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE;YACzC,eAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACJ;AA3BD,gCA2BC"} \ No newline at end of file +{"version":3,"file":"mqttBroker.js","sourceRoot":"","sources":["../../../src/modules/mqtt/mqttBroker.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,+BAA+B;AAC/B,mDAAgD;AAEhD,yBAAyB;AACzB,MAAa,UAAU;IAGrB,gBAAe,CAAC;IAEhB;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;YAC7B,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,eAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,oBAAoB,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE;YACzC,eAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF;AAzBD,gCAyBC"} \ No newline at end of file diff --git a/backend/dist/modules/mqtt/mqttHandler.js b/backend/dist/modules/mqtt/mqttHandler.js index 982e23a2..7cf4f009 100644 --- a/backend/dist/modules/mqtt/mqttHandler.js +++ b/backend/dist/modules/mqtt/mqttHandler.js @@ -79,6 +79,33 @@ class MqttHandler extends brandModuleBase_1.BrandModuleBase { this.mqttConverters = []; this.loadMqttBroker(); } + async getStatus(miniom) { + await this.mqttClient.publish(`get/casanet/${miniom.minionId}`, ''); + /** Current there is no option to 'ask' and wait for respone, only to send request and the update will arrive by status topic. */ + return miniom.minionStatus; + } + async setStatus(miniom, setStatus) { + /** Publish set status topic */ + await this.mqttClient.publish(`set/casanet/${miniom.minionId}`, JSON.stringify(setStatus)); + } + async enterRecordMode(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the mqtt module not support any recording mode', + }; + } + async generateCommand(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the mqtt module not support any recording mode', + }; + } + async setFetchedCommands(minion, commandsSet) { + // There's nothing to do. + } + async refreshCommunication() { + // There's nothing to do. + } /** * Load all mqtt converters */ @@ -104,9 +131,7 @@ class MqttHandler extends brandModuleBase_1.BrandModuleBase { logger_1.logger.info(`There is no MQTT_BROKER_IP env var, invokeing internal mqtt broker.`); this.mqttBroker = new mqttBroker_1.MqttBroker(); /** Get broker port */ - const internalBrokerPort = mqttInternalBrokerPort - ? parseInt(mqttInternalBrokerPort, 10) - : 1883; + const internalBrokerPort = mqttInternalBrokerPort ? parseInt(mqttInternalBrokerPort, 10) : 1883; /** Invoke the internal broker and keep the ip */ const internalBrokerIp = await this.mqttBroker.invokeBroker(internalBrokerPort); this.brokerUri = `mqtt://${internalBrokerIp}:${internalBrokerPort}`; @@ -157,33 +182,6 @@ class MqttHandler extends brandModuleBase_1.BrandModuleBase { /** Load the converters */ await this.loadMqttConverters(); } - async getStatus(miniom) { - await this.mqttClient.publish(`get/casanet/${miniom.minionId}`, ''); - /** Current there is no option to 'ask' and wait for respone, only to send request and the update will arrive by status topic. */ - return miniom.minionStatus; - } - async setStatus(miniom, setStatus) { - /** Publish set status topic */ - await this.mqttClient.publish(`set/casanet/${miniom.minionId}`, JSON.stringify(setStatus)); - } - async enterRecordMode(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the mqtt module not support any recording mode', - }; - } - async generateCommand(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the mqtt module not support any recording mode', - }; - } - async setFetchedCommands(minion, commandsSet) { - // There's nothing to do. - } - async refreshCommunication() { - // There's nothing to do. - } } exports.MqttHandler = MqttHandler; //# sourceMappingURL=mqttHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/mqtt/mqttHandler.js.map b/backend/dist/modules/mqtt/mqttHandler.js.map index 293ab88e..8a08919f 100644 --- a/backend/dist/modules/mqtt/mqttHandler.js.map +++ b/backend/dist/modules/mqtt/mqttHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"mqttHandler.js","sourceRoot":"","sources":["../../../src/modules/mqtt/mqttHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mqttHandler.js","sourceRoot":"","sources":["../../../src/modules/mqtt/mqttHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/orvibo/orviboHandler.js b/backend/dist/modules/orvibo/orviboHandler.js index 8d577d3e..558d650c 100644 --- a/backend/dist/modules/orvibo/orviboHandler.js +++ b/backend/dist/modules/orvibo/orviboHandler.js @@ -23,6 +23,102 @@ class OrviboHandler extends brandModuleBase_1.BrandModuleBase { ]; this.initOrviboCommunication(); } + async getStatus(minion) { + return new Promise((resolve, reject) => { + /** create timeout, case device not responsing */ + const timeoutTimer = setTimeout(() => { + this.queryCallback = undefined; + logger_1.logger.warn(`Fail to get orvibo device ${minion.minionId} state, timeout`); + reject({ + responseCode: 1503, + message: 'receive UDP answer from device fail', + }); + }, moment.duration(5, 'seconds').asMilliseconds()); + /** Set callback to subscribe event */ + this.subscribeCallback = deviceResult => { + if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { + return; + } + this.queryCallback = undefined; + clearTimeout(timeoutTimer); + resolve({ + switch: { + status: deviceResult.state ? 'on' : 'off', + }, + }); + }; + /** Then resubscribe to get the current status */ + this.reSubsribeOrvibo(minion).catch(error => { + reject({ + responseCode: 7503, + message: 'Getting status fail', + }); + }); + }); + } + async setStatus(minion, setStatus) { + await this.reSubsribeOrvibo(minion); + return new Promise((resolve, reject) => { + /** Create set status message */ + const message = this.orviboCommunication.prepareMessage({ + commandID: '6463', + macAddress: minion.device.pysicalDevice.mac, + macPadding: '202020202020', + data: { + // Session ID? + blank: '00000000', + // Ternary operators are cool, but hard to read. + // This one says "if state is true, set state to 01, otherwise, set to 00" + state: setStatus.switch.status === 'on' ? '01' : '00', + }, + }); + /** Send status message to device */ + this.orviboCommunication.sendMessage(message, minion.device.pysicalDevice.ip); + /** create timeout, case device not responsing */ + const timeoutTimer = setTimeout(() => { + this.queryCallback = undefined; + logger_1.logger.warn(`Fail to set orvibo device ${minion.minionId} ${setStatus.switch.status} state, timeout`); + reject({ + responseCode: 1503, + message: 'receive UDP answer from device fail', + }); + }, moment.duration(5, 'seconds').asMilliseconds()); + /** set callback to query event */ + this.queryCallback = deviceResult => { + if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { + return; + } + this.queryCallback = undefined; + clearTimeout(timeoutTimer); + if (setStatus.switch.status === (deviceResult.state ? 'on' : 'off')) { + resolve(); + return; + } + reject({ + responseCode: 6503, + message: 'Setting status fail', + }); + }; + }); + } + async enterRecordMode(miniom, statusToRecordFor) { + throw { + responseCode: 5010, + message: 'the orvibo module not support any recording mode', + }; + } + async generateCommand(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the orvibo module not support any recording mode', + }; + } + async setFetchedCommands(minion, commandsSet) { + // There's nothing to do. + } + async refreshCommunication() { + // There's nothing to do. + } /** * Check if UDP port binded to other application. * @param port port to check. @@ -30,7 +126,7 @@ class OrviboHandler extends brandModuleBase_1.BrandModuleBase { checkPortAvailability(port) { return new Promise((resolve, reject) => { const socket = dgram.createSocket('udp4'); - socket.on('error', (e) => { + socket.on('error', e => { reject(e); }); socket.bind(port, () => { @@ -136,103 +232,6 @@ class OrviboHandler extends brandModuleBase_1.BrandModuleBase { /** Let UDP to be sent */ await sleep_1.Delay(moment.duration(0.5, 'seconds')); } - async getStatus(minion) { - return new Promise((resolve, reject) => { - /** create timeout, case device not responsing */ - const timeoutTimer = setTimeout(() => { - this.queryCallback = undefined; - logger_1.logger.warn(`Fail to get orvibo device ${minion.minionId} state, timeout`); - reject({ - responseCode: 1503, - message: 'receive UDP answer from device fail', - }); - }, moment.duration(5, 'seconds').asMilliseconds()); - /** Set callback to subscribe event */ - this.subscribeCallback = (deviceResult) => { - if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { - return; - } - this.queryCallback = undefined; - clearTimeout(timeoutTimer); - resolve({ - switch: { - status: deviceResult.state ? 'on' : 'off', - }, - }); - }; - /** Then resubscribe to get the current status */ - this.reSubsribeOrvibo(minion) - .catch((error) => { - reject({ - responseCode: 7503, - message: 'Getting status fail', - }); - }); - }); - } - async setStatus(minion, setStatus) { - await this.reSubsribeOrvibo(minion); - return new Promise((resolve, reject) => { - /** Create set status message */ - const message = this.orviboCommunication.prepareMessage({ - commandID: '6463', - macAddress: minion.device.pysicalDevice.mac, - macPadding: '202020202020', - data: { - // Session ID? - blank: '00000000', - // Ternary operators are cool, but hard to read. - // This one says "if state is true, set state to 01, otherwise, set to 00" - state: setStatus.switch.status === 'on' ? '01' : '00', - }, - }); - /** Send status message to device */ - this.orviboCommunication.sendMessage(message, minion.device.pysicalDevice.ip); - /** create timeout, case device not responsing */ - const timeoutTimer = setTimeout(() => { - this.queryCallback = undefined; - logger_1.logger.warn(`Fail to set orvibo device ${minion.minionId} ${setStatus.switch.status} state, timeout`); - reject({ - responseCode: 1503, - message: 'receive UDP answer from device fail', - }); - }, moment.duration(5, 'seconds').asMilliseconds()); - /** set callback to query event */ - this.queryCallback = (deviceResult) => { - if (deviceResult.macAddress !== minion.device.pysicalDevice.mac) { - return; - } - this.queryCallback = undefined; - clearTimeout(timeoutTimer); - if (setStatus.switch.status === (deviceResult.state ? 'on' : 'off')) { - resolve(); - return; - } - reject({ - responseCode: 6503, - message: 'Setting status fail', - }); - }; - }); - } - async enterRecordMode(miniom, statusToRecordFor) { - throw { - responseCode: 5010, - message: 'the orvibo module not support any recording mode', - }; - } - async generateCommand(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the orvibo module not support any recording mode', - }; - } - async setFetchedCommands(minion, commandsSet) { - // There's nothing to do. - } - async refreshCommunication() { - // There's nothing to do. - } } exports.OrviboHandler = OrviboHandler; //# sourceMappingURL=orviboHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/orvibo/orviboHandler.js.map b/backend/dist/modules/orvibo/orviboHandler.js.map index 71ad49f9..fc203775 100644 --- a/backend/dist/modules/orvibo/orviboHandler.js.map +++ b/backend/dist/modules/orvibo/orviboHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"orviboHandler.js","sourceRoot":"","sources":["../../../src/modules/orvibo/orviboHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"orviboHandler.js","sourceRoot":"","sources":["../../../src/modules/orvibo/orviboHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/tasmota/tasmotaHandler.js.map b/backend/dist/modules/tasmota/tasmotaHandler.js.map index 2d8e0908..b473b1b2 100644 --- a/backend/dist/modules/tasmota/tasmotaHandler.js.map +++ b/backend/dist/modules/tasmota/tasmotaHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"tasmotaHandler.js","sourceRoot":"","sources":["../../../src/modules/tasmota/tasmotaHandler.ts"],"names":[],"mappings":";;AAEA,2CAA2C;AAK3C,mDAAgD;AAChD,wDAAqD;AAErD,MAAa,cAAe,SAAQ,iCAAe;IAgB/C;QACI,KAAK,EAAE,CAAC;QAfI,cAAS,GAAW,SAAS,CAAC;QAE9B,YAAO,GAAiB;YACpC;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,eAAe,EAAE,KAAK;gBACtB,YAAY,EAAE,KAAK;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,KAAK,EAAE,QAAQ;gBACf,kBAAkB,EAAE,QAAQ;gBAC5B,oBAAoB,EAAE,KAAK;aAC9B;SACJ,CAAC;IAIF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc;QACjC,IAAI;YACA,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,WAAW,EAAmB,CAAC;YAC9E,OAAO;gBACH,MAAM,EAAE;oBACJ,MAAM;iBACT;aACJ,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,uBAAuB;aAClB,CAAC;SACtB;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,SAAuB;QAE1D,IAAI;YACA,MAAM,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,oBAAoB,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACpH;QAAC,OAAO,KAAK,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM;gBACF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,uBAAuB;aAClB,CAAC;SACtB;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,iBAA+B;QACxE,MAAM;YACF,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,mDAAmD;SAC9C,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,iBAA+B;QACxE,MAAM;YACF,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,mDAAmD;SAC9C,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,WAAwB;QACpE,yBAAyB;IAC7B,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC7B,yBAAyB;IAC7B,CAAC;CACJ;AAxED,wCAwEC"} \ No newline at end of file +{"version":3,"file":"tasmotaHandler.js","sourceRoot":"","sources":["../../../src/modules/tasmota/tasmotaHandler.ts"],"names":[],"mappings":";;AAEA,2CAA2C;AAK3C,mDAAgD;AAChD,wDAAqD;AAErD,MAAa,cAAe,SAAQ,iCAAe;IAejD;QACE,KAAK,EAAE,CAAC;QAfM,cAAS,GAAW,SAAS,CAAC;QAE9B,YAAO,GAAiB;YACtC;gBACE,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,eAAe,EAAE,KAAK;gBACtB,YAAY,EAAE,KAAK;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,KAAK,EAAE,QAAQ;gBACf,kBAAkB,EAAE,QAAQ;gBAC5B,oBAAoB,EAAE,KAAK;aAC5B;SACF,CAAC;IAIF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,WAAW,EAAmB,CAAC;YAC9E,OAAO;gBACL,MAAM,EAAE;oBACN,MAAM;iBACP;aACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,eAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,uBAAuB;aAChB,CAAC;SACpB;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,SAAuB;QAC5D,IAAI;YACF,MAAM,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,oBAAoB,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAClH;QAAC,OAAO,KAAK,EAAE;YACd,eAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM;gBACJ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,uBAAuB;aAChB,CAAC;SACpB;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,iBAA+B;QAC1E,MAAM;YACJ,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,mDAAmD;SAC5C,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,iBAA+B;QAC1E,MAAM;YACJ,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,mDAAmD;SAC5C,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,WAAwB;QACtE,yBAAyB;IAC3B,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,yBAAyB;IAC3B,CAAC;CACF;AAtED,wCAsEC"} \ No newline at end of file diff --git a/backend/dist/modules/tuya/tuyaHandler.js b/backend/dist/modules/tuya/tuyaHandler.js index 59756210..38d52801 100644 --- a/backend/dist/modules/tuya/tuyaHandler.js +++ b/backend/dist/modules/tuya/tuyaHandler.js @@ -54,6 +54,158 @@ class TuyaHandler extends brandModuleBase_1.BrandModuleBase { /** Cache last status, to ignore unnececary updates. */ this.devicesStatusCache = {}; } + async getStatus(miniom) { + /** + * Get tuya device instance + */ + const tuyaDevice = await this.getTuyaDevice(miniom.device); + if (miniom.device.model.indexOf('curtain') !== -1) { + try { + const rowStatus = await tuyaDevice.get(); + return { + roller: { + status: rowStatus !== '3' ? 'on' : 'off', + direction: rowStatus === '1' ? 'up' : 'down', + }, + }; + } + catch (err) { + logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + if (typeof err === 'object' && err.message === 'fffffffffffffff') { + throw { + responseCode: 9503, + message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + }; + } + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + }; + } + } + const stausResult = await tuyaDevice.get({ schema: true }).catch((err) => { + logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + if (typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { + throw { + responseCode: 9503, + message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + }; + } + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + }; + }); + /** Case stausResult get a garbage value */ + if (typeof stausResult !== 'object' || !stausResult.dps) { + throw { + responseCode: 10503, + message: 'tuya device gives garbage values.', + }; + } + /** + * Extract the current minion status. + */ + let currentGangStatus; + switch (miniom.device.model) { + case 'wall switch, 3 gangs, first one': + currentGangStatus = stausResult.dps[1]; + break; + case 'wall switch, 3 gangs, second one': + currentGangStatus = stausResult.dps[2]; + break; + case 'wall switch, 3 gangs, third one': + currentGangStatus = stausResult.dps[3]; + break; + } + return { + switch: { + status: currentGangStatus ? 'on' : 'off', + }, + }; + } + async setStatus(miniom, setStatus) { + /** + * Get tuya device instance + */ + const tuyaDevice = await this.getTuyaDevice(miniom.device); + if (miniom.device.model.indexOf('curtain') !== -1) { + try { + await tuyaDevice.set({ + set: setStatus.roller.status === 'off' ? '3' : setStatus.roller.direction === 'up' ? '1' : '2', + }); + return; + } + catch (err) { + logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + if (typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { + throw { + responseCode: 9503, + message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + }; + } + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + }; + } + } + /** + * Get current minion gang index. + */ + let gangIndex; + switch (miniom.device.model) { + case 'wall switch, 3 gangs, first one': + gangIndex = 1; + break; + case 'wall switch, 3 gangs, second one': + gangIndex = 2; + break; + case 'wall switch, 3 gangs, third one': + gangIndex = 3; + break; + } + await tuyaDevice.set({ set: setStatus.switch.status === 'on', dps: gangIndex }).catch(err => { + logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); + if (typeof err === 'object' && + err.message === + 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { + throw { + responseCode: 9503, + message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', + }; + } + throw { + responseCode: 1503, + message: 'communication with tuya device fail', + }; + }); + } + async enterRecordMode(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the tuya module not support any recording mode', + }; + } + async generateCommand(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the tuya module not support any recording mode', + }; + } + async setFetchedCommands(minion, commandsSet) { + // There's nothing to do. + } + async refreshCommunication() { + for (const tuyaApi of Object.values(this.pysicalDevicesMap)) { + tuyaApi.disconnect(); + } + this.pysicalDevicesMap = {}; + } /** * Create new tuya communication device api. * and also listen to data arrived from device. @@ -108,14 +260,13 @@ class TuyaHandler extends brandModuleBase_1.BrandModuleBase { }); } } - catch (error) { - } + catch (error) { } return; } /** * Get the current status (the 'data' paramerer is invalid) */ - tuyaDevice.get({ schema: true }).then((status) => { + tuyaDevice.get({ schema: true }).then(status => { /** Case status get a garbage value */ if (typeof status !== 'object' || !status.dps) { return; @@ -123,8 +274,7 @@ class TuyaHandler extends brandModuleBase_1.BrandModuleBase { /** * Pull the current minions array in system. */ - this.retrieveMinions.pull() - .then((minions) => { + this.retrieveMinions.pull().then(minions => { for (const minion of minions) { /** * Find the minions that used current pysical tuya device @@ -205,158 +355,6 @@ class TuyaHandler extends brandModuleBase_1.BrandModuleBase { } return this.pysicalDevicesMap[minionDevice.pysicalDevice.mac]; } - async getStatus(miniom) { - /** - * Get tuya device instance - */ - const tuyaDevice = await this.getTuyaDevice(miniom.device); - if (miniom.device.model.indexOf('curtain') !== -1) { - try { - const rowStatus = await tuyaDevice.get(); - return { - roller: { - status: rowStatus !== '3' ? 'on' : 'off', - direction: rowStatus === '1' ? 'up' : 'down', - }, - }; - } - catch (err) { - logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - if (typeof err === 'object' && - err.message === 'fffffffffffffff') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - }; - } - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - }; - } - } - const stausResult = await tuyaDevice.get({ schema: true }) - .catch((err) => { - logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - }; - } - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - }; - }); - /** Case stausResult get a garbage value */ - if (typeof stausResult !== 'object' || !stausResult.dps) { - throw { - responseCode: 10503, - message: 'tuya device gives garbage values.', - }; - } - /** - * Extract the current minion status. - */ - let currentGangStatus; - switch (miniom.device.model) { - case 'wall switch, 3 gangs, first one': - currentGangStatus = stausResult.dps[1]; - break; - case 'wall switch, 3 gangs, second one': - currentGangStatus = stausResult.dps[2]; - break; - case 'wall switch, 3 gangs, third one': - currentGangStatus = stausResult.dps[3]; - break; - } - return { - switch: { - status: currentGangStatus ? 'on' : 'off', - }, - }; - } - async setStatus(miniom, setStatus) { - /** - * Get tuya device instance - */ - const tuyaDevice = await this.getTuyaDevice(miniom.device); - if (miniom.device.model.indexOf('curtain') !== -1) { - try { - await tuyaDevice.set({ - set: setStatus.roller.status === 'off' ? '3' : (setStatus.roller.direction === 'up' ? '1' : '2'), - }); - return; - } - catch (err) { - logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - }; - } - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - }; - } - } - /** - * Get current minion gang index. - */ - let gangIndex; - switch (miniom.device.model) { - case 'wall switch, 3 gangs, first one': - gangIndex = 1; - break; - case 'wall switch, 3 gangs, second one': - gangIndex = 2; - break; - case 'wall switch, 3 gangs, third one': - gangIndex = 3; - break; - } - await tuyaDevice.set({ set: setStatus.switch.status === 'on', dps: gangIndex }) - .catch((err) => { - logger_1.logger.warn(`Fail to get status of ${miniom.minionId}, ${err}`); - if (typeof err === 'object' && - err.message === 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.') { - throw { - responseCode: 9503, - message: 'Error communicating with device. Make sure nothing else is trying to control it or connected to it.', - }; - } - throw { - responseCode: 1503, - message: 'communication with tuya device fail', - }; - }); - } - async enterRecordMode(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the tuya module not support any recording mode', - }; - } - async generateCommand(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the tuya module not support any recording mode', - }; - } - async setFetchedCommands(minion, commandsSet) { - // There's nothing to do. - } - async refreshCommunication() { - for (const tuyaApi of Object.values(this.pysicalDevicesMap)) { - tuyaApi.disconnect(); - } - this.pysicalDevicesMap = {}; - } } exports.TuyaHandler = TuyaHandler; //# sourceMappingURL=tuyaHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/tuya/tuyaHandler.js.map b/backend/dist/modules/tuya/tuyaHandler.js.map index acf9de45..818d6115 100644 --- a/backend/dist/modules/tuya/tuyaHandler.js.map +++ b/backend/dist/modules/tuya/tuyaHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"tuyaHandler.js","sourceRoot":"","sources":["../../../src/modules/tuya/tuyaHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tuyaHandler.js","sourceRoot":"","sources":["../../../src/modules/tuya/tuyaHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/modules/yeelight/yeelightHandler.js b/backend/dist/modules/yeelight/yeelightHandler.js index d3db75f8..ff182f89 100644 --- a/backend/dist/modules/yeelight/yeelightHandler.js +++ b/backend/dist/modules/yeelight/yeelightHandler.js @@ -34,11 +34,9 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { /** Use nodeYeelightWifi lib to handle update from devices only. * The yeelight-awesome is for get/set data only. */ - this.lookupYeelightWifi.on('detected', (light) => { - light.on('connected', () => { - }); - light.on('disconnected', () => { - }); + this.lookupYeelightWifi.on('detected', light => { + light.on('connected', () => { }); + light.on('disconnected', () => { }); light.on('stateUpdate', async (lightUpdate) => { if (!this.retrieveMinions.isPullingAvailble) { return; @@ -72,11 +70,77 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { }); } } - catch (error) { - } + catch (error) { } }); }); } + async getStatus(minion) { + try { + const l = await this.createYeeligtDeviceComm(minion.device); + let status; + switch (minion.minionType) { + case 'temperatureLight': + status = (await this.getSimpleLightStatus(minion, l)); + break; + case 'colorLight': + status = (await this.getColorLightStatus(minion, l)); + break; + default: + } + l.disconnect(); + return status; + } + catch (error) { + try { + error = error.result.error.message; + } + catch (error) { } + logger_1.logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error}`); + throw { + responseCode: 7503, + }; + } + } + async setStatus(minion, setStatus) { + try { + const l = await this.createYeeligtDeviceComm(minion.device); + switch (minion.minionType) { + case 'temperatureLight': + await this.setSimpleLightStatus(minion, l, setStatus.temperatureLight); + break; + case 'colorLight': + await this.setColorLightStatus(minion, l, setStatus.colorLight); + break; + default: + } + l.disconnect(); + return; + } + catch (error) { + logger_1.logger.warn(`Fail to set yeelight ${minion.minionId} status, ${error.result.error.message}`); + throw { + responseCode: 6503, + }; + } + } + async enterRecordMode(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the yeelight module not support any recording mode', + }; + } + async generateCommand(miniom, statusToRecordFor) { + throw { + responseCode: 6409, + message: 'the yeelight module not support any recording mode', + }; + } + async setFetchedCommands(minion, commandsSet) { + // There's nothing to do. + } + async refreshCommunication() { + // There's nothing to do. + } /** * Create new yeelight communication device api. * @param minionDevice minion device property to create for. @@ -96,7 +160,7 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { yeelight.on('end', () => { logger_1.logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} end`); }); - yeelight.on('error', (err) => { + yeelight.on('error', err => { logger_1.logger.debug(`yeelight device mac: ${minionDevice.pysicalDevice.mac} error ${err}`); }); /** @@ -119,9 +183,10 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { if (lightUpdate.bright !== currentStatus.brightness) { return false; } - if (minion.minionType === 'colorLight' && (lightUpdate.rgb.r !== currentStatus.red || - lightUpdate.rgb.g !== currentStatus.green || - lightUpdate.rgb.b !== currentStatus.blue)) { + if (minion.minionType === 'colorLight' && + (lightUpdate.rgb.r !== currentStatus.red || + lightUpdate.rgb.g !== currentStatus.green || + lightUpdate.rgb.b !== currentStatus.blue)) { return false; } return true; @@ -141,9 +206,9 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { for (let i = 0; i < 8; i++) { green = green / 2; } - green = green % (Math.pow(2, 8)); + green = green % Math.pow(2, 8); let blue = intager; - blue = blue % (Math.pow(2, 8)); + blue = blue % Math.pow(2, 8); return { r: Math.floor(red), g: Math.floor(green), @@ -159,7 +224,7 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { const maxRange = 6500; const range = maxRange - minRange; const factor = range / 100; - return Math.floor((valueInPercents * factor) + minRange); + return Math.floor(valueInPercents * factor + minRange); } /** * Convert Kelvin units to light temperature in percents (1-100) see https://en.wikipedia.org/wiki/Color_temperature @@ -204,7 +269,12 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { */ async getColorLightStatus(minion, yeelightDevice) { try { - const props = await yeelightDevice.getProperty([yeelight_awesome_1.DevicePropery.POWER, yeelight_awesome_1.DevicePropery.BRIGHT, yeelight_awesome_1.DevicePropery.CT, yeelight_awesome_1.DevicePropery.RGB]); + const props = await yeelightDevice.getProperty([ + yeelight_awesome_1.DevicePropery.POWER, + yeelight_awesome_1.DevicePropery.BRIGHT, + yeelight_awesome_1.DevicePropery.CT, + yeelight_awesome_1.DevicePropery.RGB, + ]); const rgb = this.intToRgb(parseInt(props.result.result[3], 10)); return { colorLight: { @@ -277,73 +347,6 @@ class YeelightHandler extends brandModuleBase_1.BrandModuleBase { }; } } - async getStatus(minion) { - try { - const l = await this.createYeeligtDeviceComm(minion.device); - let status; - switch (minion.minionType) { - case 'temperatureLight': - status = await this.getSimpleLightStatus(minion, l); - break; - case 'colorLight': - status = await this.getColorLightStatus(minion, l); - break; - default: - } - l.disconnect(); - return status; - } - catch (error) { - try { - error = error.result.error.message; - } - catch (error) { } - logger_1.logger.warn(`Fail to get yeeligt ${minion.minionId} status, ${error}`); - throw { - responseCode: 7503, - }; - } - } - async setStatus(minion, setStatus) { - try { - const l = await this.createYeeligtDeviceComm(minion.device); - switch (minion.minionType) { - case 'temperatureLight': - await this.setSimpleLightStatus(minion, l, setStatus.temperatureLight); - break; - case 'colorLight': - await this.setColorLightStatus(minion, l, setStatus.colorLight); - break; - default: - } - l.disconnect(); - return; - } - catch (error) { - logger_1.logger.warn(`Fail to set yeelight ${minion.minionId} status, ${error.result.error.message}`); - throw { - responseCode: 6503, - }; - } - } - async enterRecordMode(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the yeelight module not support any recording mode', - }; - } - async generateCommand(miniom, statusToRecordFor) { - throw { - responseCode: 6409, - message: 'the yeelight module not support any recording mode', - }; - } - async setFetchedCommands(minion, commandsSet) { - // There's nothing to do. - } - async refreshCommunication() { - // There's nothing to do. - } } exports.YeelightHandler = YeelightHandler; //# sourceMappingURL=yeelightHandler.js.map \ No newline at end of file diff --git a/backend/dist/modules/yeelight/yeelightHandler.js.map b/backend/dist/modules/yeelight/yeelightHandler.js.map index 059bef70..882bd92b 100644 --- a/backend/dist/modules/yeelight/yeelightHandler.js.map +++ b/backend/dist/modules/yeelight/yeelightHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"yeelightHandler.js","sourceRoot":"","sources":["../../../src/modules/yeelight/yeelightHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"yeelightHandler.js","sourceRoot":"","sources":["../../../src/modules/yeelight/yeelightHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/public/6.1bc1785f83207644cb3e.js b/backend/dist/public/6.1bc1785f83207644cb3e.js deleted file mode 100644 index 4e2c332d..00000000 --- a/backend/dist/public/6.1bc1785f83207644cb3e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"2zQ1":function(t,e,n){"use strict";n.r(e),e.default='\r\n\r\n
\r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- Position Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
{{i + 1}} {{\'MAC\' | translate}} {{element.mac}} {{\'NAME\' | translate}} {{element.name ? element.name : \'--\'}} {{\'IP\' | translate}} {{element.ip}} {{\'VENDOR\' | translate}} {{element.vendor}} \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},"7Qov":function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n {{minion.name}}\r\n {{ minion.minionType | translate}}\r\n\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'PROPERTIES\' | translate}}\r\n \r\n \r\n\r\n
\r\n \r\n \r\n arrow_upward\r\n \r\n \r\n arrow_downward\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n settings_input_hdmi\r\n \r\n \r\n bubble_chart\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ \'HOT\' | translate}} \r\n {{ \'COLD\' | translate}} \r\n {{ \'DRY\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.airConditioning.temperature}}°

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.light.brightness}}%

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.temperatureLight.brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.temperatureLight.temperature}}%

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.colorLight.brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.colorLight.temperature}}%

\r\n \r\n \r\n

{{\'COLOR\' | translate}}:

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{\r\n \'TURN_OFF_TIMEOUT\' | translate}}: {{ minion.minionAutoTurnOffMS | times}}

\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
'},"7g1B":function(t,e,n){"use strict";n.r(e),e.default="::ng-deep .mat-sort-header-container {\n justify-content: center; }\n"},AF2v:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 95%;\n margin: auto;\n margin-top: 25px;\n margin-bottom: 25px; }\n"},CQoa:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 95%;\n margin: auto;\n margin-top: 25px;\n margin-bottom: 25px; }\n"},Ce27:function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \x3c!-- swtich on off --\x3e\r\n Switch active\r\n \r\n
\r\n\r\n {{timing.timingName}}\r\n {{ \'ACTIVATE\' | translate }}: {{ timing.operationName }}\r\n \r\n {{ \'TYPE\' | translate }}: {{ timing.timingType | translate }}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'PROPERTIES\' | translate}}\r\n \r\n \r\n\r\n \x3c!-- dailySunTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {{ \'SUN_TRIGGER\' | translate}}\r\n \r\n {{ \'SUNRISE\' | translate}}\r\n {{ \'SUNSET\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- dailyTimeTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- once --\x3e\r\n \r\n
\r\n {{ getDataFromUTC(timing.timingProperties.once.date).toLocaleDateString() }}\r\n {{ getDataFromUTC(timing.timingProperties.once.date).toLocaleTimeString() }}\r\n
\r\n
\r\n\r\n \x3c!-- timeout --\x3e\r\n \r\n\r\n
\r\n {{ \'START_IN\' | translate}}: \r\n {{ getDataFromUTC(timing.timingProperties.timeout.startDate).toLocaleDateString() }}\r\n {{ getDataFromUTC(timing.timingProperties.timeout.startDate).toLocaleTimeString() }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \x3c!-- Edit button --\x3e\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},RAeY:function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n {{operation.operationName}}\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'ACTIVITIES\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- status Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
{{ \'PROPERTIES\' | translate}} \r\n
    \r\n
  • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
  • \r\n
\r\n
{{ \'STATUS\' | translate}} {{ element.status | translate}} {{ \'NAME\' | translate}} {{ element.name }}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},Yj9t:function(t,e,n){"use strict";n.r(e);var i=n("CcnG"),r=n("Ip0R"),o=n("OzfB"),a=n("sB9w"),s=n("PSD3"),c=n.n(s),l=n("NZXM"),p=n("eKg/"),d=n("Gwao"),m=n("dO5I"),u=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},h=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},f=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},g=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},v=function(){function t(t,e,n,i,r){this.media=t,this.timingService=e,this.minionsService=n,this.operationService=i,this.translateService=r,this.isVisible=!0,this.visibility="shown",this.sideNavOpened=!0,this.matDrawerOpened=!1,this.matDrawerShow=!0,this.sideNavMode="side",this.translatePipe=new p.a(this.translateService)}return t.prototype.ngOnChanges=function(){this.visibility=this.isVisible?"shown":"hidden"},t.prototype.ngOnInit=function(){var t=this;this.media.media$.subscribe(function(e){t.toggleView()}),this.activatedTimingSubscription=this.timingService.timingActivatedFeed.subscribe(function(e){return f(t,void 0,void 0,function(){var t,n,i,r,o,a,s,l,p,d,m;return g(this,function(u){switch(u.label){case 0:if(!e)return[2];t=e.timing,n=e.results,(i=this.operationService.getOperation(t.triggerOperationId))||(i={activities:[],operationId:"--",operationName:"--"}),r="
";try{for(o=y(n),a=o.next();!a.done;a=o.next())s=a.value,l=this.translatePipe.transform(s.error.responseCode,!0),(p=this.minionsService.getMinion(s.minionId))||(p={name:"--"}),r+="
"+this.translatePipe.transform("SET")+" "+p.name+" "+this.translatePipe.transform("FAIL")+", "+l}catch(h){d={error:h}}finally{try{a&&!a.done&&(m=o.return)&&m.call(o)}finally{if(d)throw d.error}}return[4,c()({type:n.length<1?"success":"warning",title:t.timingName+" "+this.translatePipe.transform("ACTIVATED"),html:""+this.translatePipe.transform("ACTIVATED_OPERATION")+": "+i.operationName+""+r,timer:6e4,showConfirmButton:!0,showCancelButton:!1,confirmButtonText:this.translatePipe.transform("OK")})];case 1:return u.sent(),[2]}})})})},t.prototype.ngAfterContentInit=function(){document.getElementById("loading-app-assets").innerHTML=""},t.prototype.ngOnDestroy=function(){this.activatedTimingSubscription.unsubscribe()},t.prototype.getRouteAnimation=function(t){return t.activatedRouteData.animation},t.prototype.toggleView=function(){this.media.isActive("gt-md")?(this.sideNavMode="side",this.sideNavOpened=!0,this.matDrawerOpened=!1,this.matDrawerShow=!0):this.media.isActive("gt-xs")?(this.sideNavMode="side",this.sideNavOpened=!1,this.matDrawerOpened=!0,this.matDrawerShow=!0):this.media.isActive("lt-sm")&&(this.sideNavMode="over",this.sideNavOpened=!1,this.matDrawerOpened=!1,this.matDrawerShow=!1)},t.ctorParameters=function(){return[{type:o.g},{type:a.a},{type:d.a},{type:m.a},{type:l.a}]},u([Object(i.G)(),h("design:type",Object)],t.prototype,"isVisible",void 0),t=u([Object(i.n)({selector:"app-auth",template:b(n("dlo3")).default,styles:[b(n("7g1B")).default]}),h("design:paramtypes",[o.g,a.a,d.a,m.a,l.a])],t)}(),_=n("ZYCi"),x=n("8mMr"),O=n("UodH"),k=n("SMsm"),C=n("Nsh5"),S=n("La40"),w=n("bse0"),T=n("X2iB"),E=n("l01N"),j=n("o3x0"),P=n("q9mj"),R=n("v6lC"),A=n("geZN"),I=n("0FJh"),D=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},M=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},N=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},B=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},G=function(){function t(t,e,n,i,r){this.changeDetectorRef=t,this.dialog=e,this.translateService=n,this.minionsService=i,this.devicesService=r,this.dataLoading=!0,this.minions=[],this.translatePipe=new p.a(this.translateService)}return t.prototype.ngOnInit=function(){var t=this;this.minionSubscription=this.minionsService.minionsFeed.subscribe(function(e){var n,i;t.dataLoading=!1,t.minions=t.minions.filter(function(t){var n,i;try{for(var r=F(e),o=r.next();!o.done;o=r.next()){if(o.value.minionId===t.minionId)return!0}}catch(a){n={error:a}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return!1});try{for(var r=F(e),o=r.next();!o.done;o=r.next()){var a=o.value;if(a.minionStatus[a.minionType]){var s=t.getExistMinion(a.minionId);s?(s.isProperlyCommunicated=a.isProperlyCommunicated,s.name=a.name,s.minionAutoTurnOffMS=a.minionAutoTurnOffMS,s.calibrationCycleMinutes=a.calibrationCycleMinutes,s.device=a.device,s.minionStatus=a.minionStatus,t.createUpdateSet(s)):(t.createUpdateSet(a),t.minions.push(a))}}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}t.minions.sort(function(t,e){return t.minionType===e.minionType?t.name\n\t\t\t\t\t'+this.translatePipe.transform("INNER_ID")+" "+t.minionId+" \n\t\t\t\t\t"+this.translatePipe.transform("BRAND")+" "+t.device.brand+" \n\t\t\t\t\t"+this.translatePipe.transform("MODEL")+" "+t.device.model+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_NAME")+" "+(t.device.pysicalDevice.name||"?")+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_MAC")+" "+t.device.pysicalDevice.mac+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_IP")+" "+(t.device.pysicalDevice.ip||"?")+"\n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_VENDOR")+" "+(t.device.pysicalDevice.vendor||"?")+" \n\t\t\t\t",confirmButtonText:this.translatePipe.transform("CLOSE")})];case 1:return e.sent(),[2]}})})},t.prototype.refreshMinion=function(t){return N(this,void 0,void 0,function(){return B(this,function(e){switch(e.label){case 0:return t.sync=!0,[4,this.minionsService.refreshMinion(t)];case 1:return e.sent(),t.sync=!1,[2]}})})},t.prototype.resendLastStatusUpdate=function(t){return N(this,void 0,void 0,function(){return B(this,function(e){switch(e.label){case 0:return t.sync=!0,[4,this.minionsService.setStatus(t)];case 1:return e.sent(),t.sync=!1,[2]}})})},t.prototype.recordModePressed=function(t){if(t.recordMode)return t.recordMode=void 0,void this.createUpdateSet(t);t.recordMode=!0},t.prototype.fetchCommands=function(t){return N(this,void 0,void 0,function(){var e,n,i=this;return B(this,function(r){switch(r.label){case 0:return e=[],[4,c()({title:this.translatePipe.transform("GETTING_SUPPOTERD_DEVICES"),timer:1e3,onBeforeOpen:function(){return N(i,void 0,void 0,function(){return B(this,function(t){switch(t.label){case 0:return c.a.showLoading(),c.a.stopTimer(),[4,this.minionsService.getCommandsRepoAvailableDevices()];case 1:return e=t.sent(),c.a.resumeTimer(),[2]}})})}})];case 1:return r.sent(),e?(e.sort(function(t,e){return t.brand===e.brand?t.model=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},V=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},z=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},Y=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},Z=function(){function t(t,e,n,i){var r=this;this.dialog=t,this.translateService=e,this.minionsService=n,this.operationService=i,this.dataLoading=!1,this.operations=[],this.rawOperations=[],this.activityColumns=["name","status","properties"],this.translatePipe=new p.a(this.translateService),this.minionsSubscription=this.minionsService.minionsFeed.subscribe(function(t){r.parseOperations()}),this.operationSubscription=this.operationService.operationFeed.subscribe(function(t){r.rawOperations=t,r.parseOperations()})}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.minionsSubscription.unsubscribe(),this.operationSubscription.unsubscribe()},t.prototype.parseOperations=function(){var t,e,n=this;this.operations=[];try{for(var i=X(this.rawOperations),r=i.next();!r.done;r=i.next()){var o=r.value,a=o.operationId,s=o.operationName,c=o.activities,l=c.map(function(t){var e=n.minionsService.getMinion(t.minionId);if(!e)return{name:"--",status:"--",properties:[],operationActivity:t};var i=Object.entries(t.minionStatus[e.minionType]).map(function(t){return{name:t[0],value:String(t[1])}});return i=i.filter(function(t){return"status"!==t.name}),{name:e.name,status:t.minionStatus[e.minionType].status,operationActivity:t,properties:i}});this.operations.push({activities:c,operationId:a,operationName:s,activitiesDisplay:l})}}catch(p){t={error:p}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},t.prototype.createOperation=function(){this.dialog.open(H.a,{data:{}})},t.prototype.triggerOperation=function(t){return z(this,void 0,void 0,function(){return Y(this,function(e){switch(e.label){case 0:return t.sync=!0,[4,this.operationService.triggerOperation(t)];case 1:return e.sent(),t.sync=!1,[2]}})})},t.prototype.renameOperation=function(t){return z(this,void 0,void 0,function(){var e,n,i;return Y(this,function(r){switch(r.label){case 0:return[4,c()({title:""+this.translatePipe.transform("SET_A_NEW_NAME"),text:this.translatePipe.transform("CURRENT_NAME")+": "+t.operationName,input:"text",showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=r.sent())&&e.dismiss?[2]:(n=t.operationId,i=t.activities,t.sync=!0,[4,this.operationService.editOperation({operationId:n,activities:i,operationName:e.value})]);case 2:return r.sent(),t.sync=!1,[2]}})})},t.prototype.deleteOperation=function(t){return z(this,void 0,void 0,function(){var e;return Y(this,function(n){switch(n.label){case 0:return[4,c()({type:"warning",title:this.translatePipe.transform("SURE")+"?",text:this.translatePipe.transform("BEFORE_DELETE_MESSAGE")+" "+t.operationName+" ?",showConfirmButton:!0,confirmButtonColor:"red",showCancelButton:!0,confirmButtonText:this.translatePipe.transform("DELETE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:(t.sync=!0,[4,this.operationService.deleteOperation(t)]);case 2:return n.sent(),t.sync=!1,[2]}})})},t.prototype.showInfo=function(t){return z(this,void 0,void 0,function(){return Y(this,function(e){switch(e.label){case 0:return[4,c()({type:"info",title:this.translatePipe.transform("OPERATION_ID")+":",text:t.operationId,showConfirmButton:!0,showCancelButton:!1,confirmButtonText:this.translatePipe.transform("OK")})];case 1:return e.sent(),[2]}})})},t.prototype.refreshData=function(){return z(this,void 0,void 0,function(){return Y(this,function(t){switch(t.label){case 0:return this.dataLoading=!0,[4,this.operationService.refreshData()];case 1:return t.sent(),this.dataLoading=!1,[2]}})})},t.ctorParameters=function(){return[{type:j.b},{type:l.a},{type:d.a},{type:m.a}]},t=U([Object(i.n)({selector:"app-operations",template:W(n("RAeY")).default,styles:[W(n("ZTDs")).default]}),V("design:paramtypes",[j.b,l.a,d.a,m.a])],t)}(),K=n("fICr"),q=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},$=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Q=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},J=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},it=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},rt=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},ot=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},dt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},mt=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,s)}c((i=i.apply(t,e||[])).next())})},ut=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]18?c.a.disableConfirmButton():c.a.enableConfirmButton()}else c.a.disableConfirmButton()})},showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=a.sent())&&e.dismiss?[2]:(n=t.email,i=t.displayName,r=t.scope,o=t.ignoreTfa,t.psync=!0,[4,this.usersService.editUser({email:n,displayName:i,scope:r,ignoreTfa:o,password:e.value})]);case 2:return a.sent(),t.psync=!1,[2]}})})},t.prototype.deactivateSEssions=function(t){return mt(this,void 0,void 0,function(){var e,n,i,r,o;return ut(this,function(a){switch(a.label){case 0:return[4,c()({title:""+this.translatePipe.transform("DEACTIVATE_SESSIONS"),text:this.translatePipe.transform("FOR_THE_USER")+": "+t.displayName,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=a.sent())&&e.dismiss?[2]:(n=t.email,i=t.displayName,r=t.scope,o=t.ignoreTfa,t.bsync=!0,[4,this.usersService.deactivateUserSessions({email:n,displayName:i,scope:r,ignoreTfa:o,password:e.value})]);case 2:return a.sent(),t.bsync=!1,[2]}})})},t.prototype.registerUserToRemoteServer=function(t){return mt(this,void 0,void 0,function(){var e,n;return ut(this,function(i){switch(i.label){case 0:return[4,c()({title:""+this.translatePipe.transform("REGISTER_USER"),text:this.translatePipe.transform("THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT")+" "+t.email,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SEND"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=i.sent())&&e.dismiss?[2]:[4,this.usersService.requestRegistrationCode(t)];case 2:return i.sent(),[4,c()({title:""+this.translatePipe.transform("ENTER_THE_SENT_CODE"),input:"text",showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 3:return(n=i.sent())&&n.dismiss?[2]:[4,this.usersService.requestRegiterUser(t,n.value)];case 4:return i.sent(),[2]}})})},t.prototype.removeUserFromTheRemoteServer=function(t){return mt(this,void 0,void 0,function(){var e;return ut(this,function(n){switch(n.label){case 0:return[4,c()({title:this.translatePipe.transform("SURE")+"?",text:t.email+" "+this.translatePipe.transform("WILL_REMOVE_FROM_THE_REMOTE_SERVER"),showConfirmButton:!0,showCancelButton:!0,confirmButtonColor:"red",confirmButtonText:this.translatePipe.transform("REMOVE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:[4,this.usersService.removeUserFromRemote(t.email)];case 2:return n.sent(),[2]}})})},t.prototype.deleteUser=function(t){return mt(this,void 0,void 0,function(){var e;return ut(this,function(n){switch(n.label){case 0:return[4,c()({type:"warning",title:this.translatePipe.transform("SURE")+"?",text:this.translatePipe.transform("BEFORE_DELETE_MESSAGE")+" "+t.displayName+" ?",showConfirmButton:!0,confirmButtonColor:"red",showCancelButton:!0,confirmButtonText:this.translatePipe.transform("DELETE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:(t.dsync=!0,[4,this.usersService.deleteUser(t.email)]);case 2:return n.sent(),t.dsync=!1,[2]}})})},t.prototype.refreshData=function(){return mt(this,void 0,void 0,function(){return ut(this,function(t){switch(t.label){case 0:return this.dataLoading=!0,[4,this.usersService.refreshData()];case 1:return t.sent(),this.dataLoading=!1,[2]}})})},t.ctorParameters=function(){return[{type:j.b},{type:l.a},{type:ct.a}]},t=pt([Object(i.n)({selector:"app-users",template:ht(n("qHuH")).default,styles:[ht(n("AF2v")).default]}),dt("design:paramtypes",[j.b,l.a,ct.a])],t)}(),gt=[{path:"",component:v,children:[{path:"minions",component:G},{path:"operations",component:Z},{path:"timings",component:et},{path:"devices",component:st},{path:"users",component:ft},{path:"pages",loadChildren:function(){return n.e(8).then(n.bind(null,"dgmN")).then(function(t){return t.PagesModule})}}]}],bt=n("V9q+"),yt=n("FVSy"),vt=n("ihYY"),_t=n("mrSG"),xt=n("n6gG"),Ot=n("K9Ia"),kt=n("pugT"),Ct=n("YlbQ"),St=0,wt=function(){function t(){this._stateChanges=new Ot.a,this._openCloseAllActions=new Ot.a,this.id="cdk-accordion-"+St++,this._multi=!1}return Object.defineProperty(t.prototype,"multi",{get:function(){return this._multi},set:function(t){this._multi=Object(xt.c)(t)},enumerable:!0,configurable:!0}),t.prototype.openAll=function(){this._openCloseAll(!0)},t.prototype.closeAll=function(){this._openCloseAll(!1)},t.prototype.ngOnChanges=function(t){this._stateChanges.next(t)},t.prototype.ngOnDestroy=function(){this._stateChanges.complete()},t.prototype._openCloseAll=function(t){this.multi&&this._openCloseAllActions.next(t)},t.decorators=[{type:i.t,args:[{selector:"cdk-accordion, [cdkAccordion]",exportAs:"cdkAccordion"}]}],t.propDecorators={multi:[{type:i.G}]},t}(),Tt=0,Et=function(){function t(t,e,n){var r=this;this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=kt.a.EMPTY,this.closed=new i.x,this.opened=new i.x,this.destroyed=new i.x,this.expandedChange=new i.x,this.id="cdk-accordion-child-"+Tt++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=n.listen(function(t,e){r.accordion&&!r.accordion.multi&&r.accordion.id===e&&r.id!==t&&(r.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){if(t=Object(xt.c)(t),this._expanded!==t){if(this._expanded=t,this.expandedChange.emit(t),t){this.opened.emit();var e=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,e)}else this.closed.emit();this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(xt.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()},t.prototype.toggle=function(){this.disabled||(this.expanded=!this.expanded)},t.prototype.close=function(){this.disabled||(this.expanded=!1)},t.prototype.open=function(){this.disabled||(this.expanded=!0)},t.prototype._subscribeToOpenCloseAllActions=function(){var t=this;return this.accordion._openCloseAllActions.subscribe(function(e){t.disabled||(t.expanded=e)})},t.decorators=[{type:i.t,args:[{selector:"cdk-accordion-item, [cdkAccordionItem]",exportAs:"cdkAccordionItem",providers:[{provide:wt,useValue:void 0}]}]}],t.ctorParameters=function(){return[{type:wt,decorators:[{type:i.R},{type:i.fb}]},{type:i.k},{type:Ct.d}]},t.propDecorators={closed:[{type:i.S}],opened:[{type:i.S}],destroyed:[{type:i.S}],expandedChange:[{type:i.S}],expanded:[{type:i.G}],disabled:[{type:i.G}]},t}(),jt=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[wt,Et],declarations:[wt,Et]}]}],t}(),Pt=n("4c35"),Rt=n("wFw1"),At=n("G5J1"),It=n("p0ib"),Dt=n("ad02"),Mt=n("p0Sj"),Nt=n("VnD/"),Bt=n("t9fZ"),Lt=n("lLAP"),Ft=n("YSh2"),Gt=new i.E("MAT_ACCORDION"),Ht={indicatorRotate:Object(vt.n)("indicatorRotate",[Object(vt.k)("collapsed, void",Object(vt.l)({transform:"rotate(0deg)"})),Object(vt.k)("expanded",Object(vt.l)({transform:"rotate(180deg)"})),Object(vt.m)("expanded <=> collapsed, void => collapsed",Object(vt.e)("225ms cubic-bezier(0.4,0.0,0.2,1)"))]),expansionHeaderHeight:Object(vt.n)("expansionHeight",[Object(vt.k)("collapsed, void",Object(vt.l)({height:"{{collapsedHeight}}"}),{params:{collapsedHeight:"48px"}}),Object(vt.k)("expanded",Object(vt.l)({height:"{{expandedHeight}}"}),{params:{expandedHeight:"64px"}}),Object(vt.m)("expanded <=> collapsed, void => collapsed",Object(vt.g)([Object(vt.i)("@indicatorRotate",Object(vt.f)(),{optional:!0}),Object(vt.e)("225ms cubic-bezier(0.4,0.0,0.2,1)")]))]),bodyExpansion:Object(vt.n)("bodyExpansion",[Object(vt.k)("collapsed, void",Object(vt.l)({height:"0px",visibility:"hidden"})),Object(vt.k)("expanded",Object(vt.l)({height:"*",visibility:"visible"})),Object(vt.m)("expanded <=> collapsed, void => collapsed",Object(vt.e)("225ms cubic-bezier(0.4,0.0,0.2,1)"))])},Ut=function(){function t(t){this._template=t}return t.decorators=[{type:i.t,args:[{selector:"ng-template[matExpansionPanelContent]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t}(),Vt=0,zt=new i.E("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Yt=function(t){function e(e,n,r,o,a,s,c){var l=t.call(this,e,n,r)||this;return l._viewContainerRef=o,l._animationMode=s,l._hideToggle=!1,l.afterExpand=new i.x,l.afterCollapse=new i.x,l._inputChanges=new Ot.a,l._headerId="mat-expansion-panel-header-"+Vt++,l._bodyAnimationDone=new Ot.a,l.accordion=e,l._document=a,l._bodyAnimationDone.pipe(Object(Dt.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})).subscribe(function(t){"void"!==t.fromState&&("expanded"===t.toState?l.afterExpand.emit():"collapsed"===t.toState&&l.afterCollapse.emit())}),c&&(l.hideToggle=c.hideToggle),l}return Object(_t.c)(e,t),Object.defineProperty(e.prototype,"hideToggle",{get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(t){this._hideToggle=Object(xt.c)(t)},enumerable:!0,configurable:!0}),e.prototype._hasSpacing=function(){return!!this.accordion&&"default"===(this.expanded?this.accordion.displayMode:this._getExpandedState())},e.prototype._getExpandedState=function(){return this.expanded?"expanded":"collapsed"},e.prototype.ngAfterContentInit=function(){var t=this;this._lazyContent&&this.opened.pipe(Object(Mt.a)(null),Object(Nt.a)(function(){return t.expanded&&!t._portal}),Object(Bt.a)(1)).subscribe(function(){t._portal=new Pt.i(t._lazyContent._template,t._viewContainerRef)})},e.prototype.ngOnChanges=function(t){this._inputChanges.next(t)},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()},e.prototype._containsFocus=function(){if(this._body&&this._document){var t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1},e.decorators=[{type:i.n,args:[{styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(.4,0,.2,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (-ms-high-contrast:active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel._mat-animation-noopable,.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button{margin-left:0;margin-right:8px}"],selector:"mat-expansion-panel",exportAs:"matExpansionPanel",template:'
',encapsulation:i.qb.None,changeDetection:i.j.OnPush,inputs:["disabled","expanded"],outputs:["opened","closed","expandedChange"],animations:[Ht.bodyExpansion],providers:[{provide:Gt,useValue:void 0}],host:{class:"mat-expansion-panel","[class.mat-expanded]":"expanded","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"[class.mat-expansion-panel-spacing]":"_hasSpacing()"}}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.R},{type:i.fb},{type:i.C,args:[Gt]}]},{type:i.k},{type:Ct.d},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[Rt.a]}]},{type:void 0,decorators:[{type:i.C,args:[zt]},{type:i.R}]}]},e.propDecorators={hideToggle:[{type:i.G}],afterExpand:[{type:i.S}],afterCollapse:[{type:i.S}],_lazyContent:[{type:i.r,args:[Ut]}],_body:[{type:i.nb,args:["body"]}]},e}(Et),Wt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-action-row",host:{class:"mat-action-row"}}]}],t}(),Xt=function(){function t(t,e,n,i,r){var o=this;this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._parentChangeSubscription=kt.a.EMPTY;var a=t.accordion?t.accordion._stateChanges.pipe(Object(Nt.a)(function(t){return!!t.hideToggle})):At.a;this._parentChangeSubscription=Object(It.a)(t.opened,t.closed,a,t._inputChanges.pipe(Object(Nt.a)(function(t){return!(!t.hideToggle&&!t.disabled)}))).subscribe(function(){return o._changeDetectorRef.markForCheck()}),t.closed.pipe(Object(Nt.a)(function(){return t._containsFocus()})).subscribe(function(){return n.focusVia(e,"program")}),n.monitor(e).subscribe(function(e){e&&t.accordion&&t.accordion._handleHeaderFocus(o)}),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.panel.disabled},enumerable:!0,configurable:!0}),t.prototype._toggle=function(){this.panel.toggle()},t.prototype._isExpanded=function(){return this.panel.expanded},t.prototype._getExpandedState=function(){return this.panel._getExpandedState()},t.prototype._getPanelId=function(){return this.panel.id},t.prototype._showToggle=function(){return!this.panel.hideToggle&&!this.panel.disabled},t.prototype._keydown=function(t){switch(t.keyCode){case Ft.n:case Ft.f:Object(Ft.s)(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}},t.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor.focusVia(this._element,t)},t.prototype.ngOnDestroy=function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)},t.decorators=[{type:i.n,args:[{selector:"mat-expansion-panel-header",styles:[".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:0}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-description,.mat-expansion-panel-header-title{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-description,[dir=rtl] .mat-expansion-panel-header-title{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:'';display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}"],template:'',encapsulation:i.qb.None,changeDetection:i.j.OnPush,animations:[Ht.indicatorRotate,Ht.expansionHeaderHeight],host:{class:"mat-expansion-panel-header",role:"button","[attr.id]":"panel._headerId","[attr.tabindex]":"disabled ? -1 : 0","[attr.aria-controls]":"_getPanelId()","[attr.aria-expanded]":"_isExpanded()","[attr.aria-disabled]":"panel.disabled","[class.mat-expanded]":"_isExpanded()","(click)":"_toggle()","(keydown)":"_keydown($event)","[@expansionHeight]":"{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }"}}]}],t.ctorParameters=function(){return[{type:Yt,decorators:[{type:i.y}]},{type:i.u},{type:Lt.e},{type:i.k},{type:void 0,decorators:[{type:i.C,args:[zt]},{type:i.R}]}]},t.propDecorators={expandedHeight:[{type:i.G}],collapsedHeight:[{type:i.G}]},t}(),Zt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-panel-description",host:{class:"mat-expansion-panel-header-description"}}]}],t}(),Kt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-panel-title",host:{class:"mat-expansion-panel-header-title"}}]}],t}(),qt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._hideToggle=!1,e.displayMode="default",e}return Object(_t.c)(e,t),Object.defineProperty(e.prototype,"hideToggle",{get:function(){return this._hideToggle},set:function(t){this._hideToggle=Object(xt.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._keyManager=new Lt.d(this._headers).withWrap()},e.prototype._handleHeaderKeydown=function(t){var e=t.keyCode,n=this._keyManager;e===Ft.h?(n.setFirstItemActive(),t.preventDefault()):e===Ft.e?(n.setLastItemActive(),t.preventDefault()):this._keyManager.onKeydown(t)},e.prototype._handleHeaderFocus=function(t){this._keyManager.updateActiveItem(t)},e.decorators=[{type:i.t,args:[{selector:"mat-accordion",exportAs:"matAccordion",inputs:["multi"],providers:[{provide:Gt,useExisting:e}],host:{class:"mat-accordion"}}]}],e.propDecorators={_headers:[{type:i.s,args:[Xt,{descendants:!0}]}],hideToggle:[{type:i.G}],displayMode:[{type:i.G}]},e}(wt),$t=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b,jt,Pt.h],exports:[qt,Yt,Wt,Xt,Kt,Zt,Ut],declarations:[qt,Yt,Wt,Xt,Kt,Zt,Ut]}]}],t}(),Qt=n("d2mR"),Jt=n("dWZg"),te=n("Wf4p"),ee=100,ne=function(t){this._elementRef=t},ie=Object(te.u)(ne,"primary"),re=new i.E("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:ee}}});var oe=function(t){function e(e,n,i,r,o){var a=t.call(this,e)||this;a._elementRef=e,a._document=i,a.animationMode=r,a.defaults=o,a._value=0,a._fallbackAnimation=!1,a._noopAnimations="NoopAnimations"===a.animationMode&&!!a.defaults&&!a.defaults._forceAnimations,a._diameter=ee,a.mode="determinate",a._fallbackAnimation=n.EDGE||n.TRIDENT,o&&(o.diameter&&(a.diameter=o.diameter),o.strokeWidth&&(a.strokeWidth=o.strokeWidth));var s="mat-progress-spinner-indeterminate"+(a._fallbackAnimation?"-fallback":"")+"-animation";return e.nativeElement.classList.add(s),a}return Object(_t.c)(e,t),Object.defineProperty(e.prototype,"diameter",{get:function(){return this._diameter},set:function(t){this._diameter=Object(xt.f)(t),this._fallbackAnimation||e.diameters.has(this._diameter)||this._attachStyleNode()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"strokeWidth",{get:function(){return this._strokeWidth||this.diameter/10},set:function(t){this._strokeWidth=Object(xt.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return"determinate"===this.mode?this._value:0},set:function(t){this._value=Math.max(0,Math.min(100,Object(xt.f)(t)))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_circleRadius",{get:function(){return(this.diameter-10)/2},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_viewBox",{get:function(){var t=2*this._circleRadius+this.strokeWidth;return"0 0 "+t+" "+t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_strokeCircumference",{get:function(){return 2*Math.PI*this._circleRadius},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_strokeDashOffset",{get:function(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_circleStrokeWidth",{get:function(){return this.strokeWidth/this.diameter*100},enumerable:!0,configurable:!0}),e.prototype._attachStyleNode=function(){var t=e.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),e.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),e.diameters.add(this.diameter)},e.prototype._getAnimationText=function(){return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*this._strokeCircumference).replace(/END_VALUE/g,""+.2*this._strokeCircumference).replace(/DIAMETER/g,""+this.diameter)},e.diameters=new Set([ee]),e.styleTag=null,e.decorators=[{type:i.n,args:[{selector:"mat-progress-spinner",exportAs:"matProgressSpinner",host:{role:"progressbar",class:"mat-progress-spinner","[class._mat-animation-noopable]":"_noopAnimations","[style.width.px]":"diameter","[style.height.px]":"diameter","[attr.aria-valuemin]":'mode === "determinate" ? 0 : null',"[attr.aria-valuemax]":'mode === "determinate" ? 100 : null',"[attr.aria-valuenow]":"value","[attr.mode]":"mode"},inputs:["color"],template:'',styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],e.ctorParameters=function(){return[{type:i.u},{type:Jt.a},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[Rt.a]}]},{type:void 0,decorators:[{type:i.C,args:[re]}]}]},e.propDecorators={diameter:[{type:i.G}],strokeWidth:[{type:i.G}],mode:[{type:i.G}],value:[{type:i.G}]},e}(ie),ae=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i,r,o)||this;return a.mode="indeterminate",a}return Object(_t.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-spinner",host:{role:"progressbar",mode:"indeterminate",class:"mat-spinner mat-progress-spinner","[class._mat-animation-noopable]":"_noopAnimations","[style.width.px]":"diameter","[style.height.px]":"diameter"},inputs:["color"],template:'',styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],e.ctorParameters=function(){return[{type:i.u},{type:Jt.a},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[Rt.a]}]},{type:void 0,decorators:[{type:i.C,args:[re]}]}]},e}(oe),se=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[te.h,r.b],exports:[oe,ae,te.h],declarations:[oe,ae]}]}],t}(),ce=n("F/XL"),le=n("KQya"),pe=n("15JJ"),de=n("ny24"),me=n("vubp"),ue=n("Fzqc"),he=n("eDkP"),fe=function(){function t(t,e,n,i,r,o){this._template=t,this._componentFactoryResolver=e,this._appRef=n,this._injector=i,this._viewContainerRef=r,this._document=o,this._attached=new Ot.a}return t.prototype.attach=function(t){void 0===t&&(t={}),this._portal||(this._portal=new Pt.i(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new Pt.e(this._document.createElement("div"),this._componentFactoryResolver,this._appRef,this._injector));var e=this._template.elementRef.nativeElement;e.parentNode.insertBefore(this._outlet.outletElement,e),this._portal.attach(this._outlet,t),this._attached.next()},t.prototype.detach=function(){this._portal.isAttached&&this._portal.detach()},t.prototype.ngOnDestroy=function(){this._outlet&&this._outlet.dispose()},t.decorators=[{type:i.t,args:[{selector:"ng-template[matMenuContent]"}]}],t.ctorParameters=function(){return[{type:i.jb},{type:i.p},{type:i.g},{type:i.F},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t}(),ge={transformMenu:Object(vt.n)("transformMenu",[Object(vt.k)("void",Object(vt.l)({opacity:0,transform:"scale(0.8)"})),Object(vt.m)("void => enter",Object(vt.g)([Object(vt.i)(".mat-menu-content",Object(vt.e)("100ms linear",Object(vt.l)({opacity:1}))),Object(vt.e)("120ms cubic-bezier(0, 0, 0.2, 1)",Object(vt.l)({transform:"scale(1)"}))])),Object(vt.m)("* => void",Object(vt.e)("100ms 25ms linear",Object(vt.l)({opacity:0})))]),fadeInItems:Object(vt.n)("fadeInItems",[Object(vt.k)("showing",Object(vt.l)({opacity:1})),Object(vt.m)("void => *",[Object(vt.l)({opacity:0}),Object(vt.e)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};ge.fadeInItems,ge.transformMenu;var be=new i.E("MAT_MENU_PANEL"),ye=function(){},ve=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o._elementRef=e,o._focusMonitor=i,o._parentMenu=r,o.role="menuitem",o._hovered=new Ot.a,o._highlighted=!1,o._triggersSubmenu=!1,i&&i.monitor(o._elementRef,!1),r&&r.addItem&&r.addItem(o),o._document=n,o}return Object(_t.c)(e,t),e.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()},e.prototype.ngOnDestroy=function(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()},e.prototype._getTabIndex=function(){return this.disabled?"-1":"0"},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._checkDisabled=function(t){this.disabled&&(t.preventDefault(),t.stopPropagation())},e.prototype._handleMouseEnter=function(){this._hovered.next(this)},e.prototype.getLabel=function(){var t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3,n="";if(t.childNodes)for(var i=t.childNodes.length,r=0;r
'}]}],e.ctorParameters=function(){return[{type:i.u},{type:void 0,decorators:[{type:i.C,args:[r.c]}]},{type:Lt.e},{type:void 0,decorators:[{type:i.C,args:[be]},{type:i.R}]}]},e.propDecorators={role:[{type:i.G}]},e}(Object(te.v)(Object(te.w)(ye))),_e=new i.E("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});var xe=function(){function t(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new Ot.a,this._tabSubscription=kt.a.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new Ot.a,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new i.x,this.close=this.closed}return Object.defineProperty(t.prototype,"xPosition",{get:function(){return this._xPosition},set:function(t){"before"!==t&&"after"!==t&&function(){throw Error('xPosition value must be either \'before\' or after\'.\n Example: ')}(),this._xPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yPosition",{get:function(){return this._yPosition},set:function(t){"above"!==t&&"below"!==t&&function(){throw Error('yPosition value must be either \'above\' or below\'.\n Example: ')}(),this._yPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlapTrigger",{get:function(){return this._overlapTrigger},set:function(t){this._overlapTrigger=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{set:function(t){var e=this,n=this._previousPanelClass;n&&n.length&&n.split(" ").forEach(function(t){e._classList[t]=!1}),this._previousPanelClass=t,t&&t.length&&(t.split(" ").forEach(function(t){e._classList[t]=!0}),this._elementRef.nativeElement.className="")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"classList",{get:function(){return this.panelClass},set:function(t){this.panelClass=t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.setPositionClasses()},t.prototype.ngAfterContentInit=function(){var t=this;this._keyManager=new Lt.d(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(function(){return t.closed.emit("tab")})},t.prototype.ngOnDestroy=function(){this._tabSubscription.unsubscribe(),this.closed.complete()},t.prototype._hovered=function(){return this._itemChanges.pipe(Object(Mt.a)(this._items),Object(pe.a)(function(t){return It.a.apply(void 0,t.map(function(t){return t._hovered}))}))},t.prototype._handleKeydown=function(t){var e=t.keyCode;switch(e){case Ft.g:this.closed.emit("keydown");break;case Ft.i:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ft.m:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Ft.p&&e!==Ft.d||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}},t.prototype.focusFirstItem=function(t){var e=this;void 0===t&&(t="program"),this.lazyContent?this._ngZone.onStable.asObservable().pipe(Object(Bt.a)(1)).subscribe(function(){return e._keyManager.setFocusOrigin(t).setFirstItemActive()}):this._keyManager.setFocusOrigin(t).setFirstItemActive()},t.prototype.resetActiveItem=function(){this._keyManager.setActiveItem(-1)},t.prototype.setElevation=function(t){var e="mat-elevation-z"+(4+t),n=Object.keys(this._classList).find(function(t){return t.startsWith("mat-elevation-z")});n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)},t.prototype.addItem=function(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))},t.prototype.removeItem=function(t){var e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))},t.prototype.setPositionClasses=function(t,e){void 0===t&&(t=this.xPosition),void 0===e&&(e=this.yPosition);var n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e},t.prototype._startAnimation=function(){this._panelAnimationState="enter"},t.prototype._resetAnimation=function(){this._panelAnimationState="void"},t.prototype._onAnimationDone=function(t){this._animationDone.next(t),this._isAnimating=!1},t.prototype._onAnimationStart=function(t){this._isAnimating=!0,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)},t.decorators=[{type:i.n,args:[{selector:"mat-menu",template:'',styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0}.mat-menu-panel.ng-animating{pointer-events:none}@media (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None,exportAs:"matMenu",animations:[ge.transformMenu,ge.fadeInItems],providers:[{provide:be,useExisting:t}]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Q},{type:void 0,decorators:[{type:i.C,args:[_e]}]}]},t.propDecorators={backdropClass:[{type:i.G}],xPosition:[{type:i.G}],yPosition:[{type:i.G}],templateRef:[{type:i.nb,args:[i.jb]}],items:[{type:i.s,args:[ve]}],lazyContent:[{type:i.r,args:[fe]}],overlapTrigger:[{type:i.G}],hasBackdrop:[{type:i.G}],panelClass:[{type:i.G,args:["class"]}],classList:[{type:i.G}],closed:[{type:i.S}],close:[{type:i.S}]},t}(),Oe=new i.E("mat-menu-scroll-strategy");var ke={provide:Oe,deps:[he.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},Ce=Object(Jt.f)({passive:!0}),Se=function(){function t(t,e,n,r,o,a,s,c){var l=this;this._overlay=t,this._element=e,this._viewContainerRef=n,this._parentMenu=o,this._menuItemInstance=a,this._dir=s,this._focusMonitor=c,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=kt.a.EMPTY,this._hoverSubscription=kt.a.EMPTY,this._menuCloseSubscription=kt.a.EMPTY,this._handleTouchStart=function(){return l._openedBy="touch"},this._openedBy=null,this.menuOpened=new i.x,this.onMenuOpen=this.menuOpened,this.menuClosed=new i.x,this.onMenuClose=this.menuClosed,e.nativeElement.addEventListener("touchstart",this._handleTouchStart,Ce),a&&(a._triggersSubmenu=this.triggersSubmenu()),this._scrollStrategy=r}return Object.defineProperty(t.prototype,"_deprecatedMatMenuTriggerFor",{get:function(){return this.menu},set:function(t){this.menu=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menu",{get:function(){return this._menu},set:function(t){var e=this;t!==this._menu&&(this._menu=t,this._menuCloseSubscription.unsubscribe(),t&&(this._menuCloseSubscription=t.close.asObservable().subscribe(function(t){e._destroyMenu(),"click"!==t&&"tab"!==t||!e._parentMenu||e._parentMenu.closed.emit(t)})))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._checkMenu(),this._handleHover()},t.prototype.ngOnDestroy=function(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,Ce),this._cleanUpSubscriptions(),this._closingActionsSubscription.unsubscribe()},Object.defineProperty(t.prototype,"menuOpen",{get:function(){return this._menuOpen},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},enumerable:!0,configurable:!0}),t.prototype.triggersSubmenu=function(){return!(!this._menuItemInstance||!this._parentMenu)},t.prototype.toggleMenu=function(){return this._menuOpen?this.closeMenu():this.openMenu()},t.prototype.openMenu=function(){var t=this;if(!this._menuOpen){this._checkMenu();var e=this._createOverlay(),n=e.getConfig();this._setPosition(n.positionStrategy),n.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,e.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(function(){return t.closeMenu()}),this._initMenu(),this.menu instanceof xe&&this.menu._startAnimation()}},t.prototype.closeMenu=function(){this.menu.close.emit()},t.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor?this._focusMonitor.focusVia(this._element,t):this._element.nativeElement.focus()},t.prototype._destroyMenu=function(){var t=this;if(this._overlayRef&&this.menuOpen){var e=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),e instanceof xe?(e._resetAnimation(),e.lazyContent?e._animationDone.pipe(Object(Nt.a)(function(t){return"void"===t.toState}),Object(Bt.a)(1),Object(de.a)(e.lazyContent._attached)).subscribe(function(){return e.lazyContent.detach()},void 0,function(){t._resetMenu()}):this._resetMenu()):(this._resetMenu(),e.lazyContent&&e.lazyContent.detach())}},t.prototype._initMenu=function(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedBy||"program")},t.prototype._setMenuElevation=function(){if(this.menu.setElevation){for(var t=0,e=this.menu.parentMenu;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}},t.prototype._resetMenu=function(){this._setIsMenuOpen(!1),this._openedBy?this.triggersSubmenu()||this.focus(this._openedBy):this.focus(),this._openedBy=null},t.prototype._setIsMenuOpen=function(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)},t.prototype._checkMenu=function(){this.menu||function(){throw Error('matMenuTriggerFor: must pass in an mat-menu instance.\n\n Example:\n \n ')}()},t.prototype._createOverlay=function(){if(!this._overlayRef){var t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef},t.prototype._getOverlayConfig=function(){return new he.c({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withTransformOriginOn(".mat-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})},t.prototype._subscribeToPositions=function(t){var e=this;this.menu.setPositionClasses&&t.positionChanges.subscribe(function(t){var n="start"===t.connectionPair.overlayX?"after":"before",i="top"===t.connectionPair.overlayY?"below":"above";e.menu.setPositionClasses(n,i)})},t.prototype._setPosition=function(t){var e="before"===this.menu.xPosition?["end","start"]:["start","end"],n=e[0],i=e[1],r="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],o=r[0],a=r[1],s=[o,a],c=s[0],l=s[1],p=[n,i],d=p[0],m=p[1],u=0;this.triggersSubmenu()?(m=n="before"===this.menu.xPosition?"start":"end",i=d="end"===n?"start":"end",u="bottom"===o?8:-8):this.menu.overlapTrigger||(c="top"===o?"bottom":"top",l="top"===a?"bottom":"top"),t.withPositions([{originX:n,originY:c,overlayX:d,overlayY:o,offsetY:u},{originX:i,originY:c,overlayX:m,overlayY:o,offsetY:u},{originX:n,originY:l,overlayX:d,overlayY:a,offsetY:-u},{originX:i,originY:l,overlayX:m,overlayY:a,offsetY:-u}])},t.prototype._cleanUpSubscriptions=function(){this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()},t.prototype._menuClosingActions=function(){var t=this,e=this._overlayRef.backdropClick(),n=this._overlayRef.detachments(),i=this._parentMenu?this._parentMenu.closed:Object(ce.a)(),r=this._parentMenu?this._parentMenu._hovered().pipe(Object(Nt.a)(function(e){return e!==t._menuItemInstance}),Object(Nt.a)(function(){return t._menuOpen})):Object(ce.a)();return Object(It.a)(e,i,r,n)},t.prototype._handleMousedown=function(t){Object(Lt.h)(t)||(this._openedBy=0===t.button?"mouse":null,this.triggersSubmenu()&&t.preventDefault())},t.prototype._handleKeydown=function(t){var e=t.keyCode;this.triggersSubmenu()&&(e===Ft.m&&"ltr"===this.dir||e===Ft.i&&"rtl"===this.dir)&&this.openMenu()},t.prototype._handleClick=function(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()},t.prototype._handleHover=function(){var t=this;this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(Object(Nt.a)(function(e){return e===t._menuItemInstance&&!e.disabled}),Object(me.a)(0,le.a)).subscribe(function(){t._openedBy="mouse",t.menu instanceof xe&&t.menu._isAnimating?t.menu._animationDone.pipe(Object(Bt.a)(1),Object(me.a)(0,le.a),Object(de.a)(t._parentMenu._hovered())).subscribe(function(){return t.openMenu()}):t.openMenu()}))},t.prototype._getPortal=function(){return this._portal&&this._portal.templateRef===this.menu.templateRef||(this._portal=new Pt.i(this.menu.templateRef,this._viewContainerRef)),this._portal},t.decorators=[{type:i.t,args:[{selector:"[mat-menu-trigger-for], [matMenuTriggerFor]",host:{"aria-haspopup":"true","[attr.aria-expanded]":"menuOpen || null","(mousedown)":"_handleMousedown($event)","(keydown)":"_handleKeydown($event)","(click)":"_handleClick($event)"},exportAs:"matMenuTrigger"}]}],t.ctorParameters=function(){return[{type:he.b},{type:i.u},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[Oe]}]},{type:xe,decorators:[{type:i.R}]},{type:ve,decorators:[{type:i.R},{type:i.eb}]},{type:ue.b,decorators:[{type:i.R}]},{type:Lt.e}]},t.propDecorators={_deprecatedMatMenuTriggerFor:[{type:i.G,args:["mat-menu-trigger-for"]}],menu:[{type:i.G,args:["matMenuTriggerFor"]}],menuData:[{type:i.G,args:["matMenuTriggerData"]}],menuOpened:[{type:i.S}],onMenuOpen:[{type:i.S}],menuClosed:[{type:i.S}],onMenuClose:[{type:i.S}]},t}(),we=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b,te.h,te.q,he.e],exports:[xe,ve,Se,fe,te.h],declarations:[xe,ve,Se,fe],providers:[ke]}]}],t}(),Te=n("kWGw"),Ee=n("v9Dh"),je=n("uGex"),Pe=n("gIcY"),Re=n("w+lc"),Ae=n("LC5p"),Ie=n("bne5"),De=n("VNr4"),Me=function(){function t(t,e){this.renderer=e,this.miniFabVisible=!1,this._parent=t.get(Ne)}return t.prototype.ngAfterContentInit=function(){var t=this;this._buttons.changes.subscribe(function(){t.initButtonStates(),t._parent.setActionsVisibility()}),this.initButtonStates()},t.prototype.initButtonStates=function(){var t=this;this._buttons.forEach(function(e,n){t.renderer.addClass(e._getHostElement(),"eco-fab-action-item"),t.changeElementStyle(e._getHostElement(),"z-index",""+(23-n))})},t.prototype.show=function(){var t=this;this._buttons&&(this.resetAnimationState(),this.miniFabVisible=!0,this.showMiniFabAnimation=setTimeout(function(){t._buttons.forEach(function(e,n){var i,r=0;"scale"===t._parent.animationMode?(r=3+65*n,i="scale(1)"):i=t.getTranslateFunction("0");var o=e._getHostElement();t.changeElementStyle(o,"transition-delay",r+"ms"),t.changeElementStyle(o,"opacity","1"),t.changeElementStyle(o,"transform",i)})},50))},t.prototype.resetAnimationState=function(){clearTimeout(this.showMiniFabAnimation),this.hideMiniFab&&(this.hideMiniFab.unsubscribe(),this.hideMiniFab=null)},t.prototype.hide=function(){var t=this;if(this._buttons){this.resetAnimationState();var e=this._buttons.map(function(e,n){var i,r="1",o=0;"scale"===t._parent.animationMode?(o=3-65*n,i="scale(0)",r="0"):i=t.getTranslateFunction(55*(n+1)-5*n+"px");var a=e._getHostElement();return t.changeElementStyle(a,"transition-delay",o+"ms"),t.changeElementStyle(a,"opacity",r),t.changeElementStyle(a,"transform",i),Object(Ie.a)(a,"transitionend").pipe(Object(Bt.a)(1))});this.hideMiniFab=Object(De.a)(e).subscribe(function(){return t.miniFabVisible=!1})}},t.prototype.getTranslateFunction=function(t){var e=this._parent.direction;return("up"===e||"down"===e?"translateY":"translateX")+"("+("down"===e||"right"===e?"-":"")+t+")"},t.prototype.changeElementStyle=function(t,e,n){this.renderer.setStyle(t,e,n)},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial-actions",template:'\n '}]}],t.ctorParameters=function(){return[{type:i.F},{type:i.Z}]},t.propDecorators={_buttons:[{type:i.s,args:[O.a]}]},t}(),Ne=function(){function t(t,e,n){this.elementRef=t,this.renderer=e,this.document=n,this.isInitialized=!1,this._direction="up",this._open=!1,this._animationMode="fling",this._fixed=!1,this._documentClickUnlistener=null,this.openChange=new i.x}return Object.defineProperty(t.prototype,"fixed",{get:function(){return this._fixed},set:function(t){this._fixed=t,this._processOutsideClickState()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"open",{get:function(){return this._open},set:function(t){var e=this._open;this._open=t,e!==this._open&&(this.openChange.emit(this._open),this.isInitialized&&this.setActionsVisibility())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"direction",{get:function(){return this._direction},set:function(t){var e=this._direction;this._direction=t,e!==this.direction&&(this._setElementClass(e,!1),this._setElementClass(this.direction,!0),this.isInitialized&&this.setActionsVisibility())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animationMode",{get:function(){return this._animationMode},set:function(t){var e=this,n=this._animationMode;this._animationMode=t,n!==this._animationMode&&(this._setElementClass(n,!1),this._setElementClass(this.animationMode,!0),this.isInitialized&&Promise.resolve(null).then(function(){return e.open=!1}))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this.isInitialized=!0,this.setActionsVisibility(),this._setElementClass(this.direction,!0),this._setElementClass(this.animationMode,!0)},t.prototype.ngOnDestroy=function(){this._unsetDocumentClickListener()},t.prototype.toggle=function(){this.open=!this.open},t.prototype._onClick=function(){!this.fixed&&this.open&&(this.open=!1)},t.prototype.setActionsVisibility=function(){this._childActions&&(this.open?this._childActions.show():this._childActions.hide(),this._processOutsideClickState())},t.prototype._setElementClass=function(t,e){var n="eco-"+t;e?this.renderer.addClass(this.elementRef.nativeElement,n):this.renderer.removeClass(this.elementRef.nativeElement,n)},t.prototype._processOutsideClickState=function(){!this.fixed&&this.open?this._setDocumentClickListener():this._unsetDocumentClickListener()},t.prototype._setDocumentClickListener=function(){var t=this;this._documentClickUnlistener||(this._documentClickUnlistener=this.renderer.listen(this.document,"click",function(){t.open=!1}))},t.prototype._unsetDocumentClickListener=function(){this._documentClickUnlistener&&(this._documentClickUnlistener(),this._documentClickUnlistener=null)},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial",template:'\n
\n \n \n
\n ',encapsulation:i.qb.None,styles:["eco-fab-speed-dial{display:inline-block}eco-fab-speed-dial.eco-opened .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}eco-fab-speed-dial.eco-opened .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin360{-webkit-transform:rotate(360deg);transform:rotate(360deg)}eco-fab-speed-dial .eco-fab-speed-dial-container{position:relative;display:flex;align-items:center;z-index:20}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{pointer-events:auto;z-index:24}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin180,eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin360{transition:.6s cubic-bezier(.4,0,.2,1)}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-actions{display:flex;position:absolute;height:0;width:0}eco-fab-speed-dial.eco-fling .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{display:block;opacity:1;transition:.3s cubic-bezier(.55,0,.55,.2)}eco-fab-speed-dial.eco-scale .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{-webkit-transform:scale(0);transform:scale(0);transition:.3s cubic-bezier(.55,0,.55,.2);transition-duration:.14286s}eco-fab-speed-dial.eco-down eco-fab-speed-dial-actions{bottom:2px;left:7px}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container{flex-direction:column}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:1}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:column;order:2}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-top:10px}eco-fab-speed-dial.eco-up eco-fab-speed-dial-actions{top:2px;left:7px}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container{flex-direction:column}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:2}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:column-reverse;order:1}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-bottom:10px}eco-fab-speed-dial.eco-left eco-fab-speed-dial-actions{top:7px;left:2px}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container{flex-direction:row}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:2}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:row-reverse;order:1}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-right:10px}eco-fab-speed-dial.eco-right eco-fab-speed-dial-actions{top:7px;right:2px}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container{flex-direction:row}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:1}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:row;order:2}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-left:10px}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Z},{type:Document,decorators:[{type:i.C,args:[r.c]}]}]},t.propDecorators={fixed:[{type:i.G}],open:[{type:i.z,args:["class.eco-opened"]},{type:i.G}],direction:[{type:i.G}],animationMode:[{type:i.G}],openChange:[{type:i.S}],_childActions:[{type:i.r,args:[Me]}],_onClick:[{type:i.A,args:["click"]}]},t}(),Be=function(){function t(t){this.spin=!1,this._parent=t.get(Ne)}return Object.defineProperty(t.prototype,"sp",{get:function(){return this.spin},enumerable:!0,configurable:!0}),t.prototype._onClick=function(t){this._parent.fixed||(this._parent.toggle(),t.stopPropagation())},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial-trigger",template:'\n '}]}],t.ctorParameters=function(){return[{type:i.F}]},t.propDecorators={sp:[{type:i.z,args:["class.eco-spin"]}],spin:[{type:i.G}],_onClick:[{type:i.A,args:["click",["$event"]]}]},t}(),Le=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b],declarations:[Me,Ne,Be],exports:[Me,Ne,Be]}]}],t}(),Fe=n("seP3"),Ge=n("b716"),He=n("26FU"),Ue=n("67Y/"),Ve=n("Gi3i"),ze=n("MGBS"),Ye=n("zotm");var We=function(){function t(t,e){this.observables=t,this.project=e}return t.prototype.call=function(t,e){return e.subscribe(new Xe(t,this.observables,this.project))},t}(),Xe=function(t){function e(e,n,i){var r=t.call(this,e)||this;r.observables=n,r.project=i,r.toRespond=[];var o=n.length;r.values=new Array(o);for(var a=0;a0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(ze.a),Ze=n("qAlS"),Ke=new i.E("empty-color"),qe=new i.E("used-colors");function $e(t){if(t&&0!==t.indexOf("#")&&(t="#"+t),Qe(t))return t.toUpperCase()}function Qe(t){return!(!t||"#"!==t.charAt(0)||t.length<4||t.length>7)&&-1===t.replace("#","").match(/.{1,2}/g).map(function(t){return Number.isNaN(parseInt(t,16))}).indexOf(!0)}var Je=function(){function t(t,e){this.emptyColor=t,this.usedColors=e,this._colors=new He.a([]),this._colors.next(e)}return t.prototype.addColor=function(t){if(t&&Qe(t)){t=$e(t)||this.emptyColor;var e=this._colors.getValue();e.find(function(e){return e===t})||(e.push(t),this._colors.next(e))}},t.prototype.getColors=function(){return this._colors.asObservable()},t.prototype.resetUseColors=function(){this._colors.next([])},t=Object(_t.b)([Object(i.D)(),Object(_t.e)(0,Object(i.C)(Ke)),Object(_t.e)(1,Object(i.C)(qe)),Object(_t.d)("design:paramtypes",[String,Array])],t)}(),tn=function(){function t(t,e){this.changeDetectorRef=t,this.emptyColor=e,this._hideEmpty=!1,this.size=30,this.transparent=!1,this.changeColor=new i.x}return Object.defineProperty(t.prototype,"hideEmpty",{set:function(t){this._hideEmpty=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this._label},set:function(t){this._label=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colors",{get:function(){return this._colors},set:function(t){this._colors=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentChecked=function(){this._colors&&this._colors.length!==this.size&&(this._colors=this._colors.slice(0,this.size).concat(new Array(this._getCollectionDiffSize())),this.changeDetectorRef.markForCheck())},t.prototype._getCollectionDiffSize=function(){return this._colors.length>this.size||this._hideEmpty?0:this.size-this._colors.length},t.prototype.setTransparent=function(){this.changeColor.emit(this.emptyColor)},t.prototype.setColor=function(t){var e="string"==typeof t?t:t.value;this.changeColor.emit(e)},Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideEmpty",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String),Object(_t.d)("design:paramtypes",[String])],t.prototype,"label",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Array),Object(_t.d)("design:paramtypes",[Array])],t.prototype,"colors",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Number)],t.prototype,"size",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean)],t.prototype,"transparent",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",i.x)],t.prototype,"changeColor",void 0),t=Object(_t.b)([Object(i.n)({selector:"mcc-color-picker-collection",template:'
\n

{{ label }}

\n\n \n\n \n
',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:[".mcc-color-picker-collection{min-height:50px;padding:10px 18px}.mcc-color-picker-collection h3{color:#100214;text-transform:uppercase;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:700;margin:0 0 10px}.mcc-color-picker-remove-color{background-color:#fff;border:1px solid #e1e1e1}.mcc-color-picker-remove-color .mcc-color-picker-transparent{width:20px;height:1px;border-bottom:1px solid red;transform:translateY(-4px) translateX(0) rotate(45deg);-webkit-transform:translateY(-4px) translateX(0) rotate(45deg)}button{width:22px;height:22px;cursor:pointer;margin:3px}"]}),Object(_t.e)(1,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[i.k,String])],t)}(),en=function(){function t(t,e,n,r){this.elementRef=t,this.changeDetectorRef=e,this.colorPickerService=n,this.emptyColor=r,this._usedColorLabel="Used Colors",this._reverseUsedColor=!1,this._hideHexForms=!1,this._hideEmpty=!1,this._hideTransparent=!1,this._hideUsedColors=!1,this._isOpen=!1,this._overlay=!0,this._hideButtons=!1,this._colorPickerSelectorHeight=170,this._hideColorPickerSelector=!1,this.usedSizeColors=30,this.btnCancel="Cancel",this.btnConfirm="Confirm",this.change=new i.x,this.selected=new i.x,this.clickOut=new i.x,this._collectionSubs=[]}return Object.defineProperty(t.prototype,"usedColorLabel",{get:function(){return this._usedColorLabel},set:function(t){this._usedColorLabel=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"usedColorStart",{set:function(t){var e,n;if(t&&t.length>0)try{for(var i=Object(_t.h)(t),r=i.next();!r.done;r=i.next()){var o=r.value;this.colorPickerService.addColor(o)}}catch(a){e={error:a}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"reverseUsedColors",{set:function(t){this._reverseUsedColor=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideHexForms",{get:function(){return this._hideHexForms},set:function(t){this._hideHexForms=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideEmpty",{get:function(){return this._hideEmpty},set:function(t){this._hideEmpty=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideTransparent",{get:function(){return this._hideTransparent},set:function(t){this._hideTransparent=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideUsedColors",{get:function(){return this._hideUsedColors},set:function(t){this._hideUsedColors=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedColor",{get:function(){return this._selectedColor},set:function(t){this._selectedColor!==t&&this.changeDetectorRef.markForCheck(),this._selectedColor=$e(t)||this.emptyColor},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen},set:function(t){this._isOpen=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlay",{get:function(){return this._overlay},set:function(t){this._overlay=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideButtons",{get:function(){return this._hideButtons},set:function(t){this._hideButtons=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colorPickerSelectorHeight",{get:function(){return this._colorPickerSelectorHeight},set:function(t){this._colorPickerSelectorHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideColorPickerSelector",{get:function(){return this._hideColorPickerSelector},set:function(t){this._hideColorPickerSelector=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tmpSelectedColor$",{get:function(){return this._tmpSelectedColor.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"usedColors$",{get:function(){var t=this;return this.colorPickerService.getColors().pipe(Object(Ue.a)(function(e){return t._reverseUsedColor?Object(_t.g)(e).reverse():e}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._selectedColor||(this._selectedColor=this.emptyColor),this._tmpSelectedColor=new He.a(this._selectedColor)},t.prototype.ngAfterContentInit=function(){var t=this;this._collections&&this._collections.forEach(function(e){var n=e.changeColor.subscribe(function(e){t.updateTmpSelectedColor(e)});t._collectionSubs.push(n)})},t.prototype.ngOnDestroy=function(){this._collectionSubs&&this._collectionSubs.forEach(function(t){t&&!t.closed&&t.unsubscribe()})},t.prototype._updateSelectedColor=function(){if(this._isOpen||!this.overlay){var t=this._tmpSelectedColor.getValue();this._selectedColor!==t?(this._selectedColor=t,this.selected.next(this._selectedColor)):this.selected.emit(this._selectedColor)}},t.prototype.toggle=function(){this._isOpen=!this._isOpen,this._isOpen||this._selectedColor===this.emptyColor||this.colorPickerService.addColor(this._selectedColor)},t.prototype.backdropClick=function(){this._hideButtons?this.confirmSelectedColor():this.cancelSelection(),this.clickOut.emit(null)},t.prototype.updateTmpSelectedColor=function(t){t&&(this._tmpSelectedColor.next(t),this.change.next(t),this._hideButtons&&this._updateSelectedColor())},t.prototype.cancelSelection=function(){this._tmpSelectedColor.next(this._selectedColor),this.toggle()},t.prototype.confirmSelectedColor=function(){this._updateSelectedColor(),this.toggle()},Object(_t.b)([Object(i.s)(tn),Object(_t.d)("design:type",i.X)],t.prototype,"_collections",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String),Object(_t.d)("design:paramtypes",[String])],t.prototype,"usedColorLabel",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Array),Object(_t.d)("design:paramtypes",[Array])],t.prototype,"usedColorStart",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"reverseUsedColors",null),Object(_t.b)([Object(i.G)("hideHexForms"),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideHexForms",null),Object(_t.b)([Object(i.G)("hideEmptyUsedColors"),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideEmpty",null),Object(_t.b)([Object(i.G)("hideTransparentUsedColors"),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideTransparent",null),Object(_t.b)([Object(i.G)("hideUsedColors"),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideUsedColors",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String),Object(_t.d)("design:paramtypes",[String])],t.prototype,"selectedColor",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"isOpen",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"overlay",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideButtons",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Number),Object(_t.d)("design:paramtypes",[Number])],t.prototype,"colorPickerSelectorHeight",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideColorPickerSelector",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Number)],t.prototype,"usedSizeColors",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String)],t.prototype,"btnCancel",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String)],t.prototype,"btnConfirm",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",Object)],t.prototype,"change",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",Object)],t.prototype,"selected",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",Object)],t.prototype,"clickOut",void 0),t=Object(_t.b)([Object(i.n)({selector:"mcc-color-picker",template:'\x3c!-- color picker overlay --\x3e\n\n \n\n \n\n \n\n \n\n\n\x3c!-- color picker flat --\x3e\n\n\n\x3c!-- color picker component content --\x3e\n\n\n \n\n',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);.btn-picker{width:25px;height:25px;cursor:pointer;background:0 0;border:2px solid #ddd}.btn-picker.empty{background:#fff!important}.mcc-color-picker-overlay{display:flex;width:260px;min-height:80px;position:relative;flex-direction:column;padding:0;background:#fff;font-family:'Open Sans',sans-serif}.mcc-color-picker-overlay .mcc-color-picker-preview{width:100%;height:8px}.transparent{width:32px;height:2px;border-bottom:2px solid red;transform:translateY(-3px) translateX(-2px) rotate(45deg);-webkit-transform:translateY(-2px) translateX(-11px) rotate(45deg);position:absolute}.mcc-color-picker-actions{display:flex;padding:4px;border-top:1px solid #ddd}.mcc-color-picker-actions button{color:#100214;text-transform:uppercase;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:400;flex-grow:1}"]}),Object(_t.e)(3,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[i.u,i.k,Je,String])],t)}(),nn=function(){function t(t,e,n){this.formBuilder=t,this.render=e,this.emptyColor=n,this._height=170,this._selectedColor="",this._hideHexForms=!1,this.changeSelectedColor=new i.x,this._rgbaColor="rgba(255,0,0,1)",this.textClass="black",this._isPressed=!1,this.rgbKeys=["R","G","B"]}return Object.defineProperty(t.prototype,"blockCursor",{set:function(t){this._bc=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"stripCursor",{set:function(t){this._sc=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{set:function(t){this._height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectorHeight",{get:function(){return this._height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"stripHeight",{get:function(){return this._height-10},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedColor",{get:function(){return this._selectedColor},set:function(t){this._selectedColor=t||this.emptyColor},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideHexForms",{get:function(){return this._hideHexForms},set:function(t){this._hideHexForms=t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this._tmpSelectedColor=new He.a(this._selectedColor),this._tmpSelectedColorSub=this._tmpSelectedColor.subscribe(function(e){e!==t._selectedColor&&Qe(e)&&(t.hexForm.get("hexCode").value!==e&&t.hexForm.setValue({hexCode:e}),t.changeSelectedColor.emit($e(e)||t.emptyColor))}),this.hexForm=this.formBuilder.group({hexCode:[this.selectedColor,[Pe.k.minLength(7),Pe.k.maxLength(7)]]});var e={},n=this._getRGB();this.rgbKeys.forEach(function(t,i){return e[t]=new Pe.c(n[i],{validators:[Pe.k.min(0),Pe.k.max(256),Pe.k.required,Pe.k.maxLength(3)],updateOn:"blur"})}),this.rgbForm=this.formBuilder.group(e),this._onChanges()},t.prototype.ngOnChanges=function(t){if("selectedColor"in t&&t.selectedColor.currentValue!==this.emptyColor){this._isPressed||(this._updateRGB(),this._updateRGBA(),this._blockContext&&this._fillGradient());var e=this._getRGB(),n=Math.round((299*e[0]+587*e[1]+114*e[2])/1e3);this.textClass=n>125?"black":"white"}},t.prototype.ngOnDestroy=function(){this._tmpSelectedColorSub&&!this._tmpSelectedColorSub.closed&&this._tmpSelectedColorSub.unsubscribe(),this._hexValuesSub&&!this._hexValuesSub.closed&&this._hexValuesSub.unsubscribe(),this._rgbValuesSub&&!this._rgbValuesSub.closed&&this._rgbValuesSub.unsubscribe()},t.prototype.ngAfterViewInit=function(){var t=this;this.render.listen(this._block.nativeElement,"mousedown",function(e){t._isPressed=!0,t.changeColor(e)}),this.render.listen(this._block.nativeElement,"mouseup",function(){return t._isPressed=!1}),this.render.listen(this._block.nativeElement,"mouseout",function(){return t._isPressed=!1}),this.render.listen(this._block.nativeElement,"mousemove",function(e){return t.changeColor(e)}),this._blockContext=this._bc.nativeElement.getContext("2d"),this._blockContext.rect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height),this.render.listen(this._strip.nativeElement,"mousedown",function(e){t._isPressed=!0,t.changeBaseColor(e)}),this.render.listen(this._strip.nativeElement,"mouseup",function(){return t._isPressed=!1}),this.render.listen(this._strip.nativeElement,"mouseout",function(){return t._isPressed=!1}),this.render.listen(this._strip.nativeElement,"mousemove",function(e){return t.changeBaseColor(e)}),this._stripContext=this._strip.nativeElement.getContext("2d"),this._stripContext.rect(0,0,this._strip.nativeElement.width,this._strip.nativeElement.height);var e=this._stripContext.createLinearGradient(0,0,0,this._bc.nativeElement.height);e.addColorStop(0,"rgba(255, 0, 0, 1)"),e.addColorStop(.17,"rgba(255, 255, 0, 1)"),e.addColorStop(.34,"rgba(0, 255, 0, 1)"),e.addColorStop(.51,"rgba(0, 255, 255, 1)"),e.addColorStop(.68,"rgba(0, 0, 255, 1)"),e.addColorStop(.85,"rgba(255, 0, 255, 1)"),e.addColorStop(1,"rgba(255, 0, 0, 1)"),this._stripContext.fillStyle=e,this._stripContext.fill(),this._fillGradient()},t.prototype._fillGradient=function(){this._blockContext.fillStyle=this._rgbaColor,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height);var t=this._stripContext.createLinearGradient(0,0,this._bc.nativeElement.width,0);t.addColorStop(0,"rgba(255,255,255,1)"),t.addColorStop(1,"rgba(255,255,255,0)"),this._blockContext.fillStyle=t,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height);var e=this._stripContext.createLinearGradient(0,0,0,this._bc.nativeElement.height);e.addColorStop(0,"rgba(0,0,0,0)"),e.addColorStop(1,"rgba(0,0,0,1)"),this._blockContext.fillStyle=e,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height)},t.prototype._onChanges=function(){var t=this;this._hexValuesSub=this.hexForm.get("hexCode").valueChanges.pipe(Object(Ue.a)(function(e){return e!==t.emptyColor?$e(e):e})).subscribe(function(e){!t._isPressed&&Qe(e)&&t._tmpSelectedColor.next(e||t.emptyColor)}),this._rgbValuesSub=this.rgbForm.valueChanges.subscribe(function(e){var n=[];for(var i in e)!e[i]&&0!==e[i]||e[i]>255?n.push(""):n.push(e[i]);var r=t._getHex(n);r!==t._selectedColor&&7===r.length&&t._tmpSelectedColor.next(r)})},t.prototype._getRGB=function(t){if(t)return[t[0],t[1],t[2]];var e=this._selectedColor.replace("#","");return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]},t.prototype._getHex=function(t){var e=new Array(3);return e[0]=t[0].toString(16),e[1]=t[1].toString(16),e[2]=t[2].toString(16),e.forEach(function(t,n){1===t.length&&(e[n]="0"+e[n])}),$e(""+e[0]+e[1]+e[2])||this.emptyColor},t.prototype._updateRGBA=function(t){this._selectedColor||t||(this._rgbaColor="rgba(255,0,0,1)");var e=this._getRGB(t);this._rgbaColor="rgba("+e[0]+", "+e[1]+", "+e[2]+", 1)"},t.prototype._updateRGB=function(t){this.rgbForm&&(t||(t=this._getRGB()),this.rgbForm.setValue({R:t[0],G:t[1],B:t[2]}))},t.prototype.changeBaseColor=function(t){if(this._isPressed){this.render.setStyle(this._sc.nativeElement,"background-position-y",t.offsetY+"px");var e=this._stripContext.getImageData(t.offsetX,t.offsetY,1,1).data;this._updateRGBA(e),this._fillGradient(),this.updateValues(e)}},t.prototype.changeColor=function(t){if(this._isPressed){this.render.setStyle(this._bp.nativeElement,"top",t.offsetY-5+"px"),this.render.setStyle(this._bp.nativeElement,"left",t.offsetX-5+"px");var e=this._blockContext.getImageData(t.offsetX,t.offsetY,1,1).data;this.updateValues(e)}},t.prototype.updateValues=function(t){t&&(this._updateRGB(t),this._tmpSelectedColor.next(this._getHex(t)))},Object(_t.b)([Object(i.nb)("block",{static:!1}),Object(_t.d)("design:type",i.u)],t.prototype,"_block",void 0),Object(_t.b)([Object(i.nb)("blockPointer",{static:!1}),Object(_t.d)("design:type",i.u)],t.prototype,"_bp",void 0),Object(_t.b)([Object(i.nb)("blockCanvas",{static:!1}),Object(_t.d)("design:type",i.u),Object(_t.d)("design:paramtypes",[i.u])],t.prototype,"blockCursor",null),Object(_t.b)([Object(i.nb)("strip",{static:!1}),Object(_t.d)("design:type",i.u)],t.prototype,"_strip",void 0),Object(_t.b)([Object(i.nb)("stripContainer",{static:!1}),Object(_t.d)("design:type",i.u),Object(_t.d)("design:paramtypes",[i.u])],t.prototype,"stripCursor",null),Object(_t.b)([Object(i.G)("height"),Object(_t.d)("design:type",Number),Object(_t.d)("design:paramtypes",[Number])],t.prototype,"height",null),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String),Object(_t.d)("design:paramtypes",[String])],t.prototype,"selectedColor",null),Object(_t.b)([Object(i.G)("hideHexForms"),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideHexForms",null),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",Object)],t.prototype,"changeSelectedColor",void 0),t=Object(_t.b)([Object(i.n)({selector:"mcc-color-picker-selector",template:'
\n
\n \n
\n\n
\n \n
\n
\n\n
\n \n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["canvas#colors{margin:5px}canvas:hover{cursor:crosshair}.mcc-picker-selector{position:absolute;width:230px;height:170px;top:0;left:0;z-index:10;cursor:crosshair}.mcc-picker-position{position:absolute;width:10px;height:10px;z-index:1;border:1px solid #ddd;border-radius:50%;background:rgba(0,0,0,.3)}.mcc-colors-position{position:absolute;width:30px;height:160px;top:0;right:0;z-index:1;background:url(data:image/gif;base64,R0lGODdhHgAIALMAAAAAADU1NTk5OUJCQkpKSlZWVltbW2pqaoCAgP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAkAAAoALAAAAAAeAAgAAAQw0BhFq734yjJm/p8xFEVAeGCqGERACmahgkUrvPH81cFdnjoQy8VBBTOiguSokkQAADs=) no-repeat}.mcc-color-picker-selector{height:170px}::ng-deep mat-form-field{font-family:'Open Sans';font-size:11px;font-weight:700}::ng-deep mat-form-field.black{color:#100214}::ng-deep mat-form-field.black label{color:#100214}::ng-deep mat-form-field.black .mat-form-field-underline{background-color:#100214}::ng-deep mat-form-field.white{color:#fff}::ng-deep mat-form-field.white label{color:#fff}::ng-deep mat-form-field.white .mat-form-field-underline{background-color:#fff}.mcc-color-picker-selector-preview{height:40px;padding:15px;border-bottom:1px solid #e1e1e1;box-sizing:content-box}.mcc-color-picker-selector-preview form{display:inline-block;position:relative}.mcc-color-picker-selector-preview .hex-input{width:75px;margin-right:20px}.mcc-color-picker-selector-preview .hex-input input{font-size:16px;font-weight:400}.mcc-color-picker-selector-preview .rgb-input{width:40px;margin-right:5px}.mcc-color-picker-selector-preview .rgb-input input{font-size:16px;font-weight:400}"]}),Object(_t.e)(2,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[Pe.b,i.Z,String])],t)}(),rn=function(){function t(t,e,n){this.elementRef=t,this.render=e,this.emptyColor=n,this._color=n}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){if(this.color){var t=void 0;"string"==typeof this.color?t=this.color:(t=this.color.value,this.render.setAttribute(this.elementRef.nativeElement,"aria-label",this.color.text)),Qe(t)&&this.render.setStyle(this.elementRef.nativeElement,"background",$e(t)||this.emptyColor)}},Object(_t.b)([Object(i.G)("mccColorPickerOption"),Object(_t.d)("design:type",Object),Object(_t.d)("design:paramtypes",[Object])],t.prototype,"color",null),t=Object(_t.b)([Object(i.t)({selector:"[mccColorPickerOption], [mcc-color-picker-option]",exportAs:"mccColorPickerOption"}),Object(_t.e)(2,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[i.u,i.Z,String])],t)}(),on=function(){function t(t,e,n){var i=this;this.elementRef=t,this.renderer=e,this.emptyColor=n,this.change=new He.a(""),e.listen(t.nativeElement,"keyup",function(t){var e=t.currentTarget.value;t.isTrusted&&Qe(e)&&i.writeValueFromKeyup($e(e)||i.emptyColor)})}var e;return e=t,t.prototype.writeValue=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.change.next(t),this.propagateChanges&&this.propagateChanges(t)},t.prototype.writeValueFromColorPicker=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.propagateChanges(t)},t.prototype.writeValueFromKeyup=function(t){this.change.next(t),this.propagateChanges(t)},t.prototype.registerOnChange=function(t){this.propagateChanges=t},t.prototype.registerOnTouched=function(t){},t.prototype.setDisabledState=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"disabled",t)},Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",He.a)],t.prototype,"change",void 0),t=e=Object(_t.b)([Object(i.t)({selector:"[mcc-color-picker-origin], [mccColorPickerOrigin]",exportAs:"mccColorPickerOrigin",providers:[{provide:Pe.g,useExisting:Object(i.vb)(function(){return e}),multi:!0}]}),Object(_t.e)(2,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[i.u,i.Z,String])],t)}(),an=function(){function t(t,e,n){this.colorPicker=t,this.changeDetectorRef=e,this.emptyColor=n}return t.prototype.ngAfterViewInit=function(){this._colorPickerSub||this._attachColorPicker()},t.prototype.ngOnDestroy=function(){this._colorPickerSub&&!this._colorPickerSub.closed&&this._colorPickerSub.unsubscribe(),this._originSub&&!this._originSub.closed&&this._originSub.unsubscribe()},t.prototype._attachColorPicker=function(){var t=this;this._originSub=this.origin.change.subscribe(function(e){(Qe(e)||e===t.emptyColor&&t.colorPicker.selectedColor!==t.emptyColor)&&t.colorPicker.updateTmpSelectedColor(e),t.colorPicker.selectedColor=e,t.changeDetectorRef.detectChanges()}),this._colorPickerSub=this.colorPicker.change.subscribe(function(e){return t.origin.writeValueFromColorPicker(e)})},Object(_t.b)([Object(i.G)("mccConnectedColorPickerOrigin"),Object(_t.d)("design:type",on)],t.prototype,"origin",void 0),t=Object(_t.b)([Object(i.t)({selector:"[mcc-connected-color-picker], [mccConnectedColorPicker]",exportAs:"mccConnectedColorPicker"}),Object(_t.e)(2,Object(i.C)(Ke)),Object(_t.d)("design:paramtypes",[en,i.k,String])],t)}(),sn=[],cn=function(){function t(){}var e;return e=t,t.forRoot=function(t){return{ngModule:e,providers:[{provide:Ke,useValue:t.empty_color||"none"},{provide:qe,useValue:t.used_colors||[]}]}},t=e=Object(_t.b)([Object(i.L)({imports:[r.b,Pt.h,he.e,Pe.j,O.b,Fe.c,Ge.b],declarations:[en,an,nn,on,rn,tn],exports:[en,an,on,tn],providers:[Je,{provide:Ke,useValue:"none"},{provide:qe,useValue:sn}]})],t)}(),ln=["12","11","1","10","2","9","3","8","4","7","5","6"],pn=["00","55","05","50","10","45","15","40","20","35","25","30"],dn=function(){function t(){this._selectedHour="12",this._selectedMinute="00",this._selectedPeriod="am",this._clock=new He.a(ln),this._focus="hour",this._hour="12",this._minute="00",this._period="am",this._hideButtons=!1,this.format="12",this.min="00:00 am",this.max="12:00 pm",this.btnCancel="Cancel",this.btnConfirm="Ok",this.selected=new i.x,this.connected=!1}return Object.defineProperty(t.prototype,"clock$",{get:function(){return this._clock.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focus",{get:function(){return this._focus},set:function(t){t!==this._focus&&(this._focus=t,this._clock.next("hour"===this._focus?ln:pn))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen},set:function(t){this._isOpen=Object(xt.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hour",{get:function(){return this._hour},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minute",{get:function(){return this._minute},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"period",{get:function(){return this._period},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideButtons",{get:function(){return this._hideButtons},set:function(t){this._hideButtons=Object(xt.c)(t)},enumerable:!0,configurable:!0}),t.prototype.getSelectedClass=function(){var t=this,e="selected-index-";return"hour"===this.focus?e+=ln.findIndex(function(e){return e===t.hour}):e+=pn.findIndex(function(e){return e===t.minute}),e},t.prototype.select=function(t){"hour"===this.focus?(this._hour=t,this.focus="min"):this._minute=t,this._hideButtons&&this.confirmSelectedTime()},t.prototype.parseTimeInput=function(t){var e=t.split(/\s|:/).map(function(t,e){return 2===e?t:parseInt(t,10)});if(2===e.length){var n=e[0];n>11?(e[0]=n-12,e.push("pm")):e.push("am")}return e},t.prototype.isOptionDisabled=function(t){var e=Object(_t.f)(this.parseTimeInput(this.min),3),n=e[0],i=e[1],r=e[2],o=Object(_t.f)(this.parseTimeInput(this.max),3),a=o[0],s=o[1],c=o[2],l=parseInt(t,10),p=parseInt(this._hour,10),d=this._period;if("hour"===this.focus){if(la&&d===c)return!0}else{if(p===n&&d===r&&ls)return!0}return!1},t.prototype.changePeriod=function(t){this._period=t,this._hideButtons&&this.confirmSelectedTime()},t.prototype.backdropClick=function(){this.confirmSelectedTime(),this._isOpen=!1},t.prototype.cancelSelection=function(){this._hour=this._selectedHour,this._minute=this._selectedMinute,this._period=this._selectedPeriod,this._isOpen=!1},t.prototype.confirmSelectedTime=function(){var t;if(this._selectedHour=this.hour,this._selectedMinute=this.minute,this._selectedPeriod=this.period,"12"===this.format)t=this.hour+":"+this.minute+" "+this.period;else{var e=this.hour;"pm"===this.period&&(e=""+(parseInt(e)+12)),t=e+":"+this.minute}this.selected.emit(t),this._hideButtons||(this._isOpen=!1)},Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",Boolean),Object(_t.d)("design:paramtypes",[Boolean])],t.prototype,"hideButtons",null),Object(_t.b)([Object(i.G)("mccTimerPickerFormat"),Object(_t.d)("design:type",String)],t.prototype,"format",void 0),Object(_t.b)([Object(i.G)("mccTimerPickerMin"),Object(_t.d)("design:type",String)],t.prototype,"min",void 0),Object(_t.b)([Object(i.G)("mccTimerPickerMax"),Object(_t.d)("design:type",String)],t.prototype,"max",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String)],t.prototype,"btnCancel",void 0),Object(_t.b)([Object(i.G)(),Object(_t.d)("design:type",String)],t.prototype,"btnConfirm",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",i.x)],t.prototype,"selected",void 0),t=Object(_t.b)([Object(i.n)({selector:"mcc-timer-picker",template:'\x3c!-- show component inside overlay --\x3e\n\n \n\n \n\n \n\n\n\n\n\n \n',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["@import url(https://fonts.googleapis.com/css?family=Roboto);.mcc-timer-picker-overlay{width:290px;height:400px}.mcc-timer-picker-header{display:flex;width:220px;height:65px;padding:10px 0 5px 70px;background:#00796b}.mcc-timer-picker-hours,.mcc-timer-picker-minutes{width:63px;height:63px;font-family:Roboto,sans-serif;font-size:50px;font-weight:400;color:rgba(255,255,255,.3)}.mcc-timer-picker-hours.mcc-standalone,.mcc-timer-picker-minutes.mcc-standalone{text-align:right}.mcc-timer-picker-hours.mcc-active,.mcc-timer-picker-minutes.mcc-active{color:#fff}.mcc-timer-picker-separator{font-family:Roboto,sans-serif;font-size:43px;font-weight:400;color:rgba(255,255,255,.3);margin:5px 5px 0 0}.mcc-timer-picker-separator::after{content:':'}.mcc-timer-picker-am-pm{display:flex;flex-direction:column;margin:10px}.mcc-timer-picker-am-pm button{width:25px;height:25px;line-height:25px;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;color:rgba(255,255,255,.3)}.mcc-timer-picker-am-pm button.mcc-active{color:#fff}.mcc-timer-picker-content{width:inherit;height:260px;padding:15px 0 5px;background-color:#fff}.mcc-timer-picker-clock{position:relative;width:250px;height:250px;margin:0 auto;background-color:#eee;border-radius:50%;text-align:center}.mcc-timer-picker-clock .mcc-timer-picker-dot{position:absolute;width:8px;height:8px;border-radius:50%;background-color:#00796b;top:125px;left:125px}.mcc-timer-picker-clock .mcc-timer-picker-line{position:absolute;width:2px;height:100px;top:11.5%;left:51%;transform-origin:50% 100%;background-color:#00796b}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-0{transform:rotateZ(0);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-1{transform:rotateZ(327deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-2{transform:rotateZ(30deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-3{transform:rotateZ(300deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-4{transform:rotateZ(60deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-5{transform:rotateZ(270deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-6{transform:rotateZ(90deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-7{transform:rotateZ(240deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-8{transform:rotateZ(120deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-9{transform:rotateZ(210deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-10{transform:rotateZ(150deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-11{transform:rotateZ(180deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-option{position:absolute}.mcc-timer-picker-clock .mcc-timer-picker-option.mcc-timer-picker-option-selected{color:#fff;background-color:#00796b}.mcc-timer-picker-clock .mcc-timer-picker-option#option-0{top:0;left:113px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-1{top:25px;left:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-2{top:25px;right:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-3{top:63px;left:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-4{top:63px;right:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-5{top:113px;left:0}.mcc-timer-picker-clock .mcc-timer-picker-option#option-6{top:113px;right:0}.mcc-timer-picker-clock .mcc-timer-picker-option#option-7{bottom:55px;left:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-8{bottom:55px;right:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-9{bottom:20px;left:63px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-10{bottom:20px;right:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-11{bottom:0;left:113px}.mcc-timer-picker-actions{display:flex;padding:4px;background-color:#fff}.mcc-timer-picker-actions button{color:#100214;text-transform:uppercase;font-family:Roboto,sans-serif;font-size:14px;font-weight:400}::ng-deep .mat-icon-button{width:30px;height:30px;line-height:30px}"]}),Object(_t.d)("design:paramtypes",[])],t)}(),mn=function(){function t(t,e){var n=this;this.elementRef=t,this.renderer=e,this.change=new He.a(""),this.hasFocus=new He.a(!1),e.listen(t.nativeElement,"focus",function(){return n.hasFocus.next(!0)})}var e;return e=t,t.prototype.writeValue=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.change.next(t),this.propagateChanges&&this.propagateChanges(t)},t.prototype.writeValueFromTimerPicker=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.propagateChanges(t)},t.prototype.writeValueFromKeyup=function(t){this.change.next(t),this.propagateChanges(t)},t.prototype.registerOnChange=function(t){this.propagateChanges=t},t.prototype.registerOnTouched=function(t){},t.prototype.setDisabledState=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"disabled",t)},Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",He.a)],t.prototype,"change",void 0),Object(_t.b)([Object(i.S)(),Object(_t.d)("design:type",He.a)],t.prototype,"hasFocus",void 0),t=e=Object(_t.b)([Object(i.t)({selector:"[mccTimerPickerOrigin], [mcc-timer-picker-origin]",exportAs:"mccTimerPickerOrigin",providers:[{provide:Pe.g,useExisting:Object(i.vb)(function(){return e}),multi:!0}]}),Object(_t.d)("design:paramtypes",[i.u,i.Z])],t)}(),un=function(){function t(t,e){this.timerPicker=t,this.changeDetectorRef=e,this.timerPicker.connected=!0}return t.prototype.ngAfterViewInit=function(){this._timerPickerSub||(this.timerPicker.trigger=this.origin,this._attachTimerPicker())},t.prototype.ngOnDestroy=function(){this._originFocus&&!this._originFocus.closed&&this._originFocus.unsubscribe(),this._timerPickerSub&&!this._timerPickerSub.closed&&this._timerPickerSub.unsubscribe()},t.prototype._attachTimerPicker=function(){var t=this;this._originFocus=this.origin.hasFocus.subscribe(function(e){t.timerPicker.focus="hour",t.timerPicker.isOpen=e,t.changeDetectorRef.detectChanges()}),this._timerPickerSub=this.timerPicker.selected.subscribe(function(e){return t.origin.writeValueFromTimerPicker(e)})},Object(_t.b)([Object(i.G)("mccConnectedTimerPickerOrigin"),Object(_t.d)("design:type",mn)],t.prototype,"origin",void 0),t=Object(_t.b)([Object(i.t)({selector:"[mccConnectedTimerPicker], [mcc-connected-timer-picker]",exportAs:"mccConnectedTimerPicker"}),Object(_t.d)("design:paramtypes",[dn,i.k])],t)}(),hn=(function(){function t(){}t=Object(_t.b)([Object(i.L)({imports:[r.b,Pt.h,he.e,O.b],declarations:[dn,mn,un],exports:[dn,mn,un]})],t)}(),function(){function t(t){var e=this;this.window=t,this._fromClick=!1,this.data=[],this._scrollSub=Object(Ie.a)(t,"scroll").pipe(Object(Ve.a)(50),function(){for(var t=[],e=0;e=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},xn=function(){function t(){}return t=_n([Object(i.L)({imports:[cn.forRoot({empty_color:"transparent",used_colors:["#000000","#FFF555"]}),Le,Ae.a,Re.a,Pe.e,je.a,Ee.a,O.b,Te.a,we,se,Qt.a,k.a,$t,r.b,bt.a,yt.a,yn.a,vn.b,Ge.b],declarations:[G,Z,et,st,ft],exports:[],providers:[]})],t)}(),On=n("pKmL");n.d(e,"AuthModule",function(){return Sn});var kn=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Cn={suppressScrollX:!0},Sn=function(){function t(){}return t=kn([Object(i.L)({imports:[r.b,_.b.forChild(gt),x.a,xn,O.b,k.a,S.a,On.a,C.a,w.b],exports:[],declarations:[v],providers:[{provide:w.a,useValue:Cn}]})],t)}()},ZFFu:function(t,e,n){"use strict";n.r(e),e.default=".timing-text {\n color: white; }\n\n.timing-name {\n margin: 10px;\n margin-left: 25px;\n margin-right: 25px; }\n\n.timing-properties-text {\n color: #356472; }\n\nmat-card {\n padding: 5px;\n margin: 7px; }\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white; }\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white; }\n\n::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {\n background-color: #257086; }\n\n::ng-deep.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb {\n background-color: #1b5161; }\n"},ZTDs:function(t,e,n){"use strict";n.r(e),e.default=".operation-text {\n color: white; }\n\n.operation-name {\n margin: 20px; }\n\nmat-card {\n padding: 5px;\n margin: 7px; }\n\ntable {\n width: 100%; }\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white; }\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white; }\n"},dlo3:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n \r\n \r\n

\r\n \r\n CASAnet\r\n \r\n \x3c!-- darki.co.il --\x3e\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
'},qHuH:function(t,e,n){"use strict";n.r(e),e.default='\r\n\r\n
\r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- Position Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n

{{i + 1}}

{{\'EMAIL\' | translate}} {{ element.email}} {{\'NAME\' | translate}} \r\n \r\n \r\n \r\n {{\'ALLOW_UNMFA_ACCESS\' | translate}} \r\n \r\n \r\n {{\'SCOPE\' | translate}} \r\n \r\n {{ \'ADMIN\' | translate }}\r\n {{ \'USER\' | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},snKB:function(t,e,n){"use strict";n.r(e),e.default="mat-card {\n padding: 5px;\n margin: 7px; }\n\n.minion-card-focus:hover {\n cursor: pointer;\n box-shadow: 1px 1px 2px black, 0 0 25px blue, 0 0 5px darkblue; }\n\n.minion-card:active {\n margin-top: 12px; }\n\n.minion-text {\n color: white; }\n\n/deep/ .mat-form-field-type-mat-select .mat-form-field-label, .mat-select-value {\n color: white; }\n\n::ng-deep .mat-accent .mat-slider-thumb {\n background-color: black; }\n\n::ng-deep .mat-accent .mat-slider-thumb-label {\n background-color: black; }\n\n::ng-deep .mat-accent .mat-slider-track-fill {\n background-color: black; }\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white; }\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white; }\n\n/* SLIDER */\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-bar {\n background: #ffe4d1;\n height: 2px; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-selection {\n background: orange; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-pointer {\n width: 8px;\n height: 16px;\n top: auto;\n /* to remove the default positioning */\n bottom: 0;\n background-color: white;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-pointer:after {\n display: none; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-bubble {\n color: white;\n bottom: 14px; }\n\n::ng-deep .ng5-slider .ng5-slider-bubble.ng5-slider-limit {\n color: white;\n bottom: 14px; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-limit {\n font-weight: bold;\n color: white; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-tick {\n width: 1px;\n height: 10px;\n margin-left: 4px;\n border-radius: 0;\n background: #ffe4d1;\n top: -1px; }\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-tick.ng5-slider-selected {\n background: orange; }\n\n.ng5-slider-ceil {\n color: white;\n bottom: 14px; }\n"}}]); \ No newline at end of file diff --git a/backend/dist/public/6.f035b3a7a9345473d016.js b/backend/dist/public/6.f035b3a7a9345473d016.js new file mode 100644 index 00000000..75f73550 --- /dev/null +++ b/backend/dist/public/6.f035b3a7a9345473d016.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"2zQ1":function(t,e,n){"use strict";n.r(e),e.default='\r\n\r\n
\r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- Position Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
{{i + 1}} {{\'MAC\' | translate}} {{element.mac}} {{\'NAME\' | translate}} {{element.name ? element.name : \'--\'}} {{\'IP\' | translate}} {{element.ip}} {{\'VENDOR\' | translate}} {{element.vendor}} \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},"7Qov":function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n {{minion.name}}\r\n {{ minion.minionType | translate}}\r\n\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'PROPERTIES\' | translate}}\r\n \r\n \r\n\r\n
\r\n \r\n \r\n arrow_upward\r\n \r\n \r\n arrow_downward\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n settings_input_hdmi\r\n \r\n \r\n bubble_chart\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ \'HOT\' | translate}} \r\n {{ \'COLD\' | translate}} \r\n {{ \'DRY\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.airConditioning.temperature}}°

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.light.brightness}}%

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.temperatureLight.brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.temperatureLight.temperature}}%

\r\n \r\n \r\n
\r\n\r\n
\r\n

{{\'BRIGTNESS\' | translate}}: {{minion.updateSet.colorLight.brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{minion.updateSet.colorLight.temperature}}%

\r\n \r\n \r\n

{{\'COLOR\' | translate}}:

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{\r\n \'TURN_OFF_TIMEOUT\' | translate}}: {{ minion.minionAutoTurnOffMS | times}}

\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
'},"7g1B":function(t,e,n){"use strict";n.r(e),e.default="::ng-deep .mat-sort-header-container {\n justify-content: center;\n}"},AF2v:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 95%;\n margin: auto;\n margin-top: 25px;\n margin-bottom: 25px;\n}"},CQoa:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 95%;\n margin: auto;\n margin-top: 25px;\n margin-bottom: 25px;\n}"},Ce27:function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \x3c!-- swtich on off --\x3e\r\n Switch active\r\n \r\n
\r\n\r\n {{timing.timingName}}\r\n {{ \'ACTIVATE\' | translate }}: {{ timing.operationName }}\r\n \r\n {{ \'TYPE\' | translate }}: {{ timing.timingType | translate }}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'PROPERTIES\' | translate}}\r\n \r\n \r\n\r\n \x3c!-- dailySunTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {{ \'SUN_TRIGGER\' | translate}}\r\n \r\n {{ \'SUNRISE\' | translate}}\r\n {{ \'SUNSET\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- dailyTimeTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- once --\x3e\r\n \r\n
\r\n {{ getDataFromUTC(timing.timingProperties.once.date).toLocaleDateString() }}\r\n {{ getDataFromUTC(timing.timingProperties.once.date).toLocaleTimeString() }}\r\n
\r\n
\r\n\r\n \x3c!-- timeout --\x3e\r\n \r\n\r\n
\r\n {{ \'START_IN\' | translate}}: \r\n {{ getDataFromUTC(timing.timingProperties.timeout.startDate).toLocaleDateString() }}\r\n {{ getDataFromUTC(timing.timingProperties.timeout.startDate).toLocaleTimeString() }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \x3c!-- Edit button --\x3e\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},RAeY:function(t,e,n){"use strict";n.r(e),e.default='\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n {{operation.operationName}}\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\'ACTIVITIES\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- status Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
{{ \'PROPERTIES\' | translate}} \r\n
    \r\n
  • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
  • \r\n
\r\n
{{ \'STATUS\' | translate}} {{ element.status | translate}} {{ \'NAME\' | translate}} {{ element.name }}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},Yj9t:function(t,e,n){"use strict";n.r(e);var i=n("CcnG"),r=n("Ip0R"),o=n("OzfB"),a=n("sB9w"),s=n("PSD3"),c=n.n(s),l=n("NZXM"),p=n("eKg/"),d=n("Gwao"),m=n("dO5I"),u=n("AytR"),h=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},f=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},g=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},b=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},_=function(){function t(t,e,n,i,r){this.media=t,this.timingService=e,this.minionsService=n,this.operationService=i,this.translateService=r,this.isVisible=!0,this.visibility="shown",this.sideNavOpened=!0,this.matDrawerOpened=!1,this.matDrawerShow=!0,this.sideNavMode="side",this.translatePipe=new p.a(this.translateService)}return t.prototype.ngOnChanges=function(){this.visibility=this.isVisible?"shown":"hidden"},t.prototype.ngOnInit=function(){var t=this;this.media.media$.subscribe((function(e){t.toggleView()})),this.activatedTimingSubscription=this.timingService.timingActivatedFeed.subscribe((function(e){return g(t,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,p,d,m;return b(this,(function(u){switch(u.label){case 0:if(!e)return[2];t=e.timing,n=e.results,(i=this.operationService.getOperation(t.triggerOperationId))||(i={activities:[],operationId:"--",operationName:"--"}),r="
";try{for(o=v(n),a=o.next();!a.done;a=o.next())s=a.value,l=this.translatePipe.transform(s.error.responseCode,!0),(p=this.minionsService.getMinion(s.minionId))||(p={name:"--"}),r+="
"+this.translatePipe.transform("SET")+" "+p.name+" "+this.translatePipe.transform("FAIL")+", "+l}catch(h){d={error:h}}finally{try{a&&!a.done&&(m=o.return)&&m.call(o)}finally{if(d)throw d.error}}return[4,c()({type:n.length<1?"success":"warning",title:t.timingName+" "+this.translatePipe.transform("ACTIVATED"),html:""+this.translatePipe.transform("ACTIVATED_OPERATION")+": "+i.operationName+""+r,timer:6e4,showConfirmButton:!0,showCancelButton:!1,confirmButtonText:this.translatePipe.transform("OK")})];case 1:return u.sent(),[2]}}))}))})),setTimeout((function(){t.domainsAlert()}),5e3)},t.prototype.domainsAlert=function(){return g(this,void 0,void 0,(function(){var t;return b(this,(function(e){switch(e.label){case 0:return document.baseURI.includes(u.a.dashboardDomain)?[2]:(t="\n\t\t"+this.translatePipe.transform("go to correct domain")+'\n\t\t
\n\t\t'+u.a.dashboardDomain+"\n\t\t",[4,c()({type:"warning",html:t,showConfirmButton:!0,showCancelButton:!1,confirmButtonText:this.translatePipe.transform("OK")})]);case 1:return e.sent(),[2]}}))}))},t.prototype.ngAfterContentInit=function(){document.getElementById("loading-app-assets").innerHTML=""},t.prototype.ngOnDestroy=function(){this.activatedTimingSubscription.unsubscribe()},t.prototype.getRouteAnimation=function(t){return t.activatedRouteData.animation},t.prototype.toggleView=function(){this.media.isActive("gt-md")?(this.sideNavMode="side",this.sideNavOpened=!0,this.matDrawerOpened=!1,this.matDrawerShow=!0):this.media.isActive("gt-xs")?(this.sideNavMode="side",this.sideNavOpened=!1,this.matDrawerOpened=!0,this.matDrawerShow=!0):this.media.isActive("lt-sm")&&(this.sideNavMode="over",this.sideNavOpened=!1,this.matDrawerOpened=!1,this.matDrawerShow=!1)},t.ctorParameters=function(){return[{type:o.g},{type:a.a},{type:d.a},{type:m.a},{type:l.a}]},h([Object(i.G)(),f("design:type",Object)],t.prototype,"isVisible",void 0),t=h([Object(i.n)({selector:"app-auth",template:y(n("dlo3")).default,styles:[y(n("7g1B")).default]}),f("design:paramtypes",[o.g,a.a,d.a,m.a,l.a])],t)}(),x=n("ZYCi"),O=n("8mMr"),k=n("UodH"),C=n("SMsm"),S=n("Nsh5"),w=n("La40"),T=n("bse0"),E=n("X2iB"),j=n("l01N"),P=n("o3x0"),R=n("q9mj"),A=n("v6lC"),I=n("geZN"),D=n("0FJh"),M=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},N=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},B=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},L=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},H=function(){function t(t,e,n,i,r){this.changeDetectorRef=t,this.dialog=e,this.translateService=n,this.minionsService=i,this.devicesService=r,this.dataLoading=!0,this.minions=[],this.translatePipe=new p.a(this.translateService)}return t.prototype.ngOnInit=function(){var t=this;this.minionSubscription=this.minionsService.minionsFeed.subscribe((function(e){var n,i;t.dataLoading=!1,t.minions=t.minions.filter((function(t){var n,i;try{for(var r=G(e),o=r.next();!o.done;o=r.next()){if(o.value.minionId===t.minionId)return!0}}catch(a){n={error:a}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return!1}));try{for(var r=G(e),o=r.next();!o.done;o=r.next()){var a=o.value;if(a.minionStatus[a.minionType]){var s=t.getExistMinion(a.minionId);s?(s.isProperlyCommunicated=a.isProperlyCommunicated,s.name=a.name,s.minionAutoTurnOffMS=a.minionAutoTurnOffMS,s.calibrationCycleMinutes=a.calibrationCycleMinutes,s.device=a.device,s.minionStatus=a.minionStatus,t.createUpdateSet(s)):(t.createUpdateSet(a),t.minions.push(a))}}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}t.minions.sort((function(t,e){return t.minionType===e.minionType?t.name\n\t\t\t\t\t'+this.translatePipe.transform("INNER_ID")+" "+t.minionId+" \n\t\t\t\t\t"+this.translatePipe.transform("BRAND")+" "+t.device.brand+" \n\t\t\t\t\t"+this.translatePipe.transform("MODEL")+" "+t.device.model+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_NAME")+" "+(t.device.pysicalDevice.name||"?")+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_MAC")+" "+t.device.pysicalDevice.mac+" \n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_IP")+" "+(t.device.pysicalDevice.ip||"?")+"\n\t\t\t\t\t"+this.translatePipe.transform("DEVICE_VENDOR")+" "+(t.device.pysicalDevice.vendor||"?")+" \n\t\t\t\t",confirmButtonText:this.translatePipe.transform("CLOSE")})];case 1:return e.sent(),[2]}}))}))},t.prototype.refreshMinion=function(t){return B(this,void 0,void 0,(function(){return L(this,(function(e){switch(e.label){case 0:return t.sync=!0,[4,this.minionsService.refreshMinion(t)];case 1:return e.sent(),t.sync=!1,[2]}}))}))},t.prototype.resendLastStatusUpdate=function(t){return B(this,void 0,void 0,(function(){return L(this,(function(e){switch(e.label){case 0:return t.sync=!0,[4,this.minionsService.setStatus(t)];case 1:return e.sent(),t.sync=!1,[2]}}))}))},t.prototype.recordModePressed=function(t){if(t.recordMode)return t.recordMode=void 0,void this.createUpdateSet(t);t.recordMode=!0},t.prototype.fetchCommands=function(t){return B(this,void 0,void 0,(function(){var e,n,i=this;return L(this,(function(r){switch(r.label){case 0:return e=[],[4,c()({title:this.translatePipe.transform("GETTING_SUPPOTERD_DEVICES"),timer:1e3,onBeforeOpen:function(){return B(i,void 0,void 0,(function(){return L(this,(function(t){switch(t.label){case 0:return c.a.showLoading(),c.a.stopTimer(),[4,this.minionsService.getCommandsRepoAvailableDevices()];case 1:return e=t.sent(),c.a.resumeTimer(),[2]}}))}))}})];case 1:return r.sent(),e?(e.sort((function(t,e){return t.brand===e.brand?t.model=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},z=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Y=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},W=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},K=function(){function t(t,e,n,i){var r=this;this.dialog=t,this.translateService=e,this.minionsService=n,this.operationService=i,this.dataLoading=!1,this.operations=[],this.rawOperations=[],this.activityColumns=["name","status","properties"],this.translatePipe=new p.a(this.translateService),this.minionsSubscription=this.minionsService.minionsFeed.subscribe((function(t){r.parseOperations()})),this.operationSubscription=this.operationService.operationFeed.subscribe((function(t){r.rawOperations=t,r.parseOperations()}))}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.minionsSubscription.unsubscribe(),this.operationSubscription.unsubscribe()},t.prototype.parseOperations=function(){var t,e,n=this;this.operations=[];try{for(var i=Z(this.rawOperations),r=i.next();!r.done;r=i.next()){var o=r.value,a=o.operationId,s=o.operationName,c=o.activities,l=c.map((function(t){var e=n.minionsService.getMinion(t.minionId);if(!e)return{name:"--",status:"--",properties:[],operationActivity:t};var i=Object.entries(t.minionStatus[e.minionType]).map((function(t){return{name:t[0],value:String(t[1])}}));return i=i.filter((function(t){return"status"!==t.name})),{name:e.name,status:t.minionStatus[e.minionType].status,operationActivity:t,properties:i}}));this.operations.push({activities:c,operationId:a,operationName:s,activitiesDisplay:l})}}catch(p){t={error:p}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},t.prototype.createOperation=function(){this.dialog.open(U.a,{data:{}})},t.prototype.triggerOperation=function(t){return Y(this,void 0,void 0,(function(){return W(this,(function(e){switch(e.label){case 0:return t.sync=!0,[4,this.operationService.triggerOperation(t)];case 1:return e.sent(),t.sync=!1,[2]}}))}))},t.prototype.renameOperation=function(t){return Y(this,void 0,void 0,(function(){var e,n,i;return W(this,(function(r){switch(r.label){case 0:return[4,c()({title:""+this.translatePipe.transform("SET_A_NEW_NAME"),text:this.translatePipe.transform("CURRENT_NAME")+": "+t.operationName,input:"text",showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=r.sent())&&e.dismiss?[2]:(n=t.operationId,i=t.activities,t.sync=!0,[4,this.operationService.editOperation({operationId:n,activities:i,operationName:e.value})]);case 2:return r.sent(),t.sync=!1,[2]}}))}))},t.prototype.deleteOperation=function(t){return Y(this,void 0,void 0,(function(){var e;return W(this,(function(n){switch(n.label){case 0:return[4,c()({type:"warning",title:this.translatePipe.transform("SURE")+"?",text:this.translatePipe.transform("BEFORE_DELETE_MESSAGE")+" "+t.operationName+" ?",showConfirmButton:!0,confirmButtonColor:"red",showCancelButton:!0,confirmButtonText:this.translatePipe.transform("DELETE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:(t.sync=!0,[4,this.operationService.deleteOperation(t)]);case 2:return n.sent(),t.sync=!1,[2]}}))}))},t.prototype.showInfo=function(t){return Y(this,void 0,void 0,(function(){return W(this,(function(e){switch(e.label){case 0:return[4,c()({type:"info",title:this.translatePipe.transform("OPERATION_ID")+":",text:t.operationId,showConfirmButton:!0,showCancelButton:!1,confirmButtonText:this.translatePipe.transform("OK")})];case 1:return e.sent(),[2]}}))}))},t.prototype.refreshData=function(){return Y(this,void 0,void 0,(function(){return W(this,(function(t){switch(t.label){case 0:return this.dataLoading=!0,[4,this.operationService.refreshData()];case 1:return t.sent(),this.dataLoading=!1,[2]}}))}))},t.ctorParameters=function(){return[{type:P.b},{type:l.a},{type:d.a},{type:m.a}]},t=V([Object(i.n)({selector:"app-operations",template:X(n("RAeY")).default,styles:[X(n("ZTDs")).default]}),z("design:paramtypes",[P.b,l.a,d.a,m.a])],t)}(),q=n("fICr"),$=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Q=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},J=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},tt=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},rt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},ot=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},at=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},mt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},ut=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(e){o(e)}}function s(t){try{c(i.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(a,s)}c((i=i.apply(t,e||[])).next())}))},ht=function(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]18?c.a.disableConfirmButton():c.a.enableConfirmButton()}else c.a.disableConfirmButton()}))},showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=a.sent())&&e.dismiss?[2]:(n=t.email,i=t.displayName,r=t.scope,o=t.ignoreTfa,t.psync=!0,[4,this.usersService.editUser({email:n,displayName:i,scope:r,ignoreTfa:o,password:e.value})]);case 2:return a.sent(),t.psync=!1,[2]}}))}))},t.prototype.deactivateSEssions=function(t){return ut(this,void 0,void 0,(function(){var e,n,i,r,o;return ht(this,(function(a){switch(a.label){case 0:return[4,c()({title:""+this.translatePipe.transform("DEACTIVATE_SESSIONS"),text:this.translatePipe.transform("FOR_THE_USER")+": "+t.displayName,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=a.sent())&&e.dismiss?[2]:(n=t.email,i=t.displayName,r=t.scope,o=t.ignoreTfa,t.bsync=!0,[4,this.usersService.deactivateUserSessions({email:n,displayName:i,scope:r,ignoreTfa:o,password:e.value})]);case 2:return a.sent(),t.bsync=!1,[2]}}))}))},t.prototype.registerUserToRemoteServer=function(t){return ut(this,void 0,void 0,(function(){var e,n;return ht(this,(function(i){switch(i.label){case 0:return[4,c()({title:""+this.translatePipe.transform("REGISTER_USER"),text:this.translatePipe.transform("THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT")+" "+t.email,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SEND"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=i.sent())&&e.dismiss?[2]:[4,this.usersService.requestRegistrationCode(t)];case 2:return i.sent(),[4,c()({title:""+this.translatePipe.transform("ENTER_THE_SENT_CODE"),input:"text",showConfirmButton:!0,showCancelButton:!0,confirmButtonText:this.translatePipe.transform("SUBMIT"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 3:return(n=i.sent())&&n.dismiss?[2]:[4,this.usersService.requestRegiterUser(t,n.value)];case 4:return i.sent(),[2]}}))}))},t.prototype.removeUserFromTheRemoteServer=function(t){return ut(this,void 0,void 0,(function(){var e;return ht(this,(function(n){switch(n.label){case 0:return[4,c()({title:this.translatePipe.transform("SURE")+"?",text:t.email+" "+this.translatePipe.transform("WILL_REMOVE_FROM_THE_REMOTE_SERVER"),showConfirmButton:!0,showCancelButton:!0,confirmButtonColor:"red",confirmButtonText:this.translatePipe.transform("REMOVE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:[4,this.usersService.removeUserFromRemote(t.email)];case 2:return n.sent(),[2]}}))}))},t.prototype.deleteUser=function(t){return ut(this,void 0,void 0,(function(){var e;return ht(this,(function(n){switch(n.label){case 0:return[4,c()({type:"warning",title:this.translatePipe.transform("SURE")+"?",text:this.translatePipe.transform("BEFORE_DELETE_MESSAGE")+" "+t.displayName+" ?",showConfirmButton:!0,confirmButtonColor:"red",showCancelButton:!0,confirmButtonText:this.translatePipe.transform("DELETE"),cancelButtonText:this.translatePipe.transform("CANCEL")})];case 1:return(e=n.sent())&&e.dismiss?[2]:(t.dsync=!0,[4,this.usersService.deleteUser(t.email)]);case 2:return n.sent(),t.dsync=!1,[2]}}))}))},t.prototype.refreshData=function(){return ut(this,void 0,void 0,(function(){return ht(this,(function(t){switch(t.label){case 0:return this.dataLoading=!0,[4,this.usersService.refreshData()];case 1:return t.sent(),this.dataLoading=!1,[2]}}))}))},t.ctorParameters=function(){return[{type:P.b},{type:l.a},{type:lt.a}]},t=dt([Object(i.n)({selector:"app-users",template:ft(n("qHuH")).default,styles:[ft(n("AF2v")).default]}),mt("design:paramtypes",[P.b,l.a,lt.a])],t)}(),bt=[{path:"",component:_,children:[{path:"minions",component:H},{path:"operations",component:K},{path:"timings",component:nt},{path:"devices",component:ct},{path:"users",component:gt},{path:"pages",loadChildren:function(){return n.e(8).then(n.bind(null,"dgmN")).then((function(t){return t.PagesModule}))}}]}],yt=n("V9q+"),vt=n("FVSy"),_t=n("ihYY"),xt=n("mrSG"),Ot=n("n6gG"),kt=n("K9Ia"),Ct=n("pugT"),St=n("YlbQ"),wt=0,Tt=function(){function t(){this._stateChanges=new kt.a,this._openCloseAllActions=new kt.a,this.id="cdk-accordion-"+wt++,this._multi=!1}return Object.defineProperty(t.prototype,"multi",{get:function(){return this._multi},set:function(t){this._multi=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),t.prototype.openAll=function(){this._openCloseAll(!0)},t.prototype.closeAll=function(){this._openCloseAll(!1)},t.prototype.ngOnChanges=function(t){this._stateChanges.next(t)},t.prototype.ngOnDestroy=function(){this._stateChanges.complete()},t.prototype._openCloseAll=function(t){this.multi&&this._openCloseAllActions.next(t)},t.decorators=[{type:i.t,args:[{selector:"cdk-accordion, [cdkAccordion]",exportAs:"cdkAccordion"}]}],t.propDecorators={multi:[{type:i.G}]},t}(),Et=0,jt=function(){function t(t,e,n){var r=this;this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=Ct.a.EMPTY,this.closed=new i.x,this.opened=new i.x,this.destroyed=new i.x,this.expandedChange=new i.x,this.id="cdk-accordion-child-"+Et++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=n.listen((function(t,e){r.accordion&&!r.accordion.multi&&r.accordion.id===e&&r.id!==t&&(r.expanded=!1)})),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){if(t=Object(Ot.c)(t),this._expanded!==t){if(this._expanded=t,this.expandedChange.emit(t),t){this.opened.emit();var e=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,e)}else this.closed.emit();this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()},t.prototype.toggle=function(){this.disabled||(this.expanded=!this.expanded)},t.prototype.close=function(){this.disabled||(this.expanded=!1)},t.prototype.open=function(){this.disabled||(this.expanded=!0)},t.prototype._subscribeToOpenCloseAllActions=function(){var t=this;return this.accordion._openCloseAllActions.subscribe((function(e){t.disabled||(t.expanded=e)}))},t.decorators=[{type:i.t,args:[{selector:"cdk-accordion-item, [cdkAccordionItem]",exportAs:"cdkAccordionItem",providers:[{provide:Tt,useValue:void 0}]}]}],t.ctorParameters=function(){return[{type:Tt,decorators:[{type:i.R},{type:i.fb}]},{type:i.k},{type:St.d}]},t.propDecorators={closed:[{type:i.S}],opened:[{type:i.S}],destroyed:[{type:i.S}],expandedChange:[{type:i.S}],expanded:[{type:i.G}],disabled:[{type:i.G}]},t}(),Pt=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[Tt,jt],declarations:[Tt,jt]}]}],t}(),Rt=n("4c35"),At=n("wFw1"),It=n("G5J1"),Dt=n("p0ib"),Mt=n("ad02"),Nt=n("p0Sj"),Bt=n("VnD/"),Lt=n("t9fZ"),Ft=n("lLAP"),Gt=n("YSh2"),Ht=new i.E("MAT_ACCORDION"),Ut={indicatorRotate:Object(_t.n)("indicatorRotate",[Object(_t.k)("collapsed, void",Object(_t.l)({transform:"rotate(0deg)"})),Object(_t.k)("expanded",Object(_t.l)({transform:"rotate(180deg)"})),Object(_t.m)("expanded <=> collapsed, void => collapsed",Object(_t.e)("225ms cubic-bezier(0.4,0.0,0.2,1)"))]),expansionHeaderHeight:Object(_t.n)("expansionHeight",[Object(_t.k)("collapsed, void",Object(_t.l)({height:"{{collapsedHeight}}"}),{params:{collapsedHeight:"48px"}}),Object(_t.k)("expanded",Object(_t.l)({height:"{{expandedHeight}}"}),{params:{expandedHeight:"64px"}}),Object(_t.m)("expanded <=> collapsed, void => collapsed",Object(_t.g)([Object(_t.i)("@indicatorRotate",Object(_t.f)(),{optional:!0}),Object(_t.e)("225ms cubic-bezier(0.4,0.0,0.2,1)")]))]),bodyExpansion:Object(_t.n)("bodyExpansion",[Object(_t.k)("collapsed, void",Object(_t.l)({height:"0px",visibility:"hidden"})),Object(_t.k)("expanded",Object(_t.l)({height:"*",visibility:"visible"})),Object(_t.m)("expanded <=> collapsed, void => collapsed",Object(_t.e)("225ms cubic-bezier(0.4,0.0,0.2,1)"))])},Vt=function(){function t(t){this._template=t}return t.decorators=[{type:i.t,args:[{selector:"ng-template[matExpansionPanelContent]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t}(),zt=0,Yt=new i.E("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Wt=function(t){function e(e,n,r,o,a,s,c){var l=t.call(this,e,n,r)||this;return l._viewContainerRef=o,l._animationMode=s,l._hideToggle=!1,l.afterExpand=new i.x,l.afterCollapse=new i.x,l._inputChanges=new kt.a,l._headerId="mat-expansion-panel-header-"+zt++,l._bodyAnimationDone=new kt.a,l.accordion=e,l._document=a,l._bodyAnimationDone.pipe(Object(Mt.a)((function(t,e){return t.fromState===e.fromState&&t.toState===e.toState}))).subscribe((function(t){"void"!==t.fromState&&("expanded"===t.toState?l.afterExpand.emit():"collapsed"===t.toState&&l.afterCollapse.emit())})),c&&(l.hideToggle=c.hideToggle),l}return Object(xt.c)(e,t),Object.defineProperty(e.prototype,"hideToggle",{get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(t){this._hideToggle=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),e.prototype._hasSpacing=function(){return!!this.accordion&&"default"===(this.expanded?this.accordion.displayMode:this._getExpandedState())},e.prototype._getExpandedState=function(){return this.expanded?"expanded":"collapsed"},e.prototype.ngAfterContentInit=function(){var t=this;this._lazyContent&&this.opened.pipe(Object(Nt.a)(null),Object(Bt.a)((function(){return t.expanded&&!t._portal})),Object(Lt.a)(1)).subscribe((function(){t._portal=new Rt.i(t._lazyContent._template,t._viewContainerRef)}))},e.prototype.ngOnChanges=function(t){this._inputChanges.next(t)},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()},e.prototype._containsFocus=function(){if(this._body&&this._document){var t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1},e.decorators=[{type:i.n,args:[{styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(.4,0,.2,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (-ms-high-contrast:active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel._mat-animation-noopable,.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button{margin-left:0;margin-right:8px}"],selector:"mat-expansion-panel",exportAs:"matExpansionPanel",template:'
',encapsulation:i.qb.None,changeDetection:i.j.OnPush,inputs:["disabled","expanded"],outputs:["opened","closed","expandedChange"],animations:[Ut.bodyExpansion],providers:[{provide:Ht,useValue:void 0}],host:{class:"mat-expansion-panel","[class.mat-expanded]":"expanded","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"[class.mat-expansion-panel-spacing]":"_hasSpacing()"}}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.R},{type:i.fb},{type:i.C,args:[Ht]}]},{type:i.k},{type:St.d},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[At.a]}]},{type:void 0,decorators:[{type:i.C,args:[Yt]},{type:i.R}]}]},e.propDecorators={hideToggle:[{type:i.G}],afterExpand:[{type:i.S}],afterCollapse:[{type:i.S}],_lazyContent:[{type:i.r,args:[Vt]}],_body:[{type:i.nb,args:["body"]}]},e}(jt),Xt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-action-row",host:{class:"mat-action-row"}}]}],t}(),Zt=function(){function t(t,e,n,i,r){var o=this;this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._parentChangeSubscription=Ct.a.EMPTY;var a=t.accordion?t.accordion._stateChanges.pipe(Object(Bt.a)((function(t){return!!t.hideToggle}))):It.a;this._parentChangeSubscription=Object(Dt.a)(t.opened,t.closed,a,t._inputChanges.pipe(Object(Bt.a)((function(t){return!(!t.hideToggle&&!t.disabled)})))).subscribe((function(){return o._changeDetectorRef.markForCheck()})),t.closed.pipe(Object(Bt.a)((function(){return t._containsFocus()}))).subscribe((function(){return n.focusVia(e,"program")})),n.monitor(e).subscribe((function(e){e&&t.accordion&&t.accordion._handleHeaderFocus(o)})),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.panel.disabled},enumerable:!0,configurable:!0}),t.prototype._toggle=function(){this.panel.toggle()},t.prototype._isExpanded=function(){return this.panel.expanded},t.prototype._getExpandedState=function(){return this.panel._getExpandedState()},t.prototype._getPanelId=function(){return this.panel.id},t.prototype._showToggle=function(){return!this.panel.hideToggle&&!this.panel.disabled},t.prototype._keydown=function(t){switch(t.keyCode){case Gt.n:case Gt.f:Object(Gt.s)(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}},t.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor.focusVia(this._element,t)},t.prototype.ngOnDestroy=function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)},t.decorators=[{type:i.n,args:[{selector:"mat-expansion-panel-header",styles:[".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:0}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-description,.mat-expansion-panel-header-title{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-description,[dir=rtl] .mat-expansion-panel-header-title{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:'';display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}"],template:'',encapsulation:i.qb.None,changeDetection:i.j.OnPush,animations:[Ut.indicatorRotate,Ut.expansionHeaderHeight],host:{class:"mat-expansion-panel-header",role:"button","[attr.id]":"panel._headerId","[attr.tabindex]":"disabled ? -1 : 0","[attr.aria-controls]":"_getPanelId()","[attr.aria-expanded]":"_isExpanded()","[attr.aria-disabled]":"panel.disabled","[class.mat-expanded]":"_isExpanded()","(click)":"_toggle()","(keydown)":"_keydown($event)","[@expansionHeight]":"{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }"}}]}],t.ctorParameters=function(){return[{type:Wt,decorators:[{type:i.y}]},{type:i.u},{type:Ft.e},{type:i.k},{type:void 0,decorators:[{type:i.C,args:[Yt]},{type:i.R}]}]},t.propDecorators={expandedHeight:[{type:i.G}],collapsedHeight:[{type:i.G}]},t}(),Kt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-panel-description",host:{class:"mat-expansion-panel-header-description"}}]}],t}(),qt=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"mat-panel-title",host:{class:"mat-expansion-panel-header-title"}}]}],t}(),$t=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._hideToggle=!1,e.displayMode="default",e}return Object(xt.c)(e,t),Object.defineProperty(e.prototype,"hideToggle",{get:function(){return this._hideToggle},set:function(t){this._hideToggle=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._keyManager=new Ft.d(this._headers).withWrap()},e.prototype._handleHeaderKeydown=function(t){var e=t.keyCode,n=this._keyManager;e===Gt.h?(n.setFirstItemActive(),t.preventDefault()):e===Gt.e?(n.setLastItemActive(),t.preventDefault()):this._keyManager.onKeydown(t)},e.prototype._handleHeaderFocus=function(t){this._keyManager.updateActiveItem(t)},e.decorators=[{type:i.t,args:[{selector:"mat-accordion",exportAs:"matAccordion",inputs:["multi"],providers:[{provide:Ht,useExisting:e}],host:{class:"mat-accordion"}}]}],e.propDecorators={_headers:[{type:i.s,args:[Zt,{descendants:!0}]}],hideToggle:[{type:i.G}],displayMode:[{type:i.G}]},e}(Tt),Qt=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b,Pt,Rt.h],exports:[$t,Wt,Xt,Zt,qt,Kt,Vt],declarations:[$t,Wt,Xt,Zt,qt,Kt,Vt]}]}],t}(),Jt=n("d2mR"),te=n("dWZg"),ee=n("Wf4p"),ne=100,ie=function(t){this._elementRef=t},re=Object(ee.u)(ie,"primary"),oe=new i.E("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:ne}}});var ae=function(t){function e(e,n,i,r,o){var a=t.call(this,e)||this;a._elementRef=e,a._document=i,a.animationMode=r,a.defaults=o,a._value=0,a._fallbackAnimation=!1,a._noopAnimations="NoopAnimations"===a.animationMode&&!!a.defaults&&!a.defaults._forceAnimations,a._diameter=ne,a.mode="determinate",a._fallbackAnimation=n.EDGE||n.TRIDENT,o&&(o.diameter&&(a.diameter=o.diameter),o.strokeWidth&&(a.strokeWidth=o.strokeWidth));var s="mat-progress-spinner-indeterminate"+(a._fallbackAnimation?"-fallback":"")+"-animation";return e.nativeElement.classList.add(s),a}return Object(xt.c)(e,t),Object.defineProperty(e.prototype,"diameter",{get:function(){return this._diameter},set:function(t){this._diameter=Object(Ot.f)(t),this._fallbackAnimation||e.diameters.has(this._diameter)||this._attachStyleNode()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"strokeWidth",{get:function(){return this._strokeWidth||this.diameter/10},set:function(t){this._strokeWidth=Object(Ot.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return"determinate"===this.mode?this._value:0},set:function(t){this._value=Math.max(0,Math.min(100,Object(Ot.f)(t)))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_circleRadius",{get:function(){return(this.diameter-10)/2},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_viewBox",{get:function(){var t=2*this._circleRadius+this.strokeWidth;return"0 0 "+t+" "+t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_strokeCircumference",{get:function(){return 2*Math.PI*this._circleRadius},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_strokeDashOffset",{get:function(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_circleStrokeWidth",{get:function(){return this.strokeWidth/this.diameter*100},enumerable:!0,configurable:!0}),e.prototype._attachStyleNode=function(){var t=e.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),e.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),e.diameters.add(this.diameter)},e.prototype._getAnimationText=function(){return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*this._strokeCircumference).replace(/END_VALUE/g,""+.2*this._strokeCircumference).replace(/DIAMETER/g,""+this.diameter)},e.diameters=new Set([ne]),e.styleTag=null,e.decorators=[{type:i.n,args:[{selector:"mat-progress-spinner",exportAs:"matProgressSpinner",host:{role:"progressbar",class:"mat-progress-spinner","[class._mat-animation-noopable]":"_noopAnimations","[style.width.px]":"diameter","[style.height.px]":"diameter","[attr.aria-valuemin]":'mode === "determinate" ? 0 : null',"[attr.aria-valuemax]":'mode === "determinate" ? 100 : null',"[attr.aria-valuenow]":"value","[attr.mode]":"mode"},inputs:["color"],template:'',styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],e.ctorParameters=function(){return[{type:i.u},{type:te.a},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[At.a]}]},{type:void 0,decorators:[{type:i.C,args:[oe]}]}]},e.propDecorators={diameter:[{type:i.G}],strokeWidth:[{type:i.G}],mode:[{type:i.G}],value:[{type:i.G}]},e}(re),se=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i,r,o)||this;return a.mode="indeterminate",a}return Object(xt.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-spinner",host:{role:"progressbar",mode:"indeterminate",class:"mat-spinner mat-progress-spinner","[class._mat-animation-noopable]":"_noopAnimations","[style.width.px]":"diameter","[style.height.px]":"diameter"},inputs:["color"],template:'',styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],e.ctorParameters=function(){return[{type:i.u},{type:te.a},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[r.c]}]},{type:String,decorators:[{type:i.R},{type:i.C,args:[At.a]}]},{type:void 0,decorators:[{type:i.C,args:[oe]}]}]},e}(ae),ce=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[ee.h,r.b],exports:[ae,se,ee.h],declarations:[ae,se]}]}],t}(),le=n("F/XL"),pe=n("KQya"),de=n("15JJ"),me=n("ny24"),ue=n("vubp"),he=n("Fzqc"),fe=n("eDkP"),ge=function(){function t(t,e,n,i,r,o){this._template=t,this._componentFactoryResolver=e,this._appRef=n,this._injector=i,this._viewContainerRef=r,this._document=o,this._attached=new kt.a}return t.prototype.attach=function(t){void 0===t&&(t={}),this._portal||(this._portal=new Rt.i(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new Rt.e(this._document.createElement("div"),this._componentFactoryResolver,this._appRef,this._injector));var e=this._template.elementRef.nativeElement;e.parentNode.insertBefore(this._outlet.outletElement,e),this._portal.attach(this._outlet,t),this._attached.next()},t.prototype.detach=function(){this._portal.isAttached&&this._portal.detach()},t.prototype.ngOnDestroy=function(){this._outlet&&this._outlet.dispose()},t.decorators=[{type:i.t,args:[{selector:"ng-template[matMenuContent]"}]}],t.ctorParameters=function(){return[{type:i.jb},{type:i.p},{type:i.g},{type:i.F},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t}(),be={transformMenu:Object(_t.n)("transformMenu",[Object(_t.k)("void",Object(_t.l)({opacity:0,transform:"scale(0.8)"})),Object(_t.m)("void => enter",Object(_t.g)([Object(_t.i)(".mat-menu-content",Object(_t.e)("100ms linear",Object(_t.l)({opacity:1}))),Object(_t.e)("120ms cubic-bezier(0, 0, 0.2, 1)",Object(_t.l)({transform:"scale(1)"}))])),Object(_t.m)("* => void",Object(_t.e)("100ms 25ms linear",Object(_t.l)({opacity:0})))]),fadeInItems:Object(_t.n)("fadeInItems",[Object(_t.k)("showing",Object(_t.l)({opacity:1})),Object(_t.m)("void => *",[Object(_t.l)({opacity:0}),Object(_t.e)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};be.fadeInItems,be.transformMenu;var ye=new i.E("MAT_MENU_PANEL"),ve=function(){},_e=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o._elementRef=e,o._focusMonitor=i,o._parentMenu=r,o.role="menuitem",o._hovered=new kt.a,o._highlighted=!1,o._triggersSubmenu=!1,i&&i.monitor(o._elementRef,!1),r&&r.addItem&&r.addItem(o),o._document=n,o}return Object(xt.c)(e,t),e.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()},e.prototype.ngOnDestroy=function(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()},e.prototype._getTabIndex=function(){return this.disabled?"-1":"0"},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._checkDisabled=function(t){this.disabled&&(t.preventDefault(),t.stopPropagation())},e.prototype._handleMouseEnter=function(){this._hovered.next(this)},e.prototype.getLabel=function(){var t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3,n="";if(t.childNodes)for(var i=t.childNodes.length,r=0;r
'}]}],e.ctorParameters=function(){return[{type:i.u},{type:void 0,decorators:[{type:i.C,args:[r.c]}]},{type:Ft.e},{type:void 0,decorators:[{type:i.C,args:[ye]},{type:i.R}]}]},e.propDecorators={role:[{type:i.G}]},e}(Object(ee.v)(Object(ee.w)(ve))),xe=new i.E("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});var Oe=function(){function t(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new kt.a,this._tabSubscription=Ct.a.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new kt.a,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new i.x,this.close=this.closed}return Object.defineProperty(t.prototype,"xPosition",{get:function(){return this._xPosition},set:function(t){"before"!==t&&"after"!==t&&function(){throw Error('xPosition value must be either \'before\' or after\'.\n Example: ')}(),this._xPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yPosition",{get:function(){return this._yPosition},set:function(t){"above"!==t&&"below"!==t&&function(){throw Error('yPosition value must be either \'above\' or below\'.\n Example: ')}(),this._yPosition=t,this.setPositionClasses()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlapTrigger",{get:function(){return this._overlapTrigger},set:function(t){this._overlapTrigger=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{set:function(t){var e=this,n=this._previousPanelClass;n&&n.length&&n.split(" ").forEach((function(t){e._classList[t]=!1})),this._previousPanelClass=t,t&&t.length&&(t.split(" ").forEach((function(t){e._classList[t]=!0})),this._elementRef.nativeElement.className="")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"classList",{get:function(){return this.panelClass},set:function(t){this.panelClass=t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.setPositionClasses()},t.prototype.ngAfterContentInit=function(){var t=this;this._keyManager=new Ft.d(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe((function(){return t.closed.emit("tab")}))},t.prototype.ngOnDestroy=function(){this._tabSubscription.unsubscribe(),this.closed.complete()},t.prototype._hovered=function(){return this._itemChanges.pipe(Object(Nt.a)(this._items),Object(de.a)((function(t){return Dt.a.apply(void 0,t.map((function(t){return t._hovered})))})))},t.prototype._handleKeydown=function(t){var e=t.keyCode;switch(e){case Gt.g:this.closed.emit("keydown");break;case Gt.i:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Gt.m:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Gt.p&&e!==Gt.d||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}},t.prototype.focusFirstItem=function(t){var e=this;void 0===t&&(t="program"),this.lazyContent?this._ngZone.onStable.asObservable().pipe(Object(Lt.a)(1)).subscribe((function(){return e._keyManager.setFocusOrigin(t).setFirstItemActive()})):this._keyManager.setFocusOrigin(t).setFirstItemActive()},t.prototype.resetActiveItem=function(){this._keyManager.setActiveItem(-1)},t.prototype.setElevation=function(t){var e="mat-elevation-z"+(4+t),n=Object.keys(this._classList).find((function(t){return t.startsWith("mat-elevation-z")}));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)},t.prototype.addItem=function(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))},t.prototype.removeItem=function(t){var e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))},t.prototype.setPositionClasses=function(t,e){void 0===t&&(t=this.xPosition),void 0===e&&(e=this.yPosition);var n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e},t.prototype._startAnimation=function(){this._panelAnimationState="enter"},t.prototype._resetAnimation=function(){this._panelAnimationState="void"},t.prototype._onAnimationDone=function(t){this._animationDone.next(t),this._isAnimating=!1},t.prototype._onAnimationStart=function(t){this._isAnimating=!0,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)},t.decorators=[{type:i.n,args:[{selector:"mat-menu",template:'',styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0}.mat-menu-panel.ng-animating{pointer-events:none}@media (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],changeDetection:i.j.OnPush,encapsulation:i.qb.None,exportAs:"matMenu",animations:[be.transformMenu,be.fadeInItems],providers:[{provide:ye,useExisting:t}]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Q},{type:void 0,decorators:[{type:i.C,args:[xe]}]}]},t.propDecorators={backdropClass:[{type:i.G}],xPosition:[{type:i.G}],yPosition:[{type:i.G}],templateRef:[{type:i.nb,args:[i.jb]}],items:[{type:i.s,args:[_e]}],lazyContent:[{type:i.r,args:[ge]}],overlapTrigger:[{type:i.G}],hasBackdrop:[{type:i.G}],panelClass:[{type:i.G,args:["class"]}],classList:[{type:i.G}],closed:[{type:i.S}],close:[{type:i.S}]},t}(),ke=new i.E("mat-menu-scroll-strategy");var Ce={provide:ke,deps:[fe.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},Se=Object(te.f)({passive:!0}),we=function(){function t(t,e,n,r,o,a,s,c){var l=this;this._overlay=t,this._element=e,this._viewContainerRef=n,this._parentMenu=o,this._menuItemInstance=a,this._dir=s,this._focusMonitor=c,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=Ct.a.EMPTY,this._hoverSubscription=Ct.a.EMPTY,this._menuCloseSubscription=Ct.a.EMPTY,this._handleTouchStart=function(){return l._openedBy="touch"},this._openedBy=null,this.menuOpened=new i.x,this.onMenuOpen=this.menuOpened,this.menuClosed=new i.x,this.onMenuClose=this.menuClosed,e.nativeElement.addEventListener("touchstart",this._handleTouchStart,Se),a&&(a._triggersSubmenu=this.triggersSubmenu()),this._scrollStrategy=r}return Object.defineProperty(t.prototype,"_deprecatedMatMenuTriggerFor",{get:function(){return this.menu},set:function(t){this.menu=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menu",{get:function(){return this._menu},set:function(t){var e=this;t!==this._menu&&(this._menu=t,this._menuCloseSubscription.unsubscribe(),t&&(this._menuCloseSubscription=t.close.asObservable().subscribe((function(t){e._destroyMenu(),"click"!==t&&"tab"!==t||!e._parentMenu||e._parentMenu.closed.emit(t)}))))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._checkMenu(),this._handleHover()},t.prototype.ngOnDestroy=function(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,Se),this._cleanUpSubscriptions(),this._closingActionsSubscription.unsubscribe()},Object.defineProperty(t.prototype,"menuOpen",{get:function(){return this._menuOpen},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},enumerable:!0,configurable:!0}),t.prototype.triggersSubmenu=function(){return!(!this._menuItemInstance||!this._parentMenu)},t.prototype.toggleMenu=function(){return this._menuOpen?this.closeMenu():this.openMenu()},t.prototype.openMenu=function(){var t=this;if(!this._menuOpen){this._checkMenu();var e=this._createOverlay(),n=e.getConfig();this._setPosition(n.positionStrategy),n.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,e.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe((function(){return t.closeMenu()})),this._initMenu(),this.menu instanceof Oe&&this.menu._startAnimation()}},t.prototype.closeMenu=function(){this.menu.close.emit()},t.prototype.focus=function(t){void 0===t&&(t="program"),this._focusMonitor?this._focusMonitor.focusVia(this._element,t):this._element.nativeElement.focus()},t.prototype._destroyMenu=function(){var t=this;if(this._overlayRef&&this.menuOpen){var e=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),e instanceof Oe?(e._resetAnimation(),e.lazyContent?e._animationDone.pipe(Object(Bt.a)((function(t){return"void"===t.toState})),Object(Lt.a)(1),Object(me.a)(e.lazyContent._attached)).subscribe((function(){return e.lazyContent.detach()}),void 0,(function(){t._resetMenu()})):this._resetMenu()):(this._resetMenu(),e.lazyContent&&e.lazyContent.detach())}},t.prototype._initMenu=function(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedBy||"program")},t.prototype._setMenuElevation=function(){if(this.menu.setElevation){for(var t=0,e=this.menu.parentMenu;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}},t.prototype._resetMenu=function(){this._setIsMenuOpen(!1),this._openedBy?this.triggersSubmenu()||this.focus(this._openedBy):this.focus(),this._openedBy=null},t.prototype._setIsMenuOpen=function(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)},t.prototype._checkMenu=function(){this.menu||function(){throw Error('matMenuTriggerFor: must pass in an mat-menu instance.\n\n Example:\n \n ')}()},t.prototype._createOverlay=function(){if(!this._overlayRef){var t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef},t.prototype._getOverlayConfig=function(){return new fe.c({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withTransformOriginOn(".mat-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})},t.prototype._subscribeToPositions=function(t){var e=this;this.menu.setPositionClasses&&t.positionChanges.subscribe((function(t){var n="start"===t.connectionPair.overlayX?"after":"before",i="top"===t.connectionPair.overlayY?"below":"above";e.menu.setPositionClasses(n,i)}))},t.prototype._setPosition=function(t){var e="before"===this.menu.xPosition?["end","start"]:["start","end"],n=e[0],i=e[1],r="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],o=r[0],a=r[1],s=[o,a],c=s[0],l=s[1],p=[n,i],d=p[0],m=p[1],u=0;this.triggersSubmenu()?(m=n="before"===this.menu.xPosition?"start":"end",i=d="end"===n?"start":"end",u="bottom"===o?8:-8):this.menu.overlapTrigger||(c="top"===o?"bottom":"top",l="top"===a?"bottom":"top"),t.withPositions([{originX:n,originY:c,overlayX:d,overlayY:o,offsetY:u},{originX:i,originY:c,overlayX:m,overlayY:o,offsetY:u},{originX:n,originY:l,overlayX:d,overlayY:a,offsetY:-u},{originX:i,originY:l,overlayX:m,overlayY:a,offsetY:-u}])},t.prototype._cleanUpSubscriptions=function(){this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()},t.prototype._menuClosingActions=function(){var t=this,e=this._overlayRef.backdropClick(),n=this._overlayRef.detachments(),i=this._parentMenu?this._parentMenu.closed:Object(le.a)(),r=this._parentMenu?this._parentMenu._hovered().pipe(Object(Bt.a)((function(e){return e!==t._menuItemInstance})),Object(Bt.a)((function(){return t._menuOpen}))):Object(le.a)();return Object(Dt.a)(e,i,r,n)},t.prototype._handleMousedown=function(t){Object(Ft.h)(t)||(this._openedBy=0===t.button?"mouse":null,this.triggersSubmenu()&&t.preventDefault())},t.prototype._handleKeydown=function(t){var e=t.keyCode;this.triggersSubmenu()&&(e===Gt.m&&"ltr"===this.dir||e===Gt.i&&"rtl"===this.dir)&&this.openMenu()},t.prototype._handleClick=function(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()},t.prototype._handleHover=function(){var t=this;this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(Object(Bt.a)((function(e){return e===t._menuItemInstance&&!e.disabled})),Object(ue.a)(0,pe.a)).subscribe((function(){t._openedBy="mouse",t.menu instanceof Oe&&t.menu._isAnimating?t.menu._animationDone.pipe(Object(Lt.a)(1),Object(ue.a)(0,pe.a),Object(me.a)(t._parentMenu._hovered())).subscribe((function(){return t.openMenu()})):t.openMenu()})))},t.prototype._getPortal=function(){return this._portal&&this._portal.templateRef===this.menu.templateRef||(this._portal=new Rt.i(this.menu.templateRef,this._viewContainerRef)),this._portal},t.decorators=[{type:i.t,args:[{selector:"[mat-menu-trigger-for], [matMenuTriggerFor]",host:{"aria-haspopup":"true","[attr.aria-expanded]":"menuOpen || null","(mousedown)":"_handleMousedown($event)","(keydown)":"_handleKeydown($event)","(click)":"_handleClick($event)"},exportAs:"matMenuTrigger"}]}],t.ctorParameters=function(){return[{type:fe.b},{type:i.u},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[ke]}]},{type:Oe,decorators:[{type:i.R}]},{type:_e,decorators:[{type:i.R},{type:i.eb}]},{type:he.b,decorators:[{type:i.R}]},{type:Ft.e}]},t.propDecorators={_deprecatedMatMenuTriggerFor:[{type:i.G,args:["mat-menu-trigger-for"]}],menu:[{type:i.G,args:["matMenuTriggerFor"]}],menuData:[{type:i.G,args:["matMenuTriggerData"]}],menuOpened:[{type:i.S}],onMenuOpen:[{type:i.S}],menuClosed:[{type:i.S}],onMenuClose:[{type:i.S}]},t}(),Te=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b,ee.h,ee.q,fe.e],exports:[Oe,_e,we,ge,ee.h],declarations:[Oe,_e,we,ge],providers:[Ce]}]}],t}(),Ee=n("kWGw"),je=n("v9Dh"),Pe=n("uGex"),Re=n("gIcY"),Ae=n("w+lc"),Ie=n("LC5p"),De=n("bne5"),Me=n("VNr4"),Ne=function(){function t(t,e){this.renderer=e,this.miniFabVisible=!1,this._parent=t.get(Be)}return t.prototype.ngAfterContentInit=function(){var t=this;this._buttons.changes.subscribe((function(){t.initButtonStates(),t._parent.setActionsVisibility()})),this.initButtonStates()},t.prototype.initButtonStates=function(){var t=this;this._buttons.forEach((function(e,n){t.renderer.addClass(e._getHostElement(),"eco-fab-action-item"),t.changeElementStyle(e._getHostElement(),"z-index",""+(23-n))}))},t.prototype.show=function(){var t=this;this._buttons&&(this.resetAnimationState(),this.miniFabVisible=!0,this.showMiniFabAnimation=setTimeout((function(){t._buttons.forEach((function(e,n){var i,r=0;"scale"===t._parent.animationMode?(r=3+65*n,i="scale(1)"):i=t.getTranslateFunction("0");var o=e._getHostElement();t.changeElementStyle(o,"transition-delay",r+"ms"),t.changeElementStyle(o,"opacity","1"),t.changeElementStyle(o,"transform",i)}))}),50))},t.prototype.resetAnimationState=function(){clearTimeout(this.showMiniFabAnimation),this.hideMiniFab&&(this.hideMiniFab.unsubscribe(),this.hideMiniFab=null)},t.prototype.hide=function(){var t=this;if(this._buttons){this.resetAnimationState();var e=this._buttons.map((function(e,n){var i,r="1",o=0;"scale"===t._parent.animationMode?(o=3-65*n,i="scale(0)",r="0"):i=t.getTranslateFunction(55*(n+1)-5*n+"px");var a=e._getHostElement();return t.changeElementStyle(a,"transition-delay",o+"ms"),t.changeElementStyle(a,"opacity",r),t.changeElementStyle(a,"transform",i),Object(De.a)(a,"transitionend").pipe(Object(Lt.a)(1))}));this.hideMiniFab=Object(Me.a)(e).subscribe((function(){return t.miniFabVisible=!1}))}},t.prototype.getTranslateFunction=function(t){var e=this._parent.direction;return("up"===e||"down"===e?"translateY":"translateX")+"("+("down"===e||"right"===e?"-":"")+t+")"},t.prototype.changeElementStyle=function(t,e,n){this.renderer.setStyle(t,e,n)},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial-actions",template:'\n '}]}],t.ctorParameters=function(){return[{type:i.F},{type:i.Z}]},t.propDecorators={_buttons:[{type:i.s,args:[k.a]}]},t}(),Be=function(){function t(t,e,n){this.elementRef=t,this.renderer=e,this.document=n,this.isInitialized=!1,this._direction="up",this._open=!1,this._animationMode="fling",this._fixed=!1,this._documentClickUnlistener=null,this.openChange=new i.x}return Object.defineProperty(t.prototype,"fixed",{get:function(){return this._fixed},set:function(t){this._fixed=t,this._processOutsideClickState()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"open",{get:function(){return this._open},set:function(t){var e=this._open;this._open=t,e!==this._open&&(this.openChange.emit(this._open),this.isInitialized&&this.setActionsVisibility())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"direction",{get:function(){return this._direction},set:function(t){var e=this._direction;this._direction=t,e!==this.direction&&(this._setElementClass(e,!1),this._setElementClass(this.direction,!0),this.isInitialized&&this.setActionsVisibility())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animationMode",{get:function(){return this._animationMode},set:function(t){var e=this,n=this._animationMode;this._animationMode=t,n!==this._animationMode&&(this._setElementClass(n,!1),this._setElementClass(this.animationMode,!0),this.isInitialized&&Promise.resolve(null).then((function(){return e.open=!1})))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this.isInitialized=!0,this.setActionsVisibility(),this._setElementClass(this.direction,!0),this._setElementClass(this.animationMode,!0)},t.prototype.ngOnDestroy=function(){this._unsetDocumentClickListener()},t.prototype.toggle=function(){this.open=!this.open},t.prototype._onClick=function(){!this.fixed&&this.open&&(this.open=!1)},t.prototype.setActionsVisibility=function(){this._childActions&&(this.open?this._childActions.show():this._childActions.hide(),this._processOutsideClickState())},t.prototype._setElementClass=function(t,e){var n="eco-"+t;e?this.renderer.addClass(this.elementRef.nativeElement,n):this.renderer.removeClass(this.elementRef.nativeElement,n)},t.prototype._processOutsideClickState=function(){!this.fixed&&this.open?this._setDocumentClickListener():this._unsetDocumentClickListener()},t.prototype._setDocumentClickListener=function(){var t=this;this._documentClickUnlistener||(this._documentClickUnlistener=this.renderer.listen(this.document,"click",(function(){t.open=!1})))},t.prototype._unsetDocumentClickListener=function(){this._documentClickUnlistener&&(this._documentClickUnlistener(),this._documentClickUnlistener=null)},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial",template:'\n
\n \n \n
\n ',encapsulation:i.qb.None,styles:["eco-fab-speed-dial{display:inline-block}eco-fab-speed-dial.eco-opened .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}eco-fab-speed-dial.eco-opened .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin360{-webkit-transform:rotate(360deg);transform:rotate(360deg)}eco-fab-speed-dial .eco-fab-speed-dial-container{position:relative;display:flex;align-items:center;z-index:20}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{pointer-events:auto;z-index:24}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin180,eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-trigger.eco-spin .spin360{transition:.6s cubic-bezier(.4,0,.2,1)}eco-fab-speed-dial .eco-fab-speed-dial-container eco-fab-speed-dial-actions{display:flex;position:absolute;height:0;width:0}eco-fab-speed-dial.eco-fling .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{display:block;opacity:1;transition:.3s cubic-bezier(.55,0,.55,.2)}eco-fab-speed-dial.eco-scale .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{-webkit-transform:scale(0);transform:scale(0);transition:.3s cubic-bezier(.55,0,.55,.2);transition-duration:.14286s}eco-fab-speed-dial.eco-down eco-fab-speed-dial-actions{bottom:2px;left:7px}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container{flex-direction:column}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:1}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:column;order:2}eco-fab-speed-dial.eco-down .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-top:10px}eco-fab-speed-dial.eco-up eco-fab-speed-dial-actions{top:2px;left:7px}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container{flex-direction:column}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:2}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:column-reverse;order:1}eco-fab-speed-dial.eco-up .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-bottom:10px}eco-fab-speed-dial.eco-left eco-fab-speed-dial-actions{top:7px;left:2px}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container{flex-direction:row}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:2}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:row-reverse;order:1}eco-fab-speed-dial.eco-left .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-right:10px}eco-fab-speed-dial.eco-right eco-fab-speed-dial-actions{top:7px;right:2px}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container{flex-direction:row}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-trigger{order:1}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-actions{flex-direction:row;order:2}eco-fab-speed-dial.eco-right .eco-fab-speed-dial-container eco-fab-speed-dial-actions .eco-fab-action-item{margin-left:10px}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Z},{type:Document,decorators:[{type:i.C,args:[r.c]}]}]},t.propDecorators={fixed:[{type:i.G}],open:[{type:i.z,args:["class.eco-opened"]},{type:i.G}],direction:[{type:i.G}],animationMode:[{type:i.G}],openChange:[{type:i.S}],_childActions:[{type:i.r,args:[Ne]}],_onClick:[{type:i.A,args:["click"]}]},t}(),Le=function(){function t(t){this.spin=!1,this._parent=t.get(Be)}return Object.defineProperty(t.prototype,"sp",{get:function(){return this.spin},enumerable:!0,configurable:!0}),t.prototype._onClick=function(t){this._parent.fixed||(this._parent.toggle(),t.stopPropagation())},t.decorators=[{type:i.n,args:[{selector:"eco-fab-speed-dial-trigger",template:'\n '}]}],t.ctorParameters=function(){return[{type:i.F}]},t.propDecorators={sp:[{type:i.z,args:["class.eco-spin"]}],spin:[{type:i.G}],_onClick:[{type:i.A,args:["click",["$event"]]}]},t}(),Fe=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[r.b],declarations:[Ne,Be,Le],exports:[Ne,Be,Le]}]}],t}(),Ge=n("seP3"),He=n("b716"),Ue=n("26FU"),Ve=n("67Y/"),ze=n("Gi3i"),Ye=n("MGBS"),We=n("zotm");var Xe=function(){function t(t,e){this.observables=t,this.project=e}return t.prototype.call=function(t,e){return e.subscribe(new Ze(t,this.observables,this.project))},t}(),Ze=function(t){function e(e,n,i){var r=t.call(this,e)||this;r.observables=n,r.project=i,r.toRespond=[];var o=n.length;r.values=new Array(o);for(var a=0;a0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(Ye.a),Ke=n("qAlS"),qe=new i.E("empty-color"),$e=new i.E("used-colors");function Qe(t){if(t&&0!==t.indexOf("#")&&(t="#"+t),Je(t))return t.toUpperCase()}function Je(t){return!(!t||"#"!==t.charAt(0)||t.length<4||t.length>7)&&-1===t.replace("#","").match(/.{1,2}/g).map((function(t){return Number.isNaN(parseInt(t,16))})).indexOf(!0)}var tn=function(){function t(t,e){this.emptyColor=t,this.usedColors=e,this._colors=new Ue.a([]),this._colors.next(e)}return t.prototype.addColor=function(t){if(t&&Je(t)){t=Qe(t)||this.emptyColor;var e=this._colors.getValue();e.find((function(e){return e===t}))||(e.push(t),this._colors.next(e))}},t.prototype.getColors=function(){return this._colors.asObservable()},t.prototype.resetUseColors=function(){this._colors.next([])},t=Object(xt.b)([Object(i.D)(),Object(xt.e)(0,Object(i.C)(qe)),Object(xt.e)(1,Object(i.C)($e)),Object(xt.d)("design:paramtypes",[String,Array])],t)}(),en=function(){function t(t,e){this.changeDetectorRef=t,this.emptyColor=e,this._hideEmpty=!1,this.size=30,this.transparent=!1,this.changeColor=new i.x}return Object.defineProperty(t.prototype,"hideEmpty",{set:function(t){this._hideEmpty=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this._label},set:function(t){this._label=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colors",{get:function(){return this._colors},set:function(t){this._colors=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentChecked=function(){this._colors&&this._colors.length!==this.size&&(this._colors=this._colors.slice(0,this.size).concat(new Array(this._getCollectionDiffSize())),this.changeDetectorRef.markForCheck())},t.prototype._getCollectionDiffSize=function(){return this._colors.length>this.size||this._hideEmpty?0:this.size-this._colors.length},t.prototype.setTransparent=function(){this.changeColor.emit(this.emptyColor)},t.prototype.setColor=function(t){var e="string"==typeof t?t:t.value;this.changeColor.emit(e)},Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideEmpty",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String),Object(xt.d)("design:paramtypes",[String])],t.prototype,"label",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Array),Object(xt.d)("design:paramtypes",[Array])],t.prototype,"colors",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Number)],t.prototype,"size",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean)],t.prototype,"transparent",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",i.x)],t.prototype,"changeColor",void 0),t=Object(xt.b)([Object(i.n)({selector:"mcc-color-picker-collection",template:'
\n

{{ label }}

\n\n \n\n \n
',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:[".mcc-color-picker-collection{min-height:50px;padding:10px 18px}.mcc-color-picker-collection h3{color:#100214;text-transform:uppercase;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:700;margin:0 0 10px}.mcc-color-picker-remove-color{background-color:#fff;border:1px solid #e1e1e1}.mcc-color-picker-remove-color .mcc-color-picker-transparent{width:20px;height:1px;border-bottom:1px solid red;transform:translateY(-4px) translateX(0) rotate(45deg);-webkit-transform:translateY(-4px) translateX(0) rotate(45deg)}button{width:22px;height:22px;cursor:pointer;margin:3px}"]}),Object(xt.e)(1,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[i.k,String])],t)}(),nn=function(){function t(t,e,n,r){this.elementRef=t,this.changeDetectorRef=e,this.colorPickerService=n,this.emptyColor=r,this._usedColorLabel="Used Colors",this._reverseUsedColor=!1,this._hideHexForms=!1,this._hideEmpty=!1,this._hideTransparent=!1,this._hideUsedColors=!1,this._isOpen=!1,this._overlay=!0,this._hideButtons=!1,this._colorPickerSelectorHeight=170,this._hideColorPickerSelector=!1,this.usedSizeColors=30,this.btnCancel="Cancel",this.btnConfirm="Confirm",this.change=new i.x,this.selected=new i.x,this.clickOut=new i.x,this._collectionSubs=[]}return Object.defineProperty(t.prototype,"usedColorLabel",{get:function(){return this._usedColorLabel},set:function(t){this._usedColorLabel=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"usedColorStart",{set:function(t){var e,n;if(t&&t.length>0)try{for(var i=Object(xt.h)(t),r=i.next();!r.done;r=i.next()){var o=r.value;this.colorPickerService.addColor(o)}}catch(a){e={error:a}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"reverseUsedColors",{set:function(t){this._reverseUsedColor=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideHexForms",{get:function(){return this._hideHexForms},set:function(t){this._hideHexForms=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideEmpty",{get:function(){return this._hideEmpty},set:function(t){this._hideEmpty=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideTransparent",{get:function(){return this._hideTransparent},set:function(t){this._hideTransparent=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideUsedColors",{get:function(){return this._hideUsedColors},set:function(t){this._hideUsedColors=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedColor",{get:function(){return this._selectedColor},set:function(t){this._selectedColor!==t&&this.changeDetectorRef.markForCheck(),this._selectedColor=Qe(t)||this.emptyColor},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen},set:function(t){this._isOpen=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlay",{get:function(){return this._overlay},set:function(t){this._overlay=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideButtons",{get:function(){return this._hideButtons},set:function(t){this._hideButtons=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colorPickerSelectorHeight",{get:function(){return this._colorPickerSelectorHeight},set:function(t){this._colorPickerSelectorHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideColorPickerSelector",{get:function(){return this._hideColorPickerSelector},set:function(t){this._hideColorPickerSelector=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tmpSelectedColor$",{get:function(){return this._tmpSelectedColor.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"usedColors$",{get:function(){var t=this;return this.colorPickerService.getColors().pipe(Object(Ve.a)((function(e){return t._reverseUsedColor?Object(xt.g)(e).reverse():e})))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._selectedColor||(this._selectedColor=this.emptyColor),this._tmpSelectedColor=new Ue.a(this._selectedColor)},t.prototype.ngAfterContentInit=function(){var t=this;this._collections&&this._collections.forEach((function(e){var n=e.changeColor.subscribe((function(e){t.updateTmpSelectedColor(e)}));t._collectionSubs.push(n)}))},t.prototype.ngOnDestroy=function(){this._collectionSubs&&this._collectionSubs.forEach((function(t){t&&!t.closed&&t.unsubscribe()}))},t.prototype._updateSelectedColor=function(){if(this._isOpen||!this.overlay){var t=this._tmpSelectedColor.getValue();this._selectedColor!==t?(this._selectedColor=t,this.selected.next(this._selectedColor)):this.selected.emit(this._selectedColor)}},t.prototype.toggle=function(){this._isOpen=!this._isOpen,this._isOpen||this._selectedColor===this.emptyColor||this.colorPickerService.addColor(this._selectedColor)},t.prototype.backdropClick=function(){this._hideButtons?this.confirmSelectedColor():this.cancelSelection(),this.clickOut.emit(null)},t.prototype.updateTmpSelectedColor=function(t){t&&(this._tmpSelectedColor.next(t),this.change.next(t),this._hideButtons&&this._updateSelectedColor())},t.prototype.cancelSelection=function(){this._tmpSelectedColor.next(this._selectedColor),this.toggle()},t.prototype.confirmSelectedColor=function(){this._updateSelectedColor(),this.toggle()},Object(xt.b)([Object(i.s)(en),Object(xt.d)("design:type",i.X)],t.prototype,"_collections",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String),Object(xt.d)("design:paramtypes",[String])],t.prototype,"usedColorLabel",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Array),Object(xt.d)("design:paramtypes",[Array])],t.prototype,"usedColorStart",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"reverseUsedColors",null),Object(xt.b)([Object(i.G)("hideHexForms"),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideHexForms",null),Object(xt.b)([Object(i.G)("hideEmptyUsedColors"),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideEmpty",null),Object(xt.b)([Object(i.G)("hideTransparentUsedColors"),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideTransparent",null),Object(xt.b)([Object(i.G)("hideUsedColors"),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideUsedColors",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String),Object(xt.d)("design:paramtypes",[String])],t.prototype,"selectedColor",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"isOpen",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"overlay",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideButtons",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Number),Object(xt.d)("design:paramtypes",[Number])],t.prototype,"colorPickerSelectorHeight",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideColorPickerSelector",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Number)],t.prototype,"usedSizeColors",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String)],t.prototype,"btnCancel",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String)],t.prototype,"btnConfirm",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Object)],t.prototype,"change",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Object)],t.prototype,"selected",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Object)],t.prototype,"clickOut",void 0),t=Object(xt.b)([Object(i.n)({selector:"mcc-color-picker",template:'\x3c!-- color picker overlay --\x3e\n\n \n\n \n\n \n\n \n\n\n\x3c!-- color picker flat --\x3e\n\n\n\x3c!-- color picker component content --\x3e\n\n\n \n\n',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);.btn-picker{width:25px;height:25px;cursor:pointer;background:0 0;border:2px solid #ddd}.btn-picker.empty{background:#fff!important}.mcc-color-picker-overlay{display:flex;width:260px;min-height:80px;position:relative;flex-direction:column;padding:0;background:#fff;font-family:'Open Sans',sans-serif}.mcc-color-picker-overlay .mcc-color-picker-preview{width:100%;height:8px}.transparent{width:32px;height:2px;border-bottom:2px solid red;transform:translateY(-3px) translateX(-2px) rotate(45deg);-webkit-transform:translateY(-2px) translateX(-11px) rotate(45deg);position:absolute}.mcc-color-picker-actions{display:flex;padding:4px;border-top:1px solid #ddd}.mcc-color-picker-actions button{color:#100214;text-transform:uppercase;font-family:'Open Sans',sans-serif;font-size:12px;font-weight:400;flex-grow:1}"]}),Object(xt.e)(3,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[i.u,i.k,tn,String])],t)}(),rn=function(){function t(t,e,n){this.formBuilder=t,this.render=e,this.emptyColor=n,this._height=170,this._selectedColor="",this._hideHexForms=!1,this.changeSelectedColor=new i.x,this._rgbaColor="rgba(255,0,0,1)",this.textClass="black",this._isPressed=!1,this.rgbKeys=["R","G","B"]}return Object.defineProperty(t.prototype,"blockCursor",{set:function(t){this._bc=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"stripCursor",{set:function(t){this._sc=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{set:function(t){this._height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectorHeight",{get:function(){return this._height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"stripHeight",{get:function(){return this._height-10},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedColor",{get:function(){return this._selectedColor},set:function(t){this._selectedColor=t||this.emptyColor},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideHexForms",{get:function(){return this._hideHexForms},set:function(t){this._hideHexForms=t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this._tmpSelectedColor=new Ue.a(this._selectedColor),this._tmpSelectedColorSub=this._tmpSelectedColor.subscribe((function(e){e!==t._selectedColor&&Je(e)&&(t.hexForm.get("hexCode").value!==e&&t.hexForm.setValue({hexCode:e}),t.changeSelectedColor.emit(Qe(e)||t.emptyColor))})),this.hexForm=this.formBuilder.group({hexCode:[this.selectedColor,[Re.k.minLength(7),Re.k.maxLength(7)]]});var e={},n=this._getRGB();this.rgbKeys.forEach((function(t,i){return e[t]=new Re.c(n[i],{validators:[Re.k.min(0),Re.k.max(256),Re.k.required,Re.k.maxLength(3)],updateOn:"blur"})})),this.rgbForm=this.formBuilder.group(e),this._onChanges()},t.prototype.ngOnChanges=function(t){if("selectedColor"in t&&t.selectedColor.currentValue!==this.emptyColor){this._isPressed||(this._updateRGB(),this._updateRGBA(),this._blockContext&&this._fillGradient());var e=this._getRGB(),n=Math.round((299*e[0]+587*e[1]+114*e[2])/1e3);this.textClass=n>125?"black":"white"}},t.prototype.ngOnDestroy=function(){this._tmpSelectedColorSub&&!this._tmpSelectedColorSub.closed&&this._tmpSelectedColorSub.unsubscribe(),this._hexValuesSub&&!this._hexValuesSub.closed&&this._hexValuesSub.unsubscribe(),this._rgbValuesSub&&!this._rgbValuesSub.closed&&this._rgbValuesSub.unsubscribe()},t.prototype.ngAfterViewInit=function(){var t=this;this.render.listen(this._block.nativeElement,"mousedown",(function(e){t._isPressed=!0,t.changeColor(e)})),this.render.listen(this._block.nativeElement,"mouseup",(function(){return t._isPressed=!1})),this.render.listen(this._block.nativeElement,"mouseout",(function(){return t._isPressed=!1})),this.render.listen(this._block.nativeElement,"mousemove",(function(e){return t.changeColor(e)})),this._blockContext=this._bc.nativeElement.getContext("2d"),this._blockContext.rect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height),this.render.listen(this._strip.nativeElement,"mousedown",(function(e){t._isPressed=!0,t.changeBaseColor(e)})),this.render.listen(this._strip.nativeElement,"mouseup",(function(){return t._isPressed=!1})),this.render.listen(this._strip.nativeElement,"mouseout",(function(){return t._isPressed=!1})),this.render.listen(this._strip.nativeElement,"mousemove",(function(e){return t.changeBaseColor(e)})),this._stripContext=this._strip.nativeElement.getContext("2d"),this._stripContext.rect(0,0,this._strip.nativeElement.width,this._strip.nativeElement.height);var e=this._stripContext.createLinearGradient(0,0,0,this._bc.nativeElement.height);e.addColorStop(0,"rgba(255, 0, 0, 1)"),e.addColorStop(.17,"rgba(255, 255, 0, 1)"),e.addColorStop(.34,"rgba(0, 255, 0, 1)"),e.addColorStop(.51,"rgba(0, 255, 255, 1)"),e.addColorStop(.68,"rgba(0, 0, 255, 1)"),e.addColorStop(.85,"rgba(255, 0, 255, 1)"),e.addColorStop(1,"rgba(255, 0, 0, 1)"),this._stripContext.fillStyle=e,this._stripContext.fill(),this._fillGradient()},t.prototype._fillGradient=function(){this._blockContext.fillStyle=this._rgbaColor,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height);var t=this._stripContext.createLinearGradient(0,0,this._bc.nativeElement.width,0);t.addColorStop(0,"rgba(255,255,255,1)"),t.addColorStop(1,"rgba(255,255,255,0)"),this._blockContext.fillStyle=t,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height);var e=this._stripContext.createLinearGradient(0,0,0,this._bc.nativeElement.height);e.addColorStop(0,"rgba(0,0,0,0)"),e.addColorStop(1,"rgba(0,0,0,1)"),this._blockContext.fillStyle=e,this._blockContext.fillRect(0,0,this._bc.nativeElement.width,this._bc.nativeElement.height)},t.prototype._onChanges=function(){var t=this;this._hexValuesSub=this.hexForm.get("hexCode").valueChanges.pipe(Object(Ve.a)((function(e){return e!==t.emptyColor?Qe(e):e}))).subscribe((function(e){!t._isPressed&&Je(e)&&t._tmpSelectedColor.next(e||t.emptyColor)})),this._rgbValuesSub=this.rgbForm.valueChanges.subscribe((function(e){var n=[];for(var i in e)!e[i]&&0!==e[i]||e[i]>255?n.push(""):n.push(e[i]);var r=t._getHex(n);r!==t._selectedColor&&7===r.length&&t._tmpSelectedColor.next(r)}))},t.prototype._getRGB=function(t){if(t)return[t[0],t[1],t[2]];var e=this._selectedColor.replace("#","");return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]},t.prototype._getHex=function(t){var e=new Array(3);return e[0]=t[0].toString(16),e[1]=t[1].toString(16),e[2]=t[2].toString(16),e.forEach((function(t,n){1===t.length&&(e[n]="0"+e[n])})),Qe(""+e[0]+e[1]+e[2])||this.emptyColor},t.prototype._updateRGBA=function(t){this._selectedColor||t||(this._rgbaColor="rgba(255,0,0,1)");var e=this._getRGB(t);this._rgbaColor="rgba("+e[0]+", "+e[1]+", "+e[2]+", 1)"},t.prototype._updateRGB=function(t){this.rgbForm&&(t||(t=this._getRGB()),this.rgbForm.setValue({R:t[0],G:t[1],B:t[2]}))},t.prototype.changeBaseColor=function(t){if(this._isPressed){this.render.setStyle(this._sc.nativeElement,"background-position-y",t.offsetY+"px");var e=this._stripContext.getImageData(t.offsetX,t.offsetY,1,1).data;this._updateRGBA(e),this._fillGradient(),this.updateValues(e)}},t.prototype.changeColor=function(t){if(this._isPressed){this.render.setStyle(this._bp.nativeElement,"top",t.offsetY-5+"px"),this.render.setStyle(this._bp.nativeElement,"left",t.offsetX-5+"px");var e=this._blockContext.getImageData(t.offsetX,t.offsetY,1,1).data;this.updateValues(e)}},t.prototype.updateValues=function(t){t&&(this._updateRGB(t),this._tmpSelectedColor.next(this._getHex(t)))},Object(xt.b)([Object(i.nb)("block",{static:!1}),Object(xt.d)("design:type",i.u)],t.prototype,"_block",void 0),Object(xt.b)([Object(i.nb)("blockPointer",{static:!1}),Object(xt.d)("design:type",i.u)],t.prototype,"_bp",void 0),Object(xt.b)([Object(i.nb)("blockCanvas",{static:!1}),Object(xt.d)("design:type",i.u),Object(xt.d)("design:paramtypes",[i.u])],t.prototype,"blockCursor",null),Object(xt.b)([Object(i.nb)("strip",{static:!1}),Object(xt.d)("design:type",i.u)],t.prototype,"_strip",void 0),Object(xt.b)([Object(i.nb)("stripContainer",{static:!1}),Object(xt.d)("design:type",i.u),Object(xt.d)("design:paramtypes",[i.u])],t.prototype,"stripCursor",null),Object(xt.b)([Object(i.G)("height"),Object(xt.d)("design:type",Number),Object(xt.d)("design:paramtypes",[Number])],t.prototype,"height",null),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String),Object(xt.d)("design:paramtypes",[String])],t.prototype,"selectedColor",null),Object(xt.b)([Object(i.G)("hideHexForms"),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideHexForms",null),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Object)],t.prototype,"changeSelectedColor",void 0),t=Object(xt.b)([Object(i.n)({selector:"mcc-color-picker-selector",template:'
\n
\n \n
\n\n
\n \n
\n
\n\n
\n \n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["canvas#colors{margin:5px}canvas:hover{cursor:crosshair}.mcc-picker-selector{position:absolute;width:230px;height:170px;top:0;left:0;z-index:10;cursor:crosshair}.mcc-picker-position{position:absolute;width:10px;height:10px;z-index:1;border:1px solid #ddd;border-radius:50%;background:rgba(0,0,0,.3)}.mcc-colors-position{position:absolute;width:30px;height:160px;top:0;right:0;z-index:1;background:url(data:image/gif;base64,R0lGODdhHgAIALMAAAAAADU1NTk5OUJCQkpKSlZWVltbW2pqaoCAgP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAkAAAoALAAAAAAeAAgAAAQw0BhFq734yjJm/p8xFEVAeGCqGERACmahgkUrvPH81cFdnjoQy8VBBTOiguSokkQAADs=) no-repeat}.mcc-color-picker-selector{height:170px}::ng-deep mat-form-field{font-family:'Open Sans';font-size:11px;font-weight:700}::ng-deep mat-form-field.black{color:#100214}::ng-deep mat-form-field.black label{color:#100214}::ng-deep mat-form-field.black .mat-form-field-underline{background-color:#100214}::ng-deep mat-form-field.white{color:#fff}::ng-deep mat-form-field.white label{color:#fff}::ng-deep mat-form-field.white .mat-form-field-underline{background-color:#fff}.mcc-color-picker-selector-preview{height:40px;padding:15px;border-bottom:1px solid #e1e1e1;box-sizing:content-box}.mcc-color-picker-selector-preview form{display:inline-block;position:relative}.mcc-color-picker-selector-preview .hex-input{width:75px;margin-right:20px}.mcc-color-picker-selector-preview .hex-input input{font-size:16px;font-weight:400}.mcc-color-picker-selector-preview .rgb-input{width:40px;margin-right:5px}.mcc-color-picker-selector-preview .rgb-input input{font-size:16px;font-weight:400}"]}),Object(xt.e)(2,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[Re.b,i.Z,String])],t)}(),on=function(){function t(t,e,n){this.elementRef=t,this.render=e,this.emptyColor=n,this._color=n}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){if(this.color){var t=void 0;"string"==typeof this.color?t=this.color:(t=this.color.value,this.render.setAttribute(this.elementRef.nativeElement,"aria-label",this.color.text)),Je(t)&&this.render.setStyle(this.elementRef.nativeElement,"background",Qe(t)||this.emptyColor)}},Object(xt.b)([Object(i.G)("mccColorPickerOption"),Object(xt.d)("design:type",Object),Object(xt.d)("design:paramtypes",[Object])],t.prototype,"color",null),t=Object(xt.b)([Object(i.t)({selector:"[mccColorPickerOption], [mcc-color-picker-option]",exportAs:"mccColorPickerOption"}),Object(xt.e)(2,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[i.u,i.Z,String])],t)}(),an=function(){function t(t,e,n){var i=this;this.elementRef=t,this.renderer=e,this.emptyColor=n,this.change=new Ue.a(""),e.listen(t.nativeElement,"keyup",(function(t){var e=t.currentTarget.value;t.isTrusted&&Je(e)&&i.writeValueFromKeyup(Qe(e)||i.emptyColor)}))}var e;return e=t,t.prototype.writeValue=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.change.next(t),this.propagateChanges&&this.propagateChanges(t)},t.prototype.writeValueFromColorPicker=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.propagateChanges(t)},t.prototype.writeValueFromKeyup=function(t){this.change.next(t),this.propagateChanges(t)},t.prototype.registerOnChange=function(t){this.propagateChanges=t},t.prototype.registerOnTouched=function(t){},t.prototype.setDisabledState=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"disabled",t)},Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Ue.a)],t.prototype,"change",void 0),t=e=Object(xt.b)([Object(i.t)({selector:"[mcc-color-picker-origin], [mccColorPickerOrigin]",exportAs:"mccColorPickerOrigin",providers:[{provide:Re.g,useExisting:Object(i.vb)((function(){return e})),multi:!0}]}),Object(xt.e)(2,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[i.u,i.Z,String])],t)}(),sn=function(){function t(t,e,n){this.colorPicker=t,this.changeDetectorRef=e,this.emptyColor=n}return t.prototype.ngAfterViewInit=function(){this._colorPickerSub||this._attachColorPicker()},t.prototype.ngOnDestroy=function(){this._colorPickerSub&&!this._colorPickerSub.closed&&this._colorPickerSub.unsubscribe(),this._originSub&&!this._originSub.closed&&this._originSub.unsubscribe()},t.prototype._attachColorPicker=function(){var t=this;this._originSub=this.origin.change.subscribe((function(e){(Je(e)||e===t.emptyColor&&t.colorPicker.selectedColor!==t.emptyColor)&&t.colorPicker.updateTmpSelectedColor(e),t.colorPicker.selectedColor=e,t.changeDetectorRef.detectChanges()})),this._colorPickerSub=this.colorPicker.change.subscribe((function(e){return t.origin.writeValueFromColorPicker(e)}))},Object(xt.b)([Object(i.G)("mccConnectedColorPickerOrigin"),Object(xt.d)("design:type",an)],t.prototype,"origin",void 0),t=Object(xt.b)([Object(i.t)({selector:"[mcc-connected-color-picker], [mccConnectedColorPicker]",exportAs:"mccConnectedColorPicker"}),Object(xt.e)(2,Object(i.C)(qe)),Object(xt.d)("design:paramtypes",[nn,i.k,String])],t)}(),cn=[],ln=function(){function t(){}var e;return e=t,t.forRoot=function(t){return{ngModule:e,providers:[{provide:qe,useValue:t.empty_color||"none"},{provide:$e,useValue:t.used_colors||[]}]}},t=e=Object(xt.b)([Object(i.L)({imports:[r.b,Rt.h,fe.e,Re.j,k.b,Ge.c,He.b],declarations:[nn,sn,rn,an,on,en],exports:[nn,sn,an,en],providers:[tn,{provide:qe,useValue:"none"},{provide:$e,useValue:cn}]})],t)}(),pn=["12","11","1","10","2","9","3","8","4","7","5","6"],dn=["00","55","05","50","10","45","15","40","20","35","25","30"],mn=function(){function t(){this._selectedHour="12",this._selectedMinute="00",this._selectedPeriod="am",this._clock=new Ue.a(pn),this._focus="hour",this._hour="12",this._minute="00",this._period="am",this._hideButtons=!1,this.format="12",this.min="00:00 am",this.max="12:00 pm",this.btnCancel="Cancel",this.btnConfirm="Ok",this.selected=new i.x,this.connected=!1}return Object.defineProperty(t.prototype,"clock$",{get:function(){return this._clock.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focus",{get:function(){return this._focus},set:function(t){t!==this._focus&&(this._focus=t,this._clock.next("hour"===this._focus?pn:dn))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen},set:function(t){this._isOpen=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hour",{get:function(){return this._hour},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minute",{get:function(){return this._minute},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"period",{get:function(){return this._period},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hideButtons",{get:function(){return this._hideButtons},set:function(t){this._hideButtons=Object(Ot.c)(t)},enumerable:!0,configurable:!0}),t.prototype.getSelectedClass=function(){var t=this,e="selected-index-";return"hour"===this.focus?e+=pn.findIndex((function(e){return e===t.hour})):e+=dn.findIndex((function(e){return e===t.minute})),e},t.prototype.select=function(t){"hour"===this.focus?(this._hour=t,this.focus="min"):this._minute=t,this._hideButtons&&this.confirmSelectedTime()},t.prototype.parseTimeInput=function(t){var e=t.split(/\s|:/).map((function(t,e){return 2===e?t:parseInt(t,10)}));if(2===e.length){var n=e[0];n>11?(e[0]=n-12,e.push("pm")):e.push("am")}return e},t.prototype.isOptionDisabled=function(t){var e=Object(xt.f)(this.parseTimeInput(this.min),3),n=e[0],i=e[1],r=e[2],o=Object(xt.f)(this.parseTimeInput(this.max),3),a=o[0],s=o[1],c=o[2],l=parseInt(t,10),p=parseInt(this._hour,10),d=this._period;if("hour"===this.focus){if(la&&d===c)return!0}else{if(p===n&&d===r&&ls)return!0}return!1},t.prototype.changePeriod=function(t){this._period=t,this._hideButtons&&this.confirmSelectedTime()},t.prototype.backdropClick=function(){this.confirmSelectedTime(),this._isOpen=!1},t.prototype.cancelSelection=function(){this._hour=this._selectedHour,this._minute=this._selectedMinute,this._period=this._selectedPeriod,this._isOpen=!1},t.prototype.confirmSelectedTime=function(){var t;if(this._selectedHour=this.hour,this._selectedMinute=this.minute,this._selectedPeriod=this.period,"12"===this.format)t=this.hour+":"+this.minute+" "+this.period;else{var e=this.hour;"pm"===this.period&&(e=""+(parseInt(e)+12)),t=e+":"+this.minute}this.selected.emit(t),this._hideButtons||(this._isOpen=!1)},Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",Boolean),Object(xt.d)("design:paramtypes",[Boolean])],t.prototype,"hideButtons",null),Object(xt.b)([Object(i.G)("mccTimerPickerFormat"),Object(xt.d)("design:type",String)],t.prototype,"format",void 0),Object(xt.b)([Object(i.G)("mccTimerPickerMin"),Object(xt.d)("design:type",String)],t.prototype,"min",void 0),Object(xt.b)([Object(i.G)("mccTimerPickerMax"),Object(xt.d)("design:type",String)],t.prototype,"max",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String)],t.prototype,"btnCancel",void 0),Object(xt.b)([Object(i.G)(),Object(xt.d)("design:type",String)],t.prototype,"btnConfirm",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",i.x)],t.prototype,"selected",void 0),t=Object(xt.b)([Object(i.n)({selector:"mcc-timer-picker",template:'\x3c!-- show component inside overlay --\x3e\n\n \n\n \n\n \n\n\n\n\n\n \n',preserveWhitespaces:!1,changeDetection:i.j.OnPush,styles:["@import url(https://fonts.googleapis.com/css?family=Roboto);.mcc-timer-picker-overlay{width:290px;height:400px}.mcc-timer-picker-header{display:flex;width:220px;height:65px;padding:10px 0 5px 70px;background:#00796b}.mcc-timer-picker-hours,.mcc-timer-picker-minutes{width:63px;height:63px;font-family:Roboto,sans-serif;font-size:50px;font-weight:400;color:rgba(255,255,255,.3)}.mcc-timer-picker-hours.mcc-standalone,.mcc-timer-picker-minutes.mcc-standalone{text-align:right}.mcc-timer-picker-hours.mcc-active,.mcc-timer-picker-minutes.mcc-active{color:#fff}.mcc-timer-picker-separator{font-family:Roboto,sans-serif;font-size:43px;font-weight:400;color:rgba(255,255,255,.3);margin:5px 5px 0 0}.mcc-timer-picker-separator::after{content:':'}.mcc-timer-picker-am-pm{display:flex;flex-direction:column;margin:10px}.mcc-timer-picker-am-pm button{width:25px;height:25px;line-height:25px;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;color:rgba(255,255,255,.3)}.mcc-timer-picker-am-pm button.mcc-active{color:#fff}.mcc-timer-picker-content{width:inherit;height:260px;padding:15px 0 5px;background-color:#fff}.mcc-timer-picker-clock{position:relative;width:250px;height:250px;margin:0 auto;background-color:#eee;border-radius:50%;text-align:center}.mcc-timer-picker-clock .mcc-timer-picker-dot{position:absolute;width:8px;height:8px;border-radius:50%;background-color:#00796b;top:125px;left:125px}.mcc-timer-picker-clock .mcc-timer-picker-line{position:absolute;width:2px;height:100px;top:11.5%;left:51%;transform-origin:50% 100%;background-color:#00796b}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-0{transform:rotateZ(0);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-1{transform:rotateZ(327deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-2{transform:rotateZ(30deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-3{transform:rotateZ(300deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-4{transform:rotateZ(60deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-5{transform:rotateZ(270deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-6{transform:rotateZ(90deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-7{transform:rotateZ(240deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-8{transform:rotateZ(120deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-9{transform:rotateZ(210deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-10{transform:rotateZ(150deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-line.selected-index-11{transform:rotateZ(180deg);transition:240ms}.mcc-timer-picker-clock .mcc-timer-picker-option{position:absolute}.mcc-timer-picker-clock .mcc-timer-picker-option.mcc-timer-picker-option-selected{color:#fff;background-color:#00796b}.mcc-timer-picker-clock .mcc-timer-picker-option#option-0{top:0;left:113px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-1{top:25px;left:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-2{top:25px;right:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-3{top:63px;left:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-4{top:63px;right:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-5{top:113px;left:0}.mcc-timer-picker-clock .mcc-timer-picker-option#option-6{top:113px;right:0}.mcc-timer-picker-clock .mcc-timer-picker-option#option-7{bottom:55px;left:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-8{bottom:55px;right:20px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-9{bottom:20px;left:63px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-10{bottom:20px;right:55px}.mcc-timer-picker-clock .mcc-timer-picker-option#option-11{bottom:0;left:113px}.mcc-timer-picker-actions{display:flex;padding:4px;background-color:#fff}.mcc-timer-picker-actions button{color:#100214;text-transform:uppercase;font-family:Roboto,sans-serif;font-size:14px;font-weight:400}::ng-deep .mat-icon-button{width:30px;height:30px;line-height:30px}"]}),Object(xt.d)("design:paramtypes",[])],t)}(),un=function(){function t(t,e){var n=this;this.elementRef=t,this.renderer=e,this.change=new Ue.a(""),this.hasFocus=new Ue.a(!1),e.listen(t.nativeElement,"focus",(function(){return n.hasFocus.next(!0)}))}var e;return e=t,t.prototype.writeValue=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.change.next(t),this.propagateChanges&&this.propagateChanges(t)},t.prototype.writeValueFromTimerPicker=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"value",t),this.propagateChanges(t)},t.prototype.writeValueFromKeyup=function(t){this.change.next(t),this.propagateChanges(t)},t.prototype.registerOnChange=function(t){this.propagateChanges=t},t.prototype.registerOnTouched=function(t){},t.prototype.setDisabledState=function(t){this.renderer.setProperty(this.elementRef.nativeElement,"disabled",t)},Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Ue.a)],t.prototype,"change",void 0),Object(xt.b)([Object(i.S)(),Object(xt.d)("design:type",Ue.a)],t.prototype,"hasFocus",void 0),t=e=Object(xt.b)([Object(i.t)({selector:"[mccTimerPickerOrigin], [mcc-timer-picker-origin]",exportAs:"mccTimerPickerOrigin",providers:[{provide:Re.g,useExisting:Object(i.vb)((function(){return e})),multi:!0}]}),Object(xt.d)("design:paramtypes",[i.u,i.Z])],t)}(),hn=function(){function t(t,e){this.timerPicker=t,this.changeDetectorRef=e,this.timerPicker.connected=!0}return t.prototype.ngAfterViewInit=function(){this._timerPickerSub||(this.timerPicker.trigger=this.origin,this._attachTimerPicker())},t.prototype.ngOnDestroy=function(){this._originFocus&&!this._originFocus.closed&&this._originFocus.unsubscribe(),this._timerPickerSub&&!this._timerPickerSub.closed&&this._timerPickerSub.unsubscribe()},t.prototype._attachTimerPicker=function(){var t=this;this._originFocus=this.origin.hasFocus.subscribe((function(e){t.timerPicker.focus="hour",t.timerPicker.isOpen=e,t.changeDetectorRef.detectChanges()})),this._timerPickerSub=this.timerPicker.selected.subscribe((function(e){return t.origin.writeValueFromTimerPicker(e)}))},Object(xt.b)([Object(i.G)("mccConnectedTimerPickerOrigin"),Object(xt.d)("design:type",un)],t.prototype,"origin",void 0),t=Object(xt.b)([Object(i.t)({selector:"[mccConnectedTimerPicker], [mcc-connected-timer-picker]",exportAs:"mccConnectedTimerPicker"}),Object(xt.d)("design:paramtypes",[mn,i.k])],t)}(),fn=(function(){function t(){}t=Object(xt.b)([Object(i.L)({imports:[r.b,Rt.h,fe.e,k.b],declarations:[mn,un,hn],exports:[mn,un,hn]})],t)}(),function(){function t(t){var e=this;this.window=t,this._fromClick=!1,this.data=[],this._scrollSub=Object(De.a)(t,"scroll").pipe(Object(ze.a)(50),function(){for(var t=[],e=0;e=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},On=function(){function t(){}return t=xn([Object(i.L)({imports:[ln.forRoot({empty_color:"transparent",used_colors:["#000000","#FFF555"]}),Fe,Ie.a,Ae.a,Re.e,Pe.a,je.a,k.b,Ee.a,Te,ce,Jt.a,C.a,Qt,r.b,yt.a,vt.a,vn.a,_n.b,He.b],declarations:[H,K,nt,ct,gt],exports:[],providers:[]})],t)}(),kn=n("pKmL");n.d(e,"AuthModule",(function(){return wn}));var Cn=function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Sn={suppressScrollX:!0},wn=function(){function t(){}return t=Cn([Object(i.L)({imports:[r.b,x.b.forChild(bt),O.a,On,k.b,C.a,w.a,kn.a,S.a,T.b],exports:[],declarations:[_],providers:[{provide:T.a,useValue:Sn}]})],t)}()},ZFFu:function(t,e,n){"use strict";n.r(e),e.default=".timing-text {\n color: white;\n}\n\n.timing-name {\n margin: 10px;\n margin-left: 25px;\n margin-right: 25px;\n}\n\n.timing-properties-text {\n color: #356472;\n}\n\nmat-card {\n padding: 5px;\n margin: 7px;\n}\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white;\n}\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white;\n}\n\n::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {\n background-color: #257086;\n}\n\n::ng-deep.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb {\n background-color: #1b5161;\n}"},ZTDs:function(t,e,n){"use strict";n.r(e),e.default=".operation-text {\n color: white;\n}\n\n.operation-name {\n margin: 20px;\n}\n\nmat-card {\n padding: 5px;\n margin: 7px;\n}\n\ntable {\n width: 100%;\n}\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white;\n}\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white;\n}"},dlo3:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n \r\n \r\n

\r\n \r\n CASAnet\r\n \r\n \x3c!-- darki.co.il --\x3e\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
'},qHuH:function(t,e,n){"use strict";n.r(e),e.default='\r\n\r\n
\r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- Position Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n

{{i + 1}}

{{\'EMAIL\' | translate}} {{ element.email}} {{\'NAME\' | translate}} \r\n \r\n \r\n \r\n {{\'ALLOW_UNMFA_ACCESS\' | translate}} \r\n \r\n \r\n {{\'SCOPE\' | translate}} \r\n \r\n {{ \'ADMIN\' | translate }}\r\n {{ \'USER\' | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
'},snKB:function(t,e,n){"use strict";n.r(e),e.default="mat-card {\n padding: 5px;\n margin: 7px;\n}\n\n.minion-card-focus:hover {\n cursor: pointer;\n box-shadow: 1px 1px 2px black, 0 0 25px blue, 0 0 5px darkblue;\n}\n\n.minion-card:active {\n margin-top: 12px;\n}\n\n.minion-text {\n color: white;\n}\n\n::ng-deep .mat-form-field-type-mat-select .mat-form-field-label,\n.mat-select-value {\n color: white;\n}\n\n::ng-deep .mat-accent .mat-slider-thumb {\n background-color: black;\n}\n\n::ng-deep .mat-accent .mat-slider-thumb-label {\n background-color: black;\n}\n\n::ng-deep .mat-accent .mat-slider-track-fill {\n background-color: black;\n}\n\n::ng-deep .mat-mini-fab {\n background-color: #1f5f59;\n color: white;\n}\n\n::ng-deep .mat-fab {\n background-color: #1f5f59;\n color: white;\n}\n\n/* SLIDER */\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-bar {\n background: #ffe4d1;\n height: 2px;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-selection {\n background: orange;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-pointer {\n width: 8px;\n height: 16px;\n top: auto;\n /* to remove the default positioning */\n bottom: 0;\n background-color: white;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-pointer:after {\n display: none;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-bubble {\n color: white;\n bottom: 14px;\n}\n\n::ng-deep .ng5-slider .ng5-slider-bubble.ng5-slider-limit {\n color: white;\n bottom: 14px;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-limit {\n font-weight: bold;\n color: white;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-tick {\n width: 1px;\n height: 10px;\n margin-left: 4px;\n border-radius: 0;\n background: #ffe4d1;\n top: -1px;\n}\n\n::ng-deep .custom-slider .ng5-slider .ng5-slider-tick.ng5-slider-selected {\n background: orange;\n}\n\n.ng5-slider-ceil {\n color: white;\n bottom: 14px;\n}"}}]); \ No newline at end of file diff --git a/backend/dist/public/7.421eedcba482dfff3aa9.js b/backend/dist/public/7.421eedcba482dfff3aa9.js new file mode 100644 index 00000000..49d5b197 --- /dev/null +++ b/backend/dist/public/7.421eedcba482dfff3aa9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{F4UR:function(t,e,i){"use strict";i.r(e);var r=i("CcnG"),n=i("ZYCi"),o=i("vARd"),a=i("gIcY"),s=i("lGQG"),l=i("PSD3"),c=i.n(l),h=i("eKg/"),u=i("NZXM"),p=i("Onty"),d=i("Gwao"),g=i("X2iB"),f=i("dO5I"),m=i("sB9w"),y=i("6Qg2"),w=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},v=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},_=function(t,e,i,r){return new(i||(i=Promise))((function(n,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?n(t.value):new i((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},b=function(t,e){var i,r,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,r&&(n=2&o[0]?r.return:o[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,o[1])).done)return n;switch(r=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]',styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],t.ctorParameters=function(){return[{type:r.u},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[j]}]}]},t.propDecorators={rowspan:[{type:r.G}],colspan:[{type:r.G}]},t}(),H=function(){function t(t){this._element=t}return t.prototype.ngAfterContentInit=function(){Object(C.z)(this._lines,this._element)},t.decorators=[{type:r.n,args:[{selector:"mat-grid-tile-header, mat-grid-tile-footer",template:'
',changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],t.ctorParameters=function(){return[{type:r.u}]},t.propDecorators={_lines:[{type:r.s,args:[C.i]}]},t}(),M=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[mat-grid-avatar], [matGridAvatar]",host:{class:"mat-grid-avatar"}}]}],t}(),F=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-grid-tile-header",host:{class:"mat-grid-tile-header"}}]}],t}(),N=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-grid-tile-footer",host:{class:"mat-grid-tile-footer"}}]}],t}(),B=function(){function t(){this.columnIndex=0,this.rowIndex=0}return Object.defineProperty(t.prototype,"rowCount",{get:function(){return this.rowIndex+1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowspan",{get:function(){var t=Math.max.apply(Math,this.tracker);return t>1?this.rowCount+t-1:this.rowCount},enumerable:!0,configurable:!0}),t.prototype.update=function(t,e){var i=this;this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map((function(t){return i._trackTile(t)}))},t.prototype._trackTile=function(t){var e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new D(this.rowIndex,e)},t.prototype._findMatchingGap=function(t){if(t>this.tracker.length)throw Error("mat-grid-list: tile with colspan "+t+' is wider than grid with cols="'+this.tracker.length+'".');var e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)):-1!=(e=this.tracker.indexOf(0,this.columnIndex))?(i=this._findGapEndIndex(e),this.columnIndex=e+1):(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e))}while(i-e')},t.prototype._checkRowHeight=function(){this._rowHeight||this._setTileStyler("1:1")},t.prototype._setTileStyler=function(t){this._tileStyler&&this._tileStyler.reset(this),"fit"===t?this._tileStyler=new Y:t&&t.indexOf(":")>-1?this._tileStyler=new W(t):this._tileStyler=new V(t)},t.prototype._layoutTiles=function(){var t=this;this._tileCoordinator||(this._tileCoordinator=new B);var e=this._tileCoordinator,i=this._tiles.filter((function(e){return!e._gridList||e._gridList===t})),r=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,i),this._tileStyler.init(this.gutterSize,e,this.cols,r),i.forEach((function(i,r){var n=e.positions[r];t._tileStyler.setStyle(i,n.row,n.col)})),this._setListStyle(this._tileStyler.getComputedHeight())},t.prototype._setListStyle=function(t){t&&(this._element.nativeElement.style[t[0]]=t[1])},t.decorators=[{type:r.n,args:[{selector:"mat-grid-list",exportAs:"matGridList",template:"
",styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],host:{class:"mat-grid-list"},providers:[{provide:j,useExisting:t}],changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],t.ctorParameters=function(){return[{type:r.u},{type:A.b,decorators:[{type:r.R}]}]},t.propDecorators={_tiles:[{type:r.s,args:[G,{descendants:!0}]}],cols:[{type:r.G}],gutterSize:[{type:r.G}],rowHeight:[{type:r.G}]},t}(),Q=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[C.j,C.h],exports:[K,G,H,C.j,C.h,F,N,M],declarations:[K,G,H,F,N,M]}]}],t}(),$=i("SMsm"),J=i("d2mR");i.d(e,"LoginModule",(function(){return it}));var tt=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},et=[{path:"",component:x}],it=function(){function t(){}return t=tt([Object(r.L)({imports:[J.a,T.a,R.b,P.a,E.b,I.a,k.b,O.a,a.e,a.j,Q,$.a,n.b.forChild(et)],declarations:[x],exports:[n.b],providers:[]})],t)}()},KEbp:function(t,e,i){"use strict";i.r(e),e.default=".sigin-conainer {\n min-height: 100%;\n background-size: cover;\n padding: 100px;\n}\n.sigin-main {\n position: relative;\n margin: 0 auto;\n width: 500px;\n}\n.full-width {\n width: 100%;\n}\n.redirect {\n font-size: 14px;\n margin-left: 10px;\n color: #00AAAA;\n}\n/* These just style the content */\n#pretty-border {\n /* just a fancy border */\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 10px solid rgba(255, 255, 255, 0.5);\n margin: 10px;\n z-index: 2;\n}\n#picture-background {\n background-image: url('login_wallpaper.702b89de2b2f219e6dda.png');\n height: 100%;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n z-index: -200;\n}\n/* The only rule that matters */\n#video-background {\n /* making the video fullscreen */\n position: fixed;\n right: 0;\n bottom: 0;\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n z-index: 0;\n}\n.warninig-text {\n color: coral;\n font-size: 13px;\n text-align: right;\n}"},ywSW:function(t,e,i){"use strict";i.r(e),e.default='
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n {{ \'AUTHENTICATION\' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n priority_high\r\n \r\n \r\n
\r\n {{ formErrors.email }}\r\n
\r\n
\r\n
\r\n {{ formErrors.password }}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
'}}]); \ No newline at end of file diff --git a/backend/dist/public/7.79bd1e24ff8bd1406fa4.js b/backend/dist/public/7.79bd1e24ff8bd1406fa4.js deleted file mode 100644 index 444c7d35..00000000 --- a/backend/dist/public/7.79bd1e24ff8bd1406fa4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{F4UR:function(t,e,i){"use strict";i.r(e);var r=i("CcnG"),n=i("ZYCi"),o=i("vARd"),a=i("gIcY"),s=i("lGQG"),l=i("PSD3"),c=i.n(l),h=i("eKg/"),u=i("NZXM"),p=i("Onty"),d=i("Gwao"),g=i("X2iB"),f=i("dO5I"),m=i("sB9w"),y=i("6Qg2"),w=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},v=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},_=function(t,e,i,r){return new(i||(i=Promise))(function(n,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?n(t.value):new i(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},b=function(t,e){var i,r,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,r&&(n=2&o[0]?r.return:o[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,o[1])).done)return n;switch(r=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]',styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],t.ctorParameters=function(){return[{type:r.u},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[j]}]}]},t.propDecorators={rowspan:[{type:r.G}],colspan:[{type:r.G}]},t}(),H=function(){function t(t){this._element=t}return t.prototype.ngAfterContentInit=function(){Object(C.z)(this._lines,this._element)},t.decorators=[{type:r.n,args:[{selector:"mat-grid-tile-header, mat-grid-tile-footer",template:'
',changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],t.ctorParameters=function(){return[{type:r.u}]},t.propDecorators={_lines:[{type:r.s,args:[C.i]}]},t}(),M=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[mat-grid-avatar], [matGridAvatar]",host:{class:"mat-grid-avatar"}}]}],t}(),F=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-grid-tile-header",host:{class:"mat-grid-tile-header"}}]}],t}(),N=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-grid-tile-footer",host:{class:"mat-grid-tile-footer"}}]}],t}(),B=function(){function t(){this.columnIndex=0,this.rowIndex=0}return Object.defineProperty(t.prototype,"rowCount",{get:function(){return this.rowIndex+1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowspan",{get:function(){var t=Math.max.apply(Math,this.tracker);return t>1?this.rowCount+t-1:this.rowCount},enumerable:!0,configurable:!0}),t.prototype.update=function(t,e){var i=this;this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map(function(t){return i._trackTile(t)})},t.prototype._trackTile=function(t){var e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new D(this.rowIndex,e)},t.prototype._findMatchingGap=function(t){if(t>this.tracker.length)throw Error("mat-grid-list: tile with colspan "+t+' is wider than grid with cols="'+this.tracker.length+'".');var e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)):-1!=(e=this.tracker.indexOf(0,this.columnIndex))?(i=this._findGapEndIndex(e),this.columnIndex=e+1):(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e))}while(i-e')},t.prototype._checkRowHeight=function(){this._rowHeight||this._setTileStyler("1:1")},t.prototype._setTileStyler=function(t){this._tileStyler&&this._tileStyler.reset(this),"fit"===t?this._tileStyler=new Y:t&&t.indexOf(":")>-1?this._tileStyler=new W(t):this._tileStyler=new V(t)},t.prototype._layoutTiles=function(){var t=this;this._tileCoordinator||(this._tileCoordinator=new B);var e=this._tileCoordinator,i=this._tiles.filter(function(e){return!e._gridList||e._gridList===t}),r=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,i),this._tileStyler.init(this.gutterSize,e,this.cols,r),i.forEach(function(i,r){var n=e.positions[r];t._tileStyler.setStyle(i,n.row,n.col)}),this._setListStyle(this._tileStyler.getComputedHeight())},t.prototype._setListStyle=function(t){t&&(this._element.nativeElement.style[t[0]]=t[1])},t.decorators=[{type:r.n,args:[{selector:"mat-grid-list",exportAs:"matGridList",template:"
",styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],host:{class:"mat-grid-list"},providers:[{provide:j,useExisting:t}],changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],t.ctorParameters=function(){return[{type:r.u},{type:A.b,decorators:[{type:r.R}]}]},t.propDecorators={_tiles:[{type:r.s,args:[G,{descendants:!0}]}],cols:[{type:r.G}],gutterSize:[{type:r.G}],rowHeight:[{type:r.G}]},t}(),Q=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[C.j,C.h],exports:[K,G,H,C.j,C.h,F,N,M],declarations:[K,G,H,F,N,M]}]}],t}(),$=i("SMsm"),J=i("d2mR");i.d(e,"LoginModule",function(){return it});var tt=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},et=[{path:"",component:x}],it=function(){function t(){}return t=tt([Object(r.L)({imports:[J.a,T.a,R.b,P.a,E.b,I.a,k.b,O.a,a.e,a.j,Q,$.a,n.b.forChild(et)],declarations:[x],exports:[n.b],providers:[]})],t)}()},KEbp:function(t,e,i){"use strict";i.r(e),e.default=".sigin-conainer {\n min-height: 100%;\n background-size: cover;\n padding: 100px; }\n\n.sigin-main {\n position: relative;\n margin: 0 auto;\n width: 500px; }\n\n.full-width {\n width: 100%; }\n\n.redirect {\n font-size: 14px;\n margin-left: 10px;\n color: #00AAAA; }\n\n/* These just style the content */\n\n#pretty-border {\n /* just a fancy border */\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 10px solid rgba(255, 255, 255, 0.5);\n margin: 10px;\n z-index: 2; }\n\n#picture-background {\n background-image: url('login_wallpaper.702b89de2b2f219e6dda.png');\n height: 100%;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n z-index: -200; }\n\n/* The only rule that matters */\n\n#video-background {\n /* making the video fullscreen */\n position: fixed;\n right: 0;\n bottom: 0;\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n z-index: 0; }\n\n.warninig-text {\n color: coral;\n font-size: 13px;\n text-align: right; }\n"},ywSW:function(t,e,i){"use strict";i.r(e),e.default='
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n {{ \'AUTHENTICATION\' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n priority_high\r\n \r\n \r\n
\r\n {{ formErrors.email }}\r\n
\r\n
\r\n
\r\n {{ formErrors.password }}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
'}}]); \ No newline at end of file diff --git a/backend/dist/public/8.29221b4caa99d135d5df.js b/backend/dist/public/8.29221b4caa99d135d5df.js deleted file mode 100644 index a1ee5422..00000000 --- a/backend/dist/public/8.29221b4caa99d135d5df.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{dgmN:function(e,t,c){"use strict";c.r(t);var n=c("CcnG"),a=c("FVSy"),i=c("UodH"),o=c("u7R8"),r=c("b716"),s=c("8mMr"),m=c("SMsm"),h=c("mrSG"),d=c("lLAP"),k=c("n6gG"),b=c("gIcY"),l=c("Wf4p"),p=c("wFw1"),u=c("M2Lx"),f=c("Ip0R"),x=new n.E("mat-checkbox-click-action"),g=0,y={provide:b.g,useExisting:Object(n.vb)(function(){return w}),multi:!0},_={Init:0,Checked:1,Unchecked:2,Indeterminate:3};_[_.Init]="Init",_[_.Checked]="Checked",_[_.Unchecked]="Unchecked",_[_.Indeterminate]="Indeterminate";var v=function(){},C=function(e){this._elementRef=e},w=function(e){function t(t,c,a,i,o,r,s){var m=e.call(this,t)||this;return m._changeDetectorRef=c,m._focusMonitor=a,m._ngZone=i,m._clickAction=r,m._animationMode=s,m.ariaLabel="",m.ariaLabelledby=null,m._uniqueId="mat-checkbox-"+ ++g,m.id=m._uniqueId,m.labelPosition="after",m.name=null,m.change=new n.x,m.indeterminateChange=new n.x,m._onTouched=function(){},m._currentAnimationClass="",m._currentCheckState=_.Init,m._controlValueAccessorChangeFn=function(){},m._checked=!1,m._disabled=!1,m._indeterminate=!1,m.tabIndex=parseInt(o)||0,m._focusMonitor.monitor(t,!0).subscribe(function(e){e||Promise.resolve().then(function(){m._onTouched(),c.markForCheck()})}),m}return Object(h.c)(t,e),Object.defineProperty(t.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(e){this._required=Object(k.c)(e)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewChecked=function(){},t.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef)},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(e){var t=Object(k.c)(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=e,t&&(this._indeterminate?this._transitionCheckState(_.Indeterminate):this._transitionCheckState(this.checked?_.Checked:_.Unchecked),this.indeterminateChange.emit(this._indeterminate))},enumerable:!0,configurable:!0}),t.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},t.prototype._onLabelTextChange=function(){this._changeDetectorRef.detectChanges()},t.prototype.writeValue=function(e){this.checked=!!e},t.prototype.registerOnChange=function(e){this._controlValueAccessorChangeFn=e},t.prototype.registerOnTouched=function(e){this._onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e},t.prototype._getAriaChecked=function(){return this.checked?"true":this.indeterminate?"mixed":"false"},t.prototype._transitionCheckState=function(e){var t=this._currentCheckState,c=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&c.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){c.classList.add(this._currentAnimationClass);var n=this._currentAnimationClass;this._ngZone.runOutsideAngular(function(){setTimeout(function(){c.classList.remove(n)},1e3)})}},t.prototype._emitChangeEvent=function(){var e=new v;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e)},t.prototype.toggle=function(){this.checked=!this.checked},t.prototype._onInputClick=function(e){var t=this;e.stopPropagation(),this.disabled||"noop"===this._clickAction?this.disabled||"noop"!==this._clickAction||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==this._clickAction&&Promise.resolve().then(function(){t._indeterminate=!1,t.indeterminateChange.emit(t._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?_.Checked:_.Unchecked),this._emitChangeEvent())},t.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement,"keyboard")},t.prototype._onInteractionEvent=function(e){e.stopPropagation()},t.prototype._getAnimationClassForCheckStateTransition=function(e,t){if("NoopAnimations"===this._animationMode)return"";var c="";switch(e){case _.Init:if(t===_.Checked)c="unchecked-checked";else{if(t!=_.Indeterminate)return"";c="unchecked-indeterminate"}break;case _.Unchecked:c=t===_.Checked?"unchecked-checked":"unchecked-indeterminate";break;case _.Checked:c=t===_.Unchecked?"checked-unchecked":"checked-indeterminate";break;case _.Indeterminate:c=t===_.Checked?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-"+c},t.decorators=[{type:n.n,args:[{selector:"mat-checkbox",template:'',styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}@media (-ms-high-contrast:active){.mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame{border-style:dotted}}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}._mat-animation-noopable .mat-checkbox-background{transition:none}.mat-checkbox-persistent-ripple{width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.13333px}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0);border-radius:2px}@media (-ms-high-contrast:active){.mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}"],exportAs:"matCheckbox",host:{class:"mat-checkbox","[id]":"id","[attr.tabindex]":"null","[class.mat-checkbox-indeterminate]":"indeterminate","[class.mat-checkbox-checked]":"checked","[class.mat-checkbox-disabled]":"disabled","[class.mat-checkbox-label-before]":'labelPosition == "before"',"[class._mat-animation-noopable]":"_animationMode === 'NoopAnimations'"},providers:[y],inputs:["disableRipple","color","tabIndex"],encapsulation:n.qb.None,changeDetection:n.j.OnPush}]}],t.ctorParameters=function(){return[{type:n.u},{type:n.k},{type:d.e},{type:n.Q},{type:String,decorators:[{type:n.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:n.R},{type:n.C,args:[x]}]},{type:String,decorators:[{type:n.R},{type:n.C,args:[p.a]}]}]},t.propDecorators={ariaLabel:[{type:n.G,args:["aria-label"]}],ariaLabelledby:[{type:n.G,args:["aria-labelledby"]}],id:[{type:n.G}],required:[{type:n.G}],labelPosition:[{type:n.G}],name:[{type:n.G}],change:[{type:n.S}],indeterminateChange:[{type:n.S}],value:[{type:n.G}],_inputElement:[{type:n.nb,args:["input"]}],ripple:[{type:n.nb,args:[l.p]}],checked:[{type:n.G}],disabled:[{type:n.G}],indeterminate:[{type:n.G}]},t}(Object(l.y)(Object(l.u)(Object(l.v)(Object(l.w)(C)),"accent"))),O={provide:b.f,useExisting:Object(n.vb)(function(){return I}),multi:!0},I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(h.c)(t,e),t.decorators=[{type:n.t,args:[{selector:"mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]",providers:[O],host:{"[attr.required]":'required ? "" : null'}}]}],t}(b.a),R=function(){function e(){}return e.decorators=[{type:n.L,args:[{imports:[f.b,l.q,l.h,u.b],exports:[w,I,l.h],declarations:[w,I]}]}],e}(),j=c("0/Q6"),A=c("/dO6"),L=c("V9q+"),P=c("ZYCi"),q=function(e,t,c,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,c):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,c,n);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(o=(i<3?a(o):i>3?a(t,c,o):a(t,c))||o);return i>3&&o&&Object.defineProperty(t,c,o),o},S=[],z=function(){function e(){}return e=q([Object(n.L)({imports:[P.b.forChild(S)],exports:[P.b]})],e)}(),D=c("pKmL");c.d(t,"PagesModule",function(){return M});var E=function(e,t,c,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,c):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,c,n);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(o=(i<3?a(o):i>3?a(t,c,o):a(t,c))||o);return i>3&&o&&Object.defineProperty(t,c,o),o},M=function(){function e(){}return e=E([Object(n.L)({imports:[a.a,f.b,L.a,i.b,o.a,r.b,s.a,m.a,R,j.a,A.a,D.a,z],declarations:[],exports:[],providers:[]})],e)}()}}]); \ No newline at end of file diff --git a/backend/dist/public/8.45e11fbbbbe7f21163cf.js b/backend/dist/public/8.45e11fbbbbe7f21163cf.js new file mode 100644 index 00000000..998e5026 --- /dev/null +++ b/backend/dist/public/8.45e11fbbbbe7f21163cf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{dgmN:function(e,t,c){"use strict";c.r(t);var n=c("CcnG"),a=c("FVSy"),i=c("UodH"),o=c("u7R8"),r=c("b716"),s=c("8mMr"),m=c("SMsm"),h=c("mrSG"),d=c("lLAP"),k=c("n6gG"),b=c("gIcY"),l=c("Wf4p"),p=c("wFw1"),u=c("M2Lx"),f=c("Ip0R"),x=new n.E("mat-checkbox-click-action"),g=0,y={provide:b.g,useExisting:Object(n.vb)((function(){return w})),multi:!0},_={Init:0,Checked:1,Unchecked:2,Indeterminate:3};_[_.Init]="Init",_[_.Checked]="Checked",_[_.Unchecked]="Unchecked",_[_.Indeterminate]="Indeterminate";var v=function(){},C=function(e){this._elementRef=e},w=function(e){function t(t,c,a,i,o,r,s){var m=e.call(this,t)||this;return m._changeDetectorRef=c,m._focusMonitor=a,m._ngZone=i,m._clickAction=r,m._animationMode=s,m.ariaLabel="",m.ariaLabelledby=null,m._uniqueId="mat-checkbox-"+ ++g,m.id=m._uniqueId,m.labelPosition="after",m.name=null,m.change=new n.x,m.indeterminateChange=new n.x,m._onTouched=function(){},m._currentAnimationClass="",m._currentCheckState=_.Init,m._controlValueAccessorChangeFn=function(){},m._checked=!1,m._disabled=!1,m._indeterminate=!1,m.tabIndex=parseInt(o)||0,m._focusMonitor.monitor(t,!0).subscribe((function(e){e||Promise.resolve().then((function(){m._onTouched(),c.markForCheck()}))})),m}return Object(h.c)(t,e),Object.defineProperty(t.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(e){this._required=Object(k.c)(e)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewChecked=function(){},t.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef)},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(e){var t=Object(k.c)(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=e,t&&(this._indeterminate?this._transitionCheckState(_.Indeterminate):this._transitionCheckState(this.checked?_.Checked:_.Unchecked),this.indeterminateChange.emit(this._indeterminate))},enumerable:!0,configurable:!0}),t.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},t.prototype._onLabelTextChange=function(){this._changeDetectorRef.detectChanges()},t.prototype.writeValue=function(e){this.checked=!!e},t.prototype.registerOnChange=function(e){this._controlValueAccessorChangeFn=e},t.prototype.registerOnTouched=function(e){this._onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e},t.prototype._getAriaChecked=function(){return this.checked?"true":this.indeterminate?"mixed":"false"},t.prototype._transitionCheckState=function(e){var t=this._currentCheckState,c=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&c.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){c.classList.add(this._currentAnimationClass);var n=this._currentAnimationClass;this._ngZone.runOutsideAngular((function(){setTimeout((function(){c.classList.remove(n)}),1e3)}))}},t.prototype._emitChangeEvent=function(){var e=new v;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e)},t.prototype.toggle=function(){this.checked=!this.checked},t.prototype._onInputClick=function(e){var t=this;e.stopPropagation(),this.disabled||"noop"===this._clickAction?this.disabled||"noop"!==this._clickAction||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==this._clickAction&&Promise.resolve().then((function(){t._indeterminate=!1,t.indeterminateChange.emit(t._indeterminate)})),this.toggle(),this._transitionCheckState(this._checked?_.Checked:_.Unchecked),this._emitChangeEvent())},t.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement,"keyboard")},t.prototype._onInteractionEvent=function(e){e.stopPropagation()},t.prototype._getAnimationClassForCheckStateTransition=function(e,t){if("NoopAnimations"===this._animationMode)return"";var c="";switch(e){case _.Init:if(t===_.Checked)c="unchecked-checked";else{if(t!=_.Indeterminate)return"";c="unchecked-indeterminate"}break;case _.Unchecked:c=t===_.Checked?"unchecked-checked":"unchecked-indeterminate";break;case _.Checked:c=t===_.Unchecked?"checked-unchecked":"checked-indeterminate";break;case _.Indeterminate:c=t===_.Checked?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-"+c},t.decorators=[{type:n.n,args:[{selector:"mat-checkbox",template:'',styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.91026}50%{animation-timing-function:cubic-bezier(0,0,.2,.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0,0,0,1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(.4,0,1,1);stroke-dashoffset:0}to{stroke-dashoffset:-22.91026}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0,0,.2,.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(.14,0,0,1);opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}100%,32.8%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0,0,.2,.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}@media (-ms-high-contrast:active){.mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame{border-style:dotted}}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0,0,.2,.1),opacity 90ms cubic-bezier(0,0,.2,.1)}._mat-animation-noopable .mat-checkbox-background{transition:none}.mat-checkbox-persistent-ripple{width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.91026;stroke-dasharray:22.91026;stroke-width:2.13333px}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0);border-radius:2px}@media (-ms-high-contrast:active){.mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0s mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0s mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0s mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:.5s linear 0s mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0s mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:.3s linear 0s mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}"],exportAs:"matCheckbox",host:{class:"mat-checkbox","[id]":"id","[attr.tabindex]":"null","[class.mat-checkbox-indeterminate]":"indeterminate","[class.mat-checkbox-checked]":"checked","[class.mat-checkbox-disabled]":"disabled","[class.mat-checkbox-label-before]":'labelPosition == "before"',"[class._mat-animation-noopable]":"_animationMode === 'NoopAnimations'"},providers:[y],inputs:["disableRipple","color","tabIndex"],encapsulation:n.qb.None,changeDetection:n.j.OnPush}]}],t.ctorParameters=function(){return[{type:n.u},{type:n.k},{type:d.e},{type:n.Q},{type:String,decorators:[{type:n.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:n.R},{type:n.C,args:[x]}]},{type:String,decorators:[{type:n.R},{type:n.C,args:[p.a]}]}]},t.propDecorators={ariaLabel:[{type:n.G,args:["aria-label"]}],ariaLabelledby:[{type:n.G,args:["aria-labelledby"]}],id:[{type:n.G}],required:[{type:n.G}],labelPosition:[{type:n.G}],name:[{type:n.G}],change:[{type:n.S}],indeterminateChange:[{type:n.S}],value:[{type:n.G}],_inputElement:[{type:n.nb,args:["input"]}],ripple:[{type:n.nb,args:[l.p]}],checked:[{type:n.G}],disabled:[{type:n.G}],indeterminate:[{type:n.G}]},t}(Object(l.y)(Object(l.u)(Object(l.v)(Object(l.w)(C)),"accent"))),O={provide:b.f,useExisting:Object(n.vb)((function(){return I})),multi:!0},I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(h.c)(t,e),t.decorators=[{type:n.t,args:[{selector:"mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]",providers:[O],host:{"[attr.required]":'required ? "" : null'}}]}],t}(b.a),R=function(){function e(){}return e.decorators=[{type:n.L,args:[{imports:[f.b,l.q,l.h,u.b],exports:[w,I,l.h],declarations:[w,I]}]}],e}(),j=c("0/Q6"),A=c("/dO6"),L=c("V9q+"),P=c("ZYCi"),q=function(e,t,c,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,c):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,c,n);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(o=(i<3?a(o):i>3?a(t,c,o):a(t,c))||o);return i>3&&o&&Object.defineProperty(t,c,o),o},S=[],z=function(){function e(){}return e=q([Object(n.L)({imports:[P.b.forChild(S)],exports:[P.b]})],e)}(),D=c("pKmL");c.d(t,"PagesModule",(function(){return M}));var E=function(e,t,c,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,c):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,c,n);else for(var r=e.length-1;r>=0;r--)(a=e[r])&&(o=(i<3?a(o):i>3?a(t,c,o):a(t,c))||o);return i>3&&o&&Object.defineProperty(t,c,o),o},M=function(){function e(){}return e=E([Object(n.L)({imports:[a.a,f.b,L.a,i.b,o.a,r.b,s.a,m.a,R,j.a,A.a,D.a,z],declarations:[],exports:[],providers:[]})],e)}()}}]); \ No newline at end of file diff --git a/backend/dist/public/assets/i18n/en.json b/backend/dist/public/assets/i18n/en.json index 276d05c3..428c20c4 100644 --- a/backend/dist/public/assets/i18n/en.json +++ b/backend/dist/public/assets/i18n/en.json @@ -1,332 +1,334 @@ { - "DIR": "ltr", - "RIGHT_DIR": "right", - "LEFT_DIR": "left", - "REQUEST_FAIL": "Request fail", - "ERROR": "error", - "TITLE": "CASA net (en)", - "EMAIL": "email", - "PASSWORD": "password", - "ONE_TIME_PASSWORD": "one-time password", - "LOGIN": "login", - "AUTHENTICATION": "authentication", - "ABOUT": "About", - "HELP": "Help", - "LOGOUT": "Logout", - "PROFILE": "Profile", - "MINIONS": "Minions", - "OPERATIONS": "Operations", - "TIMINGS": "Timings", - "DEVICES": "Devices", - "USERS": "Users", - "PROPERTIES": "properties", - "DITAILS": "ditails", - "PRESS_TO_TURN_ON": "Press to turn on device", - "PRESS_TO_TURN_OFF": "Press to turn off device", - "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "communication error, press to read device data again\nor rescan network addresses", - "HOT": "hot", - "COLD": "cold", - "DRY": "dry", - "AUTO": "auto", - "MED": "med", - "HIGH": "high", - "LOW": "low", - "MODE": "mode", - "FAN_STRENGTH": "fan strength", - "TEMERATURE": "temperature", - "BRIGTNESS": "brigtness", - "COLOR": "color", - "RED": "red", - "GREEN": "green", - "BLUE": "blue", - "UP_DIRECTION": "up direction", - "DOWN_DIRECTION": "down direction", - "SUBMIT": "submit", - "CANCEL": "cancel", - "DEVICE_META": "Device meta", - "REFRESH_MINION_DATA": "Refresh minion", - "REDO_LAST_UPDATE": "Redo last status update", - "ENTER_RECORD_OR_GENERATE_MODE": "Enter record/generate mode", - "TURN_OFF_TIMEOUT": "Auto turn off", - "EXIT_RECORD_OR_GENERATE_MODE": "Exit record mode", - "DELETE_MINION": "Delete minion", - "REREAD_ALL_MINIONS": "Re-read minion properties", - "REFRESH": "Refresh", - "RESCAN_NETWORK_AND_MINIONS": "Scan network IP`s and refresh minions", - "CREATE_MINION": "Create a new minion", - "PRESS_TO_RECORD": "Press to record the command", - "MINUTES": "minutes", - "HOURS": "hours", - "SURE": "sure", - "BEFORE_DELETE_MESSAGE": "Are you want to delete", - "DELETE": "delete", - "ENTER_NAME": "Enter name", - "ENTER_NAME_HERE": "Enter name here...", - "ENTER_ID": "Enter device id", - "ENTER_ID_HERE": "Enter device id here...", - "ENTER_TOKEN": "Enter device token", - "ENTER_TOKEN_HERE": "Enter device token here...", - "SELECT_MODEL": "Select model", - "SELECT_A_MODEL": "Select a model", - "SELECT_BRAND": "Select brand", - "SELECT_A_BRAND": "Select a brand", - "SELECT_DEVICE": "Select device", - "SELECT_A_DEVICE": "Select a device", - "EDIT": "Edit", - "USE_AUTO_TURNOFF_TIMEOUT": "active auto turnoff timeout", - "CLOSE": "close", - "INNER_ID": "inner id", - "MODEL": "model", - "BRAND": "brand", - "DEVICE_NAME": "physical device name", - "DEVICE_MAC": "physical device address", - "DEVICE_IP": "physical device ip address", - "DEVICE_VENDOR": "physical device vendor", - "NEXT": "Next", - "BACK": "Back", - "DONE": "Done", - "CREATE": "Create", - "RESET": "Reset", - "DONE_MINION_MESSAGE": "Ready to create a minion", - "GENERATE_COMMANDS": "Generate new random commands fot toggle on/off", - "ENTER_EMAIL": "Enter email", - "INCORRECT_EMAIL": "Incorrect email", - "ENTER_PASSWORD": "Enter password", - "MIN_PASSWORD_LENGTH_MSG": "Please enter more than 6 characters", - "MAX_PASSWORD_LENGTH_MSG": "Please enter less than 25 characters", - "LOGIN_SUCCESSFULLY": "successfully connected", - "CONNECTED_FAIL": "connection fail, try agine", - "LOGOUT_SUCCESSFULLY": "logout successfully", - "LOGOUT_FAIL": "logout fail, try agine", - "TRIGGER_OPERATION": "Trigger operation", - "ACTIVITIES": "Activities", - "NAME": "Name", - "STATUS": "Status", - "CREATE_OPERATION": "Create a new Operation", - "DELETE_OPERATION": "Delete the operation", - "CREATE_ACTIVITIES": "Create activities", - "ADD_ACTIVITY": "Add activity", - "DONE_OPERATION_MESSAGE": "The new operation is ready", - "SELECT_MINION": "Select a minion", - "SET_STATUS": "Set status", - "ON": "on", - "OFF": "off", - "SET_PROPERTIES": "Set properties", - "DONE_ACTIVITY_MESSAGE": "The new activity is reaady", - "DELETE_TIMING": "Delete the timing", - "DAYS": "Days", - "SUN_TRIGGER": "Sun trigger", - "SUNRISE": "Sunrise", - "SUNSET": "Sunset", - "DURATION_IN_MINUTES": "Duration in minutes", - "HOUR": "hour", - "START_IN": "Start in", - "CREATE_TIMING": "Create a new timing", - "SELECT_OPERATION": "Select a operation", - "SELECT_TIMING_TYPE": "Select the timing type", - "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "The duration must be on the same calendar day", - "DONE_TIMING_MESSAGE": "The new timing is ready", - "CHOOSE_DATE": "Choose a date", - "MAC": "MAC address", - "IP": "IP Address", - "VENDOR": "Vendor name", - "RESCAN_NETWORK": "Rescan network", - "PRESS_NAME": "Press the new name", - "DEVICE": "Device", - "ACTIVATE": "Activate", - "TYPE": "Type", - "SUNDAY": "Sunday", - "MONDAY": "Monday", - "TUESDAY": "Tuesday", - "WEDNSDAY": "Wednsday", - "THURSDAY": "Thursday", - "FRIDAY": "Friday", - "SATURDAY": "Saturday", - "SET": "Set", - "FAIL": "fail", - "ACTIVATED": "activated", - "ACTIVATED_OPERATION": "Activated operation", - "OK": "OK", - "ONLINE": "Connected to server", - "OFFLINE": "Server offline", - "LANGUAGE": "Language", - "SELECT_LANGUAGE": "language select", - "REMOTE_SERVER": "Remote server", - "REMOTE_STATUS": "Remote server status", - "REMOTE_URI": "Remote server address", - "EDIT_CONNECTION": "Edit connection", - "DISCONNECT": "Disconnect", - "GET_LOCAL_MAC": "Get the local MAC address", - "IFTTT_INTEGRATION": "IFTTT integration", - "IFTTT_STATUS": "integration status", - "CONFIG_CONNECTION": "Configure", - "DISABLE_IFTTT": "Disable integration", - "ENABLED": "enables", - "DISABLED": "disabled", - "READING_MAC": "Reading the MAC address...", - "PRESS_IFTTT_API_KEY": "Press the IFTTT API key", - "SETTING_IFTTT": "Setting IFTTT services...", - "FORMAT": "foramt", - "API_KEY": "The local server API key", - "SETTING_REMOTE_SERVER": "Settings remote server...", - "ALLOW_UNMFA_ACCESS": "Access without MFA", - "SESSION_MS_TIMEOUT": "Session duration in ms", - "SESSION_HOURES_TIMEOUT": "Session duration in hours", - "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "Password should be between 6 to 18 characters", - "SCOPE": "Scope", - "ADMIN": "Admin", - "USER": "User", - "EDIT_USER": "Edit user", - "SET_PASSWORD": "set password", - "CREATE_USER": "Create a new user", - "FOR_THE_USER": "For the user", - "SELECT_USER_SCOPE": "Select scope", - "ALLOW": "Allow", - "REJECT": "Reject", - "PRESS_PASSWORD": "Press password", - "ENTER_VALID_EMAIL": "Enter valid email", - "PRESS_PASSWORD_AGINE": "Press password agine", - "THE_PASSWORDS_NOT_SAME": "The passwords not match", - "DONE_USER_MESSAGE": "The ser creation is ready", - "LIGHT_VERSION": "Light version", - "REDIRECT_TO_THE_LIGHT_VERSION": "Redirect to the light version", - "DEACTIVATE_SESSIONS": "Deactivate sessions", - "REGISTER_USER_TO_REMOTE_SERVER": "Register user to the remote server", - "REMOVE_USER_FROM_THE_REMOTE_SERVER": "Remove user from the remove server", - "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "The auth. code will send to account", - "REGISTER_USER": "Regiter user", - "SEND": "Send", - "ENTER_THE_SENT_CODE": "Enter the sent code", - "REMOVE": "Remove", - "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "will remove from the remote server", - "DOCK": "Dock", - "CLEAN": "Clean", - "FAN_SPEED": "Suction strength", - "REGISTERED_USERS": "Registered users", - "REPLACE_OPERATION": "Replace operation", - "CURRENT_OPERATION": "Currnet operatin", - "VERSION": "Version", - "UPDATE_TO_THE_LAST_VERSION": "Update to the last version", - "UPDATING_WARNING" : "PAY ATTENTION! updating version may be a risk! please notice, the updating process can take a while, do not turn off application during version update.", - "UPDATE_SYSTEM_FAIL" : "Update system process fail", - "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH" : "Contact support or check the local server health", - "UPDATE": "Update", - "SUCCESSFULLY_UPDATED_TO": "Successfully updated to", - "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "Restart required for the version update complete", - "SYSTEM_ALREADY_UP_TO_DATE": "System already up-to-date", - "RELEASE_DATE": "Release date", - "SET_A_NEW_NAME": "Set a new name", - "CURRENT_NAME": "Current name", - "RENAME": "Rename", - "TIMELINE": "Timeline", - "SELECT_LOCAL_SERVER": "Select local server", - "WAIT_15_MINUTES_FOR_NEXT_TRYING": "Wait 15 minutes for next trying", - "TOO_MANY_REQUESTS" : "Too many requests", - "FETCH_COMMANDS": "Fetch commands", - "GETTING_SUPPOTERD_DEVICES": "Getting supported devices", - "MATCH_TO": "Match to", - "OPERATION_ID" : "Operation ID", - "INFO" : "Info", - "CALIBRATION" : "Calibration", - "DEFINE_CALIBRATION" : "define minion calibrate activation, to make sure that minion status in the casanet is the same as the real physical device status.", - "MINUTES_CYCLE" : "Calibration cycle, in minutes", - "CALIBRATE_EACH" : "Calibrate each", - "COMMANDS_SET": "commands set", - "PWA" : "Use As App (PWA)", - "INSTALL" : "Install", - "UNINSTALL" : "Uninstall", - "notConfigured": "Remote server not configured", - "cantReachRemoteServer": "Remote server offline", - "authorizationFail": "Local server fail to authenticate", - "localServerDisconnected": "The local server is disconnected", - "connectionOK": "Remote server connection OK", - "dailySunTrigger": "sun triggers timing", - "dailyTimeTrigger": "weekly timing", - "once": "one-time timing", - "timeout": "countdown timing", - "toggle": "toggle", - "switch": "switch", - "airConditioning": "air conditioning", - "light": "light", - "roller": "roller", - "cleaner": "cleaner", - "temperatureLight": "temperature light", - "colorLight": "color light", - "status": "status", - "on": "on", - "off": "off", - "direction": "direction", - "down": "down", - "up": "up", - "mode": "mode", - "fanStrength": "fan strength", - "temperature": "temperature", - "brigtness": "brigtness", - "red": "red", - "green": "green", - "blue": "blue", - "hot": "hot", - "cold": "cold", - "dry": "dry", - "auto": "auto", - "med": "med", - "high": "high", - "low": "low", - "fanSpeed": "fan speed", - "api-messages": { - "0": "offline", - "1401": "unauthorized", - "1403": "access forbidden", - "2403": "user name or password incorrent", - "3403": "authorization of local server in remote, fail", - "4403": "user not allowed to watch other accounts", - "5403": "invalid device id", - "6403": "user or code invalied", - "1404": "minion not exist", - "2404": "device not exist in lan network", - "3404": "operation not exist", - "4404": "timing not exist", - "5404": "user not exist", - "6404": "local server not exist", - "7404": "there is not module handler for minion brand", - "8404": "unknown minion model", - "1405": "incorrect minion status for current minion type", - "2405": "incorrect minion status for activity minion type", - "3405": "timing properties not match to timing type", - "5405": "user already exist", - "6405": "user not allowd to watch other account", - "1409": "there is no supported model for brand + model", - "2409": "token is requird", - "3409": "device id is requird", - "4409": "device already in max uses with other minion", - "5409": "you have to select local server to connect to it", - "6409": "the minioin not support command recording", - "7409": "ifttt triggger fail", - "1422": "wrong schema", - "2422": "wrong schema, with wrong message", - "1500": "unknown error", - "1501": "internal error", - "2501": "MFA configuration not set correctly", - "3501": "Fail to send MFA mail message, inner error.", - "4501": "There is no connection to local server.", - "5501": "Not implement yet.", - "6501": "There is no connection to remote server", - "7501": "Pulling last changes from remote repo fail", - "8501": "Installing last dependencies fail", - "9051": "Get current version info fail", - "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", - "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", - "1503": "Connection to device fail", - "2503": "Recording fail or timeout", - "3503": "There is no any command", - "4503": "Current opertion command not exist", - "5503": "Current status is unknown, no history for current one-way transmitter", - "6503": "Setting status fail", - "7503": "Getting status fail", - "8503": "local server timeout", - "9503": "Error communicating with device. Make sure nothing else is trying to control it or connected to it", - "10503": "Tuya device gives garbage values", - "11503": "Sending the beam command fail", - "12503": "Remote server timeout" - } -} \ No newline at end of file + "DIR": "ltr", + "RIGHT_DIR": "right", + "LEFT_DIR": "left", + "REQUEST_FAIL": "Request fail", + "ERROR": "error", + "TITLE": "CASA net (en)", + "EMAIL": "email", + "PASSWORD": "password", + "ONE_TIME_PASSWORD": "one-time password", + "LOGIN": "login", + "AUTHENTICATION": "authentication", + "ABOUT": "About", + "HELP": "Help", + "LOGOUT": "Logout", + "PROFILE": "Profile", + "MINIONS": "Minions", + "OPERATIONS": "Operations", + "TIMINGS": "Timings", + "DEVICES": "Devices", + "USERS": "Users", + "PROPERTIES": "properties", + "DITAILS": "details", + "PRESS_TO_TURN_ON": "Press to turn on device", + "PRESS_TO_TURN_OFF": "Press to turn off device", + "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "communication error, press to read device data again\nor rescan network addresses", + "HOT": "hot", + "COLD": "cold", + "DRY": "dry", + "AUTO": "auto", + "MED": "med", + "HIGH": "high", + "LOW": "low", + "MODE": "mode", + "FAN_STRENGTH": "fan strength", + "TEMERATURE": "temperature", + "BRIGTNESS": "brightness", + "COLOR": "color", + "RED": "red", + "GREEN": "green", + "BLUE": "blue", + "UP_DIRECTION": "up direction", + "DOWN_DIRECTION": "down direction", + "SUBMIT": "submit", + "CANCEL": "cancel", + "DEVICE_META": "Device meta", + "REFRESH_MINION_DATA": "Refresh minion", + "REDO_LAST_UPDATE": "Redo last status update", + "ENTER_RECORD_OR_GENERATE_MODE": "Enter record/generate mode", + "TURN_OFF_TIMEOUT": "Auto turn off", + "EXIT_RECORD_OR_GENERATE_MODE": "Exit record mode", + "DELETE_MINION": "Delete minion", + "REREAD_ALL_MINIONS": "Re-read minion properties", + "REFRESH": "Refresh", + "RESCAN_NETWORK_AND_MINIONS": "Scan network IP`s and refresh minions", + "CREATE_MINION": "Create a new minion", + "PRESS_TO_RECORD": "Press to record the command", + "MINUTES": "minutes", + "HOURS": "hours", + "SURE": "sure", + "BEFORE_DELETE_MESSAGE": "Are you want to delete", + "DELETE": "delete", + "ENTER_NAME": "Enter name", + "ENTER_NAME_HERE": "Enter name here...", + "ENTER_ID": "Enter device id", + "ENTER_ID_HERE": "Enter device id here...", + "ENTER_TOKEN": "Enter device token", + "ENTER_TOKEN_HERE": "Enter device token here...", + "SELECT_MODEL": "Select model", + "SELECT_A_MODEL": "Select a model", + "SELECT_BRAND": "Select brand", + "SELECT_A_BRAND": "Select a brand", + "SELECT_DEVICE": "Select device", + "SELECT_A_DEVICE": "Select a device", + "EDIT": "Edit", + "USE_AUTO_TURNOFF_TIMEOUT": "active auto turnoff timeout", + "CLOSE": "close", + "INNER_ID": "inner id", + "MODEL": "model", + "BRAND": "brand", + "DEVICE_NAME": "physical device name", + "DEVICE_MAC": "physical device address", + "DEVICE_IP": "physical device ip address", + "DEVICE_VENDOR": "physical device vendor", + "NEXT": "Next", + "BACK": "Back", + "DONE": "Done", + "CREATE": "Create", + "RESET": "Reset", + "DONE_MINION_MESSAGE": "Ready to create a minion", + "GENERATE_COMMANDS": "Generate new random commands fot toggle on/off", + "ENTER_EMAIL": "Enter email", + "INCORRECT_EMAIL": "Incorrect email", + "ENTER_PASSWORD": "Enter password", + "MIN_PASSWORD_LENGTH_MSG": "Please enter more than 6 characters", + "MAX_PASSWORD_LENGTH_MSG": "Please enter less than 25 characters", + "LOGIN_SUCCESSFULLY": "successfully connected", + "CONNECTED_FAIL": "connection fail, try again", + "LOGOUT_SUCCESSFULLY": "logout successfully", + "LOGOUT_FAIL": "logout fail, try again", + "TRIGGER_OPERATION": "Trigger operation", + "ACTIVITIES": "Activities", + "NAME": "Name", + "STATUS": "Status", + "CREATE_OPERATION": "Create a new Operation", + "DELETE_OPERATION": "Delete the operation", + "CREATE_ACTIVITIES": "Create activities", + "ADD_ACTIVITY": "Add activity", + "DONE_OPERATION_MESSAGE": "The new operation is ready", + "SELECT_MINION": "Select a minion", + "SET_STATUS": "Set status", + "ON": "on", + "OFF": "off", + "SET_PROPERTIES": "Set properties", + "DONE_ACTIVITY_MESSAGE": "The new activity is ready", + "DELETE_TIMING": "Delete the timing", + "DAYS": "Days", + "SUN_TRIGGER": "Sun trigger", + "SUNRISE": "Sunrise", + "SUNSET": "Sunset", + "DURATION_IN_MINUTES": "Duration in minutes", + "HOUR": "hour", + "START_IN": "Start in", + "CREATE_TIMING": "Create a new timing", + "SELECT_OPERATION": "Select a operation", + "SELECT_TIMING_TYPE": "Select the timing type", + "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "The duration must be on the same calendar day", + "DONE_TIMING_MESSAGE": "The new timing is ready", + "CHOOSE_DATE": "Choose a date", + "MAC": "MAC address", + "IP": "IP Address", + "VENDOR": "Vendor name", + "RESCAN_NETWORK": "Rescan network", + "PRESS_NAME": "Press the new name", + "DEVICE": "Device", + "ACTIVATE": "Activate", + "TYPE": "Type", + "SUNDAY": "Sunday", + "MONDAY": "Monday", + "TUESDAY": "Tuesday", + "WEDNSDAY": "Wednesday", + "THURSDAY": "Thursday", + "FRIDAY": "Friday", + "SATURDAY": "Saturday", + "SET": "Set", + "FAIL": "fail", + "ACTIVATED": "activated", + "ACTIVATED_OPERATION": "Activated operation", + "OK": "OK", + "ONLINE": "Connected to server", + "OFFLINE": "Server offline", + "LANGUAGE": "Language", + "SELECT_LANGUAGE": "language select", + "REMOTE_SERVER": "Remote server", + "REMOTE_STATUS": "Remote server status", + "REMOTE_URI": "Remote server address", + "EDIT_CONNECTION": "Edit connection", + "DISCONNECT": "Disconnect", + "GET_LOCAL_MAC": "Get the local MAC address", + "IFTTT_INTEGRATION": "IFTTT integration", + "IFTTT_STATUS": "integration status", + "CONFIG_CONNECTION": "Configure", + "DISABLE_IFTTT": "Disable integration", + "ENABLED": "enables", + "DISABLED": "disabled", + "READING_MAC": "Reading the MAC address...", + "PRESS_IFTTT_API_KEY": "Press the IFTTT API key", + "SETTING_IFTTT": "Setting IFTTT services...", + "FORMAT": "format", + "API_KEY": "The local server API key", + "SETTING_REMOTE_SERVER": "Settings remote server...", + "ALLOW_UNMFA_ACCESS": "Access without MFA", + "SESSION_MS_TIMEOUT": "Session duration in ms", + "SESSION_HOURES_TIMEOUT": "Session duration in hours", + "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "Password should be between 6 to 18 characters", + "SCOPE": "Scope", + "ADMIN": "Admin", + "USER": "User", + "EDIT_USER": "Edit user", + "SET_PASSWORD": "set password", + "CREATE_USER": "Create a new user", + "FOR_THE_USER": "For the user", + "SELECT_USER_SCOPE": "Select scope", + "ALLOW": "Allow", + "REJECT": "Reject", + "PRESS_PASSWORD": "Press password", + "ENTER_VALID_EMAIL": "Enter valid email", + "PRESS_PASSWORD_AGINE": "Press password again", + "THE_PASSWORDS_NOT_SAME": "The passwords not match", + "DONE_USER_MESSAGE": "The ser creation is ready", + "LIGHT_VERSION": "Light version", + "REDIRECT_TO_THE_LIGHT_VERSION": "Redirect to the light version", + "DEACTIVATE_SESSIONS": "Deactivate sessions", + "REGISTER_USER_TO_REMOTE_SERVER": "Register user to the remote server", + "REMOVE_USER_FROM_THE_REMOTE_SERVER": "Remove user from the remove server", + "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "The auth. code will send to account", + "REGISTER_USER": "Register user", + "SEND": "Send", + "ENTER_THE_SENT_CODE": "Enter the sent code", + "REMOVE": "Remove", + "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "will remove from the remote server", + "DOCK": "Dock", + "CLEAN": "Clean", + "FAN_SPEED": "Suction strength", + "REGISTERED_USERS": "Registered users", + "REPLACE_OPERATION": "Replace operation", + "CURRENT_OPERATION": "Current operation", + "VERSION": "Version", + "UPDATE_TO_THE_LAST_VERSION": "Update to the last version", + "UPDATING_WARNING": "PAY ATTENTION! updating version may be a risk! please notice, the updating process can take a while, do not turn off application during version update.", + "UPDATE_SYSTEM_FAIL": "Update system process fail", + "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH": "Contact support or check the local server health", + "UPDATE": "Update", + "SUCCESSFULLY_UPDATED_TO": "Successfully updated to", + "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "Restart required for the version update complete", + "SYSTEM_ALREADY_UP_TO_DATE": "System already up-to-date", + "RELEASE_DATE": "Release date", + "SET_A_NEW_NAME": "Set a new name", + "CURRENT_NAME": "Current name", + "RENAME": "Rename", + "TIMELINE": "Timeline", + "SELECT_LOCAL_SERVER": "Select local server", + "WAIT_15_MINUTES_FOR_NEXT_TRYING": "Wait 15 minutes for next trying", + "TOO_MANY_REQUESTS": "Too many requests", + "FETCH_COMMANDS": "Fetch commands", + "GETTING_SUPPOTERD_DEVICES": "Getting supported devices", + "MATCH_TO": "Match to", + "OPERATION_ID": "Operation ID", + "INFO": "Info", + "CALIBRATION": "Calibration", + "DEFINE_CALIBRATION": "define minion calibrate activation, to make sure that minion status in the casanet is the same as the real physical device status.", + "MINUTES_CYCLE": "Calibration cycle, in minutes", + "CALIBRATE_EACH": "Calibrate each", + "COMMANDS_SET": "commands set", + "PWA": "Use As App (PWA)", + "INSTALL": "Install", + "UNINSTALL": "Uninstall", + "notConfigured": "Remote server not configured", + "cantReachRemoteServer": "Remote server offline", + "authorizationFail": "Local server fail to authenticate", + "localServerDisconnected": "The local server is disconnected", + "connectionOK": "Remote server connection OK", + "dailySunTrigger": "sun triggers timing", + "dailyTimeTrigger": "weekly timing", + "once": "one-time timing", + "timeout": "countdown timing", + "toggle": "toggle", + "switch": "switch", + "airConditioning": "air conditioning", + "light": "light", + "roller": "roller", + "cleaner": "cleaner", + "temperatureLight": "temperature light", + "colorLight": "color light", + "status": "status", + "on": "on", + "off": "off", + "direction": "direction", + "down": "down", + "up": "up", + "mode": "mode", + "fanStrength": "fan strength", + "temperature": "temperature", + "brigtness": "brightness", + "red": "red", + "green": "green", + "blue": "blue", + "hot": "hot", + "cold": "cold", + "dry": "dry", + "auto": "auto", + "med": "med", + "high": "high", + "low": "low", + "fanSpeed": "fan speed", + "move to": "Move to", + "go to correct domain": "The address of the service has changed and you will soon get off the air, please move to our new address!", + "api-messages": { + "0": "offline", + "1401": "unauthorized", + "1403": "access forbidden", + "2403": "user name or password incorrect", + "3403": "authorization of local server in remote, fail", + "4403": "user not allowed to watch other accounts", + "5403": "invalid device id", + "6403": "user or code invalid", + "1404": "minion not exist", + "2404": "device not exist in lan network", + "3404": "operation not exist", + "4404": "timing not exist", + "5404": "user not exist", + "6404": "local server not exist", + "7404": "there is not module handler for minion brand", + "8404": "unknown minion model", + "1405": "incorrect minion status for current minion type", + "2405": "incorrect minion status for activity minion type", + "3405": "timing properties not match to timing type", + "5405": "user already exist", + "6405": "user not allows to watch other account", + "1409": "there is no supported model for brand + model", + "2409": "token is required", + "3409": "device id is required", + "4409": "device already in max uses with other minion", + "5409": "you have to select local server to connect to it", + "6409": "the minion not support command recording", + "7409": "ifttt trigger fail", + "1422": "wrong schema", + "2422": "wrong schema, with wrong message", + "1500": "unknown error", + "1501": "internal error", + "2501": "MFA configuration not set correctly", + "3501": "Fail to send MFA mail message, inner error.", + "4501": "There is no connection to local server.", + "5501": "Not implement yet.", + "6501": "There is no connection to remote server", + "7501": "Pulling last changes from remote repo fail", + "8501": "Installing last dependencies fail", + "9051": "Get current version info fail", + "10051": "Receiving devices list from the commands server failed", + "11051": "Receiving commands set from the commands server failed", + "1503": "Connection to device fail", + "2503": "Recording fail or timeout", + "3503": "There is no any command", + "4503": "Current operation command not exist", + "5503": "Current status is unknown, no history for current one-way transmitter", + "6503": "Setting status fail", + "7503": "Getting status fail", + "8503": "local server timeout", + "9503": "Error communicating with device. Make sure nothing else is trying to control it or connected to it", + "10503": "Tuya device gives garbage values", + "11503": "Sending the beam command fail", + "12503": "Remote server timeout" + } +} diff --git a/backend/dist/public/assets/i18n/he.json b/backend/dist/public/assets/i18n/he.json index 0af58231..1269fbfc 100644 --- a/backend/dist/public/assets/i18n/he.json +++ b/backend/dist/public/assets/i18n/he.json @@ -1,332 +1,334 @@ { - "DIR": "rtl", - "RIGHT_DIR": "left", - "LEFT_DIR": "right", - "REQUEST_FAIL": "הבקשה נכשלה", - "ERROR": "שגיאה", - "TITLE": "CASA net (he)", - "EMAIL": "דואר אלקטרוני", - "PASSWORD": "סיסמה", - "ONE_TIME_PASSWORD": "סיסמה חד-פעמית", - "LOGIN": "התחברות", - "AUTHENTICATION": "אימות", - "ABOUT": "אודות", - "HELP": "עזרה", - "LOGOUT": "התנתקות", - "PROFILE": "פרופיל", - "MINIONS": "מניונים", - "OPERATIONS": "פעולות", - "TIMINGS": "תזמונים", - "DEVICES": "מכשירים", - "USERS": "משתמשים", - "PROPERTIES": "תכונות", - "DITAILS": "פרטים", - "PRESS_TO_TURN_ON": "לחץ להדלקת המכשיר", - "PRESS_TO_TURN_OFF": "לחץ לכיבוי המכשיר", - "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "תקלת תקשורת, לחץ לבדיקה מחודשת של המכשיר \nאו סרוק מחדש את כתובות הרשת", - "HOT": "חום", - "COLD": "קור", - "DRY": "יבש", - "AUTO": "אוטומטי", - "MED": "בינוני", - "HIGH": "חזק", - "LOW": "חלש", - "MODE": "מצב", - "FAN_STRENGTH": "עצמת רוח", - "TEMERATURE": "טמפרטורה", - "BRIGTNESS": "בהירות", - "COLOR": "צבע", - "RED": "אדום", - "GREEN": "ירוק", - "BLUE": "כחול", - "UP_DIRECTION": "כיוון מעלה", - "DOWN_DIRECTION": "כיוון מטה", - "SUBMIT": "בצע", - "CANCEL": "ביטול", - "DEVICE_META": "מידע על המכשיר", - "REFRESH_MINION_DATA": "רענן סטטוס", - "REDO_LAST_UPDATE": "בצע שוב עדכון סטטוס האחרון", - "ENTER_RECORD_OR_GENERATE_MODE": "מצב הקלטה/ג'ינרוט", - "EXIT_RECORD_OR_GENERATE_MODE": "צא ממצב הקלטה/ג'ינרוט", - "TURN_OFF_TIMEOUT": "כיבוי אוטומטי", - "DELETE_MINION": "מחק מיניון", - "REREAD_ALL_MINIONS": "קרא מחדש נתוני מניונים", - "REFRESH": "רענן", - "RESCAN_NETWORK_AND_MINIONS": "סרוק את כתובות הרשת ורענן מיניונים", - "CREATE_MINION": "צור מיניון", - "PRESS_TO_RECORD": "לחץ להקלטת הפקודה", - "MINUTES": "דקות", - "HOURS": "שעות", - "SURE": "בטוח", - "BEFORE_DELETE_MESSAGE": "האם ברצונך למחוק את", - "DELETE": "מחק", - "ENTER_NAME": "הכנס שם", - "ENTER_NAME_HERE": "כתוב את השם פה...", - "ENTER_ID": "הכנס מזהה מכשיר", - "ENTER_ID_HERE": "כתוב מזהה מכשיר פה...", - "ENTER_TOKEN": "הכנס מפתח זיהוי (Token) מכשיר", - "ENTER_TOKEN_HERE": "הכנס מפתח זיהוי (Token) מכשיר פה...", - "SELECT_MODEL": "בחר דגם", - "SELECT_A_MODEL": "בחר דגם", - "SELECT_BRAND": "בחר חברה", - "SELECT_A_BRAND": "בחר חברה", - "SELECT_DEVICE": "בחר מכשיר", - "SELECT_A_DEVICE": "בחר מכשיר", - "EDIT": "ערוך", - "USE_AUTO_TURNOFF_TIMEOUT": "להפעיל טיימר כיבוי אוטמטי", - "CLOSE": "סגור", - "INNER_ID": "מזהה פנימי", - "MODEL": "דגם", - "BRAND": "חברה", - "DEVICE_NAME": "שם מכשיר פיזי", - "DEVICE_MAC": "כתובת רשת פיזית", - "DEVICE_IP": "כתובת IP", - "DEVICE_VENDOR": "תיאור החברה", - "NEXT": "הבא", - "BACK": "הקודם", - "DONE": "בוצע", - "CREATE": "צור", - "RESET": "ניקוי", - "DONE_MINION_MESSAGE": "יצירת מיניון חדש מוכנה", - "GENERATE_COMMANDS": "ג'ינרוט פקודות רנדומליות עבור כיבוי והדלקה", - "ENTER_EMAIL": "הזן דואר-אלקטרוני", - "INCORRECT_EMAIL": "כתובת דואר לא תקינה", - "ENTER_PASSWORD": "Enter password", - "MIN_PASSWORD_LENGTH_MSG": "לפחות 6 תווים בסיסמה", - "MAX_PASSWORD_LENGTH_MSG": "מקסימום 25 תווים", - "LOGIN_SUCCESSFULLY": "התחברות בוצעה בהצלחה", - "CONNECTED_FAIL": "התחברות נכשלה, נסה שוב", - "LOGOUT_SUCCESSFULLY": "התנתקות בוצעה בהצלחה", - "LOGOUT_FAIL": "התנתקות נכשלה, נסה שוב", - "TRIGGER_OPERATION": "הרץ פעולות", - "ACTIVITIES": "פעולות", - "NAME": "שם", - "STATUS": "סטטוס", - "CREATE_OPERATION": "צור פעולה", - "DELETE_OPERATION": "מחק פעולה", - "CREATE_ACTIVITIES": "יצירת פעולות", - "ADD_ACTIVITY": "הוסף פעולה", - "DONE_OPERATION_MESSAGE": "יצירת פעולה חדשה מוכנה", - "SELECT_MINION": "בחירת מיניון", - "SET_STATUS": "בחירת מצב", - "ON": "דלוק", - "OFF": "כבוי", - "SET_PROPERTIES": "בחירת תכונות", - "DONE_ACTIVITY_MESSAGE": "יצירת פעולה מוכנה", - "DELETE_TIMING": "מחיקת תזמון", - "DAYS": "ימים", - "SUN_TRIGGER": "טריגר", - "SUNRISE": "זריחה", - "SUNSET": "שקיעה", - "DURATION_IN_MINUTES": "טווח בדקות", - "HOUR": "שעה", - "START_IN": "התחיל ב", - "CREATE_TIMING": "יצירת תזמון", - "SELECT_OPERATION": "בחירת פעולה", - "SELECT_TIMING_TYPE": "בחירת סוג תזמון", - "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "טווח הדקות המקסימלי חייב לצאת באותו יום קלנדרי", - "DONE_TIMING_MESSAGE": "התזמון החדש מוכן ליצירה", - "CHOOSE_DATE": "בחירת תאריך", - "MAC": "כתובת MAC", - "IP": "כתובת IP", - "VENDOR": "שם ספק הציוד", - "RESCAN_NETWORK": "סריקת הרשת", - "PRESS_NAME": "הזן שם", - "DEVICE": "מכשיר", - "ACTIVATE": "מפעיל", - "TYPE": "סוג", - "SUNDAY": "ראשון", - "MONDAY": "שני", - "TUESDAY": "שלישי", - "WEDNSDAY": "רביעי", - "THURSDAY": "חמישי", - "FRIDAY": "שישי", - "SATURDAY": "שבת", - "SET": "הגדרת", - "FAIL": "נכשל", - "ACTIVATED": "הופעל", - "ACTIVATED_OPERATION": "פעולה שהופעלה", - "OK": "אישור", - "ONLINE": "שרת מחובר", - "OFFLINE": "שרת מנותק", - "LANGUAGE": "שפה", - "SELECT_LANGUAGE": "בחירת שפה", - "REMOTE_SERVER": "שרת מרוחק", - "REMOTE_STATUS": "סטטוס שרת מרוחק", - "REMOTE_URI": "כתובת שרת מרוחק", - "EDIT_CONNECTION": "ערוך חיבור", - "DISCONNECT": "התנתק", - "GET_LOCAL_MAC": "כתובת פיזית של השרת המקומי", - "IFTTT_INTEGRATION": "חיבוריות לשירותי IFTTT", - "IFTTT_STATUS": "סטטוס חיבוריות", - "CONFIG_CONNECTION": "הגדר חיבוריות", - "DISABLE_IFTTT": "בטל חיבוריות", - "ENABLED": "מאופשר", - "DISABLED": "מנוטרל", - "READING_MAC": "קורא כתובת פיזית...", - "PRESS_IFTTT_API_KEY": "הזן מפתח API של שירותי IFTTT", - "SETTING_IFTTT": "מגדיר שירותי IFTTT", - "FORMAT": "מבנה", - "API_KEY": "מפתח אימות מול שרת מרוחק", - "SETTING_REMOTE_SERVER": "מגדיר שרת מרוחק", - "ALLOW_UNMFA_ACCESS": "גישה ללא אימות דו שלבי", - "SESSION_MS_TIMEOUT": "אורך סשן במילישניות", - "SESSION_HOURES_TIMEOUT": "אורך סשן בשעות", - "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "הסיסמה צריכה להיות בין 6 ל 18 תווים", - "SCOPE": "הרשאות", - "ADMIN": "מנהל", - "USER": "משתמש", - "EDIT_USER": "ערוך משתמש", - "SET_PASSWORD": "הגדר סיסמה", - "CREATE_USER": "צור משתמש", - "FOR_THE_USER": "עבור המשתמש", - "SELECT_USER_SCOPE": "בחר הרשאה", - "ALLOW": "אפשר", - "REJECT": "סרב", - "PRESS_PASSWORD": "הזן סיסמה", - "ENTER_VALID_EMAIL": "הזן כתובת תקינה", - "PRESS_PASSWORD_AGINE": "הזן שוב סיסמה", - "THE_PASSWORDS_NOT_SAME": "הסיסמאות לא תואמות", - "DONE_USER_MESSAGE": "המשתמש מוכן ליצירה", - "LIGHT_VERSION": "גרסה קלה", - "REDIRECT_TO_THE_LIGHT_VERSION": "מעבר לגרסה הקלה", - "DEACTIVATE_SESSIONS": "ניתוק סשנים פעילים", - "REGISTER_USER_TO_REMOTE_SERVER": "רישום משתמש לשרת המרוחק", - "REMOVE_USER_FROM_THE_REMOTE_SERVER": "הסר משתמש משרת מרוחק", - "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "קוד האימות יישלח לכתובת", - "REGISTER_USER": "רישום משתמש", - "SEND": "שלח", - "ENTER_THE_SENT_CODE": "הזן את הקוד שנשלח", - "REMOVE": "הסר", - "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "יוסר מהשרת המרוחק", - "DOCK": "עגינה", - "CLEAN": "ניקוי", - "FAN_SPEED": "מהירות שאיבה", - "REGISTERED_USERS": "משתמשים רשומים", - "REPLACE_OPERATION": "החלף פעולה להפעלה", - "CURRENT_OPERATION": "הפעולה כרגע", - "VERSION": "גרסה", - "UPDATE_TO_THE_LAST_VERSION": "עדכן לגרסה האחרונה", - "UPDATING_WARNING" : "שימו לב! עדכון גרסה מהווה סיכון מסוים! תהליך העדכון יכול לקחת זמן מה, נא לא לכבות את היישום במהלך עדכון הגרסה.", - "UPDATE_SYSTEM_FAIL" : "עדכון המערכת נכשל", - "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH" : "יש ליצור קשר עם התמיכה, או לבדוק את תקינות השרת המקומי.", - "UPDATE": "עדכן", - "SUCCESSFULLY_UPDATED_TO": "עודכן בהצלחה ל", - "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "אתחול נדרש להשלמת עדכון הגרסה", - "SYSTEM_ALREADY_UP_TO_DATE": "המערכת כבר מעודכנת", - "RELEASE_DATE": "תאריך שחרור", - "SET_A_NEW_NAME": "הזן שם חדש", - "CURRENT_NAME": "שם נוכחי", - "RENAME": "שנה שם", - "TIMELINE": "ציר הזמן", - "SELECT_LOCAL_SERVER": "בחר שרת מקומי", - "WAIT_15_MINUTES_FOR_NEXT_TRYING": "נא המתן רבע שעה עד שתוכל לנסות שוב", - "TOO_MANY_REQUESTS": "יותר מדי בקשות", - "FETCH_COMMANDS": "משוך פקודות מכשיר", - "GETTING_SUPPOTERD_DEVICES": "מאחזר מכשירים קיימים", - "MATCH_TO": "התאם ל", - "COMMANDS_SET": "ערכת פקודות", - "OPERATION_ID" : "מזהה פעולה", - "INFO" : "מידע", - "CALIBRATION" : "כיול", - "DEFINE_CALIBRATION" : "הגדרת כיול אוטומטי, לווידוא שהסטטוס הידוע בשרת זהה לסטטוס של המכשיר הפיזי.", - "MINUTES_CYCLE" : "מחזור כיול, בדקות", - "CALIBRATE_EACH" : "מכייל כל", - "PWA" : "התקן כיישום (PWA)", - "INSTALL" : "התקן", - "UNINSTALL" : "הסר", - "notConfigured": "לא הוגדר שרת מרוחק", - "cantReachRemoteServer": "שרת מרוחק לא נגיש", - "authorizationFail": "אימות מול שרת מרוחק נכשל", - "localServerDisconnected": "שרת מקומי התנתק", - "connectionOK": "חיבור לשרת מרוחק תקין", - "dailySunTrigger": "תזמון מבוסס אירועי שמש", - "dailyTimeTrigger": "תזמון שבועי", - "once": "תזמון חד-פעמי", - "timeout": "תזמון ספירה לאחור", - "toggle": "מתג חד-כיווני", - "switch": "מתג", - "airConditioning": "מזגן", - "light": "תאורה", - "roller": "גלגלון", - "cleaner": "מנקה", - "temperatureLight": "תאורה עם טמפ'", - "colorLight": "תאורה צבעונית", - "status": "סטטוס", - "on": "דלוק", - "off": "כבוי", - "direction": "כיוון", - "down": "מטה", - "up": "מעלה", - "mode": "מצב", - "fanStrength": "עצמת רוח", - "temperature": "טמפרטורה", - "brightness": "בהירות", - "red": "אדום", - "green": "ירוק", - "blue": "כחול", - "hot": "חום", - "cold": "קור", - "dry": "יבש", - "auto": "אוטמטי", - "med": "בינוני", - "high": "גבוה", - "low": "חלש", - "fanSpeed": "מהירות אויר", - "api-messages": { - "0": "לא מקוון", - "1401": "חיבור לא מאומת", - "1403": "גישה נדחתה", - "2403": "שם משתמש או סיסמה אינם תקינים", - "3403": "אימות שרת מקומי בשרת המרוחק נכשל", - "4403": "user not allowed to watch other accounts", - "5403": "invalid device id", - "6403": "user or code invalied", - "1404": "מיניון לא קיים", - "2404": "מכשיר לא קיים ברשת המקומית", - "3404": "פעולה לא קיימת", - "4404": "תזמון לא קיים", - "5404": "משתמש לא קיים", - "6404": "שרת מקומי לא קיים", - "7404": "there is not module handler for minion brand", - "8404": "דגם מיניון לא מוכר", - "1405": "סטטוס מיניון לא תקין עבור סוג המיניון", - "2405": "סטטוס מיניון לא תקין עבור סוג המיניון בפעולה", - "3405": "תכונות התזמון לא מתאימות לסוד התזמון", - "5405": "משתמש קיים כבר", - "6405": "משתמש אינו רשאי לצפות במשתמש אחר", - "1409": "אין תמיכה בדגם או המותג", - "2409": "נדרש טוקן (מפתח)", - "3409": "נדרש מזהה מכשיר", - "4409": "לא ניתן ליצור מיניון נוסף על המכשיר", - "5409": "יש לבחור קודם שרת מקומי להתחברות", - "6409": "הקלטה לא נתמכת במכשיר", - "7409": "הפעלת טריגר IFTTT נכשלה", - "1422": "מבנה נתונים לא תקין", - "2422": "מבנה נתונים לא תקין, עם הודעה על השגיאה", - "1500": "שגיאה לא ידועה", - "1501": "שגיאה פנימית בשרת", - "2501": "אימות דו שלבי לא הוגדר", - "3501": "שליחת מייל אימות נכשלה, שגיאה פנימית.", - "4501": "חיבור לשרת מקומי לא זמין", - "5501": "הפעולה לא מומשה עדיין", - "6501": "אין תקשורת עם השרת המרוחק", - "7501": "קבלת עדכונים מהשרת נכשלה", - "8501": "התקנת תלויות המערכת נכשלה", - "9051": "קבלת מידע על הגרסה נכשלה", - "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", - "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", - "1503": "חיבור למכשיר נכשל", - "2503": "הקלטה נכשלה או שלא התקבל קלט", - "3503": "לא קיימות פקודות מוקלטות", - "4503": "לא קיימת פקודה מוקלטת לשליחה", - "5503": "סטטוס לא ידוע, לא קיימת היסטוריה של שליחת סטטוס מהמשדר", - "6503": "שליחת סטטוס למכשיר נכשלה", - "7503": "קבלת סטטוס מהמכשיר נכשלה", - "8503": "אין תגובה מהשרת המקומי", - "9503": "שגיאה בתקשורת עם המכשיר, נא וודא שאין יישום אחר המתקשר עם המכשיר כרגע.", - "10503": "המכשיר מחזיר ערכי זבל", - "11503": "שליחת פקודת RF/IR נכשלה", - "12503": "אין תגובה מהשרת המרוחק" - } -} \ No newline at end of file + "DIR": "rtl", + "RIGHT_DIR": "left", + "LEFT_DIR": "right", + "REQUEST_FAIL": "הבקשה נכשלה", + "ERROR": "שגיאה", + "TITLE": "CASA net (he)", + "EMAIL": "דואר אלקטרוני", + "PASSWORD": "סיסמה", + "ONE_TIME_PASSWORD": "סיסמה חד-פעמית", + "LOGIN": "התחברות", + "AUTHENTICATION": "אימות", + "ABOUT": "אודות", + "HELP": "עזרה", + "LOGOUT": "התנתקות", + "PROFILE": "פרופיל", + "MINIONS": "מניונים", + "OPERATIONS": "פעולות", + "TIMINGS": "תזמונים", + "DEVICES": "מכשירים", + "USERS": "משתמשים", + "PROPERTIES": "תכונות", + "DITAILS": "פרטים", + "PRESS_TO_TURN_ON": "לחץ להדלקת המכשיר", + "PRESS_TO_TURN_OFF": "לחץ לכיבוי המכשיר", + "COMMUNICATION_ERROR_PRESS_TO_RESCAN": "תקלת תקשורת, לחץ לבדיקה מחודשת של המכשיר \nאו סרוק מחדש את כתובות הרשת", + "HOT": "חום", + "COLD": "קור", + "DRY": "יבש", + "AUTO": "אוטומטי", + "MED": "בינוני", + "HIGH": "חזק", + "LOW": "חלש", + "MODE": "מצב", + "FAN_STRENGTH": "עצמת רוח", + "TEMERATURE": "טמפרטורה", + "BRIGTNESS": "בהירות", + "COLOR": "צבע", + "RED": "אדום", + "GREEN": "ירוק", + "BLUE": "כחול", + "UP_DIRECTION": "כיוון מעלה", + "DOWN_DIRECTION": "כיוון מטה", + "SUBMIT": "בצע", + "CANCEL": "ביטול", + "DEVICE_META": "מידע על המכשיר", + "REFRESH_MINION_DATA": "רענן סטטוס", + "REDO_LAST_UPDATE": "בצע שוב עדכון סטטוס האחרון", + "ENTER_RECORD_OR_GENERATE_MODE": "מצב הקלטה/ג'ינרוט", + "EXIT_RECORD_OR_GENERATE_MODE": "צא ממצב הקלטה/ג'ינרוט", + "TURN_OFF_TIMEOUT": "כיבוי אוטומטי", + "DELETE_MINION": "מחק מיניון", + "REREAD_ALL_MINIONS": "קרא מחדש נתוני מניונים", + "REFRESH": "רענן", + "RESCAN_NETWORK_AND_MINIONS": "סרוק את כתובות הרשת ורענן מיניונים", + "CREATE_MINION": "צור מיניון", + "PRESS_TO_RECORD": "לחץ להקלטת הפקודה", + "MINUTES": "דקות", + "HOURS": "שעות", + "SURE": "בטוח", + "BEFORE_DELETE_MESSAGE": "האם ברצונך למחוק את", + "DELETE": "מחק", + "ENTER_NAME": "הכנס שם", + "ENTER_NAME_HERE": "כתוב את השם פה...", + "ENTER_ID": "הכנס מזהה מכשיר", + "ENTER_ID_HERE": "כתוב מזהה מכשיר פה...", + "ENTER_TOKEN": "הכנס מפתח זיהוי (Token) מכשיר", + "ENTER_TOKEN_HERE": "הכנס מפתח זיהוי (Token) מכשיר פה...", + "SELECT_MODEL": "בחר דגם", + "SELECT_A_MODEL": "בחר דגם", + "SELECT_BRAND": "בחר חברה", + "SELECT_A_BRAND": "בחר חברה", + "SELECT_DEVICE": "בחר מכשיר", + "SELECT_A_DEVICE": "בחר מכשיר", + "EDIT": "ערוך", + "USE_AUTO_TURNOFF_TIMEOUT": "להפעיל טיימר כיבוי אוטמטי", + "CLOSE": "סגור", + "INNER_ID": "מזהה פנימי", + "MODEL": "דגם", + "BRAND": "חברה", + "DEVICE_NAME": "שם מכשיר פיזי", + "DEVICE_MAC": "כתובת רשת פיזית", + "DEVICE_IP": "כתובת IP", + "DEVICE_VENDOR": "תיאור החברה", + "NEXT": "הבא", + "BACK": "הקודם", + "DONE": "בוצע", + "CREATE": "צור", + "RESET": "ניקוי", + "DONE_MINION_MESSAGE": "יצירת מיניון חדש מוכנה", + "GENERATE_COMMANDS": "ג'ינרוט פקודות רנדומליות עבור כיבוי והדלקה", + "ENTER_EMAIL": "הזן דואר-אלקטרוני", + "INCORRECT_EMAIL": "כתובת דואר לא תקינה", + "ENTER_PASSWORD": "Enter password", + "MIN_PASSWORD_LENGTH_MSG": "לפחות 6 תווים בסיסמה", + "MAX_PASSWORD_LENGTH_MSG": "מקסימום 25 תווים", + "LOGIN_SUCCESSFULLY": "התחברות בוצעה בהצלחה", + "CONNECTED_FAIL": "התחברות נכשלה, נסה שוב", + "LOGOUT_SUCCESSFULLY": "התנתקות בוצעה בהצלחה", + "LOGOUT_FAIL": "התנתקות נכשלה, נסה שוב", + "TRIGGER_OPERATION": "הרץ פעולות", + "ACTIVITIES": "פעולות", + "NAME": "שם", + "STATUS": "סטטוס", + "CREATE_OPERATION": "צור פעולה", + "DELETE_OPERATION": "מחק פעולה", + "CREATE_ACTIVITIES": "יצירת פעולות", + "ADD_ACTIVITY": "הוסף פעולה", + "DONE_OPERATION_MESSAGE": "יצירת פעולה חדשה מוכנה", + "SELECT_MINION": "בחירת מיניון", + "SET_STATUS": "בחירת מצב", + "ON": "דלוק", + "OFF": "כבוי", + "SET_PROPERTIES": "בחירת תכונות", + "DONE_ACTIVITY_MESSAGE": "יצירת פעולה מוכנה", + "DELETE_TIMING": "מחיקת תזמון", + "DAYS": "ימים", + "SUN_TRIGGER": "טריגר", + "SUNRISE": "זריחה", + "SUNSET": "שקיעה", + "DURATION_IN_MINUTES": "טווח בדקות", + "HOUR": "שעה", + "START_IN": "התחיל ב", + "CREATE_TIMING": "יצירת תזמון", + "SELECT_OPERATION": "בחירת פעולה", + "SELECT_TIMING_TYPE": "בחירת סוג תזמון", + "DURATION_MUST_BE_ON_SAME_CALENDERY_DAY": "טווח הדקות המקסימלי חייב לצאת באותו יום קלנדרי", + "DONE_TIMING_MESSAGE": "התזמון החדש מוכן ליצירה", + "CHOOSE_DATE": "בחירת תאריך", + "MAC": "כתובת MAC", + "IP": "כתובת IP", + "VENDOR": "שם ספק הציוד", + "RESCAN_NETWORK": "סריקת הרשת", + "PRESS_NAME": "הזן שם", + "DEVICE": "מכשיר", + "ACTIVATE": "מפעיל", + "TYPE": "סוג", + "SUNDAY": "ראשון", + "MONDAY": "שני", + "TUESDAY": "שלישי", + "WEDNSDAY": "רביעי", + "THURSDAY": "חמישי", + "FRIDAY": "שישי", + "SATURDAY": "שבת", + "SET": "הגדרת", + "FAIL": "נכשל", + "ACTIVATED": "הופעל", + "ACTIVATED_OPERATION": "פעולה שהופעלה", + "OK": "אישור", + "ONLINE": "שרת מחובר", + "OFFLINE": "שרת מנותק", + "LANGUAGE": "שפה", + "SELECT_LANGUAGE": "בחירת שפה", + "REMOTE_SERVER": "שרת מרוחק", + "REMOTE_STATUS": "סטטוס שרת מרוחק", + "REMOTE_URI": "כתובת שרת מרוחק", + "EDIT_CONNECTION": "ערוך חיבור", + "DISCONNECT": "התנתק", + "GET_LOCAL_MAC": "כתובת פיזית של השרת המקומי", + "IFTTT_INTEGRATION": "חיבוריות לשירותי IFTTT", + "IFTTT_STATUS": "סטטוס חיבוריות", + "CONFIG_CONNECTION": "הגדר חיבוריות", + "DISABLE_IFTTT": "בטל חיבוריות", + "ENABLED": "מאופשר", + "DISABLED": "מנוטרל", + "READING_MAC": "קורא כתובת פיזית...", + "PRESS_IFTTT_API_KEY": "הזן מפתח API של שירותי IFTTT", + "SETTING_IFTTT": "מגדיר שירותי IFTTT", + "FORMAT": "מבנה", + "API_KEY": "מפתח אימות מול שרת מרוחק", + "SETTING_REMOTE_SERVER": "מגדיר שרת מרוחק", + "ALLOW_UNMFA_ACCESS": "גישה ללא אימות דו שלבי", + "SESSION_MS_TIMEOUT": "אורך סשן במילישניות", + "SESSION_HOURES_TIMEOUT": "אורך סשן בשעות", + "PASSWORD_SHULD_BE_6_TO_18_LENGTH": "הסיסמה צריכה להיות בין 6 ל 18 תווים", + "SCOPE": "הרשאות", + "ADMIN": "מנהל", + "USER": "משתמש", + "EDIT_USER": "ערוך משתמש", + "SET_PASSWORD": "הגדר סיסמה", + "CREATE_USER": "צור משתמש", + "FOR_THE_USER": "עבור המשתמש", + "SELECT_USER_SCOPE": "בחר הרשאה", + "ALLOW": "אפשר", + "REJECT": "סרב", + "PRESS_PASSWORD": "הזן סיסמה", + "ENTER_VALID_EMAIL": "הזן כתובת תקינה", + "PRESS_PASSWORD_AGINE": "הזן שוב סיסמה", + "THE_PASSWORDS_NOT_SAME": "הסיסמאות לא תואמות", + "DONE_USER_MESSAGE": "המשתמש מוכן ליצירה", + "LIGHT_VERSION": "גרסה קלה", + "REDIRECT_TO_THE_LIGHT_VERSION": "מעבר לגרסה הקלה", + "DEACTIVATE_SESSIONS": "ניתוק סשנים פעילים", + "REGISTER_USER_TO_REMOTE_SERVER": "רישום משתמש לשרת המרוחק", + "REMOVE_USER_FROM_THE_REMOTE_SERVER": "הסר משתמש משרת מרוחק", + "THE_AUTH_CODE_WILL_SEND_TO_ACCOUNT": "קוד האימות יישלח לכתובת", + "REGISTER_USER": "רישום משתמש", + "SEND": "שלח", + "ENTER_THE_SENT_CODE": "הזן את הקוד שנשלח", + "REMOVE": "הסר", + "WILL_REMOVE_FROM_THE_REMOTE_SERVER": "יוסר מהשרת המרוחק", + "DOCK": "עגינה", + "CLEAN": "ניקוי", + "FAN_SPEED": "מהירות שאיבה", + "REGISTERED_USERS": "משתמשים רשומים", + "REPLACE_OPERATION": "החלף פעולה להפעלה", + "CURRENT_OPERATION": "הפעולה כרגע", + "VERSION": "גרסה", + "UPDATE_TO_THE_LAST_VERSION": "עדכן לגרסה האחרונה", + "UPDATING_WARNING": "שימו לב! עדכון גרסה מהווה סיכון מסוים! תהליך העדכון יכול לקחת זמן מה, נא לא לכבות את היישום במהלך עדכון הגרסה.", + "UPDATE_SYSTEM_FAIL": "עדכון המערכת נכשל", + "CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH": "יש ליצור קשר עם התמיכה, או לבדוק את תקינות השרת המקומי.", + "UPDATE": "עדכן", + "SUCCESSFULLY_UPDATED_TO": "עודכן בהצלחה ל", + "RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE": "אתחול נדרש להשלמת עדכון הגרסה", + "SYSTEM_ALREADY_UP_TO_DATE": "המערכת כבר מעודכנת", + "RELEASE_DATE": "תאריך שחרור", + "SET_A_NEW_NAME": "הזן שם חדש", + "CURRENT_NAME": "שם נוכחי", + "RENAME": "שנה שם", + "TIMELINE": "ציר הזמן", + "SELECT_LOCAL_SERVER": "בחר שרת מקומי", + "WAIT_15_MINUTES_FOR_NEXT_TRYING": "נא המתן רבע שעה עד שתוכל לנסות שוב", + "TOO_MANY_REQUESTS": "יותר מדי בקשות", + "FETCH_COMMANDS": "משוך פקודות מכשיר", + "GETTING_SUPPOTERD_DEVICES": "מאחזר מכשירים קיימים", + "MATCH_TO": "התאם ל", + "COMMANDS_SET": "ערכת פקודות", + "OPERATION_ID": "מזהה פעולה", + "INFO": "מידע", + "CALIBRATION": "כיול", + "DEFINE_CALIBRATION": "הגדרת כיול אוטומטי, לווידוא שהסטטוס הידוע בשרת זהה לסטטוס של המכשיר הפיזי.", + "MINUTES_CYCLE": "מחזור כיול, בדקות", + "CALIBRATE_EACH": "מכייל כל", + "PWA": "התקן כיישום (PWA)", + "INSTALL": "התקן", + "UNINSTALL": "הסר", + "notConfigured": "לא הוגדר שרת מרוחק", + "cantReachRemoteServer": "שרת מרוחק לא נגיש", + "authorizationFail": "אימות מול שרת מרוחק נכשל", + "localServerDisconnected": "שרת מקומי התנתק", + "connectionOK": "חיבור לשרת מרוחק תקין", + "dailySunTrigger": "תזמון מבוסס אירועי שמש", + "dailyTimeTrigger": "תזמון שבועי", + "once": "תזמון חד-פעמי", + "timeout": "תזמון ספירה לאחור", + "toggle": "מתג חד-כיווני", + "switch": "מתג", + "airConditioning": "מזגן", + "light": "תאורה", + "roller": "גלגלון", + "cleaner": "מנקה", + "temperatureLight": "תאורה עם טמפ'", + "colorLight": "תאורה צבעונית", + "status": "סטטוס", + "on": "דלוק", + "off": "כבוי", + "direction": "כיוון", + "down": "מטה", + "up": "מעלה", + "mode": "מצב", + "fanStrength": "עצמת רוח", + "temperature": "טמפרטורה", + "brightness": "בהירות", + "red": "אדום", + "green": "ירוק", + "blue": "כחול", + "hot": "חום", + "cold": "קור", + "dry": "יבש", + "auto": "אוטמטי", + "med": "בינוני", + "high": "גבוה", + "low": "חלש", + "fanSpeed": "מהירות אויר", + "move to": "עבור אל", + "go to correct domain": "כתובת השירות השתנתה ובקרוב תרד מהאוויר, נא עברו לכתובתנו החדשה!", + "api-messages": { + "0": "לא מקוון", + "1401": "חיבור לא מאומת", + "1403": "גישה נדחתה", + "2403": "שם משתמש או סיסמה אינם תקינים", + "3403": "אימות שרת מקומי בשרת המרוחק נכשל", + "4403": "user not allowed to watch other accounts", + "5403": "invalid device id", + "6403": "user or code invalied", + "1404": "מיניון לא קיים", + "2404": "מכשיר לא קיים ברשת המקומית", + "3404": "פעולה לא קיימת", + "4404": "תזמון לא קיים", + "5404": "משתמש לא קיים", + "6404": "שרת מקומי לא קיים", + "7404": "there is not module handler for minion brand", + "8404": "דגם מיניון לא מוכר", + "1405": "סטטוס מיניון לא תקין עבור סוג המיניון", + "2405": "סטטוס מיניון לא תקין עבור סוג המיניון בפעולה", + "3405": "תכונות התזמון לא מתאימות לסוד התזמון", + "5405": "משתמש קיים כבר", + "6405": "משתמש אינו רשאי לצפות במשתמש אחר", + "1409": "אין תמיכה בדגם או המותג", + "2409": "נדרש טוקן (מפתח)", + "3409": "נדרש מזהה מכשיר", + "4409": "לא ניתן ליצור מיניון נוסף על המכשיר", + "5409": "יש לבחור קודם שרת מקומי להתחברות", + "6409": "הקלטה לא נתמכת במכשיר", + "7409": "הפעלת טריגר IFTTT נכשלה", + "1422": "מבנה נתונים לא תקין", + "2422": "מבנה נתונים לא תקין, עם הודעה על השגיאה", + "1500": "שגיאה לא ידועה", + "1501": "שגיאה פנימית בשרת", + "2501": "אימות דו שלבי לא הוגדר", + "3501": "שליחת מייל אימות נכשלה, שגיאה פנימית.", + "4501": "חיבור לשרת מקומי לא זמין", + "5501": "הפעולה לא מומשה עדיין", + "6501": "אין תקשורת עם השרת המרוחק", + "7501": "קבלת עדכונים מהשרת נכשלה", + "8501": "התקנת תלויות המערכת נכשלה", + "9051": "קבלת מידע על הגרסה נכשלה", + "10051": "קבלת מכשירים נתמכים משרת אכסון הפקודות נכשל", + "11051": "קבלת ערכת הפקודות משרת אכסון הפקודות נכשל", + "1503": "חיבור למכשיר נכשל", + "2503": "הקלטה נכשלה או שלא התקבל קלט", + "3503": "לא קיימות פקודות מוקלטות", + "4503": "לא קיימת פקודה מוקלטת לשליחה", + "5503": "סטטוס לא ידוע, לא קיימת היסטוריה של שליחת סטטוס מהמשדר", + "6503": "שליחת סטטוס למכשיר נכשלה", + "7503": "קבלת סטטוס מהמכשיר נכשלה", + "8503": "אין תגובה מהשרת המקומי", + "9503": "שגיאה בתקשורת עם המכשיר, נא וודא שאין יישום אחר המתקשר עם המכשיר כרגע.", + "10503": "המכשיר מחזיר ערכי זבל", + "11503": "שליחת פקודת RF/IR נכשלה", + "12503": "אין תגובה מהשרת המרוחק" + } +} diff --git a/backend/dist/public/common.4a59c2db34bb95b09265.js b/backend/dist/public/common.4a59c2db34bb95b09265.js new file mode 100644 index 00000000..9079eff9 --- /dev/null +++ b/backend/dist/public/common.4a59c2db34bb95b09265.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{FVSy:function(t,a,r){"use strict";r.d(a,"a",(function(){return y}));var e=r("CcnG"),c=r("Wf4p"),i=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-content",host:{class:"mat-card-content"}}]}],t}(),n=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-title, [mat-card-title], [matCardTitle]",host:{class:"mat-card-title"}}]}],t}(),o=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]",host:{class:"mat-card-subtitle"}}]}],t}(),d=function(){function t(){this.align="start"}return t.decorators=[{type:e.t,args:[{selector:"mat-card-actions",exportAs:"matCardActions",host:{class:"mat-card-actions","[class.mat-card-actions-align-end]":'align === "end"'}}]}],t.propDecorators={align:[{type:e.G}]},t}(),m=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-footer",host:{class:"mat-card-footer"}}]}],t}(),s=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-image], [matCardImage]",host:{class:"mat-card-image"}}]}],t}(),l=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-sm-image], [matCardImageSmall]",host:{class:"mat-card-sm-image"}}]}],t}(),g=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-md-image], [matCardImageMedium]",host:{class:"mat-card-md-image"}}]}],t}(),p=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-lg-image], [matCardImageLarge]",host:{class:"mat-card-lg-image"}}]}],t}(),u=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-xl-image], [matCardImageXLarge]",host:{class:"mat-card-xl-image"}}]}],t}(),h=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-avatar], [matCardAvatar]",host:{class:"mat-card-avatar"}}]}],t}(),f=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card",exportAs:"matCard",template:'',styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:16px;border-radius:4px}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}@media (-ms-high-contrast:active){.mat-card{outline:solid 1px}}.mat-card-actions,.mat-card-content,.mat-card-subtitle{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px 0}@media (max-width:599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card-content>:first-child,.mat-card>:first-child{margin-top:0}.mat-card-content>:last-child:not(.mat-card-footer),.mat-card>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child{margin-left:0;margin-right:0}.mat-card-subtitle:not(:first-child),.mat-card-title:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card"}}]}],t}(),x=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card-header",template:'
',encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card-header"}}]}],t}(),b=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card-title-group",template:'
',encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card-title-group"}}]}],t}(),y=function(){function t(){}return t.decorators=[{type:e.L,args:[{imports:[c.h],exports:[f,x,b,i,n,o,d,m,l,g,p,s,u,h,c.h],declarations:[f,x,b,i,n,o,d,m,l,g,p,s,u,h]}]}],t}()}}]); \ No newline at end of file diff --git a/backend/dist/public/common.caba40804b75d5fcb3d4.js b/backend/dist/public/common.caba40804b75d5fcb3d4.js deleted file mode 100644 index 0fe10876..00000000 --- a/backend/dist/public/common.caba40804b75d5fcb3d4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{FVSy:function(t,a,r){"use strict";r.d(a,"a",function(){return y});var e=r("CcnG"),c=r("Wf4p"),i=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-content",host:{class:"mat-card-content"}}]}],t}(),n=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-title, [mat-card-title], [matCardTitle]",host:{class:"mat-card-title"}}]}],t}(),o=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]",host:{class:"mat-card-subtitle"}}]}],t}(),d=function(){function t(){this.align="start"}return t.decorators=[{type:e.t,args:[{selector:"mat-card-actions",exportAs:"matCardActions",host:{class:"mat-card-actions","[class.mat-card-actions-align-end]":'align === "end"'}}]}],t.propDecorators={align:[{type:e.G}]},t}(),m=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"mat-card-footer",host:{class:"mat-card-footer"}}]}],t}(),s=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-image], [matCardImage]",host:{class:"mat-card-image"}}]}],t}(),l=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-sm-image], [matCardImageSmall]",host:{class:"mat-card-sm-image"}}]}],t}(),g=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-md-image], [matCardImageMedium]",host:{class:"mat-card-md-image"}}]}],t}(),p=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-lg-image], [matCardImageLarge]",host:{class:"mat-card-lg-image"}}]}],t}(),u=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-xl-image], [matCardImageXLarge]",host:{class:"mat-card-xl-image"}}]}],t}(),h=function(){function t(){}return t.decorators=[{type:e.t,args:[{selector:"[mat-card-avatar], [matCardAvatar]",host:{class:"mat-card-avatar"}}]}],t}(),f=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card",exportAs:"matCard",template:'',styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:16px;border-radius:4px}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}@media (-ms-high-contrast:active){.mat-card{outline:solid 1px}}.mat-card-actions,.mat-card-content,.mat-card-subtitle{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px 0}@media (max-width:599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card-content>:first-child,.mat-card>:first-child{margin-top:0}.mat-card-content>:last-child:not(.mat-card-footer),.mat-card>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child{margin-left:0;margin-right:0}.mat-card-subtitle:not(:first-child),.mat-card-title:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card"}}]}],t}(),x=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card-header",template:'
',encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card-header"}}]}],t}(),b=function(){function t(){}return t.decorators=[{type:e.n,args:[{selector:"mat-card-title-group",template:'
',encapsulation:e.qb.None,changeDetection:e.j.OnPush,host:{class:"mat-card-title-group"}}]}],t}(),y=function(){function t(){}return t.decorators=[{type:e.L,args:[{imports:[c.h],exports:[f,x,b,i,n,o,d,m,l,g,p,s,u,h,c.h],declarations:[f,x,b,i,n,o,d,m,l,g,p,s,u,h]}]}],t}()}}]); \ No newline at end of file diff --git a/backend/dist/public/index.html b/backend/dist/public/index.html index 65190bd2..52c7efe9 100644 --- a/backend/dist/public/index.html +++ b/backend/dist/public/index.html @@ -12,7 +12,7 @@ - + @@ -26,7 +26,7 @@ - + ',this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement=this.getInertBodyElement_DOMParser:this.getInertBodyElement=this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}return t.prototype.getInertBodyElement_XHR=function(t){t=""+t+"";try{t=encodeURI(t)}catch(r){return null}var e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(void 0);var n=e.response.body;return n.removeChild(n.firstChild),n},t.prototype.getInertBodyElement_DOMParser=function(t){t=""+t+"";try{var e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(n){return null}},t.prototype.getInertBodyElement_InertDocument=function(t){var e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)},t.prototype.stripCustomNsAttrs=function(t){for(var e=t.attributes,n=e.length-1;0"),!0},t.prototype.endElement=function(t){var e=t.nodeName.toLowerCase();ni.hasOwnProperty(e)&&!Xr.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(di(t))},t.prototype.checkClobberedElement=function(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: "+t.outerHTML);return e},t}(),ui=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pi=/([^\#-~ |!])/g;function di(t){return t.replace(/&/g,"&").replace(ui,(function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"})).replace(pi,(function(t){return"&#"+t.charCodeAt(0)+";"})).replace(//g,">")}function hi(t,e){var n=null;try{Kr=Kr||new zr(t);var r=e?String(e):"";n=Kr.getInertBodyElement(r);var i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=n.innerHTML,n=Kr.getInertBodyElement(r)}while(r!==o);var a=new ci,s=a.sanitizeChildren(fi(n)||n);return Vr()&&a.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n)for(var l=fi(n)||n;l.firstChild;)l.removeChild(l.firstChild)}}function fi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}!function(t){t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL"}(Qr||(Qr={}));var mi=function(){},gi=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),yi=/^url\(([^)]+)\)$/;function vi(t){if(!(t=String(t).trim()))return"";var e=t.match(yi);return e&&Gr(e[1])===e[1]||t.match(gi)&&function(t){for(var e=!0,n=!0,r=0;r=0){var f;Oi(f=Pe(r[h]),l=Ci(r,h,f)),n=l;break}}}return n||null}function Ci(t,e,n){return{lView:t,nodeIndex:e,native:n,component:void 0,directives:void 0,localRefs:void 0}}function Oi(t,e){t[Te]=e}function Ei(t,e){for(var n=t[Vt].firstChild;n;){if(Re(n,t)===e)return n.index;n=Si(n)}return-1}function Si(t){if(t.child)return t.child;if(t.next)return t.next;for(;t.parent&&!t.parent.next;)t=t.parent;return t.parent&&t.parent.next}function ki(t,e){var n=t[Vt].components;if(n)for(var r=0;rje}(r,o))?(Gi(r,t,e,n,o,a,s),!0):i}function Gi(t,e,n,r,i,o,a){for(var s=function(t){return!0===t?-1:!1===t?0:t}(i),l=qi,c=(s&Nn(t,3))>0?1:0,u=Gn(t);u=eo.length&&eo.push(1);return eo[t]}(c);ml,v=!y&&g===l,b=nr(f,m),_=Wn(b),w=y?s:Ji(s,_,v),x=t(e,n,r,i,o,a,w,y?l:g,c+1,u);if(y){p||(p=x);break}if(!x&&to(s,v)){var C=v&&!_,O=C?u:b,E=C?h:null,S=a?a(g,O,3):O;o(n,r,g,S,E),x=!0}p=x&&v,m+=2}if(k=m,eo[c]=k,1===f.length||!l)return t(e,n,r,i,o,a,s,l,c+1,u)}var k;return p}(t,e,n,r,i,o,a,s||null,0,l||null)),p&&function(){for(var t=0;t0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}var eo=[];function no(t,e,n,r){for(var i=1;i0&&$i();var e=this._isClassBased?null:this._sanitizer||bn();Gi(this.context,null,{},this._data,!0,(function(e,n,r,i,o){t(r,i,o||null)}),e)},t}();!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h,f,m,g,y,v,b,_,w,x,C){this.tView_=t,this.type=e,this.index=n,this.injectorIndex=r,this.directiveStart=i,this.directiveEnd=o,this.propertyMetadataStartIndex=a,this.propertyMetadataEndIndex=s,this.flags=l,this.providerIndexes=c,this.tagName=u,this.attrs=p,this.localNames=d,this.initialInputs=h,this.inputs=f,this.outputs=m,this.tViews=g,this.next=y,this.projectionNext=v,this.child=b,this.parent=_,this.projection=w,this.styles=x,this.classes=C}Object.defineProperty(t.prototype,"type_",{get:function(){switch(this.type){case 0:return"TNodeType.Container";case 3:return"TNodeType.Element";case 4:return"TNodeType.ElementContainer";case 5:return"TNodeType.IcuContainer";case 1:return"TNodeType.Projection";case 2:return"TNodeType.View";default:return"TNodeType.???"}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flags_",{get:function(){var t=[];return 8&this.flags&&t.push("TNodeFlags.hasClassInput"),4&this.flags&&t.push("TNodeFlags.hasContentQuery"),16&this.flags&&t.push("TNodeFlags.hasStyleInput"),1&this.flags&&t.push("TNodeFlags.isComponent"),32&this.flags&&t.push("TNodeFlags.isDetached"),2&this.flags&&t.push("TNodeFlags.isProjected"),t.join("|")},enumerable:!0,configurable:!0})}();function oo(t){if(t){var e=t.debug;return yt(e,"Object does not have a debug representation."),e}return t}function ao(t,e){void 0===e&&(e=!1);var n=Pe(t);if(n){var r=n.nodeType===Node.TEXT_NODE,i=(r?n.textContent:n.outerHTML)||"";if(e||r)return i;var o=n.innerHTML;return i.split(o)[0]||null}return null}!function(){function t(t){this._raw_lView=t}Object.defineProperty(t.prototype,"flags",{get:function(){var t=this._raw_lView[Bt];return{__raw__flags__:t,initPhaseState:3&t,creationMode:!!(4&t),firstViewPass:!!(8&t),checkAlways:!!(16&t),dirty:!!(64&t),attached:!!(128&t),destroyed:!!(256&t),isRoot:!!(512&t),indexWithinInitPhase:t>>10}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return oo(this._raw_lView[zt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return ao(this._raw_lView[Lt],!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._raw_lView[Yt]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nodes",{get:function(){var t=this._raw_lView;return function t(e,n){if(e){for(var r=[],i=e;i;){var o=n[e.index],a=Pe(o),s=oo(so(o)),l=Xn(e.styles)?new io(e.styles,n):null,c=Xn(e.classes)?new io(e.classes,n,!0):null;r.push({html:ao(a),native:a,styles:l,classes:c,nodes:t(e.child,n),component:s}),i=i.next}return r}return null}(t[Vt].firstChild,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{tView:this._raw_lView[Vt],cleanup:this._raw_lView[Wt],injector:this._raw_lView[Kt],rendererFactory:this._raw_lView[Qt],renderer:this._raw_lView[Xt],sanitizer:this._raw_lView[Zt],childHead:oo(this._raw_lView[$t]),next:oo(this._raw_lView[Ht]),childTail:oo(this._raw_lView[Jt]),declarationView:oo(this._raw_lView[te]),queries:null,tHost:this._raw_lView[Gt],bindingIndex:this._raw_lView[qt]}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"childViews",{get:function(){for(var t=[],e=this.__other__.childHead;e;)t.push(e),e=e.__other__.next;return t},enumerable:!0,configurable:!0})}();!function(){function t(t){this._raw_lContainer=t}Object.defineProperty(t.prototype,"activeIndex",{get:function(){return this._raw_lContainer[oe]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"views",{get:function(){return this._raw_lContainer.slice(le).map(oo)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return oo(this._raw_lContainer[zt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"movedViews",{get:function(){return this._raw_lContainer[ae]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return this._raw_lContainer[Lt]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"native",{get:function(){return this._raw_lContainer[se]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{next:oo(this._raw_lContainer[Ht])}},enumerable:!0,configurable:!0})}();function so(t){for(;Array.isArray(t);){if(t.length>=re-1)return t;t=t[Lt]}return null}var lo=function(){function t(t,e,n,r){this.__raw_opCode=t,this._lView=e,this.nodeIndex=n,this.type=r}return Object.defineProperty(t.prototype,"tNode",{get:function(){return Me(this.nodeIndex,this._lView)},enumerable:!0,configurable:!0}),t}();(function(){function t(t,e){this.__raw_opCodes=t,this.__lView=e}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=[],r=0;r>>17,"AppendChild");break;case 0:o=new lo(i,t,i>>>3,"Select");break;case 5:var a=i>>>3;o=new lo(i,t,a,"ElementEnd");break;case 4:(o=new lo(i,t,a=i>>>3,"Attr")).attrName=e[++r],o.attrValue=e[++r]}if(!o)switch(i){case Xi:o={__raw_opCode:i,type:"COMMENT_MARKER",commentValue:e[++r],nodeIndex:e[++r]};break;case Qi:o={__raw_opCode:i,type:"ELEMENT_MARKER"}}o||(o={__raw_opCode:i,type:"Unknown Op Code",code:i}),n.push(o)}return n},enumerable:!0,configurable:!0})})(),function(){function t(t,e,n){this.__raw_opCodes=t,this.icus=e,this.__lView=n}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=this.icus,r=[],i=0;i>>2,p=void 0,d=void 0;switch(3&c){case 1:var h=e[++l],f=e[++l];r.push({__raw_opCode:c,checkBit:o,type:"Attr",attrValue:s,attrName:h,sanitizeFn:f});break;case 0:r.push({__raw_opCode:c,checkBit:o,type:"Text",nodeIndex:u,text:s});break;case 2:d=n[p=e[++l]];var m=new lo(c,t,u,"IcuSwitch");m.tIcuIndex=p,m.checkBit=o,m.mainBinding=s,m.tIcu=d,r.push(m);break;case 3:d=n[p=e[++l]],(m=new lo(c,t,u,"IcuUpdate")).tIcuIndex=p,m.checkBit=o,m.tIcu=d,r.push(m)}}}i+=a}return r},enumerable:!0,configurable:!0})}();function co(t,e){we(t,t[Vt],on(),e),fn(e)}var uo=Promise.resolve(null);function po(t){var e=t[Vt],n=nn(t);if(e.firstTemplatePass=!1,t[qt]=e.bindingStartIndex,!n){var r=on();we(t,e,r,void 0),function(t){for(var e=t[$t];null!==e;e=e[Ht])if(-1===e[oe]&&ue(e))for(var n=le;n=0?n[s]():n[-s].unsubscribe(),r+=2}else{var l=n[e[r+1]];e[r].call(l)}t[Wt]=null}}(t);var e=t[Gt];e&&3===e.type&&rr(t[Xt])&&t[Xt].destroy();var n=t[ee];if(null!==n&&ue(t[zt])){n!==t[zt]&&Ko(n,t);var r=t[Ut];null!==r&&r.detachView(t[Vt])}}}function $o(t,e,n,r){rr(t)?t.insertBefore(e,n,r):e.insertBefore(n,r,!0)}function Jo(t,e){return rr(t)?t.parentNode(e):e.parentNode}function ta(t,e,n){var r=Jo(t,e);r&&function(t,e,n,r){rr(t)?t.removeChild(e,n,r):e.removeChild(n)}(t,r,e,n)}function ea(t,e,n,r,i){for(var o=n[Vt],a=o.node.child;null!==a;)na(t,e,n,a,r,i),a=a.next}function na(t,e,n,r,i,o){var a=r.type;32&r.flags||(4===a||5===a?function(t,e,n,r,i,o){Yo(e,t,i,n[r.index],o);for(var a=r.child;a;)na(t,e,n,a,i,o),a=a.next}(t,e,n,r,i,o):1===a?function(t,e,n,r,i,o){var a=pr(n),s=a[Gt],l=s.projection[r.projection];if(void 0!==l)if(Array.isArray(l))for(var c=0;c-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Qo(this._lView)},t.prototype.onDestroy=function(t){var e,n;e=this._lView,n=t,Ho(e).push(n),e[Vt].firstTemplatePass&&Uo(e).push(e[Wt].length-1,null)},t.prototype.markForCheck=function(){Ro(this._lView)},t.prototype.detach=function(){this._lView[Bt]&=-129},t.prototype.reattach=function(){this._lView[Bt]|=128},t.prototype.detectChanges=function(){No(this._lView,this.context)},t.prototype.checkNoChanges=function(){Lo(this._lView,this.context)},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t.prototype.detachFromAppRef=function(){this._appRef=null,function(t){ea(t[Xt],1,t,null,null)}(this._lView)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype._lookUpContext=function(){return this._context=cr(this._lView)[this._componentIndex]},t}(),oa=function(t){function e(e){var n=t.call(this,e,null,-1)||this;return n._view=e,n}return Object(r.c)(e,t),e.prototype.detectChanges=function(){Fo(this._view)},e.prototype.checkNoChanges=function(){!function(t){an(!0);try{Fo(t)}finally{an(!1)}}(this._view)},Object.defineProperty(e.prototype,"context",{get:function(){return null},enumerable:!0,configurable:!0}),e}(ia);function aa(t,e,n){return ra||(ra=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(t)),new ra(Ie(e,n))}var sa=function(){function t(){}return t.__NG_ELEMENT_ID__=function(){return ca()},t}(),la=function(){for(var t=[],e=0;e0){var n=new Array(e).fill("?");throw new Error("Can't resolve all parameters for "+T(t)+": ("+n.join(", ")+").")}var r=(i=t,i&&i[A]?(console.warn('DEPRECATED: DI is instantiating a token "'+i.name+'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "'+i.name+'" class.'),i[A]):null);var i;return null!==r?function(){return r.factory(t)}:function(){return new t}}(t);throw new Error("unreachable")}function Ia(t,e,n){var i,o=void 0;if(Na(t))return Pa(R(t));if(Ma(t))o=function(){return R(t.useValue)};else if((i=t)&&i.useExisting)o=function(){return et(R(t.useExisting))};else if(function(t){return!(!t||!t.useFactory)}(t))o=function(){return t.useFactory.apply(t,Object(r.g)(it(t.deps||[])))};else{var a=R(t&&(t.useClass||t.provide));if(a||function(t,e,n){var r="";throw t&&e&&(r=" - only instances of Provider and Type are allowed, got: ["+e.map((function(t){return t==n?"?"+n+"?":"..."})).join(", ")+"]"),new Error("Invalid provider for the NgModule '"+T(t)+"'"+r)}(e,n,t),!function(t){return!!t.deps}(t))return Pa(a);o=function(){return new(a.bind.apply(a,Object(r.g)([void 0],it(t.deps))))}}return o}function Ra(t,e,n){return void 0===n&&(n=!1),{factory:t,value:e,multi:n?[]:void 0}}function Ma(t){return null!==t&&"object"==typeof t&&X in t}function Na(t){return"function"==typeof t}var Fa=function(t,e,n){return new Ga(t,e,n)},La=function(){function t(){}return t.create=function(t,e){return Array.isArray(t)?Fa(t,e,""):Fa(t.providers,t.parent,t.name||"")},t.THROW_IF_NOT_FOUND=G,t.NULL=new ot,t.ngInjectableDef=O({token:t,providedIn:"any",factory:function(){return et(U)}}),t.__NG_ELEMENT_ID__=-1,t}(),Va=function(t){return t},Ba=[],za=Va,Ha=function(){return Array.prototype.slice.call(arguments)},Ua="ɵ",Ga=function(){function t(t,e,n){void 0===e&&(e=La.NULL),void 0===n&&(n=null),this.parent=e,this.source=n;var r=this._records=new Map;r.set(La,{token:La,fn:Va,deps:Ba,value:this,useNew:!1}),r.set(U,{token:U,fn:Va,deps:Ba,value:this,useNew:!1}),function t(e,n){if(n)if((n=R(n))instanceof Array)for(var r=0;r1?" ("+function(t){for(var e=[],n=0;n-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map((function(t){return T(t.token)})).join(" -> ")+")":""}function Qa(t,e,n,r){var i=[e],o=n(i),a=r?function(t,e){var n=t+" caused by: "+(e instanceof Error?e.message:e),r=Error(n);return r[Tr]=e,r}(o,r):Error(o);return a.addKey=Xa,a.keys=i,a.injectors=[t],a.constructResolvingMessage=n,a[Tr]=r,a}function Xa(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function Za(t,e){for(var n=[],r=0,i=e.length;r=this._providers.length)throw function(t){return Error("Index "+t+" is out-of-bounds.")}(t);return this._providers[t]},t.prototype._new=function(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw e=this,n=t.key,Qa(e,n,(function(t){return"Cannot instantiate cyclic dependency!"+Ka(t)}));var e,n;return this._instantiateProvider(t)},t.prototype._getMaxNumberOfObjects=function(){return this.objs.length},t.prototype._instantiateProvider=function(t){if(t.multiProvider){for(var e=new Array(t.resolvedFactories.length),n=0;n=2&&r[i-2]===e.hostBindings?r[i-1]=r[i-1]+n:r.push(e.hostBindings,n)}(n,Be,t),function(t,e,n){for(var r=0;r0&&(r=n?Yn(t,((i=e)&&"string"!=typeof i&&(i=Object.keys(i).join(" ")),i||"")):Yn(t,function(t){var e="";if(t)for(var n=Object.keys(t),r=0;r0}function Bs(t){return!!t&&"function"==typeof t.then}function zs(t){return!!t&&"function"==typeof t.subscribe}function Hs(t){var e=Ks(t);return void 0===e.component&&(e.component=function(t,e){var n=e[Vt].data[t],r=n.directiveStart;return 1&n.flags?e[r]:null}(e.nodeIndex,e.lView)),e.component}function Us(t){return Ks(t).lView[Yt]}function Gs(t){for(var e,n=Ws(t).lView;null===n[Lt]&&(e=cr(n));)n=e;return 512&n[Bt]?null:n[Yt]}function qs(t){var e=Ws(t),n=e.lView[Vt].data[e.nodeIndex];return new Ar(n,e.lView)}function Ws(t,e){void 0===e&&(e=!0);var n=xi(t);if(!n&&e)throw new Error("Invalid ng target");return n}function Ys(t){var e=Ws(t);return void 0===e.localRefs&&(e.localRefs=function(t,e){var n=t[Vt].data[e];if(n&&n.localNames){for(var r={},i=n.index+1,o=0;o=0)&&null;t==u&&o.push({element:t,name:c,callback:p,useCapture:h})}}return o.sort(Zs),o}function Zs(t,e){return t.name==e.name?0:t.name-1}(r,i.providedIn)||"root"===i.providedIn&&r._def.isRoot))){var u=t._providers.length;return t._def.providers[u]=t._def.providersByKey[e.tokenKey]={flags:5120,value:l.factory,deps:[],index:u,token:e.token},t._providers[u]=Nc,t._providers[u]=Uc(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{$(o)}}function Uc(t,e){var n;switch(201347067&e.flags){case 512:n=function(t,e,n){var i=n.length;switch(i){case 0:return new e;case 1:return new e(Hc(t,n[0]));case 2:return new e(Hc(t,n[0]),Hc(t,n[1]));case 3:return new e(Hc(t,n[0]),Hc(t,n[1]),Hc(t,n[2]));default:for(var o=new Array(i),a=0;a0?i[n-1]:null,r)}function qc(t,e){var n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,gt(n,e),Zl.dirtyParentQueries(r),Yc(r),r}function Wc(t,e,n){var r=e?fc(e,e.def.lastRenderRootNode):t.renderElement,i=n.renderer.parentNode(r),o=n.renderer.nextSibling(r);Cc(n,2,i,o,void 0)}function Yc(t){Cc(t,3,null,null,void 0)}var Kc=new Object;function Qc(t,e,n,r,i,o){return new Xc(t,e,n,r,i,o)}var Xc=function(t){function e(e,n,r,i,o,a){var s=t.call(this)||this;return s.selector=e,s.componentType=n,s._inputs=i,s._outputs=o,s.ngContentSelectors=a,s.viewDefFactory=r,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e){var r=e[n];t.push({propName:n,templateName:r})}return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs){var n=this._outputs[e];t.push({propName:e,templateName:n})}return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=xc(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,a=Zl.createRootView(t,e||[],n,i,r,Kc),s=Kl(a,o).instance;return n&&a.renderer.setAttribute(Yl(a,0).renderElement,"ng-version",_l.full),new Zc(a,new eu(a),s)},e}(il),Zc=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new hl(Yl(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new ou(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(rl);function $c(t,e,n){return new Jc(t,e,n)}var Jc=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new hl(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new ou(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=hc(t),t=t.parent;return t?new ou(t,e):new ou(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=qc(this._data,t);Zl.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new eu(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof ul||(i=o.get(pt));var a=t.create(o,r,void 0,i);return this.insert(a.hostView,e),a},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n=t,r=n._view;return Gc(this._view,this._data,e,r),n.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,a,s=this._embeddedViews.indexOf(t._view);return n=this._data,r=s,i=e,o=n.viewContainer._embeddedViews,a=o[r],gt(o,r),null==i&&(i=o.length),mt(o,i,a),Zl.dirtyParentQueries(a),Yc(a),Wc(n,i>0?o[i-1]:null,a),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=qc(this._data,t);e&&Zl.destroyView(e)},t.prototype.detach=function(t){var e=qc(this._data,t);return e?new eu(e):null},t}();function tu(t){return new eu(t)}var eu=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return Cc(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){cc(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{Zl.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){Zl.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Zl.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,Yc(this._view),Zl.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function nu(t,e){return new ru(t,e)}var ru=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.c)(e,t),e.prototype.createEmbeddedView=function(t){return new eu(Zl.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new hl(Yl(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(Fl);function iu(t,e){return new ou(t,e)}var ou=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){void 0===e&&(e=La.THROW_IF_NOT_FOUND);var n=!!this.elDef&&0!=(33554432&this.elDef.flags);return Zl.resolveDep(this.view,this.elDef,n,{flags:0,token:t,tokenKey:tc(t)},e)},t}();function au(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=Yl(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return Wl(t,n.nodeIndex).renderText;if(20240&n.flags)return Kl(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function su(t){return new lu(t.renderer)}var lu=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Object(r.f)(Ac(e),2),i=n[0],o=n[1],a=this.delegate.createElement(o,i);return t&&this.delegate.appendChild(t,a),a},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,r=ju(t,e.parent,n,e.provider.value,e.provider.deps);if(e.outputs.length)for(var i=0;i0,i=e.provider;switch(201347067&e.flags){case 512:return ju(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,o){var a=o.length;switch(a){case 0:return i();case 1:return i(Du(t,e,n,o[0]));case 2:return i(Du(t,e,n,o[0]),Du(t,e,n,o[1]));case 3:return i(Du(t,e,n,o[0]),Du(t,e,n,o[1]),Du(t,e,n,o[2]));default:for(var s=Array(a),l=0;l0&&(i=setTimeout((function(){r._callbacks=r._callbacks.filter((function(t){return t.timeoutId!==i})),t(r._didWork,r.getPendingTasks())}),e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})},t.prototype.whenStable=function(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findProviders=function(t,e,n){return[]},t=Object(r.b)([xa(),Object(r.d)("design:paramtypes",[Qp])],t)}(),rd=function(){function t(){this._applications=new Map,ad.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.unregisterApplication=function(t){this._applications.delete(t)},t.prototype.unregisterAllApplications=function(){this._applications.clear()},t.prototype.getTestability=function(t){return this._applications.get(t)||null},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),ad.findTestabilityInTree(this,t,e)},t=Object(r.b)([xa(),Object(r.d)("design:paramtypes",[])],t)}();function id(t){ad=t}var od,ad=new(function(){function t(){}return t.prototype.addToWindow=function(t){},t.prototype.findTestabilityInTree=function(t,e,n){return null},t}()),sd=function(t,e,n){return t.get(zp).createCompiler([e]).compileModuleAsync(n)};var ld=function(t){return t instanceof ul};var cd=new H("AllowMultipleToken"),ud=function(t,e){this.name=t,this.token=e};function pd(t,e,n){void 0===n&&(n=[]);var r="Platform: "+e,i=new H(r);return function(e){void 0===e&&(e=[]);var o=dd();if(!o||o.injector.get(cd,!1))if(t)t(n.concat(e).concat({provide:i,useValue:!0}));else{var a=n.concat(e).concat({provide:i,useValue:!0});!function(t){if(od&&!od.destroyed&&!od.injector.get(cd,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");od=t.get(hd);var e=t.get(Cp,null);e&&e.forEach((function(t){return t()}))}(La.create({providers:a,name:r}))}return function(t){var e=dd();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(i)}}function dd(){return od&&!od.destroyed?od:null}var hd=function(){function t(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return t.prototype.bootstrapModuleFactory=function(t,e){var n=this,r=function(t){var e;e="noop"===t?new ed:("zone.js"===t?void 0:t)||new Qp({enableLongStackTrace:Vr()});return e}(e?e.ngZone:void 0),i=[{provide:Qp,useValue:r}];return r.run((function(){var e=La.create({providers:i,parent:n.injector,name:t.moduleType.name}),o=t.create(e),a=o.injector.get(Nr,null);if(!a)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");Tp&&Ku(o.injector.get(jp,Yu)||Yu);return o.onDestroy((function(){return gd(n._modules,o)})),r.runOutsideAngular((function(){return r.onError.subscribe({next:function(t){a.handleError(t)}})})),function(t,e,n){try{var r=n();return Bs(r)?r.catch((function(n){throw e.runOutsideAngular((function(){return t.handleError(n)})),n})):r}catch(i){throw e.runOutsideAngular((function(){return t.handleError(i)})),i}}(a,r,(function(){var t=o.injector.get(vp);return t.runInitializers(),t.donePromise.then((function(){return n._moduleDoBootstrap(o),o}))}))}))},t.prototype.bootstrapModule=function(t,e){var n=this;void 0===e&&(e=[]);var r=fd({},e);return sd(this.injector,r,t).then((function(t){return n.bootstrapModuleFactory(t,r)}))},t.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(md);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach((function(t){return e.bootstrap(t)}));else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+T(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach((function(t){return t.destroy()})),this._destroyListeners.forEach((function(t){return t()})),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t=Object(r.b)([xa(),Object(r.d)("design:paramtypes",[La])],t)}();function fd(t,e){return t=Array.isArray(e)?e.reduce(fd,t):Object(r.a)({},t,e)}var md=function(){function t(t,e,n,r,i,o){var c=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=Vr(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run((function(){c.tick()}))}});var u=new a.a((function(t){c._stable=c._zone.isStable&&!c._zone.hasPendingMacrotasks&&!c._zone.hasPendingMicrotasks,c._zone.runOutsideAngular((function(){t.next(c._stable),t.complete()}))})),p=new a.a((function(t){var e;c._zone.runOutsideAngular((function(){e=c._zone.onStable.subscribe((function(){Qp.assertNotInAngularZone(),Kp((function(){c._stable||c._zone.hasPendingMacrotasks||c._zone.hasPendingMicrotasks||(c._stable=!0,t.next(!0))}))}))}));var n=c._zone.onUnstable.subscribe((function(){Qp.assertInAngularZone(),c._stable&&(c._stable=!1,c._zone.runOutsideAngular((function(){t.next(!1)})))}));return function(){e.unsubscribe(),n.unsubscribe()}}));this.isStable=Object(s.a)(u,p.pipe(Object(l.a)()))}var e;return e=t,t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof il?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=ld(n)?null:this._injector.get(pt),o=e||n.selector,a=n.create(La.NULL,[],o,i);a.onDestroy((function(){r._unloadComponent(a)}));var s=a.injector.get(nd,null);return s&&a.injector.get(rd).registerApplication(a.location.nativeElement,s),this._loadComponent(a),Vr()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),a},t.prototype.tick=function(){var t,n,i,o,a=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var s=e._tickScope();try{this._runningTick=!0;try{for(var l=Object(r.h)(this._views),c=l.next();!c.done;c=l.next()){c.value.detectChanges()}}catch(d){t={error:d}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}if(this._enforceNoNewChanges)try{for(var u=Object(r.h)(this._views),p=u.next();!p.done;p=u.next()){p.value.checkNoChanges()}}catch(h){i={error:h}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(i)throw i.error}}}catch(f){this._zone.runOutsideAngular((function(){return a._exceptionHandler.handleError(f)}))}finally{this._runningTick=!1,Wp(s)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;gd(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ep,[]).concat(this._bootstrapListeners).forEach((function(e){return e(t)}))},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),gd(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach((function(t){return t.destroy()}))},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=qp("ApplicationRef#tick()"),t=e=Object(r.b)([xa(),Object(r.d)("design:paramtypes",[Qp,kp,La,Nr,ll,vp])],t)}();function gd(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var yd=function(){};var vd=function(){},bd={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},_d=function(){function t(t,e){this._compiler=t,this._config=e||bd}return t.prototype.load=function(t){return!Tp&&this._compiler instanceof Vp?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,i=Object(r.f)(t.split("#"),2),o=i[0],a=i[1];return void 0===a&&(a="default"),n("crnd")(o).then((function(t){return t[a]})).then((function(t){return wd(t,o,a)})).then((function(t){return e._compiler.compileModuleAsync(t)}))},t.prototype.loadFactory=function(t){var e=Object(r.f)(t.split("#"),2),i=e[0],o=e[1],a="NgFactory";return void 0===o&&(o="default",a=""),n("crnd")(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then((function(t){return t[o+a]})).then((function(t){return wd(t,i,o)}))},t=Object(r.b)([xa(),Object(r.e)(1,v()),Object(r.d)("design:paramtypes",[Vp,vd])],t)}();function wd(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var xd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(sa)),Cd=function(t,e){this.name=t,this.callback=e},Od=function(){function t(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof Ed&&e.addChild(this)}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),Ed=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.c)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,i=this,o=this.childNodes.indexOf(t);-1!==o&&((n=this.childNodes).splice.apply(n,Object(r.g)([o+1,0],e)),e.forEach((function(e){e.parent&&e.parent.removeChild(e),t.parent=i})))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return Sd(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return kd(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter((function(t){return t instanceof e}))},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach((function(n){n.name==t&&n.callback(e)}))},e}(Od);function Sd(t,e,n){t.childNodes.forEach((function(t){t instanceof Ed&&(e(t)&&n.push(t),Sd(t,e,n))}))}function kd(t,e,n){t instanceof Ed&&t.childNodes.forEach((function(t){e(t)&&n.push(t),t instanceof Ed&&kd(t,e,n)}))}var jd=function(){function t(t){this.nativeNode=t}return Object.defineProperty(t.prototype,"parent",{get:function(){var t=this.nativeNode.parentNode;return t?new Ad(t):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return qs(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){var t=this.nativeNode;return t&&(Hs(t)||Gs(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return Hs(this.nativeNode)||Us(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"listeners",{get:function(){return Xs(this.nativeNode).filter(Qs)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return Ys(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return function(t){var e=Ws(t,!1);if(!e)return[];for(var n,r=e.lView[Vt],i=r.data[e.nodeIndex],o=[],a=65535&i.providerIndexes,s=i.directiveEnd,l=a;l0)c=m,ph(m)||(u=m);else for(;c&&f===c.nodeIndex+c.childCount;){var b=c.parent;b&&(b.childFlags|=c.childFlags,b.childMatchedQueries|=c.childMatchedQueries),u=(c=b)&&ph(c)?c.renderParent:c}}return{factory:null,nodeFlags:a,rootNodeFlags:s,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||$l,updateRenderer:r||$l,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:h}}function ph(t){return 0!=(1&t.flags)&&null===t.element.name}function dh(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function hh(t,e,n,r){var i=gh(t.root,t.renderer,t,e,n);return yh(i,t.component,r),vh(i),i}function fh(t,e,n){var r=gh(t,t.renderer,null,null,e);return yh(r,n,n),vh(r),r}function mh(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,gh(t.root,i,t,e.element.componentProvider,n)}function gh(t,e,n,r,i){var o=new Array(i.nodes.length),a=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:a,initIndex:-1}}function yh(t,e,n){t.component=e,t.context=n}function vh(t){var e;if(mc(t)){var n=t.parentNodeDef;e=Yl(t.parent,n.parent.nodeIndex).renderElement}for(var r=t.def,i=t.nodes,o=0;o0&&Qd(t,e,0,n)&&(h=!0),d>1&&Qd(t,e,1,r)&&(h=!0),d>2&&Qd(t,e,2,i)&&(h=!0),d>3&&Qd(t,e,3,o)&&(h=!0),d>4&&Qd(t,e,4,a)&&(h=!0),d>5&&Qd(t,e,5,s)&&(h=!0),d>6&&Qd(t,e,6,l)&&(h=!0),d>7&&Qd(t,e,7,c)&&(h=!0),d>8&&Qd(t,e,8,u)&&(h=!0),d>9&&Qd(t,e,9,p)&&(h=!0),h}(t,e,n,r,i,o,a,s,l,c,u,p);case 2:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=!1,h=e.bindings,f=h.length;if(f>0&&sc(t,e,0,n)&&(d=!0),f>1&&sc(t,e,1,r)&&(d=!0),f>2&&sc(t,e,2,i)&&(d=!0),f>3&&sc(t,e,3,o)&&(d=!0),f>4&&sc(t,e,4,a)&&(d=!0),f>5&&sc(t,e,5,s)&&(d=!0),f>6&&sc(t,e,6,l)&&(d=!0),f>7&&sc(t,e,7,c)&&(d=!0),f>8&&sc(t,e,8,u)&&(d=!0),f>9&&sc(t,e,9,p)&&(d=!0),d){var m=e.text.prefix;f>0&&(m+=ch(n,h[0])),f>1&&(m+=ch(r,h[1])),f>2&&(m+=ch(i,h[2])),f>3&&(m+=ch(o,h[3])),f>4&&(m+=ch(a,h[4])),f>5&&(m+=ch(s,h[5])),f>6&&(m+=ch(l,h[6])),f>7&&(m+=ch(c,h[7])),f>8&&(m+=ch(u,h[8])),f>9&&(m+=ch(p,h[9]));var g=Wl(t,e.nodeIndex).renderText;t.renderer.setValue(g,m)}return d}(t,e,n,r,i,o,a,s,l,c,u,p);case 16384:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=Kl(t,e.nodeIndex),h=d.instance,f=!1,m=void 0,g=e.bindings.length;return g>0&&ac(t,e,0,n)&&(f=!0,m=Pu(t,d,e,0,n,m)),g>1&&ac(t,e,1,r)&&(f=!0,m=Pu(t,d,e,1,r,m)),g>2&&ac(t,e,2,i)&&(f=!0,m=Pu(t,d,e,2,i,m)),g>3&&ac(t,e,3,o)&&(f=!0,m=Pu(t,d,e,3,o,m)),g>4&&ac(t,e,4,a)&&(f=!0,m=Pu(t,d,e,4,a,m)),g>5&&ac(t,e,5,s)&&(f=!0,m=Pu(t,d,e,5,s,m)),g>6&&ac(t,e,6,l)&&(f=!0,m=Pu(t,d,e,6,l,m)),g>7&&ac(t,e,7,c)&&(f=!0,m=Pu(t,d,e,7,c,m)),g>8&&ac(t,e,8,u)&&(f=!0,m=Pu(t,d,e,8,u,m)),g>9&&ac(t,e,9,p)&&(f=!0,m=Pu(t,d,e,9,p,m)),m&&h.ngOnChanges(m),65536&e.flags&&ql(t,256,e.nodeIndex)&&h.ngOnInit(),262144&e.flags&&h.ngDoCheck(),f}(t,e,n,r,i,o,a,s,l,c,u,p);case 32:case 64:case 128:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=e.bindings,h=!1,f=d.length;if(f>0&&sc(t,e,0,n)&&(h=!0),f>1&&sc(t,e,1,r)&&(h=!0),f>2&&sc(t,e,2,i)&&(h=!0),f>3&&sc(t,e,3,o)&&(h=!0),f>4&&sc(t,e,4,a)&&(h=!0),f>5&&sc(t,e,5,s)&&(h=!0),f>6&&sc(t,e,6,l)&&(h=!0),f>7&&sc(t,e,7,c)&&(h=!0),f>8&&sc(t,e,8,u)&&(h=!0),f>9&&sc(t,e,9,p)&&(h=!0),h){var m=Ql(t,e.nodeIndex),g=void 0;switch(201347067&e.flags){case 32:g=new Array(d.length),f>0&&(g[0]=n),f>1&&(g[1]=r),f>2&&(g[2]=i),f>3&&(g[3]=o),f>4&&(g[4]=a),f>5&&(g[5]=s),f>6&&(g[6]=l),f>7&&(g[7]=c),f>8&&(g[8]=u),f>9&&(g[9]=p);break;case 64:g={},f>0&&(g[d[0].name]=n),f>1&&(g[d[1].name]=r),f>2&&(g[d[2].name]=i),f>3&&(g[d[3].name]=o),f>4&&(g[d[4].name]=a),f>5&&(g[d[5].name]=s),f>6&&(g[d[6].name]=l),f>7&&(g[d[7].name]=c),f>8&&(g[d[8].name]=u),f>9&&(g[d[9].name]=p);break;case 128:var y=n;switch(f){case 1:g=y.transform(n);break;case 2:g=y.transform(r);break;case 3:g=y.transform(r,i);break;case 4:g=y.transform(r,i,o);break;case 5:g=y.transform(r,i,o,a);break;case 6:g=y.transform(r,i,o,a,s);break;case 7:g=y.transform(r,i,o,a,s,l);break;case 8:g=y.transform(r,i,o,a,s,l,c);break;case 9:g=y.transform(r,i,o,a,s,l,c,u);break;case 10:g=y.transform(r,i,o,a,s,l,c,u,p)}}m.value=g}return h}(t,e,n,r,i,o,a,s,l,c,u,p);default:throw"unreachable"}}(t,e,i,o,a,s,l,c,u,p,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&lc(t,e,0,n);d>1&&lc(t,e,1,r);d>2&&lc(t,e,2,i);d>3&&lc(t,e,3,o);d>4&&lc(t,e,4,a);d>5&&lc(t,e,5,s);d>6&&lc(t,e,6,l);d>7&&lc(t,e,7,c);d>8&&lc(t,e,8,u);d>9&&lc(t,e,9,p)}(t,e,r,i,o,a,s,l,c,u,p,d):function(t,e,n){for(var r=0;r0){var o=new Set(t.modules);Gh.forEach((function(e,n){if(o.has(k(n).providedIn)){var i={token:n,flags:e.flags|(r?4096:0),deps:bc(e.deps),value:e.value,index:t.providers.length};t.providers.push(i),t.providersByKey[tc(n)]=i}}))}}(t=t.factory((function(){return $l}))),t}(r))}var Vh,Bh,zh,Hh,Uh=new Map,Gh=new Map,qh=new Map;function Wh(t){var e;Uh.set(t.token,t),"function"==typeof t.token&&(e=k(t.token))&&"function"==typeof e.providedIn&&Gh.set(t.token,t)}function Yh(t,e){var n=xc(e.viewDefFactory),r=xc(n.nodes[0].element.componentView);qh.set(t,r)}function Kh(){Uh.clear(),Gh.clear(),qh.clear()}function Qh(t){if(0===Uh.size)return t;var e=function(t){for(var e=[],n=null,r=0;r\r\n \r\n \r\n --\r\n \r\n {{minion.name}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{ \'SET_STATUS\' | translate}}\r\n \r\n \r\n --\r\n {{ \'ON\' | translate }}\r\n {{ \'OFF\' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'SET_PROPERTIES\' | translate}}\r\n\r\n \x3c!-- AC properties --\x3e\r\n \r\n \r\n \r\n {{ \'HOT\' | translate}} \r\n {{ \'COLD\' | translate}} \r\n {{ \'DRY\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{temperature}}°

\r\n \r\n \r\n
\r\n\r\n \x3c!-- light properties --\x3e\r\n \r\n

{{\'BRIGTNESS\' | translate}}: {{brightness}}%

\r\n \r\n \r\n
\r\n\r\n \x3c!-- temperature light properties --\x3e\r\n \r\n

{{\'BRIGTNESS\' | translate}}: {{brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{temperature}}%

\r\n \r\n \r\n
\r\n\r\n \x3c!-- color light properties --\x3e\r\n \r\n

{{\'BRIGTNESS\' | translate}}: {{brightness}}%

\r\n \r\n \r\n

{{\'TEMERATURE\' | translate}}: {{temperature}}%

\r\n \r\n \r\n

{{\'RED\' | translate}}: {{red}}

\r\n \r\n \r\n

{{\'GREEN\' | translate}}: {{green}}

\r\n \r\n \r\n

{{\'BLUE\' | translate}}: {{blue}}

\r\n \r\n \r\n
\r\n\r\n \x3c!-- roller properties --\x3e\r\n \r\n \r\n \r\n arrow_upward\r\n \r\n \r\n arrow_downward\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_ACTIVITY_MESSAGE\' | translate}}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n'},Fxb1:function(t,e,n){"use strict";var r=n("+tJ4"),i=n("DKTb"),o=n("En8+"),a=n("xTla"),s=n("2ePl"),l=n("/WYv"),c=n("McSo");n.d(e,"a",(function(){return u}));var u=function(t){if(t&&"function"==typeof t[a.a])return u=t,function(t){var e=u[a.a]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Object(s.a)(t))return Object(r.a)(t);if(Object(l.a)(t))return n=t,function(t){return n.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,i.a),t};if(t&&"function"==typeof t[o.a])return e=t,function(t){for(var n=e[o.a]();;){var r=n.next();if(r.done){t.complete();break}if(t.next(r.value),t.closed)break}return"function"==typeof n.return&&t.add((function(){n.return&&n.return()})),t};var e,n,u,p=Object(c.a)(t)?"an invalid object":"'"+t+"'";throw new TypeError("You provided "+p+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")}},Fzqc:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"a",(function(){return l}));var r=n("Ip0R"),i=n("CcnG"),o=new i.E("cdk-dir-doc",{providedIn:"root",factory:function(){return Object(i.xb)(r.c)}});var a=function(){function t(t){if(this.value="ltr",this.change=new i.x,t){var e=t.body?t.body.dir:null,n=t.documentElement?t.documentElement.dir:null,r=e||n;this.value="ltr"===r||"rtl"===r?r:"ltr"}}return t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.R},{type:i.C,args:[o]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(o,8))},token:t,providedIn:"root"}),t}(),s=function(){function t(){this._dir="ltr",this._isInitialized=!1,this.change=new i.x}return Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir},set:function(t){var e=this._dir,n=t?t.toLowerCase():t;this._rawDir=t,this._dir="ltr"===n||"rtl"===n?n:"ltr",e!==this._dir&&this._isInitialized&&this.change.emit(this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.dir},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._isInitialized=!0},t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.t,args:[{selector:"[dir]",providers:[{provide:a,useExisting:t}],host:{"[attr.dir]":"_rawDir"},exportAs:"dir"}]}],t.propDecorators={change:[{type:i.S,args:["dirChange"]}],dir:[{type:i.G}]},t}(),l=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[s],declarations:[s]}]}],t}()},G5J1:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return o}));var r=n("6blF"),i=new r.a((function(t){return t.complete()}));function o(t){return t?function(t){return new r.a((function(e){return t.schedule((function(){return e.complete()}))}))}(t):i}},Gi3i:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n("mrSG"),i=n("FFOo"),o=n("T1DM");function a(t,e){return void 0===e&&(e=o.a),function(n){return n.lift(new s(t,e))}}var s=function(){function t(t,e){this.dueTime=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.dueTime,this.scheduler))},t}(),l=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.dueTime=n,i.scheduler=r,i.debouncedSubscription=null,i.lastValue=null,i.hasValue=!1,i}return r.c(e,t),e.prototype._next=function(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(c,this.dueTime,this))},e.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},e.prototype.debouncedNext=function(){if(this.clearDebounce(),this.hasValue){var t=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}},e.prototype.clearDebounce=function(){var t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)},e}(i.a);function c(t){t.debouncedNext()}},Gwao:function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},f=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isMinionsRetrived=!1,this.minions=[],this.minionsFeed=new i.a(this.minions),this.retriveData()}return t.prototype.getCommandsRepoAvailableDevices=function(){return p(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/rf/devices",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[2,null];case 3:return[2]}}))}))},t.prototype.fetchDeviceCommandsToMinion=function(t,e){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.httpClient.put(l.a.baseUrl+"/rf/fetch-commands/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[2]}}))}))},t.prototype.recordCommand=function(t,e){return p(this,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/record/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}}))}))},t.prototype.generateCommand=function(t,e){return p(this,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/generate/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}}))}))},t.prototype.refreshMinions=function(t){return p(this,void 0,void 0,(function(){var e;return d(this,(function(n){switch(n.label){case 0:this.minionsServerFeed&&this.minionsServerFeed.close(),this.minions=[],n.label=1;case 1:return n.trys.push([1,5,,6]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan",{},{params:(new o.c).set("scanNetwork",t),withCredentials:!0}).toPromise()];case 2:return n.sent(),[4,this.waitForMinionsScanning()];case 3:return n.sent(),[4,this.loadMinions()];case 4:return n.sent(),[3,6];case 5:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,6];case 6:return[2]}}))}))},t.prototype.waitForMinionsScanning=function(){return p(this,void 0,void 0,(function(){var t,e;return d(this,(function(n){switch(n.label){case 0:n.trys.push([0,5,,6]),t="inProgress",n.label=1;case 1:return"inProgress"!==t?[3,4]:[4,this.httpClient.get(l.a.baseUrl+"/minions/rescan",{withCredentials:!0}).toPromise()];case 2:return e=n.sent(),t=e.scaningStatus,[4,this.sleep(5e3)];case 3:return n.sent(),[3,1];case 4:return[2,t];case 5:return n.sent(),[3,6];case 6:return[2]}}))}))},t.prototype.sleep=function(t){return new Promise((function(e,n){setTimeout((function(){e()}),t)}))},t.prototype.refreshMinion=function(t){return p(this,void 0,void 0,(function(){var e;return d(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan/"+t.minionId,{},{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[4,this.patchMinions()];case 4:return n.sent(),[2]}}))}))},t.prototype.getMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.patchMinions=function(){return p(this,void 0,void 0,(function(){var t,e,n,r,i,o,s;return d(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions",{withCredentials:!0}).toPromise()];case 1:t=c.sent(),this.minions=t;try{for(e=h(this.minions),n=e.next();!n.done;n=e.next())r=n.value,this.loadDefaultStatusValues(r)}catch(u){o={error:u}}finally{try{n&&!n.done&&(s=e.return)&&s.call(e)}finally{if(o)throw o.error}}return this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:return i=c.sent(),this.isMinionsRetrived=!1,this.toastrAndErrorsService.OnHttpError(i),[3,3];case 3:return[2]}}))}))},t.prototype.loadMinions=function(){return p(this,void 0,void 0,(function(){var t=this;return d(this,(function(e){switch(e.label){case 0:return[4,this.patchMinions()];case 1:return e.sent(),this.minionsServerFeed&&this.minionsServerFeed.close(),this.minionsServerFeed=new EventSource(l.a.baseUrl+"/feed/minions",{withCredentials:!0}),this.minionsServerFeed.onmessage=function(e){t.OnMinionFeedUpdate(e)},[2]}}))}))},t.prototype.loadDefaultStatusValues=function(t){t.minionStatus[t.minionType]&&"{}"!==JSON.stringify(t.minionStatus[t.minionType])||(t.minionStatus={airConditioning:{fanStrength:"auto",mode:"auto",status:"off",temperature:16},colorLight:{blue:1,brightness:1,green:1,red:1,status:"off",temperature:1},light:{brightness:1,status:"off"},switch:{status:"off"},roller:{status:"off",direction:"up"},temperatureLight:{brightness:1,status:"off",temperature:1},toggle:{status:"off"}})},t.prototype.retriveMinions=function(){return p(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return this.isMinionsRetrived?[3,2]:(this.isMinionsRetrived=!0,[4,this.loadMinions()]);case 1:t.sent(),t.label=2;case 2:return[2]}}))}))},t.prototype.OnMinionFeedUpdate=function(t){if('"init"'!==t.data){var e=JSON.parse(t.data);switch(e.event){case"update":this.loadDefaultStatusValues(e.minion),(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1),this.minions.push(e.minion);break;case"created":this.loadDefaultStatusValues(e.minion),this.minions.push(e.minion);break;case"removed":var n;(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1)}this.minionsFeed.next(Object(a.a)(this.minions))}},t.prototype.findMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.setStatus=function(t){return p(this,void 0,void 0,(function(){var e,n;return d(this,(function(r){switch(r.label){case 0:e=this.findMinion(t.minionId),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.httpClient.put(l.a.baseUrl+"/minions/"+t.minionId,t.minionStatus,{withCredentials:!0}).toPromise()];case 2:return r.sent(),e.isProperlyCommunicated=!0,e.minionStatus=Object(a.a)(t.minionStatus),[3,4];case 3:return n=r.sent(),e.isProperlyCommunicated=!1,this.toastrAndErrorsService.OnHttpError(n),[3,4];case 4:return this.minionsFeed.next(Object(a.a)(this.minions)),[2]}}))}))},t.prototype.deleteMinion=function(t){return p(this,void 0,void 0,(function(){var e,n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.delete(l.a.baseUrl+"/minions/"+t.minionId,{withCredentials:!0}).toPromise()];case 1:return r.sent(),(e=this.findMinion(t.minionId))&&this.minions.splice(this.minions.indexOf(e),1),this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:throw n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),n;case 3:return[2]}}))}))},t.prototype.createMinion=function(t){return p(this,void 0,void 0,(function(){var e;return d(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions",t,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[2]}}))}))},t.prototype.setAutoTimeout=function(t,e){return p(this,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/timeout/"+t.minionId,{setAutoTurnOffMS:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}}))}))},t.prototype.setCalibrate=function(t,e){return p(this,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/calibrate/"+t.minionId,{calibrationCycleMinutes:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}}))}))},t.prototype.renameMinion=function(t,e){return p(this,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/rename/"+t.minionId,{name:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}}))}))},t.prototype.getTimeline=function(){return p(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions/timeline",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[3,3];case 3:return[2]}}))}))},t.prototype.refreshData=function(){return p(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return[4,this.loadMinions()];case 1:return t.sent(),[2]}}))}))},t.prototype.cleanUp=function(){return p(this,void 0,void 0,(function(){return d(this,(function(t){return this.isMinionsRetrived=!1,this.minions=[],this.minionsServerFeed&&(this.minionsServerFeed.close(),this.minionsServerFeed=null),[2]}))}))},t.prototype.retriveData=function(){return p(this,void 0,void 0,(function(){return d(this,(function(t){return this.retriveMinions(),[2]}))}))},t.ctorParameters=function(){return[{type:s.a},{type:o.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,o.a])],t)}()},HlIG:function(t,e,n){"use strict";n.r(e),e.default='

{{ \'EDIT\' | translate }} {{minion.name}} {{ \'CALIBRATION\' | translate }}

\r\n
\r\n

{{ \'DEFINE_CALIBRATION\' | translate }}

\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
'},IUTb:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n("6blF"),i=n("+tJ4"),o=n("JF+6");function a(t,e){return e?Object(o.a)(t,e):new r.a(Object(i.a)(t))}},Ip0R:function(t,e,n){"use strict";n.d(e,"t",(function(){return ft})),n.d(e,"b",(function(){return Pe})),n.d(e,"h",(function(){return Ot})),n.d(e,"i",(function(){return zt})),n.d(e,"c",(function(){return Re})),n.d(e,"s",(function(){return Me})),n.d(e,"m",(function(){return Fe})),n.d(e,"n",(function(){return Le})),n.d(e,"l",(function(){return Ve})),n.d(e,"p",(function(){return xt})),n.d(e,"o",(function(){return wt})),n.d(e,"r",(function(){return Vt})),n.d(e,"q",(function(){return Lt})),n.d(e,"k",(function(){return o})),n.d(e,"e",(function(){return a})),n.d(e,"g",(function(){return s})),n.d(e,"a",(function(){return l})),n.d(e,"d",(function(){return v})),n.d(e,"j",(function(){return b})),n.d(e,"f",(function(){return c}));var r=n("CcnG"),i=n("mrSG"),o=function(){},a=new r.E("Location Initialized"),s=function(){},l=new r.E("appBaseHref"),c=function(){function t(t,n){var i=this;this._subject=new r.x,this._urlChangeListeners=[],this._platformStrategy=t;var o=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=e.stripTrailingSlash(u(o)),this._platformStrategy.onPopState((function(t){i._subject.emit({url:i.path(!0),pop:!0,state:t.state,type:t.type})}))}var e;return e=t,t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.getState=function(){return this._platformLocation.getState()},t.prototype.isCurrentPathEqualTo=function(t,n){return void 0===n&&(n=""),this.path()==this.normalize(t+e.normalizeQueryParams(n))},t.prototype.normalize=function(t){return e.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,u(t)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.pushState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.replaceState=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.replaceState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.onUrlChange=function(t){var e=this;this._urlChangeListeners.push(t),this.subscribe((function(t){e._notifyUrlChangeListeners(t.url,t.state)}))},t.prototype._notifyUrlChangeListeners=function(t,e){void 0===t&&(t=""),this._urlChangeListeners.forEach((function(n){return n(t,e)}))},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length,r=n-("/"===t[n-1]?1:0);return t.slice(0,r)+t.slice(n)},t=e=Object(i.b)([Object(r.D)(),Object(i.d)("design:paramtypes",[s,o])],t)}();function u(t){return t.replace(/\/index.html$/,"")}var p,d,h,f,m,g,y,v=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=c.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),b=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return c.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),_={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,0],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",0],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",0],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",0],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",0],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",0],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",0],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,0],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UZS:[void 0,void 0,0],VEF:[void 0,"Bs"],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};function w(t,e){return j(Object(r.Sb)(t)[r.Hb.DateFormat],e)}function x(t,e){return j(Object(r.Sb)(t)[r.Hb.TimeFormat],e)}function C(t,e){return j(Object(r.Sb)(t)[r.Hb.DateTimeFormat],e)}function O(t,e){var n=Object(r.Sb)(t),i=n[r.Hb.NumberSymbols][e];if(void 0===i){if(e===g.CurrencyDecimal)return n[r.Hb.NumberSymbols][g.Decimal];if(e===g.CurrencyGroup)return n[r.Hb.NumberSymbols][g.Group]}return i}function E(t,e){return Object(r.Sb)(t)[r.Hb.NumberFormats][e]}!function(t){t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific"}(p||(p={})),function(t){t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other"}(d||(d={})),function(t){t[t.Format=0]="Format",t[t.Standalone=1]="Standalone"}(h||(h={})),function(t){t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short"}(f||(f={})),function(t){t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full"}(m||(m={})),function(t){t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t[1/0]=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup"}(g||(g={})),function(t){t[t.Sunday=0]="Sunday",t[t.Monday=1]="Monday",t[t.Tuesday=2]="Tuesday",t[t.Wednesday=3]="Wednesday",t[t.Thursday=4]="Thursday",t[t.Friday=5]="Friday",t[t.Saturday=6]="Saturday"}(y||(y={}));var S=r.Tb;function k(t){if(!t[r.Hb.ExtraData])throw new Error('Missing extra locale data for the locale "'+t[r.Hb.LocaleId]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function j(t,e){for(var n=e;n>-1;n--)if(void 0!==t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function A(t){var e=Object(i.f)(t.split(":"),2);return{hours:+e[0],minutes:+e[1]}}function D(t,e,n){void 0===n&&(n="en");var i=function(t){return Object(r.Sb)(t)[r.Hb.Currencies]}(n)[t]||_[t]||[],o=i[1];return"narrow"===e&&"string"==typeof o?o:i[0]||t}var T=2;var P,I,R,M=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,N={},F=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function L(t,e,n,o){var a=function(t){if(X(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();var e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var n=Object(i.f)(t.split("-").map((function(t){return+t})),3),r=n[0],o=n[1],a=n[2];return new Date(r,o-1,a)}var s;if(s=t.match(M))return Q(s)}var l=new Date(t);if(!X(l))throw new Error('Unable to convert "'+t+'" into a date');return l}(t);e=function t(e,n){var i=function(t){return Object(r.Sb)(t)[r.Hb.LocaleId]}(e);N[i]=N[i]||{};if(N[i][n])return N[i][n];var o="";switch(n){case"shortDate":o=w(e,m.Short);break;case"mediumDate":o=w(e,m.Medium);break;case"longDate":o=w(e,m.Long);break;case"fullDate":o=w(e,m.Full);break;case"shortTime":o=x(e,m.Short);break;case"mediumTime":o=x(e,m.Medium);break;case"longTime":o=x(e,m.Long);break;case"fullTime":o=x(e,m.Full);break;case"short":var a=t(e,"shortTime"),s=t(e,"shortDate");o=V(C(e,m.Short),[a,s]);break;case"medium":var l=t(e,"mediumTime"),c=t(e,"mediumDate");o=V(C(e,m.Medium),[l,c]);break;case"long":var u=t(e,"longTime"),p=t(e,"longDate");o=V(C(e,m.Long),[u,p]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");o=V(C(e,m.Full),[d,h])}o&&(N[i][n]=o);return o}(n,e)||e;for(var s,l=[];e;){if(!(s=F.exec(e))){l.push(e);break}var c=(l=l.concat(s.slice(1))).pop();if(!c)break;e=c}var u=a.getTimezoneOffset();o&&(u=K(o,u),a=function(t,e,n){var r=n?-1:1,i=t.getTimezoneOffset(),o=K(e,i);return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,r*(o-i))}(a,o,!0));var p="";return l.forEach((function(t){var e=function(t){if(Y[t])return Y[t];var e;switch(t){case"G":case"GG":case"GGG":e=H(R.Eras,f.Abbreviated);break;case"GGGG":e=H(R.Eras,f.Wide);break;case"GGGGG":e=H(R.Eras,f.Narrow);break;case"y":e=z(I.FullYear,1,0,!1,!0);break;case"yy":e=z(I.FullYear,2,0,!0,!0);break;case"yyy":e=z(I.FullYear,3,0,!1,!0);break;case"yyyy":e=z(I.FullYear,4,0,!1,!0);break;case"M":case"L":e=z(I.Month,1,1);break;case"MM":case"LL":e=z(I.Month,2,1);break;case"MMM":e=H(R.Months,f.Abbreviated);break;case"MMMM":e=H(R.Months,f.Wide);break;case"MMMMM":e=H(R.Months,f.Narrow);break;case"LLL":e=H(R.Months,f.Abbreviated,h.Standalone);break;case"LLLL":e=H(R.Months,f.Wide,h.Standalone);break;case"LLLLL":e=H(R.Months,f.Narrow,h.Standalone);break;case"w":e=W(1);break;case"ww":e=W(2);break;case"W":e=W(1,!0);break;case"d":e=z(I.Date,1);break;case"dd":e=z(I.Date,2);break;case"E":case"EE":case"EEE":e=H(R.Days,f.Abbreviated);break;case"EEEE":e=H(R.Days,f.Wide);break;case"EEEEE":e=H(R.Days,f.Narrow);break;case"EEEEEE":e=H(R.Days,f.Short);break;case"a":case"aa":case"aaa":e=H(R.DayPeriods,f.Abbreviated);break;case"aaaa":e=H(R.DayPeriods,f.Wide);break;case"aaaaa":e=H(R.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":e=H(R.DayPeriods,f.Abbreviated,h.Standalone,!0);break;case"bbbb":e=H(R.DayPeriods,f.Wide,h.Standalone,!0);break;case"bbbbb":e=H(R.DayPeriods,f.Narrow,h.Standalone,!0);break;case"B":case"BB":case"BBB":e=H(R.DayPeriods,f.Abbreviated,h.Format,!0);break;case"BBBB":e=H(R.DayPeriods,f.Wide,h.Format,!0);break;case"BBBBB":e=H(R.DayPeriods,f.Narrow,h.Format,!0);break;case"h":e=z(I.Hours,1,-12);break;case"hh":e=z(I.Hours,2,-12);break;case"H":e=z(I.Hours,1);break;case"HH":e=z(I.Hours,2);break;case"m":e=z(I.Minutes,1);break;case"mm":e=z(I.Minutes,2);break;case"s":e=z(I.Seconds,1);break;case"ss":e=z(I.Seconds,2);break;case"S":e=z(I.FractionalSeconds,1);break;case"SS":e=z(I.FractionalSeconds,2);break;case"SSS":e=z(I.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=U(P.Short);break;case"ZZZZZ":e=U(P.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=U(P.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=U(P.Long);break;default:return null}return Y[t]=e,e}(t);p+=e?e(a,n,u):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")})),p}function V(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,(function(t,n){return null!=e&&n in e?e[n]:t}))),t}function B(t,e,n,r,i){void 0===n&&(n="-");var o="";(t<0||i&&t<=0)&&(i?t=1-t:(t=-t,o=n));for(var a=String(t);a.length0||l>-n)&&(l+=n),t===I.Hours)0===l&&-12===n&&(l=12);else if(t===I.FractionalSeconds)return s=e,B(l,3).substr(0,s);var c=O(a,g.MinusSign);return B(l,e,c,r,i)}}function H(t,e,n,i){return void 0===n&&(n=h.Format),void 0===i&&(i=!1),function(o,a){return function(t,e,n,i,o,a){switch(n){case R.Months:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.MonthsFormat],i[r.Hb.MonthsStandalone]],e);return j(o,n)}(e,o,i)[t.getMonth()];case R.Days:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.DaysFormat],i[r.Hb.DaysStandalone]],e);return j(o,n)}(e,o,i)[t.getDay()];case R.DayPeriods:var s=t.getHours(),l=t.getMinutes();if(a){var c,u=function(t){var e=Object(r.Sb)(t);return k(e),(e[r.Hb.ExtraData][2]||[]).map((function(t){return"string"==typeof t?A(t):[A(t[0]),A(t[1])]}))}(e),p=function(t,e,n){var i=Object(r.Sb)(t);k(i);var o=j([i[r.Hb.ExtraData][0],i[r.Hb.ExtraData][1]],e)||[];return j(o,n)||[]}(e,o,i);if(u.forEach((function(t,e){if(Array.isArray(t)){var n=t[0],r=n.hours,i=n.minutes,o=t[1],a=o.hours,u=o.minutes;s>=r&&l>=i&&(s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case P.Short:return(i>=0?"+":"")+B(a,2,o)+B(Math.abs(i%60),2,o);case P.ShortGMT:return"GMT"+(i>=0?"+":"")+B(a,1,o);case P.Long:return"GMT"+(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);case P.Extended:return 0===r?"Z":(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}!function(t){t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended"}(P||(P={})),function(t){t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day"}(I||(I={})),function(t){t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras"}(R||(R={}));var G=0,q=4;function W(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,a,s;if(e){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,c=n.getDate();i=1+Math.floor((c+l)/7)}else{var u=(a=n.getFullYear(),s=new Date(a,G,1).getDay(),new Date(a,0,1+(s<=q?q:q+7)-s)),p=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(q-o.getDay()))).getTime()-u.getTime();i=1+Math.round(p/6048e5)}return B(i,t,O(r,g.MinusSign))}}var Y={};function K(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function Q(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),r=Number(t[9]+t[11])),i.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));var a=Number(t[4]||0)-n,s=Number(t[5]||0)-r,l=Number(t[6]||0),c=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,a,s,l,c),e}function X(t){return t instanceof Date&&!isNaN(t.valueOf())}var Z=/^(\d+)?\.((\d+)(-(\d+))?)?$/,$=22,J=".",tt="0",et=";",nt=",",rt="#",it="¤",ot="%";function at(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s="",l=!1;if(isFinite(t)){var c=function(t){var e,n,r,i,o,a=Math.abs(t)+"",s=0;(n=a.indexOf(J))>-1&&(a=a.replace(J,""));(r=a.search(/e/i))>0?(n<0&&(n=r),n+=+a.slice(r+1),a=a.substring(0,r)):n<0&&(n=a.length);for(r=0;a.charAt(r)===tt;r++);if(r===(o=a.length))e=[0],n=1;else{for(o--;a.charAt(o)===tt;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=Number(a.charAt(r))}n>$&&(e=e.splice(0,$-1),s=n-1,n=1);return{digits:e,exponent:s,integerLen:n}}(t);a&&(c=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2);return t}(c));var u=e.minInt,p=e.minFrac,d=e.maxFrac;if(o){var h=o.match(Z);if(null===h)throw new Error(o+" is not a valid digit info");var f=h[1],m=h[3],y=h[5];null!=f&&(u=ct(f)),null!=m&&(p=ct(m)),null!=y?d=ct(y):null!=m&&p>d&&(d=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),a=o+t.integerLen,s=r[a];if(a>0){r.splice(Math.max(t.integerLen,a));for(var l=a;l=5)if(a-1<0){for(var u=0;u>a;u--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[a-1]++;for(;i=d?r.pop():p=!1),e>=10?1:0}),0);h&&(r.unshift(h),t.integerLen++)}(c,p,d);var v=c.digits,b=c.integerLen,_=c.exponent,w=[];for(l=v.every((function(t){return!t}));b0?w=v.splice(b,v.length):(w=v,v=[0]);var x=[];for(v.length>=e.lgSize&&x.unshift(v.splice(-e.lgSize,v.length).join(""));v.length>e.gSize;)x.unshift(v.splice(-e.gSize,v.length).join(""));v.length&&x.unshift(v.join("")),s=x.join(O(n,r)),w.length&&(s+=O(n,i)+w.join("")),_&&(s+=O(n,g.Exponential)+"+"+_)}else s=O(n,g.Infinity);return s=t<0&&!l?e.negPre+s+e.negSuf:e.posPre+s+e.posSuf}function st(t,e,n,r,i){var o=lt(E(e,p.Currency),O(e,g.MinusSign));return o.minFrac=function(t){var e,n=_[t];return n&&(e=n[2]),"number"==typeof e?e:T}(r),o.maxFrac=o.minFrac,at(t,o,e,g.CurrencyGroup,g.CurrencyDecimal,i).replace(it,n).replace(it,"")}function lt(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(et),i=r[0],o=r[1],a=-1!==i.indexOf(J)?i.split(J):[i.substring(0,i.lastIndexOf(tt)+1),i.substring(i.lastIndexOf(tt)+1)],s=a[0],l=a[1]||"";n.posPre=s.substr(0,s.indexOf(rt));for(var c=0;c-1)return i;if(i=n.getPluralCategory(t,r),e.indexOf(i)>-1)return i;if(e.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+t+'"')}var ht=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(i.c)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):S(e||this.locale)(t)){case d.Zero:return"zero";case d.One:return"one";case d.Two:return"two";case d.Few:return"few";case d.Many:return"many";default:return"other"}},e=Object(i.b)([Object(r.D)(),Object(i.e)(0,Object(r.C)(r.J)),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(ut)),Object(i.d)("design:paramtypes",[String,Object])],e)}(pt);function ft(t,e){var n,r;e=encodeURIComponent(e);try{for(var o=Object(i.h)(t.split(";")),a=o.next();!a.done;a=o.next()){var s=a.value,l=s.indexOf("="),c=Object(i.f)(-1==l?[s,""]:[s.slice(0,l),s.slice(l+1)],2),u=c[0],p=c[1];if(u.trim()===e)return decodeURIComponent(p)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return null}var mt=function(){function t(t,e){this._name=t,this._options=e,this.value=null,this._lastSetValue=null,this._lastSetValueType=0,this._lastSetValueIdentityChange=!1}return t.prototype.setValue=function(t){if(Array.isArray(t))this._lastSetValueType=4;else if(t instanceof Set)this._lastSetValueType=8;else if(t&&"string"==typeof t){if(!(4&this._options))throw new Error(this._name+" string values are not allowed");this._lastSetValueType=1}else this._lastSetValueType=t?2:0;this._lastSetValueIdentityChange=!0,this._lastSetValue=t||null},t.prototype.hasValueChanged=function(){var t=this._lastSetValueIdentityChange;if(!(t||14&this._lastSetValueType))return!1;var e=null,n=!!(1&this._options),r=!!(8&this._options),i=!!(2&this._options);switch(this._lastSetValueType){case 1:var o=this._lastSetValue.split(/\s+/g);16&this._options?(e={},o.forEach((function(t,n){return e[t]=!0}))):e=o.reduce((function(t,e,n){return t+(n?" ":"")+e}));break;case 2:var a=this._lastSetValue,s=Object.keys(a);t||(t=!this.value||function(t,e,n){var r=Object.keys(e),i=t;if(!_t(r,i))return!0;for(var o=0;o0)for(var o=e.split(/\s+/g),a=0;a0){var r=t.substr(n+1);t=t.substring(0,n),null!=e&&(e+=r)}return{key:t,value:e}}(e,n);n=i.value,e=i.key}t[e]=n}function _t(t,e){if(t&&e){if(t.length!==e.length)return!1;for(var n=0;n1?"short":"narrow":"long",n}function re(t){return t.reduce((function(t,e){return Object(i.a)({},t,e)}),{})}function ie(t){return function(e,n){return $t(e,n,t)}}var oe=new Map;var ae=function(){function t(){}return t.format=function(t,e,n){return function(t,e,n){var r=Kt[t];if(r)return r(e,n);var i=t,o=oe.get(i);if(!o){o=[];var a=void 0;Yt.exec(t);for(var s=t;s;)(a=Yt.exec(s))?s=(o=o.concat(a.slice(1))).pop():(o.push(s),s=null);oe.set(i,o)}return o.reduce((function(t,r){var i=Qt[r];return t+(i?i(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(r))}),"")}(n,t,e)},t}(),se=function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;var r;if("string"==typeof t&&(t=t.trim()),le(t))r=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var o=Object(i.f)(t.split("-").map((function(t){return parseInt(t,10)})),3),a=o[0],s=o[1],l=o[2];r=new Date(a,s-1,l)}else r=new Date(t);else r=new Date(parseFloat(t));if(!le(r)){var c=void 0;if("string"!=typeof t||!(c=t.match(M)))throw Gt(e,t);r=Q(c)}return ae.format(r,this._locale,e._ALIASES[n]||n)},t._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t=e=Object(i.b)([Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}();function le(t){return t instanceof Date&&!isNaN(t.valueOf())}function ce(t,e,n,r,i,o,a){if(void 0===o&&(o=null),void 0===a&&(a=!1),null==n)return null;if("number"!=typeof(n="string"!=typeof n||isNaN(+n-parseFloat(n))?n:+n))throw Gt(t,n);var s,l,c;if(r!==p.Currency&&(s=1,l=0,c=3),i){var u=i.match(Z);if(null===u)throw new Error(i+" is not a valid digit info for number pipes");null!=u[1]&&(s=ct(u[1])),null!=u[3]&&(l=ct(u[3])),null!=u[5]&&(c=ct(u[5]))}return Wt.format(n,e,r,{minimumIntegerDigits:s,minimumFractionDigits:l,maximumFractionDigits:c,currency:o,currencyAsSymbol:a})}var ue=[function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Decimal,n)},t=e=Object(i.b)([Object(r.W)({name:"number"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Percent,n)},t=e=Object(i.b)([Object(r.W)({name:"percent"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){return void 0===n&&(n="USD"),void 0===r&&(r=!1),ce(e,this._locale,t,p.Currency,i,n,r)},t=e=Object(i.b)([Object(r.W)({name:"currency"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),se],pe=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),de=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,(function(t){throw t}))},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),he=new pe,fe=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}var e;return e=t,t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):Object(r.ac)(this._latestValue,this._latestReturnedValue)?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.rb.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,(function(n){return e._updateLatestValue(t,n)}))},t.prototype._selectStrategy=function(t){if(Object(r.Zb)(t))return de;if(Object(r.Yb)(t))return he;throw Gt(e,t)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"async",pure:!1}),Object(i.d)("design:paramtypes",[r.k])],t)}(),me=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toLowerCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"lowercase"})],t)}(),ge=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g,ye=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.replace(ge,(function(t){return t[0].toUpperCase()+t.substr(1).toLowerCase()}))},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"titlecase"})],t)}(),ve=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toUpperCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"uppercase"})],t)}(),be=function(){function t(t){this.locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;try{return L(t,n,i||this.locale,r)}catch(o){throw Gt(e,o.message)}},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),_e=/#/g,we=function(){function t(t){this._localization=t}var e;return e=t,t.prototype.transform=function(t,n,r){if(null==t)return"";if("object"!=typeof n||null===n)throw Gt(e,n);return n[dt(t,Object.keys(n),this._localization,r)].replace(_e,t.toString())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nPlural",pure:!0}),Object(i.d)("design:paramtypes",[pt])],t)}(),xe=function(){function t(){}var e;return e=t,t.prototype.transform=function(t,n){if(null==t)return"";if("object"!=typeof n||"string"!=typeof t)throw Gt(e,n);return n.hasOwnProperty(t)?n[t]:n.hasOwnProperty("other")?n.other:""},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nSelect",pure:!0})],t)}(),Ce=function(){function t(){}return t.prototype.transform=function(t){return JSON.stringify(t,null,2)},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"json",pure:!1})],t)}();var Oe=function(){function t(t){this.differs=t,this.keyValues=[]}return t.prototype.transform=function(t,e){var n=this;if(void 0===e&&(e=Ee),!t||!(t instanceof Map)&&"object"!=typeof t)return null;this.differ||(this.differ=this.differs.find(t).create());var r=this.differ.diff(t);return r&&(this.keyValues=[],r.forEachItem((function(t){var e,r;n.keyValues.push((e=t.key,r=t.currentValue,{key:e,value:r}))})),this.keyValues.sort(e)),this.keyValues},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"keyvalue",pure:!1}),Object(i.d)("design:paramtypes",[r.I])],t)}();function Ee(t,e){var n=t.key,r=e.key;if(n===r)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(null===n)return 1;if(null===r)return-1;if("string"==typeof n&&"string"==typeof r)return n=0&&n<=1?d.One:d.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===n?d.One:d.Other;case"ar":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:n%100===Math.floor(n%100)&&n%100>=3&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=99?d.Many:d.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?d.One:d.Other;case"be":return n%10==1&&n%100!=11?d.One:n%10===Math.floor(n%10)&&n%10>=2&&n%10<=4&&!(n%100>=12&&n%100<=14)?d.Few:n%10==0||n%10===Math.floor(n%10)&&n%10>=5&&n%10<=9||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=14?d.Many:d.Other;case"br":return n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?d.One:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?d.Two:n%10===Math.floor(n%10)&&(n%10>=3&&n%10<=4||n%10==9)&&!(n%100>=10&&n%100<=19||n%100>=70&&n%100<=79||n%100>=90&&n%100<=99)?d.Few:0!==n&&n%1e6==0?d.Many:d.Other;case"bs":case"hr":case"sr":return 0===o&&i%10==1&&i%100!=11||a%10==1&&a%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)||a%10===Math.floor(a%10)&&a%10>=2&&a%10<=4&&!(a%100>=12&&a%100<=14)?d.Few:d.Other;case"cs":case"sk":return 1===i&&0===o?d.One:i===Math.floor(i)&&i>=2&&i<=4&&0===o?d.Few:0!==o?d.Many:d.Other;case"cy":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:3===n?d.Few:6===n?d.Many:d.Other;case"da":return 1===n||0!==s&&(0===i||1===i)?d.One:d.Other;case"dsb":case"hsb":return 0===o&&i%100==1||a%100==1?d.One:0===o&&i%100==2||a%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||a%100===Math.floor(a%100)&&a%100>=3&&a%100<=4?d.Few:d.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?d.One:d.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!=4&&i%10!=6&&i%10!=9||0!==o&&a%10!=4&&a%10!=6&&a%10!=9?d.One:d.Other;case"ga":return 1===n?d.One:2===n?d.Two:n===Math.floor(n)&&n>=3&&n<=6?d.Few:n===Math.floor(n)&&n>=7&&n<=10?d.Many:d.Other;case"gd":return 1===n||11===n?d.One:2===n||12===n?d.Two:n===Math.floor(n)&&(n>=3&&n<=10||n>=13&&n<=19)?d.Few:d.Other;case"gv":return 0===o&&i%10==1?d.One:0===o&&i%10==2?d.Two:0!==o||i%100!=0&&i%100!=20&&i%100!=40&&i%100!=60&&i%100!=80?0!==o?d.Many:d.Other:d.Few;case"he":return 1===i&&0===o?d.One:2===i&&0===o?d.Two:0!==o||n>=0&&n<=10||n%10!=0?d.Other:d.Many;case"is":return 0===s&&i%10==1&&i%100!=11||0!==s?d.One:d.Other;case"ksh":return 0===n?d.Zero:1===n?d.One:d.Other;case"kw":case"naq":case"se":case"smn":return 1===n?d.One:2===n?d.Two:d.Other;case"lag":return 0===n?d.Zero:0!==i&&1!==i||0===n?d.Other:d.One;case"lt":return n%10!=1||n%100>=11&&n%100<=19?n%10===Math.floor(n%10)&&n%10>=2&&n%10<=9&&!(n%100>=11&&n%100<=19)?d.Few:0!==a?d.Many:d.Other:d.One;case"lv":case"prg":return n%10==0||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19||2===o&&a%100===Math.floor(a%100)&&a%100>=11&&a%100<=19?d.Zero:n%10==1&&n%100!=11||2===o&&a%10==1&&a%100!=11||2!==o&&a%10==1?d.One:d.Other;case"mk":return 0===o&&i%10==1||a%10==1?d.One:d.Other;case"mt":return 1===n?d.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19?d.Many:d.Other;case"pl":return 1===i&&0===o?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&i%10<=1||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&i%100<=14?d.Many:d.Other;case"pt":return n===Math.floor(n)&&n>=0&&n<=2&&2!==n?d.One:d.Other;case"ro":return 1===i&&0===o?d.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&n%100<=19?d.Few:d.Other;case"ru":case"uk":return 0===o&&i%10==1&&i%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&i%10==0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=14?d.Many:d.Other;case"shi":return 0===i||1===n?d.One:n===Math.floor(n)&&n>=2&&n<=10?d.Few:d.Other;case"si":return 0===n||1===n||0===i&&1===a?d.One:d.Other;case"sl":return 0===o&&i%100==1?d.One:0===o&&i%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||0!==o?d.Few:d.Other;case"tzm":return n===Math.floor(n)&&n>=0&&n<=1||n===Math.floor(n)&&n>=11&&n<=99?d.One:d.Other;default:return d.Other}},Re=(function(){function t(){}t=Object(i.b)([Object(r.L)({declarations:[ue],exports:[ue],providers:[{provide:ut,useValue:Ie}]})],t)}(),new r.E("DocumentToken")),Me="browser",Ne="server";function Fe(t){return t===Me}function Le(t){return t===Ne}new r.mb("8.2.6");var Ve=function(){function t(){}return t.ngInjectableDef=Object(r.tc)({token:t,providedIn:"root",factory:function(){return new Be(Object(r.uc)(Re),window,Object(r.uc)(r.w))}}),t}(),Be=function(){function t(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=function(){return[0,0]}}return t.prototype.setOffset=function(t){Array.isArray(t)?this.offset=function(){return t}:this.offset=t},t.prototype.getScrollPosition=function(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]},t.prototype.scrollToPosition=function(t){this.supportScrollRestoration()&&this.window.scrollTo(t[0],t[1])},t.prototype.scrollToAnchor=function(t){if(this.supportScrollRestoration()){t=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(t):t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{var e=this.document.querySelector("#"+t);if(e)return void this.scrollToElement(e);var n=this.document.querySelector("[name='"+t+"']");if(n)return void this.scrollToElement(n)}catch(r){this.errorHandler.handleError(r)}}},t.prototype.setHistoryScrollRestoration=function(t){if(this.supportScrollRestoration()){var e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}},t.prototype.scrollToElement=function(t){var e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],r-i[1])},t.prototype.supportScrollRestoration=function(){try{return!!this.window&&!!this.window.scrollTo}catch(t){return!1}},t}();!function(){function t(){}t.prototype.setOffset=function(t){},t.prototype.getScrollPosition=function(){return[0,0]},t.prototype.scrollToPosition=function(t){},t.prototype.scrollToAnchor=function(t){},t.prototype.setHistoryScrollRestoration=function(t){}}()},Iwuw:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
\r\n {{ \'SELECT_A_DEVICE\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{device.display}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'SELECT_A_BRAND\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{brand}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'SELECT_A_MODEL\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{model}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'ENTER_TOKEN\' | translate}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'ENTER_ID\' | translate}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_MINION_MESSAGE\' | translate}}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
'},"JF+6":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("6blF"),i=n("pugT");function o(t,e){return new r.a((function(n){var r=new i.a,o=0;return r.add(e.schedule((function(){o!==t.length?(n.next(t[o++]),n.closed||r.add(this.schedule())):n.complete()}))),r}))}},JYZP:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- Spinner loading animation --\x3e\r\n\x3c!-- \r\n \r\n --\x3e\r\n\x3c!-- Casanet loading logo animation --\x3e\r\n\r\n'},K9Ia:function(t,e,n){"use strict";n.d(e,"b",(function(){return u})),n.d(e,"a",(function(){return p}));var r=n("mrSG"),i=n("6blF"),o=n("FFOo"),a=n("pugT"),s=n("8g8A"),l=n("uMaO"),c=n("L/V9"),u=function(t){function e(e){var n=t.call(this,e)||this;return n.destination=e,n}return r.c(e,t),e}(o.a),p=function(t){function e(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return r.c(e,t),e.prototype[c.a]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new s.a;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),i=0;i0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=a(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(s(n),e.scheduled=void 0)},e}(n("h9Dq").a),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r",inputs:["disabled"],changeDetection:r.j.OnPush,encapsulation:r.qb.None,exportAs:"matTab"}]}],e.ctorParameters=function(){return[{type:r.pb}]},e.propDecorators={templateLabel:[{type:r.r,args:[j]}],_explicitContent:[{type:r.r,args:[k,{read:r.jb}]}],_implicitContent:[{type:r.nb,args:[r.jb]}],textLabel:[{type:r.G,args:["label"]}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}]},e}(Object(a.w)(A)),T={translateTab:Object(h.n)("translateTab",[Object(h.k)("center, void, left-origin-center, right-origin-center",Object(h.l)({transform:"none"})),Object(h.k)("left",Object(h.l)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),Object(h.k)("right",Object(h.l)({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),Object(h.m)("* => left, * => right, left => center, right => center",Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Object(h.m)("void => left-origin-center",[Object(h.l)({transform:"translate3d(-100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Object(h.m)("void => right-origin-center",[Object(h.l)({transform:"translate3d(100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])},P=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i._host=r,i._centeringSub=l.a.EMPTY,i._leavingSub=l.a.EMPTY,i}return Object(i.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this._centeringSub=this._host._beforeCentering.pipe(Object(m.a)(this._host._isCenterPosition(this._host._position))).subscribe((function(t){t&&!e.hasAttached()&&e.attach(e._host._content)})),this._leavingSub=this._host._afterLeavingCenter.subscribe((function(){e.detach()}))},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()},e.decorators=[{type:r.t,args:[{selector:"[matTabBodyHost]"}]}],e.ctorParameters=function(){return[{type:r.p},{type:r.pb},{type:I,decorators:[{type:r.C,args:[Object(r.vb)((function(){return I}))]}]}]},e}(o.c),I=function(){function t(t,e,n){var i=this;this._elementRef=t,this._dir=e,this._dirChangeSubscription=l.a.EMPTY,this._translateTabComplete=new s.a,this._onCentering=new r.x,this._beforeCentering=new r.x,this._afterLeavingCenter=new r.x,this._onCentered=new r.x(!0),this.animationDuration="500ms",this._dir&&n&&(this._dirChangeSubscription=this._dir.change.subscribe((function(t){i._computePositionAnimationState(t),n.markForCheck()}))),this._translateTabComplete.pipe(Object(g.a)((function(t,e){return t.fromState===e.fromState&&t.toState===e.toState}))).subscribe((function(t){i._isCenterPosition(t.toState)&&i._isCenterPosition(i._position)&&i._onCentered.emit(),i._isCenterPosition(t.fromState)&&!i._isCenterPosition(i._position)&&i._afterLeavingCenter.emit()}))}return Object.defineProperty(t.prototype,"position",{set:function(t){this._positionIndex=t,this._computePositionAnimationState()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin())},t.prototype.ngOnDestroy=function(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()},t.prototype._onTranslateTabStarted=function(t){var e=this._isCenterPosition(t.toState);this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)},t.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._isCenterPosition=function(t){return"center"==t||"left-origin-center"==t||"right-origin-center"==t},t.prototype._computePositionAnimationState=function(t){void 0===t&&(t=this._getLayoutDirection()),this._positionIndex<0?this._position="ltr"==t?"left":"right":this._positionIndex>0?this._position="ltr"==t?"right":"left":this._position="center"},t.prototype._computePositionFromOrigin=function(){var t=this._getLayoutDirection();return"ltr"==t&&this.origin<=0||"rtl"==t&&this.origin>0?"left-origin-center":"right-origin-center"},t.decorators=[{type:r.n,args:[{selector:"mat-tab-body",template:'
',styles:[".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,animations:[T.translateTab],host:{class:"mat-tab-body"}}]}],t.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.k}]},t.propDecorators={_onCentering:[{type:r.S}],_beforeCentering:[{type:r.S}],_afterLeavingCenter:[{type:r.S}],_onCentered:[{type:r.S}],_portalHost:[{type:r.nb,args:[o.f]}],_content:[{type:r.G,args:["content"]}],origin:[{type:r.G}],animationDuration:[{type:r.G}],position:[{type:r.G}]},t}(),R=function(){},M=function(t){function e(e){var n=t.call(this)||this;return n.elementRef=e,n}return Object(i.c)(e,t),e.prototype.focus=function(){this.elementRef.nativeElement.focus()},e.prototype.getOffsetLeft=function(){return this.elementRef.nativeElement.offsetLeft},e.prototype.getOffsetWidth=function(){return this.elementRef.nativeElement.offsetWidth},e.decorators=[{type:r.t,args:[{selector:"[matTabLabelWrapper]",inputs:["disabled"],host:{"[class.mat-tab-disabled]":"disabled","[attr.aria-disabled]":"!!disabled"}}]}],e.ctorParameters=function(){return[{type:r.u}]},e}(Object(a.w)(R)),N=Object(x.f)({passive:!0}),F=function(){},L=function(t){function e(e,n,i,o,a,l){var u=t.call(this)||this;u._elementRef=e,u._changeDetectorRef=n,u._viewportRuler=i,u._dir=o,u._ngZone=a,u._platform=l,u._scrollDistance=0,u._selectedIndexChanged=!1,u._destroyed=new s.a,u._showPaginationControls=!1,u._disableScrollAfter=!0,u._disableScrollBefore=!0,u._stopScrolling=new s.a,u._selectedIndex=0,u.selectFocusedIndex=new r.x,u.indexFocused=new r.x;var p=e.nativeElement,d=function(){Object(c.a)(p,"mouseleave").pipe(Object(y.a)(u._destroyed)).subscribe((function(){u._stopInterval()}))};return a?a.runOutsideAngular(d):d(),u}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){t=Object(v.f)(t),this._selectedIndexChanged=this._selectedIndex!=t,this._selectedIndex=t,this._keyManager&&this._keyManager.updateActiveItemIndex(t)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){this._tabLabelCount!=this._labelWrappers.length&&(this.updatePagination(),this._tabLabelCount=this._labelWrappers.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())},e.prototype._handleKeydown=function(t){if(!Object(b.s)(t))switch(t.keyCode){case b.h:this._keyManager.setFirstItemActive(),t.preventDefault();break;case b.e:this._keyManager.setLastItemActive(),t.preventDefault();break;case b.f:case b.n:this.selectFocusedIndex.emit(this.focusIndex),t.preventDefault();break;default:this._keyManager.onKeydown(t)}},e.prototype.ngAfterContentInit=function(){var t=this,e=this._dir?this._dir.change:Object(u.a)(null),n=this._viewportRuler.change(150),r=function(){t.updatePagination(),t._alignInkBarToSelectedTab()};this._keyManager=new w.d(this._labelWrappers).withHorizontalOrientation(this._getLayoutDirection()).withWrap(),this._keyManager.updateActiveItem(0),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(r):r(),Object(p.a)(e,n).pipe(Object(y.a)(this._destroyed)).subscribe((function(){r(),t._keyManager.withHorizontalOrientation(t._getLayoutDirection())})),this._keyManager.change.pipe(Object(y.a)(this._destroyed)).subscribe((function(e){t.indexFocused.emit(e),t._setTabFocus(e)}))},e.prototype.ngAfterViewInit=function(){var t=this;Object(c.a)(this._previousPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe((function(){t._handlePaginatorPress("before")})),Object(c.a)(this._nextPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe((function(){t._handlePaginatorPress("after")}))},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()},e.prototype._onContentChanges=function(){var t=this,e=this._elementRef.nativeElement.textContent;if(e!==this._currentTextContent){this._currentTextContent=e;var n=function(){t.updatePagination(),t._alignInkBarToSelectedTab(),t._changeDetectorRef.markForCheck()};this._ngZone?this._ngZone.run(n):n()}},e.prototype.updatePagination=function(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()},Object.defineProperty(e.prototype,"focusIndex",{get:function(){return this._keyManager?this._keyManager.activeItemIndex:0},set:function(t){this._isValidIndex(t)&&this.focusIndex!==t&&this._keyManager&&this._keyManager.setActiveItem(t)},enumerable:!0,configurable:!0}),e.prototype._isValidIndex=function(t){if(!this._labelWrappers)return!0;var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;return!!e&&!e.disabled},e.prototype._setTabFocus=function(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._labelWrappers&&this._labelWrappers.length){this._labelWrappers.toArray()[t].focus();var e=this._tabListContainer.nativeElement,n=this._getLayoutDirection();e.scrollLeft="ltr"==n?0:e.scrollWidth-e.offsetWidth}},e.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},e.prototype._updateTabScrollPosition=function(){var t=this.scrollDistance,e=this._platform,n="ltr"===this._getLayoutDirection()?-t:t;this._tabList.nativeElement.style.transform="translateX("+Math.round(n)+"px)",e&&(e.TRIDENT||e.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)},Object.defineProperty(e.prototype,"scrollDistance",{get:function(){return this._scrollDistance},set:function(t){this._scrollTo(t)},enumerable:!0,configurable:!0}),e.prototype._scrollHeader=function(t){var e=("before"==t?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3;return this._scrollTo(this._scrollDistance+e)},e.prototype._handlePaginatorClick=function(t){this._stopInterval(),this._scrollHeader(t)},e.prototype._scrollToLabel=function(t){var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;if(e){var n,r,i=this._tabListContainer.nativeElement.offsetWidth;"ltr"==this._getLayoutDirection()?r=(n=e.getOffsetLeft())+e.getOffsetWidth():n=(r=this._tabList.nativeElement.offsetWidth-e.getOffsetLeft())-e.getOffsetWidth();var o=this.scrollDistance,a=this.scrollDistance+i;na&&(this.scrollDistance+=r-a+60)}},e.prototype._checkPaginationEnabled=function(){var t=this._tabList.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;t||(this.scrollDistance=0),t!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=t},e.prototype._checkScrollingControls=function(){this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck()},e.prototype._getMaxScrollDistance=function(){return this._tabList.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0},e.prototype._alignInkBarToSelectedTab=function(){var t=this._labelWrappers&&this._labelWrappers.length?this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement:null;this._inkBar.alignToElement(t)},e.prototype._stopInterval=function(){this._stopScrolling.next()},e.prototype._handlePaginatorPress=function(t){var e=this;this._stopInterval(),Object(d.a)(650,100).pipe(Object(y.a)(Object(p.a)(this._stopScrolling,this._destroyed))).subscribe((function(){var n=e._scrollHeader(t),r=n.maxScrollDistance,i=n.distance;(0===i||i>=r)&&e._stopInterval()}))},e.prototype._scrollTo=function(t){var e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}},e.decorators=[{type:r.n,args:[{selector:"mat-tab-header",template:'
',styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-pagination-after,.mat-tab-header-rtl .mat-tab-header-pagination-before{padding-right:4px}.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:'';height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-labels{display:flex}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],inputs:["disableRipple"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,host:{class:"mat-tab-header","[class.mat-tab-header-pagination-controls-enabled]":"_showPaginationControls","[class.mat-tab-header-rtl]":"_getLayoutDirection() == 'rtl'"}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:_.f},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:x.a}]},e.propDecorators={_labelWrappers:[{type:r.s,args:[M]}],_inkBar:[{type:r.nb,args:[S]}],_tabListContainer:[{type:r.nb,args:["tabListContainer"]}],_tabList:[{type:r.nb,args:["tabList"]}],_nextPaginator:[{type:r.nb,args:["nextPaginator"]}],_previousPaginator:[{type:r.nb,args:["previousPaginator"]}],selectedIndex:[{type:r.G}],selectFocusedIndex:[{type:r.S}],indexFocused:[{type:r.S}]},e}(Object(a.v)(F)),V=0,B=function(){},z=new r.E("MAT_TABS_CONFIG"),H=function(t){this._elementRef=t},U=function(t){function e(e,n,i){var o=t.call(this,e)||this;return o._changeDetectorRef=n,o._indexToSelect=0,o._tabBodyWrapperHeight=0,o._tabsSubscription=l.a.EMPTY,o._tabLabelSubscription=l.a.EMPTY,o._dynamicHeight=!1,o._selectedIndex=null,o.headerPosition="above",o.selectedIndexChange=new r.x,o.focusChange=new r.x,o.animationDone=new r.x,o.selectedTabChange=new r.x(!0),o._groupId=V++,o.animationDuration=i&&i.animationDuration?i.animationDuration:"500ms",o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"dynamicHeight",{get:function(){return this._dynamicHeight},set:function(t){this._dynamicHeight=Object(v.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){this._indexToSelect=Object(v.f)(t,null)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationDuration",{get:function(){return this._animationDuration},set:function(t){this._animationDuration=/^\d+$/.test(t)?t+"ms":t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){var t=this,e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){var n=null==this._selectedIndex;n||this.selectedTabChange.emit(this._createChangeEvent(e)),Promise.resolve().then((function(){t._tabs.forEach((function(t,n){return t.isActive=n===e})),n||t.selectedIndexChange.emit(e)}))}this._tabs.forEach((function(n,r){n.position=r-e,null==t._selectedIndex||0!=n.position||n.origin||(n.origin=e-t._selectedIndex)})),this._selectedIndex!==e&&(this._selectedIndex=e,this._changeDetectorRef.markForCheck())},e.prototype.ngAfterContentInit=function(){var t=this;this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe((function(){if(t._clampTabIndex(t._indexToSelect)===t._selectedIndex)for(var e=t._tabs.toArray(),n=0;n
',styles:[".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{padding:0 12px}}@media (max-width:959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height .5s cubic-bezier(.35,0,.25,1)}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["color","disableRipple"],host:{class:"mat-tab-group","[class.mat-tab-group-dynamic-height]":"dynamicHeight","[class.mat-tab-group-inverted-header]":'headerPosition === "below"'}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.C,args:[z]},{type:r.R}]}]},e.propDecorators={_tabs:[{type:r.s,args:[D]}],_tabBodyWrapper:[{type:r.nb,args:["tabBodyWrapper"]}],_tabHeader:[{type:r.nb,args:["tabHeader"]}],dynamicHeight:[{type:r.G}],selectedIndex:[{type:r.G}],headerPosition:[{type:r.G}],animationDuration:[{type:r.G}],backgroundColor:[{type:r.G}],selectedIndexChange:[{type:r.S}],focusChange:[{type:r.S}],animationDone:[{type:r.S}],selectedTabChange:[{type:r.S}]},e}(Object(a.u)(Object(a.v)(H),"primary")),G=function(t){this._elementRef=t},q=function(t){function e(e,n,r,i,o){var a=t.call(this,e)||this;return a._dir=n,a._ngZone=r,a._changeDetectorRef=i,a._viewportRuler=o,a._onDestroy=new s.a,a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.updateActiveLink=function(t){this._activeLinkChanged=!!t,this._changeDetectorRef.markForCheck()},e.prototype.ngAfterContentInit=function(){var t=this;this._ngZone.runOutsideAngular((function(){var e=t._dir?t._dir.change:Object(u.a)(null);return Object(p.a)(e,t._viewportRuler.change(10)).pipe(Object(y.a)(t._onDestroy)).subscribe((function(){return t._alignInkBar()}))}))},e.prototype.ngAfterContentChecked=function(){if(this._activeLinkChanged){var t=this._tabLinks.find((function(t){return t.active}));this._activeLinkElement=t?t._elementRef:null,this._alignInkBar(),this._activeLinkChanged=!1}},e.prototype.ngOnDestroy=function(){this._onDestroy.next(),this._onDestroy.complete()},e.prototype._alignInkBar=function(){this._activeLinkElement?(this._inkBar.show(),this._inkBar.alignToElement(this._activeLinkElement.nativeElement)):this._inkBar.hide()},e.decorators=[{type:r.n,args:[{selector:"[mat-tab-nav-bar]",exportAs:"matTabNavBar, matTabNav",inputs:["color","disableRipple"],template:'',styles:[".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.mat-tab-link{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],host:{class:"mat-tab-nav-bar"},encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:r.k},{type:_.f}]},e.propDecorators={_inkBar:[{type:r.nb,args:[S]}],_tabLinks:[{type:r.s,args:[Object(r.vb)((function(){return Y})),{descendants:!0}]}],backgroundColor:[{type:r.G}]},e}(Object(a.v)(Object(a.u)(G,"primary"))),W=function(){},Y=function(t){function e(e,n,r,i,o,s,l){var c=t.call(this)||this;return c._tabNavBar=e,c._elementRef=n,c._focusMonitor=l,c._isActive=!1,c._tabLinkRipple=new a.r(c,r,n,i),c._tabLinkRipple.setupTriggerEvents(n.nativeElement),c.rippleConfig=o||{},c.tabIndex=parseInt(s)||0,l&&l.monitor(n),c}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"active",{get:function(){return this._isActive},set:function(t){t!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink(this._elementRef))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rippleDisabled",{get:function(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._tabLinkRipple._removeTriggerEvents(),this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef)},e.decorators=[{type:r.t,args:[{selector:"[mat-tab-link], [matTabLink]",exportAs:"matTabLink",inputs:["disabled","disableRipple","tabIndex"],host:{class:"mat-tab-link","[attr.aria-current]":"active","[attr.aria-disabled]":"disabled.toString()","[attr.tabIndex]":"tabIndex","[class.mat-tab-disabled]":"disabled","[class.mat-tab-label-active]":"active"}}]}],e.ctorParameters=function(){return[{type:q},{type:r.u},{type:r.Q},{type:x.a},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[a.g]}]},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:w.e}]},e.propDecorators={active:[{type:r.G}]},e}(Object(a.y)(Object(a.v)(Object(a.w)(W)))),K=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[O.b,a.h,o.h,a.q,C.b,w.a],exports:[a.h,U,j,D,q,Y,k],declarations:[U,j,D,S,M,q,Y,I,P,L,k]}]}],t}()},LhV3:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {{ clock }}\r\n \r\n \r\n \r\n\r\n \x3c!-- --\x3e\r\n \x3c!-- --\x3e\r\n\r\n \r\n\r\n \x3c!-- Liveliness area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- Remote connection status area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n'},M2Lx:function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return p}));var r=n("n6gG"),i=n("CcnG"),o=n("6blF"),a=n("K9Ia"),s=n("Gi3i"),l=function(){function t(){}return t.prototype.create=function(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),c=function(){function t(t){this._mutationObserverFactory=t,this._observedElements=new Map}return t.prototype.ngOnDestroy=function(){var t=this;this._observedElements.forEach((function(e,n){return t._cleanupObserver(n)}))},t.prototype.observe=function(t){var e=this,n=Object(r.e)(t);return new o.a((function(t){var r=e._observeElement(n).subscribe(t);return function(){r.unsubscribe(),e._unobserveElement(n)}}))},t.prototype._observeElement=function(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{var e=new a.a,n=this._mutationObserverFactory.create((function(t){return e.next(t)}));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream},t.prototype._unobserveElement=function(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))},t.prototype._cleanupObserver=function(t){if(this._observedElements.has(t)){var e=this._observedElements.get(t),n=e.observer,r=e.stream;n&&n.disconnect(),r.complete(),this._observedElements.delete(t)}},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:l}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(l))},token:t,providedIn:"root"}),t}(),u=function(){function t(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new i.x,this._disabled=!1,this._currentSubscription=null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(r.c)(t),this._disabled?this._unsubscribe():this._subscribe()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"debounce",{get:function(){return this._debounce},set:function(t){this._debounce=Object(r.f)(t),this._subscribe()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._currentSubscription||this.disabled||this._subscribe()},t.prototype.ngOnDestroy=function(){this._unsubscribe()},t.prototype._subscribe=function(){var t=this;this._unsubscribe();var e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular((function(){t._currentSubscription=(t.debounce?e.pipe(Object(s.a)(t.debounce)):e).subscribe(t.event)}))},t.prototype._unsubscribe=function(){this._currentSubscription&&this._currentSubscription.unsubscribe()},t.decorators=[{type:i.t,args:[{selector:"[cdkObserveContent]",exportAs:"cdkObserveContent"}]}],t.ctorParameters=function(){return[{type:c},{type:i.u},{type:i.Q}]},t.propDecorators={event:[{type:i.S,args:["cdkObserveContent"]}],disabled:[{type:i.G,args:["cdkObserveContentDisabled"]}],debounce:[{type:i.G}]},t}(),p=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[u],declarations:[u],providers:[l]}]}],t}()},MGBS:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("mrSG"),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("FFOo").a)},McSo:function(t,e,n){"use strict";function r(t){return null!==t&&"object"==typeof t}n.d(e,"a",(function(){return r}))},NZXM:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n("CcnG"),i=n("t/Na"),o=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},l=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] open-instant",Object(r.e)("0ms")),Object(r.m)("void <=> open, open-instant => void",Object(r.e)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])};function S(t){throw Error("A drawer was already declared for 'position=\""+t+"\"'")}var k=new d.E("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function(){return!1}});var j=function(t){function e(e,n,r,i,o){var a=t.call(this,r,i,o)||this;return a._changeDetectorRef=e,a._container=n,a}return Object(i.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._container._contentMarginChanges.subscribe((function(){t._changeDetectorRef.markForCheck()}))},e.decorators=[{type:d.n,args:[{selector:"mat-drawer-content",template:"",host:{class:"mat-drawer-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:D,decorators:[{type:d.C,args:[Object(d.vb)((function(){return D}))]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(u.a),A=function(){function t(t,e,n,r,i,o){var a=this;this._elementRef=t,this._focusTrapFactory=e,this._focusMonitor=n,this._platform=r,this._ngZone=i,this._doc=o,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._autoFocus=!0,this._animationStarted=new h.a,this._animationEnd=new h.a,this._animationState="void",this.openedChange=new d.x(!0),this._destroyed=new h.a,this.onPositionChanged=new d.x,this._modeChanged=new h.a,this._opened=!1,this.openedChange.subscribe((function(t){t?(a._doc&&(a._elementFocusedBeforeDrawerWasOpened=a._doc.activeElement),a._isFocusTrapEnabled&&a._focusTrap&&a._trapFocus()):a._restoreFocus()})),this._ngZone.runOutsideAngular((function(){Object(f.a)(a._elementRef.nativeElement,"keydown").pipe(Object(g.a)((function(t){return t.keyCode===l.g&&!a.disableClose})),Object(y.a)(a._destroyed)).subscribe((function(t){return a._ngZone.run((function(){a.close(),t.stopPropagation()}))}))})),this._animationEnd.pipe(Object(v.a)((function(t,e){return t.fromState===e.fromState&&t.toState===e.toState}))).subscribe((function(t){var e=t.fromState,n=t.toState;(0===n.indexOf("open")&&"void"===e||"void"===n&&0===e.indexOf("open"))&&a.openedChange.emit(a._opened)}))}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){(t="end"===t?"end":"start")!=this._position&&(this._position=t,this.onPositionChanged.emit())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mode",{get:function(){return this._mode},set:function(t){this._mode=t,this._modeChanged.next()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableClose",{get:function(){return this._disableClose},set:function(t){this._disableClose=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoFocus",{get:function(){return this._autoFocus},set:function(t){this._autoFocus=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(Object(g.a)((function(t){return t})),Object(b.a)((function(){})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)((function(t){return t.fromState!==t.toState&&0===t.toState.indexOf("open")})),Object(b.a)((function(){})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(Object(g.a)((function(t){return!t})),Object(b.a)((function(){})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"closedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)((function(t){return t.fromState!==t.toState&&"void"===t.toState})),Object(b.a)((function(){})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_isFocusTrapEnabled",{get:function(){return this.opened&&"side"!==this.mode},enumerable:!0,configurable:!0}),t.prototype._trapFocus=function(){var t=this;this.autoFocus&&this._focusTrap.focusInitialElementWhenReady().then((function(e){e||"function"!=typeof t._elementRef.nativeElement.focus||t._elementRef.nativeElement.focus()}))},t.prototype._restoreFocus=function(){if(this.autoFocus){var t=this._doc&&this._doc.activeElement;t&&this._elementRef.nativeElement.contains(t)&&(this._elementFocusedBeforeDrawerWasOpened instanceof HTMLElement?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,this._openedVia):this._elementRef.nativeElement.blur()),this._elementFocusedBeforeDrawerWasOpened=null,this._openedVia=null}},t.prototype.ngAfterContentInit=function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._focusTrap.enabled=this._isFocusTrapEnabled},t.prototype.ngAfterContentChecked=function(){this._platform.isBrowser&&(this._enableAnimations=!0)},t.prototype.ngOnDestroy=function(){this._focusTrap&&this._focusTrap.destroy(),this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()},Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){this.toggle(Object(s.c)(t))},enumerable:!0,configurable:!0}),t.prototype.open=function(t){return this.toggle(!0,t)},t.prototype.close=function(){return this.toggle(!1)},t.prototype.toggle=function(t,e){var n=this;return void 0===t&&(t=!this.opened),void 0===e&&(e="program"),this._opened=t,t?(this._animationState=this._enableAnimations?"open":"open-instant",this._openedVia=e):(this._animationState="void",this._restoreFocus()),this._focusTrap&&(this._focusTrap.enabled=this._isFocusTrapEnabled),new Promise((function(t){n.openedChange.pipe(Object(_.a)(1)).subscribe((function(e){return t(e?"open":"close")}))}))},Object.defineProperty(t.prototype,"_width",{get:function(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0},enumerable:!0,configurable:!0}),t.decorators=[{type:d.n,args:[{selector:"mat-drawer",exportAs:"matDrawer",template:'
',animations:[E.transformDrawer],host:{class:"mat-drawer","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',tabIndex:"-1"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:d.u},{type:o.f},{type:o.e},{type:c.a},{type:d.Q},{type:void 0,decorators:[{type:d.R},{type:d.C,args:[p.c]}]}]},t.propDecorators={position:[{type:d.G}],mode:[{type:d.G}],disableClose:[{type:d.G}],autoFocus:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],openedStart:[{type:d.S}],_closedStream:[{type:d.S,args:["closed"]}],closedStart:[{type:d.S}],onPositionChanged:[{type:d.S,args:["positionChanged"]}],opened:[{type:d.G}]},t}(),D=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=!1);var s=this;this._dir=t,this._element=e,this._ngZone=n,this._changeDetectorRef=r,this._animationMode=o,this.backdropClick=new d.x,this._destroyed=new h.a,this._doCheckSubject=new h.a,this._contentMargins={left:null,right:null},this._contentMarginChanges=new h.a,t&&t.change.pipe(Object(y.a)(this._destroyed)).subscribe((function(){s._validateDrawers(),s._updateContentMargins()})),a&&a.change().pipe(Object(y.a)(this._destroyed)).subscribe((function(){return s._updateContentMargins()})),this._autosize=i}return Object.defineProperty(t.prototype,"start",{get:function(){return this._start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this._end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autosize",{get:function(){return this._autosize},set:function(t){this._autosize=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride},set:function(t){this._backdropOverride=null==t?null:Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollable",{get:function(){return this._userContent||this._content},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._drawers.changes.pipe(Object(w.a)(null)).subscribe((function(){t._validateDrawers(),t._drawers.forEach((function(e){t._watchDrawerToggle(e),t._watchDrawerPosition(e),t._watchDrawerMode(e)})),(!t._drawers.length||t._isDrawerOpen(t._start)||t._isDrawerOpen(t._end))&&t._updateContentMargins(),t._changeDetectorRef.markForCheck()})),this._doCheckSubject.pipe(Object(x.a)(10),Object(y.a)(this._destroyed)).subscribe((function(){return t._updateContentMargins()}))},t.prototype.ngOnDestroy=function(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._destroyed.next(),this._destroyed.complete()},t.prototype.open=function(){this._drawers.forEach((function(t){return t.open()}))},t.prototype.close=function(){this._drawers.forEach((function(t){return t.close()}))},t.prototype.ngDoCheck=function(){var t=this;this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular((function(){return t._doCheckSubject.next()}))},t.prototype._watchDrawerToggle=function(t){var e=this;t._animationStarted.pipe(Object(g.a)((function(t){return t.fromState!==t.toState})),Object(y.a)(this._drawers.changes)).subscribe((function(t){"open-instant"!==t.toState&&"NoopAnimations"!==e._animationMode&&e._element.nativeElement.classList.add("mat-drawer-transition"),e._updateContentMargins(),e._changeDetectorRef.markForCheck()})),"side"!==t.mode&&t.openedChange.pipe(Object(y.a)(this._drawers.changes)).subscribe((function(){return e._setContainerClass(t.opened)}))},t.prototype._watchDrawerPosition=function(t){var e=this;t&&t.onPositionChanged.pipe(Object(y.a)(this._drawers.changes)).subscribe((function(){e._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(_.a)(1)).subscribe((function(){e._validateDrawers()}))}))},t.prototype._watchDrawerMode=function(t){var e=this;t&&t._modeChanged.pipe(Object(y.a)(Object(m.a)(this._drawers.changes,this._destroyed))).subscribe((function(){e._updateContentMargins(),e._changeDetectorRef.markForCheck()}))},t.prototype._setContainerClass=function(t){t?this._element.nativeElement.classList.add("mat-drawer-opened"):this._element.nativeElement.classList.remove("mat-drawer-opened")},t.prototype._validateDrawers=function(){var t=this;this._start=this._end=null,this._drawers.forEach((function(e){"end"==e.position?(null!=t._end&&S("end"),t._end=e):(null!=t._start&&S("start"),t._start=e)})),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)},t.prototype._isPushed=function(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode},t.prototype._onBackdropClicked=function(){this.backdropClick.emit(),this._closeModalDrawer()},t.prototype._closeModalDrawer=function(){var t=this;[this._start,this._end].filter((function(e){return e&&!e.disableClose&&t._canHaveBackdrop(e)})).forEach((function(t){return t.close()}))},t.prototype._isShowingBackdrop=function(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)},t.prototype._canHaveBackdrop=function(t){return"side"!==t.mode||!!this._backdropOverride},t.prototype._isDrawerOpen=function(t){return null!=t&&t.opened},t.prototype._updateContentMargins=function(){var t=this,e=0,n=0;if(this._left&&this._left.opened)if("side"==this._left.mode)e+=this._left._width;else if("push"==this._left.mode){e+=r=this._left._width,n-=r}if(this._right&&this._right.opened)if("side"==this._right.mode)n+=this._right._width;else if("push"==this._right.mode){var r;n+=r=this._right._width,e-=r}n=n||null,(e=e||null)===this._contentMargins.left&&n===this._contentMargins.right||(this._contentMargins={left:e,right:n},this._ngZone.run((function(){return t._contentMarginChanges.next(t._contentMargins)})))},t.decorators=[{type:d.n,args:[{selector:"mat-drawer-container",exportAs:"matDrawerContainer",template:'
',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:a.b,decorators:[{type:d.R}]},{type:d.u},{type:d.Q},{type:d.k},{type:void 0,decorators:[{type:d.C,args:[k]}]},{type:String,decorators:[{type:d.R},{type:d.C,args:[C.a]}]},{type:u.f,decorators:[{type:d.R}]}]},t.propDecorators={_drawers:[{type:d.s,args:[A]}],_content:[{type:d.r,args:[j]}],_userContent:[{type:d.nb,args:[j]}],autosize:[{type:d.G}],hasBackdrop:[{type:d.G}],backdropClick:[{type:d.S}]},t}(),T=function(t){function e(e,n,r,i,o){return t.call(this,e,n,r,i,o)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-content",template:"",host:{class:"mat-drawer-content mat-sidenav-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:I,decorators:[{type:d.C,args:[Object(d.vb)((function(){return I}))]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(j),P=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._fixedInViewport=!1,e._fixedTopGap=0,e._fixedBottomGap=0,e}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"fixedInViewport",{get:function(){return this._fixedInViewport},set:function(t){this._fixedInViewport=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedTopGap",{get:function(){return this._fixedTopGap},set:function(t){this._fixedTopGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedBottomGap",{get:function(){return this._fixedBottomGap},set:function(t){this._fixedBottomGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav",exportAs:"matSidenav",template:'
',animations:[E.transformDrawer],host:{class:"mat-drawer mat-sidenav",tabIndex:"-1","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',"[class.mat-sidenav-fixed]":"fixedInViewport","[style.top.px]":"fixedInViewport ? fixedTopGap : null","[style.bottom.px]":"fixedInViewport ? fixedBottomGap : null"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={fixedInViewport:[{type:d.G}],fixedTopGap:[{type:d.G}],fixedBottomGap:[{type:d.G}]},e}(A),I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-container",exportAs:"matSidenavContainer",template:'
',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container mat-sidenav-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={_drawers:[{type:d.s,args:[P]}],_content:[{type:d.r,args:[T]}]},e}(D),R=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[p.b,O.h,u.d,c.b],exports:[O.h,A,D,j,P,I,T],declarations:[A,D,j,P,I,T]}]}],t}()},Onty:function(t,e,n){"use strict";n.d(e,"a",(function(){return p}));var r=n("CcnG"),i=n("PSD3"),o=n.n(i),a=n("ZYCi"),s=n("NZXM"),l=n("eKg/"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(){function t(t,e){this.translateService=t,this.router=e,this.translatePipe=new l.a(this.translateService),this.genericToast=o.a.mixin({toast:!0,position:"top-start",confirmButtonText:this.translatePipe.transform("CLOSE"),showConfirmButton:!0,timer:2e4})}return t.prototype.OnHttpError=function(t){if(403!==t.status&&401!==t.status)if(0!==t.status&&504!==t.status)if(t.error)if(void 0===t.error.responseCode)this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(t.status,!0)});else{var e=t.error;this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(e.responseCode,!0)})}else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL")});else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(0,!0)});else this.router.navigate(["/login"])},t.ctorParameters=function(){return[{type:s.a},{type:a.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,a.a])],t)}()},OzfB:function(t,e,n){"use strict";n.d(e,"c",(function(){return x})),n.d(e,"d",(function(){return E})),n.d(e,"e",(function(){return S})),n.d(e,"h",(function(){return k})),n.d(e,"a",(function(){return j})),n.d(e,"b",(function(){return R})),n.d(e,"g",(function(){return rt})),n.d(e,"j",(function(){return ot})),n.d(e,"i",(function(){return at})),n.d(e,"k",(function(){return st})),n.d(e,"f",(function(){return ct}));var r=n("CcnG"),i=n("Ip0R"),o=n("mrSG"),a=n("K9Ia"),s=n("26FU"),l=n("6blF"),c=n("p0ib"),u=n("KQya"),p=n("F/XL"),d=n("bne5"),h=n("VnD/"),f=n("67Y/"),m=n("Gi3i"),g=n("15JJ"),y=n("ny24"),v=n("t9fZ"),b=n("xMyE");var _={provide:r.b,useFactory:function(t,e){return function(){if(Object(i.m)(e)){var n=Array.from(t.querySelectorAll("[class*="+w+"]")),r=/\bflex-layout-.+?\b/g;n.forEach((function(t){t.classList.contains(w+"ssr")&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(r,"")}))}}},deps:[i.c,r.U],multi:!0},w="flex-layout-",x=function(){function t(){}return t.decorators=[{type:r.L,args:[{providers:[_]}]}],t}(),C=function(){function t(t,e,n,r,i){void 0===t&&(t=!1),void 0===e&&(e="all"),void 0===n&&(n=""),void 0===r&&(r=""),void 0===i&&(i=0),this.matches=t,this.mediaQuery=e,this.mqAlias=n,this.suffix=r,this.priority=i,this.property=""}return t.prototype.clone=function(){return new t(this.matches,this.mediaQuery,this.mqAlias,this.suffix)},t}(),O=function(){function t(){this.stylesheet=new Map}return t.prototype.addStyleToElement=function(t,e,n){var r=this.stylesheet.get(t);r?r.set(e,n):this.stylesheet.set(t,new Map([[e,n]]))},t.prototype.clearStyles=function(){this.stylesheet.clear()},t.prototype.getStyleForElement=function(t,e){var n=this.stylesheet.get(t),r="";if(n){var i=n.get(e);"number"!=typeof i&&"string"!=typeof i||(r=i+"")}return r},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tc)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),E={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},S=new r.E("Flex Layout token, config options for the library",{providedIn:"root",factory:function(){return E}}),k=new r.E("FlexLayoutServerLoaded",{providedIn:"root",factory:function(){return!1}}),j=new r.E("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:function(){return null}});function A(t,e){return t=t?t.clone():new C,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}var D="inline",T=["row","column","row-reverse","column-reverse"];function P(t){var e=function(t){var e=(t=t?t.toLowerCase():"").split(" "),n=e[0],r=e[1],i=e[2];T.find((function(t){return t===n}))||(n=T[0]);r===D&&(r=i!==D?i:"",i=D);return[n,I(r),!!i]}(t);return function(t,e,n){void 0===e&&(e=null);void 0===n&&(n=!1);return{display:n?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e[0],e[1],e[2])}function I(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var R=function(){function t(t,e,n,r){this.elementRef=t,this.styleBuilder=e,this.styler=n,this.marshal=r,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new a.a,this.styleCache=new Map}return Object.defineProperty(t.prototype,"parentElement",{get:function(){return this.elementRef.nativeElement.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activatedValue",{get:function(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)},set:function(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){var e=this;Object.keys(t).forEach((function(n){if(-1!==e.inputs.indexOf(n)){var r=n.split(".").slice(1).join("."),i=t[n].currentValue;e.setValue(i,r)}}))},t.prototype.ngOnDestroy=function(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)},t.prototype.init=function(t){void 0===t&&(t=[]),this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)},t.prototype.addStyles=function(t,e){var n=this.styleBuilder,r=n.shouldCache,i=this.styleCache.get(t);i&&r||(i=n.buildStyles(t,e),r&&this.styleCache.set(t,i)),this.mru=Object(o.a)({},i),this.applyStyleToElement(i),n.sideEffect(t,i,e)},t.prototype.clearStyles=function(){var t=this;Object.keys(this.mru).forEach((function(e){t.mru[e]=""})),this.applyStyleToElement(this.mru),this.mru={}},t.prototype.triggerUpdate=function(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)},t.prototype.getFlexFlowDirection=function(t,e){if(void 0===e&&(e=!1),t){var n=this.styler.getFlowDirection(t),r=n[0];if(!n[1]&&e){var i=P(r),o=[t];this.styler.applyStyleToElements(i,o)}return r.trim()}return"row"},t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=this.nativeElement),this.styler.applyStyleToElement(n,t,e)},t.prototype.setValue=function(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)},t.prototype.updateWithValue=function(t){this.addStyles(t)},t}(),M=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.9px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.9px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.9px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.9px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.9px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.9px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.9px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.9px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.9px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],N="(orientation: portrait) and (min-width: 600px) and (max-width: 839.9px)",F="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.9px)",L="(orientation: portrait) and (min-width: 840px)",V="(orientation: landscape) and (min-width: 1280px)",B={HANDSET:"(orientation: portrait) and (max-width: 599.9px), (orientation: landscape) and (max-width: 959.9px)",TABLET:N+" , "+F,WEB:L+", "+V+" ",HANDSET_PORTRAIT:"(orientation: portrait) and (max-width: 599.9px)",TABLET_PORTRAIT:N+" ",WEB_PORTRAIT:""+L,HANDSET_LANDSCAPE:"(orientation: landscape) and (max-width: 959.9px)]",TABLET_LANDSCAPE:""+F,WEB_LANDSCAPE:""+V},z=[{alias:"handset",priority:2e3,mediaQuery:B.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:B.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:B.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.portrait",priority:2100,mediaQuery:B.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:B.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:B.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:B.WEB_PORTRAIT,overlapping:!0}];var H=/(\.|-|_)/g;function U(t){var e=t.length>0?t.charAt(0):"",n=t.length>1?t.slice(1):"";return e.toUpperCase()+n}function G(t){return t.forEach((function(t){t.suffix||(t.suffix=t.alias.replace(H,"|").split("|").map(U).join(""),t.overlapping=!!t.overlapping)})),t}function q(t,e){void 0===e&&(e=[]);var n={};return t.forEach((function(t){n[t.alias]=t})),e.forEach((function(t){n[t.alias]?function(t){for(var e=[],n=1;n-1}))),i=new l.a((function(e){var r=n.registerQuery(t);if(r.length){var i=r.pop();r.forEach((function(t){e.next(t)})),n.source.next(i)}e.complete()}));return Object(c.a)(i,r)}return this._observable$},t.prototype.registerQuery=function(t){var e=this,n=Array.isArray(t)?t:[t],r=[];return function(t,e){var n=t.filter((function(t){return!Z[t]}));if(n.length>0){var r=n.join(", ");try{var i=e.createElement("style");if(i.setAttribute("type","text/css"),!i.styleSheet){var o="\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media "+r+" {.fx-query-test{ }}\n";i.appendChild(e.createTextNode(o))}e.head.appendChild(i),n.forEach((function(t){return Z[t]=i}))}catch(a){console.error(a)}}}(n,this._document),n.forEach((function(t){var n=e.registry.get(t);n||((n=e.buildMQL(t)).addListener((function(n){e._zone.run((function(){return e.source.next(new C(n.matches,t))}))})),e.registry.set(t,n)),n.matches&&r.push(new C(!0,t))})),r},t.prototype.buildMQL=function(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}(t,Object(i.m)(this._platformId))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(r.Q),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"}),t}(),Z={};!function(t){function e(e,n,r,i){var o=t.call(this,e,n,r)||this;return o._breakpoints=i,o.autoRegisterQueries=!0,o.useOverlaps=!1,o}Object(o.c)(e,t),e.prototype.clearAll=function(){this.registry.forEach((function(t){t.destroy()})),this.registry.clear(),this.useOverlaps=!1},e.prototype.activate=function(t,e){return void 0===e&&(e=!1),e=e||this.useOverlaps,t=this._validateQuery(t),!e&&this.isActive(t)||(this._deactivateAll(),this._registerMediaQuery(t),this._activateWithOverlaps(t,e)),this.hasActivated},e.prototype._validateQuery=function(t){var e=this._breakpoints.findByAlias(t);return e&&e.mediaQuery||t},e.prototype._activateWithOverlaps=function(t,e){if(e){var n=this._breakpoints.findByQuery(t),r=n?n.alias:"unknown";switch(r){case"lg":this._activateByAlias("lt-xl");break;case"md":this._activateByAlias("lt-xl, lt-lg");break;case"sm":this._activateByAlias("lt-xl, lt-lg, lt-md");break;case"xs":this._activateByAlias("lt-xl, lt-lg, lt-md, lt-sm")}switch(r){case"xl":this._activateByAlias("gt-lg, gt-md, gt-sm, gt-xs");break;case"lg":this._activateByAlias("gt-md, gt-sm, gt-xs");break;case"md":this._activateByAlias("gt-sm, gt-xs");break;case"sm":this._activateByAlias("gt-xs")}}return this._activateByQuery(t)},e.prototype._activateByAlias=function(t){var e=this;t.split(",").forEach((function(t){return function(t){var n=e._breakpoints.findByAlias(t);e._activateByQuery(n?n.mediaQuery:t)}(t.trim())}))},e.prototype._activateByQuery=function(t){var e=this.registry.get(t);return e&&!this.isActive(t)&&this.registry.set(t,e.activate()),this.hasActivated},e.prototype._deactivateAll=function(){return this.registry.forEach((function(t){t.deactivate()})),this},e.prototype._registerMediaQuery=function(t){!this.registry.has(t)&&this.autoRegisterQueries&&this.registerQuery(t)},e.prototype.buildMQL=function(t){return new $(t)},Object.defineProperty(e.prototype,"hasActivated",{get:function(){return this.activations.length>0},enumerable:!0,configurable:!0}),e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]},{type:Q}]}}(X);var $=function(){function t(t){this._mediaQuery=t,this._isActive=!1,this._listeners=[],this.onchange=null}return Object.defineProperty(t.prototype,"matches",{get:function(){return this._isActive},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"media",{get:function(){return this._mediaQuery},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this.deactivate(),this._listeners=[]},t.prototype.activate=function(){var t=this;return this._isActive||(this._isActive=!0,this._listeners.forEach((function(e){e.call(null,t)}))),this},t.prototype.deactivate=function(){var t=this;return this._isActive&&(this._isActive=!1,this._listeners.forEach((function(e){e.call(null,t)}))),this},t.prototype.addListener=function(t){(-1===this._listeners.indexOf(t)&&this._listeners.push(t),this._isActive)&&t.call(null,this)},t.prototype.removeListener=function(t){},t.prototype.addEventListener=function(t,e,n){},t.prototype.removeEventListener=function(t,e,n){},t.prototype.dispatchEvent=function(t){return!1},t}(),J="print",tt={alias:J,mediaQuery:J,priority:1e3},et=function(){function t(t,e){this.breakpoints=t,this.layoutConfig=e,this.isPrinting=!1,this.queue=new nt,this.deactivations=[]}return t.prototype.withPrintQuery=function(t){return t.concat([J])},t.prototype.isPrintEvent=function(t){return t.mediaQuery.startsWith(J)},Object.defineProperty(t.prototype,"printAlias",{get:function(){return this.layoutConfig.printWithBreakpoints||[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"printBreakPoints",{get:function(){var t=this;return this.printAlias.map((function(e){return t.breakpoints.findByAlias(e)})).filter((function(t){return null!==t}))},enumerable:!0,configurable:!0}),t.prototype.getEventBreakpoints=function(t){var e=t.mediaQuery,n=this.breakpoints.findByQuery(e);return(n?this.printBreakPoints.concat([n]):this.printBreakPoints).sort(Y)},t.prototype.updateEvent=function(t){var e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),A(t,e)},t.prototype.interceptEvents=function(t){var e=this;return function(n){e.isPrintEvent(n)?n.matches&&!e.isPrinting?(e.startPrinting(t,e.getEventBreakpoints(n)),t.updateStyles()):!n.matches&&e.isPrinting&&(e.stopPrinting(t),t.updateStyles()):e.collectActivations(n)}},t.prototype.blockPropagation=function(){var t=this;return function(e){return!(t.isPrinting||t.isPrintEvent(e))}},t.prototype.startPrinting=function(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)},t.prototype.stopPrinting=function(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1},t.prototype.collectActivations=function(t){if(!this.isPrinting)if(t.matches)this.deactivations=[];else{var e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(Y))}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),nt=function(){function t(){this.printBreakpoints=[]}return t.prototype.addPrintBreakpoints=function(t){var e=this;return t.push(tt),t.sort(Y),t.forEach((function(t){return e.addBreakpoint(t)})),this.printBreakpoints},t.prototype.addBreakpoint=function(t){t&&(void 0===this.printBreakpoints.find((function(e){return e.mediaQuery===t.mediaQuery}))&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith(J)}(t)?[t].concat(this.printBreakpoints):this.printBreakpoints.concat([t])))},t.prototype.clear=function(){this.printBreakpoints=[]},t}();var rt=function(){function t(t,e,n){this.breakpoints=t,this.matchMedia=e,this.hook=n,this.filterOverlaps=!1,this.destroyed$=new a.a,this._media$=this.watchActivations(),this.media$=this._media$.pipe(Object(h.a)((function(t){return t.length>0})),Object(f.a)((function(t){return t[0]})))}return t.prototype.ngOnDestroy=function(){this.destroyed$.next(),this.destroyed$.complete()},t.prototype.asObservable=function(){return this._media$},t.prototype.isActive=function(t){var e=this;return function(t){return Array.isArray(t)?t:[t]}(t).map((function(t){return t.split(",")})).reduce((function(t,e){return t.concat(e)})).map((function(t){return t.trim()})).some((function(t){var n=function(t,e){var n=e.findByAlias(t)||e.findByQuery(t);return n?n.mediaQuery:t}(t,e.breakpoints);return e.matchMedia.isActive(n)}))},t.prototype.watchActivations=function(){var t=this.breakpoints.items.map((function(t){return t.mediaQuery}));return this.buildObservable(t)},t.prototype.buildObservable=function(t){var e=this;return this.matchMedia.observe(this.hook.withPrintQuery(t)).pipe(Object(h.a)((function(t){return t.matches})),Object(m.a)(0,u.a),Object(g.a)((function(t){return Object(p.a)(e.findAllActivations())})),Object(f.a)((function(t){return e.filterOverlaps?t.filter((function(t){var n=e.breakpoints.findByQuery(t.mediaQuery);return!n||!n.overlapping})):t})),Object(h.a)((function(t){return t.filter((function(t){return t.mediaQuery.length>0})).length>0})),Object(y.a)(this.destroyed$))},t.prototype.findAllActivations=function(){var t=this;return this.matchMedia.activations.map((function(t){return new C(!0,t)})).map((function(e){return t.hook.isPrintEvent(e)?t.hook.updateEvent(e):e})).map((function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))})).sort(Y)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:et}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(et))},token:t,providedIn:"root"}),t}();!function(){function t(t,e,n,r,i){this.breakpoints=t,this.matchMedia=e,this.layoutConfig=n,this._platformId=r,this._document=i,this.hasCachedRegistryMatches=!1,this.originalActivations=[],this.originalRegistry=new Map}t.prototype.activate=function(t){t=t.map((function(t){return t.trim()})),this.saveActivations(),this.deactivateAll(),this.setActivations(t),this.prepareAutoRestore()},t.prototype.restore=function(){if(this.hasCachedRegistryMatches){var t=this.originalActivations.map((function(t){return t.mediaQuery}));try{this.deactivateAll(),this.restoreRegistryMatches(),this.setActivations(t)}finally{this.originalActivations=[],this.resizeSubscription&&this.resizeSubscription.unsubscribe()}}},t.prototype.prepareAutoRestore=function(){if(Object(i.m)(this._platformId)&&this._document&&this.layoutConfig.mediaTriggerAutoRestore){var t=Object(d.a)(window,"resize").pipe(Object(v.a)(1));this.resizeSubscription=t.subscribe(this.restore.bind(this))}},t.prototype.deactivateAll=function(){var t=this.currentActivations;this.forceRegistryMatches(t,!1),this.simulateMediaChanges(t,!1)},t.prototype.saveActivations=function(){var t=this;if(!this.hasCachedRegistryMatches){this.originalActivations=this.currentActivations.map((function(t){return new C(!0,t)})).map((function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))})).sort(Y),this.cacheRegistryMatches()}},t.prototype.setActivations=function(t){this.originalRegistry&&this.forceRegistryMatches(t,!0),this.simulateMediaChanges(t)},t.prototype.simulateMediaChanges=function(t,e){var n=this;void 0===e&&(e=!0);t.map((function(t){var e=n.breakpoints,r=e.findByAlias(t)||e.findByQuery(t);return r?r.mediaQuery:t})).forEach((function(t){return n.emitChangeEvent(e,t)}))},t.prototype.forceRegistryMatches=function(t,e){var n=new Map;t.forEach((function(t){n.set(t,{matches:e})})),this.matchMedia.registry=n},t.prototype.cacheRegistryMatches=function(){var t=this.originalRegistry;t.clear(),this.matchMedia.registry.forEach((function(e,n){t.set(n,e)})),this.hasCachedRegistryMatches=!0},t.prototype.restoreRegistryMatches=function(){var t=this.matchMedia.registry;t.clear(),this.originalRegistry.forEach((function(e,n){t.set(n,e)})),this.originalRegistry.clear(),this.hasCachedRegistryMatches=!1},t.prototype.emitChangeEvent=function(t,e){this.matchMedia.source.next(new C(t,e))},Object.defineProperty(t.prototype,"currentActivations",{get:function(){return this.matchMedia.activations},enumerable:!0,configurable:!0}),t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:void 0,decorators:[{type:r.C,args:[S]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(S),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"})}();function it(t){for(var e in t){var n=t[e]||"";switch(e){case"display":t.display="flex"===n?["-webkit-flex","flex"]:"inline-flex"===n?["-webkit-inline-flex","inline-flex"]:n;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=n;break;case"flex-direction":n=n||"row",t["-webkit-flex-direction"]=n,t["flex-direction"]=n;break;case"order":t.order=t["-webkit-"+e]=isNaN(+n)?"0":n}}return t}var ot=function(){function t(t,e,n,r){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=n,this.layoutConfig=r}return t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=null);var r={};"string"==typeof e&&(r[e]=n,e=r),r=this.layoutConfig.disableVendorPrefixes?e:it(e),this._applyMultiValueStyleToElement(r,t)},t.prototype.applyStyleToElements=function(t,e){var n=this;void 0===e&&(e=[]);var r=this.layoutConfig.disableVendorPrefixes?t:it(t);e.forEach((function(t){n._applyMultiValueStyleToElement(r,t)}))},t.prototype.getFlowDirection=function(t){var e=this.lookupStyle(t,"flex-direction");return[e||"row",this.lookupInlineStyle(t,"flex-direction")||Object(i.n)(this._platformId)&&this._serverModuleLoaded?e:""]},t.prototype.lookupAttributeValue=function(t,e){return t.getAttribute(e)||""},t.prototype.lookupInlineStyle=function(t,e){return Object(i.m)(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)},t.prototype.lookupStyle=function(t,e,n){void 0===n&&(n=!1);var r="";t&&((r=this.lookupInlineStyle(t,e))||(Object(i.m)(this._platformId)?n||(r=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(r=this._serverStylesheet.getStyleForElement(t,e))));return r?r.trim():""},t.prototype._applyMultiValueStyleToElement=function(t,e){var n=this;Object.keys(t).sort().forEach((function(r){var o=t[r],a=Array.isArray(o)?o:[o];a.sort();for(var s=0,l=a;s0){var a=o.indexOf(":");if(-1===a)throw new Error("Invalid CSS style: "+o);e[o.substr(0,a).trim()]=o.substr(a+1).trim()}}return e},t.prototype._writeStyleAttribute=function(t,e){var n="";for(var r in e){e[r]&&(n+=r+":"+e[r]+";")}t.setAttribute("style",n)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:O,decorators:[{type:r.R}]},{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[k]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(O,8),Object(r.uc)(k,8),Object(r.uc)(r.U),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),at=function(){function t(){this.shouldCache=!0}return t.prototype.sideEffect=function(t,e,n){},t}();function st(t,e,n){void 0===e&&(e="1"),void 0===n&&(n="1");var r=[e,n,t],i=t.indexOf("calc");if(i>0)r[2]=lt(t.substring(i).trim()),2==(o=t.substr(0,i).trim().split(" ")).length&&(r[0]=o[0],r[1]=o[1]);else if(0==i)r[2]=lt(t.trim());else{var o;r=3===(o=t.split(" ")).length?o:[e,n,t]}return r}function lt(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}var ct=function(){function t(t,e,n){this.matchMedia=t,this.breakpoints=e,this.hook=n,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new a.a,this.observeActivations()}return Object.defineProperty(t.prototype,"activatedAlias",{get:function(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""},enumerable:!0,configurable:!0}),t.prototype.onMediaChange=function(t){var e=this.findByQuery(t.mediaQuery);e&&((t=A(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(Y),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(Y),this.updateStyles()))},t.prototype.init=function(t,e,n,r,i){void 0===i&&(i=[]),ut(this.updateMap,t,e,n),ut(this.clearMap,t,e,r),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,i)},t.prototype.getValue=function(t,e,n){var r=this.elementMap.get(t);if(r){var i=void 0!==n?r.get(n):this.getActivatedValues(r,e);if(i)return i.get(e)}},t.prototype.hasValue=function(t,e){var n=this.elementMap.get(t);if(n){var r=this.getActivatedValues(n,e);if(r)return void 0!==r.get(e)||!1}return!1},t.prototype.setValue=function(t,e,n,r){var i=this.elementMap.get(t);if(i){var o=(i.get(r)||new Map).set(e,n);i.set(r,o),this.elementMap.set(t,i)}else i=(new Map).set(r,(new Map).set(e,n)),this.elementMap.set(t,i);var a=this.getValue(t,e);void 0!==a&&this.updateElement(t,e,a)},t.prototype.trackValue=function(t,e){return this.subject.asObservable().pipe(Object(h.a)((function(n){return n.element===t&&n.key===e})))},t.prototype.updateStyles=function(){var t=this;this.elementMap.forEach((function(e,n){var r=new Set(t.elementKeyMap.get(n)),i=t.getActivatedValues(e);i&&i.forEach((function(e,i){t.updateElement(n,i,e),r.delete(i)})),r.forEach((function(r){if(i=t.getActivatedValues(e,r)){var o=i.get(r);t.updateElement(n,r,o)}else t.clearElement(n,r)}))}))},t.prototype.clearElement=function(t,e){var n=this.clearMap.get(t);if(n){var r=n.get(e);r&&(r(),this.subject.next({element:t,key:e,value:""}))}},t.prototype.updateElement=function(t,e,n){var r=this.updateMap.get(t);if(r){var i=r.get(e);i&&(i(n),this.subject.next({element:t,key:e,value:n}))}},t.prototype.releaseElement=function(t){var e=this.watcherMap.get(t);e&&(e.forEach((function(t){return t.unsubscribe()})),this.watcherMap.delete(t));var n=this.elementMap.get(t);n&&(n.forEach((function(t,e){return n.delete(e)})),this.elementMap.delete(t))},t.prototype.triggerUpdate=function(t,e){var n=this,r=this.elementMap.get(t);if(r){var i=this.getActivatedValues(r,e);i&&(e?this.updateElement(t,e,i.get(e)):i.forEach((function(e,r){return n.updateElement(t,r,e)})))}},t.prototype.buildElementKeyMap=function(t,e){var n=this.elementKeyMap.get(t);n||(n=new Set,this.elementKeyMap.set(t,n)),n.add(e)},t.prototype.watchExtraTriggers=function(t,e,n){var r=this;if(n&&n.length){var i=this.watcherMap.get(t);if(i||(i=new Map,this.watcherMap.set(t,i)),!i.get(e)){var o=c.a.apply(void 0,n).subscribe((function(){var n=r.getValue(t,e);r.updateElement(t,e,n)}));i.set(e,o)}}},t.prototype.findByQuery=function(t){return this.breakpoints.findByQuery(t)},t.prototype.getActivatedValues=function(t,e){for(var n=0;n(e=parseInt(e.getAttribute("tabindex")))?1:t\n
\n
    \n
    \n \n
    \n
    \n ?\n
    \n
    \n !\n
    \n
    \n i\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n

    \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n').replace(/(^|\n)\s*/g,""),$=function(t){var e=I();if(e&&(e.parentNode.removeChild(e),j([document.documentElement,document.body],[w["no-backdrop"],w["toast-shown"],w["has-column"]])),!X()){var n=document.createElement("div");n.className=w.container,n.innerHTML=Z;var r="string"==typeof t.target?document.querySelector(t.target):t.target;r.appendChild(n);var i,o=M(),a=L(),s=A(a,w.input),l=A(a,w.file),c=a.querySelector(".".concat(w.range," input")),u=a.querySelector(".".concat(w.range," output")),p=A(a,w.select),d=a.querySelector(".".concat(w.checkbox," input")),h=A(a,w.textarea);o.setAttribute("role",t.toast?"alert":"dialog"),o.setAttribute("aria-live",t.toast?"polite":"assertive"),t.toast||o.setAttribute("aria-modal","true"),"rtl"===window.getComputedStyle(r).direction&&k(I(),w.rtl);var m=function(t){Vt.isVisible()&&i!==t.target.value&&Vt.resetValidationMessage(),i=t.target.value};return s.oninput=m,l.onchange=m,p.onchange=m,d.onchange=m,h.oninput=m,c.oninput=function(t){m(t),u.value=c.value},c.onchange=function(t){m(t),c.nextSibling.value=c.value},o}f("SweetAlert2 requires document to initialize")},J=function(e,n){if(!e)return T(n);if(e instanceof HTMLElement)n.appendChild(e);else if("object"===t(e))if(n.innerHTML="",0 in e)for(var r=0;r in e;r++)n.appendChild(e[r].cloneNode(!0));else n.appendChild(e.cloneNode(!0));else e&&(n.innerHTML=e);D(n)},tt=function(){if(X())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(e.hasOwnProperty(n)&&void 0!==t.style[n])return e[n];return!1}(),et=function(t){var e=G(),n=H(),r=U();if(t.showConfirmButton||t.showCancelButton?D(e):T(e),t.showCancelButton?r.style.display="inline-block":T(r),t.showConfirmButton?n.style.removeProperty("display"):T(n),n.innerHTML=t.confirmButtonText,r.innerHTML=t.cancelButtonText,n.setAttribute("aria-label",t.confirmButtonAriaLabel),r.setAttribute("aria-label",t.cancelButtonAriaLabel),n.className=w.confirm,k(n,t.confirmButtonClass),r.className=w.cancel,k(r,t.cancelButtonClass),t.buttonsStyling){k([n,r],w.styled),t.confirmButtonColor&&(n.style.backgroundColor=t.confirmButtonColor),t.cancelButtonColor&&(r.style.backgroundColor=t.cancelButtonColor);var i=window.getComputedStyle(n).getPropertyValue("background-color");n.style.borderLeftColor=i,n.style.borderRightColor=i}else j([n,r],w.styled),n.style.backgroundColor=n.style.borderLeftColor=n.style.borderRightColor="",r.style.backgroundColor=r.style.borderLeftColor=r.style.borderRightColor=""},nt=function(t){var e=L().querySelector("#"+w.content);t.html?J(t.html,e):t.text?(e.textContent=t.text,D(e)):T(e)},rt=function(t){for(var e=N(),n=0;n=t.progressSteps.length&&h("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),t.progressSteps.forEach((function(r,i){var o=document.createElement("li");if(k(o,w.progresscircle),o.innerHTML=r,i===n&&k(o,w.activeprogressstep),e.appendChild(o),i!==t.progressSteps.length-1){var a=document.createElement("li");k(a,w.progressline),t.progressStepsDistance&&(a.style.width=t.progressStepsDistance),e.appendChild(a)}}))):T(e)},at=function(t){var e=F();t.titleText?e.innerText=t.titleText:t.title&&("string"==typeof t.title&&(t.title=t.title.split("\n").join("
    ")),J(t.title,e))},st=function(){null===C.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(C.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=C.previousBodyPadding+function(){if("ontouchstart"in window||navigator.msMaxTouchPoints)return 0;var t=document.createElement("div");t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e}()+"px")},lt=function(){return!!window.MSInputMethodContext&&!!document.documentMode},ct=function(){var t=I(),e=M();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")},ut={},pt=function(t,e){var n=I(),r=M();if(r){null!==t&&"function"==typeof t&&t(r),j(r,w.show),k(r,w.hide);var i=function(){Q()?dt(e):(new Promise((function(t){var e=window.scrollX,n=window.scrollY;ut.restoreFocusTimeout=setTimeout((function(){ut.previousActiveElement&&ut.previousActiveElement.focus?(ut.previousActiveElement.focus(),ut.previousActiveElement=null):document.body&&document.body.focus(),t()}),100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})).then((function(){return dt(e)})),ut.keydownTarget.removeEventListener("keydown",ut.keydownHandler,{capture:ut.keydownListenerCapture}),ut.keydownHandlerAdded=!1),n.parentNode&&n.parentNode.removeChild(n),j([document.documentElement,document.body],[w.shown,w["height-auto"],w["no-backdrop"],w["toast-shown"],w["toast-column"]]),K()&&(null!==C.previousBodyPadding&&(document.body.style.paddingRight=C.previousBodyPadding,C.previousBodyPadding=null),function(){if(O(document.body,w.iosfix)){var t=parseInt(document.body.style.top,10);j(document.body,w.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),"undefined"!=typeof window&<()&&window.removeEventListener("resize",ct),p(document.body.children).forEach((function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})))};tt&&!O(r,w.noanimation)?r.addEventListener(tt,(function t(){r.removeEventListener(tt,t),O(r,w.hide)&&i()})):i()}},dt=function(t){null!==t&&"function"==typeof t&&setTimeout((function(){t()}))};function ht(t){var e=function t(){for(var e=arguments.length,n=new Array(e),r=0;r.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-top-left,body.swal2-no-backdrop .swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-top-end,body.swal2-no-backdrop .swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-left,body.swal2-no-backdrop .swal2-shown.swal2-center-start{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-end,body.swal2-no-backdrop .swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom-left,body.swal2-no-backdrop .swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-bottom-end,body.swal2-no-backdrop .swal2-shown.swal2-bottom-right{right:0;bottom:0}.swal2-container{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:10px;background-color:transparent;z-index:1060;overflow-x:hidden;-webkit-overflow-scrolling:touch}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{display:none;position:relative;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem;box-sizing:border-box}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-header{display:flex;flex-direction:column;align-items:center}.swal2-popup .swal2-title{display:block;position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-popup .swal2-actions{flex-wrap:wrap;align-items:center;justify-content:center;margin:1.25em auto 0;z-index:1}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm{width:2.5em;height:2.5em;margin:.46875em;padding:0;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent;cursor:default;box-sizing:border-box;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;width:15px;height:15px;margin-left:5px;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff;content:'';-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{margin:.3125em;padding:.625em 2em;font-weight:500;box-shadow:none}.swal2-popup .swal2-styled:not([disabled]){cursor:pointer}.swal2-popup .swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled:focus{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-styled::-moz-focus-inner{border:0}.swal2-popup .swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-popup .swal2-image{max-width:100%;margin:1.25em auto}.swal2-popup .swal2-close{position:absolute;top:0;right:0;justify-content:center;width:1.2em;height:1.2em;padding:0;transition:color .1s ease-out;border:none;border-radius:0;outline:initial;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer;overflow:hidden}.swal2-popup .swal2-close:hover{-webkit-transform:none;transform:none;color:#f27474}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{justify-content:center;margin:0;padding:0;color:#545454;font-size:1.125em;font-weight:300;line-height:normal;z-index:1;word-wrap:break-word}.swal2-popup #swal2-content{text-align:center}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:1em auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;font-size:1.125em;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-sizing:border-box}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{width:80%}.swal2-popup .swal2-range output{width:20%;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:2.625em;margin:1em auto;padding:0;font-size:1.125em;line-height:2.625em}.swal2-popup .swal2-input{height:2.625em;padding:0 .75em}.swal2-popup .swal2-input[type=number]{max-width:10em}.swal2-popup .swal2-file{font-size:1.125em}.swal2-popup .swal2-textarea{height:6.75em;padding:.75em}.swal2-popup .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;color:#545454;font-size:1.125em}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-radio{align-items:center;justify-content:center}.swal2-popup .swal2-checkbox label,.swal2-popup .swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-radio input{margin:0 .4em}.swal2-popup .swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;background:#f0f0f0;color:#666;font-size:1em;font-weight:300;overflow:hidden}.swal2-popup .swal2-validation-message::before{display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center;content:'!';zoom:normal}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}.swal2-icon{position:relative;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;line-height:5em;cursor:default;box-sizing:content-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;zoom:normal}.swal2-icon-text{font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:3.75em 3.75em;transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 3.75em;transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;top:-.25em;left:-.25em;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%;z-index:2;box-sizing:content-box}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;top:.5em;left:1.625em;width:.4375em;height:5.625em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);z-index:1}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;height:.3125em;border-radius:.125em;background-color:#a5dc86;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.875em;width:1.5625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{align-items:center;margin:0 0 1.25em;padding:0;font-weight:600}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{width:2.5em;height:.4em;margin:0 -1px;background:#3085d6;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-animate-success-icon .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-animate-success-icon .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-animate-error-icon{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-animate-error-icon .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}@-webkit-keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:initial!important}}")},Phjn:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("psW0");function i(t,e){return Object(r.a)(t,e,1)}},PuKC:function(t,e,n){"use strict";n.r(e),e.default=".search {\n width: 0;\n overflow: hidden;\n opacity: 0;\n visibility: hidden;\n transition: all 0.4s cubic-bezier(0.35, 0, 0.25, 1);\n margin-top: 7px;\n}\n\n.search.search-open {\n width: 250px;\n visibility: visible;\n opacity: 1;\n margin-top: 11px;\n}"},Rney:function(t,e,n){"use strict";var r=n("T1DM"),i=n("mrSG"),o=n("MGBS"),a=n("zotm");var s=function(){function t(t){this.durationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.durationSelector))},t}(),l=function(t){function e(e,n){var r=t.call(this,e)||this;return r.durationSelector=n,r.hasValue=!1,r}return i.c(e,t),e.prototype._next=function(t){if(this.value=t,this.hasValue=!0,!this.throttled){var e=void 0;try{e=(0,this.durationSelector)(t)}catch(r){return this.destination.error(r)}var n=Object(a.a)(this,e);!n||n.closed?this.clearThrottle():this.add(this.throttled=n)}},e.prototype.clearThrottle=function(){var t=this.value,e=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))},e.prototype.notifyNext=function(t,e,n,r){this.clearThrottle()},e.prototype.notifyComplete=function(){this.clearThrottle()},e}(o.a),c=n("gI3B");function u(t,e){return void 0===e&&(e=r.a),n=function(){return Object(c.a)(t,e)},function(t){return t.lift(new s(n))};var n}n.d(e,"a",(function(){return u}))},S1nX:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n("xlPZ"),i=n("yGWI"),o=n("K9Ia");function a(){return new o.a}function s(){return function(t){return Object(i.a)()(Object(r.a)(a)(t))}}},SMsm:function(t,e,n){"use strict";n.d(e,"a",(function(){return I}));var r=n("Ip0R"),i=n("t/Na"),o=n("CcnG"),a=n("ZYjt"),s=n("F/XL"),l=n("XlPw"),c=n("VNr4"),u=n("xMyE"),p=n("67Y/"),d=n("9Z1F"),h=n("2WpN"),f=n("S1nX"),m=n("t9fZ"),g=n("mrSG"),y=n("Wf4p"),v=n("n6gG");function b(t){return Error('Unable to find icon with the name "'+t+'"')}function _(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}function w(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \""+t+'".')}var x=function(t){t.nodeName?this.svgElement=t:this.url=t},C=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconLiteral=function(t,e){return this.addSvgIconLiteralInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){return this._addSvgIconConfig(t,e,new x(n))},t.prototype.addSvgIconLiteralInNamespace=function(t,e,n){var r=this._sanitizer.sanitize(o.db.HTML,n);if(!r)throw w(n);var i=this._createSvgElementForSingleIcon(r);return this._addSvgIconConfig(t,e,new x(i))},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetLiteral=function(t){return this.addSvgIconSetLiteralInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){return this._addSvgIconSetConfig(t,new x(e))},t.prototype.addSvgIconSetLiteralInNamespace=function(t,e){var n=this._sanitizer.sanitize(o.db.HTML,e);if(!n)throw w(e);var r=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new x(r))},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(o.db.RESOURCE_URL,t);if(!n)throw _(t);var r=this._cachedIconsByUrl.get(n);return r?Object(s.a)(O(r)):this._loadSvgIconFromConfig(new x(t)).pipe(Object(u.a)((function(t){return e._cachedIconsByUrl.set(n,t)})),Object(p.a)((function(t){return O(t)})))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=E(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):Object(l.a)(b(n))},t.prototype.ngOnDestroy=function(){this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()},t.prototype._getSvgFromConfig=function(t){return t.svgElement?Object(s.a)(O(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Object(u.a)((function(e){return t.svgElement=e})),Object(p.a)((function(t){return O(t)})))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,r=this._extractIconWithNameFromAnySet(t,e);if(r)return Object(s.a)(r);var i=e.filter((function(t){return!t.svgElement})).map((function(t){return n._loadSvgIconSetFromConfig(t).pipe(Object(d.a)((function(e){var r=n._sanitizer.sanitize(o.db.RESOURCE_URL,t.url);return console.error("Loading icon set URL: "+r+" failed: "+e.message),Object(s.a)(null)})))}));return Object(c.a)(i).pipe(Object(p.a)((function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw b(t);return r})))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object(p.a)((function(t){return e._createSvgElementForSingleIcon(t)})))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return t.svgElement?Object(s.a)(t.svgElement):this._fetchUrl(t.url).pipe(Object(p.a)((function(n){return t.svgElement||(t.svgElement=e._svgElementFromString(n)),t.svgElement})))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){var e=this._document.createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n",selector:"mat-icon",exportAs:"matIcon",styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],inputs:["color"],host:{role:"img",class:"mat-icon notranslate","[class.mat-icon-inline]":"inline","[class.mat-icon-no-color]":'color !== "primary" && color !== "accent" && color !== "warn"'},encapsulation:o.qb.None,changeDetection:o.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.u},{type:C},{type:String,decorators:[{type:o.h,args:["aria-hidden"]}]},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[j]}]}]},e.propDecorators={inline:[{type:o.G}],svgIcon:[{type:o.G}],fontSet:[{type:o.G}],fontIcon:[{type:o.G}]},e}(k),I=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[y.h],exports:[P,y.h],declarations:[P]}]}],t}()},SO0w:function(t,e,n){"use strict";n.r(e),e.default=""},T1DM:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("h9Dq"),i=new(n("CS9Q").a)(r.a)},TMTi:function(t,e,n){"use strict";n.r(e),e.default='

    {{ \'EDIT\' | translate }} {{minion.name}}

    \r\n
    \r\n

    {{ \'USE_AUTO_TURNOFF_TIMEOUT\' | translate }}

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \x3c!--
    --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n \x3c!--
    --\x3e\r\n
    \r\n
    \r\n \r\n \r\n
    '},Txjg:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("Zn8D");function i(){return Object(r.a)(1)}},UodH:function(t,e,n){"use strict";n.d(e,"b",(function(){return m})),n.d(e,"a",(function(){return h}));var r=n("mrSG"),i=n("lLAP"),o=n("dWZg"),a=n("CcnG"),s=n("Wf4p"),l=n("wFw1"),c=n("Ip0R"),u="accent",p=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],d=function(t){this._elementRef=t},h=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;o._focusMonitor=r,o._animationMode=i,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");for(var a=0,s=p;a
    ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],inputs:["disabled","disableRipple","color"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:a.u},{type:o.a},{type:i.e},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={ripple:[{type:a.nb,args:[s.p]}]},e}(Object(s.u)(Object(s.w)(Object(s.v)(d)))),f=function(t){function e(e,n,r,i){return t.call(this,r,e,n,i)||this}return Object(r.c)(e,t),e.prototype._haltDisabledEvents=function(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())},e.decorators=[{type:a.n,args:[{selector:"a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab],\n a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]",exportAs:"matButton, matAnchor",host:{"[attr.tabindex]":"disabled ? -1 : (tabIndex || 0)","[attr.disabled]":"disabled || null","[attr.aria-disabled]":"disabled.toString()","(click)":"_haltDisabledEvents($event)","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},inputs:["disabled","disableRipple","color"],template:'
    ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.a},{type:i.e},{type:a.u},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={tabIndex:[{type:a.G}]},e}(h),m=function(){function t(){}return t.decorators=[{type:a.L,args:[{imports:[c.b,s.q,s.h],exports:[h,f,s.h],declarations:[h,f]}]}],t}()},"V9q+":function(t,e,n){"use strict";var r=n("CcnG"),i=n("mrSG"),o=n("Ip0R"),a=n("OzfB"),s=n("n6gG"),l=n("ny24"),c=n("ZYjt"),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{content:t?"url("+t+")":""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),p=function(t){function e(e,n,r,i,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="img-src",l.defaultSrc="",l.styleCache=d,l.init(),l.setValue(l.nativeElement.getAttribute("src")||"",""),Object(o.n)(l.platformId)&&l.serverModuleLoaded&&l.nativeElement.setAttribute("src",""),l}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"src",{set:function(t){this.defaultSrc=t,this.setValue(this.defaultSrc,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){var e=t||this.defaultSrc;Object(o.n)(this.platformId)&&this.serverModuleLoaded?this.addStyles(e):this.nativeElement.setAttribute("src",e)},e.decorators=[{type:r.t,args:[{selector:"img-src-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:u},{type:a.j},{type:a.f},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:Boolean,decorators:[{type:r.C,args:[a.h]}]}]},e.propDecorators={src:[{type:r.G,args:["src"]}]},e}(a.b),d=new Map,h=["src.xs","src.sm","src.md","src.lg","src.xl","src.lt-sm","src.lt-md","src.lt-lg","src.lt-xl","src.gt-xs","src.gt-sm","src.gt-md","src.gt-lg"],f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=h,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n img[src.xs], img[src.sm], img[src.md], img[src.lg], img[src.xl],\n img[src.lt-sm], img[src.lt-md], img[src.lt-lg], img[src.lt-xl],\n img[src.gt-xs], img[src.gt-sm], img[src.gt-md], img[src.gt-lg]\n",inputs:h}]}],e}(p),m=function(t){function e(e,n,r,i,a){var s=t.call(this,e,null,n,r)||this;return s.elementRef=e,s.styler=n,s.marshal=r,s.delegate=i,s.ngClassInstance=a,s.DIRECTIVE_KEY="ngClass",s.ngClassInstance||(s.ngClassInstance=new o.h(s.delegate)),s.init(),s.setValue("",""),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"klass",{set:function(t){this.ngClassInstance.klass=t,this.setValue(t,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.ngClassInstance.ngClass=t,this.ngClassInstance.ngDoCheck()},e.prototype.ngDoCheck=function(){this.ngClassInstance.ngDoCheck()},e.decorators=[{type:r.t,args:[{selector:"class-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:a.f},{type:o.o},{type:o.h,decorators:[{type:r.R},{type:r.eb}]}]},e.propDecorators={klass:[{type:r.G,args:["class"]}]},e}(a.b),g=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"],y={provide:o.o,useClass:o.p},v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=g,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl],\n [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl],\n [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]\n",inputs:g,providers:[y]}]}],e}(m),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:"true"===t?e.display:"none"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),_=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.layoutConfig=o,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="show-hide",l.display="",l.hasLayout=!1,l.hasFlexChild=!1,l}return Object(i.c)(e,t),e.prototype.ngAfterViewInit=function(){this.trackExtraTriggers();for(var t=Array.from(this.nativeElement.children),e=0;e-1}function z(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return i=V(t),e=i[0],n=i[1],r=i[2],void 0===n&&(n=null),void 0===r&&(r=!1),{display:r?"inline-flex":"flex","box-sizing":"border-box","flex-direction":e,"flex-wrap":n||null};var e,n,r,i},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),U=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"],G=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout",o.styleCache=W,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"layout-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:H,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),q=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=U,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],\n [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],\n [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],\n [fxLayout.gt-md], [fxLayout.gt-lg]\n",inputs:U}]}],e}(G),W=new Map,Y={"margin-left":null,"margin-right":null,"margin-top":null,"margin-bottom":null},K=function(t){function e(e){var n=t.call(this)||this;return n._styler=e,n}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return t.endsWith(nt)?function(t,e){var n="0px",r="0px";"rtl"===e?r="-"+t:n="-"+t;return{margin:"0px "+n+" -"+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),e.directionality):{}},e.prototype.sideEffect=function(t,e,n){var r=n.items;if(t.endsWith(nt)){var o=function(t,e){var n="0px",r="0px";"rtl"===e?r=t:n=t;return{padding:"0px "+n+" "+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),n.directionality);this._styler.applyStyleToElements(o,n.items)}else{var a=r.pop(),s=function(t,e){var n=rt(e.directionality,e.layout),r=Object(i.a)({},Y);return r[n]=t,r}(t,n);this._styler.applyStyleToElements(s,r),this._styler.applyStyleToElements(Y,[a])}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:a.j}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.j))},token:e,providedIn:"root"}),e}(a.i),Q=["fxLayoutGap","fxLayoutGap.xs","fxLayoutGap.sm","fxLayoutGap.md","fxLayoutGap.lg","fxLayoutGap.xl","fxLayoutGap.lt-sm","fxLayoutGap.lt-md","fxLayoutGap.lt-lg","fxLayoutGap.lt-xl","fxLayoutGap.gt-xs","fxLayoutGap.gt-sm","fxLayoutGap.gt-md","fxLayoutGap.gt-lg"],X=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e,o,i,a)||this;s.elRef=e,s.zone=n,s.directionality=r,s.styleUtils=i,s.styleBuilder=o,s.marshal=a,s.layout="row",s.DIRECTIVE_KEY="layout-gap",s.observerSubject=new N.a;var c=[s.directionality.change,s.observerSubject.asObservable()];return s.init(c),s.marshal.trackValue(s.nativeElement,"layout").pipe(Object(l.a)(s.destroySubject)).subscribe(s.onLayoutChange.bind(s)),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"childrenNodes",{get:function(){for(var t=this.nativeElement.children,e=[],n=t.length;n--;)e[n]=t[n];return e},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this.buildChildObservable(),this.triggerUpdate()},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this.observer&&this.observer.disconnect()},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],L.find((function(t){return t===e.layout}))||(this.layout="row"),this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=this,n=this.childrenNodes.filter((function(t){return 1===t.nodeType&&e.willDisplay(t)})).sort((function(t,n){var r=+e.styler.lookupStyle(t,"order"),i=+e.styler.lookupStyle(n,"order");return isNaN(r)||isNaN(i)||r===i?0:r>i?1:-1}));if(n.length>0){var r=this.directionality.value,i=this.layout;"row"===i&&"rtl"===r?this.styleCache=$:"row"===i&&"rtl"!==r?this.styleCache=tt:"column"===i&&"rtl"===r?this.styleCache=J:"column"===i&&"rtl"!==r&&(this.styleCache=et),this.addStyles(t,{directionality:r,items:n,layout:i})}},e.prototype.clearStyles=function(){var e,n=Object.keys(this.mru).length>0,r=n?"padding":rt(this.directionality.value,this.layout);n&&t.prototype.clearStyles.call(this),this.styleUtils.applyStyleToElements(((e={})[r]="",e),this.childrenNodes)},e.prototype.willDisplay=function(t){var e=this.marshal.getValue(t,"show-hide");return!0===e||void 0===e&&"none"!==this.styleUtils.lookupStyle(t,"display")},e.prototype.buildChildObservable=function(){var t=this;this.zone.runOutsideAngular((function(){"undefined"!=typeof MutationObserver&&(t.observer=new MutationObserver((function(e){e.some((function(t){return t.addedNodes&&t.addedNodes.length>0||t.removedNodes&&t.removedNodes.length>0}))&&t.observerSubject.next()})),t.observer.observe(t.nativeElement,{childList:!0}))}))},e.decorators=[{type:r.t,args:[{selector:"layout-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:M.b},{type:a.j},{type:K,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Z=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Q,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],\n [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],\n [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],\n [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]\n",inputs:Q}]}],e}(X),$=new Map,J=new Map,tt=new Map,et=new Map,nt=" grid";function rt(t,e){switch(e){case"column":return"margin-bottom";case"column-reverse":return"margin-top";case"row":return"rtl"===t?"margin-left":"margin-right";case"row-reverse":return"rtl"===t?"margin-right":"margin-left";default:return"rtl"===t?"margin-left":"margin-right"}}function it(t){for(var e=[],n=1;n-1?"column":"row",s=B(a)?"max-width":"max-height",l=B(a)?"min-width":"min-height",c=String(o).indexOf("calc")>-1,u=c||"auto"===o,p=String(o).indexOf("%")>-1&&!c,d=String(o).indexOf("px")>-1||String(o).indexOf("rem")>-1||String(o).indexOf("em")>-1||String(o).indexOf("vw")>-1||String(o).indexOf("vh")>-1,h=c||d;i="0"==i?0:i;var f=!(r="0"==r?0:r)&&!i,m={},g={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(o||""){case"":var y=!1!==this.layoutConfig.useColumnBasisZero;o="row"===a?"0%":y?"0.000000001px":"auto";break;case"initial":case"nogrow":r=0,o="auto";break;case"grow":o="100%";break;case"noshrink":i=0,o="auto";break;case"auto":break;case"none":r=0,i=0,o="auto";break;default:h||p||isNaN(o)||(o+="%"),"0%"===o&&(h=!0),"0px"===o&&(o="0%"),m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":h?o:"100%"}:{flex:r+" "+i+" "+(h?o:"100%")})}return m.flex||m["flex-grow"]||(m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o})),"0%"!==o&&"0px"!==o&&"0.000000001px"!==o&&"auto"!==o&&(m[l]=f||h&&r?o:null,m[s]=f||!u&&i?o:null),m[l]||m[s]?e.hasWrap&&(m[c?"flex-basis":"flex"]=m[s]?c?m[s]:r+" "+i+" "+m[s]:c?m[l]:r+" "+i+" "+m[l]):m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o}),it(m,{"box-sizing":"border-box"})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.C,args:[a.e]}]}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.e))},token:e,providedIn:"root"}),e}(a.i),at=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"],st=function(t){function e(e,n,r,i,o){var a=t.call(this,e,i,n,o)||this;return a.elRef=e,a.styleUtils=n,a.layoutConfig=r,a.styleBuilder=i,a.marshal=o,a.DIRECTIVE_KEY="flex",a.direction="",a.wrap=!1,a.flexGrow="1",a.flexShrink="1",a.init(),a.parentElement&&(a.marshal.trackValue(a.parentElement,"layout").pipe(Object(l.a)(a.destroySubject)).subscribe(a.onLayoutChange.bind(a)),a.marshal.trackValue(a.nativeElement,"layout-align").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerReflow.bind(a))),a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"shrink",{get:function(){return this.flexShrink},set:function(t){this.flexShrink=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"grow",{get:function(){return this.flexGrow},set:function(t){this.flexGrow=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),e.prototype.onLayoutChange=function(t){var e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=!1!==this.layoutConfig.addFlexToParent;this.direction||(this.direction=this.getFlexFlowDirection(this.parentElement,e));var n=this.direction,r=n.startsWith("row"),i=this.wrap;r&&i?this.styleCache=pt:r&&!i?this.styleCache=ct:!r&&i?this.styleCache=dt:r||i||(this.styleCache=ut);var o=String(t).replace(";",""),s=Object(a.k)(o,this.flexGrow,this.flexShrink);this.addStyles(s.join(" "),{direction:n,hasWrap:i})},e.prototype.triggerReflow=function(){var t=this.activatedValue;if(void 0!==t){var e=Object(a.k)(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}},e.decorators=[{type:r.t,args:[{selector:"flex-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:void 0,decorators:[{type:r.C,args:[a.e]}]},{type:ot},{type:a.f}]},e.propDecorators={shrink:[{type:r.G,args:["fxShrink"]}],grow:[{type:r.G,args:["fxGrow"]}]},e}(a.b),lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=at,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{inputs:at,selector:"\n [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],\n [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],\n [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],\n [fxFlex.gt-md], [fxFlex.gt-lg]\n"}]}],e}(st),ct=new Map,ut=new Map,pt=new Map,dt=new Map,ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{order:t&&parseInt(t,10)||""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ft=["fxFlexOrder","fxFlexOrder.xs","fxFlexOrder.sm","fxFlexOrder.md","fxFlexOrder.lg","fxFlexOrder.xl","fxFlexOrder.lt-sm","fxFlexOrder.lt-md","fxFlexOrder.lt-lg","fxFlexOrder.lt-xl","fxFlexOrder.gt-xs","fxFlexOrder.gt-sm","fxFlexOrder.gt-md","fxFlexOrder.gt-lg"],mt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-order",o.styleCache=gt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-order-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ht,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),gt=new Map,yt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ft,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\n",inputs:ft}]}],e}(mt),vt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n;""===t&&(t="0");var r=String(t).indexOf("%")>-1;String(t).indexOf("px")>-1||r||isNaN(+t)||(t+="%");var i=e.isRtl?"margin-right":"margin-left";return B(e.layout)?((n={})[i]=""+t,n):{"margin-top":""+t}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),bt=["fxFlexOffset","fxFlexOffset.xs","fxFlexOffset.sm","fxFlexOffset.md","fxFlexOffset.lg","fxFlexOffset.xl","fxFlexOffset.lt-sm","fxFlexOffset.lt-md","fxFlexOffset.lt-lg","fxFlexOffset.lt-xl","fxFlexOffset.gt-xs","fxFlexOffset.gt-sm","fxFlexOffset.gt-md","fxFlexOffset.gt-lg"],_t=function(t){function e(e,n,r,i,o){var a=t.call(this,e,r,o,i)||this;return a.elRef=e,a.directionality=n,a.styleBuilder=r,a.marshal=i,a.styler=o,a.DIRECTIVE_KEY="flex-offset",a.init([a.directionality.change]),a.parentElement&&a.marshal.trackValue(a.parentElement,"layout-gap").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerUpdate.bind(a)),a}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){void 0===t&&(t="");var e=this.getFlexFlowDirection(this.parentElement,!0),n="rtl"===this.directionality.value;"row"===e&&n?this.styleCache=xt:"row"!==e||n?"column"===e&&n?this.styleCache=Ct:"column"!==e||n||(this.styleCache=Et):this.styleCache=Ot,this.addStyles(t+"",{layout:e,isRtl:n})},e.decorators=[{type:r.t,args:[{selector:"flex-offset-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:M.b},{type:vt,decorators:[{type:r.R}]},{type:a.f},{type:a.j}]},e}(a.b),wt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=bt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\n",inputs:bt}]}],e}(_t),xt=new Map,Ct=new Map,Ot=new Map,Et=new Map,St=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){var e={};switch(t=t||"stretch"){case"start":e["align-self"]="flex-start";break;case"end":e["align-self"]="flex-end";break;default:e["align-self"]=t}return e},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),kt=["fxFlexAlign","fxFlexAlign.xs","fxFlexAlign.sm","fxFlexAlign.md","fxFlexAlign.lg","fxFlexAlign.xl","fxFlexAlign.lt-sm","fxFlexAlign.lt-md","fxFlexAlign.lt-lg","fxFlexAlign.lt-xl","fxFlexAlign.gt-xs","fxFlexAlign.gt-sm","fxFlexAlign.gt-md","fxFlexAlign.gt-lg"],jt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-align",o.styleCache=At,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:St,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),At=new Map,Dt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=kt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\n",inputs:kt}]}],e}(jt),Tt={margin:0,width:"100%",height:"100%","min-width":"100%","min-height":"100%"},Pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return Tt},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),It=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.styleCache=Rt,o.addStyles(""),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"[fxFill], [fxFlexFill]"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Pt},{type:a.f}]},e}(a.b),Rt=new Map,Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["justify-content"]="center";break;case"space-around":n["justify-content"]="space-around";break;case"space-between":n["justify-content"]="space-between";break;case"space-evenly":n["justify-content"]="space-evenly";break;case"end":case"flex-end":n["justify-content"]="flex-end";break;case"start":case"flex-start":default:n["justify-content"]="flex-start"}switch(o){case"start":case"flex-start":n["align-items"]=n["align-content"]="flex-start";break;case"center":n["align-items"]=n["align-content"]="center";break;case"end":case"flex-end":n["align-items"]=n["align-content"]="flex-end";break;case"space-between":n["align-content"]="space-between",n["align-items"]="stretch";break;case"space-around":n["align-content"]="space-around",n["align-items"]="stretch";break;case"baseline":n["align-content"]="stretch",n["align-items"]="baseline";break;case"stretch":default:n["align-items"]=n["align-content"]="stretch"}return it(n,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===o?B(e.layout)?null:"100%":null,"max-height":"stretch"===o&&B(e.layout)?"100%":null})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Nt=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"],Ft=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout-align",o.layout="row",o.inline=!1,o.init(),o.marshal.trackValue(o.nativeElement,"layout").pipe(Object(l.a)(o.destroySubject)).subscribe(o.onLayoutChange.bind(o)),o}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){var e=this.layout||"row",n=this.inline;"row"===e&&n?this.styleCache=Ut:"row"!==e||n?"row-reverse"===e&&n?this.styleCache=qt:"row-reverse"!==e||n?"column"===e&&n?this.styleCache=Gt:"column"!==e||n?"column-reverse"===e&&n?this.styleCache=Wt:"column-reverse"!==e||n||(this.styleCache=Ht):this.styleCache=Bt:this.styleCache=zt:this.styleCache=Vt,this.addStyles(t,{layout:e,inline:n})},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],this.inline=t.value.includes("inline"),L.find((function(t){return t===e.layout}))||(this.layout="row"),this.triggerUpdate()},e.decorators=[{type:r.t,args:[{selector:"layout-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Mt,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Nt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],\n [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],\n [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],\n [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]\n",inputs:Nt}]}],e}(Ft),Vt=new Map,Bt=new Map,zt=new Map,Ht=new Map,Ut=new Map,Gt=new Map,qt=new Map,Wt=new Map,Yt=[q,Z,Lt,yt,wt,It,Dt,lt,st,jt,_t,mt,G,Ft,X],Kt=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c,M.a],declarations:Yt.slice(),exports:Yt.slice()}]}],t}(),Qt="stretch",Xt="stretch",Zt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return function(t){void 0===t&&(t="");var e={},n=t.split(" "),r=n[0],i=n[1];switch(r){case"end":e["justify-self"]="end";break;case"center":e["justify-self"]="center";break;case"stretch":e["justify-self"]="stretch";break;case"start":e["justify-self"]="start";break;default:e["justify-self"]=Qt}switch(i){case"end":e["align-self"]="end";break;case"center":e["align-self"]="center";break;case"stretch":e["align-self"]="stretch";break;case"start":e["align-self"]="start";break;default:e["align-self"]=Xt}return e}(t||Qt)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),$t=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align",o.styleCache=Jt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Zt,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Jt=new Map,te=["gdGridAlign","gdGridAlign.xs","gdGridAlign.sm","gdGridAlign.md","gdGridAlign.lg","gdGridAlign.xl","gdGridAlign.lt-sm","gdGridAlign.lt-md","gdGridAlign.lt-lg","gdGridAlign.lt-xl","gdGridAlign.gt-xs","gdGridAlign.gt-sm","gdGridAlign.gt-md","gdGridAlign.gt-lg"],ee=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=te,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n",inputs:te}]}],e}($t);var ne="start",re="stretch",ie=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["align-content"]="center";break;case"space-around":n["align-content"]="space-around";break;case"space-between":n["align-content"]="space-between";break;case"space-evenly":n["align-content"]="space-evenly";break;case"end":n["align-content"]="end";break;case"start":n["align-content"]="start";break;case"stretch":n["align-content"]="stretch";break;default:n["align-content"]=ne}switch(o){case"start":n["align-items"]="start";break;case"center":n["align-items"]="center";break;case"end":n["align-items"]="end";break;case"stretch":n["align-items"]="stretch";break;default:n["align-items"]=re}return n.display=e?"inline-grid":"grid",n}(t||ne+" "+re,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),oe=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?se:ae,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:ie,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),ae=new Map,se=new Map,le=["gdAlignColumns","gdAlignColumns.xs","gdAlignColumns.sm","gdAlignColumns.md","gdAlignColumns.lg","gdAlignColumns.xl","gdAlignColumns.lt-sm","gdAlignColumns.lt-md","gdAlignColumns.lt-lg","gdAlignColumns.lt-xl","gdAlignColumns.gt-xs","gdAlignColumns.gt-sm","gdAlignColumns.gt-md","gdAlignColumns.gt-lg"],ce=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n",inputs:le}]}],e}(oe);var ue="start",pe="stretch",de=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":case"space-around":case"space-between":case"space-evenly":case"end":case"start":case"stretch":n["justify-content"]=i;break;default:n["justify-content"]=ue}switch(o){case"start":case"center":case"end":case"stretch":n["justify-items"]=o;break;default:n["justify-items"]=pe}return n.display=e?"inline-grid":"grid",n}(t||ue+" "+pe,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),he=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?me:fe,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:de,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),fe=new Map,me=new Map,ge=["gdAlignRows","gdAlignRows.xs","gdAlignRows.sm","gdAlignRows.md","gdAlignRows.lg","gdAlignRows.xl","gdAlignRows.lt-sm","gdAlignRows.lt-md","gdAlignRows.lt-lg","gdAlignRows.lt-xl","gdAlignRows.gt-xs","gdAlignRows.gt-sm","gdAlignRows.gt-md","gdAlignRows.gt-lg"],ye=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n",inputs:ge}]}],e}(he);var ve=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-area":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),be=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-area",o.styleCache=_e,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-area-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ve,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),_e=new Map,we=["gdArea","gdArea.xs","gdArea.sm","gdArea.md","gdArea.lg","gdArea.xl","gdArea.lt-sm","gdArea.lt-md","gdArea.lt-lg","gdArea.lt-xl","gdArea.gt-xs","gdArea.gt-sm","gdArea.gt-md","gdArea.gt-lg"],xe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=we,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n",inputs:we}]}],e}(be),Ce=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"none").split("|").map((function(t){return'"'+t.trim()+'"'}));return{display:e.inline?"inline-grid":"grid","grid-template-areas":n.join(" ")}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Oe=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-areas",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Se:Ee,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-areas-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Ce,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ee=new Map,Se=new Map,ke=["gdAreas","gdAreas.xs","gdAreas.sm","gdAreas.md","gdAreas.lg","gdAreas.xl","gdAreas.lt-sm","gdAreas.lt-md","gdAreas.lt-lg","gdAreas.lt-xl","gdAreas.gt-xs","gdAreas.gt-sm","gdAreas.gt-md","gdAreas.gt-lg"],je=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ke,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n",inputs:ke}]}],e}(Oe),Ae=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"initial").split(" "),r=n[0],i=n[1];return"column"!==r&&"row"!==r&&"dense"!==r&&(r="row"),i="dense"===i&&"dense"!==r?" dense":"",{display:e.inline?"inline-grid":"grid","grid-auto-flow":r+i}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),De=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o._inline=!1,o.DIRECTIVE_KEY="grid-auto",o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Pe:Te,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-auto-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Ae,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Te=new Map,Pe=new Map,Ie=["gdAuto","gdAuto.xs","gdAuto.sm","gdAuto.md","gdAuto.lg","gdAuto.xl","gdAuto.lt-sm","gdAuto.lt-md","gdAuto.lt-lg","gdAuto.lt-xl","gdAuto.gt-xs","gdAuto.gt-sm","gdAuto.gt-md","gdAuto.gt-lg"],Re=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ie,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n",inputs:Ie}]}],e}(De),Me=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-column":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ne=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-column",o.styleCache=Fe,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-column-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Me,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Fe=new Map,Le=["gdColumn","gdColumn.xs","gdColumn.sm","gdColumn.md","gdColumn.lg","gdColumn.xl","gdColumn.lt-sm","gdColumn.lt-md","gdColumn.lt-lg","gdColumn.lt-xl","gdColumn.gt-xs","gdColumn.gt-sm","gdColumn.gt-md","gdColumn.gt-lg"],Ve=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n",inputs:Le}]}],e}(Ne),Be=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-columns":"","grid-template-columns":""};return r[n?"grid-auto-columns":"grid-template-columns"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ze=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Ue:He,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Be,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),He=new Map,Ue=new Map,Ge=["gdColumns","gdColumns.xs","gdColumns.sm","gdColumns.md","gdColumns.lg","gdColumns.xl","gdColumns.lt-sm","gdColumns.lt-md","gdColumns.lt-lg","gdColumns.lt-xl","gdColumns.gt-xs","gdColumns.gt-sm","gdColumns.gt-md","gdColumns.gt-lg"],qe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n",inputs:Ge}]}],e}(ze),We=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:e.inline?"inline-grid":"grid","grid-gap":t||"0"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ye=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-gap",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Qe:Ke,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:We,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ke=new Map,Qe=new Map,Xe=["gdGap","gdGap.xs","gdGap.sm","gdGap.md","gdGap.lg","gdGap.xl","gdGap.lt-sm","gdGap.lt-md","gdGap.lt-lg","gdGap.lt-xl","gdGap.gt-xs","gdGap.gt-sm","gdGap.gt-md","gdGap.gt-lg"],Ze=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Xe,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n",inputs:Xe}]}],e}(Ye),$e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-row":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Je=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-row",o.styleCache=tn,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-row-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:$e,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),tn=new Map,en=["gdRow","gdRow.xs","gdRow.sm","gdRow.md","gdRow.lg","gdRow.xl","gdRow.lt-sm","gdRow.lt-md","gdRow.lt-lg","gdRow.lt-xl","gdRow.gt-xs","gdRow.gt-sm","gdRow.gt-md","gdRow.gt-lg"],nn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=en,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n",inputs:en}]}],e}(Je),rn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-rows":"","grid-template-rows":""};return r[n?"grid-auto-rows":"grid-template-rows"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),on=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?sn:an,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:rn,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),an=new Map,sn=new Map,ln=["gdRows","gdRows.xs","gdRows.sm","gdRows.md","gdRows.lg","gdRows.xl","gdRows.lt-sm","gdRows.lt-md","gdRows.lt-lg","gdRows.lt-xl","gdRows.gt-xs","gdRows.gt-sm","gdRows.gt-md","gdRows.gt-lg"],cn=[ee,ce,ye,xe,je,Re,Ve,qe,Ze,nn,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ln,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n",inputs:ln}]}],e}(on),oe,he,be,Oe,De,Ne,ze,Ye,$t,Je,on],un=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c],declarations:cn.slice(),exports:cn.slice()}]}],t}();n.d(e,"a",(function(){return pn}));new r.mb("8.0.0-beta.27");var pn=function(){function t(t,e){Object(o.n)(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}return t.withConfig=function(e,n){return void 0===n&&(n=[]),{ngModule:t,providers:e.serverLoaded?[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0},{provide:a.h,useValue:!0}]:[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0}]}},t.decorators=[{type:r.L,args:[{imports:[Kt,R,un],exports:[Kt,R,un]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[a.h]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]}]},t}()},VNr4:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var r=n("6blF"),i=n("isby"),o=n("67Y/"),a=n("McSo"),s=n("0/uQ");function l(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e){return function(n,r){e(n,r,t)}},u=function(t){return t&&t.__esModule?t:{default:t}},p=function(){function t(t,e,n,r){var i=this;this.dialog=t,this.minionsService=e,this.dialogRef=n,this.minionPropertiesToSet={},this.minions=[],this.minionsSubscription=e.minionsFeed.subscribe((function(t){i.minions=t}))}return t.prototype.ngOnInit=function(){this.minionControl=new o.c("",[o.k.required]),this.setMinionStatus=new o.c("",[o.k.required]),this.setMinionProperties=new o.c("")},t.prototype.onPropertiesSet=function(){this.setMinionProperties.setValue(this.setMinionProperties)},t.prototype.extractStatus=function(){var t=this.minionControl.value,e={};return e[t.minionType]=this.minionPropertiesToSet,e[t.minionType].status=this.setMinionStatus.value,e},t.prototype.isPropertiesOk=function(){var t=this.minionControl.value,e=this.extractStatus();if("airConditioning"===t.minionType){var n=e.airConditioning;return n.mode&&n.fanStrength&&n.temperature}if("light"===t.minionType)return e.light.brightness;if("temperatureLight"===t.minionType){var r=e.temperatureLight;return r.brightness&&r.temperature}if("colorLight"===t.minionType){var i=e.colorLight;return i.brightness&&i.temperature&&i.red&&i.green&&i.blue}return"roller"===t.minionType?e.roller.direction:void 0},t.prototype.createActivity=function(){this.minionsSubscription.unsubscribe();var t={minionId:this.minionControl.value.minionId,minionStatus:this.extractStatus()};this.dialogRef.close(t)},t.ctorParameters=function(){return[{type:i.b},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=s([Object(r.n)({selector:"app-create-activity-dialog",template:u(n("FM+V")).default,styles:[u(n("fBeJ")).default]}),c(3,Object(r.C)(i.a)),l("design:paramtypes",[i.b,a.a,i.e,Object])],t)}()},Wf4p:function(t,e,n){"use strict";n.d(e,"h",(function(){return g})),n.d(e,"w",(function(){return y})),n.d(e,"u",(function(){return v})),n.d(e,"v",(function(){return b})),n.d(e,"y",(function(){return _})),n.d(e,"x",(function(){return w})),n.d(e,"k",(function(){return R})),n.d(e,"a",(function(){return O})),n.d(e,"d",(function(){return E})),n.d(e,"b",(function(){return M})),n.d(e,"c",(function(){return V})),n.d(e,"z",(function(){return z})),n.d(e,"i",(function(){return B})),n.d(e,"j",(function(){return U})),n.d(e,"n",(function(){return ut})),n.d(e,"s",(function(){return lt})),n.d(e,"t",(function(){return ct})),n.d(e,"f",(function(){return at})),n.d(e,"m",(function(){return st})),n.d(e,"l",(function(){return rt})),n.d(e,"e",(function(){return pt})),n.d(e,"q",(function(){return $})),n.d(e,"g",(function(){return X})),n.d(e,"p",(function(){return Z})),n.d(e,"r",(function(){return Q})),n.d(e,"o",(function(){return tt}));var r=n("CcnG"),i=n("ZYjt"),o=n("Fzqc"),a=n("mrSG"),s=n("n6gG"),l=n("K9Ia"),c=(n("6blF"),n("dWZg")),u=n("p0Sj"),p=n("lLAP"),d=n("wFw1"),h=n("YSh2"),f=n("Ip0R"),m=(function(){function t(){}t.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",t.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",t.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",t.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)"}(),function(){function t(){}t.COMPLEX="375ms",t.ENTERING="225ms",t.EXITING="195ms"}(),new r.E("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}));var g=function(){function t(t,e){this._sanityChecksEnabled=t,this._hammerLoader=e,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}return t.prototype._areChecksEnabled=function(){return this._sanityChecksEnabled&&Object(r.yb)()&&!this._isTestEnv()},t.prototype._isTestEnv=function(){var t=this._window;return t&&(t.__karma__||t.jasmine)},t.prototype._checkDoctypeIsDefined=function(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")},t.prototype._checkThemeIsPresent=function(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){var t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);var e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}},t.prototype._checkHammerIsAvailable=function(){!this._hasCheckedHammer&&this._window&&(!this._areChecksEnabled()||this._window.Hammer||this._hammerLoader||console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)},t.decorators=[{type:r.L,args:[{imports:[o.a],exports:[o.a]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[m]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[i.d]}]}]},t}();function y(t){return function(t){function e(){for(var e=[],n=0;n0?n:t},t}(),E=new r.E("mat-date-formats");try{C="undefined"!=typeof Intl}catch(dt){C=!1}var S={long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],narrow:["J","F","M","A","M","J","J","A","S","O","N","D"]},k=D(31,(function(t){return String(t+1)})),j={long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],narrow:["S","M","T","W","T","F","S"]},A=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function D(t,e){for(var n=Array(t),r=0;r11)throw Error('Invalid month index "'+e+'". Month index has to be between 0 and 11.');if(n<1)throw Error('Invalid date "'+n+'". Date has to be greater than 0.');var r=this._createDateWithOverflow(t,e,n);if(r.getMonth()!=e)throw Error('Invalid date "'+n+'" for month with index "'+e+'".');return r},e.prototype.today=function(){return new Date},e.prototype.parse=function(t){return"number"==typeof t?new Date(t):t?new Date(Date.parse(t)):null},e.prototype.format=function(t,e){if(!this.isValid(t))throw Error("NativeDateAdapter: Cannot format invalid date.");if(C){this._clampDate&&(t.getFullYear()<1||t.getFullYear()>9999)&&(t=this.clone(t)).setFullYear(Math.max(1,Math.min(9999,t.getFullYear()))),e=Object(a.a)({},e,{timeZone:"utc"});var n=new Intl.DateTimeFormat(this.locale,e);return this._stripDirectionalityCharacters(this._format(n,t))}return this._stripDirectionalityCharacters(t.toDateString())},e.prototype.addCalendarYears=function(t,e){return this.addCalendarMonths(t,12*e)},e.prototype.addCalendarMonths=function(t,e){var n=this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+e,this.getDate(t));return this.getMonth(n)!=((this.getMonth(t)+e)%12+12)%12&&(n=this._createDateWithOverflow(this.getYear(n),this.getMonth(n),0)),n},e.prototype.addCalendarDays=function(t,e){return this._createDateWithOverflow(this.getYear(t),this.getMonth(t),this.getDate(t)+e)},e.prototype.toIso8601=function(t){return[t.getUTCFullYear(),this._2digit(t.getUTCMonth()+1),this._2digit(t.getUTCDate())].join("-")},e.prototype.deserialize=function(e){if("string"==typeof e){if(!e)return null;if(A.test(e)){var n=new Date(e);if(this.isValid(n))return n}}return t.prototype.deserialize.call(this,e)},e.prototype.isDateInstance=function(t){return t instanceof Date},e.prototype.isValid=function(t){return!isNaN(t.getTime())},e.prototype.invalid=function(){return new Date(NaN)},e.prototype._createDateWithOverflow=function(t,e,n){var r=new Date(t,e,n);return t>=0&&t<100&&r.setFullYear(this.getYear(r)-1900),r},e.prototype._2digit=function(t){return("00"+t).slice(-2)},e.prototype._stripDirectionalityCharacters=function(t){return t.replace(/[\u200e\u200f]/g,"")},e.prototype._format=function(t,e){var n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.format(n)},e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:String,decorators:[{type:r.R},{type:r.C,args:[x]}]},{type:c.a}]},e}(O),P=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[c.b],providers:[{provide:O,useClass:T}]}]}],t}(),I={parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}},R=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[P],providers:[{provide:E,useValue:I}]}]}],t}(),M=(function(){function t(){}t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.dirty||e&&e.submitted))},t.decorators=[{type:r.D}]}(),function(){function t(){}return t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}()),N=new r.E("MAT_HAMMER_OPTIONS"),F=["longpress","slide","slidestart","slideend","slideright","slideleft"],L={on:function(){},off:function(){}},V=function(t){function e(e,n){var r=t.call(this)||this;return r._hammerOptions=e,r.events=F,n&&n._checkHammerIsAvailable(),r}return Object(a.c)(e,t),e.prototype.buildHammer=function(t){var e="undefined"!=typeof window?window.Hammer:null;if(!e)return L;var n=new e(t,this._hammerOptions||void 0),r=new e.Pan,i=new e.Swipe,o=new e.Press,a=this._createRecognizer(r,{event:"slide",threshold:0},i),s=this._createRecognizer(o,{event:"longpress",time:500});return r.recognizeWith(i),s.recognizeWith(a),n.add([i,o,r,a,s]),n},e.prototype._createRecognizer=function(t,e){for(var n=[],r=2;r3&&H(e,"mat-multi-line",!0)}))}function H(t,e,n){var r=t.nativeElement.classList;n?r.add(e):r.remove(e)}var U=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[g],exports:[B,g],declarations:[B]}]}],t}(),G={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};G[G.FADING_IN]="FADING_IN",G[G.VISIBLE]="VISIBLE",G[G.FADING_OUT]="FADING_OUT",G[G.HIDDEN]="HIDDEN";var q=function(){function t(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=G.HIDDEN}return t.prototype.fadeOut=function(){this._renderer.fadeOutRipple(this)},t}(),W={enterDuration:450,exitDuration:400},Y=800,K=Object(c.f)({passive:!0}),Q=function(){function t(t,e,n,r){var i=this;this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this.onMousedown=function(t){var e=Object(p.h)(t),n=i._lastTouchStartEvent&&Date.now(){{ label }}',encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["disabled"],styles:[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"],host:{class:"mat-optgroup",role:"group","[class.mat-optgroup-disabled]":"disabled","[attr.aria-disabled]":"disabled.toString()","[attr.aria-labelledby]":"_labelId"}}]}],e.propDecorators={label:[{type:r.G}]},e}(et),it=0,ot=function(t,e){void 0===e&&(e=!1),this.source=t,this.isUserInput=e},at=new r.E("MAT_OPTION_PARENT_COMPONENT"),st=function(){function t(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+it++,this.onSelectionChange=new r.x,this._stateChanges=new l.a}return Object.defineProperty(t.prototype,"multiple",{get:function(){return this._parent&&this._parent.multiple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.group&&this.group.disabled||this._disabled},set:function(t){this._disabled=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableRipple",{get:function(){return this._parent&&this._parent.disableRipple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._active},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewValue",{get:function(){return(this._getHostElement().textContent||"").trim()},enumerable:!0,configurable:!0}),t.prototype.select=function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.deselect=function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.focus=function(){var t=this._getHostElement();"function"==typeof t.focus&&t.focus()},t.prototype.setActiveStyles=function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())},t.prototype.setInactiveStyles=function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())},t.prototype.getLabel=function(){return this.viewValue},t.prototype._handleKeydown=function(t){t.keyCode!==h.f&&t.keyCode!==h.n||Object(h.s)(t)||(this._selectViaInteraction(),t.preventDefault())},t.prototype._selectViaInteraction=function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))},t.prototype._getAriaSelected=function(){return this.selected||!this.multiple&&null},t.prototype._getTabIndex=function(){return this.disabled?"-1":"0"},t.prototype._getHostElement=function(){return this._element.nativeElement},t.prototype.ngAfterViewChecked=function(){if(this._selected){var t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}},t.prototype.ngOnDestroy=function(){this._stateChanges.complete()},t.prototype._emitSelectionChangeEvent=function(t){void 0===t&&(t=!1),this.onSelectionChange.emit(new ot(this,t))},t.decorators=[{type:r.n,args:[{selector:"mat-option",exportAs:"matOption",host:{role:"option","[attr.tabindex]":"_getTabIndex()","[class.mat-selected]":"selected","[class.mat-option-multiple]":"multiple","[class.mat-active]":"active","[id]":"id","[attr.aria-selected]":"_getAriaSelected()","[attr.aria-disabled]":"disabled.toString()","[class.mat-option-disabled]":"disabled","(click)":"_selectViaInteraction()","(keydown)":"_handleKeydown($event)",class:"mat-option"},styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media (-ms-high-contrast:active){.mat-option .mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],template:'
    ',encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],t.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[at]}]},{type:rt,decorators:[{type:r.R}]}]},t.propDecorators={value:[{type:r.G}],id:[{type:r.G}],disabled:[{type:r.G}],onSelectionChange:[{type:r.S}]},t}();function lt(t,e,n){if(n.length){for(var r=e.toArray(),i=n.toArray(),o=0,a=0;an+r?Math.max(0,i-r+e):n}var ut=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[$,f.b,tt],exports:[st,rt],declarations:[st,rt]}]}],t}(),pt=new r.E("mat-label-global-options")},"Wg1/":function(t,e,n){"use strict";n.r(e),e.default="#content-loader {\n margin-top: 35vh;\n}"},X2iB:function(t,e,n){"use strict";n.d(e,"a",(function(){return h}));var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\r\n \r\n
    \r\n {{ 'ENTER_EMAIL' | translate}}\r\n \r\n \r\n \r\n {{ 'ENTER_VALID_EMAIL' | translate}}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ 'ENTER_NAME' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ 'SELECT_USER_SCOPE' | translate}}\r\n \r\n \r\n {{ 'ADMIN' | translate }}\r\n {{ 'USER' | translate }}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ 'ALLOW_UNMFA_ACCESS' | translate}}\r\n \r\n \r\n {{ 'ALLOW' | translate }}\r\n {{ 'REJECT' | translate }}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ 'PRESS_PASSWORD' | translate}}\r\n \r\n \r\n {{ passwordControl.value.length }} / 18 \r\n \r\n {{ 'PASSWORD_SHULD_BE_6_TO_18_LENGTH' | translate}}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ 'PRESS_PASSWORD_AGINE' | translate}}\r\n \r\n \r\n {{passwordControl.value.length}} / 18\r\n \r\n {{ 'THE_PASSWORDS_NOT_SAME' | translate}}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'DONE' | translate}}\r\n {{ 'DONE_USER_MESSAGE' | translate}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n"},YSh2:function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"o",(function(){return i})),n.d(e,"f",(function(){return o})),n.d(e,"g",(function(){return a})),n.d(e,"n",(function(){return s})),n.d(e,"l",(function(){return l})),n.d(e,"k",(function(){return c})),n.d(e,"e",(function(){return u})),n.d(e,"h",(function(){return p})),n.d(e,"i",(function(){return d})),n.d(e,"p",(function(){return h})),n.d(e,"m",(function(){return f})),n.d(e,"d",(function(){return m})),n.d(e,"c",(function(){return g})),n.d(e,"r",(function(){return y})),n.d(e,"j",(function(){return v})),n.d(e,"a",(function(){return b})),n.d(e,"q",(function(){return _})),n.d(e,"s",(function(){return w}));var r=8,i=9,o=13,a=27,s=32,l=33,c=34,u=35,p=36,d=37,h=38,f=39,m=40,g=46,y=48,v=57,b=65,_=90;function w(t){for(var e=[],n=1;n1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}();var d=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n \r\n \r\n'},ZYCi:function(t,e,n){"use strict";var r=n("mrSG"),i=n("Ip0R"),o=n("CcnG"),a=n("F/XL"),s=n("0/uQ"),l=n("26FU"),c=n("6blF"),u=function(){function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t}(),p=n("dzgT"),d=n("lYZG"),h=n("K9Ia"),f=n("G5J1"),m=n("67Y/"),g=n("Txjg"),y=n("VnD/"),v=n("FFOo"),b=n("b7mW");function _(t){return function(e){return 0===t?Object(f.b)():e.lift(new w(t))}}var w=function(){function t(t){if(this.total=t,this.total<0)throw new b.a}return t.prototype.call=function(t,e){return e.subscribe(new x(t,this.total))},t}(),x=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.ring=new Array,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(t?Object(y.a)((function(e,n){return t(e,n,r)})):D.a,_(1),n?k(e):C((function(){return new u})))}}var P=n("9Z1F"),I=n("t9fZ");function R(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Object(y.a)((function(e,n){return t(e,n,r)})):D.a,Object(I.a)(1),n?k(e):C((function(){return new u})))}}var M=n("psW0");var N=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new F(t,this.predicate,this.thisArg,this.source))},t}(),F=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.predicate=n,o.thisArg=r,o.source=i,o.index=0,o.thisArg=r||o,o}return r.c(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(v.a),L=n("15JJ"),V=n("p0Sj");function B(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new z(t,e,n))}}var z=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new H(t,this.accumulator,this.seed,this.hasSeed))},t}(),H=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.accumulator=n,o._seed=r,o.hasSeed=i,o.index=0,o}return r.c(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(r){this.destination.error(r)}this.seed=e,this.destination.next(e)},e}(v.a),U=n("Phjn"),G=n("y3By");var q=n("xMyE"),W=n("2WpN"),Y=n("Zn8D"),K=n("ZYjt");n.d(e,"a",(function(){return wn})),n.d(e,"b",(function(){return Bn}));var Q=function(t,e){this.id=t,this.url=e},X=function(t){function e(e,n,r,i){void 0===r&&(r="imperative"),void 0===i&&(i=null);var o=t.call(this,e,n)||this;return o.navigationTrigger=r,o.restoredState=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Q),Z=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Q),$=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Q),J=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Q),tt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),et=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),nt=function(t){function e(e,n,r,i,o){var a=t.call(this,e,n)||this;return a.urlAfterRedirects=r,a.state=i,a.shouldActivate=o,a}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Q),rt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),it=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),ot=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),at=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),st=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),lt=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ct=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ut=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),pt=function(){function t(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}return t.prototype.toString=function(){var t=this.position?this.position[0]+", "+this.position[1]:null;return"Scroll(anchor: '"+this.anchor+"', position: '"+t+"')"},t}(),dt=function(){function t(){}return t=Object(r.b)([Object(o.n)({template:""})],t)}(),ht="primary",ft=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function mt(t){return new ft(t)}var gt="ngNavigationCancelingError";function yt(t){var e=Error("NavigationCancelingError: "+t);return e[gt]=!0,e}function vt(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function kt(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function jt(t){return Object(o.Yb)(t)?t:Object(o.Zb)(t)?Object(s.a)(Promise.resolve(t)):Object(a.a)(t)}function At(t,e,n){return n?function(t,e){return Ot(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Rt(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every((function(n){return e[n]===t[n]}))}(t.queryParams,e.queryParams)&&Dt(t.root,e.root)}function Dt(t,e){return function t(e,n,r){if(e.segments.length>r.length)return!!Rt(o=e.segments.slice(0,r.length),r)&&!n.hasChildren();if(e.segments.length===r.length){if(!Rt(e.segments,r))return!1;for(var i in n.children){if(!e.children[i])return!1;if(!Dt(e.children[i],n.children[i]))return!1}return!0}var o=r.slice(0,e.segments.length),a=r.slice(e.segments.length);return!!Rt(e.segments,o)&&(!!e.children[ht]&&t(e.children[ht],n,a))}(t,e,e.segments)}var Tt=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Lt.serialize(this)},t}(),Pt=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,kt(e,(function(t,e){return t.parent=n}))}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Vt(this)},t}(),It=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=mt(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return qt(this)},t}();function Rt(t,e){return t.length===e.length&&t.every((function(t,n){return t.path===e[n].path}))}function Mt(t,e){var n=[];return kt(t.children,(function(t,r){r===ht&&(n=n.concat(e(t,r)))})),kt(t.children,(function(t,r){r!==ht&&(n=n.concat(e(t,r)))})),n}var Nt=function(){},Ft=function(){function t(){}return t.prototype.parse=function(t){var e=new Xt(t);return new Tt(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n,r;return""+("/"+function t(e,n){if(!e.hasChildren())return Vt(e);if(n){var r=e.children[ht]?t(e.children[ht],!1):"",i=[];return kt(e.children,(function(e,n){n!==ht&&i.push(n+":"+t(e,!1))})),i.length>0?r+"("+i.join("//")+")":r}var o=Mt(e,(function(n,r){return r===ht?[t(e.children[ht],!1)]:[r+":"+t(n,!1)]}));return Vt(e)+"/("+o.join("//")+")"}(t.root,!0))+(e=t.queryParams,(n=Object.keys(e).map((function(t){var n=e[t];return Array.isArray(n)?n.map((function(e){return zt(t)+"="+zt(e)})).join("&"):zt(t)+"="+zt(n)}))).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+(r=t.fragment,encodeURI(r)):"")},t}(),Lt=new Ft;function Vt(t){return t.segments.map((function(t){return qt(t)})).join("/")}function Bt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function zt(t){return Bt(t).replace(/%3B/gi,";")}function Ht(t){return Bt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ut(t){return decodeURIComponent(t)}function Gt(t){return Ut(t.replace(/\+/g,"%20"))}function qt(t){return""+Ht(t.path)+(e=t.parameters,Object.keys(e).map((function(t){return";"+Ht(t)+"="+Ht(e[t])})).join(""));var e}var Wt=/^[^\/()?;=#]+/;function Yt(t){var e=t.match(Wt);return e?e[0]:""}var Kt=/^[^=?&#]+/;var Qt=/^[^?&#]+/;var Xt=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Pt([],{}):new Pt([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[ht]=new Pt(t,e)),n},t.prototype.parseSegment=function(){var t=Yt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new It(Ut(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Yt(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=Yt(this.remaining);r&&(n=r,this.capture(n))}t[Ut(e)]=Ut(n)}},t.prototype.parseQueryParam=function(t){var e=function(t){var e=t.match(Kt);return e?e[0]:""}(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=function(t){var e=t.match(Qt);return e?e[0]:""}(this.remaining);r&&(n=r,this.capture(n))}var i=Gt(e),o=Gt(n);if(t.hasOwnProperty(i)){var a=t[i];Array.isArray(a)||(a=[a],t[i]=a),a.push(o)}else t[i]=o}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=Yt(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=ht);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[ht]:new Pt([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Zt=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=$t(t,this._root);return e?e.children.map((function(t){return t.value})):[]},t.prototype.firstChild=function(t){var e=$t(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=Jt(t,this._root);return e.length<2?[]:e[e.length-2].children.map((function(t){return t.value})).filter((function(e){return e!==t}))},t.prototype.pathFromRoot=function(t){return Jt(t,this._root).map((function(t){return t.value}))},t}();function $t(t,e){var n,i;if(t===e.value)return e;try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=$t(t,a.value);if(s)return s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return null}function Jt(t,e){var n,i;if(t===e.value)return[e];try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=Jt(t,a.value);if(s.length)return s.unshift(e),s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return[]}var te=function(){function t(t,e){this.value=t,this.children=e}return t.prototype.toString=function(){return"TreeNode("+this.value+")"},t}();function ee(t){var e={};return t&&t.children.forEach((function(t){return e[t.value.outlet]=t})),e}var ne=function(t){function e(e,n){var r=t.call(this,e)||this;return r.snapshot=n,le(r,e),r}return Object(r.c)(e,t),e.prototype.toString=function(){return this.snapshot.toString()},e}(Zt);function re(t,e){var n=function(t,e){var n=new ae([],{},{},"",{},ht,e,null,t.root,-1,{});return new se("",new te(n,[]))}(t,e),r=new l.a([new It("",{})]),i=new l.a({}),o=new l.a({}),a=new l.a({}),s=new l.a(""),c=new ie(r,i,a,s,o,ht,e,n.root);return c.snapshot=n.root,new ne(new te(c,[]),n)}var ie=function(){function t(t,e,n,r,i,o,a,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this._futureSnapshot=s}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=this.params.pipe(Object(m.a)((function(t){return mt(t)})))),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(m.a)((function(t){return mt(t)})))),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},t}();function oe(t,e){void 0===e&&(e="emptyOnly");var n=t.pathFromRoot,i=0;if("always"!==e)for(i=n.length-1;i>=1;){var o=n[i],a=n[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(a.component)break;i--}}return function(t){return t.reduce((function(t,e){return{params:Object(r.a)({},t.params,e.params),data:Object(r.a)({},t.data,e.data),resolve:Object(r.a)({},t.resolve,e._resolvedData)}}),{params:{},data:{},resolve:{}})}(n.slice(i))}var ae=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this.routeConfig=s,this._urlSegment=l,this._lastPathIndex=c,this._resolve=u}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=mt(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map((function(t){return t.toString()})).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),se=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,le(r,n),r}return Object(r.c)(e,t),e.prototype.toString=function(){return ce(this._root)},e}(Zt);function le(t,e){e.value._routerState=t,e.children.forEach((function(e){return le(t,e)}))}function ce(t){var e=t.children.length>0?" { "+t.children.map(ce).join(", ")+" } ":"";return""+t.value+e}function ue(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,Ot(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),Ot(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;ni;){if(o-=i,!(r=r.parent))throw new Error("Invalid number of '../'");i=r.segments.length}return new ye(r,!1,i-o)}(n.snapshot._urlSegment,i,t.numberOfDoubleDots)}(a,e,t),l=s.processChildren?_e(s.segmentGroup,s.index,a.commands):be(s.segmentGroup,s.index,a.commands);return me(s.segmentGroup,l,e,i,o)}function fe(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function me(t,e,n,r,i){var o={};return r&&kt(r,(function(t,e){o[e]=Array.isArray(t)?t.map((function(t){return""+t})):""+t})),n.root===t?new Tt(e,o,i):new Tt(function t(e,n,r){var i={};kt(e.children,(function(e,o){i[o]=e===n?r:t(e,n,r)}));return new Pt(e.segments,i)}(n.root,t,e),o,i)}var ge=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&fe(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find((function(t){return"object"==typeof t&&null!=t&&t.outlets}));if(r&&r!==St(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}();var ye=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function ve(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[ht]:""+t}function be(t,e,n){if(t||(t=new Pt([],{})),0===t.segments.length&&t.hasChildren())return _e(t,e,n);var r=function(t,e,n){var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};for(;i=n.length)return o;var a=t.segments[i],s=ve(n[r]),l=r0&&void 0===s)break;if(s&&l&&"object"==typeof l&&void 0===l.outlets){if(!Oe(s,l,a))return o;r+=2}else{if(!Oe(s,{},a))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex0?new Pt([],((r={})[ht]=t,r)):t;return new Tt(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(Object(m.a)((function(t){return new Pt([],t)}))):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(t,e){if(0===Object.keys(t).length)return Object(a.a)({});var n=[],r=[],i={};return kt(t,(function(t,o){var a=e(o,t).pipe(Object(m.a)((function(t){return i[o]=t})));o===ht?n.push(a):r.push(a)})),a.a.apply(null,n.concat(r)).pipe(Object(g.a)(),T(),Object(m.a)((function(){return i})))}(n.children,(function(n,i){return r.expandSegmentGroup(t,e,i,n)}))},t.prototype.expandSegment=function(t,e,n,i,o,s){var l=this;return a.a.apply(void 0,Object(r.g)(n)).pipe(Object(m.a)((function(r){return l.expandSegmentAgainstRoute(t,e,n,r,i,o,s).pipe(Object(P.a)((function(t){if(t instanceof Ae)return Object(a.a)(null);throw t})))})),Object(g.a)(),R((function(t){return!!t})),Object(P.a)((function(t,n){if(t instanceof u||"EmptyError"===t.name){if(l.noLeftoversInUrl(e,i,o))return Object(a.a)(new Pt([],{}));throw new Ae(e)}throw t})))},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,a){return Le(r)!==o?Te(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Te(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Pe(o):this.lineralizeSegments(n,o).pipe(Object(M.a)((function(n){var o=new Pt(n,{});return i.expandSegment(t,o,e,n,r,!1)})))},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var a=this,s=Me(e,r,i),l=s.matched,c=s.consumedSegments,u=s.lastChild,p=s.positionalParamSegments;if(!l)return Te(e);var d=this.applyRedirectCommands(c,r.redirectTo,p);return r.redirectTo.startsWith("/")?Pe(d):this.lineralizeSegments(r,d).pipe(Object(M.a)((function(r){return a.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)})))},t.prototype.matchSegmentAgainstRoute=function(t,e,n,i){var o=this;if("**"===n.path)return n.loadChildren?this.configLoader.load(t.injector,n).pipe(Object(m.a)((function(t){return n._loadedConfig=t,new Pt(i,{})}))):Object(a.a)(new Pt(i,{}));var s=Me(e,n,i),l=s.matched,c=s.consumedSegments,u=s.lastChild;if(!l)return Te(e);var p=i.slice(u);return this.getChildConfig(t,n,i).pipe(Object(M.a)((function(t){var n=t.module,i=t.routes,s=function(t,e,n,i){if(n.length>0&&function(t,e,n){return n.some((function(n){return Fe(t,e,n)&&Le(n)!==ht}))}(t,n,i)){return{segmentGroup:Ne(new Pt(e,function(t,e){var n,i,o={};o[ht]=e;try{for(var a=Object(r.h)(t),s=a.next();!s.done;s=a.next()){var l=s.value;""===l.path&&Le(l)!==ht&&(o[Le(l)]=new Pt([],{}))}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return o}(i,new Pt(n,t.children)))),slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some((function(n){return Fe(t,e,n)}))}(t,n,i)){return{segmentGroup:Ne(new Pt(t.segments,function(t,e,n,i){var o,a,s={};try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;Fe(t,e,u)&&!i[Le(u)]&&(s[Le(u)]=new Pt([],{}))}}catch(p){o={error:p}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return Object(r.a)({},i,s)}(t,n,i,t.children))),slicedSegments:n}}return{segmentGroup:t,slicedSegments:n}}(e,c,p,i),l=s.segmentGroup,u=s.slicedSegments;return 0===u.length&&l.hasChildren()?o.expandChildren(n,i,l).pipe(Object(m.a)((function(t){return new Pt(c,t)}))):0===i.length&&0===u.length?Object(a.a)(new Pt(c,{})):o.expandSegment(n,l,i,u,ht,!0).pipe(Object(m.a)((function(t){return new Pt(c.concat(t.segments),t.children)})))})))},t.prototype.getChildConfig=function(t,e,n){var r=this;return e.children?Object(a.a)(new bt(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Object(a.a)(e._loadedConfig):function(t,e,n){var r=e.canLoad;return r&&0!==r.length?Object(s.a)(r).pipe(Object(m.a)((function(r){var i,o=t.get(r);if(function(t){return t&&ke(t.canLoad)}(o))i=o.canLoad(e,n);else{if(!ke(o))throw new Error("Invalid CanLoad guard");i=o(e,n)}return jt(i)}))).pipe(Object(g.a)(),function(t,e){return function(n){return n.lift(new N(t,e,n))}}((function(t){return!0===t}))):Object(a.a)(!0)}(t.injector,e,n).pipe(Object(M.a)((function(n){return n?r.configLoader.load(t.injector,e).pipe(Object(m.a)((function(t){return e._loadedConfig=t,t}))):function(t){return new c.a((function(e){return e.error(yt("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))}))}(e)}))):Object(a.a)(new bt([],t))},t.prototype.lineralizeSegments=function(t,e){for(var n=[],r=e.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Object(a.a)(n);if(r.numberOfChildren>1||!r.children[ht])return Ie(t.redirectTo);r=r.children[ht]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Tt(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return kt(t,(function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t})),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),a={};return kt(e.children,(function(e,o){a[o]=i.createSegmentGroup(t,e,n,r)})),new Pt(o,a)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map((function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)}))},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){var n,i,o=0;try{for(var a=Object(r.h)(e),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.path===t.path)return e.splice(o),l;o++}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return t},t}();function Me(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||vt)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Ne(t){if(1===t.numberOfChildren&&t.children[ht]){var e=t.children[ht];return new Pt(t.segments.concat(e.segments),e.children)}return t}function Fe(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0!==n.redirectTo)}function Le(t){return t.outlet||ht}function Ve(t,e,n,i){return function(o){return o.pipe(Object(L.a)((function(o){return function(t,e,n,r,i){return new Re(t,e,n,r,i).apply()}(t,e,n,o.extractedUrl,i).pipe(Object(m.a)((function(t){return Object(r.a)({},o,{urlAfterRedirects:t})})))})))}}var Be=function(t){this.path=t,this.route=this.path[this.path.length-1]},ze=function(t,e){this.component=t,this.route=e};function He(t,e,n){var r=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Ue(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=ee(e);return t.children.forEach((function(t){!function(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=t.value,a=e?e.value:null,s=n?n.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){var l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Rt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Rt(t.url,e.url)||!Ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!pe(t,e)||!Ot(t.queryParams,e.queryParams);case"paramsChange":default:return!pe(t,e)}}(a,o,o.routeConfig.runGuardsAndResolvers);if(l?i.canActivateChecks.push(new Be(r)):(o.data=a.data,o._resolvedData=a._resolvedData),o.component?Ue(t,e,s?s.children:null,r,i):Ue(t,e,n,r,i),l){var c=s&&s.outlet&&s.outlet.component||null;i.canDeactivateChecks.push(new ze(c,a))}}else a&&Ge(e,s,i),i.canActivateChecks.push(new Be(r)),o.component?Ue(t,null,s?s.children:null,r,i):Ue(t,null,n,r,i)}(t,o[t.value.outlet],n,r.concat([t.value]),i),delete o[t.value.outlet]})),kt(o,(function(t,e){return Ge(t,n.getContext(e),i)})),i}function Ge(t,e,n){var r=ee(t),i=t.value;kt(r,(function(t,r){i.component?Ge(t,e?e.children.getContext(r):null,n):Ge(t,e,n)})),i.component&&e&&e.outlet&&e.outlet.isActivated?n.canDeactivateChecks.push(new ze(e.outlet.component,i)):n.canDeactivateChecks.push(new ze(null,i))}var qe=Symbol("INITIAL_VALUE");function We(){return Object(L.a)((function(t){return p.a.apply(void 0,Object(r.g)(t.map((function(t){return t.pipe(Object(I.a)(1),Object(V.a)(qe))})))).pipe(B((function(t,e){var n=!1;return e.reduce((function(t,r,i){if(t!==qe)return t;if(r===qe&&(n=!0),!n){if(!1===r)return r;if(i===e.length-1||je(r))return r}return t}),t)}),qe),Object(y.a)((function(t){return t!==qe})),Object(m.a)((function(t){return je(t)?t:!0===t})),Object(I.a)(1))}))}function Ye(t,e){return function(n){return n.pipe(Object(M.a)((function(n){var i=n.targetSnapshot,o=n.currentSnapshot,l=n.guards,c=l.canActivateChecks,u=l.canDeactivateChecks;return 0===u.length&&0===c.length?Object(a.a)(Object(r.a)({},n,{guardsResult:!0})):function(t,e,n,r){return Object(s.a)(t).pipe(Object(M.a)((function(t){return function(t,e,n,r,i){var o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||0===o.length)return Object(a.a)(!0);var s=o.map((function(o){var a,s=He(o,e,i);if(function(t){return t&&ke(t.canDeactivate)}(s))a=jt(s.canDeactivate(t,e,n,r));else{if(!ke(s))throw new Error("Invalid CanDeactivate guard");a=jt(s(t,e,n,r))}return a.pipe(R())}));return Object(a.a)(s).pipe(We())}(t.component,t.route,n,e,r)})),R((function(t){return!0!==t}),!0))}(u,i,o,t).pipe(Object(M.a)((function(n){return n&&"boolean"==typeof n?function(t,e,n,r){return Object(s.a)(e).pipe(Object(U.a)((function(e){return Object(s.a)([Qe(e.route.parent,r),Ke(e.route,r),Ze(t,e.path,n),Xe(t,e.route,n)]).pipe(Object(g.a)(),R((function(t){return!0!==t}),!0))})),R((function(t){return!0!==t}),!0))}(i,c,t,e):Object(a.a)(n)})),Object(m.a)((function(t){return Object(r.a)({},n,{guardsResult:t})})))})))}}function Ke(t,e){return null!==t&&e&&e(new ct(t)),Object(a.a)(!0)}function Qe(t,e){return null!==t&&e&&e(new st(t)),Object(a.a)(!0)}function Xe(t,e,n){var r=e.routeConfig?e.routeConfig.canActivate:null;if(!r||0===r.length)return Object(a.a)(!0);var i=r.map((function(r){return Object(d.a)((function(){var i,o=He(r,e,n);if(function(t){return t&&ke(t.canActivate)}(o))i=jt(o.canActivate(e,t));else{if(!ke(o))throw new Error("Invalid CanActivate guard");i=jt(o(e,t))}return i.pipe(R())}))}));return Object(a.a)(i).pipe(We())}function Ze(t,e,n){var r=e[e.length-1],i=e.slice(0,e.length-1).reverse().map((function(t){return function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)})).filter((function(t){return null!==t})).map((function(e){return Object(d.a)((function(){var i=e.guards.map((function(i){var o,a=He(i,e.node,n);if(function(t){return t&&ke(t.canActivateChild)}(a))o=jt(a.canActivateChild(r,t));else{if(!ke(a))throw new Error("Invalid CanActivateChild guard");o=jt(a(r,t))}return o.pipe(R())}));return Object(a.a)(i).pipe(We())}))}));return Object(a.a)(i).pipe(We())}var $e=function(){};var Je=function(){function t(t,e,n,r,i,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i,this.relativeLinkResolution=o}return t.prototype.recognize=function(){try{var t=nn(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,ht),n=new ae([],Object.freeze({}),Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,{},ht,this.rootComponentType,null,this.urlTree.root,-1,{}),i=new te(n,e),o=new se(this.url,i);return this.inheritParamsAndData(o._root),Object(a.a)(o)}catch(s){return new c.a((function(t){return t.error(s)}))}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=oe(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach((function(t){return e.inheritParamsAndData(t)}))},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=Mt(e,(function(e,n){return r.processSegmentGroup(t,e,n)}));return n={},i.forEach((function(t){var e=n[t.value.outlet];if(e){var r=e.url.map((function(t){return t.toString()})).join("/"),i=t.value.url.map((function(t){return t.toString()})).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value})),function(t){t.sort((function(t,e){return t.value.outlet===ht?-1:e.value.outlet===ht?1:t.value.outlet.localeCompare(e.value.outlet)}))}(i),i},t.prototype.processSegment=function(t,e,n,i){var o,a;try{for(var s=Object(r.h)(t),l=s.next();!l.done;l=s.next()){var c=l.value;try{return this.processSegmentAgainstRoute(c,e,n,i)}catch(u){if(!(u instanceof $e))throw u}}}catch(p){o={error:p}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(o)throw o.error}}if(this.noLeftoversInUrl(e,n,i))return[];throw new $e},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.processSegmentAgainstRoute=function(t,e,n,i){if(t.redirectTo)throw new $e;if((t.outlet||ht)!==i)throw new $e;var o,a=[],s=[];if("**"===t.path){var l=n.length>0?St(n).parameters:{};o=new ae(n,l,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+n.length,sn(t))}else{var c=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new $e;return{consumedSegments:[],lastChild:0,parameters:{}}}var i=(e.matcher||vt)(n,t,e);if(!i)throw new $e;var o={};kt(i.posParams,(function(t,e){o[e]=t.path}));var a=i.consumed.length>0?Object(r.a)({},o,i.consumed[i.consumed.length-1].parameters):o;return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:a}}(e,t,n);a=c.consumedSegments,s=n.slice(c.lastChild),o=new ae(a,c.parameters,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+a.length,sn(t))}var u=function(t){if(t.children)return t.children;if(t.loadChildren)return t._loadedConfig.routes;return[]}(t),p=nn(e,a,s,u,this.relativeLinkResolution),d=p.segmentGroup,h=p.slicedSegments;if(0===h.length&&d.hasChildren()){var f=this.processChildren(u,d);return[new te(o,f)]}if(0===u.length&&0===h.length)return[new te(o,[])];var m=this.processSegment(u,d,h,ht);return[new te(o,m)]},t}();function tn(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function en(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function nn(t,e,n,i,o){if(n.length>0&&function(t,e,n){return n.some((function(n){return rn(t,e,n)&&on(n)!==ht}))}(t,n,i)){var a=new Pt(e,function(t,e,n,i){var o,a,s={};s[ht]=i,i._sourceSegment=t,i._segmentIndexShift=e.length;try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;if(""===u.path&&on(u)!==ht){var p=new Pt([],{});p._sourceSegment=t,p._segmentIndexShift=e.length,s[on(u)]=p}}}catch(d){o={error:d}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return s}(t,e,i,new Pt(n,t.children)));return a._sourceSegment=t,a._segmentIndexShift=e.length,{segmentGroup:a,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some((function(n){return rn(t,e,n)}))}(t,n,i)){var s=new Pt(t.segments,function(t,e,n,i,o,a){var s,l,c={};try{for(var u=Object(r.h)(i),p=u.next();!p.done;p=u.next()){var d=p.value;if(rn(t,n,d)&&!o[on(d)]){var h=new Pt([],{});h._sourceSegment=t,h._segmentIndexShift="legacy"===a?t.segments.length:e.length,c[on(d)]=h}}}catch(f){s={error:f}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(s)throw s.error}}return Object(r.a)({},o,c)}(t,e,n,i,t.children,o));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:n}}var l=new Pt(t.segments,t.children);return l._sourceSegment=t,l._segmentIndexShift=e.length,{segmentGroup:l,slicedSegments:n}}function rn(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0===n.redirectTo)}function on(t){return t.outlet||ht}function an(t){return t.data||{}}function sn(t){return t.resolve||{}}function ln(t,e,n,i,o){return function(a){return a.pipe(Object(M.a)((function(a){return function(t,e,n,r,i,o){return void 0===i&&(i="emptyOnly"),void 0===o&&(o="legacy"),new Je(t,e,n,r,i,o).recognize()}(t,e,a.urlAfterRedirects,n(a.urlAfterRedirects),i,o).pipe(Object(m.a)((function(t){return Object(r.a)({},a,{targetSnapshot:t})})))})))}}function cn(t,e){return function(n){return n.pipe(Object(M.a)((function(n){var i=n.targetSnapshot,o=n.guards.canActivateChecks;return o.length?Object(s.a)(o).pipe(Object(U.a)((function(n){return function(t,e,n,i){return function(t,e,n,r){var i=Object.keys(t);if(0===i.length)return Object(a.a)({});if(1===i.length){var o=i[0];return un(t[o],e,n,r).pipe(Object(m.a)((function(t){var e;return(e={})[o]=t,e})))}var l={};return Object(s.a)(i).pipe(Object(M.a)((function(i){return un(t[i],e,n,r).pipe(Object(m.a)((function(t){return l[i]=t,t})))}))).pipe(T(),Object(m.a)((function(){return l})))}(t._resolve,t,e,i).pipe(Object(m.a)((function(e){return t._resolvedData=e,t.data=Object(r.a)({},t.data,oe(t,n).resolve),null})))}(n.route,i,t,e)})),function(t,e){return arguments.length>=2?function(n){return Object(G.a)(B(t,e),_(1),k(e))(n)}:function(e){return Object(G.a)(B((function(e,n,r){return t(e,n,r+1)})),_(1))(e)}}((function(t,e){return t})),Object(m.a)((function(t){return n}))):Object(a.a)(n)})))}}function un(t,e,n,r){var i=He(t,e,r);return i.resolve?jt(i.resolve(e,n)):jt(i(e,n))}function pn(t){return function(e){return e.pipe(Object(L.a)((function(e){var n=t(e);return n?Object(s.a)(n).pipe(Object(m.a)((function(){return e}))):Object(s.a)([e])})))}}var dn=function(){},hn=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),fn=new o.E("ROUTES"),mn=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;return this.onLoadStartListener&&this.onLoadStartListener(e),this.loadModuleFactory(e.loadChildren).pipe(Object(m.a)((function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new bt(Et(i.injector.get(fn)).map(Ct),i)})))},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?Object(s.a)(this.loader.load(t)):jt(t()).pipe(Object(M.a)((function(t){return t instanceof o.M?Object(a.a)(t):Object(s.a)(e.compiler.compileModuleAsync(t))})))},t}(),gn=function(){},yn=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function vn(t){throw t}function bn(t,e,n){return e.parse("/")}function _n(t,e){return Object(a.a)(null)}var wn=function(){function t(t,e,n,r,i,a,s,c){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=c,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new h.a,this.errorHandler=vn,this.malformedUriErrorHandler=bn,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:_n,afterPreactivation:_n},this.urlHandlingStrategy=new yn,this.routeReuseStrategy=new hn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy";this.ngModule=i.get(o.O),this.console=i.get(o.Db);var p=i.get(o.Q);this.isNgZoneEnabled=p instanceof o.Q,this.resetConfig(c),this.currentUrlTree=new Tt(new Pt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new mn(a,s,(function(t){return u.triggerEvent(new ot(t))}),(function(t){return u.triggerEvent(new at(t))})),this.routerState=re(this.currentUrlTree,this.rootComponentType),this.transitions=new l.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}return t.prototype.setupNavigations=function(t){var e=this,n=this.events;return t.pipe(Object(y.a)((function(t){return 0!==t.id})),Object(m.a)((function(t){return Object(r.a)({},t,{extractedUrl:e.urlHandlingStrategy.extract(t.rawUrl)})})),Object(L.a)((function(t){var i,o,s,l=!1,c=!1;return Object(a.a)(t).pipe(Object(q.a)((function(t){e.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:e.lastSuccessfulNavigation?Object(r.a)({},e.lastSuccessfulNavigation,{previousNavigation:null}):null}})),Object(L.a)((function(t){var i=!e.navigated||t.extractedUrl.toString()!==e.browserUrlTree.toString();if(("reload"===e.onSameUrlNavigation||i)&&e.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(a.a)(t).pipe(Object(L.a)((function(t){var r=e.transitions.getValue();return n.next(new X(t.id,e.serializeUrl(t.extractedUrl),t.source,t.restoredState)),r!==e.transitions.getValue()?f.a:[t]})),Object(L.a)((function(t){return Promise.resolve(t)})),Ve(e.ngModule.injector,e.configLoader,e.urlSerializer,e.config),Object(q.a)((function(t){e.currentNavigation=Object(r.a)({},e.currentNavigation,{finalUrl:t.urlAfterRedirects})})),ln(e.rootComponentType,e.config,(function(t){return e.serializeUrl(t)}),e.paramsInheritanceStrategy,e.relativeLinkResolution),Object(q.a)((function(t){"eager"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)})),Object(q.a)((function(t){var r=new tt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.next(r)})));if(i&&e.rawUrlTree&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){var o=t.id,s=t.extractedUrl,l=t.source,c=t.restoredState,u=t.extras,p=new X(o,e.serializeUrl(s),l,c);n.next(p);var d=re(s,e.rootComponentType).snapshot;return Object(a.a)(Object(r.a)({},t,{targetSnapshot:d,urlAfterRedirects:s,extras:Object(r.a)({},u,{skipLocationChange:!1,replaceUrl:!1})}))}return e.rawUrlTree=t.rawUrl,e.browserUrlTree=t.urlAfterRedirects,t.resolve(null),f.a})),pn((function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.beforePreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})})),Object(q.a)((function(t){var n=new et(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)})),Object(m.a)((function(t){return Object(r.a)({},t,{guards:(n=t.targetSnapshot,i=t.currentSnapshot,o=e.rootContexts,a=n._root,Ue(a,i?i._root:null,o,[a.value]))});var n,i,o,a})),Ye(e.ngModule.injector,(function(t){return e.triggerEvent(t)})),Object(q.a)((function(t){if(je(t.guardsResult)){var n=yt('Redirecting to "'+e.serializeUrl(t.guardsResult)+'"');throw n.url=t.guardsResult,n}})),Object(q.a)((function(t){var n=new nt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);e.triggerEvent(n)})),Object(y.a)((function(t){if(!t.guardsResult){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"");return n.next(r),t.resolve(!1),!1}return!0})),pn((function(t){if(t.guards.canActivateChecks.length)return Object(a.a)(t).pipe(Object(q.a)((function(t){var n=new rt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)})),cn(e.paramsInheritanceStrategy,e.ngModule.injector),Object(q.a)((function(t){var n=new it(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)})))})),pn((function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.afterPreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})})),Object(m.a)((function(t){var n,i,o,a,s=(n=e.routeReuseStrategy,i=t.targetSnapshot,o=t.currentRouterState,a=de(n,i._root,o?o._root:void 0),new ne(a,i));return Object(r.a)({},t,{targetRouterState:s})})),Object(q.a)((function(t){e.currentUrlTree=t.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(e.currentUrlTree,t.rawUrl),e.routerState=t.targetRouterState,"deferred"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)})),(i=e.rootContexts,o=e.routeReuseStrategy,s=function(t){return e.triggerEvent(t)},Object(m.a)((function(t){return new Ee(o,t.targetRouterState,t.currentRouterState,s).activate(i),t}))),Object(q.a)({next:function(){l=!0},complete:function(){l=!0}}),Object(W.a)((function(){if(!l&&!c){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"Navigation ID "+t.id+" is not equal to the current navigation id "+e.navigationId);n.next(r),t.resolve(!1)}e.currentNavigation=null})),Object(P.a)((function(r){if(c=!0,(s=r)&&s[gt]){var i=je(r.url);i||(e.navigated=!0,e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));var o=new $(t.id,e.serializeUrl(t.extractedUrl),r.message);n.next(o),t.resolve(!1),i&&e.navigateByUrl(r.url)}else{e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);var a=new J(t.id,e.serializeUrl(t.extractedUrl),r);n.next(a);try{t.resolve(e.errorHandler(r))}catch(l){t.reject(l)}}var s;return f.a})))})))},t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.getTransition=function(){var t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t},t.prototype.setTransition=function(t){this.transitions.next(Object(r.a)({},this.getTransition(),t))},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe((function(e){var n=t.parseUrl(e.url),r="popstate"===e.type?"popstate":"hashchange",i=e.state&&e.state.navigationId?e.state:null;setTimeout((function(){t.scheduleNavigation(n,r,i,{replaceUrl:!0})}),0)})))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.getCurrentNavigation=function(){return this.currentNavigation},t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){_t(t),this.config=t.map(Ct),this.navigated=!1,this.lastSuccessfulId=-1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,a=e.fragment,s=e.preserveQueryParams,l=e.queryParamsHandling,c=e.preserveFragment;Object(o.yb)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var u=n||this.routerState.root,p=c?this.currentUrlTree.fragment:a,d=null;if(l)switch(l){case"merge":d=Object(r.a)({},this.currentUrlTree.queryParams,i);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=i||null}else d=s?this.currentUrlTree.queryParams:i||null;return null!==d&&(d=this.removeEmptyProps(d)),he(u,this.currentUrlTree,t,d,p)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1}),Object(o.yb)()&&this.isNgZoneEnabled&&!o.Q.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");var n=je(t)?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;l||(l=t[s]=[]);var u=X(e)?Zone.root:Zone.current;if(0===l.length)l.push({zone:u,handler:a});else{for(var p=!1,d=0;d-1},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.e)(1,Object(o.C)(tt)),Object(r.e)(3,Object(o.R)()),Object(r.e)(3,Object(o.C)(et)),Object(r.d)("design:paramtypes",[Object,nt,o.Db,Object])],e)}(A),it=["alt","control","meta","shift"],ot={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},at=function(t){function e(e){return t.call(this,e)||this}var n;return Object(r.c)(e,t),n=e,e.prototype.supports=function(t){return null!=n.parseEventName(t)},e.prototype.addEventListener=function(t,e,r){var i=n.parseEventName(e),o=n.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular((function(){return s().onAndCancel(t,i.domEventName,o)}))},e.parseEventName=function(t){var e=t.toLowerCase().split("."),r=e.shift();if(0===e.length||"keydown"!==r&&"keyup"!==r)return null;var i=n._normalizeKey(e.pop()),o="";if(it.forEach((function(t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),o+=t+".")})),o+=i,0!=e.length||0===i.length)return null;var a={};return a.domEventName=r,a.fullKey=o,a},e.getEventFullKey=function(t){var e="",n=s().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),it.forEach((function(r){r!=n&&((0,ot[r])(t)&&(e+=r+"."))})),e+=n},e.eventCallback=function(t,e,r){return function(i){n.getEventFullKey(i)===t&&r.runGuarded((function(){return e(i)}))}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e=n=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(A),st=function(){},lt=function(t){function e(e){var n=t.call(this)||this;return n._doc=e,n}return Object(r.c)(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case o.db.NONE:return e;case o.db.HTML:return e instanceof ut?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),Object(o.Jb)(this._doc,String(e)));case o.db.STYLE:return e instanceof pt?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),Object(o.Kb)(e));case o.db.SCRIPT:if(e instanceof dt)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case o.db.URL:return e instanceof ft||e instanceof ht?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),Object(o.Lb)(String(e)));case o.db.RESOURCE_URL:if(e instanceof ft)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+t+" (see http://g.co/ng/security#xss)")}},e.prototype.checkNotSafeValue=function(t,e){if(t instanceof ct)throw new Error("Required a safe "+e+", got a "+t.getTypeName()+" (see http://g.co/ng/security#xss)")},e.prototype.bypassSecurityTrustHtml=function(t){return new ut(t)},e.prototype.bypassSecurityTrustStyle=function(t){return new pt(t)},e.prototype.bypassSecurityTrustScript=function(t){return new dt(t)},e.prototype.bypassSecurityTrustUrl=function(t){return new ht(t)},e.prototype.bypassSecurityTrustResourceUrl=function(t){return new ft(t)},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(st),ct=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}return t.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},t}(),ut=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"HTML"},e}(ct),pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Style"},e}(ct),dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Script"},e}(ct),ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"URL"},e}(ct),ft=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"ResourceURL"},e}(ct),mt=i.s,gt=[{provide:o.U,useValue:mt},{provide:o.V,useValue:function(){f.makeCurrent(),_.init()},multi:!0},{provide:i.k,useClass:y,deps:[i.c]},{provide:i.c,useFactory:function(){return document},deps:[]}],yt=[{provide:o.cb,useExisting:st},{provide:st,useClass:lt,deps:[i.c]}];Object(o.sb)(o.zb,"browser",gt);var vt=[yt,{provide:o.Bb,useValue:!0},{provide:o.w,useFactory:function(){return new o.w},deps:[]},{provide:k,useClass:$,multi:!0,deps:[i.c,o.Q,o.U]},{provide:k,useClass:at,multi:!0,deps:[i.c]},{provide:k,useClass:rt,multi:!0,deps:[i.c,tt,o.Db,[new o.R,et]]},{provide:tt,useClass:nt,deps:[]},{provide:L,useClass:L,deps:[j,T,o.c]},{provide:o.ab,useExisting:L},{provide:D,useExisting:T},{provide:T,useClass:T,deps:[i.c]},{provide:o.kb,useClass:o.kb,deps:[o.Q]},{provide:j,useClass:j,deps:[k,o.Q]},S],bt=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}var e;return e=t,t.withServerTransition=function(t){return{ngModule:e,providers:[{provide:o.c,useValue:t.appId},{provide:v,useExisting:o.c},b]}},t=e=Object(r.b)([Object(o.L)({providers:vt,exports:[i.b,o.f]}),Object(r.e)(0,Object(o.R)()),Object(r.e)(0,Object(o.fb)()),Object(r.e)(0,Object(o.C)(e)),Object(r.d)("design:paramtypes",[Object])],t)}();function _t(){return new wt(Object(o.uc)(i.c))}var wt=function(){function t(t){this._doc=t,this._dom=s()}return t.prototype.addTag=function(t,e){return void 0===e&&(e=!1),t?this._getOrCreateElement(t,e):null},t.prototype.addTags=function(t,e){var n=this;return void 0===e&&(e=!1),t?t.reduce((function(t,r){return r&&t.push(n._getOrCreateElement(r,e)),t}),[]):[]},t.prototype.getTag=function(t){return t&&this._dom.querySelector(this._doc,"meta["+t+"]")||null},t.prototype.getTags=function(t){if(!t)return[];var e=this._dom.querySelectorAll(this._doc,"meta["+t+"]");return e?[].slice.call(e):[]},t.prototype.updateTag=function(t,e){if(!t)return null;e=e||this._parseSelector(t);var n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)},t.prototype.removeTag=function(t){this.removeTagElement(this.getTag(t))},t.prototype.removeTagElement=function(t){t&&this._dom.remove(t)},t.prototype._getOrCreateElement=function(t,e){if(void 0===e&&(e=!1),!e){var n=this._parseSelector(t),r=this.getTag(n);if(r&&this._containsAttributes(t,r))return r}var i=this._dom.createElement("meta");this._setMetaElementAttributes(t,i);var o=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(o,i),i},t.prototype._setMetaElementAttributes=function(t,e){var n=this;return Object.keys(t).forEach((function(r){return n._dom.setAttribute(e,r,t[r])})),e},t.prototype._parseSelector=function(t){var e=t.name?"name":"property";return e+'="'+t[e]+'"'},t.prototype._containsAttributes=function(t,e){var n=this;return Object.keys(t).every((function(r){return n._dom.getAttribute(e,r)===t[r]}))},t.ngInjectableDef=Object(o.tc)({factory:_t,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:_t,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}();function xt(){return new Ct(Object(o.uc)(i.c))}var Ct=function(){function t(t){this._doc=t}return t.prototype.getTitle=function(){return s().getTitle(this._doc)},t.prototype.setTitle=function(t){s().setTitle(this._doc,t)},t.ngInjectableDef=Object(o.tc)({factory:xt,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:xt,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}(),Ot="undefined"!=typeof window&&window||{},Et=function(t,e){this.msPerTick=t,this.numTicks=e};!function(){function t(t){this.appRef=t.injector.get(o.g)}t.prototype.timeChangeDetection=function(t){var e=t&&t.record,n=null!=Ot.console.profile;e&&n&&Ot.console.profile("Change Detection");for(var r=s().performanceNow(),i=0;i<5||s().performanceNow()-r<500;)this.appRef.tick(),i++;var o=s().performanceNow();e&&n&&Ot.console.profileEnd("Change Detection");var a=(o-r)/i;return Ot.console.log("ran "+i+" change detection cycles"),Ot.console.log(a.toFixed(2)+" ms per check"),new Et(a,i)}}();var St=function(){function t(){this.store={},this.onSerializeCallbacks={}}var e;return e=t,t.init=function(t){var n=new e;return n.store=t,n},t.prototype.get=function(t,e){return void 0!==this.store[t]?this.store[t]:e},t.prototype.set=function(t,e){this.store[t]=e},t.prototype.remove=function(t){delete this.store[t]},t.prototype.hasKey=function(t){return this.store.hasOwnProperty(t)},t.prototype.onSerialize=function(t,e){this.onSerializeCallbacks[t]=e},t.prototype.toJson=function(){for(var t in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(t))try{this.store[t]=this.onSerializeCallbacks[t]()}catch(e){console.warn("Exception in onSerialize callback: ",e)}return JSON.stringify(this.store)},t=e=Object(r.b)([Object(o.D)()],t)}();function kt(t,e){var n,r,i=t.getElementById(e+"-state"),o={};if(i&&i.textContent)try{o=JSON.parse((n=i.textContent,r={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"},n.replace(/&[^;]+;/g,(function(t){return r[t]}))))}catch(a){console.warn("Exception while restoring TransferState for app "+e,a)}return St.init(o)}(function(){function t(){}t=Object(r.b)([Object(o.L)({providers:[{provide:St,useFactory:kt,deps:[i.c,o.c]}]})],t)})(),function(){function t(){}t.all=function(){return function(){return!0}},t.css=function(t){return function(e){return null!=e.nativeElement&&s().elementMatches(e.nativeElement,t)}},t.directive=function(t){return function(e){return-1!==e.providerTokens.indexOf(t)}}}(),new o.mb("8.2.6")},Zn8D:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("psW0"),i=n("mChF");function o(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i.a,t)}},ad02:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("mrSG"),i=n("FFOo");function o(t,e){return function(n){return n.lift(new a(t,e))}}var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.compare,this.keySelector))},t}(),s=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keySelector=r,i.hasKey=!1,"function"==typeof n&&(i.compare=n),i}return r.c(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e;try{var n=this.keySelector;e=n?n(t):t}catch(i){return this.destination.error(i)}var r=!1;if(this.hasKey)try{r=(0,this.compare)(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;r||(this.key=e,this.destination.next(t))},e}(i.a)},b716:function(t,e,n){"use strict";var r=n("mrSG"),i=n("dWZg"),o=n("CcnG"),a=n("n6gG"),s=n("G5J1"),l=n("K9Ia"),c=n("bne5"),u=n("Rney"),p=n("ny24"),d=Object(i.f)({passive:!0}),h=function(){function t(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}return t.prototype.monitor=function(t){var e=this;if(!this._platform.isBrowser)return s.a;var n=Object(a.e)(t),r=this._monitoredElements.get(n);if(r)return r.subject.asObservable();var i=new l.a,o="cdk-text-field-autofilled",c=function(t){"cdk-text-field-autofill-start"!==t.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===t.animationName&&n.classList.contains(o)&&(n.classList.remove(o),e._ngZone.run((function(){return i.next({target:t.target,isAutofilled:!1})}))):(n.classList.add(o),e._ngZone.run((function(){return i.next({target:t.target,isAutofilled:!0})})))};return this._ngZone.runOutsideAngular((function(){n.addEventListener("animationstart",c,d),n.classList.add("cdk-text-field-autofill-monitored")})),this._monitoredElements.set(n,{subject:i,unlisten:function(){n.removeEventListener("animationstart",c,d)}}),i.asObservable()},t.prototype.stopMonitoring=function(t){var e=Object(a.e)(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))},t.prototype.ngOnDestroy=function(){var t=this;this._monitoredElements.forEach((function(e,n){return t.stopMonitoring(n)}))},t.decorators=[{type:o.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a},{type:o.Q}]},t.ngInjectableDef=Object(o.tb)({factory:function(){return new t(Object(o.xb)(i.a),Object(o.xb)(o.Q))},token:t,providedIn:"root"}),t}(),f=function(){function t(t,e){this._elementRef=t,this._autofillMonitor=e,this.cdkAutofill=new o.x}return t.prototype.ngOnInit=function(){var t=this;this._autofillMonitor.monitor(this._elementRef).subscribe((function(e){return t.cdkAutofill.emit(e)}))},t.prototype.ngOnDestroy=function(){this._autofillMonitor.stopMonitoring(this._elementRef)},t.decorators=[{type:o.t,args:[{selector:"[cdkAutofill]"}]}],t.ctorParameters=function(){return[{type:o.u},{type:h}]},t.propDecorators={cdkAutofill:[{type:o.S}]},t}(),m=function(){function t(t,e,n){this._elementRef=t,this._platform=e,this._ngZone=n,this._destroyed=new l.a,this._enabled=!0,this._previousMinRows=-1,this._textareaElement=this._elementRef.nativeElement}return Object.defineProperty(t.prototype,"minRows",{get:function(){return this._minRows},set:function(t){this._minRows=t,this._setMinHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxRows",{get:function(){return this._maxRows},set:function(t){this._maxRows=t,this._setMaxHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){t=Object(a.c)(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())},enumerable:!0,configurable:!0}),t.prototype._setMinHeight=function(){var t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)},t.prototype._setMaxHeight=function(){var t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)},t.prototype.ngAfterViewInit=function(){var t=this;this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular((function(){Object(c.a)(window,"resize").pipe(Object(u.a)(16),Object(p.a)(t._destroyed)).subscribe((function(){return t.resizeToFitContent(!0)}))})))},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype._cacheTextareaLineHeight=function(){if(!this._cachedLineHeight){var t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,this._textareaElement.parentNode.removeChild(t),this._setMinHeight(),this._setMaxHeight()}},t.prototype.ngDoCheck=function(){this._platform.isBrowser&&this.resizeToFitContent()},t.prototype.resizeToFitContent=function(t){var e=this;if(void 0===t&&(t=!1),this._enabled&&(this._cacheTextareaLineHeight(),this._cachedLineHeight)){var n=this._elementRef.nativeElement,r=n.value;if(t||this._minRows!==this._previousMinRows||r!==this._previousValue){var i=n.placeholder;n.classList.add("cdk-textarea-autosize-measuring"),n.placeholder="";var o=n.scrollHeight-4;n.style.height=o+"px",n.classList.remove("cdk-textarea-autosize-measuring"),n.placeholder=i,this._ngZone.runOutsideAngular((function(){"undefined"!=typeof requestAnimationFrame?requestAnimationFrame((function(){return e._scrollToCaretPosition(n)})):setTimeout((function(){return e._scrollToCaretPosition(n)}))})),this._previousValue=r,this._previousMinRows=this._minRows}}},t.prototype.reset=function(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)},t.prototype._noopInputHandler=function(){},t.prototype._scrollToCaretPosition=function(t){var e=t.selectionStart,n=t.selectionEnd;this._destroyed.isStopped||document.activeElement!==t||t.setSelectionRange(e,n)},t.decorators=[{type:o.t,args:[{selector:"textarea[cdkTextareaAutosize]",exportAs:"cdkTextareaAutosize",host:{class:"cdk-textarea-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],t.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:o.Q}]},t.propDecorators={minRows:[{type:o.G,args:["cdkAutosizeMinRows"]}],maxRows:[{type:o.G,args:["cdkAutosizeMaxRows"]}],enabled:[{type:o.G,args:["cdkTextareaAutosize"]}]},t}(),g=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[f,m],imports:[i.b],exports:[f,m]}]}],t}(),y=n("gIcY"),v=n("Wf4p"),b=n("seP3"),_=n("Ip0R");n.d(e,"b",(function(){return k})),n.d(e,"a",(function(){return x}));var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"matAutosizeMinRows",{get:function(){return this.minRows},set:function(t){this.minRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosizeMaxRows",{get:function(){return this.maxRows},set:function(t){this.maxRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matTextareaAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),e.decorators=[{type:o.t,args:[{selector:"textarea[mat-autosize], textarea[matTextareaAutosize]",exportAs:"matTextareaAutosize",inputs:["cdkAutosizeMinRows","cdkAutosizeMaxRows"],host:{class:"cdk-textarea-autosize mat-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],e.propDecorators={matAutosizeMinRows:[{type:o.G}],matAutosizeMaxRows:[{type:o.G}],matAutosize:[{type:o.G,args:["mat-autosize"]}],matTextareaAutosize:[{type:o.G}]},e}(m);var x=new o.E("MAT_INPUT_VALUE_ACCESSOR"),C=["button","checkbox","file","hidden","image","radio","range","reset","submit"],O=0,E=function(t,e,n,r){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=r},S=function(t){function e(e,n,r,o,a,s,c,u,p){var d=t.call(this,s,o,a,r)||this;d._elementRef=e,d._platform=n,d.ngControl=r,d._autofillMonitor=u,d._uid="mat-input-"+O++,d._isServer=!1,d._isNativeSelect=!1,d.focused=!1,d.stateChanges=new l.a,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter((function(t){return Object(i.e)().has(t)}));var h=d._elementRef.nativeElement;return d._inputValueAccessor=c||h,d._previousNativeValue=d.value,d.id=d.id,n.IOS&&p.runOutsideAngular((function(){e.nativeElement.addEventListener("keyup",(function(t){var e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))}))})),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===h.nodeName.toLowerCase(),d._isNativeSelect&&(d.controlType=h.multiple?"mat-native-select-multiple":"mat-native-select"),d}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(t){this._disabled=Object(a.c)(t),this.focused&&(this.focused=!1,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},set:function(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Object(i.e)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._inputValueAccessor.value},set:function(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(t){this._readonly=Object(a.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe((function(e){t.autofilled=e.isAutofilled,t.stateChanges.next()}))},e.prototype.ngOnChanges=function(){this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._focusChanged=function(t){t===this.focused||this.readonly&&t||(this.focused=t,this.stateChanges.next())},e.prototype._onInput=function(){},e.prototype._dirtyCheckNativeValue=function(){var t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())},e.prototype._validateType=function(){if(C.indexOf(this._type)>-1)throw t=this._type,Error('Input type "'+t+"\" isn't supported by matInput.");var t},e.prototype._isNeverEmpty=function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1},e.prototype._isBadInput=function(){var t=this._elementRef.nativeElement.validity;return t&&t.badInput},e.prototype._isTextarea=function(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()},Object.defineProperty(e.prototype,"empty",{get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){if(this._isNativeSelect){var t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty},enumerable:!0,configurable:!0}),e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focused||this.focus()},e.decorators=[{type:o.t,args:[{selector:"input[matInput], textarea[matInput], select[matNativeControl],\n input[matNativeControl], textarea[matNativeControl]",exportAs:"matInput",host:{class:"mat-input-element mat-form-field-autofill-control","[class.mat-input-server]":"_isServer","[attr.id]":"id","[attr.placeholder]":"placeholder","[disabled]":"disabled","[required]":"required","[attr.readonly]":"readonly && !_isNativeSelect || null","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-invalid]":"errorState","[attr.aria-required]":"required.toString()","(blur)":"_focusChanged(false)","(focus)":"_focusChanged(true)","(input)":"_onInput()"},providers:[{provide:b.b,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:y.h,decorators:[{type:o.R},{type:o.eb}]},{type:y.i,decorators:[{type:o.R}]},{type:y.d,decorators:[{type:o.R}]},{type:v.b},{type:void 0,decorators:[{type:o.R},{type:o.eb},{type:o.C,args:[x]}]},{type:h},{type:o.Q}]},e.propDecorators={disabled:[{type:o.G}],id:[{type:o.G}],placeholder:[{type:o.G}],required:[{type:o.G}],type:[{type:o.G}],errorStateMatcher:[{type:o.G}],value:[{type:o.G}],readonly:[{type:o.G}]},e}(Object(v.x)(E)),k=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[S,w],imports:[_.b,g,b.c],exports:[g,b.c,S,w],providers:[v.b]}]}],t}()},b7mW:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}()},bbBv:function(t,e,n){"use strict";n.r(e),e.default=".content {\n margin-top: 2px;\n}\n\n.example-margin {\n margin: 0 10px;\n}\n\n.settings-viewer-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.03);\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12);\n margin: 30px;\n}\n\n.settings-viewer-title {\n align-content: center;\n align-items: center;\n display: flex;\n justify-content: center;\n padding: 8px 20px;\n color: rgba(0, 0, 0, 0.54);\n background: rgba(0, 0, 0, 0.03);\n}\n\n.settings-viewer-title-spacer {\n flex: 1 1 auto;\n color: rgba(0, 0, 0, 0.54);\n}\n\n.settings-viewer-body {\n padding: 30px;\n color: rgba(0, 0, 0, 0.87);\n}\n\n.form-container {\n display: flex;\n flex-direction: column;\n}\n\n.setting-button {\n margin: 5px;\n margin-top: 15px;\n}"},bne5:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n("6blF"),i=n("isby"),o=n("2Bdj"),a=n("67Y/");function s(t,e,n,l){return Object(o.a)(n)&&(l=n,n=void 0),l?s(t,e,n).pipe(Object(a.a)((function(t){return Object(i.a)(t)?l.apply(void 0,t):l(t)}))):new r.a((function(r){!function t(e,n,r,i,o){var a;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){var s=e;e.addEventListener(n,r,o),a=function(){return s.removeEventListener(n,r,o)}}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){var l=e;e.on(n,r),a=function(){return l.off(n,r)}}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){var c=e;e.addListener(n,r),a=function(){return c.removeListener(n,r)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var u=0,p=e.length;u1?r.next(Array.prototype.slice.call(arguments)):r.next(t)}),r,n)}))}},bse0:function(t,e,n){"use strict";var r=n("K9Ia"),i=n("bne5"),o=n("p0ib"),a=n("Rney"),s=n("ny24"),l=n("ad02"),c=n("mrSG"),u=n("FFOo");function p(t){return function(e){return e.lift(new d(t))}}var d=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.value))},t}(),h=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return c.c(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(u.a),f=n("CcnG"),m=n("Ip0R");function g(t){return getComputedStyle(t)}function y(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r+="px"),t.style[n]=r}return t}function v(t){var e=document.createElement("div");return e.className=t,e}var b="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function _(t,e){if(!b)throw new Error("No element matching method supported");return b.call(t,e)}function w(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function x(t,e){return Array.prototype.filter.call(t.children,(function(t){return _(t,e)}))}var C={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},O={x:null,y:null};function E(t,e){var n=t.element.classList,r=C.state.scrolling(e);n.contains(r)?clearTimeout(O[e]):n.add(r)}function S(t,e){O[e]=setTimeout((function(){return t.isAlive&&t.element.classList.remove(C.state.scrolling(e))}),t.settings.scrollingThreshold)}var k=function(t){this.element=t,this.handlers={}},j={isEmpty:{configurable:!0}};k.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},k.prototype.unbind=function(t,e){var n=this;this.handlers[t]=this.handlers[t].filter((function(r){return!(!e||r===e)||(n.element.removeEventListener(t,r,!1),!1)}))},k.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},j.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every((function(e){return 0===t.handlers[e].length}))},Object.defineProperties(k.prototype,j);var A=function(){this.eventElements=[]};function D(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}A.prototype.eventElement=function(t){var e=this.eventElements.filter((function(e){return e.element===t}))[0];return e||(e=new k(t),this.eventElements.push(e)),e},A.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},A.prototype.unbind=function(t,e,n){var r=this.eventElement(t);r.unbind(e,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},A.prototype.unbindAll=function(){this.eventElements.forEach((function(t){return t.unbindAll()})),this.eventElements=[]},A.prototype.once=function(t,e,n){var r=this.eventElement(t),i=function(t){r.unbind(e,i),n(t)};r.bind(e,i)};var T=function(t,e,n,r,i){var o;if(void 0===r&&(r=!0),void 0===i&&(i=!1),"top"===e)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,n,r,i){var o=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0);void 0===i&&(i=!1);var p=t.element;t.reach[l]=null,p[s]<1&&(t.reach[l]="start");p[s]>t[o]-t[a]-1&&(t.reach[l]="end");e&&(p.dispatchEvent(D("ps-scroll-"+l)),e<0?p.dispatchEvent(D("ps-scroll-"+c)):e>0&&p.dispatchEvent(D("ps-scroll-"+u)),r&&function(t,e){E(t,e),S(t,e)}(t,l));t.reach[l]&&(e||i)&&p.dispatchEvent(D("ps-"+l+"-reach-"+t.reach[l]))}(t,n,o,r,i)};function P(t){return parseInt(t,10)||0}var I={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},R=function(t){var e=t.element,n=Math.floor(e.scrollTop);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(x(e,C.element.rail("x")).forEach((function(t){return w(t)})),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(x(e,C.element.rail("y")).forEach((function(t){return w(t)})),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var n={width:e.railXWidth},r=Math.floor(t.scrollTop);e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft;e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-r:n.top=e.scrollbarXTop+r;y(e.scrollbarXRail,n);var i={top:r,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?i.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:i.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?i.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:i.left=e.scrollbarYLeft+t.scrollLeft;y(e.scrollbarYRail,i),y(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),y(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(C.state.active("x")):(e.classList.remove(C.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(C.state.active("y")):(e.classList.remove(C.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)};function M(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function N(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],l=e[6],c=e[7],u=e[8],p=t.element,d=null,h=null,f=null;function m(e){p[l]=d+f*(e[i]-h),E(t,c),R(t),e.stopPropagation(),e.preventDefault()}function g(){S(t,c),t[u].classList.remove(C.state.clicking),t.event.unbind(t.ownerDocument,"mousemove",m)}t.event.bind(t[a],"mousedown",(function(e){d=p[l],h=e[i],f=(t[r]-t[n])/(t[o]-t[s]),t.event.bind(t.ownerDocument,"mousemove",m),t.event.once(t.ownerDocument,"mouseup",g),t[u].classList.add(C.state.clicking),e.stopPropagation(),e.preventDefault()}))}var F={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",(function(t){return t.stopPropagation()})),t.event.bind(t.scrollbarYRail,"mousedown",(function(e){var n=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;t.element.scrollTop+=n*t.containerHeight,R(t),e.stopPropagation()})),t.event.bind(t.scrollbarX,"mousedown",(function(t){return t.stopPropagation()})),t.event.bind(t.scrollbarXRail,"mousedown",(function(e){var n=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=n*t.containerWidth,R(t),e.stopPropagation()}))},"drag-thumb":function(t){N(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),N(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",(function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(_(e,":hover")||_(t.scrollbarX,":focus")||_(t.scrollbarY,":focus"))){var r,i=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(i){if("IFRAME"===i.tagName)i=i.contentDocument.activeElement;else for(;i.shadowRoot;)i=i.shadowRoot.activeElement;if(_(r=i,"input,[contenteditable]")||_(r,"select,[contenteditable]")||_(r,"textarea,[contenteditable]")||_(r,"button,[contenteditable]"))return}var o=0,a=0;switch(n.which){case 37:o=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:a=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:o=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:a=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 32:a=n.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==o||t.settings.suppressScrollY&&0!==a||(e.scrollTop-=a,e.scrollLeft+=o,R(t),function(n,r){var i=Math.floor(e.scrollTop);if(0===n){if(!t.scrollbarYActive)return!1;if(0===i&&r>0||i>=t.contentHeight-t.containerHeight&&r<0)return!t.settings.wheelPropagation}var o=e.scrollLeft;if(0===r){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}(o,a)&&n.preventDefault())}}))},wheel:function(t){var e=t.element;function n(n){var r=function(t){var e=t.deltaX,n=-1*t.deltaY;return void 0!==e&&void 0!==n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!=e&&n!=n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}(n),i=r[0],o=r[1];if(!function(t,n,r){if(!I.isWebKit&&e.querySelector("select:focus"))return!0;if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollWidth-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(n.target,i,o)){var a=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(o?e.scrollTop-=o*t.settings.wheelSpeed:e.scrollTop+=i*t.settings.wheelSpeed,a=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(i?e.scrollLeft+=i*t.settings.wheelSpeed:e.scrollLeft-=o*t.settings.wheelSpeed,a=!0):(e.scrollTop-=o*t.settings.wheelSpeed,e.scrollLeft+=i*t.settings.wheelSpeed),R(t),(a=a||function(n,r){var i=Math.floor(e.scrollTop),o=0===e.scrollTop,a=i+e.offsetHeight===e.scrollHeight,s=0===e.scrollLeft,l=e.scrollLeft+e.offsetWidth===e.scrollWidth;return!(Math.abs(r)>Math.abs(n)?o||a:s||l)||!t.settings.wheelPropagation}(i,o))&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?t.event.bind(e,"wheel",n):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",n)},touch:function(t){if(I.supportsTouch||I.supportsIePointer){var e=t.element,n={},r=0,i={},o=null;I.supportsTouch?(t.event.bind(e,"touchstart",c),t.event.bind(e,"touchmove",u),t.event.bind(e,"touchend",p)):I.supportsIePointer&&(window.PointerEvent?(t.event.bind(e,"pointerdown",c),t.event.bind(e,"pointermove",u),t.event.bind(e,"pointerup",p)):window.MSPointerEvent&&(t.event.bind(e,"MSPointerDown",c),t.event.bind(e,"MSPointerMove",u),t.event.bind(e,"MSPointerUp",p)))}function a(n,r){e.scrollTop-=r,e.scrollLeft-=n,R(t)}function s(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return(!t.pointerType||"pen"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function c(t){if(l(t)){var e=s(t);n.pageX=e.pageX,n.pageY=e.pageY,r=(new Date).getTime(),null!==o&&clearInterval(o)}}function u(o){if(l(o)){var c=s(o),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-n.pageX,d=u.pageY-n.pageY;if(function(t,n,r){if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollLeft-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(o.target,p,d))return;a(p,d),n=u;var h=(new Date).getTime(),f=h-r;f>0&&(i.x=p/f,i.y=d/f,r=h),function(n,r){var i=Math.floor(e.scrollTop),o=e.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&i===t.contentHeight-t.containerHeight||r>0&&0===i)return 0===window.scrollY&&r>0&&I.isChrome}else if(a>s&&(n<0&&o===t.contentWidth-t.containerWidth||n>0&&0===o))return!0;return!0}(p,d)&&o.preventDefault()}}function p(){t.settings.swipeEasing&&(clearInterval(o),o=setInterval((function(){t.isInitialized?clearInterval(o):i.x||i.y?Math.abs(i.x)<.01&&Math.abs(i.y)<.01?clearInterval(o):(a(30*i.x,30*i.y),i.x*=.8,i.y*=.8):clearInterval(o)}),10))}}},L=function(t,e){var n=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=t,t.classList.add(C.main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},e)n.settings[r]=e[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var i,o,a=function(){return t.classList.add(C.state.focus)},s=function(){return t.classList.remove(C.state.focus)};this.isRtl="rtl"===g(t).direction,this.isNegativeScroll=(o=t.scrollLeft,t.scrollLeft=-1,i=t.scrollLeft<0,t.scrollLeft=o,i),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new A,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=v(C.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=v(C.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=g(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=P(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=P(l.borderLeftWidth)+P(l.borderRightWidth),y(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=P(l.marginLeft)+P(l.marginRight),y(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=v(C.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=v(C.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=g(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=P(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var e=g(t);return P(e.width)+P(e.paddingLeft)+P(e.paddingRight)+P(e.borderLeftWidth)+P(e.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=P(c.borderTopWidth)+P(c.borderBottomWidth),y(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=P(c.marginTop)+P(c.marginBottom),y(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach((function(t){return F[t](n)})),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",(function(t){return n.onScroll(t)})),R(this)};L.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,y(this.scrollbarXRail,{display:"block"}),y(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=P(g(this.scrollbarXRail).marginLeft)+P(g(this.scrollbarXRail).marginRight),this.railYMarginHeight=P(g(this.scrollbarYRail).marginTop)+P(g(this.scrollbarYRail).marginBottom),y(this.scrollbarXRail,{display:"none"}),y(this.scrollbarYRail,{display:"none"}),R(this),T(this,"top",0,!1,!0),T(this,"left",0,!1,!0),y(this.scrollbarXRail,{display:""}),y(this.scrollbarYRail,{display:""}))},L.prototype.onScroll=function(t){this.isAlive&&(R(this),T(this,"top",this.element.scrollTop-this.lastScrollTop),T(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},L.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),w(this.scrollbarX),w(this.scrollbarY),w(this.scrollbarXRail),w(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},L.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter((function(t){return!t.match(/^ps([-_].+|)$/)})).join(" ")};var V=L,B=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,r){return t[0]===e&&(n=r,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){z&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){z&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;W.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Q=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),st="undefined"!=typeof WeakMap?new WeakMap:new B,lt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=K.getInstance(),r=new at(e,n,this);st.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){lt.prototype[t]=function(){var e;return(e=st.get(this))[t].apply(e,arguments)}}));var ct=void 0!==H.ResizeObserver?H.ResizeObserver:lt;n.d(e,"a",(function(){return ut})),n.d(e,"b",(function(){return yt}));var ut=new f.E("PERFECT_SCROLLBAR_CONFIG"),pt=function(t,e,n,r){this.x=t,this.y=e,this.w=n,this.h=r},dt=function(t,e){this.x=t,this.y=e},ht=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"],ft=function(){function t(t){void 0===t&&(t={}),this.assign(t)}return t.prototype.assign=function(t){for(var e in void 0===t&&(t={}),t)this[e]=t[e]},t}(),mt=function(){function t(t,e,n,i,o){this.zone=t,this.differs=e,this.elementRef=n,this.platformId=i,this.defaults=o,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new r.a,this.disabled=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;if(!this.disabled&&Object(m.m)(this.platformId)){var e=new ft(this.defaults);e.assign(this.config),this.zone.runOutsideAngular((function(){t.instance=new V(t.elementRef.nativeElement,e)})),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular((function(){t.ro=new ct((function(){t.update()})),t.elementRef.nativeElement.children[0]&&t.ro.observe(t.elementRef.nativeElement.children[0]),t.ro.observe(t.elementRef.nativeElement)})),this.zone.runOutsideAngular((function(){ht.forEach((function(e){var n=e.replace(/([A-Z])/g,(function(t){return"-"+t.toLowerCase()}));Object(i.a)(t.elementRef.nativeElement,n).pipe(Object(a.a)(20),Object(s.a)(t.ngDestroy)).subscribe((function(n){t[e].emit(n)}))}))}))}},t.prototype.ngOnDestroy=function(){var t=this;Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&"undefined"!=typeof window&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular((function(){t.instance&&t.instance.destroy()})),this.instance=null)},t.prototype.ngDoCheck=function(){!this.disabled&&this.configDiff&&Object(m.m)(this.platformId)&&(this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit()))},t.prototype.ngOnChanges=function(t){t.disabled&&!t.disabled.isFirstChange()&&Object(m.m)(this.platformId)&&t.disabled.currentValue!==t.disabled.previousValue&&(!0===t.disabled.currentValue?this.ngOnDestroy():!1===t.disabled.currentValue&&this.ngOnInit())},t.prototype.ps=function(){return this.instance},t.prototype.update=function(){var t=this;"undefined"!=typeof window&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout((function(){if(!t.disabled&&t.configDiff)try{t.zone.runOutsideAngular((function(){t.instance&&t.instance.update()}))}catch(e){}}),0))},t.prototype.geometry=function(t){return void 0===t&&(t="scroll"),new pt(this.elementRef.nativeElement[t+"Left"],this.elementRef.nativeElement[t+"Top"],this.elementRef.nativeElement[t+"Width"],this.elementRef.nativeElement[t+"Height"])},t.prototype.position=function(t){return void 0===t&&(t=!1),!t&&this.instance?new dt(this.instance.reach.x||0,this.instance.reach.y||0):new dt(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)},t.prototype.scrollable=function(t){void 0===t&&(t="any");var e=this.elementRef.nativeElement;return"any"===t?e.classList.contains("ps--active-x")||e.classList.contains("ps--active-y"):"both"===t?e.classList.contains("ps--active-x")&&e.classList.contains("ps--active-y"):e.classList.contains("ps--active-"+t)},t.prototype.scrollTo=function(t,e,n){this.disabled||(null==e&&null==n?this.animateScrolling("scrollTop",t,n):(null!=t&&this.animateScrolling("scrollLeft",t,n),null!=e&&this.animateScrolling("scrollTop",e,n)))},t.prototype.scrollToX=function(t,e){this.animateScrolling("scrollLeft",t,e)},t.prototype.scrollToY=function(t,e){this.animateScrolling("scrollTop",t,e)},t.prototype.scrollToTop=function(t,e){this.animateScrolling("scrollTop",t||0,e)},t.prototype.scrollToLeft=function(t,e){this.animateScrolling("scrollLeft",t||0,e)},t.prototype.scrollToRight=function(t,e){var n=this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth;this.animateScrolling("scrollLeft",n-(t||0),e)},t.prototype.scrollToBottom=function(t,e){var n=this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight;this.animateScrolling("scrollTop",n-(t||0),e)},t.prototype.scrollToElement=function(t,e,n){var r=this.elementRef.nativeElement.querySelector(t);if(r){var i=r.getBoundingClientRect(),o=this.elementRef.nativeElement.getBoundingClientRect();if(this.elementRef.nativeElement.classList.contains("ps--active-x")){var a=this.elementRef.nativeElement.scrollLeft,s=i.left-o.left+a;this.animateScrolling("scrollLeft",s+(e||0),n)}if(this.elementRef.nativeElement.classList.contains("ps--active-y")){a=this.elementRef.nativeElement.scrollTop,s=i.top-o.top+a;this.animateScrolling("scrollTop",s+(e||0),n)}}},t.prototype.animateScrolling=function(t,e,n){var r=this;if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),n&&"undefined"!=typeof window){if(e!==this.elementRef.nativeElement[t]){var i=0,o=0,a=performance.now(),s=this.elementRef.nativeElement[t],l=(s-e)/2,c=function(u){o+=Math.PI/(n/(u-a)),i=Math.round(e+l+l*Math.cos(o)),r.elementRef.nativeElement[t]===s&&(o>=Math.PI?r.animateScrolling(t,e,0):(r.elementRef.nativeElement[t]=i,s=r.elementRef.nativeElement[t],a=u,r.animation=window.requestAnimationFrame(c)))};window.requestAnimationFrame(c)}}else this.elementRef.nativeElement[t]=e},t.decorators=[{type:f.t,args:[{selector:"[perfectScrollbar]",exportAs:"ngxPerfectScrollbar"}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.I},{type:f.u},{type:Object,decorators:[{type:f.C,args:[f.U]}]},{type:void 0,decorators:[{type:f.R},{type:f.C,args:[ut]}]}]},t.propDecorators={disabled:[{type:f.G}],config:[{type:f.G,args:["perfectScrollbar"]}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}]},t}(),gt=function(){function t(t,e,n){this.zone=t,this.cdRef=e,this.platformId=n,this.states={},this.indicatorX=!1,this.indicatorY=!1,this.interaction=!1,this.scrollPositionX=0,this.scrollPositionY=0,this.scrollDirectionX=0,this.scrollDirectionY=0,this.usePropagationX=!1,this.usePropagationY=!1,this.allowPropagationX=!1,this.allowPropagationY=!1,this.stateTimeout=null,this.ngDestroy=new r.a,this.stateUpdate=new r.a,this.disabled=!1,this.usePSClass=!0,this.autoPropagation=!1,this.scrollIndicators=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;Object(m.m)(this.platformId)&&(this.stateUpdate.pipe(Object(s.a)(this.ngDestroy),Object(l.a)((function(e,n){return e===n&&!t.stateTimeout}))).subscribe((function(e){t.stateTimeout&&"undefined"!=typeof window&&(window.clearTimeout(t.stateTimeout),t.stateTimeout=null),"x"===e||"y"===e?(t.interaction=!1,"x"===e?(t.indicatorX=!1,t.states.left=!1,t.states.right=!1,t.autoPropagation&&t.usePropagationX&&(t.allowPropagationX=!1)):"y"===e&&(t.indicatorY=!1,t.states.top=!1,t.states.bottom=!1,t.autoPropagation&&t.usePropagationY&&(t.allowPropagationY=!1))):("left"===e||"right"===e?(t.states.left=!1,t.states.right=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationX&&(t.indicatorX=!0)):"top"!==e&&"bottom"!==e||(t.states.top=!1,t.states.bottom=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationY&&(t.indicatorY=!0)),t.autoPropagation&&"undefined"!=typeof window&&(t.stateTimeout=window.setTimeout((function(){t.indicatorX=!1,t.indicatorY=!1,t.stateTimeout=null,t.interaction&&(t.states.left||t.states.right)&&(t.allowPropagationX=!0),t.interaction&&(t.states.top||t.states.bottom)&&(t.allowPropagationY=!0),t.cdRef.markForCheck()}),500))),t.cdRef.markForCheck(),t.cdRef.detectChanges()})),this.zone.runOutsideAngular((function(){if(t.directiveRef){var e=t.directiveRef.elementRef.nativeElement;Object(i.a)(e,"wheel").pipe(Object(s.a)(t.ngDestroy)).subscribe((function(e){if(!t.disabled&&t.autoPropagation){var n=e.deltaX,r=e.deltaY;t.checkPropagation(e,n,r)}})),Object(i.a)(e,"touchmove").pipe(Object(s.a)(t.ngDestroy)).subscribe((function(e){if(!t.disabled&&t.autoPropagation){var n=e.touches[0].clientX,r=e.touches[0].clientY,i=n-t.scrollPositionX,o=r-t.scrollPositionY;t.checkPropagation(e,i,o),t.scrollPositionX=n,t.scrollPositionY=r}})),Object(o.a)(Object(i.a)(e,"ps-scroll-x").pipe(p("x")),Object(i.a)(e,"ps-scroll-y").pipe(p("y")),Object(i.a)(e,"ps-x-reach-end").pipe(p("right")),Object(i.a)(e,"ps-y-reach-end").pipe(p("bottom")),Object(i.a)(e,"ps-x-reach-start").pipe(p("left")),Object(i.a)(e,"ps-y-reach-start").pipe(p("top"))).pipe(Object(s.a)(t.ngDestroy)).subscribe((function(e){t.disabled||!t.autoPropagation&&!t.scrollIndicators||t.stateUpdate.next(e)}))}})),window.setTimeout((function(){ht.forEach((function(e){t.directiveRef&&(t.directiveRef[e]=t[e])}))}),0))},t.prototype.ngOnDestroy=function(){Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.unsubscribe(),this.stateTimeout&&"undefined"!=typeof window&&window.clearTimeout(this.stateTimeout))},t.prototype.ngDoCheck=function(){if(Object(m.m)(this.platformId)&&!this.disabled&&this.autoPropagation&&this.directiveRef){var t=this.directiveRef.elementRef.nativeElement;this.usePropagationX=t.classList.contains("ps--active-x"),this.usePropagationY=t.classList.contains("ps--active-y")}},t.prototype.checkPropagation=function(t,e,n){this.interaction=!0;var r=e<0?-1:1,i=n<0?-1:1;(this.usePropagationX&&this.usePropagationY||this.usePropagationX&&(!this.allowPropagationX||this.scrollDirectionX!==r)||this.usePropagationY&&(!this.allowPropagationY||this.scrollDirectionY!==i))&&(t.preventDefault(),t.stopPropagation()),e&&(this.scrollDirectionX=r),n&&(this.scrollDirectionY=i),this.stateUpdate.next("interaction"),this.cdRef.detectChanges()},t.decorators=[{type:f.n,args:[{selector:"perfect-scrollbar",exportAs:"ngxPerfectScrollbar",template:'
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n',encapsulation:f.qb.None,styles:["/*\n TODO: Remove important flags after this bug if fixed:\n https://github.com/angular/flex-layout/issues/381\n*/\n\nperfect-scrollbar {\n position: relative;\n\n display: block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n}\n\nperfect-scrollbar[hidden] {\n display: none;\n}\n\nperfect-scrollbar[fxflex] {\n display: flex;\n flex-direction: column;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-direction: column;\n -webkit-box-orient: column;\n}\n\nperfect-scrollbar[fxflex] > .ps {\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-flex: 1;\n}\n\nperfect-scrollbar[fxlayout] > .ps,\nperfect-scrollbar[fxlayout] > .ps > .ps-content {\n display: flex;\n\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n flex-direction: inherit;\n align-items: inherit;\n align-content: inherit;\n justify-content: inherit;\n width: 100%;\n height: 100%;\n\n -webkit-box-align: inherit;\n -webkit-box-direction: inherit;\n -webkit-box-flex: 1;\n -webkit-box-orient: inherit;\n -webkit-box-pack: inherit;\n}\n\nperfect-scrollbar[fxlayout='row'] > .ps,\nperfect-scrollbar[fxlayout='row'] > .ps > .ps-content, {\n flex-direction: row !important;\n\n -webkit-box-direction: row !important;\n -webkit-box-orient: row !important;\n}\n\nperfect-scrollbar[fxlayout='column'] > .ps,\nperfect-scrollbar[fxlayout='column'] > .ps > .ps-content {\n flex-direction: column !important;\n\n -webkit-box-direction: column !important;\n -webkit-box-orient: column !important;\n}\n\nperfect-scrollbar > .ps {\n position: static;\n\n display: block;\n width: inherit;\n height: inherit;\n max-width: inherit;\n max-height: inherit;\n}\n\nperfect-scrollbar > .ps > .ps-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: block;\n overflow: hidden;\n\n pointer-events: none;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n position: absolute;\n\n opacity: 0;\n\n transition: opacity 300ms ease-in-out;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n left: 0;\n\n min-width: 100%;\n min-height: 24px;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n top: 0;\n\n min-width: 24px;\n min-height: 100%;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top {\n top: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left {\n left: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n right: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n bottom: 0;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y {\n top: 0 !important;\n right: 0 !important;\n left: auto !important;\n\n width: 10px;\n\n cursor: default;\n\n transition:\n width 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y:hover,\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y.ps--clicking {\n width: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x {\n top: auto !important;\n bottom: 0 !important;\n left: 0 !important;\n\n height: 10px;\n\n cursor: default;\n\n transition:\n height 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x:hover,\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x.ps--clicking {\n height: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-y {\n margin: 0 0 10px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-x {\n margin: 0 10px 0 0;\n}\n\nperfect-scrollbar > .ps.ps--scrolling-y > .ps__rail-y,\nperfect-scrollbar > .ps.ps--scrolling-x > .ps__rail-x {\n opacity: 0.9;\n\n background-color: #eee;\n}\n\nperfect-scrollbar.ps-show-always > .ps.ps--active-y > .ps__rail-y,\nperfect-scrollbar.ps-show-always > .ps.ps--active-x > .ps__rail-x {\n opacity: 0.6;\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-top) .ps-indicator-top {\n opacity: 1;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom {\n opacity: 1;\n\n background: linear-gradient(to top, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-left) .ps-indicator-left {\n opacity: 1;\n\n background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-right) .ps-indicator-right {\n opacity: 1;\n\n background: linear-gradient(to left, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top {\n background: linear-gradient(to bottom, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom {\n background: linear-gradient(to top, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left {\n background: linear-gradient(to right, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right {\n background: linear-gradient(to left, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show {\n opacity: 1;\n}\n","/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n"]}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.k},{type:Object,decorators:[{type:f.C,args:[f.U]}]}]},t.propDecorators={disabled:[{type:f.G}],usePSClass:[{type:f.G}],autoPropagation:[{type:f.z,args:["class.ps-show-limits"]},{type:f.G}],scrollIndicators:[{type:f.z,args:["class.ps-show-active"]},{type:f.G}],config:[{type:f.G}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}],directiveRef:[{type:f.nb,args:[mt]}]},t}(),yt=function(){function t(){}return t.decorators=[{type:f.L,args:[{imports:[m.b],declarations:[gt,mt],exports:[m.b,gt,mt]}]}],t}()},crnd:function(t,e){function n(t){return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}))}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},d2mR:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=n("eKg/"),a=n("NZXM"),s=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(){function t(t){this.translateService=t,this.translatePipe=new o.a(this.translateService)}return t.prototype.transform=function(t){var e=Math.floor(1667e-8*t)%60;return Math.floor(28e-8*t)+" "+this.translatePipe.transform("HOURS")+" "+e+" "+this.translatePipe.transform("MINUTES")},t.ctorParameters=function(){return[{type:a.a}]},t=s([Object(r.W)({name:"times",pure:!1}),l("design:paramtypes",[a.a])],t)}(),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t){return t&&t.__esModule?t:{default:t}},h=function(){function t(){}return t.prototype.ngOnInit=function(){},t=u([Object(r.n)({selector:"app-loader",template:d(n("JYZP")).default,styles:[d(n("Wg1/")).default]}),p("design:paramtypes",[])],t)}(),f=n("mrSG"),m=n("pugT"),g=n("bne5"),y=n("VnD/"),v=n("wFw1"),b=n("Wf4p"),_=function(t){this._elementRef=t},w=Object(b.u)(_,"primary"),x=new r.E("mat-progress-bar-location",{providedIn:"root",factory:function(){var t=Object(r.xb)(i.c),e=t?t.location:null;return{getPathname:function(){return e?e.pathname+e.search:""}}}});var C=0,O=function(t){function e(e,n,i,o){var a=t.call(this,e)||this;a._elementRef=e,a._ngZone=n,a._animationMode=i,a._isNoopAnimation=!1,a._value=0,a._bufferValue=0,a.animationEnd=new r.x,a._animationEndSubscription=m.a.EMPTY,a.mode="determinate",a.progressbarId="mat-progress-bar-"+C++;var s=o?o.getPathname().split("#")[0]:"";return a._rectangleFillValue="url('"+s+"#"+a.progressbarId+"')",a._isNoopAnimation="NoopAnimations"===i,a}return Object(f.c)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){this._value=E(t||0),this._isNoopAnimation&&this.emitAnimationEnd()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferValue",{get:function(){return this._bufferValue},set:function(t){this._bufferValue=E(t||0)},enumerable:!0,configurable:!0}),e.prototype._primaryTransform=function(){return{transform:"scaleX("+this.value/100+")"}},e.prototype._bufferTransform=function(){if("buffer"===this.mode)return{transform:"scaleX("+this.bufferValue/100+")"}},e.prototype.ngAfterViewInit=function(){var t=this;this._isNoopAnimation||this._ngZone.runOutsideAngular((function(){t._animationEndSubscription=Object(g.a)(t._primaryValueBar.nativeElement,"transitionend").pipe(Object(y.a)((function(e){return e.target===t._primaryValueBar.nativeElement}))).subscribe((function(e){return t._ngZone.run((function(){return t.emitAnimationEnd()}))}))}))},e.prototype.ngOnDestroy=function(){this._animationEndSubscription.unsubscribe()},e.prototype.emitAnimationEnd=function(){"determinate"!==this.mode&&"buffer"!==this.mode||this.animationEnd.next({value:this.value})},e.decorators=[{type:r.n,args:[{selector:"mat-progress-bar",exportAs:"matProgressBar",host:{role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","[attr.aria-valuenow]":"value","[attr.mode]":"mode",class:"mat-progress-bar","[class._mat-animation-noopable]":"_isNoopAnimation"},inputs:["color"],template:'
    ',styles:[".mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-background{display:none}}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after{animation:none;transition:none}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}"],changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[v.a]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[x]}]}]},e.propDecorators={value:[{type:r.G}],bufferValue:[{type:r.G}],_primaryValueBar:[{type:r.nb,args:["primaryValueBar"]}],animationEnd:[{type:r.S}],mode:[{type:r.G}]},e}(w);function E(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=100),Math.max(e,Math.min(n,t))}var S=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[i.b,b.h],exports:[O,b.h],declarations:[O]}]}],t}();n.d(e,"a",(function(){return j}));var k=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},j=function(){function t(){}return t=k([Object(r.L)({imports:[i.b],declarations:[o.a,c,h],exports:[o.a,c,h,S]})],t)}()},dEwP:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("F/XL"),i=n("Txjg");function o(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isOperationsRetrived=!1,this.operations=[],this.operationFeed=new i.a(this.operations),this.retriveData()}return t.prototype.loadOperations=function(){return u(this,void 0,void 0,(function(){var t,e;return p(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/operations",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort((function(t,e){return t.operationNamee.height||t.scrollWidth>e.width},t}();function b(){return Error("Scroll strategy has already been attached.")}var _=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=function(){i.disable(),i._overlayRef.hasAttached()&&i._ngZone.run((function(){return i._overlayRef.detach()}))}}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe((function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()}))):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),w=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}();function x(t,e){return e.some((function(e){var n=t.bottome.bottom,i=t.righte.right;return n||r||i||o}))}function C(t,e){return e.some((function(e){var n=t.tope.bottom,i=t.lefte.right;return n||r||i||o}))}var O=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe((function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;x(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run((function(){return t._overlayRef.detach()})))}}))}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),E=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new w},this.close=function(t){return new _(i._scrollDispatcher,i._ngZone,i._viewportRuler,t)},this.block=function(){return new v(i._viewportRuler,i._document)},this.reposition=function(t){return new O(i._scrollDispatcher,i._viewportRuler,i._ngZone,t)},this._document=r}return t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.c},{type:i.f},{type:a.Q},{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(i.c),Object(a.xb)(i.f),Object(a.xb)(a.Q),Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}(),S=function(t){var e=this;this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t&&Object.keys(t).forEach((function(n){var r=n;void 0!==t[r]&&(e[r]=t[r])}))},k=function(t,e,n,r,i){this.offsetX=n,this.offsetY=r,this.panelClass=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY},j=function(){},A=function(){function t(t,e){this.connectionPair=t,this.scrollableViewProperties=e}return t.ctorParameters=function(){return[{type:k},{type:j,decorators:[{type:a.R}]}]},t}();function D(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "top", "bottom" or "center".')}function T(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "start", "end" or "center".')}var P=function(){function t(t){var e=this;this._attachedOverlays=[],this._keydownListener=function(t){for(var n=e._attachedOverlays,r=n.length-1;r>-1;r--)if(n[r]._keydownEventSubscriptions>0){n[r]._keydownEvents.next(t);break}},this._document=t}return t.prototype.ngOnDestroy=function(){this._detach()},t.prototype.add=function(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)},t.prototype.remove=function(t){var e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()},t.prototype._detach=function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var I={provide:P,deps:[[new a.R,new a.fb,P],o.c],useFactory:function(t,e){return t||new P(e)}},R=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var M={provide:R,deps:[[new a.R,new a.fb,R],o.c],useFactory:function(t,e){return t||new R(e)}},N=function(){function t(t,e,n,r,i,o,a,s){var p=this;this._portalOutlet=t,this._host=e,this._pane=n,this._config=r,this._ngZone=i,this._keyboardDispatcher=o,this._document=a,this._location=s,this._backdropElement=null,this._backdropClick=new l.a,this._attachments=new l.a,this._detachments=new l.a,this._locationChanges=c.a.EMPTY,this._keydownEventsObservable=new u.a((function(t){var e=p._keydownEvents.subscribe(t);return p._keydownEventSubscriptions++,function(){e.unsubscribe(),p._keydownEventSubscriptions--}})),this._keydownEvents=new l.a,this._keydownEventSubscriptions=0,r.scrollStrategy&&r.scrollStrategy.attach(this),this._positionStrategy=r.positionStrategy}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hostElement",{get:function(){return this._host},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._positionStrategy&&this._positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Object(d.a)(1)).subscribe((function(){e.hasAttached()&&e.updatePosition()})),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&this._location&&(this._locationChanges=this._location.subscribe((function(){return e.dispose()}))),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEventsObservable},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._positionStrategy&&this._positionStrategy.apply()},t.prototype.updatePositionStrategy=function(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))},t.prototype.updateSize=function(t){this._config=Object(s.a)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(s.a)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype.addPanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!0)},t.prototype.removePanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!1)},t.prototype.getDirection=function(){var t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"},t.prototype._updateElementDirection=function(){this._host.setAttribute("dir",this.getDirection())},t.prototype._updateElementSize=function(){var t=this._pane.style;t.width=Object(r.d)(this._config.width),t.height=Object(r.d)(this._config.height),t.minWidth=Object(r.d)(this._config.minWidth),t.minHeight=Object(r.d)(this._config.minHeight),t.maxWidth=Object(r.d)(this._config.maxWidth),t.maxHeight=Object(r.d)(this._config.maxHeight)},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",(function(e){return t._backdropClick.next(e)})),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular((function(){requestAnimationFrame((function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")}))})):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n,r=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null),t._config.backdropClass&&t._toggleClasses(e,t._config.backdropClass,!1),clearTimeout(n)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular((function(){e.addEventListener("transitionend",r)})),e.style.pointerEvents="none",n=this._ngZone.runOutsideAngular((function(){return setTimeout(r,500)}))}},t.prototype._toggleClasses=function(t,e,n){var i=t.classList;Object(r.b)(e).forEach((function(t){n?i.add(t):i.remove(t)}))},t.prototype._detachContentWhenStable=function(){var t=this;this._ngZone.runOutsideAngular((function(){var e=t._ngZone.onStable.asObservable().pipe(Object(h.a)(Object(p.a)(t._attachments,t._detachments))).subscribe((function(){t._pane&&t._host&&0!==t._pane.children.length||(t._pane&&t._config.panelClass&&t._toggleClasses(t._pane,t._config.panelClass,!1),t._host&&t._host.parentElement&&(t._previousHostParent=t._host.parentElement,t._previousHostParent.removeChild(t._host)),e.unsubscribe())}))}))},t}(),F=function(){function t(t,e,n,r,i){var o=this;this._viewportRuler=e,this._document=n,this._platform=r,this._overlayContainer=i,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new l.a,this._resizeSubscription=c.a.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this._appliedPanelClasses=[],this.positionChanges=new u.a((function(t){var e=o._positionChanges.subscribe(t);return o._positionChangeSubscriptions++,function(){e.unsubscribe(),o._positionChangeSubscriptions--}})),this.setOrigin(t)}return Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe((function(){e._isInitialRender=!0,e.apply()}))},t.prototype.apply=function(){if(!(this._isDisposed||this._platform&&!this._platform.isBrowser))if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)this.reapplyLastPosition();else{this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();for(var t,e=this._originRect,n=this._overlayRect,r=this._viewportRect,i=[],o=0,a=this._preferredPositions;od&&(d=g,p=m)}return this._isPushed=!1,void this._applyPosition(p.position,p.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(t.position,t.originPoint);this._applyPosition(t.position,t.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&L(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this.scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var n;if("center"==e.originX)n=t.left+t.width/2;else{var r=this._isRtl()?t.right:t.left,i=this._isRtl()?t.left:t.right;n="start"==e.originX?r:i}return{x:n,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,n){var r,i;return r="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,i="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+r,y:t.y+i}},t.prototype._getOverlayFit=function(t,e,n,r){var i=t.x,o=t.y,a=this._getOffset(r,"x"),s=this._getOffset(r,"y");a&&(i+=a),s&&(o+=s);var l=0-i,c=i+e.width-n.width,u=0-o,p=o+e.height-n.height,d=this._subtractOverflows(e.width,l,c),h=this._subtractOverflows(e.height,u,p),f=d*h;return{visibleArea:f,isCompletelyWithinViewport:e.width*e.height===f,fitsInViewportVertically:h===e.height,fitsInViewportHorizontally:d==e.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,n){if(this._hasFlexibleDimensions){var r=n.bottom-e.y,i=n.right-e.x,o=this._overlayRef.getConfig().minHeight,a=this._overlayRef.getConfig().minWidth,s=t.fitsInViewportVertically||null!=o&&o<=r,l=t.fitsInViewportHorizontally||null!=a&&a<=i;return s&&l}},t.prototype._pushOverlayOnScreen=function(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var r=this._viewportRect,i=Math.max(t.x+e.width-r.right,0),o=Math.max(t.y+e.height-r.bottom,0),a=Math.max(r.top-n.top-t.y,0),s=Math.max(r.left-n.left-t.x,0),l=0,c=0;return l=e.width<=r.width?s||-i:t.x0){var n=this._getScrollVisibility(),r=new A(t,n);this._positionChanges.next(r)}this._isInitialRender=!1},t.prototype._setTransformOrigin=function(t){if(this._transformOriginSelector){var e,n=this._boundingBox.querySelectorAll(this._transformOriginSelector),r=t.overlayY;e="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(var i=0;il&&!this._isInitialRender&&!this._growAfterOpen&&(r=t.y-l/2)}var c,u,p,d="start"===e.overlayX&&!a||"end"===e.overlayX&&a;if("end"===e.overlayX&&!a||"start"===e.overlayX&&a)p=o.right-t.x+this._viewportMargin,c=t.x-o.left;else if(d)u=t.x,c=o.right-t.x;else{s=Math.min(o.right-t.x+o.left,t.x);var h=this._lastBoundingBoxSize.width;c=2*s,u=t.x-s,c>h&&!this._isInitialRender&&!this._growAfterOpen&&(u=t.x-h/2)}return{top:r,left:u,bottom:i,right:p,width:c,height:n}},t.prototype._setBoundingBoxStyles=function(t,e){var n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{var o=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;i.height=Object(r.d)(n.height),i.top=Object(r.d)(n.top),i.bottom=Object(r.d)(n.bottom),i.width=Object(r.d)(n.width),i.left=Object(r.d)(n.left),i.right=Object(r.d)(n.right),"center"===e.overlayX?i.alignItems="center":i.alignItems="end"===e.overlayX?"flex-end":"flex-start","center"===e.overlayY?i.justifyContent="center":i.justifyContent="bottom"===e.overlayY?"flex-end":"flex-start",o&&(i.maxHeight=Object(r.d)(o)),a&&(i.maxWidth=Object(r.d)(a))}this._lastBoundingBoxSize=n,L(this._boundingBox.style,i)},t.prototype._resetBoundingBoxStyles=function(){L(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){L(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var n={};if(this._hasExactPosition()){var r=this._viewportRuler.getViewportScrollPosition();L(n,this._getExactOverlayY(e,t,r)),L(n,this._getExactOverlayX(e,t,r))}else n.position="static";var i="",o=this._getOffset(e,"x"),a=this._getOffset(e,"y");o&&(i+="translateX("+o+"px) "),a&&(i+="translateY("+a+"px)"),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),L(this._pane.style,n)},t.prototype._getExactOverlayY=function(t,e,n){var i={top:null,bottom:null},o=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n));var a=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;if(o.y-=a,"bottom"===t.overlayY){var s=this._document.documentElement.clientHeight;i.bottom=s-(o.y+this._overlayRect.height)+"px"}else i.top=Object(r.d)(o.y);return i},t.prototype._getExactOverlayX=function(t,e,n){var i={left:null,right:null},o=this._getOverlayPoint(e,this._overlayRect,t);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n)),"right"===(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")){var a=this._document.documentElement.clientWidth;i.right=a-(o.x+this._overlayRect.width)+"px"}else i.left=Object(r.d)(o.x);return i},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map((function(t){return t.getElementRef().nativeElement.getBoundingClientRect()}));return{isOriginClipped:C(t,n),isOriginOutsideView:x(t,n),isOverlayClipped:C(e,n),isOverlayOutsideView:x(e,n)}},t.prototype._subtractOverflows=function(t){for(var e=[],n=1;n=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t){this.translate=t}return t.prototype.transform=function(t,e){return void 0===e&&(e=!1),e?this.translate.data["api-messages"][t.toString()]||this.transform("ERROR")+": "+t:this.translate.data[t]||t},t.ctorParameters=function(){return[{type:i.a}]},t=o([Object(r.W)({name:"translate",pure:!1}),a("design:paramtypes",[i.a])],t)}()},fBeJ:function(t,e,n){"use strict";n.r(e),e.default=""},fHOq:function(t,e,n){"use strict";n.r(e),e.default='
    \r\n
    \r\n
    {{ \'LANGUAGE\' | translate }}
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n English\r\n Hebrew | עברית\r\n \r\n {{ \'SELECT_LANGUAGE\' | translate }}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{ \'REMOTE_SERVER\' | translate }}
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ \'REMOTE_STATUS\' | translate }}\r\n \r\n
    \r\n \r\n \r\n {{ \'REMOTE_URI\' | translate }}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    {{ \'IFTTT_INTEGRATION\' | translate }}
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ \'IFTTT_STATUS\' | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{ \'REDIRECT_TO_THE_LIGHT_VERSION\' | translate }}
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{ \'PWA\' | translate }}
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {{ \'VERSION\' | translate }} {{ currentVersionName }}
    {{ \'RELEASE_DATE\' | translate }} {{ currentVersionReleaseDate }}
    \r\n
    \r\n \r\n
    \r\n
    '},fICr:function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("dO5I"),s=n("sB9w"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&void 0!==e.durationMinutes&&e.sunTrigger}if("dailyTimeTrigger"===t){var n=this.timingProperties;return n.hour=void 0!==n.hour?parseInt(n.hour,10):void 0,n.minutes=void 0!==n.minutes?parseInt(n.minutes,10):void 0,n.days&&n.days.length>0&&void 0!==n.hour&&void 0!==n.minutes}if("once"===t){var r=this.timingProperties,i=void 0!==this.timingProperties.hour?parseInt(this.timingProperties.hour,10):void 0,o=void 0!==this.timingProperties.minutes?parseInt(this.timingProperties.minutes,10):void 0;if(r.dateObj){var a=r.dateObj;a.setHours(i||0),a.setMinutes(o||0),r.date=a.getTime()}return r.date&&void 0!==i&&void 0!==o}if("timeout"===t){var s=this.timingProperties;return s.durationInMimutes=s.durationInMimutes?parseFloat(s.durationInMimutes):void 0,s.startDate=(new Date).getTime(),s.durationInMimutes}},t.prototype.createTiming=function(){return p(this,void 0,void 0,(function(){var t,e;return d(this,(function(n){switch(n.label){case 0:return delete this.timingProperties.dateObj,t={},e=this.timingTypeControl.value,t[e]=this.timingProperties,[4,this.timingsService.createTiming({timingId:"xxx",isActive:!0,timingName:this.nameControl.value,timingType:this.timingTypeControl.value,triggerOperationId:this.selectOperationControl.value.operationId,timingProperties:t})];case 1:return n.sent(),this.operationSubscription.unsubscribe(),this.dialogRef.close(),[2]}}))}))},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-timing-dialog",template:h(n("CQyT")).default,styles:[h(n("9YZV")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},gI3B:function(t,e,n){"use strict";var r=n("6blF"),i=n("T1DM"),o=n("isby");function a(t){return!Object(o.a)(t)&&t-parseFloat(t)+1>=0}var s=n("nkY7");function l(t,e,n){void 0===t&&(t=0);var o=-1;return a(e)?o=Number(e)<1?1:Number(e):Object(s.a)(e)&&(n=e),Object(s.a)(n)||(n=i.a),new r.a((function(e){var r=a(t)?t:+t-n.now();return n.schedule(c,r,{index:0,period:o,subscriber:e})}))}function c(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}}n.d(e,"a",(function(){return l}))},gIcY:function(t,e,n){"use strict";n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return v})),n.d(e,"i",(function(){return Ct})),n.d(e,"d",(function(){return Lt})),n.d(e,"a",(function(){return Qt})),n.d(e,"b",(function(){return le})),n.d(e,"c",(function(){return vt})),n.d(e,"f",(function(){return O})),n.d(e,"k",(function(){return k})),n.d(e,"e",(function(){return ce})),n.d(e,"j",(function(){return ue}));var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("VNr4"),s=n("0/uQ"),l=n("67Y/"),c=new i.E("NgValueAccessor"),u={provide:c,useExisting:Object(i.vb)((function(){return p})),multi:!0},p=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[u]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),d={provide:c,useExisting:Object(i.vb)((function(){return f})),multi:!0};var h=new i.E("CompositionEventMode"),f=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Object(o.h)()?Object(o.h)().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t=Object(r.b)([Object(i.t)({selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[d]}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.C)(h)),Object(r.d)("design:paramtypes",[i.Z,i.u,Boolean])],t)}(),m=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(m);function y(){throw new Error("unimplemented")}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return y()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return y()},enumerable:!0,configurable:!0}),e}(m),b=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),_={"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid","[class.ng-pending]":"ngClassPending"},w=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formControlName],[ngModel],[formControl]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[v])],e)}(b),x=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[g])],e)}(b);function C(t){return null==t||0===t.length}var O=new i.E("NgValidators"),E=new i.E("NgAsyncValidators"),S=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,k=function(){function t(){}return t.min=function(t){return function(e){if(C(e.value)||C(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return C(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return C(t.value)?null:S.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(C(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(C(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){return D(function(t,e){return e.map((function(e){return e(t)}))}(t,e))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){var n=function(t,e){return e.map((function(e){return e(t)}))}(t,e).map(A);return Object(a.a)(n).pipe(Object(l.a)(D))}},t}();function j(t){return null!=t}function A(t){var e=Object(i.Zb)(t)?Object(s.a)(t):t;if(!Object(i.Yb)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function D(t){var e=t.reduce((function(t,e){return null!=e?Object(r.a)({},t,e):t}),{});return 0===Object.keys(e).length?null:e}function T(t){return t.validate?function(e){return t.validate(e)}:t}function P(t){return t.validate?function(e){return t.validate(e)}:t}var I={provide:c,useExisting:Object(i.vb)((function(){return R})),multi:!0},R=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[I]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),M={provide:c,useExisting:Object(i.vb)((function(){return F})),multi:!0},N=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach((function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)}))},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&(t[0]._parent===e._control._parent&&t[1].name===e.name)},t=Object(r.b)([Object(i.D)()],t)}(),F=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(v),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"name",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"formControlName",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"value",void 0),t=Object(r.b)([Object(i.t)({selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[M]}),Object(r.d)("design:paramtypes",[i.Z,i.u,N,i.F])],t)}(),L={provide:c,useExisting:Object(i.vb)((function(){return V})),multi:!0},V=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[L]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),B='\n
    \n \n
    \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',z='\n
    \n
    \n \n
    \n
    \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',H='\n
    \n
    \n
    \n \n
    \n
    \n
    \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',U='\n
    \n
    \n \n
    \n
    ',G='\n
    \n \n \n
    \n ',q=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+B)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+z+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+U)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+B)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+z)},t.arrayParentException=function(){throw new Error("formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+H)},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t.ngModelWarning=function(t){console.warn("\n It looks like you're using ngModel on the same form field as "+t+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},t}(),W={provide:c,useExisting:Object(i.vb)((function(){return K})),multi:!0};function Y(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var K=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Y(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){var e,n;try{for(var i=Object(r.h)(Array.from(this._optionMap.keys())),o=i.next();!o.done;o=i.next()){var a=o.value;if(this._compareWith(this._optionMap.get(a),t))return a}}catch(s){e={error:s}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Function),Object(r.d)("design:paramtypes",[Function])],t.prototype,"compareWith",null),t=Object(r.b)([Object(i.t)({selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[W]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),Q=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Y(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},Object(r.b)([Object(i.G)("ngValue"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"ngValue",null),Object(r.b)([Object(i.G)("value"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"value",null),t=Object(r.b)([Object(i.t)({selector:"option"}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.y)()),Object(r.d)("design:paramtypes",[i.u,i.Z,K])],t)}(),X={provide:c,useExisting:Object(i.vb)((function(){return $})),multi:!0};function Z(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var $=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var r=t.map((function(t){return n._getOptionId(t)}));e=function(t,e){t._setSelected(r.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function at(t){return null!=t?k.compose(t.map(T)):null}function st(t){return null!=t?k.composeAsync(t.map(P)):null}function lt(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(i.ac)(e,n.currentValue)}var ct=[p,V,R,K,$,F];function ut(t,e){t._syncPendingControls(),e.forEach((function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}))}function pt(t,e){if(!e)return null;Array.isArray(e)||ot(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach((function(e){var o;e.constructor===f?n=e:(o=e,ct.some((function(t){return o.constructor===t}))?(r&&ot(t,"More than one built-in value accessor matches form control with"),r=e):(i&&ot(t,"More than one custom value accessor matches form control with"),i=e))})),i||(r||(n||(ot(t,"No valid value accessor for form control with"),null)))}function dt(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function ht(t,e,n,r){Object(i.yb)()&&"never"!==r&&((null!==r&&"once"!==r||e._ngModelWarningSentOnce)&&("always"!==r||n._ngModelWarningSent)||(q.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}function ft(t){var e=gt(t)?t.validators:t;return Array.isArray(e)?at(e):e||null}function mt(t,e){var n=gt(e)?e.asyncValidators:t;return Array.isArray(n)?st(n):n||null}function gt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var yt=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=ft(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=mt(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild((function(t){return t.markAllAsTouched()}))},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild((function(t){t.markAsUntouched({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild((function(t){t.markAsPristine({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild((function(e){e.disable(Object(r.a)({},t,{onlySelf:!0}))})),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!0)}))},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild((function(e){e.enable(Object(r.a)({},t,{onlySelf:!0}))})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!1)}))},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild((function(e){return e._updateTreeValidity(t)})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=A(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe((function(n){return e.setErrors(n,{emitEvent:t})}))}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(n)),e instanceof Array&&0===e.length?null:e.reduce((function(t,e){return t instanceof bt?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof _t&&t.at(e)||null}),t))}(this,t,".")},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new i.x,this.statusChanges=new i.x},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls((function(e){return e.status===t}))},t.prototype._anyControlsDirty=function(){return this._anyControls((function(t){return t.dirty}))},t.prototype._anyControlsTouched=function(){return this._anyControls((function(t){return t.touched}))},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){gt(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){var e=this._parent&&this._parent.dirty;return!t&&e&&!this._parent._anyControlsDirty()},t}(),vt=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,ft(n),mt(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(r.c)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach((function(t){return t(n.value,!1!==e.emitViewToModelChange)})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(yt),bt=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach((function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach((function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},(function(t,e,n){return t[n]=e instanceof vt?e.value:e.getRawValue(),t}))},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,(function(t,e){return!!e._syncPendingControls()||t}));return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach((function(n){return t(e.controls[n],n)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)}))},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild((function(r,i){n=n||e.contains(i)&&t(r)})),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},(function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e}))},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild((function(t,r){n=e(n,t,r)})),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(Object.keys(this.controls)),i=n.next();!i.done;i=n.next()){var o=i.value;if(this.controls[o].enabled)return!1}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")}))},e}(yt),_t=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach((function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach((function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map((function(t){return t instanceof vt?t.value:t.getRawValue()}))},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild((function(t){return t._registerOnCollectionChange((function(){}))})),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce((function(t,e){return!!e._syncPendingControls()||t}),!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach((function(e,n){t(e,n)}))},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter((function(e){return e.enabled||t.disabled})).map((function(t){return t.value}))},e.prototype._anyControls=function(t){return this.controls.some((function(e){return e.enabled&&t(e)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){return t._registerControl(e)}))},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")}))},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(this.controls),i=n.next();!i.done;i=n.next()){if(i.value.enabled)return!1}}catch(o){t={error:o}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(yt),wt={provide:g,useExisting:Object(i.vb)((function(){return Ct}))},xt=Promise.resolve(null),Ct=function(t){function e(e,n){var r=t.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new i.x,r.form=new bt({},at(e),st(n)),r}return Object(r.c)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;xt.then((function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),et(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)}))},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;xt.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),dt(e._directives,t)}))},e.prototype.addFormGroup=function(t){var e=this;xt.then((function(){var n=e._findContainer(t.path),r=new bt({});rt(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})}))},e.prototype.removeFormGroup=function(t){var e=this;xt.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)}))},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;xt.then((function(){n.form.get(t.path).setValue(e)}))},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},Object(r.b)([Object(i.G)("ngFormOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),e=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([formGroup]),ngForm,ng-form,[ngForm]",providers:[wt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Ot=function(){function t(){}return t.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+B+"\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n "+G)},t.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+z+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+U)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')},t.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+z+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+U)},t.ngFormWarning=function(){console.warn("\n It looks like you're using 'ngForm'.\n\n Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n in Angular v9.\n\n Use 'ng-form' instead.\n\n Before:\n \n\n After:\n \n ")},t}(),Et=new i.E("NgFormSelectorWarning"),St=function(){function t(t){(t&&"once"!==t||e._ngFormWarning)&&"always"!==t||(Ot.ngFormWarning(),e._ngFormWarning=!0)}var e;return e=t,t._ngFormWarning=!1,t=e=Object(r.b)([Object(i.t)({selector:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.C)(Et)),Object(r.d)("design:paramtypes",[Object])],t)}(),kt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(g),jt={provide:g,useExisting:Object(i.vb)((function(){return At}))},At=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}var n;return Object(r.c)(e,t),n=e,e.prototype._checkParentType=function(){this._parent instanceof n||this._parent instanceof Ct||Ot.modelGroupParentException()},Object(r.b)([Object(i.G)("ngModelGroup"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[ngModelGroup]",providers:[jt],exportAs:"ngModelGroup"}),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),Dt={provide:v,useExisting:Object(i.vb)((function(){return Pt}))},Tt=Promise.resolve(null),Pt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a.control=new vt,a._registered=!1,a.update=new i.x,a._parent=e,a._rawValidators=n||[],a._rawAsyncValidators=r||[],a.valueAccessor=pt(a,o),a}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),lt(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(e.prototype,"path",{get:function(){return this._parent?tt(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},e.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},e.prototype._setUpStandalone=function(){et(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},e.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},e.prototype._checkParentType=function(){!(this._parent instanceof At)&&this._parent instanceof kt?Ot.formGroupNameException():this._parent instanceof At||this._parent instanceof Ct||Ot.modelParentException()},e.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Ot.missingNameException()},e.prototype._updateValue=function(t){var e=this;Tt.then((function(){e.control.setValue(t,{emitViewToModelChange:!1})}))},e.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,r=""===n||n&&"false"!==n;Tt.then((function(){r&&!e.control.disabled?e.control.disable():!r&&e.control.disabled&&e.control.enable()}))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean)],e.prototype,"isDisabled",void 0),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.G)("ngModelOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=Object(r.b)([Object(i.t)({selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[Dt],exportAs:"ngModel"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.d)("design:paramtypes",[g,Array,Array,Array])],e)}(v),It=function(){function t(){}return t=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}})],t)}(),Rt=new i.E("NgModelWithFormControlWarning"),Mt={provide:v,useExisting:Object(i.vb)((function(){return Nt}))},Nt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a._ngModelWarningConfig=o,a.update=new i.x,a._ngModelWarningSent=!1,a._rawValidators=e||[],a._rawAsyncValidators=n||[],a.valueAccessor=pt(a,r),a}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._isControlChanged(t)&&(et(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),lt(t,this.viewModel)&&(ht("formControl",n,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._isControlChanged=function(t){return t.hasOwnProperty("form")},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControl"),Object(r.d)("design:type",vt)],e.prototype,"form",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControl]",providers:[Mt],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(c)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[Array,Array,Array,Object])],e)}(v),Ft={provide:g,useExisting:Object(i.vb)((function(){return Lt}))},Lt=function(t){function e(e,n){var r=t.call(this)||this;return r._validators=e,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new i.x,r}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return et(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){dt(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach((function(e){var n=t.form.get(e.path);e.control!==n&&(!function(t,e){e.valueAccessor.registerOnChange((function(){return it(e)})),e.valueAccessor.registerOnTouched((function(){return it(e)})),e._rawValidators.forEach((function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)})),e._rawAsyncValidators.forEach((function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)})),t&&t._clearChangeFns()}(e.control,e),n&&et(n,e),e.control=n)})),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange((function(){return t._updateDomValue()})),this._oldForm&&this._oldForm._registerOnCollectionChange((function(){})),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=at(this._validators);this.form.validator=k.compose([this.form.validator,t]);var e=st(this._asyncValidators);this.form.asyncValidator=k.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||q.missingFormException()},Object(r.b)([Object(i.G)("formGroup"),Object(r.d)("design:type",bt)],e.prototype,"form",void 0),Object(r.b)([Object(i.S)(),Object(r.d)("design:type",Object)],e.prototype,"ngSubmit",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroup]",providers:[Ft],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Vt={provide:g,useExisting:Object(i.vb)((function(){return Bt}))},Bt=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype._checkParentType=function(){Ut(this._parent)&&q.groupParentException()},Object(r.b)([Object(i.G)("formGroupName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroupName]",providers:[Vt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),zt={provide:g,useExisting:Object(i.vb)((function(){return Ht}))},Ht=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Ut(this._parent)&&q.arrayParentException()},Object(r.b)([Object(i.G)("formArrayName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formArrayName]",providers:[zt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(g);function Ut(t){return!(t instanceof Bt||t instanceof Lt||t instanceof Ht)}var Gt={provide:v,useExisting:Object(i.vb)((function(){return qt}))},qt=function(t){function e(e,n,r,o,a){var s=t.call(this)||this;return s._ngModelWarningConfig=a,s._added=!1,s.update=new i.x,s._ngModelWarningSent=!1,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=r||[],s.valueAccessor=pt(s,o),s}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),lt(t,this.viewModel)&&(ht("formControlName",n,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof Bt)&&this._parent instanceof kt?q.ngModelGroupException():this._parent instanceof Bt||this._parent instanceof Lt||this._parent instanceof Ht||q.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControlName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControlName]",providers:[Gt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.e)(4,Object(i.R)()),Object(r.e)(4,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[g,Array,Array,Array,Object])],e)}(v),Wt={provide:O,useExisting:Object(i.vb)((function(){return Kt})),multi:!0},Yt={provide:O,useExisting:Object(i.vb)((function(){return Qt})),multi:!0},Kt=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?k.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"required",null),t=Object(r.b)([Object(i.t)({selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[Wt],host:{"[attr.required]":'required ? "" : null'}})],t)}(),Qt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.validate=function(t){return this.required?k.requiredTrue(t):null},e=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[Yt],host:{"[attr.required]":'required ? "" : null'}})],e)}(Kt),Xt={provide:O,useExisting:Object(i.vb)((function(){return Zt})),multi:!0},Zt=function(){function t(){}return Object.defineProperty(t.prototype,"email",{set:function(t){this._enabled=""===t||!0===t||"true"===t,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this._enabled?k.email(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"email",null),t=Object(r.b)([Object(i.t)({selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[Xt]})],t)}(),$t={provide:O,useExisting:Object(i.vb)((function(){return Jt})),multi:!0},Jt=function(){function t(){}return t.prototype.ngOnChanges=function(t){"minlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null==this.minlength?null:this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.minLength(parseInt(this.minlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"minlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[$t],host:{"[attr.minlength]":"minlength ? minlength : null"}})],t)}(),te={provide:O,useExisting:Object(i.vb)((function(){return ee})),multi:!0},ee=function(){function t(){}return t.prototype.ngOnChanges=function(t){"maxlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null!=this.maxlength?this._validator(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.maxLength(parseInt(this.maxlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"maxlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[te],host:{"[attr.maxlength]":"maxlength ? maxlength : null"}})],t)}(),ne={provide:O,useExisting:Object(i.vb)((function(){return re})),multi:!0},re=function(){function t(){}return t.prototype.ngOnChanges=function(t){"pattern"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.pattern(this.pattern)},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"pattern",void 0),t=Object(r.b)([Object(i.t)({selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[ne],host:{"[attr.pattern]":"pattern ? pattern : null"}})],t)}(),ie=[It,Q,J,f,R,V,p,K,$,F,w,x,Kt,Jt,ee,re,Qt,Zt],oe=[Pt,At,Ct,St],ae=[Nt,Lt,qt,Bt,Ht],se=function(){function t(){}return t=Object(r.b)([Object(i.L)({declarations:ie,exports:ie})],t)}();var le=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),r=null,i=null,o=void 0;return null!=e&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validator?e.validator:null,i=null!=e.asyncValidator?e.asyncValidator:null):(r=null!=e.validators?e.validators:null,i=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0)),new bt(n,{asyncValidators:i,updateOn:o,validators:r})},t.prototype.control=function(t,e,n){return new vt(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map((function(t){return r._createControl(t)}));return new _t(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach((function(r){n[r]=e._createControl(t[r])})),n},t.prototype._createControl=function(t){if(t instanceof vt||t instanceof bt||t instanceof _t)return t;if(Array.isArray(t)){var e=t[0],n=t.length>1?t[1]:null,r=t.length>2?t[2]:null;return this.control(e,n,r)}return this.control(t)},t=Object(r.b)([Object(i.D)()],t)}(),ce=(new i.mb("8.2.6"),function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Et,useValue:t.warnOnDeprecatedNgFormSelector}]}},t=e=Object(r.b)([Object(i.L)({declarations:oe,providers:[N],exports:[se,oe]})],t)}()),ue=function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Rt,useValue:t.warnOnNgModelWithFormControl}]}},t=e=Object(r.b)([Object(i.L)({declarations:[ae],providers:[le,N],exports:[se,ae]})],t)}()},geZN:function(t,e,n){"use strict";n.d(e,"a",(function(){return m}));var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("Gwao"),s=n("X2iB"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},m=function(){function t(t,e,n,r){this.devicesService=t,this.minionsService=e,this.dialogRef=n,this.requireDeviceId=!1,this.requireToken=!1}return t.prototype.ngOnInit=function(){var t,e,n,r;this.devicesControl=new o.c("",[o.k.required]),this.devices=[];try{for(var i=f(this.devicesService.lanDevices),a=i.next();!a.done;a=i.next()){var s=a.value;this.devices.push({mac:s.mac,display:s.name||s.mac+" "+s.ip+" "+(s.vendor?s.vendor.substr(0,Math.min(s.vendor.length,10)):"")})}}catch(p){t={error:p}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.brandsControl=new o.c("",[o.k.required]),this.brands=[];try{for(var l=f(this.devicesService.devicesKinds),c=l.next();!c.done;c=l.next()){var u=c.value;-1===this.brands.indexOf(u.brand)&&this.brands.push(u.brand)}}catch(d){n={error:d}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}this.modelsControl=new o.c("",[o.k.required]),this.requiredIdControl=new o.c("",[o.k.required]),this.requiredTokenControl=new o.c("",[o.k.required]),this.nameControl=new o.c("",[o.k.required])},t.prototype.onBrandSelected=function(){var t,e;this.models=[];try{for(var n=f(this.devicesService.devicesKinds),r=n.next();!r.done;r=n.next()){var i=r.value;i.brand===this.brandsControl.value&&this.models.push(i.model)}}catch(o){t={error:o}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},t.prototype.onModelSelected=function(){var t,e,n;try{for(var r=f(this.devicesService.devicesKinds),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.brand===this.brandsControl.value&&o.model===this.modelsControl.value){n=o;break}}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}n&&(this.requireToken=n.isTokenRequierd,this.requireDeviceId=n.isIdRequierd)},t.prototype.createMinion=function(){return p(this,void 0,void 0,(function(){return d(this,(function(t){return this.minionsService.createMinion({minionStatus:{},minionType:"toggle",name:this.nameControl.value,device:{brand:this.brandsControl.value,model:this.modelsControl.value,deviceId:this.requiredIdControl.value,token:this.requiredTokenControl.value,pysicalDevice:{mac:this.devicesControl.value}}}),this.dialogRef.close(),[2]}))}))},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-minion-dialog",template:h(n("Iwuw")).default,styles:[h(n("jIeE")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},h73g:function(t,e,n){"use strict";n.r(e),e.default=""},h9Dq:function(t,e,n){"use strict";var r=n("mrSG"),i=function(t){function e(e,n){return t.call(this)||this}return r.c(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n("pugT").a);n.d(e,"a",(function(){return o}));var o=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return r.c(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(i)},huyo:function(t,e,n){"use strict";n.r(e),e.default=""},i4nH:function(t,e,n){"use strict";n.r(e),e.default='
    \r\n\t\r\n\r\n\r\n\t\r\n
    '},iLxQ:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack;r=t},get useDeprecatedSynchronousErrorHandling(){return r}}},ihYY:function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return o})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return f})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return d})),n.d(e,"i",(function(){return m})),n.d(e,"j",(function(){return c})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return u})),n.d(e,"m",(function(){return h})),n.d(e,"n",(function(){return a})),n.d(e,"d",(function(){return y})),n.d(e,"p",(function(){return b})),n.d(e,"o",(function(){return v}));var r=function(){},i=function(){},o="*";function a(t,e){return{type:7,name:t,definitions:e,options:{}}}function s(t,e){return void 0===e&&(e=null),{type:4,styles:e,timings:t}}function l(t,e){return void 0===e&&(e=null),{type:3,steps:t,options:e}}function c(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function u(t){return{type:6,styles:t,offset:null}}function p(t,e,n){return{type:0,name:t,styles:e,options:n}}function d(t){return{type:5,steps:t}}function h(t,e,n){return void 0===n&&(n=null),{type:1,expr:t,animation:e,options:n}}function f(t){return void 0===t&&(t=null),{type:9,options:t}}function m(t,e,n){return void 0===n&&(n=null),{type:11,selector:t,animation:e,options:n}}function g(t){Promise.resolve(null).then(t)}var y=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;g((function(){return t._onFinish()}))},t.prototype._onStart=function(){this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}(),v=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?g((function(){return e._onFinish()})):this.players.forEach((function(t){t.onDone((function(){++n==o&&e._onFinish()})),t.onDestroy((function(){++r==o&&e._onDestroy()})),t.onStart((function(){++i==o&&e._onStart()}))})),this.totalTime=this.players.reduce((function(t,e){return Math.max(t,e.totalTime)}),0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach((function(t){return t.init()}))},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach((function(t){return t.play()}))},t.prototype.pause=function(){this.players.forEach((function(t){return t.pause()}))},t.prototype.restart=function(){this.players.forEach((function(t){return t.restart()}))},t.prototype.finish=function(){this._onFinish(),this.players.forEach((function(t){return t.finish()}))},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach((function(t){return t.destroy()})),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach((function(t){return t.reset()})),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach((function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)}))},t.prototype.getPosition=function(){var t=0;return this.players.forEach((function(e){var n=e.getPosition();t=Math.min(n,t)})),t},t.prototype.beforeDestroy=function(){this.players.forEach((function(t){t.beforeDestroy&&t.beforeDestroy()}))},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}(),b="!"},isby:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}()},jIeE:function(t,e,n){"use strict";n.r(e),e.default=""},"k7+O":function(t,e,n){!function(){"use strict";var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,i=function(){for(var t,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,i=n.length,o={};r50;e!==this.checked&&(this.dragChange.emit(),this.defaults.disableDragValue||(this.checked=e,this._emitChangeEvent())),this._ngZone.runOutsideAngular((function(){return setTimeout((function(){t._dragging&&(t._dragging=!1,t._thumbEl.nativeElement.classList.remove("mat-dragging"),t._thumbEl.nativeElement.style.transform="")}))}))}},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.detectChanges()},e.decorators=[{type:r.n,args:[{selector:"mat-slide-toggle",exportAs:"matSlideToggle",host:{class:"mat-slide-toggle","[id]":"id","[attr.tabindex]":"disabled ? null : -1","[class.mat-checked]":"checked","[class.mat-disabled]":"disabled","[class.mat-slide-toggle-label-before]":'labelPosition == "before"',"[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"(focus)":"_inputElement.nativeElement.focus()"},template:'',styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px,0,0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px,0,0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}.mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-right:8px;margin-left:0}.mat-slide-toggle-label-before .mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0,0,0);transition:all 80ms linear;transition-property:transform;cursor:-webkit-grab;cursor:grab}.mat-slide-toggle-thumb-container.mat-dragging,.mat-slide-toggle-thumb-container:active{cursor:-webkit-grabbing;cursor:grabbing;transition-duration:0s}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media (hover:none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}@media (-ms-high-contrast:active){.mat-slide-toggle-thumb{background:#fff;border:1px solid #000}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#000;border:1px solid #fff}.mat-slide-toggle-bar{background:#fff}.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:1px dotted;outline-offset:5px}}@media (-ms-high-contrast:black-on-white){.mat-slide-toggle-bar{border:1px solid #000}}"],providers:[g],inputs:["disabled","disableRipple","color","tabIndex"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:l.a},{type:o.e},{type:r.k},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:r.Q},{type:void 0,decorators:[{type:r.C,args:[f]}]},{type:String,decorators:[{type:r.R},{type:r.C,args:[p.a]}]},{type:a.b,decorators:[{type:r.R}]}]},e.propDecorators={_thumbEl:[{type:r.nb,args:["thumbContainer"]}],_thumbBarEl:[{type:r.nb,args:["toggleBar"]}],name:[{type:r.G}],id:[{type:r.G}],labelPosition:[{type:r.G}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}],required:[{type:r.G}],checked:[{type:r.G}],change:[{type:r.S}],toggleChange:[{type:r.S}],dragChange:[{type:r.S}],_inputElement:[{type:r.nb,args:["input"]}]},e}(Object(u.y)(Object(u.u)(Object(u.v)(Object(u.w)(v)),"accent"))),_=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[u.q,u.h,d.b],exports:[b,u.h],declarations:[b],providers:[{provide:h.c,useClass:u.c}]}]}],t}()},kkvW:function(t,e,n){"use strict";n.r(e),e.default=''},kwJ1:function(t,e,n){"use strict";n.r(e),e.default='/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n.mat-badge-content {\n font-weight: 600;\n font-size: 12px;\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-badge-small .mat-badge-content {\n font-size: 6px;\n}\n.mat-badge-large .mat-badge-content {\n font-size: 24px;\n}\n.mat-h1, .mat-headline, .mat-typography h1 {\n font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px;\n}\n.mat-h2, .mat-title, .mat-typography h2 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px;\n}\n.mat-h3, .mat-subheading-2, .mat-typography h3 {\n font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px;\n}\n.mat-h4, .mat-subheading-1, .mat-typography h4 {\n font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px;\n}\n.mat-h5, .mat-typography h5 {\n font: 400 11.62px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px;\n}\n.mat-h6, .mat-typography h6 {\n font: 400 9.38px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px;\n}\n.mat-body-strong, .mat-body-2 {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-body, .mat-body-1, .mat-typography {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-body p, .mat-body-1 p, .mat-typography p {\n margin: 0 0 12px;\n}\n.mat-small, .mat-caption {\n font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-display-4, .mat-typography .mat-display-4 {\n font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 56px;\n letter-spacing: -0.05em;\n}\n.mat-display-3, .mat-typography .mat-display-3 {\n font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.02em;\n}\n.mat-display-2, .mat-typography .mat-display-2 {\n font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.005em;\n}\n.mat-display-1, .mat-typography .mat-display-1 {\n font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n}\n.mat-bottom-sheet-container {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n.mat-flat-button, .mat-fab, .mat-mini-fab {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500;\n}\n.mat-button-toggle {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-card {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-card-title {\n font-size: 24px;\n font-weight: 500;\n}\n.mat-card-header .mat-card-title {\n font-size: 20px;\n}\n.mat-card-subtitle,\n.mat-card-content {\n font-size: 14px;\n}\n.mat-checkbox {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-checkbox-layout .mat-checkbox-label {\n line-height: 24px;\n}\n.mat-chip {\n font-size: 14px;\n font-weight: 500;\n}\n.mat-chip .mat-chip-trailing-icon.mat-icon,\n.mat-chip .mat-chip-remove.mat-icon {\n font-size: 18px;\n}\n.mat-table {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-header-cell {\n font-size: 12px;\n font-weight: 500;\n}\n.mat-cell, .mat-footer-cell {\n font-size: 14px;\n}\n.mat-calendar {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-calendar-body {\n font-size: 13px;\n}\n.mat-calendar-body-label,\n.mat-calendar-period-button {\n font-size: 14px;\n font-weight: 500;\n}\n.mat-calendar-table-header th {\n font-size: 11px;\n font-weight: 400;\n}\n.mat-dialog-title {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-expansion-panel-header {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 15px;\n font-weight: 400;\n}\n.mat-expansion-panel-content {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-form-field {\n font-size: inherit;\n font-weight: 400;\n line-height: 1.125;\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-form-field-wrapper {\n padding-bottom: 1.34375em;\n}\n.mat-form-field-prefix .mat-icon,\n.mat-form-field-suffix .mat-icon {\n font-size: 150%;\n line-height: 1.125;\n}\n.mat-form-field-prefix .mat-icon-button,\n.mat-form-field-suffix .mat-icon-button {\n height: 1.5em;\n width: 1.5em;\n}\n.mat-form-field-prefix .mat-icon-button .mat-icon,\n.mat-form-field-suffix .mat-icon-button .mat-icon {\n height: 1.125em;\n line-height: 1.125;\n}\n.mat-form-field-infix {\n padding: 0.5em 0;\n border-top: 0.84375em solid transparent;\n}\n.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.34375em) scale(0.75);\n width: 133.3333333333%;\n}\n.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.34374em) scale(0.75);\n width: 133.3333433333%;\n}\n.mat-form-field-label-wrapper {\n top: -0.84375em;\n padding-top: 0.84375em;\n}\n.mat-form-field-label {\n top: 1.34375em;\n}\n.mat-form-field-underline {\n bottom: 1.34375em;\n}\n.mat-form-field-subscript-wrapper {\n font-size: 75%;\n margin-top: 0.6666666667em;\n top: calc(100% - 1.7916666667em);\n}\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\n padding-bottom: 1.25em;\n}\n.mat-form-field-appearance-legacy .mat-form-field-infix {\n padding: 0.4375em 0;\n}\n.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n -ms-transform: translateY(-1.28125em) scale(0.75);\n width: 133.3333333333%;\n}\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\n -ms-transform: translateY(-1.28124em) scale(0.75);\n width: 133.3333433333%;\n}\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\n -ms-transform: translateY(-1.28123em) scale(0.75);\n width: 133.3333533333%;\n}\n.mat-form-field-appearance-legacy .mat-form-field-label {\n top: 1.28125em;\n}\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n bottom: 1.25em;\n}\n.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\n margin-top: 0.5416666667em;\n top: calc(100% - 1.6666666667em);\n}\n@media print {\n .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28122em) scale(0.75);\n }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28121em) scale(0.75);\n }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.2812em) scale(0.75);\n }\n}\n.mat-form-field-appearance-fill .mat-form-field-infix {\n padding: 0.25em 0 0.75em 0;\n}\n.mat-form-field-appearance-fill .mat-form-field-label {\n top: 1.09375em;\n margin-top: -0.5em;\n}\n.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-0.59375em) scale(0.75);\n width: 133.3333333333%;\n}\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-0.59374em) scale(0.75);\n width: 133.3333433333%;\n}\n.mat-form-field-appearance-outline .mat-form-field-infix {\n padding: 1em 0 1em 0;\n}\n.mat-form-field-appearance-outline .mat-form-field-label {\n top: 1.84375em;\n margin-top: -0.25em;\n}\n.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.59375em) scale(0.75);\n width: 133.3333333333%;\n}\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.59374em) scale(0.75);\n width: 133.3333433333%;\n}\n.mat-grid-tile-header,\n.mat-grid-tile-footer {\n font-size: 14px;\n}\n.mat-grid-tile-header .mat-line,\n.mat-grid-tile-footer .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box;\n}\n.mat-grid-tile-header .mat-line:nth-child(n+2),\n.mat-grid-tile-footer .mat-line:nth-child(n+2) {\n font-size: 12px;\n}\ninput.mat-input-element {\n margin-top: -0.0625em;\n}\n.mat-menu-item {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n}\n.mat-radio-button {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-select {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-select-trigger {\n height: 1.125em;\n}\n.mat-slide-toggle-content {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-slider-thumb-label-text {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500;\n}\n.mat-stepper-vertical, .mat-stepper-horizontal {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-step-label {\n font-size: 14px;\n font-weight: 400;\n}\n.mat-step-sub-label-error {\n font-weight: normal;\n}\n.mat-step-label-error {\n font-size: 14px;\n}\n.mat-step-label-selected {\n font-size: 14px;\n font-weight: 500;\n}\n.mat-tab-group {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-tab-label, .mat-tab-link {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500;\n}\n.mat-toolbar,\n.mat-toolbar h1,\n.mat-toolbar h2,\n.mat-toolbar h3,\n.mat-toolbar h4,\n.mat-toolbar h5,\n.mat-toolbar h6 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0;\n}\n.mat-tooltip {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 10px;\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.mat-tooltip-handset {\n font-size: 14px;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n.mat-list-item {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-list-option {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-list-base .mat-list-item {\n font-size: 16px;\n}\n.mat-list-base .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box;\n}\n.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 14px;\n}\n.mat-list-base .mat-list-option {\n font-size: 16px;\n}\n.mat-list-base .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box;\n}\n.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 14px;\n}\n.mat-list-base .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500;\n}\n.mat-list-base[dense] .mat-list-item {\n font-size: 12px;\n}\n.mat-list-base[dense] .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box;\n}\n.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 12px;\n}\n.mat-list-base[dense] .mat-list-option {\n font-size: 12px;\n}\n.mat-list-base[dense] .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box;\n}\n.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 12px;\n}\n.mat-list-base[dense] .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500;\n}\n.mat-option {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 16px;\n}\n.mat-optgroup-label {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-simple-snackbar {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n}\n.mat-simple-snackbar-action {\n line-height: 1;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n}\n.mat-tree {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\n.mat-tree-node,\n.mat-nested-tree-node {\n font-weight: 400;\n font-size: 14px;\n}\n.mat-ripple {\n overflow: hidden;\n position: relative;\n}\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n}\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale(0);\n}\n@media (-ms-high-contrast: active) {\n .mat-ripple-element {\n display: none;\n }\n}\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n}\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000;\n}\n.cdk-overlay-container:empty {\n display: none;\n}\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000;\n}\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n}\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n}\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1;\n}\n@media screen and (-ms-high-contrast: active) {\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6;\n }\n}\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32);\n}\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0;\n}\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px;\n}\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll;\n}\n@-webkit-keyframes cdk-text-field-autofill-start {\n /*!*/\n}\n@keyframes cdk-text-field-autofill-start {\n /*!*/\n}\n@-webkit-keyframes cdk-text-field-autofill-end {\n /*!*/\n}\n@keyframes cdk-text-field-autofill-end {\n /*!*/\n}\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n -webkit-animation-name: cdk-text-field-autofill-start;\n animation-name: cdk-text-field-autofill-start;\n}\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n -webkit-animation-name: cdk-text-field-autofill-end;\n animation-name: cdk-text-field-autofill-end;\n}\ntextarea.cdk-textarea-autosize {\n resize: none;\n}\ntextarea.cdk-textarea-autosize-measuring {\n height: auto !important;\n overflow: hidden !important;\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n}\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.mat-option {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04);\n}\n.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04);\n}\n.mat-option.mat-active {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-option.mat-option-disabled {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #2196f3;\n}\n.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #ff4081;\n}\n.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #f44336;\n}\n.mat-optgroup-label {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-optgroup-disabled .mat-optgroup-label {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-pseudo-checkbox::after {\n color: #fafafa;\n}\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0;\n}\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #ff4081;\n}\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #2196f3;\n}\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #f44336;\n}\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0;\n}\n.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-theme-loaded-marker {\n display: none;\n}\n.mat-autocomplete-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-autocomplete-panel:not([class*=mat-elevation-z]) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\n background: white;\n}\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-badge-content {\n color: white;\n background: #2196f3;\n}\n@media (-ms-high-contrast: active) {\n .mat-badge-content {\n outline: solid 1px;\n border-radius: 0;\n }\n}\n.mat-badge-accent .mat-badge-content {\n background: #ff4081;\n color: white;\n}\n.mat-badge-warn .mat-badge-content {\n color: white;\n background: #f44336;\n}\n.mat-badge {\n position: relative;\n}\n.mat-badge-hidden .mat-badge-content {\n display: none;\n}\n.mat-badge-disabled .mat-badge-content {\n background: #b9b9b9;\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-badge-content {\n position: absolute;\n text-align: center;\n display: inline-block;\n border-radius: 50%;\n transition: transform 200ms ease-in-out;\n transform: scale(0.6);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none;\n}\n.mat-badge-content.mat-badge-active {\n transform: none;\n}\n.mat-badge-small .mat-badge-content {\n width: 16px;\n height: 16px;\n line-height: 16px;\n}\n.mat-badge-small.mat-badge-above .mat-badge-content {\n top: -8px;\n}\n.mat-badge-small.mat-badge-below .mat-badge-content {\n bottom: -8px;\n}\n.mat-badge-small.mat-badge-before .mat-badge-content {\n left: -16px;\n}\n[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content {\n left: auto;\n right: -16px;\n}\n.mat-badge-small.mat-badge-after .mat-badge-content {\n right: -16px;\n}\n[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content {\n right: auto;\n left: -16px;\n}\n.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -8px;\n}\n[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -8px;\n}\n.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -8px;\n}\n[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -8px;\n}\n.mat-badge-medium .mat-badge-content {\n width: 22px;\n height: 22px;\n line-height: 22px;\n}\n.mat-badge-medium.mat-badge-above .mat-badge-content {\n top: -11px;\n}\n.mat-badge-medium.mat-badge-below .mat-badge-content {\n bottom: -11px;\n}\n.mat-badge-medium.mat-badge-before .mat-badge-content {\n left: -22px;\n}\n[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content {\n left: auto;\n right: -22px;\n}\n.mat-badge-medium.mat-badge-after .mat-badge-content {\n right: -22px;\n}\n[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content {\n right: auto;\n left: -22px;\n}\n.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -11px;\n}\n[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -11px;\n}\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -11px;\n}\n[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -11px;\n}\n.mat-badge-large .mat-badge-content {\n width: 28px;\n height: 28px;\n line-height: 28px;\n}\n.mat-badge-large.mat-badge-above .mat-badge-content {\n top: -14px;\n}\n.mat-badge-large.mat-badge-below .mat-badge-content {\n bottom: -14px;\n}\n.mat-badge-large.mat-badge-before .mat-badge-content {\n left: -28px;\n}\n[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content {\n left: auto;\n right: -28px;\n}\n.mat-badge-large.mat-badge-after .mat-badge-content {\n right: -28px;\n}\n[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content {\n right: auto;\n left: -28px;\n}\n.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -14px;\n}\n[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -14px;\n}\n.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -14px;\n}\n[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -14px;\n}\n.mat-bottom-sheet-container {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-button, .mat-icon-button, .mat-stroked-button {\n color: inherit;\n background: transparent;\n}\n.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\n color: #2196f3;\n}\n.mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {\n color: #ff4081;\n}\n.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {\n color: #f44336;\n}\n.mat-button.mat-primary[disabled], .mat-button.mat-accent[disabled], .mat-button.mat-warn[disabled], .mat-button[disabled][disabled], .mat-icon-button.mat-primary[disabled], .mat-icon-button.mat-accent[disabled], .mat-icon-button.mat-warn[disabled], .mat-icon-button[disabled][disabled], .mat-stroked-button.mat-primary[disabled], .mat-stroked-button.mat-accent[disabled], .mat-stroked-button.mat-warn[disabled], .mat-stroked-button[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26);\n}\n.mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {\n background-color: #2196f3;\n}\n.mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {\n background-color: #ff4081;\n}\n.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {\n background-color: #f44336;\n}\n.mat-button[disabled] .mat-button-focus-overlay, .mat-icon-button[disabled] .mat-button-focus-overlay, .mat-stroked-button[disabled] .mat-button-focus-overlay {\n background-color: transparent;\n}\n.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {\n opacity: 0.1;\n background-color: currentColor;\n}\n.mat-button-focus-overlay {\n background: black;\n}\n.mat-stroked-button:not([disabled]) {\n border-color: rgba(0, 0, 0, 0.12);\n}\n.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n color: rgba(0, 0, 0, 0.87);\n background-color: white;\n}\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n color: white;\n}\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n color: white;\n}\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n color: white;\n}\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26);\n}\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n background-color: #2196f3;\n}\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n background-color: #ff4081;\n}\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n background-color: #f44336;\n}\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mat-stroked-button:not([class*=mat-elevation-z]), .mat-flat-button:not([class*=mat-elevation-z]) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-raised-button:not([class*=mat-elevation-z]) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]) {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mat-raised-button[disabled]:not([class*=mat-elevation-z]) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-fab:not([class*=mat-elevation-z]), .mat-mini-fab:not([class*=mat-elevation-z]) {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]), .mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]) {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mat-fab[disabled]:not([class*=mat-elevation-z]), .mat-mini-fab[disabled]:not([class*=mat-elevation-z]) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-button-toggle-standalone,\n.mat-button-toggle-group {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n box-shadow: none;\n}\n.mat-button-toggle {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-button-toggle .mat-button-toggle-focus-overlay {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87);\n background: white;\n}\n.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\n background-color: black;\n}\n.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n}\n[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: none;\n border-top: solid 1px rgba(0, 0, 0, 0.12);\n}\n.mat-button-toggle-checked {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-button-toggle-checked.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-button-toggle-disabled {\n color: rgba(0, 0, 0, 0.26);\n background-color: #eeeeee;\n}\n.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\n background: white;\n}\n.mat-button-toggle-disabled.mat-button-toggle-checked {\n background-color: #bdbdbd;\n}\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n border: solid 1px rgba(0, 0, 0, 0.12);\n}\n.mat-card {\n background: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-card:not([class*=mat-elevation-z]) {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-card.mat-card-flat:not([class*=mat-elevation-z]) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-card-subtitle {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-checkbox-frame {\n border-color: rgba(0, 0, 0, 0.54);\n}\n.mat-checkbox-checkmark {\n fill: #fafafa;\n}\n.mat-checkbox-checkmark-path {\n stroke: #fafafa !important;\n}\n@media (-ms-high-contrast: black-on-white) {\n .mat-checkbox-checkmark-path {\n stroke: #000 !important;\n }\n}\n.mat-checkbox-mixedmark {\n background-color: #fafafa;\n}\n.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {\n background-color: #2196f3;\n}\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {\n background-color: #ff4081;\n}\n.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {\n background-color: #f44336;\n}\n.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\n background-color: #b0b0b0;\n}\n.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\n border-color: #b0b0b0;\n}\n.mat-checkbox-disabled .mat-checkbox-label {\n color: rgba(0, 0, 0, 0.54);\n}\n@media (-ms-high-contrast: active) {\n .mat-checkbox-disabled {\n opacity: 0.5;\n }\n}\n@media (-ms-high-contrast: active) {\n .mat-checkbox-background {\n background: none;\n }\n}\n.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element {\n background-color: #2196f3;\n}\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {\n background-color: #ff4081;\n}\n.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element {\n background-color: #f44336;\n}\n.mat-chip.mat-standard-chip {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-chip.mat-standard-chip .mat-chip-remove {\n color: rgba(0, 0, 0, 0.87);\n opacity: 0.4;\n}\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\n opacity: 0.54;\n}\n.mat-chip.mat-standard-chip.mat-chip-disabled {\n opacity: 0.4;\n}\n.mat-chip.mat-standard-chip::after {\n background: black;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\n background-color: #2196f3;\n color: white;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\n color: white;\n opacity: 0.4;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1);\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\n background-color: #f44336;\n color: white;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\n color: white;\n opacity: 0.4;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1);\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\n background-color: #ff4081;\n color: white;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\n color: white;\n opacity: 0.4;\n}\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1);\n}\n.mat-table {\n background: white;\n}\n.mat-table thead, .mat-table tbody, .mat-table tfoot,\nmat-header-row, mat-row, mat-footer-row,\n[mat-header-row], [mat-row], [mat-footer-row],\n.mat-table-sticky {\n background: inherit;\n}\nmat-row, mat-header-row, mat-footer-row,\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.mat-header-cell {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-cell, .mat-footer-cell {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-calendar-arrow {\n border-top-color: rgba(0, 0, 0, 0.54);\n}\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-calendar-table-header {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12);\n}\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-calendar-body-cell-content {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent;\n}\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.38);\n}\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.18);\n}\n.mat-calendar-body-selected {\n background-color: #2196f3;\n color: white;\n}\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(33, 150, 243, 0.4);\n}\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n.mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #ff4081;\n color: white;\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 64, 129, 0.4);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #f44336;\n color: white;\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(244, 67, 54, 0.4);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n.mat-datepicker-content-touch {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-datepicker-toggle-active {\n color: #2196f3;\n}\n.mat-datepicker-toggle-active.mat-accent {\n color: #ff4081;\n}\n.mat-datepicker-toggle-active.mat-warn {\n color: #f44336;\n}\n.mat-dialog-container {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-divider {\n border-top-color: rgba(0, 0, 0, 0.12);\n}\n.mat-divider-vertical {\n border-right-color: rgba(0, 0, 0, 0.12);\n}\n.mat-expansion-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-expansion-panel:not([class*=mat-elevation-z]) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-action-row {\n border-top-color: rgba(0, 0, 0, 0.12);\n}\n.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n@media (hover: none) {\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {\n background: white;\n }\n}\n.mat-expansion-panel-header-title {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-expansion-panel-header-description,\n.mat-expansion-indicator::after {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-expansion-panel-header[aria-disabled=true] {\n color: rgba(0, 0, 0, 0.26);\n}\n.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,\n.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {\n color: inherit;\n}\n.mat-form-field-label {\n color: rgba(0, 0, 0, 0.6);\n}\n.mat-hint {\n color: rgba(0, 0, 0, 0.6);\n}\n.mat-form-field.mat-focused .mat-form-field-label {\n color: #2196f3;\n}\n.mat-form-field.mat-focused .mat-form-field-label.mat-accent {\n color: #ff4081;\n}\n.mat-form-field.mat-focused .mat-form-field-label.mat-warn {\n color: #f44336;\n}\n.mat-focused .mat-form-field-required-marker {\n color: #ff4081;\n}\n.mat-form-field-ripple {\n background-color: rgba(0, 0, 0, 0.87);\n}\n.mat-form-field.mat-focused .mat-form-field-ripple {\n background-color: #2196f3;\n}\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\n background-color: #ff4081;\n}\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\n background-color: #f44336;\n}\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\n color: #2196f3;\n}\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\n color: #ff4081;\n}\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\n color: #f44336;\n}\n.mat-form-field.mat-form-field-invalid .mat-form-field-label {\n color: #f44336;\n}\n.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\n.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\n color: #f44336;\n}\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\n background-color: #f44336;\n}\n.mat-error {\n color: #f44336;\n}\n.mat-form-field-appearance-legacy .mat-form-field-label {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-form-field-appearance-legacy .mat-hint {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42);\n}\n.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x;\n}\n.mat-form-field-appearance-standard .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42);\n}\n.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x;\n}\n.mat-form-field-appearance-fill .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.02);\n}\n.mat-form-field-appearance-fill .mat-form-field-underline::before {\n background-color: rgba(0, 0, 0, 0.42);\n}\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\n background-color: transparent;\n}\n.mat-form-field-appearance-outline .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.12);\n}\n.mat-form-field-appearance-outline .mat-form-field-outline-thick {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\n color: #2196f3;\n}\n.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\n color: #ff4081;\n}\n.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\n color: #f44336;\n}\n.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\n color: #f44336;\n}\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.06);\n}\n.mat-icon.mat-primary {\n color: #2196f3;\n}\n.mat-icon.mat-accent {\n color: #ff4081;\n}\n.mat-icon.mat-warn {\n color: #f44336;\n}\n.mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-input-element:disabled,\n.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-input-element {\n caret-color: #2196f3;\n}\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element::-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element::placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-input-element:-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-accent .mat-input-element {\n caret-color: #ff4081;\n}\n.mat-warn .mat-input-element,\n.mat-form-field-invalid .mat-input-element {\n caret-color: #f44336;\n}\n.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n color: #f44336;\n}\n.mat-list-base .mat-list-item {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-list-base .mat-list-option {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-list-base .mat-subheader {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-list-item-disabled {\n background-color: #eeeeee;\n}\n.mat-list-option:hover, .mat-list-option:focus,\n.mat-nav-list .mat-list-item:hover,\n.mat-nav-list .mat-list-item:focus,\n.mat-action-list .mat-list-item:hover,\n.mat-action-list .mat-list-item:focus {\n background: rgba(0, 0, 0, 0.04);\n}\n.mat-menu-panel {\n background: white;\n}\n.mat-menu-panel:not([class*=mat-elevation-z]) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-menu-item {\n background: transparent;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-menu-item[disabled], .mat-menu-item[disabled]::after {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-menu-item .mat-icon-no-color,\n.mat-menu-item-submenu-trigger::after {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-menu-item:hover:not([disabled]),\n.mat-menu-item.cdk-program-focused:not([disabled]),\n.mat-menu-item.cdk-keyboard-focused:not([disabled]),\n.mat-menu-item-highlighted:not([disabled]) {\n background: rgba(0, 0, 0, 0.04);\n}\n.mat-paginator {\n background: white;\n}\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-paginator-decrement,\n.mat-paginator-increment {\n border-top: 2px solid rgba(0, 0, 0, 0.54);\n border-right: 2px solid rgba(0, 0, 0, 0.54);\n}\n.mat-paginator-first,\n.mat-paginator-last {\n border-top: 2px solid rgba(0, 0, 0, 0.54);\n}\n.mat-icon-button[disabled] .mat-paginator-decrement,\n.mat-icon-button[disabled] .mat-paginator-increment,\n.mat-icon-button[disabled] .mat-paginator-first,\n.mat-icon-button[disabled] .mat-paginator-last {\n border-color: rgba(0, 0, 0, 0.38);\n}\n.mat-progress-bar-background {\n fill: #bbdefb;\n}\n.mat-progress-bar-buffer {\n background-color: #bbdefb;\n}\n.mat-progress-bar-fill::after {\n background-color: #2196f3;\n}\n.mat-progress-bar.mat-accent .mat-progress-bar-background {\n fill: #ff80ab;\n}\n.mat-progress-bar.mat-accent .mat-progress-bar-buffer {\n background-color: #ff80ab;\n}\n.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\n background-color: #ff4081;\n}\n.mat-progress-bar.mat-warn .mat-progress-bar-background {\n fill: #ffcdd2;\n}\n.mat-progress-bar.mat-warn .mat-progress-bar-buffer {\n background-color: #ffcdd2;\n}\n.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\n background-color: #f44336;\n}\n.mat-progress-spinner circle, .mat-spinner circle {\n stroke: #2196f3;\n}\n.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {\n stroke: #ff4081;\n}\n.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {\n stroke: #f44336;\n}\n.mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.54);\n}\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\n border-color: #2196f3;\n}\n.mat-radio-button.mat-primary .mat-radio-inner-circle,\n.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\n background-color: #2196f3;\n}\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\n border-color: #ff4081;\n}\n.mat-radio-button.mat-accent .mat-radio-inner-circle,\n.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\n background-color: #ff4081;\n}\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\n border-color: #f44336;\n}\n.mat-radio-button.mat-warn .mat-radio-inner-circle,\n.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\n background-color: #f44336;\n}\n.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\n.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.38);\n}\n.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\n.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\n background-color: rgba(0, 0, 0, 0.38);\n}\n.mat-radio-button.mat-radio-disabled .mat-radio-label-content {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-radio-button .mat-ripple-element {\n background-color: black;\n}\n.mat-select-value {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-select-placeholder {\n color: rgba(0, 0, 0, 0.42);\n}\n.mat-select-disabled .mat-select-value {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-select-arrow {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-select-panel {\n background: white;\n}\n.mat-select-panel:not([class*=mat-elevation-z]) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\n background: rgba(0, 0, 0, 0.12);\n}\n.mat-form-field.mat-focused.mat-primary .mat-select-arrow {\n color: #2196f3;\n}\n.mat-form-field.mat-focused.mat-accent .mat-select-arrow {\n color: #ff4081;\n}\n.mat-form-field.mat-focused.mat-warn .mat-select-arrow {\n color: #f44336;\n}\n.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\n color: #f44336;\n}\n.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-drawer-container {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-drawer {\n background-color: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-drawer.mat-drawer-push {\n background-color: white;\n}\n.mat-drawer:not(.mat-drawer-side) {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.mat-drawer-side {\n border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.mat-drawer-side.mat-drawer-end {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none;\n}\n[dir=rtl] .mat-drawer-side {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none;\n}\n[dir=rtl] .mat-drawer-side.mat-drawer-end {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.mat-drawer-backdrop.mat-drawer-shown {\n background-color: rgba(0, 0, 0, 0.6);\n}\n.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\n background-color: #ff4081;\n}\n.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(255, 64, 129, 0.54);\n}\n.mat-slide-toggle.mat-checked .mat-ripple-element {\n background-color: #ff4081;\n}\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\n background-color: #2196f3;\n}\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(33, 150, 243, 0.54);\n}\n.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\n background-color: #2196f3;\n}\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\n background-color: #f44336;\n}\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(244, 67, 54, 0.54);\n}\n.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\n background-color: #f44336;\n}\n.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\n background-color: black;\n}\n.mat-slide-toggle-thumb {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n background-color: #fafafa;\n}\n.mat-slide-toggle-bar {\n background-color: rgba(0, 0, 0, 0.38);\n}\n.mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26);\n}\n.mat-primary .mat-slider-track-fill,\n.mat-primary .mat-slider-thumb,\n.mat-primary .mat-slider-thumb-label {\n background-color: #2196f3;\n}\n.mat-primary .mat-slider-thumb-label-text {\n color: white;\n}\n.mat-accent .mat-slider-track-fill,\n.mat-accent .mat-slider-thumb,\n.mat-accent .mat-slider-thumb-label {\n background-color: #ff4081;\n}\n.mat-accent .mat-slider-thumb-label-text {\n color: white;\n}\n.mat-warn .mat-slider-track-fill,\n.mat-warn .mat-slider-thumb,\n.mat-warn .mat-slider-thumb-label {\n background-color: #f44336;\n}\n.mat-warn .mat-slider-thumb-label-text {\n color: white;\n}\n.mat-slider-focus-ring {\n background-color: rgba(255, 64, 129, 0.2);\n}\n.mat-slider:hover .mat-slider-track-background,\n.cdk-focused .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.38);\n}\n.mat-slider-disabled .mat-slider-track-background,\n.mat-slider-disabled .mat-slider-track-fill,\n.mat-slider-disabled .mat-slider-thumb {\n background-color: rgba(0, 0, 0, 0.26);\n}\n.mat-slider-disabled:hover .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26);\n}\n.mat-slider-min-value .mat-slider-focus-ring {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.87);\n}\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.26);\n}\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26);\n background-color: transparent;\n}\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.38);\n}\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26);\n}\n.mat-slider-has-ticks .mat-slider-wrapper::after {\n border-color: rgba(0, 0, 0, 0.7);\n}\n.mat-slider-horizontal .mat-slider-ticks {\n background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n}\n.mat-slider-vertical .mat-slider-ticks {\n background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n}\n.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n@media (hover: none) {\n .mat-step-header:hover {\n background: none;\n }\n}\n.mat-step-header .mat-step-label,\n.mat-step-header .mat-step-optional {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-step-header .mat-step-icon {\n background-color: rgba(0, 0, 0, 0.54);\n color: white;\n}\n.mat-step-header .mat-step-icon-selected,\n.mat-step-header .mat-step-icon-state-done,\n.mat-step-header .mat-step-icon-state-edit {\n background-color: #2196f3;\n color: white;\n}\n.mat-step-header .mat-step-icon-state-error {\n background-color: transparent;\n color: #f44336;\n}\n.mat-step-header .mat-step-label.mat-step-label-active {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-step-header .mat-step-label.mat-step-label-error {\n color: #f44336;\n}\n.mat-stepper-horizontal, .mat-stepper-vertical {\n background-color: white;\n}\n.mat-stepper-vertical-line::before {\n border-left-color: rgba(0, 0, 0, 0.12);\n}\n.mat-horizontal-stepper-header::before,\n.mat-horizontal-stepper-header::after,\n.mat-stepper-horizontal-line {\n border-top-color: rgba(0, 0, 0, 0.12);\n}\n.mat-sort-header-arrow {\n color: #757575;\n}\n.mat-tab-nav-bar,\n.mat-tab-header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mat-tab-group-inverted-header .mat-tab-nav-bar,\n.mat-tab-group-inverted-header .mat-tab-header {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n}\n.mat-tab-label, .mat-tab-link {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.38);\n}\n.mat-tab-group[class*=mat-background-] .mat-tab-header,\n.mat-tab-nav-bar[class*=mat-background-] {\n border-bottom: none;\n border-top: none;\n}\n.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3);\n}\n.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {\n background-color: #2196f3;\n}\n.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar {\n background-color: white;\n}\n.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3);\n}\n.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {\n background-color: #ff4081;\n}\n.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar {\n background-color: white;\n}\n.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3);\n}\n.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {\n background-color: #f44336;\n}\n.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar {\n background-color: white;\n}\n.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3);\n}\n.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links {\n background-color: #2196f3;\n}\n.mat-tab-group.mat-background-primary .mat-tab-label, .mat-tab-group.mat-background-primary .mat-tab-link, .mat-tab-nav-bar.mat-background-primary .mat-tab-label, .mat-tab-nav-bar.mat-background-primary .mat-tab-link {\n color: white;\n}\n.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron {\n border-color: white;\n}\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-primary .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3);\n}\n.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links {\n background-color: #ff4081;\n}\n.mat-tab-group.mat-background-accent .mat-tab-label, .mat-tab-group.mat-background-accent .mat-tab-link, .mat-tab-nav-bar.mat-background-accent .mat-tab-label, .mat-tab-nav-bar.mat-background-accent .mat-tab-link {\n color: white;\n}\n.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron {\n border-color: white;\n}\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-accent .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3);\n}\n.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links {\n background-color: #f44336;\n}\n.mat-tab-group.mat-background-warn .mat-tab-label, .mat-tab-group.mat-background-warn .mat-tab-link, .mat-tab-nav-bar.mat-background-warn .mat-tab-label, .mat-tab-nav-bar.mat-background-warn .mat-tab-link {\n color: white;\n}\n.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron {\n border-color: white;\n}\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4);\n}\n.mat-tab-group.mat-background-warn .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mat-toolbar {\n background: whitesmoke;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-toolbar.mat-primary {\n background: #2196f3;\n color: white;\n}\n.mat-toolbar.mat-accent {\n background: #ff4081;\n color: white;\n}\n.mat-toolbar.mat-warn {\n background: #f44336;\n color: white;\n}\n.mat-toolbar .mat-form-field-underline,\n.mat-toolbar .mat-form-field-ripple,\n.mat-toolbar .mat-focused .mat-form-field-ripple {\n background-color: currentColor;\n}\n.mat-toolbar .mat-form-field-label,\n.mat-toolbar .mat-focused .mat-form-field-label,\n.mat-toolbar .mat-select-value,\n.mat-toolbar .mat-select-arrow,\n.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\n color: inherit;\n}\n.mat-toolbar .mat-input-element {\n caret-color: currentColor;\n}\n.mat-tooltip {\n background: rgba(97, 97, 97, 0.9);\n}\n.mat-tree {\n background: white;\n}\n.mat-tree-node,\n.mat-nested-tree-node {\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-snack-bar-container {\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.mat-simple-snackbar-action {\n color: #ff4081;\n}\nmgl-timeline {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n}\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white !important;\n color: black;\n}\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header {\n background-color: #f5f5f5 !important;\n}\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.primary {\n background-color: #2196f3;\n}\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.accent {\n background-color: #ff4081;\n}\nmd-toolbar {\n margin-bottom: 10px !important;\n}\nmd-toolbar:not(.mat-primary) .mat-toolbar-row {\n flex-wrap: wrap;\n height: auto;\n padding: 5px 0;\n}\nmd-toolbar:not(.mat-primary) button {\n margin: 5px !important;\n}\nmgl-timeline:not(.mobile) {\n padding: 50px 20px;\n}\nmgl-timeline.mobile {\n padding-right: 20px;\n}'},l01N:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=function(t){return JSON.parse(JSON.stringify(t))}},l4qL:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 100%;\n}\n\n.table-container {\n max-height: 260px;\n overflow: auto;\n margin-top: 30px;\n margin-bottom: 30px;\n}"},lGQG:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var r=n("CcnG"),i=n("t/Na"),o=n("ZYCi"),a=n("26FU"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&n!==e._activeItemIndex&&(e._activeItemIndex=n)}}))}return t.prototype.skipPredicate=function(t){return this._skipPredicateFn=t,this},t.prototype.withWrap=function(t){return void 0===t&&(t=!0),this._wrap=t,this},t.prototype.withVerticalOrientation=function(t){return void 0===t&&(t=!0),this._vertical=t,this},t.prototype.withHorizontalOrientation=function(t){return this._horizontal=t,this},t.prototype.withAllowedModifierKeys=function(t){return this._allowedModifierKeys=t,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some((function(t){return"function"!=typeof t.getLabel})))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Object(c.a)((function(t){return e._pressedLetters.push(t)})),Object(u.a)(t),Object(p.a)((function(){return e._pressedLetters.length>0})),Object(d.a)((function(){return e._pressedLetters.join("")}))).subscribe((function(t){for(var n=e._getItemsArray(),r=1;r-1}));switch(n){case l.o:return void this.tabOut.next();case l.d:if(this._vertical&&r){this.setNextItemActive();break}return;case l.p:if(this._vertical&&r){this.setPreviousItemActive();break}return;case l.m:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case l.i:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;default:return void((r||Object(l.s)(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(n>=l.a&&n<=l.q||n>=l.r&&n<=l.j)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItem=function(t){var e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),r=e[n];this._activeItem=null==r?null:r,this._activeItemIndex=n},t.prototype.updateActiveItemIndex=function(t){this.updateActiveItem(t)},t.prototype._setActiveItemByDelta=function(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)},t.prototype._setActiveInWrapMode=function(t){for(var e=this._getItemsArray(),n=1;n<=e.length;n++){var r=(this._activeItemIndex+t*n+e.length)%e.length,i=e[r];if(!this._skipPredicateFn(i))return void this.setActiveItem(r)}},t.prototype._setActiveInDefaultMode=function(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)},t.prototype._setActiveItemByIndex=function(t,e){var n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}},t.prototype._getItemsArray=function(){return this._items instanceof i.X?this._items.toArray():this._items},t}(),E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(f.c)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(O),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._origin="program",e}return Object(f.c)(e,t),e.prototype.setFocusOrigin=function(t){return this._origin=t,this},e.prototype.setActiveItem=function(e){t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.focus(this._origin)},e}(O),k=function(){function t(t){this._platform=t}return t.prototype.isDisabled=function(t){return t.hasAttribute("disabled")},t.prototype.isVisible=function(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility},t.prototype.isTabbable=function(t){if(!this._platform.isBrowser)return!1;var e,n=function(t){try{return t.frameElement}catch(e){return null}}((e=t).ownerDocument&&e.ownerDocument.defaultView||window);if(n){var r=n&&n.nodeName.toLowerCase();if(-1===A(n))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===r)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(n))return!1}var i=t.nodeName.toLowerCase(),o=A(t);if(t.hasAttribute("contenteditable"))return-1!==o;if("iframe"===i)return!1;if("audio"===i){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===i){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==i||!this._platform.BLINK&&!this._platform.WEBKIT)&&(!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){var e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0)},t.prototype.isFocusable=function(t){return function(t){if(function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t))return!1;return function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||j(t)}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:m.a}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(m.a))},token:t,providedIn:"root"}),t}();function j(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function A(t){if(!j(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var D=function(){function t(t,e,n,r,i){void 0===i&&(i=!1);var o=this;this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._hasAttached=!1,this._startAnchorListener=function(){return o.focusLastTabbableElement()},this._endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){var t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this._startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this._endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular((function(){t._startAnchor||(t._startAnchor=t._createAnchor(),t._startAnchor.addEventListener("focus",t._startAnchorListener)),t._endAnchor||(t._endAnchor=t._createAnchor(),t._endAnchor.addEventListener("focus",t._endAnchorListener))})),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise((function(e){t._executeOnStable((function(){return e(t.focusInitialElement())}))}))},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise((function(e){t._executeOnStable((function(){return e(t.focusFirstTabbableElement())}))}))},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise((function(e){t._executeOnStable((function(){return e(t.focusLastTabbableElement())}))}))},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t},t.prototype._toggleAnchorTabIndex=function(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Object(h.a)(1)).subscribe(t)},t}(),T=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new D(t,this._checker,this._ngZone,this._document,e)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:k},{type:i.Q},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(k),Object(i.xb)(i.Q),Object(i.xb)(r.c))},token:t,providedIn:"root"}),t}(),P=function(){function t(t,e,n){this._elementRef=t,this._focusTrapFactory=e,this._previouslyFocusedElement=null,this._document=n,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this.focusTrap.enabled},set:function(t){this.focusTrap.enabled=Object(g.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoCapture",{get:function(){return this._autoCapture},set:function(t){this._autoCapture=Object(g.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)},t.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors(),this.autoCapture&&(this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady())},t.prototype.ngDoCheck=function(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()},t.decorators=[{type:i.t,args:[{selector:"[cdkTrapFocus]",exportAs:"cdkTrapFocus"}]}],t.ctorParameters=function(){return[{type:i.u},{type:T},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.propDecorators={enabled:[{type:i.G,args:["cdkTrapFocus"]}],autoCapture:[{type:i.G,args:["cdkTrapFocusAutoCapture"]}]},t}(),I=new i.E("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});var R=function(){function t(t,e,n){this._ngZone=e,this._document=n,this._liveElement=t||this._createLiveElement()}return t.prototype.announce=function(t){for(var e,n,r=this,i=[],o=1;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a}function s(t,e){return function(n,r){e(n,r,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function p(){for(var t=[],e=0;e enter",Object(r.e)("150ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({transform:"none",opacity:1}))),Object(r.m)("* => void, * => exit",Object(r.e)("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",Object(r.l)({opacity:0})))],w={dialogContainer:Object(r.n)("dialogContainer",_),slideDialog:Object(r.n)("slideDialog",_)};function x(){throw Error("Attempting to attach dialog content after content is already attached")}var C=function(t){function e(e,n,r,i,a){var s=t.call(this)||this;return s._elementRef=e,s._focusTrapFactory=n,s._changeDetectorRef=r,s._document=i,s._config=a,s._elementFocusedBeforeDialogWasOpened=null,s._state="enter",s._animationStateChanged=new o.x,s._ariaLabelledBy=null,s}return Object(i.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;this._config.restoreFocus&&t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,this._elementRef.nativeElement.focus&&Promise.resolve().then((function(){return t._elementRef.nativeElement.focus()})))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e.decorators=[{type:o.n,args:[{selector:"mat-dialog-container",template:"",styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}@media (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],encapsulation:o.qb.None,changeDetection:o.j.Default,animations:[w.dialogContainer],host:{class:"mat-dialog-container",tabindex:"-1","aria-modal":"true","[attr.id]":"_id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledBy","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[@dialogContainer]":"_state","(@dialogContainer.start)":"_onAnimationStart($event)","(@dialogContainer.done)":"_onAnimationDone($event)"}}]}],e.ctorParameters=function(){return[{type:o.u},{type:l.f},{type:o.k},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[a.c]}]},{type:b}]},e.propDecorators={_portalOutlet:[{type:o.nb,args:[s.c]}]},e}(s.a),O=0,E=function(){function t(t,e,n,r){void 0===r&&(r="mat-dialog-"+O++);var i=this;this._overlayRef=t,this._containerInstance=e,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new u.a,this._afterClosed=new u.a,this._beforeClosed=new u.a,e._id=r,e._animationStateChanged.pipe(Object(h.a)((function(t){return"done"===t.phaseName&&"enter"===t.toState})),Object(f.a)(1)).subscribe((function(){i._afterOpened.next(),i._afterOpened.complete()})),e._animationStateChanged.pipe(Object(h.a)((function(t){return"done"===t.phaseName&&"exit"===t.toState})),Object(f.a)(1)).subscribe((function(){return i._overlayRef.dispose()})),t.detachments().subscribe((function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()})),t.keydownEvents().pipe(Object(h.a)((function(t){return t.keyCode===c.g&&!i.disableClose}))).subscribe((function(){return i.close()}))}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(Object(h.a)((function(t){return"start"===t.phaseName})),Object(f.a)(1)).subscribe((function(){e._beforeClosed.next(t),e._beforeClosed.complete(),e._overlayRef.detachBackdrop()})),this._containerInstance._startExitAnimation()},t.prototype.afterOpened=function(){return this._afterOpened.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClosed=function(){return this._beforeClosed.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t=""),void 0===e&&(e=""),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype.addPanelClass=function(t){return this._overlayRef.addPanelClass(t),this},t.prototype.removePanelClass=function(t){return this._overlayRef.removePanelClass(t),this},t.prototype.afterOpen=function(){return this.afterOpened()},t.prototype.beforeClose=function(){return this.beforeClosed()},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),S=new o.E("MatDialogData"),k=new o.E("mat-dialog-default-options"),j=new o.E("mat-dialog-scroll-strategy");var A={provide:j,deps:[y.b],useFactory:function(t){return function(){return t.scrollStrategies.block()}}},D=function(){function t(t,e,n,r,i,o,a){var s=this;this._overlay=t,this._injector=e,this._location=n,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new u.a,this._afterOpenedAtThisLevel=new u.a,this._ariaHiddenElements=new Map,this.afterAllClosed=Object(p.a)((function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(Object(m.a)(void 0))})),this._scrollStrategy=i}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpened",{get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this.afterOpened},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t,e){return Object(i.a)({},e,t)}(e,this._defaultOptions||new b)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),o=this._attachDialogContainer(r,e),a=this._attachDialogContent(t,o,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.afterClosed().subscribe((function(){return n._removeOpenDialog(a)})),this.afterOpened.next(a),a},t.prototype.closeAll=function(){this._closeDialogs(this.openDialogs)},t.prototype.getDialogById=function(t){return this.openDialogs.find((function(e){return e.id===t}))},t.prototype.ngOnDestroy=function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new y.c({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[b,e]])),i=new s.d(C,e.viewContainerRef,r);return t.attach(i).instance},t.prototype._attachDialogContent=function(t,e,n,r){var i=new E(n,e,this._location,r.id);if(r.hasBackdrop&&n.backdropClick().subscribe((function(){i.disableClose||i.close()})),t instanceof o.jb)e.attachTemplatePortal(new s.i(t,null,{$implicit:r.data,dialogRef:i}));else{var a=this._createInjector(r,i,e),l=e.attachComponentPortal(new s.d(t,void 0,a));i.componentInstance=l.instance}return i.updateSize(r.width,r.height).updatePosition(r.position),i},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap([[C,n],[S,t.data],[E,e]]);return!t.direction||r&&r.get(g.b,null)||i.set(g.b,{value:t.direction,change:Object(d.a)()}),new s.g(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")})),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t.prototype._closeDialogs=function(t){for(var e=t.length;e--;)t[e].close()},t.decorators=[{type:o.D}],t.ctorParameters=function(){return[{type:y.b},{type:o.F},{type:a.f,decorators:[{type:o.R}]},{type:b,decorators:[{type:o.R},{type:o.C,args:[k]}]},{type:void 0,decorators:[{type:o.C,args:[j]}]},{type:t,decorators:[{type:o.R},{type:o.fb}]},{type:y.d}]},t}();var T=0,P=function(){function t(t,e,n){this.dialogRef=t,this._elementRef=e,this._dialog=n}return t.prototype.ngOnInit=function(){this.dialogRef||(this.dialogRef=N(this._elementRef,this._dialog.openDialogs))},t.prototype.ngOnChanges=function(t){var e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)},t.decorators=[{type:o.t,args:[{selector:"button[mat-dialog-close], button[matDialogClose]",exportAs:"matDialogClose",host:{"(click)":"dialogRef.close(dialogResult)","[attr.aria-label]":"ariaLabel || null",type:"button"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={ariaLabel:[{type:o.G,args:["aria-label"]}],dialogResult:[{type:o.G,args:["mat-dialog-close"]}],_matDialogClose:[{type:o.G,args:["matDialogClose"]}]},t}(),I=function(){function t(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+T++}return t.prototype.ngOnInit=function(){var t=this;this._dialogRef||(this._dialogRef=N(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then((function(){var e=t._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=t.id)}))},t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",host:{class:"mat-dialog-title","[id]":"id"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={id:[{type:o.G}]},t}(),R=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-dialog-content"}}]}],t}(),M=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",host:{class:"mat-dialog-actions"}}]}],t}();function N(t,e){for(var n=t.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find((function(t){return t.id===n.id})):null}var F=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[a.b,y.e,s.h,v.h],exports:[C,P,I,R,M,v.h],declarations:[C,P,I,M,R],providers:[D,A],entryComponents:[C]}]}],t}()},p0Sj:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("dEwP"),i=n("nkY7");function o(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===s&&1===t.length&&t[0]instanceof r.a?t[0]:Object(o.a)(n)(Object(a.a)(t,s))}},pKmL:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=[{name:"MINIONS",icon:"wb_incandescent",link:"minions",open:!1},{name:"OPERATIONS",icon:"assignment",link:"operations",open:!1},{name:"TIMINGS",icon:"alarm",link:"timings",open:!1},{name:"DEVICES",icon:"devices",link:"devices",open:!1},{name:"USERS",icon:"supervised_user_circle",link:"users",open:!1,admin:!0}],a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t){return t&&t.__esModule?t:{default:t}},c=function(){function t(){this.iconOnly=!1,this.menus=o}return t.prototype.ngOnInit=function(){},a([Object(r.G)(),s("design:type",Object)],t.prototype,"iconOnly",void 0),t=a([Object(r.n)({selector:"cdk-sidemenu",template:l(n("qO/w")).default,styles:[l(n("685l")).default]}),s("design:paramtypes",[])],t)}(),u=n("ZYCi"),p=n("lGQG"),d=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},h=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},f=function(t){return t&&t.__esModule?t:{default:t}},m=function(){function t(t,e){var n=this;this.router=t,this.authService=e,this.secondaryMenu=!1,this.currentUrl="",this.userProfile={},this.currentUrl=this.router.url,t.events.subscribe((function(t){n.currentUrl=n.router.url})),this.userProfileSubscription=this.authService.userProfile.subscribe((function(t){n.userProfile=t}))}return t.prototype.ngOnInit=function(){},t.prototype.openLink=function(){this.menu.open=this.menu.open},t.prototype.ngOnDestroy=function(){this.userProfileSubscription.unsubscribe()},t.prototype.chechForChildMenu=function(){return!(!this.menu||!this.menu.sub)},t.ctorParameters=function(){return[{type:u.a},{type:p.a}]},d([Object(r.G)(),h("design:type",Object)],t.prototype,"menu",void 0),d([Object(r.G)(),h("design:type",Boolean)],t.prototype,"iconOnly",void 0),d([Object(r.G)(),h("design:type",Object)],t.prototype,"secondaryMenu",void 0),t=d([Object(r.n)({selector:"cdk-sidemenu-item",template:f(n("2bPH")).default,styles:[f(n("+tlQ")).default]}),h("design:paramtypes",[u.a,p.a])],t)}(),g=n("0/Q6"),y=n("UodH"),v=n("b716"),b=n("SMsm"),_=n("8mMr"),w=n("/dO6"),x=n("seP3"),C=n("La40"),O=n("bse0"),E=n("V9q+"),S={notifications:[{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"}],currentUser:{currentUserName:"ישראל ישראלי"}},k=n("6nr9"),j=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},A=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},D=function(t){return t&&t.__esModule?t:{default:t}},T=function(){function t(t,e,n){this.changeDetectorRef=t,this.settingsService=e,this.authService=n,this.searchOpen=!1,this.toolbarHelpers=S,this.clock="--:--:--",this.clockActivation()}return t.prototype.ngOnInit=function(){var t=this;this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe((function(e){t.remoteConnection=e,t.changeDetectorRef.detectChanges()})),this.livelinessSubscription=this.settingsService.onlineFeed.subscribe((function(e){t.liveliness=e,t.changeDetectorRef.detectChanges()}))},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.livelinessSubscription.unsubscribe()},t.prototype.clockActivation=function(){var t=this;setInterval((function(){t.clock=(new Date).toLocaleTimeString()}),1e3)},t.ctorParameters=function(){return[{type:r.k},{type:k.a},{type:p.a}]},j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidenav",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidebar",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"drawer",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"matDrawerShow",void 0),t=j([Object(r.n)({selector:"cdk-toolbar",template:D(n("LhV3")).default,styles:[D(n("vrO4")).default]}),A("design:paramtypes",[r.k,k.a,p.a])],t)}(),P=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},I=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},R=function(t){return t&&t.__esModule?t:{default:t}},M=function(){function t(){}return t.prototype.ngOnInit=function(){},P([Object(r.G)(),I("design:type",Object)],t.prototype,"open",void 0),t=P([Object(r.n)({selector:"cdk-search-bar",template:R(n("Z2YD")).default,styles:[R(n("PuKC")).default]}),I("design:paramtypes",[])],t)}(),N=n("k7+O"),F=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},L=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},V=function(t){return t&&t.__esModule?t:{default:t}},B=function(){function t(){this.isFullscreen=!1}return t.prototype.ngOnInit=function(){},t.prototype.toggleFullscreen=function(){N.enabled&&(N.toggle(),this.isFullscreen=!this.isFullscreen)},t=F([Object(r.n)({selector:"cdk-fullscreen",template:V(n("kkvW")).default,styles:[V(n("wxl/")).default]}),L("design:paramtypes",[])],t)}(),z=n("PSD3"),H=n.n(z),U=n("o3x0"),G=n("NZXM"),q=n("pnyO"),W=n("eKg/"),Y=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},K=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Q=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},X=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},J=function(){function t(t,e,n,r){var i=this;this.settingsService=t,this.authService=e,this.dialog=n,this.translateService=r,this.userProfile={},this.translatePipe=new W.a(this.translateService),this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe((function(t){i.remoteConnection=t})),this.userProfileSubscription=this.authService.userProfile.subscribe((function(t){i.userProfile=t})),this.loadRemoteHostName(),this.loadIftttIntegration(),this.loadCurrentVersion()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.userProfileSubscription.unsubscribe()},t.prototype.loadCurrentVersion=function(){return Q(this,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.settingsService.getCurrentVersion()];case 1:return t=e.sent(),this.currentVersionName=t.version+" ("+t.commintHash+")",this.currentVersionReleaseDate=new Date(t.timestamp).toLocaleDateString(),[3,3];case 2:return e.sent(),this.currentVersionName="unknown",this.currentVersionReleaseDate="unknown",[3,3];case 3:return[2]}}))}))},t.prototype.loadRemoteHostName=function(){return Q(this,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.getRemoteHostname()];case 1:return t.remoteHostname=e.sent(),[2]}}))}))},t.prototype.loadIftttIntegration=function(){return Q(this,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.isIftttIntegrationEnabled()];case 1:return t.iftttIntegration=e.sent(),[2]}}))}))},t.prototype.disconnectRemoteServer=function(){return Q(this,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disconnectRemote()];case 2:return e.sent(),[4,this.loadRemoteHostName()];case 3:return e.sent(),[2]}}))}))},t.prototype.showMacAddress=function(){return Q(this,void 0,void 0,(function(){var t,e=this;return X(this,(function(n){switch(n.label){case 0:return t="",[4,H()({title:this.translatePipe.transform("READING_MAC"),timer:2e3,onBeforeOpen:function(){return Q(e,void 0,void 0,(function(){return X(this,(function(e){switch(e.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.getLocalServerMac()];case 1:return t=e.sent(),H.a.resumeTimer(),[2]}}))}))}})];case 1:return n.sent(),[4,H()({type:"info",title:this.translatePipe.transform("MAC"),html:t,confirmButtonText:"OK"})];case 2:return n.sent(),[2]}}))}))},t.prototype.showRegisteredUsers=function(){this.dialog.open(q.a,{data:{}})},t.prototype.setRemoteServer=function(){return Q(this,void 0,void 0,(function(){var t=this;return X(this,(function(e){switch(e.label){case 0:return[4,H.a.mixin({input:"text",confirmButtonText:this.translatePipe.transform("NEXT"),showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),progressSteps:["1","2"]}).queue([{title:this.translatePipe.transform("REMOTE_URI"),text:this.translatePipe.transform("FORMAT")+": [ws/wss]://[hostname]",onOpen:function(){H.a.disableConfirmButton(),H.a.getInput().addEventListener("input",(function(t){if(t.target.value){var e=t.target.value,n=-1!==e.indexOf("wss"),r=-1!==e.indexOf("ws");if(!n&&!r)return void H.a.disableConfirmButton();var i="http"+e.slice(n?3:2);try{new URL(i);H.a.enableConfirmButton()}catch(o){H.a.disableConfirmButton()}}else H.a.disableConfirmButton()}))}},this.translatePipe.transform("API_KEY")]).then((function(e){return Q(t,void 0,void 0,(function(){var t=this;return X(this,(function(n){switch(n.label){case 0:return e.value?[4,H()({title:this.translatePipe.transform("SETTING_REMOTE_SERVER"),timer:15e3,onBeforeOpen:function(){return Q(t,void 0,void 0,(function(){var t;return X(this,(function(n){switch(n.label){case 0:return H.a.showLoading(),H.a.stopTimer(),t={host:e.value[0],connectionKey:e.value[1]},[4,this.settingsService.setRemoteSettings(t)];case 1:return n.sent(),[4,this.loadRemoteHostName()];case 2:return n.sent(),H.a.resumeTimer(),[2]}}))}))}})]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}}))}))}))];case 1:return e.sent(),[2]}}))}))},t.prototype.disableIfttt=function(){return Q(this,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disableIftttIntegration()];case 2:return e.sent(),[4,this.loadIftttIntegration()];case 3:return e.sent(),[2]}}))}))},t.prototype.setIfttt=function(){return Q(this,void 0,void 0,(function(){var t,e,n=this;return X(this,(function(r){switch(r.label){case 0:return[4,H()({title:this.translatePipe.transform("PRESS_IFTTT_API_KEY"),input:"text",showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("SUBMIT")})];case 1:return!(t=r.sent()).value||t.dismiss?[2]:(e=t.value,[4,H()({title:this.translatePipe.transform("SETTING_IFTTT"),timer:2e3,onBeforeOpen:function(){return Q(n,void 0,void 0,(function(){return X(this,(function(t){switch(t.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.enableIftttInterration(e)];case 1:return t.sent(),[4,this.loadIftttIntegration()];case 2:return t.sent(),H.a.resumeTimer(),[2]}}))}))}})]);case 2:return r.sent(),[2]}}))}))},t.prototype.updateVertionToLast=function(){return Q(this,void 0,void 0,(function(){var t,e=this;return X(this,(function(n){switch(n.label){case 0:return[4,H()({imageUrl:"./assets/icons/baseline_system_update_black_48dp.png",title:this.translatePipe.transform("UPDATE_TO_THE_LAST_VERSION"),text:this.translatePipe.transform("UPDATING_WARNING"),showLoaderOnConfirm:!0,confirmButtonText:this.translatePipe.transform("UPDATE"),showCancelButton:!1,allowOutsideClick:function(){return!H.a.isLoading()},preConfirm:function(){return Q(e,void 0,void 0,(function(){var t;return X(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,this.settingsService.updateToLastVersion()];case 1:return(t=e.sent()).alreadyUpToDate?[2,t]:[4,this.settingsService.waitForVersionUpdate()];case 2:return[2,e.sent()];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))}})];case 1:return!(t=n.sent()).value||t.dismiss?[2]:t.value.alreadyUpToDate?[4,H()({type:"info",title:""+this.translatePipe.transform("SYSTEM_ALREADY_UP_TO_DATE"),confirmButtonText:"OK"})]:[3,3];case 2:return n.sent(),[2];case 3:return"fail"!==t.value?[3,5]:[4,H()({type:"error",title:""+this.translatePipe.transform("UPDATE_SYSTEM_FAIL"),text:""+this.translatePipe.transform("CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH"),confirmButtonText:"OK"})];case 4:return n.sent(),[2];case 5:return[4,this.loadCurrentVersion()];case 6:return n.sent(),[4,H()({type:"success",title:this.translatePipe.transform("SUCCESSFULLY_UPDATED_TO")+" "+this.currentVersionName,text:this.translatePipe.transform("RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE"),confirmButtonText:"OK"})];case 7:return n.sent(),[2]}}))}))},t.prototype.setLang=function(t){return Q(this,void 0,void 0,(function(){return X(this,(function(e){switch(e.label){case 0:return[4,this.translateService.setLeng(t)];case 1:return e.sent(),[2]}}))}))},t.prototype.installPWA=function(){return Q(this,void 0,void 0,(function(){return X(this,(function(t){return localStorage.setItem("use-sw","true"),window.location.reload(),[2]}))}))},t.prototype.uninstallPWA=function(){return Q(this,void 0,void 0,(function(){var t,e,n,r,i;return X(this,(function(o){switch(o.label){case 0:return localStorage.setItem("use-sw","false"),[4,navigator.serviceWorker.getRegistrations()];case 1:t=o.sent();try{for(e=$(t),n=e.next();!n.done;n=e.next())n.value.unregister()}catch(a){r={error:a}}finally{try{n&&!n.done&&(i=e.return)&&i.call(e)}finally{if(r)throw r.error}}return[2]}}))}))},t.ctorParameters=function(){return[{type:k.a},{type:p.a},{type:U.b},{type:G.a}]},t=Y([Object(r.n)({selector:"cdk-sidebar",template:Z(n("fHOq")).default,styles:[Z(n("bbBv")).default]}),K("design:paramtypes",[k.a,p.a,U.b,G.a])],t)}(),tt=n("vARd"),et=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},nt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},rt=function(t){return t&&t.__esModule?t:{default:t}},it=function(){function t(){}return t.prototype.ngOnInit=function(){},t=et([Object(r.n)({selector:"app-about-dialog",template:rt(n("qyWd")).default,styles:[rt(n("wQ0+")).default]}),nt("design:paramtypes",[])],t)}(),ot=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},at=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},st=function(t){return t&&t.__esModule?t:{default:t}},lt=function(){function t(){}return t.prototype.ngOnInit=function(){},t=ot([Object(r.n)({selector:"app-help-dialog",template:st(n("/En5")).default,styles:[st(n("1s2u")).default]}),at("design:paramtypes",[])],t)}(),ct=n("Gwao"),ut=n("X2iB"),pt=n("dO5I"),dt=n("sB9w"),ht=n("6Qg2"),ft=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},mt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},gt=function(t){return t&&t.__esModule?t:{default:t}},yt=function(){function t(t,e,n,r,i,o,a,s,l,c,u){var p=this;this.elementRef=t,this.snackBar=e,this.dialog=n,this.router=r,this.authService=i,this.minionsService=o,this.devicesService=a,this.operationService=s,this.timingsService=l,this.usersService=c,this.translateService=u,this.isOpen=!1,this.currentUser=null,this.translatePipe=new W.a(this.translateService),i.userProfile.subscribe((function(t){p.profile=t}))}return t.prototype.onClick=function(t,e){e&&(this.elementRef.nativeElement.contains(e)||(this.isOpen=!1))},t.prototype.ngOnInit=function(){},t.prototype.onLogout=function(){var t=this;this.authService.logout().then((function(){t.minionsService.cleanUp(),t.operationService.cleanUp(),t.devicesService.cleanUp(),t.timingsService.cleanUp(),t.usersService.cleanUp(),t.snackBar.open(t.translatePipe.transform("LOGOUT_SUCCESSFULLY"),t.translatePipe.transform("SUBMIT"),{duration:2e3})})).catch((function(){t.snackBar.open(t.translatePipe.transform("LOGOUT_FAIL"),t.translatePipe.transform("SUBMIT"),{duration:2e3})}).bind(this))},t.prototype.openHelpDialog=function(){var t=new U.c;this.dialog.open(lt,t)},t.prototype.openAboutDialog=function(){var t=new U.c;t.autoFocus=!0,this.dialog.open(it,t)},t.ctorParameters=function(){return[{type:r.u},{type:tt.a},{type:U.b},{type:u.a},{type:p.a},{type:ct.a},{type:ut.a},{type:pt.a},{type:dt.a},{type:ht.a},{type:G.a}]},ft([Object(r.G)(),mt("design:type",Object)],t.prototype,"currentUser",void 0),ft([Object(r.A)("document:click",["$event","$event.target"]),mt("design:type",Function),mt("design:paramtypes",[MouseEvent,HTMLElement]),mt("design:returntype",void 0)],t.prototype,"onClick",null),t=ft([Object(r.n)({selector:"cdk-user-menu",template:gt(n("i4nH")).default,styles:[gt(n("F2zX")).default]}),mt("design:paramtypes",[r.u,tt.a,U.b,u.a,p.a,ct.a,ut.a,pt.a,dt.a,ht.a,G.a])],t)}(),vt=n("Nsh5"),bt=n("w+lc"),_t=n("v9Dh"),wt=n("uGex"),xt=n("d2mR");n.d(e,"a",(function(){return Ot}));var Ct=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Ot=function(){function t(){}return t=Ct([Object(r.L)({declarations:[c,m,T,M,B,J,yt,it,lt],imports:[xt.a,i.b,g.a,_t.a,y.b,v.b,b.a,w.a,u.b,O.b,E.a,_.a,x.c,vt.a,C.a,bt.a,tt.b,U.d,wt.a],exports:[c,m,T,M,B,J,yt,it,lt],providers:[],entryComponents:[it,lt]})],t)}()},pnyO:function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var r=n("CcnG"),i=n("o3x0"),o=n("6Qg2"),a=n("PSD3"),s=n.n(a),l=n("NZXM"),c=n("eKg/"),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t,e){return function(n,r){e(n,r,t)}},h=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},f=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},pugT:function(t,e,n){"use strict";var r=n("isby"),i=n("McSo"),o=n("2Bdj"),a=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}();n.d(e,"a",(function(){return s}));var s=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var e;if(!this.closed){var n=this._parentOrParents,s=this._unsubscribe,c=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(var u=0;u=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame((function(){return e.flush(null)}))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(cancelAnimationFrame(n),e.scheduled=void 0)},e}(u.a),d=n("CS9Q"),h=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(u.a),S=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e}(d.a))(E),k=n("pugT"),j=n("60iU");var A=function(t){function e(e,n,r){void 0===r&&(r=0);var i=t.call(this,e)||this;return i.scheduler=n,i.delay=r,i}return c.c(e,t),e.dispatch=function(t){var e=t.notification,n=t.destination;e.observe(n),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.destination.add(this.scheduler.schedule(e.dispatch,this.delay,new D(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(j.a.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(j.a.createError(t)),this.unsubscribe()},e.prototype._complete=function(){this.scheduleMessage(j.a.createComplete()),this.unsubscribe()},e}(w.a),D=function(){return function(t,e){this.notification=t,this.destination=e}}(),T=n("8g8A"),P=n("uMaO"),I=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var i=t.call(this)||this;return i.scheduler=r,i._events=[],i._infiniteTimeWindow=!1,i._bufferSize=e<1?1:e,i._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(i._infiniteTimeWindow=!0,i.next=i.nextInfiniteTimeWindow):i.next=i.nextTimeWindow,i}return c.c(e,t),e.prototype.nextInfiniteTimeWindow=function(e){var n=this._events;n.push(e),n.length>this._bufferSize&&n.shift(),t.prototype.next.call(this,e)},e.prototype.nextTimeWindow=function(e){this._events.push(new R(this._getNow(),e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,o=r.length;if(this.closed)throw new T.a;if(this.isStopped||this.hasError?e=k.a.EMPTY:(this.observers.push(t),e=new P.a(this,t)),i&&t.add(t=new A(t,i)),n)for(var a=0;ae&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(o.a),R=function(){return function(t,e){this.time=t,this.value=e}}();function M(t,e,n){var r;return r=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},function(t){return t.lift(function(t){var e,n,r=t.bufferSize,i=void 0===r?Number.POSITIVE_INFINITY:r,o=t.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=t.refCount,l=t.scheduler,c=0,u=!1,p=!1;return function(t){c++,e&&!u||(u=!1,e=new I(i,a,l),n=t.subscribe({next:function(t){e.next(t)},error:function(t){u=!0,e.error(t)},complete:function(){p=!0,e.complete()}}));var r=e.subscribe(this);this.add((function(){c--,r.unsubscribe(),n&&!p&&s&&0===c&&(n.unsubscribe(),n=void 0,e=void 0)}))}}(r))}}var N=n("dWZg"),F=n("Fzqc"),L=n("YlbQ");n.d(e,"c",(function(){return U})),n.d(e,"a",(function(){return G})),n.d(e,"d",(function(){return Q})),n.d(e,"b",(function(){return X})),n.d(e,"f",(function(){return Z})),n.d(e,"e",(function(){return $}));var V=new r.E("VIRTUAL_SCROLL_STRATEGY"),B=function(){function t(t,e,n){this._scrolledIndexChange=new o.a,this.scrolledIndexChange=this._scrolledIndexChange.pipe(Object(g.a)()),this._viewport=null,this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=n}return t.prototype.attach=function(t){this._viewport=t,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},t.prototype.updateItemAndBufferSize=function(t,e,n){if(n0&&(r.end=Math.min(o,r.end+c),r.start=Math.max(0,Math.floor(e-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(r),this._viewport.setRenderedContentOffset(this._itemSize*r.start),this._scrolledIndexChange.next(Math.floor(e))}},t}();function z(t){return t._scrollStrategy}var H=function(){function t(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new B(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(t.prototype,"itemSize",{get:function(){return this._itemSize},set:function(t){this._itemSize=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(t){this._minBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(t){this._maxBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},t.decorators=[{type:r.t,args:[{selector:"cdk-virtual-scroll-viewport[itemSize]",providers:[{provide:V,useFactory:z,deps:[Object(r.vb)((function(){return t}))]}]}]}],t.propDecorators={itemSize:[{type:r.G}],minBufferPx:[{type:r.G}],maxBufferPx:[{type:r.G}]},t}(),U=function(){function t(t,e){this._ngZone=t,this._platform=e,this._scrolled=new o.a,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe((function(){return e._scrolled.next(t)})))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new s.a((function(n){e._globalSubscription||e._addGlobalListener();var r=t>0?e._scrolled.pipe(Object(y.a)(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}})):Object(a.a)()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach((function(e,n){return t.deregister(n)})),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(Object(v.a)((function(t){return!t||n.indexOf(t)>-1})))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach((function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)})),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular((function(){return Object(l.a)(window.document,"scroll").subscribe((function(){return t._scrolled.next()}))}))},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:N.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(r.Q),Object(r.xb)(N.a))},token:t,providedIn:"root"}),t}();new r.R,new r.fb,r.Q,N.a;var G=function(){function t(t,e,n,r){var i=this;this.elementRef=t,this.scrollDispatcher=e,this.ngZone=n,this.dir=r,this._destroyed=new o.a,this._elementScrolled=new s.a((function(t){return i.ngZone.runOutsideAngular((function(){return Object(l.a)(i.elementRef.nativeElement,"scroll").pipe(Object(b.a)(i._destroyed)).subscribe(t)}))}))}return t.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},t.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},t.prototype.elementScrolled=function(){return this._elementScrolled},t.prototype.getElementRef=function(){return this.elementRef},t.prototype.scrollTo=function(t){var e=this.elementRef.nativeElement,n=this.dir&&"rtl"==this.dir.value;t.left=null==t.left?n?t.end:t.start:t.left,t.right=null==t.right?n?t.start:t.end:t.right,null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),n&&Object(N.d)()!=N.c.NORMAL?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),Object(N.d)()==N.c.INVERTED?t.left=t.right:Object(N.d)()==N.c.NEGATED&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)},t.prototype._applyScrollToOptions=function(t){var e=this.elementRef.nativeElement;Object(N.g)()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))},t.prototype.measureScrollOffset=function(t){var e=this.elementRef.nativeElement;if("top"==t)return e.scrollTop;if("bottom"==t)return e.scrollHeight-e.clientHeight-e.scrollTop;var n=this.dir&&"rtl"==this.dir.value;return"start"==t?t=n?"right":"left":"end"==t&&(t=n?"left":"right"),n&&Object(N.d)()==N.c.INVERTED?"left"==t?e.scrollWidth-e.clientWidth-e.scrollLeft:e.scrollLeft:n&&Object(N.d)()==N.c.NEGATED?"left"==t?e.scrollLeft+e.scrollWidth-e.clientWidth:-e.scrollLeft:"left"==t?e.scrollLeft:e.scrollWidth-e.clientWidth-e.scrollLeft},t.decorators=[{type:r.t,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],t.ctorParameters=function(){return[{type:r.u},{type:U},{type:r.Q},{type:F.b,decorators:[{type:r.R}]}]},t}();var q="undefined"!=typeof requestAnimationFrame?h:f.a,W=function(t){function e(e,n,r,i,a,l){var c=t.call(this,e,l,r,a)||this;if(c.elementRef=e,c._changeDetectorRef=n,c._scrollStrategy=i,c._detachedSubject=new o.a,c._renderedRangeSubject=new o.a,c.orientation="vertical",c.scrolledIndexChange=new s.a((function(t){return c._scrollStrategy.scrolledIndexChange.subscribe((function(e){return Promise.resolve().then((function(){return c.ngZone.run((function(){return t.next(e)}))}))}))})),c.renderedRangeStream=c._renderedRangeSubject.asObservable(),c._totalContentSizeTransform="",c._totalContentSize=0,c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],!i)throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');return c}return Object(c.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._measureViewportSize(),e._scrollStrategy.attach(e),e.elementScrolled().pipe(Object(_.a)(null),Object(y.a)(0,q)).subscribe((function(){return e._scrollStrategy.onContentScrolled()})),e._markChangeDetectionNeeded()}))}))},e.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),t.prototype.ngOnDestroy.call(this)},e.prototype.attach=function(t){var e=this;if(this._forOf)throw Error("CdkVirtualScrollViewport is already attached.");this.ngZone.runOutsideAngular((function(){e._forOf=t,e._forOf.dataStream.pipe(Object(b.a)(e._detachedSubject)).subscribe((function(t){var n=t.length;n!==e._dataLength&&(e._dataLength=n,e._scrollStrategy.onDataLengthChanged()),e._doChangeDetection()}))}))},e.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},e.prototype.getDataLength=function(){return this._dataLength},e.prototype.getViewportSize=function(){return this._viewportSize},e.prototype.getRenderedRange=function(){return this._renderedRange},e.prototype.setTotalContentSize=function(t){if(this._totalContentSize!==t){this._totalContentSize=t;var e="horizontal"==this.orientation?"X":"Y";this._totalContentSizeTransform="scale"+e+"("+this._totalContentSize+")",this._markChangeDetectionNeeded()}},e.prototype.setRenderedRange=function(t){var e,n,r=this;e=this._renderedRange,n=t,(e.start!=n.start||e.end!=n.end)&&(this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded((function(){return r._scrollStrategy.onContentRendered()})))},e.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},e.prototype.setRenderedContentOffset=function(t,e){var n=this;void 0===e&&(e="to-start");var r=this.dir&&"rtl"==this.dir.value,i="horizontal"==this.orientation,o=i?"X":"Y",a="translate"+o+"("+Number((i&&r?-1:1)*t)+"px)";this._renderedContentOffset=t,"to-end"===e&&(a+=" translate"+o+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=a&&(this._renderedContentTransform=a,this._markChangeDetectionNeeded((function(){n._renderedContentOffsetNeedsRewrite?(n._renderedContentOffset-=n.measureRenderedContentSize(),n._renderedContentOffsetNeedsRewrite=!1,n.setRenderedContentOffset(n._renderedContentOffset)):n._scrollStrategy.onRenderedOffsetChanged()})))},e.prototype.scrollToOffset=function(t,e){void 0===e&&(e="auto");var n={behavior:e};"horizontal"===this.orientation?n.start=t:n.top=t,this.scrollTo(n)},e.prototype.scrollToIndex=function(t,e){void 0===e&&(e="auto"),this._scrollStrategy.scrollToIndex(t,e)},e.prototype.measureScrollOffset=function(e){return t.prototype.measureScrollOffset.call(this,e||("horizontal"===this.orientation?"start":"top"))},e.prototype.measureRenderedContentSize=function(){var t=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?t.offsetWidth:t.offsetHeight},e.prototype.measureRangeSize=function(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0},e.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},e.prototype._measureViewportSize=function(){var t=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?t.clientWidth:t.clientHeight},e.prototype._markChangeDetectionNeeded=function(t){var e=this;t&&this._runAfterChangeDetection.push(t),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._doChangeDetection()}))})))},e.prototype._doChangeDetection=function(){var t=this;this._isChangeDetectionPending=!1,this.ngZone.run((function(){return t._changeDetectorRef.markForCheck()})),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform;var e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(var n=0,r=e;n
    ',styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:0}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:0}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}"],host:{class:"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":'orientation === "horizontal"',"[class.cdk-virtual-scroll-orientation-vertical]":'orientation !== "horizontal"'},encapsulation:r.qb.None,changeDetection:r.j.OnPush,providers:[{provide:G,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:r.Q},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[V]}]},{type:F.b,decorators:[{type:r.R}]},{type:U}]},e.propDecorators={orientation:[{type:r.G}],scrolledIndexChange:[{type:r.S}],_contentWrapper:[{type:r.nb,args:["contentWrapper"]}]},e}(G);function Y(t,e){var n=e;if(!n.getBoundingClientRect)return 0;var r=n.getBoundingClientRect();return"horizontal"==t?r.width:r.height}var K=function(){function t(t,e,n,r,i){var a=this;this._viewContainerRef=t,this._template=e,this._differs=n,this._viewport=r,this.viewChange=new o.a,this._dataSourceChanges=new o.a,this.cdkVirtualForTemplateCacheSize=20,this.dataStream=this._dataSourceChanges.pipe(Object(_.a)(null),(function(t){return t.lift(new x)}),Object(O.a)((function(t){var e=t[0],n=t[1];return a._changeDataSource(e,n)})),M(1)),this._differ=null,this._templateCache=[],this._needsUpdate=!1,this._destroyed=new o.a,this.dataStream.subscribe((function(t){a._data=t,a._onRenderedDataChange()})),this._viewport.renderedRangeStream.pipe(Object(b.a)(this._destroyed)).subscribe((function(t){a._renderedRange=t,i.run((function(){return a.viewChange.next(a._renderedRange)})),a._onRenderedDataChange()})),this._viewport.attach(this)}return Object.defineProperty(t.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(t){this._cdkVirtualForOf=t;var e=Object(L.e)(t)?t:new L.a(t instanceof s.a?t:Array.prototype.slice.call(t||[]));this._dataSourceChanges.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(t){var e=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?function(n,r){return t(n+(e._renderedRange?e._renderedRange.start:0),r)}:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplate",{set:function(t){t&&(this._needsUpdate=!0,this._template=t)},enumerable:!0,configurable:!0}),t.prototype.measureRangeSize=function(t,e){if(t.start>=t.end)return 0;if(t.startthis._renderedRange.end)throw Error("Error: attempted to measure an item that isn't rendered.");for(var n=t.start-this._renderedRange.start,r=0,i=t.end-t.start;i--;)for(var o=this._viewContainerRef.get(i+n),a=o?o.rootNodes.length:0;a--;)r+=Y(e,o.rootNodes[a]);return r},t.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}},t.prototype.ngOnDestroy=function(){this._viewport.detach(),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete();for(var t=0,e=this._templateCache;t0?this._change.pipe(Object(y.a)(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:N.a},{type:r.Q}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(N.a),Object(r.xb)(r.Q))},token:t,providedIn:"root"}),t}();var $={provide:Z,deps:[[new r.R,new r.fb,Z],N.a,r.Q],useFactory:function(t,e,n){return t||new Z(e,n)}}},"qO/w":function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n
    \r\n \x3c!--
    \r\n \r\n
    --\x3e\r\n \x3c!--
    \r\n \r\n
    --\x3e\r\n \r\n \r\n
    \r\n\r\n\x3c!--
    --\x3e'},qyWd:function(t,e,n){"use strict";n.r(e),e.default='

    CASAnet project

    \r\n
    \r\n

    Made with ❤️ by Kastnet

    \r\n Casanet on GitHub\r\n
    '},rOSL:function(t,e,n){"use strict";n.r(e),e.default='
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{entry.minionName}}\r\n
    \r\n {{entry.date}}\r\n
    \r\n \r\n
      \r\n
    • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    '},rPjj:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("mrSG"),i=function(t){function e(e,n,r){var i=t.call(this)||this;return i.parent=e,i.outerValue=n,i.outerIndex=r,i.index=0,i}return r.c(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("FFOo").a)},sB9w:function(t,e,n){"use strict";n.d(e,"a",(function(){return h}));var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("Onty"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isTimingsRetrived=!1,this.timings=[],this.timingsFeed=new i.a(this.timings),this.timingActivatedFeed=new i.a(void 0),this.retriveData()}return t.prototype.loadTimings=function(){return u(this,void 0,void 0,(function(){var t,e;return p(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/timings",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort((function(t,e){return t.timingName enter",[Object(i.l)({opacity:0,transform:"translateY(-100%)"}),Object(i.e)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},x=function(){};function C(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var O=0,E=function(){function t(){this.align="start",this.id="mat-hint-"+O++}return t.decorators=[{type:r.t,args:[{selector:"mat-hint",host:{class:"mat-hint","[class.mat-right]":'align == "end"',"[attr.id]":"id","[attr.align]":"null"}}]}],t.propDecorators={align:[{type:r.G}],id:[{type:r.G}]},t}(),S=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-label"}]}],t}(),k=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-placeholder"}]}],t}(),j=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matPrefix]"}]}],t}(),A=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matSuffix]"}]}],t}(),D=0,T=function(t){this._elementRef=t},P=Object(l.u)(T,"primary"),I=new r.E("MAT_FORM_FIELD_DEFAULT_OPTIONS"),R=function(t){function e(e,n,r,i,o,a,s,l){var u=t.call(this,e)||this;return u._elementRef=e,u._changeDetectorRef=n,u._dir=i,u._defaults=o,u._platform=a,u._ngZone=s,u._outlineGapCalculationNeededImmediately=!1,u._outlineGapCalculationNeededOnStable=!1,u._destroyed=new c.a,u._showAlwaysAnimate=!1,u._subscriptAnimationState="",u._hintLabel="",u._hintLabelId="mat-hint-"+D++,u._labelId="mat-form-field-label-"+D++,u._labelOptions=r||{},u.floatLabel=u._labelOptions.float||"auto",u._animationsEnabled="NoopAnimations"!==l,u.appearance=o&&o.appearance?o.appearance:"legacy",u}return Object(o.c)(e,t),Object.defineProperty(e.prototype,"appearance",{get:function(){return this._appearance},set:function(t){var e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&this._updateOutlineGapOnStable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_canLabelFloat",{get:function(){return"never"!==this.floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatLabel",{get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._connectionContainerRef||this._elementRef},e.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild();var e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+e.controlType),e.stateChanges.pipe(Object(d.a)(null)).subscribe((function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Object(h.a)(this._destroyed)).subscribe((function(){return t._changeDetectorRef.markForCheck()}));var n=this._ngZone;n&&n.runOutsideAngular((function(){n.onStable.asObservable().pipe(Object(h.a)(t._destroyed)).subscribe((function(){t._outlineGapCalculationNeededOnStable&&t.updateOutlineGap()}))})),Object(u.a)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe((function(){t._updateOutlineGapOnStable(),t._changeDetectorRef.markForCheck()})),this._hintChildren.changes.pipe(Object(d.a)(null)).subscribe((function(){t._processHints(),t._changeDetectorRef.markForCheck()})),this._errorChildren.changes.pipe(Object(d.a)(null)).subscribe((function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})),this._dir&&this._dir.change.pipe(Object(h.a)(this._destroyed)).subscribe((function(){return t.updateOutlineGap()}))},e.prototype.ngAfterContentChecked=function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()},e.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},e.prototype._hasPlaceholder=function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)},e.prototype._hasLabel=function(){return!!this._labelChild},e.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)},e.prototype._hideControlPlaceholder=function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()},e.prototype._hasFloatingLabel=function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()},e.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},e.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,Object(p.a)(this._label.nativeElement,"transitionend").pipe(Object(f.a)(1)).subscribe((function(){t._showAlwaysAnimate=!1}))),this.floatLabel="always",this._changeDetectorRef.markForCheck())},e.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},e.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},e.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach((function(r){if("start"===r.align){if(t||n.hintLabel)throw C("start");t=r}else if("end"===r.align){if(e)throw C("end");e=r}}))},e.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find((function(t){return"start"===t.align})):null,n=this._hintChildren?this._hintChildren.find((function(t){return"end"===t.align})):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map((function(t){return t.id})));this._control.setDescribedByIds(t)}},e.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},e.prototype.updateOutlineGap=function(){var t=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&(!this._platform||this._platform.isBrowser))if(document.documentElement.contains(this._elementRef.nativeElement)){var e=0,n=0,r=this._connectionContainerRef.nativeElement,i=r.querySelectorAll(".mat-form-field-outline-start"),o=r.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=r.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),l=this._getStartEnd(t.children[0].getBoundingClientRect()),c=0,u=0,p=t.children;u0?.75*c+10:0}for(var d=0;d
    {{hintLabel}}
    ',styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none} .mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button,.mat-input-element::-webkit-inner-spin-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:0 0}@media (-ms-high-contrast:active){.mat-focused select.mat-input-element::-ms-value{color:inherit}}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px} .mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px} .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none} .mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}"],animations:[w.transitionMessages],host:{class:"mat-form-field","[class.mat-form-field-appearance-standard]":'appearance == "standard"',"[class.mat-form-field-appearance-fill]":'appearance == "fill"',"[class.mat-form-field-appearance-outline]":'appearance == "outline"',"[class.mat-form-field-appearance-legacy]":'appearance == "legacy"',"[class.mat-form-field-invalid]":"_control.errorState","[class.mat-form-field-can-float]":"_canLabelFloat","[class.mat-form-field-should-float]":"_shouldLabelFloat()","[class.mat-form-field-has-label]":"_hasFloatingLabel()","[class.mat-form-field-hide-placeholder]":"_hideControlPlaceholder()","[class.mat-form-field-disabled]":"_control.disabled","[class.mat-form-field-autofilled]":"_control.autofilled","[class.mat-focused]":"_control.focused","[class.mat-accent]":'color == "accent"',"[class.mat-warn]":'color == "warn"',"[class.ng-untouched]":'_shouldForward("untouched")',"[class.ng-touched]":'_shouldForward("touched")',"[class.ng-pristine]":'_shouldForward("pristine")',"[class.ng-dirty]":'_shouldForward("dirty")',"[class.ng-valid]":'_shouldForward("valid")',"[class.ng-invalid]":'_shouldForward("invalid")',"[class.ng-pending]":'_shouldForward("pending")',"[class._mat-animation-noopable]":"!_animationsEnabled"},inputs:["color"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[l.e]}]},{type:a.b,decorators:[{type:r.R}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[I]}]},{type:m.a},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[g.a]}]}]},e.propDecorators={appearance:[{type:r.G}],hideRequiredMarker:[{type:r.G}],hintLabel:[{type:r.G}],floatLabel:[{type:r.G}],underlineRef:[{type:r.nb,args:["underline"]}],_connectionContainerRef:[{type:r.nb,args:["connectionContainer"]}],_inputContainerRef:[{type:r.nb,args:["inputContainer"]}],_label:[{type:r.nb,args:["label"]}],_control:[{type:r.r,args:[x]}],_placeholderChild:[{type:r.r,args:[k]}],_labelChild:[{type:r.r,args:[S]}],_errorChildren:[{type:r.s,args:[_]}],_hintChildren:[{type:r.s,args:[E]}],_prefixChildren:[{type:r.s,args:[j]}],_suffixChildren:[{type:r.s,args:[A]}]},e}(P),M=function(){function t(){}return t.decorators=[{type:r.L,args:[{declarations:[_,R,E,S,k,j,A],imports:[y.b,v.b],exports:[_,R,E,S,k,j,A]}]}],t}()},"t/Na":function(t,e,n){"use strict";n.d(e,"a",(function(){return k})),n.d(e,"b",(function(){return Y})),n.d(e,"c",(function(){return g}));var r=n("mrSG"),i=n("CcnG"),o=n("F/XL"),a=n("6blF"),s=n("Phjn"),l=n("VnD/"),c=n("67Y/"),u=n("Ip0R"),p=function(){},d=function(){},h=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach((function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}}))}:function(){e.headers=new Map,Object.keys(t).forEach((function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))}))}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach((function(t){return e.applyUpdate(t)})),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach((function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))}))},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var i=("a"===t.op?this.headers.get(e):void 0)||[];i.push.apply(i,Object(r.g)(n)),this.headers.set(e,i);break;case"d":var o=t.value;if(o){var a=this.headers.get(e);if(!a)return;0===(a=a.filter((function(t){return-1===o.indexOf(t)}))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach((function(n){return t(e.normalizedNames.get(n),e.headers.get(n))}))},t}(),f=function(){function t(){}return t.prototype.encodeKey=function(t){return m(t)},t.prototype.encodeValue=function(t){return m(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function m(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var g=function(){function t(t){var e,n,i,o=this;if(void 0===t&&(t={}),this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,i=new Map,e.length>0&&e.split("&").forEach((function(t){var e=t.indexOf("="),o=Object(r.f)(-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],2),a=o[0],s=o[1],l=i.get(a)||[];l.push(s),i.set(a,l)})),i)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach((function(e){var n=t.fromObject[e];o.map.set(e,Array.isArray(n)?n:[n])}))):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map((function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map((function(e){return n+"="+t.encoder.encodeValue(e)})).join("&")})).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach((function(e){return t.map.set(e,t.cloneFrom.map.get(e))})),this.updates.forEach((function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}})),this.cloneFrom=this.updates=null)},t}();function y(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function b(t){return"undefined"!=typeof FormData&&t instanceof FormData}var _,w=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new h),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var a=e.indexOf("?"),s=-1===a?"?":a=200&&this.status<300},C=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.ResponseHeader,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),O=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.Response,n.body=void 0!==e.body?e.body:null,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),E=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.status>=200&&n.status<300?n.message="Http failure during parsing for "+(e.url||"(unknown url)"):n.message="Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(r.c)(e,t),e}(x);function S(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var k=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof w)r=t;else{var a=void 0;a=n.headers instanceof h?n.headers:new h(n.headers);var u=void 0;n.params&&(u=n.params instanceof g?n.params:new g({fromObject:n.params})),r=new w(t,e,void 0!==n.body?n.body:null,{headers:a,params:u,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var p=Object(o.a)(r).pipe(Object(s.a)((function(t){return i.handler.handle(t)})));if(t instanceof w||"events"===n.observe)return p;var d=p.pipe(Object(l.a)((function(t){return t instanceof O})));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return d.pipe(Object(c.a)((function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body})));case"blob":return d.pipe(Object(c.a)((function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body})));case"text":return d.pipe(Object(c.a)((function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body})));case"json":default:return d.pipe(Object(c.a)((function(t){return t.body})))}case"response":return d;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new g).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,S(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,S(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,S(n,e))},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[p])],t)}(),j=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),A=new i.E("HTTP_INTERCEPTORS"),D=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t=Object(r.b)([Object(i.D)()],t)}(),T=0,P=function(){},I=function(){function t(t,e){this.callbackMap=t,this.document=e}return t.prototype.nextCallback=function(){return"ng_jsonp_callback_"+T++},t.prototype.handle=function(t){var e=this;if("JSONP"!==t.method)throw new Error("JSONP requests must use JSONP request method.");if("json"!==t.responseType)throw new Error("JSONP requests must use Json response type.");return new a.a((function(n){var r=e.nextCallback(),i=t.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/,"="+r+"$1"),o=e.document.createElement("script");o.src=i;var a=null,s=!1,l=!1;e.callbackMap[r]=function(t){delete e.callbackMap[r],l||(a=t,s=!0)};var c=function(){o.parentNode&&o.parentNode.removeChild(o),delete e.callbackMap[r]},u=function(t){l||(c(),s?(n.next(new O({body:a,status:200,statusText:"OK",url:i})),n.complete()):n.error(new E({url:i,status:0,statusText:"JSONP Error",error:new Error("JSONP injected script did not invoke callback.")})))},p=function(t){l||(c(),n.error(new E({error:t,status:0,statusText:"JSONP Error",url:i})))};return o.addEventListener("load",u),o.addEventListener("error",p),e.document.body.appendChild(o),n.next({type:_.Sent}),function(){l=!0,o.removeEventListener("load",u),o.removeEventListener("error",p),c()}}))},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(u.c)),Object(r.d)("design:paramtypes",[P,Object])],t)}(),R=function(){function t(t){this.jsonp=t}return t.prototype.intercept=function(t,e){return"JSONP"===t.method?this.jsonp.handle(t):e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[I])],t)}(),M=/^\)\]\}',?\n/;var N=function(){},F=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[])],t)}(),L=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new a.a((function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((function(t,e){return r.setRequestHeader(t,e.join(","))})),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var a=t.serializeBody(),s=null,l=function(){if(null!==s)return s;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new h(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return s=new C({headers:i,status:e,statusText:n,url:o})},c=function(){var e=l(),i=e.headers,o=e.status,a=e.statusText,s=e.url,c=null;204!==o&&(c=void 0===r.response?r.responseText:r.response),0===o&&(o=c?200:0);var u=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof c){var p=c;c=c.replace(M,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=p,u&&(u=!1,c={error:d,text:c})}}u?(n.next(new O({body:c,headers:i,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new E({error:c,headers:i,status:o,statusText:a,url:s||void 0}))},u=function(t){var e=l().url,i=new E({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error",url:e||void 0});n.error(i)},p=!1,d=function(e){p||(n.next(l()),p=!0);var i={type:_.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},f=function(t){var e={type:_.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",c),r.addEventListener("error",u),t.reportProgress&&(r.addEventListener("progress",d),null!==a&&r.upload&&r.upload.addEventListener("progress",f)),r.send(a),n.next({type:_.Sent}),function(){r.removeEventListener("error",u),r.removeEventListener("load",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==a&&r.upload&&r.upload.removeEventListener("progress",f)),r.abort()}}))},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[N])],t)}(),V=new i.E("XSRF_COOKIE_NAME"),B=new i.E("XSRF_HEADER_NAME"),z=function(){},H=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Object(u.t)(t,this.cookieName),this.lastCookieString=t),this.lastToken},t=Object(r.b)([Object(i.D)(),Object(r.e)(0,Object(i.C)(u.c)),Object(r.e)(1,Object(i.C)(i.U)),Object(r.e)(2,Object(i.C)(V)),Object(r.d)("design:paramtypes",[Object,String,String])],t)}(),U=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(B)),Object(r.d)("design:paramtypes",[z,String])],t)}(),G=function(){function t(t,e){this.backend=t,this.injector=e,this.chain=null}return t.prototype.handle=function(t){if(null===this.chain){var e=this.injector.get(A,[]);this.chain=e.reduceRight((function(t,e){return new j(t,e)}),this.backend)}return this.chain.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[d,i.F])],t)}();function q(){return"object"==typeof window?window:{}}var W=function(){function t(){}var e;return e=t,t.disable=function(){return{ngModule:e,providers:[{provide:U,useClass:D}]}},t.withOptions=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[t.cookieName?{provide:V,useValue:t.cookieName}:[],t.headerName?{provide:B,useValue:t.headerName}:[]]}},t=e=Object(r.b)([Object(i.L)({providers:[U,{provide:A,useExisting:U,multi:!0},{provide:z,useClass:H},{provide:V,useValue:"XSRF-TOKEN"},{provide:B,useValue:"X-XSRF-TOKEN"}]})],t)}(),Y=function(){function t(){}return t=Object(r.b)([Object(i.L)({imports:[W.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})],providers:[k,{provide:p,useClass:G},L,{provide:d,useExisting:L},F,{provide:N,useExisting:F}]})],t)}();!function(){function t(){}t=Object(r.b)([Object(i.L)({providers:[I,{provide:P,useFactory:q},{provide:A,useClass:R,multi:!0}]})],t)}()},t9fZ:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n("mrSG"),i=n("FFOo"),o=n("b7mW"),a=n("G5J1");function s(t){return function(e){return 0===t?Object(a.b)():e.lift(new l(t))}}var l=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.total))},t}(),c=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(i.a)},u7R8:function(t,e,n){"use strict";n.d(e,"a",(function(){return v}));var r=n("mrSG"),i=n("lLAP"),o=n("n6gG"),a=n("YlbQ"),s=n("CcnG"),l=n("gIcY"),c=n("Wf4p"),u=new s.E("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),p={provide:l.g,useExisting:Object(s.vb)((function(){return m})),multi:!0},d=function(){},h=0,f=function(t,e){this.source=t,this.value=e},m=function(){function t(t,e){this._changeDetector=t,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=function(){},this._onTouched=function(){},this._name="mat-button-toggle-group-"+h++,this.valueChange=new s.x,this.change=new s.x,this.appearance=e&&e.appearance?e.appearance:"standard"}return Object.defineProperty(t.prototype,"name",{get:function(){return this._name},set:function(t){var e=this;this._name=t,this._buttonToggles&&this._buttonToggles.forEach((function(t){t.name=e._name,t._markForCheck()}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){var t=this._selectionModel?this._selectionModel.selected:[];return this.multiple?t.map((function(t){return t.value})):t[0]?t[0].value:void 0},set:function(t){this._setSelectionByValue(t),this.valueChange.emit(this.value)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){var t=this._selectionModel.selected;return this.multiple?t:t[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"multiple",{get:function(){return this._multiple},set:function(t){this._multiple=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(o.c)(t),this._buttonToggles&&this._buttonToggles.forEach((function(t){return t._markForCheck()}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._selectionModel=new a.c(this.multiple,void 0,!1)},t.prototype.ngAfterContentInit=function(){var t;(t=this._selectionModel).select.apply(t,this._buttonToggles.filter((function(t){return t.checked})))},t.prototype.writeValue=function(t){this.value=t,this._changeDetector.markForCheck()},t.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._emitChangeEvent=function(){var t=this.selected,e=Array.isArray(t)?t[t.length-1]:t,n=new f(e,this.value);this._controlValueAccessorChangeFn(n.value),this.change.emit(n)},t.prototype._syncButtonToggle=function(t,e,n){void 0===n&&(n=!1),this.multiple||!this.selected||t.checked||(this.selected.checked=!1),e?this._selectionModel.select(t):this._selectionModel.deselect(t),n&&this._emitChangeEvent(),this.valueChange.emit(this.value)},t.prototype._isSelected=function(t){return this._selectionModel.isSelected(t)},t.prototype._isPrechecked=function(t){return void 0!==this._rawValue&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some((function(e){return null!=t.value&&e===t.value})):t.value===this._rawValue)},t.prototype._setSelectionByValue=function(t){var e=this;if(this._rawValue=t,this._buttonToggles)if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach((function(t){return e._selectValue(t)}))}else this._clearSelection(),this._selectValue(t)},t.prototype._clearSelection=function(){this._selectionModel.clear(),this._buttonToggles.forEach((function(t){return t.checked=!1}))},t.prototype._selectValue=function(t){var e=this._buttonToggles.find((function(e){return null!=e.value&&e.value===t}));e&&(e.checked=!0,this._selectionModel.select(e))},t.decorators=[{type:s.t,args:[{selector:"mat-button-toggle-group",providers:[p,{provide:d,useExisting:t}],host:{role:"group",class:"mat-button-toggle-group","[attr.aria-disabled]":"disabled","[class.mat-button-toggle-vertical]":"vertical","[class.mat-button-toggle-group-appearance-standard]":'appearance === "standard"'},exportAs:"matButtonToggleGroup"}]}],t.ctorParameters=function(){return[{type:s.k},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},t.propDecorators={_buttonToggles:[{type:s.s,args:[Object(s.vb)((function(){return y}))]}],appearance:[{type:s.G}],name:[{type:s.G}],vertical:[{type:s.G}],value:[{type:s.G}],valueChange:[{type:s.S}],multiple:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},t}(),g=function(){},y=function(t){function e(e,n,r,i,o,a){var l=t.call(this)||this;l._changeDetectorRef=n,l._elementRef=r,l._focusMonitor=i,l._isSingleSelector=!1,l._checked=!1,l.ariaLabelledby=null,l._disabled=!1,l.change=new s.x;var c=Number(o);return l.tabIndex=c||0===c?c:null,l.buttonToggleGroup=e,l.appearance=a&&a.appearance?a.appearance:"standard",l}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"buttonId",{get:function(){return this.id+"-button"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"appearance",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance},set:function(t){this._appearance=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"checked",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked},set:function(t){var e=Object(o.c)(t);e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled},set:function(t){this._disabled=Object(o.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isSingleSelector=this.buttonToggleGroup&&!this.buttonToggleGroup.multiple,this._type=this._isSingleSelector?"radio":"checkbox",this.id=this.id||"mat-button-toggle-"+h++,this._isSingleSelector&&(this.name=this.buttonToggleGroup.name),this.buttonToggleGroup&&this.buttonToggleGroup._isPrechecked(this)&&(this.checked=!0),this._focusMonitor.monitor(this._elementRef,!0)},e.prototype.ngOnDestroy=function(){var t=this,e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&Promise.resolve().then((function(){return e._syncButtonToggle(t,!1)}))},e.prototype.focus=function(){this._buttonElement.nativeElement.focus()},e.prototype._onButtonClick=function(){var t=!!this._isSingleSelector||!this._checked;t!==this._checked&&(this._checked=t,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new f(this,this.value))},e.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},e.decorators=[{type:s.n,args:[{selector:"mat-button-toggle",template:'
    ',styles:[".mat-button-toggle-group,.mat-button-toggle-standalone{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:transparent}@media (-ms-high-contrast:active){.mat-button-toggle-group,.mat-button-toggle-standalone{outline:solid 1px}}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border-radius:4px}@media (-ms-high-contrast:active){.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}@media (-ms-high-contrast:active){.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media (-ms-high-contrast:active){.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.5}}@media (hover:none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px;padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px}@media (-ms-high-contrast:active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0}}@media (-ms-high-contrast:active){.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 48px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:0 0;color:inherit;padding:0;margin:0;font:inherit;outline:0;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:s.qb.None,exportAs:"matButtonToggle",changeDetection:s.j.OnPush,inputs:["disableRipple"],host:{"[class.mat-button-toggle-standalone]":"!buttonToggleGroup","[class.mat-button-toggle-checked]":"checked","[class.mat-button-toggle-disabled]":"disabled","[class.mat-button-toggle-appearance-standard]":'appearance === "standard"',class:"mat-button-toggle","[attr.tabindex]":"-1","[attr.id]":"id","(focus)":"focus()"}}]}],e.ctorParameters=function(){return[{type:m,decorators:[{type:s.R}]},{type:s.k},{type:s.u},{type:i.e},{type:String,decorators:[{type:s.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},e.propDecorators={ariaLabel:[{type:s.G,args:["aria-label"]}],ariaLabelledby:[{type:s.G,args:["aria-labelledby"]}],_buttonElement:[{type:s.nb,args:["button"]}],id:[{type:s.G}],name:[{type:s.G}],value:[{type:s.G}],tabIndex:[{type:s.G}],appearance:[{type:s.G}],checked:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},e}(Object(c.v)(g)),v=function(){function t(){}return t.decorators=[{type:s.L,args:[{imports:[c.h,c.q],exports:[c.h,m,y],declarations:[m,y]}]}],t}()},uGex:function(t,e,n){"use strict";n.d(e,"a",(function(){return F}));var r=n("ihYY"),i=n("mrSG"),o=n("lLAP"),a=n("Fzqc"),s=n("n6gG"),l=n("YlbQ"),c=n("YSh2"),u=n("eDkP"),p=n("qAlS"),d=n("CcnG"),h=n("gIcY"),f=n("Wf4p"),m=n("seP3"),g=n("K9Ia"),y=n("lYZG"),v=n("p0ib"),b=n("t9fZ"),_=n("15JJ"),w=n("VnD/"),x=n("67Y/"),C=n("ad02"),O=n("ny24"),E=n("p0Sj"),S=n("Ip0R"),k={transformPanelWrap:Object(r.n)("transformPanelWrap",[Object(r.m)("* => void",Object(r.i)("@transformPanel",[Object(r.f)()],{optional:!0}))]),transformPanel:Object(r.n)("transformPanel",[Object(r.k)("void",Object(r.l)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),Object(r.k)("showing",Object(r.l)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),Object(r.k)("showing-multiple",Object(r.l)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Object(r.m)("void => *",Object(r.e)("120ms cubic-bezier(0, 0, 0.2, 1)")),Object(r.m)("* => void",Object(r.e)("100ms 25ms linear",Object(r.l)({opacity:0})))]),fadeInContent:Object(r.n)("fadeInContent",[Object(r.k)("showing",Object(r.l)({opacity:1})),Object(r.m)("void => showing",[Object(r.l)({opacity:0}),Object(r.e)("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};k.transformPanel,k.fadeInContent;var j=0,A=0,D=new d.E("mat-select-scroll-strategy");var T={provide:D,deps:[u.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},P=function(t,e){this.source=t,this.value=e},I=function(t,e,n,r,i){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=r,this.ngControl=i},R=Object(f.v)(Object(f.y)(Object(f.w)(Object(f.x)(I)))),M=function(){function t(){}return t.decorators=[{type:d.t,args:[{selector:"mat-select-trigger"}]}],t}(),N=function(t){function e(e,n,r,i,o,a,s,l,c,u,p,h,f){var m=t.call(this,o,i,s,l,u)||this;return m._viewportRuler=e,m._changeDetectorRef=n,m._ngZone=r,m._dir=a,m._parentFormField=c,m.ngControl=u,m._liveAnnouncer=f,m._panelOpen=!1,m._required=!1,m._scrollTop=0,m._multiple=!1,m._compareWith=function(t,e){return t===e},m._uid="mat-select-"+j++,m._destroy=new g.a,m._triggerFontSize=0,m._onChange=function(){},m._onTouched=function(){},m._optionIds="",m._transformOrigin="top",m._panelDoneAnimatingStream=new g.a,m._offsetY=0,m._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],m._disableOptionCentering=!1,m._focused=!1,m.controlType="mat-select",m.ariaLabel="",m.optionSelectionChanges=Object(y.a)((function(){return m.options?v.a.apply(void 0,m.options.map((function(t){return t.onSelectionChange}))):m._ngZone.onStable.asObservable().pipe(Object(b.a)(1),Object(_.a)((function(){return m.optionSelectionChanges})))})),m.openedChange=new d.x,m._openedStream=m.openedChange.pipe(Object(w.a)((function(t){return t})),Object(x.a)((function(){}))),m._closedStream=m.openedChange.pipe(Object(w.a)((function(t){return!t})),Object(x.a)((function(){}))),m.selectionChange=new d.x,m.valueChange=new d.x,m.ngControl&&(m.ngControl.valueAccessor=m),m._scrollStrategyFactory=h,m._scrollStrategy=m._scrollStrategyFactory(),m.tabIndex=parseInt(p)||0,m.id=m.id,m}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused||this._panelOpen},set:function(t){this._focused=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(s.c)(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disableOptionCentering",{get:function(){return this._disableOptionCentering},set:function(t){this._disableOptionCentering=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._selectionModel=new l.c(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Object(C.a)(),Object(O.a)(this._destroy)).subscribe((function(){t.panelOpen?(t._scrollTop=0,t.openedChange.emit(!0)):(t.openedChange.emit(!1),t.overlayDir.offsetX=0,t._changeDetectorRef.markForCheck())}))},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this._selectionModel.onChange.pipe(Object(O.a)(this._destroy)).subscribe((function(t){t.added.forEach((function(t){return t.select()})),t.removed.forEach((function(t){return t.deselect()}))})),this.options.changes.pipe(Object(E.a)(null),Object(O.a)(this._destroy)).subscribe((function(){t._resetOptions(),t._initializeSelection()}))},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&!this._panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Object(b.a)(1)).subscribe((function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")})))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map((function(t){return t.viewValue}));return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p||e===c.i||e===c.m,r=e===c.f||e===c.n,i=this._keyManager;if(r&&!Object(c.s)(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;e===c.h||e===c.e?(e===c.h?i.setFirstItemActive():i.setLastItemActive(),t.preventDefault()):i.onKeydown(t),this._liveAnnouncer&&o!==this.selected&&this._liveAnnouncer.announce(this.selected.viewValue)}},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p,r=this._keyManager;if(e===c.h||e===c.e)t.preventDefault(),e===c.h?r.setFirstItemActive():r.setLastItemActive();else if(n&&t.altKey)t.preventDefault(),this.close();else if(e!==c.f&&e!==c.n||!r.activeItem||Object(c.s)(t))if(this._multiple&&e===c.a&&t.ctrlKey){t.preventDefault();var i=this.options.some((function(t){return!t.disabled&&!t.selected}));this.options.forEach((function(t){t.disabled||(i?t.select():t.deselect())}))}else{var o=r.activeItemIndex;r.onKeydown(t),this._multiple&&n&&t.shiftKey&&r.activeItem&&r.activeItemIndex!==o&&r.activeItem._selectViaInteraction()}else t.preventDefault(),r.activeItem._selectViaInteraction()},e.prototype._onFocus=function(){this.disabled||(this._focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Object(b.a)(1)).subscribe((function(){t._setPseudoCheckboxPaddingSize(),t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop}))},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},e.prototype._setPseudoCheckboxPaddingSize=function(){if(!A&&this.multiple){var t=this.panel.nativeElement.querySelector(".mat-pseudo-checkbox");t&&(A=24+t.offsetWidth)}},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then((function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value),t.stateChanges.next()}))},e.prototype._setSelectionByValue=function(t){var e=this;if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._selectionModel.clear(),t.forEach((function(t){return e._selectValue(t)})),this._sortValues()}else{this._selectionModel.clear();var n=this._selectValue(t);n&&this._keyManager.setActiveItem(n)}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t){var e=this,n=this.options.find((function(n){try{return null!=n.value&&e._compareWith(n.value,t)}catch(r){return Object(d.yb)()&&console.warn(r),!1}}));return n&&this._selectionModel.select(n),n},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new o.b(this.options).withTypeAhead().withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Object(O.a)(this._destroy)).subscribe((function(){t.focus(),t.close()})),this._keyManager.change.pipe(Object(O.a)(this._destroy)).subscribe((function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()}))},e.prototype._resetOptions=function(){var t=this,e=Object(v.a)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Object(O.a)(e)).subscribe((function(e){t._onSelect(e.source,e.isUserInput),e.isUserInput&&!t.multiple&&t._panelOpen&&(t.close(),t.focus())})),v.a.apply(void 0,this.options.map((function(t){return t._stateChanges}))).pipe(Object(O.a)(e)).subscribe((function(){t._changeDetectorRef.markForCheck(),t.stateChanges.next()})),this._setOptionIds()},e.prototype._onSelect=function(t,e){var n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()},e.prototype._sortValues=function(){var t=this;if(this.multiple){var e=this.options.toArray();this._selectionModel.sort((function(n,r){return t.sortComparator?t.sortComparator(n,r,e):e.indexOf(n)-e.indexOf(r)})),this.stateChanges.next()}},e.prototype._propagateChanges=function(t){var e=null;e=this.multiple?this.selected.map((function(t){return t.value})):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new P(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map((function(t){return t.id})).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))},e.prototype._scrollActiveOptionIntoView=function(){var t=this._keyManager.activeItemIndex||0,e=Object(f.s)(t,this.options,this.optionGroups);this.panel.nativeElement.scrollTop=Object(f.t)(t+e,this._getItemHeight(),this.panel.nativeElement.scrollTop,256)},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce((function(e,n,r){return void 0===e?t===n?r:void 0:e}),void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=Object(f.s)(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight(),i=r*t-e+r/2;return Math.min(Math.max(0,i),n)},e.prototype._getAriaLabel=function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},e.prototype._getAriaLabelledby=function(){return this.ariaLabelledby?this.ariaLabelledby:this._parentFormField&&this._parentFormField._hasFloatingLabel()&&!this._getAriaLabel()&&this._parentFormField._labelId||null},e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?A+16:32;if(this.multiple)t=A;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var a=0-(e.left+t-(r?i:0)),s=e.right+t-n.width+(r?0:i);a>0?t+=a+8:s>0&&(t-=s+8),this.overlayDir.offsetX=Math.round(t),this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r,i=this._getItemHeight(),o=(i-this._triggerRect.height)/2,a=Math.floor(256/i);if(this._disableOptionCentering)return 0;if(0===this._scrollTop)r=t*i;else if(this._scrollTop===n){r=(t-(this._getItemCount()-a))*i+(i-(this._getItemCount()*i-256)%i)}else r=e-i/2;return Math.round(-1*r-o)},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;a>i?this._adjustPanelUp(a,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-select",exportAs:"matSelect",template:'
    ',styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform .4s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px}@media (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}"],inputs:["disabled","disableRipple","tabIndex"],encapsulation:d.qb.None,changeDetection:d.j.OnPush,host:{role:"listbox","[attr.id]":"id","[attr.tabindex]":"tabIndex","[attr.aria-label]":"_getAriaLabel()","[attr.aria-labelledby]":"_getAriaLabelledby()","[attr.aria-required]":"required.toString()","[attr.aria-disabled]":"disabled.toString()","[attr.aria-invalid]":"errorState","[attr.aria-owns]":"panelOpen ? _optionIds : null","[attr.aria-multiselectable]":"multiple","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-activedescendant]":"_getAriaActiveDescendant()","[class.mat-select-disabled]":"disabled","[class.mat-select-invalid]":"errorState","[class.mat-select-required]":"required","[class.mat-select-empty]":"empty",class:"mat-select","(keydown)":"_handleKeydown($event)","(focus)":"_onFocus()","(blur)":"_onBlur()"},animations:[k.transformPanelWrap,k.transformPanel],providers:[{provide:m.b,useExisting:e},{provide:f.f,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:p.f},{type:d.k},{type:d.Q},{type:f.b},{type:d.u},{type:a.b,decorators:[{type:d.R}]},{type:h.i,decorators:[{type:d.R}]},{type:h.d,decorators:[{type:d.R}]},{type:m.a,decorators:[{type:d.R}]},{type:h.h,decorators:[{type:d.eb},{type:d.R}]},{type:String,decorators:[{type:d.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:d.C,args:[D]}]},{type:o.g}]},e.propDecorators={trigger:[{type:d.nb,args:["trigger"]}],panel:[{type:d.nb,args:["panel"]}],overlayDir:[{type:d.nb,args:[u.a]}],options:[{type:d.s,args:[f.m,{descendants:!0}]}],optionGroups:[{type:d.s,args:[f.l]}],panelClass:[{type:d.G}],customTrigger:[{type:d.r,args:[M]}],placeholder:[{type:d.G}],required:[{type:d.G}],multiple:[{type:d.G}],disableOptionCentering:[{type:d.G}],compareWith:[{type:d.G}],value:[{type:d.G}],ariaLabel:[{type:d.G,args:["aria-label"]}],ariaLabelledby:[{type:d.G,args:["aria-labelledby"]}],errorStateMatcher:[{type:d.G}],sortComparator:[{type:d.G}],id:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],_closedStream:[{type:d.S,args:["closed"]}],selectionChange:[{type:d.S}],valueChange:[{type:d.S}]},e}(R),F=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[S.b,u.e,f.n,f.h],exports:[m.c,N,M,f.n,f.h],declarations:[N,M],providers:[T]}]}],t}()},uMaO:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("mrSG"),i=function(t){function e(e,n){var r=t.call(this)||this;return r.subject=e,r.subscriber=n,r.closed=!1,r}return r.c(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("pugT").a)},v6lC:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var r=n("CcnG"),i=n("o3x0"),o=n("Gwao"),a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] visible",Object(r.e)("200ms cubic-bezier(0, 0, 0.2, 1)",Object(r.h)([Object(r.l)({opacity:0,transform:"scale(0)",offset:0}),Object(r.l)({opacity:.5,transform:"scale(0.99)",offset:.5}),Object(r.l)({opacity:1,transform:"scale(1)",offset:1})]))),Object(r.m)("* => hidden",Object(r.e)("100ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({opacity:0})))])},x=20;function C(t){return Error('Tooltip position "'+t+'" is invalid.')}var O=new y.E("mat-tooltip-scroll-strategy");var E={provide:O,deps:[p.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition({scrollThrottle:x})}}},S=new y.E("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});var k=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){var d=this;this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=r,this._ngZone=i,this._ariaDescriber=a,this._focusMonitor=s,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new v.a,this._scrollStrategy=l;var h=e.nativeElement,f=h.style,g="undefined"==typeof window||window.Hammer||p;o.IOS||o.ANDROID?g||this._manualListeners.set("touchstart",(function(){return d.show()})):this._manualListeners.set("mouseenter",(function(){return d.show()})).set("mouseleave",(function(){return d.hide()})),this._manualListeners.forEach((function(t,e){return h.addEventListener(e,t)})),"INPUT"!==h.nodeName&&"TEXTAREA"!==h.nodeName||(f.webkitUserSelect=f.userSelect=f.msUserSelect=""),h.draggable&&"none"===f.webkitUserDrag&&(f.webkitUserDrag=""),s.monitor(e).pipe(Object(m.a)(this._destroyed)).subscribe((function(t){t?"keyboard"===t&&i.run((function(){return d.show()})):i.run((function(){return d.hide(0)}))})),u&&u.position&&(this.position=u.position)}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(s.c)(t),this._disabled&&this.hide(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){return this._message},set:function(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?(""+t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipClass",{get:function(){return this._tooltipClass},set:function(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){var t=this;this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._manualListeners.forEach((function(e,n){t._elementRef.nativeElement.removeEventListener(n,e)})),this._manualListeners.clear(),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef)},t.prototype.show=function(t){var e=this;if(void 0===t&&(t=this.showDelay),!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new f.d(j,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Object(m.a)(this._destroyed)).subscribe((function(){return e._detach()})),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}},t.prototype.hide=function(t){void 0===t&&(t=this.hideDelay),this._tooltipInstance&&this._tooltipInstance.hide(t)},t.prototype.toggle=function(){this._isTooltipVisible()?this.hide():this.show()},t.prototype._isTooltipVisible=function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()},t.prototype._handleKeydown=function(t){this._isTooltipVisible()&&t.keyCode===l.g&&(t.stopPropagation(),this.hide(0))},t.prototype._handleTouchend=function(){this.hide(this._defaultOptions.touchendHideDelay)},t.prototype._createOverlay=function(){var t=this;if(this._overlayRef)return this._overlayRef;var e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8).withScrollableContainers(e);return n.positionChanges.pipe(Object(m.a)(this._destroyed)).subscribe((function(e){t._tooltipInstance&&e.scrollableViewProperties.isOverlayClipped&&t._tooltipInstance.isVisible()&&t._ngZone.run((function(){return t.hide(0)}))})),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"mat-tooltip-panel",scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(Object(m.a)(this._destroyed)).subscribe((function(){return t._detach()})),this._overlayRef},t.prototype._detach=function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null},t.prototype._updatePosition=function(){var t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object(i.a)({},e.main,n.main),Object(i.a)({},e.fallback,n.fallback)])},t.prototype._getOrigin=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n||"below"==n)t={originX:"center",originY:"above"==n?"top":"bottom"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={originX:"start",originY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={originX:"end",originY:"center"}}var r=this._invertPosition(t.originX,t.originY);return{main:t,fallback:{originX:r.x,originY:r.y}}},t.prototype._getOverlayPosition=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n)t={overlayX:"center",overlayY:"bottom"};else if("below"==n)t={overlayX:"center",overlayY:"top"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={overlayX:"end",overlayY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={overlayX:"start",overlayY:"center"}}var r=this._invertPosition(t.overlayX,t.overlayY);return{main:t,fallback:{overlayX:r.x,overlayY:r.y}}},t.prototype._updateTooltipMessage=function(){var t=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(g.a)(1),Object(m.a)(this._destroyed)).subscribe((function(){t._tooltipInstance&&t._overlayRef.updatePosition()})))},t.prototype._setTooltipClass=function(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())},t.prototype._invertPosition=function(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}},t.decorators=[{type:y.t,args:[{selector:"[matTooltip]",exportAs:"matTooltip",host:{"(longpress)":"show()","(keydown)":"_handleKeydown($event)","(touchend)":"_handleTouchend()"}}]}],t.ctorParameters=function(){return[{type:p.b},{type:y.u},{type:d.c},{type:y.pb},{type:y.Q},{type:h.a},{type:o.c},{type:o.e},{type:void 0,decorators:[{type:y.C,args:[O]}]},{type:a.b,decorators:[{type:y.R}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[S]}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[u.d]}]}]},t.propDecorators={position:[{type:y.G,args:["matTooltipPosition"]}],disabled:[{type:y.G,args:["matTooltipDisabled"]}],showDelay:[{type:y.G,args:["matTooltipShowDelay"]}],hideDelay:[{type:y.G,args:["matTooltipHideDelay"]}],message:[{type:y.G,args:["matTooltip"]}],tooltipClass:[{type:y.G,args:["matTooltipClass"]}]},t}(),j=function(){function t(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new v.a,this._isHandset=this._breakpointObserver.observe(c.b.Handset)}return t.prototype.show=function(t){var e=this;this._hideTimeoutId&&(clearTimeout(this._hideTimeoutId),this._hideTimeoutId=null),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout((function(){e._visibility="visible",e._showTimeoutId=null,e._markForCheck()}),t)},t.prototype.hide=function(t){var e=this;this._showTimeoutId&&(clearTimeout(this._showTimeoutId),this._showTimeoutId=null),this._hideTimeoutId=setTimeout((function(){e._visibility="hidden",e._hideTimeoutId=null,e._markForCheck()}),t)},t.prototype.afterHidden=function(){return this._onHide.asObservable()},t.prototype.isVisible=function(){return"visible"===this._visibility},t.prototype.ngOnDestroy=function(){this._onHide.complete()},t.prototype._animationStart=function(){this._closeOnInteraction=!1},t.prototype._animationDone=function(t){var e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)},t.prototype._handleBodyInteraction=function(){this._closeOnInteraction&&this.hide(0)},t.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},t.decorators=[{type:y.n,args:[{selector:"mat-tooltip-component",template:'
    {{message}}
    ',styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],encapsulation:y.qb.None,changeDetection:y.j.OnPush,animations:[w.tooltipState],host:{"[style.zoom]":'_visibility === "visible" ? 1 : null',"(body:click)":"this._handleBodyInteraction()","aria-hidden":"true"}}]}],t.ctorParameters=function(){return[{type:y.k},{type:c.a}]},t}(),A=function(){function t(){}return t.decorators=[{type:y.L,args:[{imports:[o.a,b.b,p.e,_.h],exports:[k,j,_.h],declarations:[k,j],entryComponents:[j],providers:[E,{provide:u.c,useClass:_.c}]}]}],t}()},vARd:function(t,e,n){"use strict";n.d(e,"b",(function(){return x})),n.d(e,"a",(function(){return O}));var r=n("K9Ia"),i=n("CcnG"),o=n("ihYY"),a=n("mrSG"),s=n("4c35"),l=n("t9fZ"),c=n("ny24"),u=n("eDkP"),p=n("Ip0R"),d=n("Wf4p"),h=n("UodH"),f=n("lLAP"),m=n("vGXY"),g=function(){function t(t,e){var n=this;this._overlayRef=e,this._afterDismissed=new r.a,this._afterOpened=new r.a,this._onAction=new r.a,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe((function(){return n.dismiss()})),t._onExit.subscribe((function(){return n._finishDismiss()}))}return t.prototype.dismiss=function(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)},t.prototype.dismissWithAction=function(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete())},t.prototype.closeWithAction=function(){this.dismissWithAction()},t.prototype._dismissAfter=function(t){var e=this;this._durationTimeoutId=setTimeout((function(){return e.dismiss()}),t)},t.prototype._open=function(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1},t.prototype.afterDismissed=function(){return this._afterDismissed.asObservable()},t.prototype.afterOpened=function(){return this.containerInstance._onEnter},t.prototype.onAction=function(){return this._onAction.asObservable()},t}(),y=new i.E("MatSnackBarData"),v=function(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"},b=function(){function t(t,e){this.snackBarRef=t,this.data=e}return t.prototype.action=function(){this.snackBarRef.dismissWithAction()},Object.defineProperty(t.prototype,"hasAction",{get:function(){return!!this.data.action},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"simple-snack-bar",template:'{{data.message}}
    ',styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;height:100%;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}"],encapsulation:i.qb.None,changeDetection:i.j.OnPush,host:{class:"mat-simple-snackbar"}}]}],t.ctorParameters=function(){return[{type:g},{type:void 0,decorators:[{type:i.C,args:[y]}]}]},t}(),_={snackBarState:Object(o.n)("state",[Object(o.k)("void, hidden",Object(o.l)({transform:"scale(0.8)",opacity:0})),Object(o.k)("visible",Object(o.l)({transform:"scale(1)",opacity:1})),Object(o.m)("* => visible",Object(o.e)("150ms cubic-bezier(0, 0, 0.2, 1)")),Object(o.m)("* => void, * => hidden",Object(o.e)("75ms cubic-bezier(0.4, 0.0, 1, 1)",Object(o.l)({opacity:0})))])},w=function(t){function e(e,n,i,o){var a=t.call(this)||this;return a._ngZone=e,a._elementRef=n,a._changeDetectorRef=i,a.snackBarConfig=o,a._destroyed=!1,a._onExit=new r.a,a._onEnter=new r.a,a._animationState="void","assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?a._role=null:a._role="status":a._role="alert",a}return Object(a.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)},e.prototype.onAnimationEnd=function(t){var e=t.fromState,n=t.toState;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){var r=this._onEnter;this._ngZone.run((function(){r.next(),r.complete()}))}},e.prototype.enter=function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges())},e.prototype.exit=function(){return this._animationState="hidden",this._onExit},e.prototype.ngOnDestroy=function(){this._destroyed=!0,this._completeExit()},e.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(l.a)(1)).subscribe((function(){t._onExit.next(),t._onExit.complete()}))},e.prototype._applySnackBarClasses=function(){var t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach((function(e){return t.classList.add(e)})):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")},e.prototype._assertNotAttached=function(){if(this._portalOutlet.hasAttached())throw Error("Attempting to attach snack bar content after content is already attached")},e.decorators=[{type:i.n,args:[{selector:"snack-bar-container",template:"",styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}@media (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],changeDetection:i.j.Default,encapsulation:i.qb.None,animations:[_.snackBarState],host:{"[attr.role]":"_role",class:"mat-snack-bar-container","[@state]":"_animationState","(@state.done)":"onAnimationEnd($event)"}}]}],e.ctorParameters=function(){return[{type:i.Q},{type:i.u},{type:i.k},{type:v}]},e.propDecorators={_portalOutlet:[{type:i.nb,args:[s.c]}]},e}(s.a),x=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[u.e,s.h,p.b,h.b,d.h],exports:[w,d.h],declarations:[w,b],entryComponents:[w,b]}]}],t}(),C=new i.E("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new v}});var O=function(){function t(t,e,n,r,i,o){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=r,this._parentSnackBar=i,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackBarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,e){return this._attach(t,e)},t.prototype.openFromTemplate=function(t,e){return this._attach(t,e)},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=Object(a.a)({},this._defaultConfig,n);return r.data={message:t,action:e},r.announcementMessage||(r.announcementMessage=t),this.openFromComponent(b,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[v,e]])),i=new s.d(w,e.viewContainerRef,r),o=t.attach(i);return o.instance.snackBarConfig=e,o.instance},t.prototype._attach=function(t,e){var n=Object(a.a)({},new v,this._defaultConfig,e),r=this._createOverlay(n),o=this._attachSnackBarContainer(r,n),u=new g(o,r);if(t instanceof i.jb){var p=new s.i(t,null,{$implicit:n.data,snackBarRef:u});u.instance=o.attachTemplatePortal(p)}else{var d=this._createInjector(n,u),h=(p=new s.d(t,void 0,d),o.attachComponentPortal(p));u.instance=h.instance}return this._breakpointObserver.observe(m.b.Handset).pipe(Object(c.a)(r.detachments().pipe(Object(l.a)(1)))).subscribe((function(t){t.matches?r.overlayElement.classList.add("mat-snack-bar-handset"):r.overlayElement.classList.remove("mat-snack-bar-handset")})),this._animateSnackBar(u,n),this._openedSnackBarRef=u,this._openedSnackBarRef},t.prototype._animateSnackBar=function(t,e){var n=this;t.afterDismissed().subscribe((function(){n._openedSnackBarRef==t&&(n._openedSnackBarRef=null),e.announcementMessage&&n._live.clear()})),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe((function(){t.containerInstance.enter()})),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe((function(){return t._dismissAfter(e.duration)})),e.announcementMessage&&this._live.announce(e.announcementMessage,e.politeness)},t.prototype._createOverlay=function(t){var e=new u.c;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new s.g(n||this._injector,new WeakMap([[g,e],[y,t.data]]))},t.decorators=[{type:i.D,args:[{providedIn:x}]}],t.ctorParameters=function(){return[{type:u.b},{type:f.g},{type:i.F},{type:m.a},{type:t,decorators:[{type:i.R},{type:i.fb}]},{type:v,decorators:[{type:i.C,args:[C]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(u.b),Object(i.xb)(f.g),Object(i.xb)(i.B),Object(i.xb)(m.a),Object(i.xb)(t,12),Object(i.xb)(C))},token:t,providedIn:x}),t}()},vGXY:function(t,e,n){"use strict";var r=n("CcnG"),i=n("dWZg"),o=n("K9Ia"),a=n("dzgT"),s=n("KQya"),l=n("6blF"),c=n("isby"),u=n("2Bdj"),p=n("67Y/");var d=n("Gi3i"),h=n("p0Sj"),f=n("ny24"),m=n("n6gG");n.d(e,"a",(function(){return _})),n.d(e,"b",(function(){return x}));!function(){function t(){}t.decorators=[{type:r.L,args:[{}]}]}();var g,y=new Set,v=function(){function t(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):b}return t.prototype.matchMedia=function(t){return this.platform.WEBKIT&&function(t){if(y.has(t))return;try{g||((g=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(g)),g.sheet&&(g.sheet.insertRule("@media "+t+" {.fx-query-test{ }}",0),y.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(i.a))},token:t,providedIn:"root"}),t}();function b(t){return{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}var _=function(){function t(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new o.a}return t.prototype.ngOnDestroy=function(){this._destroySubject.next(),this._destroySubject.complete()},t.prototype.isMatched=function(t){var e=this;return w(Object(m.b)(t)).some((function(t){return e._registerQuery(t).mql.matches}))},t.prototype.observe=function(t){var e=this,n=w(Object(m.b)(t)).map((function(t){return e._registerQuery(t).observable}));return Object(a.a)(n).pipe(Object(d.a)(0,s.a),Object(p.a)((function(t){var e={matches:!1,breakpoints:{}};return t.forEach((function(t){e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches})),e})))},t.prototype._registerQuery=function(t){var e=this;if(this._queries.has(t))return this._queries.get(t);var n,r=this.mediaMatcher.matchMedia(t),i={observable:function t(e,n,r){return r?t(e,n).pipe(Object(p.a)((function(t){return Object(c.a)(t)?r.apply(void 0,t):r(t)}))):new l.a((function(t){var r,i=function(){for(var e=[],n=0;n0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.destination.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.a.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.scheduleNotification(a.a.createComplete()),this.unsubscribe()},e}(o.a),u=function(){return function(t,e){this.time=t,this.notification=e}}()},"w+lc":function(t,e,n){"use strict";n.d(e,"a",(function(){return b}));var r=n("mrSG"),i=n("lLAP"),o=n("Fzqc"),a=n("n6gG"),s=n("YSh2"),l=n("CcnG"),c=n("gIcY"),u=n("Wf4p"),p=n("wFw1"),d=n("pugT"),h=n("Ip0R"),f=n("ZYjt"),m={provide:c.g,useExisting:Object(l.vb)((function(){return v})),multi:!0},g=function(){},y=function(t){this._elementRef=t},v=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e)||this;return s._focusMonitor=n,s._changeDetectorRef=r,s._dir=i,s._animationMode=a,s._invert=!1,s._max=100,s._min=0,s._step=1,s._thumbLabel=!1,s._tickInterval=0,s._value=null,s._vertical=!1,s.change=new l.x,s.input=new l.x,s.valueChange=new l.x,s.onTouched=function(){},s._percent=0,s._isSliding=!1,s._isActive=!1,s._tickIntervalPercent=0,s._sliderDimensions=null,s._controlValueAccessorChangeFn=function(){},s._dirChangeSubscription=d.a.EMPTY,s.tabIndex=parseInt(o)||0,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"invert",{get:function(){return this._invert},set:function(t){this._invert=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(t){this._max=Object(a.f)(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(t){this._min=Object(a.f)(t,this._min),null===this._value&&(this.value=this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"step",{get:function(){return this._step},set:function(t){this._step=Object(a.f)(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"thumbLabel",{get:function(){return this._thumbLabel},set:function(t){this._thumbLabel=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tickInterval",{get:function(){return this._tickInterval},set:function(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Object(a.f)(t,this._tickInterval):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return null===this._value&&(this.value=this._min),this._value},set:function(t){if(t!==this._value){var e=Object(a.f)(t);this._roundToDecimal&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"displayValue",{get:function(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this._focusHostElement()},e.prototype.blur=function(){this._blurHostElement()},Object.defineProperty(e.prototype,"percent",{get:function(){return this._clamp(this._percent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_invertAxis",{get:function(){return this.vertical?!this.invert:this.invert},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_isMinValue",{get:function(){return 0===this.percent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbGap",{get:function(){return this.disabled?7:this._isMinValue&&!this.thumbLabel?this._isActive?10:7:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackBackgroundStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+(1-this.percent)+", 1":1-this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"-":"")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackFillStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+this.percent+", 1":this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"":"-")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"-":"")+this._tickIntervalPercent/2*100+"%)"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksStyles",{get:function(){var t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?"2px "+t+"%":t+"% 2px",transform:"translateZ(0) translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"":"-")+t/2+"%)"+(this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)")};this._isMinValue&&this._thumbGap&&(e["padding"+(this.vertical?this._invertAxis?"Bottom":"Top":this._invertAxis?"Right":"Left")]=this._thumbGap+"px");return e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"(-"+100*(("rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis)?this.percent:1-this.percent)+"%)"}},enumerable:!0,configurable:!0}),e.prototype._shouldInvertMouseCoords=function(){return"rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis},e.prototype._getDirection=function(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"},e.prototype.ngOnInit=function(){var t=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe((function(e){t._isActive=!!e&&"keyboard"!==e,t._changeDetectorRef.detectChanges()})),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe((function(){t._changeDetectorRef.markForCheck()})))},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()},e.prototype._onMouseenter=function(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())},e.prototype._onMousedown=function(t){if(!this.disabled&&0===t.button){var e=this.value;this._isSliding=!1,this._focusHostElement(),this._updateValueFromPosition({x:t.clientX,y:t.clientY}),e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent())}},e.prototype._onSlide=function(t){if(!this.disabled){this._isSliding||this._onSlideStart(null),t.preventDefault();var e=this.value;this._updateValueFromPosition({x:t.center.x,y:t.center.y}),e!=this.value&&this._emitInputEvent()}},e.prototype._onSlideStart=function(t){this.disabled||this._isSliding||(this._onMouseenter(),this._isSliding=!0,this._focusHostElement(),this._valueOnSlideStart=this.value,t&&(this._updateValueFromPosition({x:t.center.x,y:t.center.y}),t.preventDefault()))},e.prototype._onSlideEnd=function(){this._isSliding=!1,this._valueOnSlideStart==this.value||this.disabled||this._emitChangeEvent(),this._valueOnSlideStart=null},e.prototype._onFocus=function(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()},e.prototype._onBlur=function(){this.onTouched()},e.prototype._onKeydown=function(t){if(!this.disabled&&!Object(s.s)(t)){var e=this.value;switch(t.keyCode){case s.l:this._increment(10);break;case s.k:this._increment(-10);break;case s.e:this.value=this.max;break;case s.h:this.value=this.min;break;case s.i:this._increment("rtl"==this._getDirection()?1:-1);break;case s.p:this._increment(1);break;case s.m:this._increment("rtl"==this._getDirection()?-1:1);break;case s.d:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding=!0,t.preventDefault()}},e.prototype._onKeyup=function(){this._isSliding=!1},e.prototype._increment=function(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)},e.prototype._updateValueFromPosition=function(t){if(this._sliderDimensions){var e=this.vertical?this._sliderDimensions.top:this._sliderDimensions.left,n=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,r=this.vertical?t.y:t.x,i=this._clamp((r-e)/n);if(this._shouldInvertMouseCoords()&&(i=1-i),0===i)this.value=this.min;else if(1===i)this.value=this.max;else{var o=this._calculateValue(i),a=Math.round((o-this.min)/this.step)*this.step+this.min;this.value=this._clamp(a,this.min,this.max)}}},e.prototype._emitChangeEvent=function(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())},e.prototype._emitInputEvent=function(){this.input.emit(this._createChangeEvent())},e.prototype._updateTickIntervalPercent=function(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){var t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=t*this.step/(this.max-this.min),n=Math.ceil(30/e)*this.step;this._tickIntervalPercent=n/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)},e.prototype._createChangeEvent=function(t){void 0===t&&(t=this.value);var e=new g;return e.source=this,e.value=t,e},e.prototype._calculatePercentage=function(t){return((t||0)-this.min)/(this.max-this.min)},e.prototype._calculateValue=function(t){return this.min+t*(this.max-this.min)},e.prototype._clamp=function(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),Math.max(e,Math.min(t,n))},e.prototype._getSliderDimensions=function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null},e.prototype._focusHostElement=function(){this._elementRef.nativeElement.focus()},e.prototype._blurHostElement=function(){this._elementRef.nativeElement.blur()},e.prototype.writeValue=function(t){this.value=t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t},e.decorators=[{type:l.n,args:[{selector:"mat-slider",exportAs:"matSlider",providers:[m],host:{"(focus)":"_onFocus()","(blur)":"_onBlur()","(mousedown)":"_onMousedown($event)","(keydown)":"_onKeydown($event)","(keyup)":"_onKeyup()","(mouseenter)":"_onMouseenter()","(slide)":"_onSlide($event)","(slideend)":"_onSlideEnd()","(slidestart)":"_onSlideStart($event)",class:"mat-slider",role:"slider","[tabIndex]":"tabIndex","[attr.aria-disabled]":"disabled","[attr.aria-valuemax]":"max","[attr.aria-valuemin]":"min","[attr.aria-valuenow]":"value","[attr.aria-orientation]":'vertical ? "vertical" : "horizontal"',"[class.mat-slider-disabled]":"disabled","[class.mat-slider-has-ticks]":"tickInterval","[class.mat-slider-horizontal]":"!vertical","[class.mat-slider-axis-inverted]":"_invertAxis","[class.mat-slider-sliding]":"_isSliding","[class.mat-slider-thumb-label-showing]":"thumbLabel","[class.mat-slider-vertical]":"vertical","[class.mat-slider-min-value]":"_isMinValue","[class.mat-slider-hide-last-tick]":"disabled || _isMinValue && _thumbGap && _invertAxis","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},template:'
    {{displayValue}}
    ',styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],inputs:["disabled","color","tabIndex"],encapsulation:l.qb.None,changeDetection:l.j.OnPush}]}],e.ctorParameters=function(){return[{type:l.u},{type:i.e},{type:l.k},{type:o.b,decorators:[{type:l.R}]},{type:String,decorators:[{type:l.h,args:["tabindex"]}]},{type:String,decorators:[{type:l.R},{type:l.C,args:[p.a]}]}]},e.propDecorators={invert:[{type:l.G}],max:[{type:l.G}],min:[{type:l.G}],step:[{type:l.G}],thumbLabel:[{type:l.G}],tickInterval:[{type:l.G}],value:[{type:l.G}],displayWith:[{type:l.G}],vertical:[{type:l.G}],change:[{type:l.S}],input:[{type:l.S}],valueChange:[{type:l.S}],_sliderWrapper:[{type:l.nb,args:["sliderWrapper"]}]},e}(Object(u.y)(Object(u.u)(Object(u.w)(y),"accent"))),b=function(){function t(){}return t.decorators=[{type:l.L,args:[{imports:[h.b,u.h],exports:[v,u.h],declarations:[v],providers:[{provide:f.c,useClass:u.c}]}]}],t}()},wFw1:function(t,e,n){"use strict";var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("ihYY");function s(){return"undefined"!=typeof process}function l(t){switch(t.length){case 0:return new a.d;case 1:return t[0];default:return new a.o(t)}}function c(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach((function(t){var n=t.offset,r=n==c,p=r&&u||{};Object.keys(t).forEach((function(n){var r=n,l=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),l){case a.p:l=i[n];break;case a.a:l=o[n];break;default:l=e.normalizeStyleValue(n,r,l,s)}p[r]=l})),r||l.push(p),u=p,c=n})),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function u(t,e,n,r){switch(e){case"start":t.onStart((function(){return r(n&&p(n,"start",t))}));break;case"done":t.onDone((function(){return r(n&&p(n,"done",t))}));break;case"destroy":t.onDestroy((function(){return r(n&&p(n,"destroy",t))}))}}function p(t,e,n){var r=n.totalTime,i=!!n.disabled,o=d(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==r?t.totalTime:r,i),a=t._data;return null!=a&&(o._data=a),o}function d(t,e,n,r,i,o,a){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o,disabled:!!a}}function h(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function f(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var m=function(t,e){return!1},g=function(t,e){return!1},y=function(t,e,n){return[]},v=s();(v||"undefined"!=typeof Element)&&(m=function(t,e){return t.contains(e)},g=function(){if(v||Element.prototype.matches)return function(t,e){return t.matches(e)};var t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?function(t,n){return e.apply(t,[n])}:g}(),y=function(t,e,n){var i=[];if(n)i.push.apply(i,Object(r.g)(t.querySelectorAll(e)));else{var o=t.querySelector(e);o&&i.push(o)}return i});var b=null,_=!1;function w(t){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},_=!!b.style&&"WebkitAppearance"in b.style);var e=!0;b.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&(!(e=t in b.style)&&_&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in b.style));return e}var x=g,C=m,O=y;function E(t){var e={};return Object.keys(t).forEach((function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[r]=t[n]})),e}var S=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===o&&(o=[]),new a.d(n,r)},t=Object(r.b)([Object(i.D)()],t)}(),k=function(){function t(){}return t.NOOP=new S,t}(),j=1e3,A=".ng-trigger",D=".ng-animating";function T(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:P(parseFloat(e[1]),e[2])}function P(t,e){switch(e){case"s":return t*j;default:return t}}function I(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=P(parseFloat(a[1]),a[2]);var s=a[3];null!=s&&(i=P(parseFloat(s),a[4]));var l=a[5];l&&(o=l)}else r=t;if(!n){var c=!1,u=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&e.splice(u,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function R(t,e){return void 0===e&&(e={}),Object.keys(t).forEach((function(n){e[n]=t[n]})),e}function M(t){var e={};return Array.isArray(t)?t.forEach((function(t){return N(t,!1,e)})):N(t,!1,e),e}function N(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else R(t,n);return n}function F(t,e,n){return n?e+":"+n+";":""}function L(t){for(var e="",n=0;n *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],a=i[2],s=i[3];e.push(nt(o,s));var l=o==$&&s==$;"<"!=a[0]||l||e.push(nt(s,o))}(t,n,e)})):n.push(t),n}var tt=new Set(["true","1"]),et=new Set(["false","0"]);function nt(t,e){var n=tt.has(t)||et.has(t),r=tt.has(e)||et.has(e);return function(i,o){var a=t==$||t==i,s=e==$||e==o;return!a&&n&&"boolean"==typeof i&&(a=i?tt.has(t):et.has(t)),!s&&r&&"boolean"==typeof o&&(s=o?tt.has(e):et.has(e)),a&&s}}var rt=":self",it=new RegExp("s*"+rt+"s*,?","g");function ot(t,e,n){return new at(t).build(e,n)}var at=function(){function t(t){this._driver=t}return t.prototype.build=function(t,e){var n=new st(e);return this._resetContextStyleTimingState(n),X(this,z(t),n)},t.prototype._resetContextStyleTimingState=function(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0},t.prototype.visitTrigger=function(t,e){var n=this,r=e.queryCount=0,i=e.depCount=0,o=[],a=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach((function(t){if(n._resetContextStyleTimingState(e),0==t.type){var s=t,l=s.name;l.toString().split(/\s*,\s*/).forEach((function(t){s.name=t,o.push(n.visitState(s,e))})),s.name=l}else if(1==t.type){var c=n.visitTransition(t,e);r+=c.queryCount,i+=c.depCount,a.push(c)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")})),{type:7,name:t.name,states:o,transitions:a,queryCount:r,depCount:i,options:null}},t.prototype.visitState=function(t,e){var n=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(n.containsDynamicStyles){var i=new Set,o=r||{};if(n.styles.forEach((function(t){if(lt(t)){var e=t;Object.keys(e).forEach((function(t){U(e[t]).forEach((function(t){o.hasOwnProperty(t)||i.add(t)}))}))}})),i.size){var a=q(i.values());e.errors.push('state("'+t.name+'", ...) must define default values for all the following style substitutions: '+a.join(", "))}}return{type:0,name:t.name,style:n,options:r?{params:r}:null}},t.prototype.visitTransition=function(t,e){e.queryCount=0,e.depCount=0;var n=X(this,z(t.animation),e);return{type:1,matchers:J(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:ct(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map((function(t){return X(n,t,e)})),options:ct(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map((function(t){e.currentTime=r;var o=X(n,t,e);return i=Math.max(i,e.currentTime),o}));return e.currentTime=i,{type:3,steps:o,options:ct(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t){return ut(I(t,e).duration,0,"")}var r=t;if(r.split(/\s+/).some((function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)}))){var i=ut(0,0,"");return i.dynamic=!0,i.strValue=r,i}return ut((n=n||I(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Object(a.l)({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var l={};r.easing&&(l.easing=r.easing),o=Object(a.l)(l)}e.currentTime+=r.duration+r.delay;var c=this.visitStyle(o,e);c.isEmptyStep=s,n=c}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach((function(t){"string"==typeof t?t==a.a?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)})):n.push(t.styles);var r=!1,i=null;return n.forEach((function(t){if(lt(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e){if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}})),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach((function(t){"string"!=typeof t&&Object.keys(t).forEach((function(r){if(n._driver.validateStyleProperty(r)){var a,s,l,c,u,p=e.collectedStyles[e.currentQuerySelector],d=p[r],h=!0;d&&(o!=i&&o>=d.startTime&&i<=d.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+d.startTime+'ms" and "'+d.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),h=!1),o=d.startTime),h&&(p[r]={startTime:o,endTime:i}),e.options&&(a=t[r],s=e.options,l=e.errors,c=s.params||{},(u=U(a)).length&&u.forEach((function(t){c.hasOwnProperty(t)||l.push("Unable to resolve the local animation param "+t+" in the given list of values")})))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')}))}))},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],a=!1,s=!1,l=0,c=t.steps.map((function(t){var r=n._makeStyleAst(t,e),c=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach((function(t){if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}}));else if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),u=0;return null!=c&&(i++,u=r.offset=c),s=s||u<0||u>1,a=a||u0&&i0?i==d?1:p*i:o[i],s=a*m;e.currentTime=h+f.delay+s,f.duration=s,n._validateStyleAst(t,e),t.offset=a,r.styles.push(t)})),r},t.prototype.visitReference=function(t,e){return{type:8,animation:X(this,z(t.animation),e),options:ct(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:ct(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ct(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;var o=Object(r.f)(function(t){var e=!!t.split(/\s*,\s*/).find((function(t){return t==rt}));e&&(t=t.replace(it,""));return[t=t.replace(/@\*/g,A).replace(/@\w+/g,(function(t){return A+"-"+t.substr(1)})).replace(/:animating/g,D),e]}(t.selector),2),a=o[0],s=o[1];e.currentQuerySelector=n.length?n+" "+a:a,h(e.collectedStyles,e.currentQuerySelector,{});var l=X(this,z(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:a,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:l,originalSelector:t.selector,options:ct(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:I(t.timings,e.errors,!0);return{type:12,animation:X(this,z(t.animation),e),timings:n,options:null}},t}();var st=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function lt(t){return!Array.isArray(t)&&"object"==typeof t}function ct(t){var e;return t?(t=R(t)).params&&(t.params=(e=t.params)?R(e):null):t={},t}function ut(t,e,n){return{duration:t,delay:e,easing:n}}function pt(t,e,n,r,i,o,a,s){return void 0===a&&(a=null),void 0===s&&(s=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:a,subTimeline:s}}var dt=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,Object(r.g)(e))},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),ht=new RegExp(":enter","g"),ft=new RegExp(":leave","g");function mt(t,e,n,r,i,o,a,s,l,c){return void 0===o&&(o={}),void 0===a&&(a={}),void 0===c&&(c=[]),(new gt).buildKeyframes(t,e,n,r,i,o,a,s,l,c)}var gt=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,a,s,l,c){void 0===c&&(c=[]),l=l||new dt;var u=new vt(t,e,l,r,i,c,[]);u.options=s,u.currentTimeline.setStyles([o],null,u.errors,s),X(this,n,u);var p=u.timelines.filter((function(t){return t.containsAnimation()}));if(p.length&&Object.keys(a).length){var d=p[p.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,u.errors,s)}return p.length?p.map((function(t){return t.buildKeyframes()})):[pt(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?T(n.duration):null,o=null!=n.delay?T(n.delay):null;return 0!==i&&t.forEach((function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)})),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),X(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=yt);var a=T(o.delay);i.delayNextStep(a)}t.steps.length&&(t.steps.forEach((function(t){return X(n,t,i)})),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?T(t.options.delay):0;t.steps.forEach((function(a){var s=e.createSubContext(t.options);o&&s.delayNextStep(o),X(n,a,s),i=Math.max(i,s.currentTimeline.currentTime),r.push(s.currentTimeline)})),r.forEach((function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)})),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return I(e.params?G(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach((function(t){var n=t.offset||0;o.forwardTime(n*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()})),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?T(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=yt);var a=r,s=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=s.length;var l=null;s.forEach((function(r,i){e.currentQueryIndex=i;var s=e.createSubContext(t.options,r);o&&s.delayNextStep(o),r===e.element&&(l=s.currentTimeline),X(n,t.animation,s),s.currentTimeline.applyStylesToKeyframe();var c=s.currentTimeline.currentTime;a=Math.max(a,c)})),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),a=o*(e.currentQueryTotal-1),s=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var l=e.currentTimeline;s&&l.delayNextStep(s);var c=l.currentTime;X(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-c+(r.startTime-n.currentTimeline.startTime)},t}(),yt={},vt=function(){function t(t,e,n,r,i,o,a,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=yt,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new bt(this._driver,e,0),a.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=T(r.duration)),null!=r.delay&&(i.delay=T(r.delay));var o=r.params;if(o){var a=i.params;a||(a=this.options.params={}),Object.keys(o).forEach((function(t){e&&a.hasOwnProperty(t)||(a[t]=G(o[t],a,n.errors))}))}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach((function(t){n[t]=e[t]}))}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=yt,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new _t(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,i,o,a){var s=[];if(i&&s.push(this.element),t.length>0){t=(t=t.replace(ht,"."+this._enterClassName)).replace(ft,"."+this._leaveClassName);var l=1!=n,c=this._driver.query(this.element,t,l);0!==n&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),s.push.apply(s,Object(r.g)(c))}return o||0!=s.length||a.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),bt=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach((function(t){e._backFill[t]=e._globalTimelineStyles[t]||a.a,e._currentKeyframe[t]=a.a})),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach((function(t){"*"===t?(n=n||Object.keys(e)).forEach((function(t){r[t]=a.a})):N(t,!1,r)})),r}(t,this._globalTimelineStyles);Object.keys(s).forEach((function(t){var e=G(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:a.a),i._updateStyle(t,e)}))},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach((function(n){var r=e[n];t._currentKeyframe[n]=r})),Object.keys(this._localTimelineStyles).forEach((function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])})))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach((function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)}))},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach((function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)}))},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach((function(o,s){var l=N(o,!0);Object.keys(l).forEach((function(t){var r=l[t];r==a.p?e.add(t):r==a.a&&n.add(t)})),r||(l.offset=s/t.duration),i.push(l)}));var o=e.size?q(e.values()):[],s=n.size?q(n.values()):[];if(r){var l=i[0],c=R(l);l.offset=0,c.offset=1,i=[l,c]}return pt(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),_t=function(t){function e(e,n,r,i,o,a,s){void 0===s&&(s=!1);var l=t.call(this,e,n,a.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=s,l.timings={duration:a.duration,delay:a.delay,easing:a.easing},l}return Object(r.c)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=r+n,s=n/a,l=N(t[0],!1);l.offset=0,o.push(l);var c=N(t[0],!1);c.offset=wt(s),o.push(c);for(var u=t.length-1,p=1;p<=u;p++){var d=N(t[p],!1),h=n+d.offset*r;d.offset=wt(h/a),o.push(d)}r=a,n=0,i="",t=o}return pt(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(bt);function wt(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}!function(){function t(t,e){this._driver=t;var n=[],r=ot(t,e,n);if(n.length){var i="animation validation failed:\n"+n.join("\n");throw new Error(i)}this._animationAst=r}t.prototype.buildTimelines=function(t,e,n,r,i){var o=Array.isArray(e)?M(e):e,a=Array.isArray(n)?M(n):n,s=[];i=i||new dt;var l=mt(this._driver,t,this._animationAst,"ng-enter","ng-leave",o,a,r,i,s);if(s.length){var c="animation building failed:\n"+s.join("\n");throw new Error(c)}return l}}();var xt,Ct,Ot=function(){},Et=(function(){function t(){}t.prototype.normalizePropertyName=function(t,e){return t},t.prototype.normalizeStyleValue=function(t,e,n,r){return n}}(),function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.normalizePropertyName=function(t,e){return Y(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(St[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(Ot)),St=(xt="width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","),Ct={},xt.forEach((function(t){return Ct[t]=!0})),Ct);function kt(t,e,n,r,i,o,a,s,l,c,u,p,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:a,timelines:s,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:p,errors:d}}var jt={},At=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e,n,r){return function(t,e,n,r,i){return t.some((function(t){return t(e,n,r,i)}))}(this.ast.matchers,t,e,n,r)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,i,o,a,s,l,c,u){var p=[],d=this.ast.options&&this.ast.options.params||jt,f=s&&s.params||jt,m=this.buildStyles(n,f,p),g=l&&l.params||jt,y=this.buildStyles(i,g,p),v=new Set,b=new Map,_=new Map,w="void"===i,x={params:Object(r.a)({},d,g)},C=u?[]:mt(t,e,this.ast.animation,o,a,m,y,x,c,p),O=0;if(C.forEach((function(t){O=Math.max(t.duration+t.delay,O)})),p.length)return kt(e,this._triggerName,n,i,w,m,y,[],[],b,_,O,p);C.forEach((function(t){var n=t.element,r=h(b,n,{});t.preStyleProps.forEach((function(t){return r[t]=!0}));var i=h(_,n,{});t.postStyleProps.forEach((function(t){return i[t]=!0})),n!==e&&v.add(n)}));var E=q(v.values());return kt(e,this._triggerName,n,i,w,m,y,C,E,b,_,O)},t}();var Dt=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=R(this.defaultParams);return Object.keys(t).forEach((function(e){var n=t[e];null!=n&&(r[e]=n)})),this.styles.styles.forEach((function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach((function(t){var o=i[t];o.length>1&&(o=G(o,r,e)),n[t]=o}))}})),n},t}();var Tt=function(){function t(t,e){var n,r,i=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach((function(t){var e=t.options&&t.options.params||{};i.states[t.name]=new Dt(t.style,e)})),Pt(this.states,"true","1"),Pt(this.states,"false","0"),e.transitions.forEach((function(e){i.transitionFactories.push(new At(t,e,i.states))})),this.fallbackTransition=(n=t,r=this.states,new At(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},r))}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e,n,r){return this.transitionFactories.find((function(i){return i.match(t,e,n,r)}))||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function Pt(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var It=new dt,Rt=function(){function t(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=ot(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=c(this._driver,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[],!0)},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],c=new Map;if(s?(i=mt(this._driver,e,s,"ng-enter","ng-leave",{},{},n,It,o)).forEach((function(t){var e=h(c,t.element,{});t.postStyleProps.forEach((function(t){return e[t]=null}))})):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));c.forEach((function(t,e){Object.keys(t).forEach((function(n){t[n]=r._driver.computeStyle(e,n,a.a)}))}));var u=l(i.map((function(t){var e=c.get(t.element);return r._buildPlayer(t,{},e)})));return this._playersById[t]=u,u.onDestroy((function(){return r.destroy(t)})),this.players.push(u),u},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=d(e,"","","");return u(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else{var o=r[0]||{};this.create(t,e,o)}else this.register(t,r[0])},t}(),Mt=[],Nt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ft={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Lt="__ng_removed",Vt=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value"),r=n?t.value:t;if(this.value=function(t){return null!=t?t:null}(r),n){var i=R(t);delete i.value,this.options=i}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach((function(t){null==n[t]&&(n[t]=e[t])}))}},t}(),Bt=new Vt("void"),zt=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Qt(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var a=h(this._elementListeners,t,[]),s={name:e,phase:n,callback:r};a.push(s);var l=h(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),l[e]=Bt),function(){o._engine.afterFlush((function(){var t=a.indexOf(s);t>=0&&a.splice(t,1),o._triggers[e]||delete l[e]}))}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),a=new Ut(this.id,e,t),s=this._engine.statesByElement.get(t);s||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,s={}));var l=s[e],c=new Vt(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),s[e]=c,l||(l=Bt),"void"===c.value||l.value!==c.value){var u=h(this._engine.playersByElement,t,[]);u.forEach((function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()}));var p=o.matchTransition(l.value,c.value,t,c.params),d=!1;if(!p){if(!r)return;p=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:p,fromState:l,toState:c,player:a,isFallbackTransition:d}),d||(Qt(t,"ng-animate-queued"),a.onStart((function(){Xt(t,"ng-animate-queued")}))),a.onDone((function(){var e=i.players.indexOf(a);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}})),this.players.push(a),u.push(a),a}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--){var o=this._namespaceList[i];if(this.driver.containsElement(o.hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush((function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)})),this.afterFlushAnimationsDone((function(){return r.destroy(e)}))}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0&&this.collectedLeaveElements.splice(o,1)}if(t){var a=this._fetchNamespace(t);a&&a.insertNode(e,n)}r&&this.collectEnterElement(e)}},t.prototype.collectEnterElement=function(t){this.collectedEnterElements.push(t)},t.prototype.markElementAsDisabled=function(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Qt(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Xt(t,"ng-animate-disabled"))},t.prototype.removeNode=function(t,e,n,r){if(Gt(e)){var i=t?this._fetchNamespace(t):null;if(i?i.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),n){var o=this.namespacesByHostElement.get(e);o&&o.id!==t&&o.removeNode(e,r)}}else this._onRemovalComplete(e,r)},t.prototype.markElementAsRemoved=function(t,e,n,r){this.collectedLeaveElements.push(e),e[Lt]={namespaceId:t,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}},t.prototype.listen=function(t,e,n,r,i){return Gt(e)?this._fetchNamespace(t).listen(e,n,r,i):function(){}},t.prototype._buildInstruction=function(t,e,n,r,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,r,t.fromState.options,t.toState.options,e,i)},t.prototype.destroyInnerAnimations=function(t){var e=this,n=this.driver.query(t,A,!0);n.forEach((function(t){return e.destroyActiveAnimationsForElement(t)})),0!=this.playersByQueriedElement.size&&(n=this.driver.query(t,D,!0)).forEach((function(t){return e.finishActiveQueriedAnimationOnElement(t)}))},t.prototype.destroyActiveAnimationsForElement=function(t){var e=this.playersByElement.get(t);e&&e.forEach((function(t){t.queued?t.markedForDestroy=!0:t.destroy()}))},t.prototype.finishActiveQueriedAnimationOnElement=function(t){var e=this.playersByQueriedElement.get(t);e&&e.forEach((function(t){return t.finish()}))},t.prototype.whenRenderingDone=function(){var t=this;return new Promise((function(e){if(t.players.length)return l(t.players).onDone((function(){return e()}));e()}))},t.prototype.processLeaveNode=function(t){var e=this,n=t[Lt];if(n&&n.setForRemoval){if(t[Lt]=Nt,n.namespaceId){this.destroyInnerAnimations(t);var r=this._fetchNamespace(n.namespaceId);r&&r.clearElementCache(t)}this._onRemovalComplete(t,n.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach((function(t){e.markElementAsDisabled(t,!1)}))},t.prototype.flush=function(t){var e=this;void 0===t&&(t=-1);var n=[];if(this.newHostElements.size&&(this.newHostElements.forEach((function(t,n){return e._balanceNamespaceList(t,n)})),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var r=0;r=0;j--){this._namespaceList[j].drainQueuedTransitions(e).forEach((function(t){var e=t.player,r=t.element;if(S.push(e),n.collectedEnterElements.length){var a=r[Lt];if(a&&a.setForMove)return void e.destroy()}var s=!m||!n.driver.containsElement(m,r),l=O.get(r),f=v.get(r),g=n._buildInstruction(t,i,f,l,s);if(g.errors&&g.errors.length)k.push(g);else{if(s)return e.onStart((function(){return B(r,g.fromStyles)})),e.onDestroy((function(){return V(r,g.toStyles)})),void o.push(e);if(t.isFallbackTransition)return e.onStart((function(){return B(r,g.fromStyles)})),e.onDestroy((function(){return V(r,g.toStyles)})),void o.push(e);g.timelines.forEach((function(t){return t.stretchStartingKeyframe=!0})),i.append(r,g.timelines);var y={instruction:g,player:e,element:r};c.push(y),g.queriedElements.forEach((function(t){return h(u,t,[]).push(e)})),g.preStyleProps.forEach((function(t,e){var n=Object.keys(t);if(n.length){var r=p.get(e);r||p.set(e,r=new Set),n.forEach((function(t){return r.add(t)}))}})),g.postStyleProps.forEach((function(t,e){var n=Object.keys(t),r=d.get(e);r||d.set(e,r=new Set),n.forEach((function(t){return r.add(t)}))}))}}))}if(k.length){var A=[];k.forEach((function(t){A.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach((function(t){return A.push("- "+t+"\n")}))})),S.forEach((function(t){return t.destroy()})),this.reportError(A)}var T=new Map,P=new Map;c.forEach((function(t){var e=t.element;i.has(e)&&(P.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,T))})),o.forEach((function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach((function(t){h(T,e,[]).push(t),t.destroy()}))}));var I=_.filter((function(t){return $t(t,p,d)})),R=new Map;Wt(R,this.driver,x,d,a.a).forEach((function(t){$t(t,p,d)&&I.push(t)}));var M=new Map;y.forEach((function(t,e){Wt(M,n.driver,new Set(t),p,a.p)})),I.forEach((function(t){var e=R.get(t),n=M.get(t);R.set(t,Object(r.a)({},e,n))}));var N=[],F=[],L={};c.forEach((function(t){var e=t.element,r=t.player,a=t.instruction;if(i.has(e)){if(f.has(e))return r.onDestroy((function(){return V(e,a.toStyles)})),r.disabled=!0,r.overrideTotalTime(a.totalTime),void o.push(r);var c=L;if(P.size>1){for(var u=e,p=[];u=u.parentNode;){var d=P.get(u);if(d){c=d;break}p.push(u)}p.forEach((function(t){return P.set(t,c)}))}var h=n._buildAnimation(r.namespaceId,a,T,s,M,R);if(r.setRealPlayer(h),c===L)N.push(r);else{var m=n.playersByElement.get(c);m&&m.length&&(r.parentPlayer=l(m)),o.push(r)}}else B(e,a.fromStyles),r.onDestroy((function(){return V(e,a.toStyles)})),F.push(r),f.has(e)&&o.push(r)})),F.forEach((function(t){var e=s.get(t.element);if(e&&e.length){var n=l(e);t.setRealPlayer(n)}})),o.forEach((function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()}));for(var z=0;z<_.length;z++){var H,U=(H=_[z])[Lt];if(Xt(H,"ng-leave"),!U||!U.hasAnimation){var G=[];if(u.size){var q=u.get(H);q&&q.length&&G.push.apply(G,Object(r.g)(q));for(var W=this.driver.query(H,D,!0),Y=0;Y0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new a.d(t.duration,t.delay)},t}(),Ut=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new a.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach((function(n){e._queuedCallbacks[n].forEach((function(e){return u(t,n,void 0,e)}))})),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.overrideTotalTime=function(t){this.totalTime=t},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart((function(){return n.triggerCallback("start")})),t.onDone((function(){return e.finish()})),t.onDestroy((function(){return e.destroy()}))},t.prototype._queueEvent=function(t,e){h(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function Gt(t){return t&&1===t.nodeType}function qt(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function Wt(t,e,n,r,i){var o=[];n.forEach((function(t){return o.push(qt(t))}));var a=[];r.forEach((function(n,r){var o={};n.forEach((function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Lt]=Ft,a.push(r))})),t.set(r,o)}));var s=0;return n.forEach((function(t){return qt(t,o[s++])})),a}function Yt(t,e){var n=new Map;if(t.forEach((function(t){return n.set(t,[])})),0==e.length)return n;var r=1,i=new Set(e),o=new Map;return e.forEach((function(t){var e=function t(e){if(!e)return r;var a=o.get(e);if(a)return a;var s=e.parentNode;return a=n.has(s)?s:i.has(s)?r:t(s),o.set(e,a),a}(t);e!==r&&n.get(e).push(t)})),n}var Kt="$$classes";function Qt(t,e){if(t.classList)t.classList.add(e);else{var n=t[Kt];n||(n=t[Kt]={}),n[e]=!0}}function Xt(t,e){if(t.classList)t.classList.remove(e);else{var n=t[Kt];n&&delete n[e]}}function Zt(t,e,n){l(n).onDone((function(){return t.processLeaveNode(e)}))}function $t(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach((function(t){return i.add(t)})):e.set(t,r),n.delete(t),!0}var Jt=function(){function t(t,e,n){var r=this;this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Ht(t,e,n),this._timelineEngine=new Rt(t,e,n),this._transitionEngine.onRemovalComplete=function(t,e){return r.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,a=this._triggerCache[o];if(!a){var s=[],l=ot(this._driver,i,s);if(s.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+s.join("\n - "));a=function(t,e){return new Tt(t,e)}(r,l),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(e,r,a)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n,r){this._transitionEngine.removeNode(t,e,r||!1,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,i){if("@"==n.charAt(0)){var o=Object(r.f)(f(n),2),a=o[0],s=o[1],l=i;this._timelineEngine.command(a,e,s,l)}else this._transitionEngine.trigger(t,e,n,i)},t.prototype.listen=function(t,e,n,i,o){if("@"==n.charAt(0)){var a=Object(r.f)(f(n),2),s=a[0],l=a[1];return this._timelineEngine.listen(s,e,l,o)}return this._transitionEngine.listen(t,e,n,i,o)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}();function te(t,e){var n=null,r=null;return Array.isArray(e)&&e.length?(n=ne(e[0]),e.length>1&&(r=ne(e[e.length-1]))):e&&(n=ne(e)),n||r?new ee(t,n,r):null}var ee=function(){function t(e,n,r){this._element=e,this._startStyles=n,this._endStyles=r,this._state=0;var i=t.initialStylesByElement.get(e);i||t.initialStylesByElement.set(e,i={}),this._initialStyles=i}return t.prototype.start=function(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)},t.prototype.finish=function(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)},t.prototype.destroy=function(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(B(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(B(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)},t.initialStylesByElement=new WeakMap,t}();function ne(t){for(var e=null,n=Object.keys(t),r=0;r=this._delay&&n>=this._duration&&this.finish()},t.prototype.finish=function(){this._finished||(this._finished=!0,this._onDoneFn(),ue(this._element,this._eventFn,!0))},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){var n=de(t,"").split(","),r=ce(n,e);if(r>=0){n.splice(r,1);var i=n.join(",");pe(t,"",i)}}(this._element,this._name))},t}();function se(t,e,n){pe(t,"PlayState",n,le(t,e))}function le(t,e){var n=de(t,"");return n.indexOf(",")>0?ce(n.split(","),e):ce([n],e)}function ce(t,e){for(var n=0;n=0)return n;return-1}function ue(t,e,n){n?t.removeEventListener(oe,e):t.addEventListener(oe,e)}function pe(t,e,n,r){var i=ie+e;if(null!=r){var o=t.style[i];if(o.length){var a=o.split(",");a[r]=n,n=a.join(",")}}t.style[i]=n}function de(t,e){return t.style[ie+e]}var he="linear",fe=function(){function t(t,e,n,r,i,o,a,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=a,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||he,this.totalTime=r+i,this._buildStyler()}return t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.destroy=function(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype._flushDoneFns=function(){this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[]},t.prototype._flushStartFns=function(){this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[]},t.prototype.finish=function(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())},t.prototype.setPosition=function(t){this._styler.setPosition(t)},t.prototype.getPosition=function(){return this._styler.getPosition()},t.prototype.hasStarted=function(){return this._state>=2},t.prototype.init=function(){if(!(this._state>=1)){this._state=1;this.element;this._styler.apply(),this._delay&&this._styler.pause()}},t.prototype.play=function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()},t.prototype.pause=function(){this.init(),this._styler.pause()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.reset=function(){this._styler.destroy(),this._buildStyler(),this._styler.apply()},t.prototype._buildStyler=function(){var t=this;this._styler=new ae(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",(function(){return t.finish()}))},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t.prototype.beforeDestroy=function(){var t=this;this.init();var e={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach((function(r){"offset"!=r&&(e[r]=n?t._finalStyles[r]:Z(t.element,r))}))}this.currentSnapshot=e},t}(),me=function(t){function e(e,n){var r=t.call(this)||this;return r.element=e,r._startingStyles={},r.__initialized=!1,r._styles=E(n),r}return Object(r.c)(e,t),e.prototype.init=function(){var e=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach((function(t){e._startingStyles[t]=e.element.style[t]})),t.prototype.init.call(this))},e.prototype.play=function(){var e=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach((function(t){return e.element.style.setProperty(t,e._styles[t])})),t.prototype.play.call(this))},e.prototype.destroy=function(){var e=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach((function(t){var n=e._startingStyles[t];n?e.element.style.setProperty(t,n):e.element.style.removeProperty(t)})),this._startingStyles=null,t.prototype.destroy.call(this))},e}(a.d),ge=function(){function t(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.buildKeyframeElement=function(t,e,n){n=n.map((function(t){return E(t)}));var r="@keyframes "+e+" {\n",i="";n.forEach((function(t){i=" ";var e=parseFloat(t.offset);r+=""+i+100*e+"% {\n",i+=" ",Object.keys(t).forEach((function(e){var n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(r+=i+"animation-timing-function: "+n+";\n"));default:return void(r+=""+i+e+": "+n+";\n")}})),r+=i+"}\n"})),r+="}\n";var o=document.createElement("style");return o.innerHTML=r,o},t.prototype.animate=function(t,e,n,r,i,o,a){void 0===o&&(o=[]),a&&this._notifyFaultyScrubber();var s=o.filter((function(t){return t instanceof fe})),l={};K(n,r)&&s.forEach((function(t){var e=t.currentSnapshot;Object.keys(e).forEach((function(t){return l[t]=e[t]}))}));var c=function(t){var e={};if(t){(Array.isArray(t)?t:[t]).forEach((function(t){Object.keys(t).forEach((function(n){"offset"!=n&&"easing"!=n&&(e[n]=t[n])}))}))}return e}(e=Q(t,e,l));if(0==n)return new me(t,c);var u="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(p);var d=te(t,e),h=new fe(t,e,u,n,r,i,c,d);return h.onDestroy((function(){var t;(t=p).parentNode.removeChild(t)})),h},t.prototype._notifyFaultyScrubber=function(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)},t}();var ye=function(){function t(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.init=function(){this._buildPlayer(),this._preparePlayerBeforeStart()},t.prototype._buildPlayer=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",(function(){return t._onFinish()}))}},t.prototype._preparePlayerBeforeStart=function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.play=function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()},t.prototype.pause=function(){this.init(),this.domPlayer.pause()},t.prototype.finish=function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this.domPlayer&&this.domPlayer.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.setPosition=function(t){this.domPlayer.currentTime=t*this.time},t.prototype.getPosition=function(){return this.domPlayer.currentTime/this.time},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._delay+this._duration},enumerable:!0,configurable:!0}),t.prototype.beforeDestroy=function(){var t=this,e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach((function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:Z(t.element,n))})),this.currentSnapshot=e},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}(),ve=function(){function t(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(be().toString()),this._cssKeyframesDriver=new ge}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.overrideWebAnimationsSupport=function(t){this._isNativeImpl=t},t.prototype.animate=function(t,e,n,r,i,o,a){if(void 0===o&&(o=[]),!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,r,i,o);var s={duration:n,delay:r,fill:0==r?"both":"forwards"};i&&(s.easing=i);var l={},c=o.filter((function(t){return t instanceof ye}));K(n,r)&&c.forEach((function(t){var e=t.currentSnapshot;Object.keys(e).forEach((function(t){return l[t]=e[t]}))}));var u=te(t,e=Q(t,e=e.map((function(t){return N(t,!1)})),l));return new ye(t,e,s,u)},t}();function be(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}var _e=n("Ip0R");n.d(e,"b",(function(){return Ie})),n.d(e,"a",(function(){return Ae}));var we=function(t){function e(e,n){var r=t.call(this)||this;r._nextAnimationId=0;var o={id:"0",encapsulation:i.qb.None,styles:[],data:{animation:[]}};return r._renderer=e.createRenderer(n.body,o),r}return Object(r.c)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?Object(a.j)(t):t;return Oe(this._renderer,null,e,"register",[n]),new xe(e,this._renderer)},e=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(_e.c)),Object(r.d)("design:paramtypes",[i.ab,Object])],e)}(a.b),xe=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(r.c)(e,t),e.prototype.create=function(t,e){return new Ce(this._id,t,e||{},this._renderer)},e}(a.c),Ce=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t\r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n {{ \'REGISTERED_USERS\' | translate }} \r\n {{ element }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n'},xMyE:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n("mrSG"),i=n("FFOo"),o=n("+umK"),a=n("2Bdj");function s(t,e,n){return function(r){return r.lift(new l(t,e,n))}}var l=function(){function t(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.nextOrObserver,this.error,this.complete))},t}(),c=function(t){function e(e,n,r,i){var s=t.call(this,e)||this;return s._tapNext=o.a,s._tapError=o.a,s._tapComplete=o.a,s._tapError=r||o.a,s._tapComplete=i||o.a,Object(a.a)(n)?(s._context=s,s._tapNext=n):n&&(s._context=n,s._tapNext=n.next||o.a,s._tapError=n.error||o.a,s._tapComplete=n.complete||o.a),s}return r.c(e,t),e.prototype._next=function(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)},e.prototype._error=function(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()},e}(i.a)},xTla:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}()},xlPZ:function(t,e,n){"use strict";var r=n("mrSG"),i=n("K9Ia"),o=n("6blF"),a=n("FFOo"),s=n("pugT"),l=n("yGWI"),c=function(t){function e(e,n){var r=t.call(this)||this;return r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return r.c(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new s.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed&&(this._connection=null,t=s.a.EMPTY)),t},e.prototype.refCount=function(){return Object(l.a)()(this)},e}(o.a),u=function(){var t=c.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}}(),p=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return r.c(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);a.a;function d(t,e){return function(n){var r;if(r="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new h(r,e));var i=Object.create(n,u);return i.source=n,i.subjectFactory=r,i}}n.d(e,"a",(function(){return d}));var h=function(){function t(t,e){this.subjectFactory=t,this.selector=e}return t.prototype.call=function(t,e){var n=this.selector,r=this.subjectFactory(),i=n(r).subscribe(t);return i.add(e.subscribe(r)),i},t}()},y3By:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return o}));var r=n("+umK");function i(){for(var t=[],e=0;e1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(i.a)},yLV6:function(t,e,n){var r;!function(i,o,a,s){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=o.createElement("div"),p="function",d=Math.round,h=Math.abs,f=Date.now;function m(t,e,n){return setTimeout(x(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(y(t,n[e],n),!0)}function y(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function A(t){return t.trim().split(/\s+/g)}function D(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;rn[e]})):r.sort()),r}function I(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=nt(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,l=a?a.center:o.center,c=e.center=rt(r);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=st(l,c),e.distance=at(l,c),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==B&&o.eventType!==H||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y});e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=ot(e.deltaX,e.deltaY);var u=it(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=h(u.x)>h(u.y)?u.x:u.y,e.scale=a?(p=a.pointers,d=r,at(d[0],d[1],J)/at(p[0],p[1],J)):1,e.rotation=a?function(t,e){return st(e[1],e[0],J)+st(t[1],t[0],J)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,i,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=U&&(l>V||a.velocity===s)){var c=e.deltaX-a.deltaX,u=e.deltaY-a.deltaY,p=it(l,c,u);r=p.x,i=p.y,n=h(p.x)>h(p.y)?p.x:p.y,o=ot(c,u),t.lastInterval=e}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}(n,e);var p,d;var m=t.element;k(e.srcEvent.target,m)&&(m=e.srcEvent.target);e.target=m}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function nt(t){for(var e=[],n=0;n=h(e)?t<0?q:W:e<0?Y:K}function at(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function st(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,r)/Math.PI}tt.prototype={handler:function(){},init:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(M(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(M(this.element),this.evWin,this.domHandler)}};var lt={mousedown:B,mousemove:z,mouseup:H},ct="mousedown",ut="mousemove mouseup";function pt(){this.evEl=ct,this.evWin=ut,this.pressed=!1,tt.apply(this,arguments)}w(pt,tt,{handler:function(t){var e=lt[t.type];e&B&&0===t.button&&(this.pressed=!0),e&z&&1!==t.which&&(e=H),this.pressed&&(e&H&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:B,pointermove:z,pointerup:H,pointercancel:U,pointerout:U},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},ft="pointerdown",mt="pointermove pointerup pointercancel";function gt(){this.evEl=ft,this.evWin=mt,tt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(ft="MSPointerDown",mt="MSPointerMove MSPointerUp MSPointerCancel"),w(gt,tt,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=dt[r],o=ht[t.pointerType]||t.pointerType,a="touch"==o,s=D(e,t.pointerId,"pointerId");i&B&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):i&(H|U)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var yt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},vt="touchstart",bt="touchstart touchmove touchend touchcancel";function _t(){this.evTarget=vt,this.evWin=bt,this.started=!1,tt.apply(this,arguments)}function wt(t,e){var n=T(t.touches),r=T(t.changedTouches);return e&(H|U)&&(n=P(n.concat(r),"identifier",!0)),[n,r]}w(_t,tt,{handler:function(t){var e=yt[t.type];if(e===B&&(this.started=!0),this.started){var n=wt.call(this,t,e);e&(H|U)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var xt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},Ct="touchstart touchmove touchend touchcancel";function Ot(){this.evTarget=Ct,this.targetIds={},tt.apply(this,arguments)}function Et(t,e){var n=T(t.touches),r=this.targetIds;if(e&(B|z)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=T(t.changedTouches),s=[],l=this.target;if(o=n.filter((function(t){return k(t.target,l)})),e===B)for(i=0;i-1&&r.splice(t,1)}),St)}}function Tt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n=Gt&&r(e.options.event+Kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return Zt.prototype.attrTest.call(this,t)&&(this.state&Ht||!(this.state&Ht)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Qt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(Jt,Zt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Nt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Ht)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),w(te,Yt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Rt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distancee.time;if(this._input=t,!r||!n||t.eventType&(H|U)&&!i)this.reset();else if(t.eventType&B)this.reset(),this._timer=m((function(){this.state=qt,this.tryEmit()}),e.time,this);else if(t.eventType&H)return qt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===qt&&(t&&t.eventType&H?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(ee,Zt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Nt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Ht)}}),w(ne,Zt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Q|X,pointers:1},getTouchAction:function(){return $t.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Q|X)?e=t.overallVelocity:n&Q?e=t.overallVelocityX:n&X&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&H},emit:function(t){var e=Qt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(re,Yt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Mt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞",int:"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"},h="";d.ngsp=h;var f,m,g=function(){function t(t){var e=this,n=void 0===t?{}:t,i=n.closedByChildren,o=n.implicitNamespacePrefix,a=n.contentType,s=void 0===a?r.PARSABLE_DATA:a,l=n.closedByParent,c=void 0!==l&&l,u=n.isVoid,p=void 0!==u&&u,d=n.ignoreFirstLf,h=void 0!==d&&d;this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach((function(t){return e.closedByChildren[t]=!0})),this.isVoid=p,this.closedByParent=c||p,this.implicitNamespacePrefix=o||null,this.contentType=s,this.ignoreFirstLf=h}return t.prototype.isClosedByChild=function(t){return this.isVoid||t.toLowerCase()in this.closedByChildren},t}();function y(t){return m||(f=new g,m={base:new g({isVoid:!0}),meta:new g({isVoid:!0}),area:new g({isVoid:!0}),embed:new g({isVoid:!0}),link:new g({isVoid:!0}),img:new g({isVoid:!0}),input:new g({isVoid:!0}),param:new g({isVoid:!0}),hr:new g({isVoid:!0}),br:new g({isVoid:!0}),source:new g({isVoid:!0}),track:new g({isVoid:!0}),wbr:new g({isVoid:!0}),p:new g({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new g({closedByChildren:["tbody","tfoot"]}),tbody:new g({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new g({closedByChildren:["tbody"],closedByParent:!0}),tr:new g({closedByChildren:["tr"],closedByParent:!0}),td:new g({closedByChildren:["td","th"],closedByParent:!0}),th:new g({closedByChildren:["td","th"],closedByParent:!0}),col:new g({isVoid:!0}),svg:new g({implicitNamespacePrefix:"svg"}),math:new g({implicitNamespacePrefix:"math"}),li:new g({closedByChildren:["li"],closedByParent:!0}),dt:new g({closedByChildren:["dt","dd"]}),dd:new g({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new g({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new g({closedByChildren:["optgroup"],closedByParent:!0}),option:new g({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new g({ignoreFirstLf:!0}),listing:new g({ignoreFirstLf:!0}),style:new g({contentType:r.RAW_TEXT}),script:new g({contentType:r.RAW_TEXT}),title:new g({contentType:r.ESCAPABLE_RAW_TEXT}),textarea:new g({contentType:r.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),m[t.toLowerCase()]||f}var v,b,_=new RegExp("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-.\\w*]+)(?:=([\"']?)([^\\]\"']*)\\5)?\\])|(\\))|(\\s*,\\s*)","g"),w=function(){function t(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return t.parse=function(e){var n,r=[],i=function(t,e){e.notSelectors.length>0&&!e.element&&0==e.classNames.length&&0==e.attrs.length&&(e.element="*"),t.push(e)},o=new t,a=o,s=!1;for(_.lastIndex=0;n=_.exec(e);){if(n[1]){if(s)throw new Error("Nesting :not is not allowed in a selector");s=!0,a=new t,o.notSelectors.push(a)}if(n[2]&&a.setElement(n[2]),n[3]&&a.addClassName(n[3]),n[4]&&a.addAttribute(n[4],n[6]),n[7]&&(s=!1,a=o),n[8]){if(s)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=a=new t}}return i(r,o),r},t.prototype.isElementSelector=function(){return this.hasElementSelector()&&0==this.classNames.length&&0==this.attrs.length&&0===this.notSelectors.length},t.prototype.hasElementSelector=function(){return!!this.element},t.prototype.setElement=function(t){void 0===t&&(t=null),this.element=t},t.prototype.getMatchingElementTemplate=function(){for(var t=this.element||"div",e=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r":"<"+t+e+n+">"},t.prototype.getAttrs=function(){var t=[];return this.classNames.length>0&&t.push("class",this.classNames.join(" ")),t.concat(this.attrs)},t.prototype.addAttribute=function(t,e){void 0===e&&(e=""),this.attrs.push(t,e&&e.toLowerCase()||"")},t.prototype.addClassName=function(t){this.classNames.push(t.toLowerCase())},t.prototype.toString=function(){var t=this.element||"";if(this.classNames&&this.classNames.forEach((function(e){return t+="."+e})),this.attrs)for(var e=0;e1&&(n=new C(t),this._listContexts.push(n));for(var r=0;r0)||this.listContext&&this.listContext.alreadyMatched||(n=!x.createNotMatcher(this.notSelectors).match(t,null));return!n||!e||this.listContext&&this.listContext.alreadyMatched||(this.listContext&&(this.listContext.alreadyMatched=!0),e(this.selector,this.cbContext)),n},t}(),E=X("Inject",(function(t){return{token:t}})),S=X("InjectionToken",(function(t){return{_desc:t,ngInjectableDef:void 0}})),k=X("Attribute",(function(t){return{attributeName:t}})),j=X("ContentChildren",(function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!1,descendants:!1},e)})),A=X("ContentChild",(function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!0,isViewQuery:!1,descendants:!0},e)})),D=X("ViewChildren",(function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!0,descendants:!0},e)})),T=X("ViewChild",(function(t,e){return Object(o.a)({selector:t,first:!0,isViewQuery:!0,descendants:!0},e)})),P=X("Directive",(function(t){return void 0===t&&(t={}),t}));!function(t){t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(v||(v={})),function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"}(b||(b={}));var I,R,M=X("Component",(function(t){return void 0===t&&(t={}),Object(o.a)({changeDetection:b.Default},t)})),N=X("Pipe",(function(t){return Object(o.a)({pure:!0},t)})),F=X("Input",(function(t){return{bindingPropertyName:t}})),L=X("Output",(function(t){return{bindingPropertyName:t}})),V=X("HostBinding",(function(t){return{hostPropertyName:t}})),B=X("HostListener",(function(t,e){return{eventName:t,args:e}})),z=X("NgModule",(function(t){return t})),H=X("Injectable",(function(t){return void 0===t&&(t={}),t})),U={name:"custom-elements"},G={name:"no-errors-schema"},q=X("Optional"),W=X("Self"),Y=X("SkipSelf"),K=X("Host"),Q=Function;function X(t,e){function n(){for(var n=[],r=0;r=55296&&r<=56319&&t.length>n+1){var i=t.charCodeAt(n+1);i>=56320&&i<=57343&&(n++,r=(r-55296<<10)+i-56320+65536)}r<=127?e+=String.fromCharCode(r):r<=2047?e+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?e+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(e+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return e}function Ve(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(Ve).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;if(!t.toString)return"object";var e=t.toString();if(null==e)return""+e;var n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function Be(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t}function ze(t){return!!t&&"function"==typeof t.then}var He=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")},Ue="undefined"!=typeof window&&window,Ge="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,qe="undefined"!=typeof global&&global||Ue||Ge,We={},Ye=function(t){function e(e){var n=t.call(this,e.type)||this;return n.resolved=e,n.original=e,n}return Object(o.c)(e,t),e.prototype.visitExpression=function(t,e){return e===We?this.original.visitExpression(t,e):this.resolved.visitExpression(t,e)},e.prototype.isEquivalent=function(t){return t instanceof e&&this.resolved.isEquivalent(t.resolved)},e.prototype.isConstant=function(){return!0},e.prototype.fixup=function(t){this.resolved=t,this.shared=!0},e}(mt),Ke=function(){function t(){this.statements=[],this.literals=new Map,this.literalFactories=new Map,this.injectorDefinitions=new Map,this.directiveDefinitions=new Map,this.componentDefinitions=new Map,this.pipeDefinitions=new Map,this.nextNameIndex=0}return t.prototype.getConstLiteral=function(t,e){if(t instanceof kt||t instanceof Ye)return t;var n=this.keyOf(t),r=this.literals.get(n),i=!1;if(r||(r=new Ye(t),this.literals.set(n,r),i=!0),!i&&!r.shared||i&&e){var o=this.freshName();this.statements.push(de(o).set(t).toDeclStmt(lt,[Ct.Final])),r.fixup(de(o))}return r},t.prototype.getDefinition=function(t,e,n,r){void 0===r&&(r=!1);var i=this.definitionsOf(e),o=i.get(t),a=!1;if(!o){var s=this.propertyNameOf(e);o=new Ye(n.importExpr(t).prop(s)),i.set(t,o),a=!0}if(!a&&!o.shared||a&&r){var l=this.freshName();this.statements.push(de(l).set(o.resolved).toDeclStmt(lt,[Ct.Final])),o.fixup(de(l))}return o},t.prototype.getLiteralFactory=function(t){if(t instanceof Vt){var e=t.entries.map((function(t){return t.isConstant()?t:_e(null)})),n=this.keyOf(ge(e));return this._getLiteralFactory(n,t.entries,(function(t){return ge(t)}))}var r=ye(t.entries.map((function(t){return{key:t.key,value:t.value.isConstant()?t.value:_e(null),quoted:t.quoted}})));n=this.keyOf(r);return this._getLiteralFactory(n,t.entries.map((function(t){return t.value})),(function(e){return ye(e.map((function(e,n){return{key:t.entries[n].key,value:e,quoted:t.entries[n].quoted}})))}))},t.prototype._getLiteralFactory=function(t,e,n){var r=this,i=this.literalFactories.get(t),o=e.filter((function(t){return!t.isConstant()}));if(!i){var a=e.map((function(t,e){return t.isConstant()?r.getConstLiteral(t,!0):de("a"+e)})),s=ve(a.filter(Ze).map((function(t){return new Rt(t.name,st)})),[new Qt(n(a))],lt),l=this.freshName();this.statements.push(de(l).set(s).toDeclStmt(lt,[Ct.Final])),i=de(l),this.literalFactories.set(t,i)}return{literalFactory:i,literalFactoryArguments:o}},t.prototype.uniqueName=function(t){return""+t+this.nextNameIndex++},t.prototype.definitionsOf=function(t){switch(t){case 2:return this.componentDefinitions;case 1:return this.directiveDefinitions;case 0:return this.injectorDefinitions;case 3:return this.pipeDefinitions}return Pe("Unknown definition kind "+t),this.componentDefinitions},t.prototype.propertyNameOf=function(t){switch(t){case 2:return"ngComponentDef";case 1:return"ngDirectiveDef";case 0:return"ngInjectorDef";case 3:return"ngPipeDef"}return Pe("Unknown definition kind "+t),""},t.prototype.freshName=function(){return this.uniqueName("_c")},t.prototype.keyOf=function(t){return t.visitExpression(new Qe,We)},t}(),Qe=function(){function t(){this.visitWrappedNodeExpr=Xe,this.visitWriteVarExpr=Xe,this.visitWriteKeyExpr=Xe,this.visitWritePropExpr=Xe,this.visitInvokeMethodExpr=Xe,this.visitInvokeFunctionExpr=Xe,this.visitInstantiateExpr=Xe,this.visitConditionalExpr=Xe,this.visitNotExpr=Xe,this.visitAssertNotNullExpr=Xe,this.visitCastExpr=Xe,this.visitFunctionExpr=Xe,this.visitBinaryOperatorExpr=Xe,this.visitReadPropExpr=Xe,this.visitReadKeyExpr=Xe,this.visitCommaExpr=Xe}return t.prototype.visitLiteralExpr=function(t){return""+("string"==typeof t.value?'"'+t.value+'"':t.value)},t.prototype.visitLiteralArrayExpr=function(t,e){var n=this;return"["+t.entries.map((function(t){return t.visitExpression(n,e)})).join(",")+"]"},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return"{"+t.entries.map((function(t){return function(t){var e=t.quoted?'"':"";return""+e+t.key+e}(t)+":"+t.value.visitExpression(n,e)})).join(",")},t.prototype.visitExternalExpr=function(t){return t.value.moduleName?"EX:"+t.value.moduleName+":"+t.value.name:"EX:"+t.value.runtime.name},t.prototype.visitReadVarExpr=function(t){return"VAR:"+t.name},t.prototype.visitTypeofExpr=function(t,e){return"TYPEOF:"+t.expr.visitExpression(this,e)},t}();function Xe(t){throw new Error("Invalid state: Visitor "+this.constructor.name+" doesn't handle "+t.constructor.name)}function Ze(t){return t instanceof yt}var $e="@angular/core",Je=function(){function t(){}return t.ANALYZE_FOR_ENTRY_COMPONENTS={name:"ANALYZE_FOR_ENTRY_COMPONENTS",moduleName:$e},t.ElementRef={name:"ElementRef",moduleName:$e},t.NgModuleRef={name:"NgModuleRef",moduleName:$e},t.ViewContainerRef={name:"ViewContainerRef",moduleName:$e},t.ChangeDetectorRef={name:"ChangeDetectorRef",moduleName:$e},t.QueryList={name:"QueryList",moduleName:$e},t.TemplateRef={name:"TemplateRef",moduleName:$e},t.Renderer2={name:"Renderer2",moduleName:$e},t.CodegenComponentFactoryResolver={name:"ɵCodegenComponentFactoryResolver",moduleName:$e},t.ComponentFactoryResolver={name:"ComponentFactoryResolver",moduleName:$e},t.ComponentFactory={name:"ComponentFactory",moduleName:$e},t.ComponentRef={name:"ComponentRef",moduleName:$e},t.NgModuleFactory={name:"NgModuleFactory",moduleName:$e},t.createModuleFactory={name:"ɵcmf",moduleName:$e},t.moduleDef={name:"ɵmod",moduleName:$e},t.moduleProviderDef={name:"ɵmpd",moduleName:$e},t.RegisterModuleFactoryFn={name:"ɵregisterModuleFactory",moduleName:$e},t.inject={name:"ɵɵinject",moduleName:$e},t.INJECTOR={name:"INJECTOR",moduleName:$e},t.Injector={name:"Injector",moduleName:$e},t.ɵɵdefineInjectable={name:"ɵɵdefineInjectable",moduleName:$e},t.InjectableDef={name:"ɵɵInjectableDef",moduleName:$e},t.ViewEncapsulation={name:"ViewEncapsulation",moduleName:$e},t.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleName:$e},t.SecurityContext={name:"SecurityContext",moduleName:$e},t.LOCALE_ID={name:"LOCALE_ID",moduleName:$e},t.TRANSLATIONS_FORMAT={name:"TRANSLATIONS_FORMAT",moduleName:$e},t.inlineInterpolate={name:"ɵinlineInterpolate",moduleName:$e},t.interpolate={name:"ɵinterpolate",moduleName:$e},t.EMPTY_ARRAY={name:"ɵEMPTY_ARRAY",moduleName:$e},t.EMPTY_MAP={name:"ɵEMPTY_MAP",moduleName:$e},t.Renderer={name:"Renderer",moduleName:$e},t.viewDef={name:"ɵvid",moduleName:$e},t.elementDef={name:"ɵeld",moduleName:$e},t.anchorDef={name:"ɵand",moduleName:$e},t.textDef={name:"ɵted",moduleName:$e},t.directiveDef={name:"ɵdid",moduleName:$e},t.providerDef={name:"ɵprd",moduleName:$e},t.queryDef={name:"ɵqud",moduleName:$e},t.pureArrayDef={name:"ɵpad",moduleName:$e},t.pureObjectDef={name:"ɵpod",moduleName:$e},t.purePipeDef={name:"ɵppd",moduleName:$e},t.pipeDef={name:"ɵpid",moduleName:$e},t.nodeValue={name:"ɵnov",moduleName:$e},t.ngContentDef={name:"ɵncd",moduleName:$e},t.unwrapValue={name:"ɵunv",moduleName:$e},t.createRendererType2={name:"ɵcrt",moduleName:$e},t.RendererType2={name:"RendererType2",moduleName:$e},t.ViewDefinition={name:"ɵViewDefinition",moduleName:$e},t.createComponentFactory={name:"ɵccf",moduleName:$e},t.setClassMetadata={name:"ɵsetClassMetadata",moduleName:$e},t}();function tn(t){return{identifier:{reference:t}}}function en(t,e){return tn(t.resolveExternalReference(e))}var nn=function(){function t(t,e,n){this.filePath=t,this.name=e,this.members=n}return t.prototype.assertNoMembers=function(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got "+JSON.stringify(this)+".")},t}(),rn=function(){function t(){this.cache=new Map}return t.prototype.get=function(t,e,n){var r='"'+t+'".'+e+((n=n||[]).length?"."+n.join("."):""),i=this.cache.get(r);return i||(i=new nn(t,e,n),this.cache.set(r,i)),i},t}(),on=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function an(t){return t.replace(/\W/g,"_")}var sn,ln=0;function cn(t){if(!t||!t.reference)return null;var e=t.reference;if(e instanceof nn)return e.name;if(e.__anonymousType)return e.__anonymousType;var n=Ve(e);return n.indexOf("(")>=0?(n="anonymous_"+ln++,e.__anonymousType=n):n=an(n),n}function un(t){var e=t.reference;return e instanceof nn?e.filePath:"./"+Ve(e)}function pn(t,e){return"View_"+cn({reference:t})+"_"+e}function dn(t){return"RenderType_"+cn({reference:t})}function hn(t){return cn({reference:t})+"NgFactory"}function fn(t){return null!=t.value?an(t.value):cn(t.identifier)}function mn(t){return null!=t.identifier?t.identifier.reference:t.value}!function(t){t[t.Pipe=0]="Pipe",t[t.Directive=1]="Directive",t[t.NgModule=2]="NgModule",t[t.Injectable=3]="Injectable"}(sn||(sn={}));var gn=function(t){var e=void 0===t?{}:t,n=e.moduleUrl,r=e.styles,i=e.styleUrls;this.moduleUrl=n||null,this.styles=xn(r),this.styleUrls=xn(i)},yn=function(){function t(t){var e=t.encapsulation,n=t.template,r=t.templateUrl,i=t.htmlAst,o=t.styles,a=t.styleUrls,s=t.externalStylesheets,l=t.animations,c=t.ngContentSelectors,u=t.interpolation,p=t.isInline,d=t.preserveWhitespaces;if(this.encapsulation=e,this.template=n,this.templateUrl=r,this.htmlAst=i,this.styles=xn(o),this.styleUrls=xn(a),this.externalStylesheets=xn(s),this.animations=l?On(l):[],this.ngContentSelectors=c||[],u&&2!=u.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=u,this.isInline=p,this.preserveWhitespaces=d}return t.prototype.toSummary=function(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}},t}(),vn=function(){function t(t){var e=t.isHost,n=t.type,r=t.isComponent,i=t.selector,o=t.exportAs,a=t.changeDetection,s=t.inputs,l=t.outputs,c=t.hostListeners,u=t.hostProperties,p=t.hostAttributes,d=t.providers,h=t.viewProviders,f=t.queries,m=t.guards,g=t.viewQueries,y=t.entryComponents,v=t.template,b=t.componentViewType,_=t.rendererType,w=t.componentFactory;this.isHost=!!e,this.type=n,this.isComponent=r,this.selector=i,this.exportAs=o,this.changeDetection=a,this.inputs=s,this.outputs=l,this.hostListeners=c,this.hostProperties=u,this.hostAttributes=p,this.providers=xn(d),this.viewProviders=xn(h),this.queries=xn(f),this.guards=m,this.viewQueries=xn(g),this.entryComponents=xn(y),this.template=v,this.componentViewType=b,this.rendererType=_,this.componentFactory=w}return t.create=function(e){var n=e.isHost,r=e.type,i=e.isComponent,o=e.selector,a=e.exportAs,s=e.changeDetection,l=e.inputs,c=e.outputs,u=e.host,p=e.providers,d=e.viewProviders,h=e.queries,f=e.guards,m=e.viewQueries,g=e.entryComponents,y=e.template,v=e.componentViewType,b=e.rendererType,_=e.componentFactory,w={},x={},C={};null!=u&&Object.keys(u).forEach((function(t){var e=u[t],n=t.match(on);null===n?C[t]=e:null!=n[1]?x[n[1]]=e:null!=n[2]&&(w[n[2]]=e)}));var O={};null!=l&&l.forEach((function(t){var e=Ce(t,[t,t]);O[e[0]]=e[1]}));var E={};return null!=c&&c.forEach((function(t){var e=Ce(t,[t,t]);E[e[0]]=e[1]})),new t({isHost:n,type:r,isComponent:!!i,selector:o,exportAs:a,changeDetection:s,inputs:O,outputs:E,hostListeners:w,hostProperties:x,hostAttributes:C,providers:p,viewProviders:d,queries:h,guards:f,viewQueries:m,entryComponents:g,template:y,componentViewType:v,rendererType:b,componentFactory:_})},t.prototype.toSummary=function(){return{summaryKind:sn.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}},t}(),bn=function(){function t(t){var e=t.type,n=t.name,r=t.pure;this.type=e,this.name=n,this.pure=!!r}return t.prototype.toSummary=function(){return{summaryKind:sn.Pipe,type:this.type,name:this.name,pure:this.pure}},t}(),_n=function(){function t(t){var e=t.type,n=t.providers,r=t.declaredDirectives,i=t.exportedDirectives,o=t.declaredPipes,a=t.exportedPipes,s=t.entryComponents,l=t.bootstrapComponents,c=t.importedModules,u=t.exportedModules,p=t.schemas,d=t.transitiveModule,h=t.id;this.type=e||null,this.declaredDirectives=xn(r),this.exportedDirectives=xn(i),this.declaredPipes=xn(o),this.exportedPipes=xn(a),this.providers=xn(n),this.entryComponents=xn(s),this.bootstrapComponents=xn(l),this.importedModules=xn(c),this.exportedModules=xn(u),this.schemas=xn(p),this.id=h||null,this.transitiveModule=d||null}return t.prototype.toSummary=function(){var t=this.transitiveModule;return{summaryKind:sn.NgModule,type:this.type,entryComponents:t.entryComponents,providers:t.providers,modules:t.modules,exportedDirectives:t.exportedDirectives,exportedPipes:t.exportedPipes}},t}(),wn=function(){function t(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}return t.prototype.addProvider=function(t,e){this.providers.push({provider:t,module:e})},t.prototype.addDirective=function(t){this.directivesSet.has(t.reference)||(this.directivesSet.add(t.reference),this.directives.push(t))},t.prototype.addExportedDirective=function(t){this.exportedDirectivesSet.has(t.reference)||(this.exportedDirectivesSet.add(t.reference),this.exportedDirectives.push(t))},t.prototype.addPipe=function(t){this.pipesSet.has(t.reference)||(this.pipesSet.add(t.reference),this.pipes.push(t))},t.prototype.addExportedPipe=function(t){this.exportedPipesSet.has(t.reference)||(this.exportedPipesSet.add(t.reference),this.exportedPipes.push(t))},t.prototype.addModule=function(t){this.modulesSet.has(t.reference)||(this.modulesSet.add(t.reference),this.modules.push(t))},t.prototype.addEntryComponent=function(t){this.entryComponentsSet.has(t.componentType)||(this.entryComponentsSet.add(t.componentType),this.entryComponents.push(t))},t}();function xn(t){return t||[]}var Cn=function(t,e){var n=e.useClass,r=e.useValue,i=e.useExisting,o=e.useFactory,a=e.deps,s=e.multi;this.token=t,this.useClass=n||null,this.useValue=r,this.useExisting=i,this.useFactory=o||null,this.dependencies=a||null,this.multi=!!s};function On(t){return t.reduce((function(t,e){var n=Array.isArray(e)?On(e):e;return t.concat(n)}),[])}function En(t){return t.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function Sn(t,e,n){var r;return r=n.isInline?e.type.reference instanceof nn?e.type.reference.filePath+"."+e.type.reference.name+".html":cn(t)+"/"+cn(e.type)+".html":n.templateUrl,e.type.reference instanceof nn?r:En(r)}var kn="@angular/core",jn=function(){function t(){}return t.NEW_METHOD="factory",t.TRANSFORM_METHOD="transform",t.PATCH_DEPS="patchedDeps",t.namespaceHTML={name:"ɵɵnamespaceHTML",moduleName:kn},t.namespaceMathML={name:"ɵɵnamespaceMathML",moduleName:kn},t.namespaceSVG={name:"ɵɵnamespaceSVG",moduleName:kn},t.element={name:"ɵɵelement",moduleName:kn},t.elementStart={name:"ɵɵelementStart",moduleName:kn},t.elementEnd={name:"ɵɵelementEnd",moduleName:kn},t.select={name:"ɵɵselect",moduleName:kn},t.updateSyntheticHostBinding={name:"ɵɵupdateSyntheticHostBinding",moduleName:kn},t.componentHostSyntheticListener={name:"ɵɵcomponentHostSyntheticListener",moduleName:kn},t.attribute={name:"ɵɵattribute",moduleName:kn},t.attributeInterpolate1={name:"ɵɵattributeInterpolate1",moduleName:kn},t.attributeInterpolate2={name:"ɵɵattributeInterpolate2",moduleName:kn},t.attributeInterpolate3={name:"ɵɵattributeInterpolate3",moduleName:kn},t.attributeInterpolate4={name:"ɵɵattributeInterpolate4",moduleName:kn},t.attributeInterpolate5={name:"ɵɵattributeInterpolate5",moduleName:kn},t.attributeInterpolate6={name:"ɵɵattributeInterpolate6",moduleName:kn},t.attributeInterpolate7={name:"ɵɵattributeInterpolate7",moduleName:kn},t.attributeInterpolate8={name:"ɵɵattributeInterpolate8",moduleName:kn},t.attributeInterpolateV={name:"ɵɵattributeInterpolateV",moduleName:kn},t.classProp={name:"ɵɵclassProp",moduleName:kn},t.elementContainerStart={name:"ɵɵelementContainerStart",moduleName:kn},t.elementContainerEnd={name:"ɵɵelementContainerEnd",moduleName:kn},t.elementContainer={name:"ɵɵelementContainer",moduleName:kn},t.styling={name:"ɵɵstyling",moduleName:kn},t.styleMap={name:"ɵɵstyleMap",moduleName:kn},t.classMap={name:"ɵɵclassMap",moduleName:kn},t.classMapInterpolate1={name:"ɵɵclassMapInterpolate1",moduleName:kn},t.classMapInterpolate2={name:"ɵɵclassMapInterpolate2",moduleName:kn},t.classMapInterpolate3={name:"ɵɵclassMapInterpolate3",moduleName:kn},t.classMapInterpolate4={name:"ɵɵclassMapInterpolate4",moduleName:kn},t.classMapInterpolate5={name:"ɵɵclassMapInterpolate5",moduleName:kn},t.classMapInterpolate6={name:"ɵɵclassMapInterpolate6",moduleName:kn},t.classMapInterpolate7={name:"ɵɵclassMapInterpolate7",moduleName:kn},t.classMapInterpolate8={name:"ɵɵclassMapInterpolate8",moduleName:kn},t.classMapInterpolateV={name:"ɵɵclassMapInterpolateV",moduleName:kn},t.styleProp={name:"ɵɵstyleProp",moduleName:kn},t.stylePropInterpolate1={name:"ɵɵstylePropInterpolate1",moduleName:kn},t.stylePropInterpolate2={name:"ɵɵstylePropInterpolate2",moduleName:kn},t.stylePropInterpolate3={name:"ɵɵstylePropInterpolate3",moduleName:kn},t.stylePropInterpolate4={name:"ɵɵstylePropInterpolate4",moduleName:kn},t.stylePropInterpolate5={name:"ɵɵstylePropInterpolate5",moduleName:kn},t.stylePropInterpolate6={name:"ɵɵstylePropInterpolate6",moduleName:kn},t.stylePropInterpolate7={name:"ɵɵstylePropInterpolate7",moduleName:kn},t.stylePropInterpolate8={name:"ɵɵstylePropInterpolate8",moduleName:kn},t.stylePropInterpolateV={name:"ɵɵstylePropInterpolateV",moduleName:kn},t.stylingApply={name:"ɵɵstylingApply",moduleName:kn},t.styleSanitizer={name:"ɵɵstyleSanitizer",moduleName:kn},t.elementHostAttrs={name:"ɵɵelementHostAttrs",moduleName:kn},t.containerCreate={name:"ɵɵcontainer",moduleName:kn},t.nextContext={name:"ɵɵnextContext",moduleName:kn},t.templateCreate={name:"ɵɵtemplate",moduleName:kn},t.text={name:"ɵɵtext",moduleName:kn},t.textBinding={name:"ɵɵtextBinding",moduleName:kn},t.enableBindings={name:"ɵɵenableBindings",moduleName:kn},t.disableBindings={name:"ɵɵdisableBindings",moduleName:kn},t.allocHostVars={name:"ɵɵallocHostVars",moduleName:kn},t.getCurrentView={name:"ɵɵgetCurrentView",moduleName:kn},t.textInterpolate={name:"ɵɵtextInterpolate",moduleName:kn},t.textInterpolate1={name:"ɵɵtextInterpolate1",moduleName:kn},t.textInterpolate2={name:"ɵɵtextInterpolate2",moduleName:kn},t.textInterpolate3={name:"ɵɵtextInterpolate3",moduleName:kn},t.textInterpolate4={name:"ɵɵtextInterpolate4",moduleName:kn},t.textInterpolate5={name:"ɵɵtextInterpolate5",moduleName:kn},t.textInterpolate6={name:"ɵɵtextInterpolate6",moduleName:kn},t.textInterpolate7={name:"ɵɵtextInterpolate7",moduleName:kn},t.textInterpolate8={name:"ɵɵtextInterpolate8",moduleName:kn},t.textInterpolateV={name:"ɵɵtextInterpolateV",moduleName:kn},t.restoreView={name:"ɵɵrestoreView",moduleName:kn},t.pureFunction0={name:"ɵɵpureFunction0",moduleName:kn},t.pureFunction1={name:"ɵɵpureFunction1",moduleName:kn},t.pureFunction2={name:"ɵɵpureFunction2",moduleName:kn},t.pureFunction3={name:"ɵɵpureFunction3",moduleName:kn},t.pureFunction4={name:"ɵɵpureFunction4",moduleName:kn},t.pureFunction5={name:"ɵɵpureFunction5",moduleName:kn},t.pureFunction6={name:"ɵɵpureFunction6",moduleName:kn},t.pureFunction7={name:"ɵɵpureFunction7",moduleName:kn},t.pureFunction8={name:"ɵɵpureFunction8",moduleName:kn},t.pureFunctionV={name:"ɵɵpureFunctionV",moduleName:kn},t.pipeBind1={name:"ɵɵpipeBind1",moduleName:kn},t.pipeBind2={name:"ɵɵpipeBind2",moduleName:kn},t.pipeBind3={name:"ɵɵpipeBind3",moduleName:kn},t.pipeBind4={name:"ɵɵpipeBind4",moduleName:kn},t.pipeBindV={name:"ɵɵpipeBindV",moduleName:kn},t.hostProperty={name:"ɵɵhostProperty",moduleName:kn},t.property={name:"ɵɵproperty",moduleName:kn},t.propertyInterpolate={name:"ɵɵpropertyInterpolate",moduleName:kn},t.propertyInterpolate1={name:"ɵɵpropertyInterpolate1",moduleName:kn},t.propertyInterpolate2={name:"ɵɵpropertyInterpolate2",moduleName:kn},t.propertyInterpolate3={name:"ɵɵpropertyInterpolate3",moduleName:kn},t.propertyInterpolate4={name:"ɵɵpropertyInterpolate4",moduleName:kn},t.propertyInterpolate5={name:"ɵɵpropertyInterpolate5",moduleName:kn},t.propertyInterpolate6={name:"ɵɵpropertyInterpolate6",moduleName:kn},t.propertyInterpolate7={name:"ɵɵpropertyInterpolate7",moduleName:kn},t.propertyInterpolate8={name:"ɵɵpropertyInterpolate8",moduleName:kn},t.propertyInterpolateV={name:"ɵɵpropertyInterpolateV",moduleName:kn},t.i18n={name:"ɵɵi18n",moduleName:kn},t.i18nAttributes={name:"ɵɵi18nAttributes",moduleName:kn},t.i18nExp={name:"ɵɵi18nExp",moduleName:kn},t.i18nStart={name:"ɵɵi18nStart",moduleName:kn},t.i18nEnd={name:"ɵɵi18nEnd",moduleName:kn},t.i18nApply={name:"ɵɵi18nApply",moduleName:kn},t.i18nPostprocess={name:"ɵɵi18nPostprocess",moduleName:kn},t.i18nLocalize={name:"ɵɵi18nLocalize",moduleName:kn},t.load={name:"ɵɵload",moduleName:kn},t.pipe={name:"ɵɵpipe",moduleName:kn},t.projection={name:"ɵɵprojection",moduleName:kn},t.projectionDef={name:"ɵɵprojectionDef",moduleName:kn},t.reference={name:"ɵɵreference",moduleName:kn},t.inject={name:"ɵɵinject",moduleName:kn},t.injectAttribute={name:"ɵɵinjectAttribute",moduleName:kn},t.injectPipeChangeDetectorRef={name:"ɵɵinjectPipeChangeDetectorRef",moduleName:kn},t.directiveInject={name:"ɵɵdirectiveInject",moduleName:kn},t.templateRefExtractor={name:"ɵɵtemplateRefExtractor",moduleName:kn},t.resolveWindow={name:"ɵɵresolveWindow",moduleName:kn},t.resolveDocument={name:"ɵɵresolveDocument",moduleName:kn},t.resolveBody={name:"ɵɵresolveBody",moduleName:kn},t.defineBase={name:"ɵɵdefineBase",moduleName:kn},t.BaseDef={name:"ɵɵBaseDef",moduleName:kn},t.defineComponent={name:"ɵɵdefineComponent",moduleName:kn},t.setComponentScope={name:"ɵɵsetComponentScope",moduleName:kn},t.ComponentDefWithMeta={name:"ɵɵComponentDefWithMeta",moduleName:kn},t.defineDirective={name:"ɵɵdefineDirective",moduleName:kn},t.DirectiveDefWithMeta={name:"ɵɵDirectiveDefWithMeta",moduleName:kn},t.InjectorDef={name:"ɵɵInjectorDef",moduleName:kn},t.defineInjector={name:"ɵɵdefineInjector",moduleName:kn},t.NgModuleDefWithMeta={name:"ɵɵNgModuleDefWithMeta",moduleName:kn},t.defineNgModule={name:"ɵɵdefineNgModule",moduleName:kn},t.setNgModuleScope={name:"ɵɵsetNgModuleScope",moduleName:kn},t.PipeDefWithMeta={name:"ɵɵPipeDefWithMeta",moduleName:kn},t.definePipe={name:"ɵɵdefinePipe",moduleName:kn},t.queryRefresh={name:"ɵɵqueryRefresh",moduleName:kn},t.viewQuery={name:"ɵɵviewQuery",moduleName:kn},t.staticViewQuery={name:"ɵɵstaticViewQuery",moduleName:kn},t.staticContentQuery={name:"ɵɵstaticContentQuery",moduleName:kn},t.loadViewQuery={name:"ɵɵloadViewQuery",moduleName:kn},t.contentQuery={name:"ɵɵcontentQuery",moduleName:kn},t.loadContentQuery={name:"ɵɵloadContentQuery",moduleName:kn},t.NgOnChangesFeature={name:"ɵɵNgOnChangesFeature",moduleName:kn},t.InheritDefinitionFeature={name:"ɵɵInheritDefinitionFeature",moduleName:kn},t.ProvidersFeature={name:"ɵɵProvidersFeature",moduleName:kn},t.listener={name:"ɵɵlistener",moduleName:kn},t.getFactoryOf={name:"ɵɵgetFactoryOf",moduleName:kn},t.getInheritedFactory={name:"ɵɵgetInheritedFactory",moduleName:kn},t.sanitizeHtml={name:"ɵɵsanitizeHtml",moduleName:kn},t.sanitizeStyle={name:"ɵɵsanitizeStyle",moduleName:kn},t.defaultStyleSanitizer={name:"ɵɵdefaultStyleSanitizer",moduleName:kn},t.sanitizeResourceUrl={name:"ɵɵsanitizeResourceUrl",moduleName:kn},t.sanitizeScript={name:"ɵɵsanitizeScript",moduleName:kn},t.sanitizeUrl={name:"ɵɵsanitizeUrl",moduleName:kn},t.sanitizeUrlOrResourceUrl={name:"ɵɵsanitizeUrlOrResourceUrl",moduleName:kn},t}(),An=0,Dn=9,Tn=10,Pn=11,In=12,Rn=13,Mn=32,Nn=34,Fn=36,Ln=39,Vn=43,Bn=45,zn=47,Hn=59,Un=61,Gn=62,qn=48,Wn=55,Yn=57,Kn=65,Qn=69,Xn=70,Zn=90,$n=95,Jn=97,tr=101,er=102,nr=110,rr=114,ir=116,or=118,ar=122,sr=160,lr=96;function cr(t){return t>=Dn&&t<=Mn||t==sr}function ur(t){return qn<=t&&t<=Yn}function pr(t){return t>=Jn&&t<=ar||t>=Kn&&t<=Zn}function dr(t){return t===Tn||t===Rn}function hr(t){return qn<=t&&t<=Wn}var fr,mr=function(){function t(t,e,n,r){this.file=t,this.offset=e,this.line=n,this.col=r}return t.prototype.toString=function(){return null!=this.offset?this.file.url+"@"+this.line+":"+this.col:this.file.url},t.prototype.moveBy=function(e){for(var n=this.file.content,r=n.length,i=this.offset,o=this.line,a=this.col;i>0&&e<0;){if(i--,e++,(l=n.charCodeAt(i))==Tn){o--;var s=n.substr(0,i-1).lastIndexOf(String.fromCharCode(Tn));a=s>0?i-s:i}else a--}for(;i0;){var l=n.charCodeAt(i);i++,e--,l==Tn?(o++,a=0):a++}return new t(this.file,i,o,a)},t.prototype.getContext=function(t,e){var n=this.file.content,r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);for(var i=r,o=0,a=0;o0&&(o++,"\n"!=n[--r]||++a!=e););for(o=0,a=0;o]"+t.after+'")':this.msg},t.prototype.toString=function(){var t=this.span.details?", "+this.span.details:"";return this.contextualMessage()+": "+this.span.start+t},t}();var _r=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t){return t.visitText(this)},t}(),wr=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t){return t.visitBoundText(this)},t}(),xr=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t){return t.visitTextAttribute(this)},t}(),Cr=function(){function t(t,e,n,r,i,o,a,s){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.valueSpan=a,this.i18n=s}return t.fromBoundElementProperty=function(e,n){return new t(e.name,e.type,e.securityContext,e.value,e.unit,e.sourceSpan,e.valueSpan,n)},t.prototype.visit=function(t){return t.visitBoundAttribute(this)},t}(),Or=function(){function t(t,e,n,r,i,o,a){this.name=t,this.type=e,this.handler=n,this.target=r,this.phase=i,this.sourceSpan=o,this.handlerSpan=a}return t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,e.type,e.handler,n,r,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t){return t.visitBoundEvent(this)},t}(),Er=function(){function t(t,e,n,r,i,o,a,s,l,c){this.name=t,this.attributes=e,this.inputs=n,this.outputs=r,this.children=i,this.references=o,this.sourceSpan=a,this.startSourceSpan=s,this.endSourceSpan=l,this.i18n=c,0===i.length&&s&&l&&(this.sourceSpan=new yr(a.start,l.end))}return t.prototype.visit=function(t){return t.visitElement(this)},t}(),Sr=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this.tagName=t,this.attributes=e,this.inputs=n,this.outputs=r,this.templateAttrs=i,this.children=o,this.references=a,this.variables=s,this.sourceSpan=l,this.startSourceSpan=c,this.endSourceSpan=u,this.i18n=p}return t.prototype.visit=function(t){return t.visitTemplate(this)},t}(),kr=function(){function t(t,e,n,r){this.selector=t,this.attributes=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitContent(this)},t}(),jr=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitVariable(this)},t}(),Ar=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitReference(this)},t}(),Dr=function(){function t(t,e,n,r){this.vars=t,this.placeholders=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitIcu(this)},t}();(function(){function t(){}t.prototype.visitElement=function(t){},t.prototype.visitTemplate=function(t){},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}})(),function(){function t(){}t.prototype.visitElement=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references)},t.prototype.visitTemplate=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references),Tr(this,t.variables)},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}}(),function(){function t(){}t.prototype.visitElement=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.children),o=Pr(this,t.references);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.children||o!=t.references?new Er(t.name,e,n,r,i,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitTemplate=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.templateAttrs),o=Pr(this,t.children),a=Pr(this,t.references),s=Pr(this,t.variables);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.templateAttrs||o!=t.children||a!=t.references||s!=t.variables?new Sr(t.tagName,e,n,r,i,o,a,s,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitContent=function(t){return t},t.prototype.visitVariable=function(t){return t},t.prototype.visitReference=function(t){return t},t.prototype.visitTextAttribute=function(t){return t},t.prototype.visitBoundAttribute=function(t){return t},t.prototype.visitBoundEvent=function(t){return t},t.prototype.visitText=function(t){return t},t.prototype.visitBoundText=function(t){return t},t.prototype.visitIcu=function(t){return t}}();function Tr(t,e){var n,r,i,a,s=[];if(t.visit)try{for(var l=Object(o.h)(e),c=l.next();!c.done;c=l.next())var u=c.value,p=t.visit(u)||u.visit(t)}catch(f){n={error:f}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}else try{for(var d=Object(o.h)(e),h=d.next();!h.done;h=d.next()){(p=(u=h.value).visit(t))&&s.push(p)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}return s}function Pr(t,e){var n,r,i=[],a=!1;try{for(var s=Object(o.h)(e),l=s.next();!l.done;l=s.next()){var c=l.value,u=c.visit(t);u&&i.push(u),a=a||u!=c}}catch(p){n={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a?i:e}var Ir=function(t,e,n,r,i,o){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=r,this.description=i,this.id=o,t.length?this.sources=[{filePath:t[0].sourceSpan.start.file.url,startLine:t[0].sourceSpan.start.line+1,startCol:t[0].sourceSpan.start.col+1,endLine:t[t.length-1].sourceSpan.end.line+1,endCol:t[0].sourceSpan.start.col+1}]:this.sources=[]},Rr=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Mr=function(){function t(t,e){this.children=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitContainer(this,e)},t}(),Nr=function(){function t(t,e,n,r){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitIcu(this,e)},t}(),Fr=function(){function t(t,e,n,r,i,o,a){this.tag=t,this.attrs=e,this.startName=n,this.closeName=r,this.children=i,this.isVoid=o,this.sourceSpan=a}return t.prototype.visit=function(t,e){return t.visitTagPlaceholder(this,e)},t}(),Lr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitPlaceholder(this,e)},t}(),Vr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitIcuPlaceholder(this,e)},t}(),Br=function(){function t(){}return t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitContainer=function(t,e){var n=this,r=t.children.map((function(t){return t.visit(n,e)}));return new Mr(r,t.sourceSpan)},t.prototype.visitIcu=function(t,e){var n=this,r={};Object.keys(t.cases).forEach((function(i){return r[i]=t.cases[i].visit(n,e)}));var i=new Nr(t.expression,t.type,r,t.sourceSpan);return i.expressionPlaceholder=t.expressionPlaceholder,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=t.children.map((function(t){return t.visit(n,e)}));return new Fr(t.tag,t.attrs,t.startName,t.closeName,r,t.isVoid,t.sourceSpan)},t.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,t.name,t.sourceSpan)},t.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,t.name,t.sourceSpan)},t}(),zr=function(){function t(){}return t.prototype.visitText=function(t,e){},t.prototype.visitContainer=function(t,e){var n=this;t.children.forEach((function(t){return t.visit(n)}))},t.prototype.visitIcu=function(t,e){var n=this;Object.keys(t.cases).forEach((function(e){t.cases[e].visit(n)}))},t.prototype.visitTagPlaceholder=function(t,e){var n=this;t.children.forEach((function(t){return t.visit(n)}))},t.prototype.visitPlaceholder=function(t,e){},t.prototype.visitIcuPlaceholder=function(t,e){},t}();function Hr(t){return t.id||function(t){var e,n,r=Le(t),i=function(t,e){for(var n=Array(t.length+3>>>2),r=0;r>5]|=128<<24-a%32,i[15+(a+64>>9<<4)]=a;for(var f=0;f>>4).toString(16)+(15&r).toString(16)}return e.toLowerCase()}(ii([c,u,p,d,h]))}((e=t.nodes,e.map((function(t){return t.visit(qr,null)}))).join("")+"["+t.meaning+"]");var e}function Ur(t){if(t.id)return t.id;var e=new Yr;return function(t,e){var n,r=Object(o.f)(Qr(t),2),i=r[0],a=r[1];if(e){var s=Object(o.f)(Qr(e),2),l=s[0],c=s[1];n=Object(o.f)(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1],a=Object(o.f)(e,2),s=a[0],l=a[1],c=Object(o.f)(Jr(i,l),2),u=c[0],p=c[1];return[$r($r(r,s),u),p]}(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r<>>32-e,i<>>32-e]}([i,a],1),[l,c]),2),i=n[0],a=n[1]}return function(t){for(var e="",n="1",r=t.length-1;r>=0;r--)e=oi(e,ai(ni(t,r),n)),n=ai(256,n);return e.split("").reverse().join("")}(ii([2147483647&i,a]))}(t.nodes.map((function(t){return t.visit(e,null)})).join(""),t.meaning)}var Gr=function(){function t(){}return t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return"["+t.children.map((function(t){return t.visit(n)})).join(", ")+"]"},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map((function(e){return e+" {"+t.cases[e].visit(n)+"}"}));return"{"+t.expression+", "+t.type+", "+r.join(", ")+"}"},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?'':''+t.children.map((function(t){return t.visit(n)})).join(", ")+''},t.prototype.visitPlaceholder=function(t,e){return t.value?''+t.value+"":''},t.prototype.visitIcuPlaceholder=function(t,e){return''+t.value.visit(this)+""},t}(),qr=new Gr;var Wr,Yr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map((function(e){return e+" {"+t.cases[e].visit(n)+"}"}));return"{"+t.type+", "+r.join(", ")+"}"},e}(Gr);function Kr(t,e,n,r){return t<20?[e&n|~e&r,1518500249]:t<40?[e^n^r,1859775393]:t<60?[e&n|e&r|n&r,2400959708]:[e^n^r,3395469782]}function Qr(t){var e=Le(t),n=Object(o.f)([Xr(e,0),Xr(e,102072)],2),r=n[0],i=n[1];return 0!=r||0!=i&&1!=i||(r^=319790063,i^=-1801410264),[r,i]}function Xr(t,e){var n,r,i=Object(o.f)([2654435769,2654435769],2),a=i[0],s=i[1],l=t.length;for(r=0;r+12<=l;r+=12)a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,ri(t,r+8,Wr.Little)),a=(n=Object(o.f)(Zr([a,s,e]),3))[0],s=n[1],e=n[2];return a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,l),Zr([a,s,e=$r(e,ri(t,r+8,Wr.Little)<<8)])[2]}function Zr(t){var e=Object(o.f)(t,3),n=e[0],r=e[1],i=e[2];return n=ti(n,r),n=ti(n,i),n^=i>>>13,r=ti(r,i),r=ti(r,n),r^=n<<8,i=ti(i,n),i=ti(i,r),i^=r>>>13,n=ti(n,r),n=ti(n,i),n^=i>>>12,r=ti(r,i),r=ti(r,n),r^=n<<16,i=ti(i,n),i=ti(i,r),i^=r>>>5,n=ti(n,r),n=ti(n,i),n^=i>>>3,r=ti(r,i),r=ti(r,n),r^=n<<10,i=ti(i,n),i=ti(i,r),[n,r,i^=r>>>15]}function $r(t,e){return Jr(t,e)[1]}function Jr(t,e){var n=(65535&t)+(65535&e),r=(t>>>16)+(e>>>16)+(n>>>16);return[r>>>16,r<<16|65535&n]}function ti(t,e){var n=(65535&t)-(65535&e);return(t>>16)-(e>>16)+(n>>16)<<16|65535&n}function ei(t,e){return t<>>32-e}function ni(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function ri(t,e,n){var r=0;if(n===Wr.Big)for(var i=0;i<4;i++)r+=ni(t,e+i)<<24-8*i;else for(i=0;i<4;i++)r+=ni(t,e+i)<<8*i;return r}function ii(t){return t.reduce((function(t,e){return t+function(t){for(var e="",n=0;n<4;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}(e)}),"")}function oi(t,e){for(var n="",r=Math.max(t.length,e.length),i=0,o=0;i=10?(o=1,n+=a-10):(o=0,n+=a)}return n}function ai(t,e){for(var n="",r=e;0!==t;t>>>=1)1&t&&(n=oi(n,r)),r=oi(r,r);return n}!function(t){t[t.Little=0]="Little",t[t.Big=1]="Big"}(Wr||(Wr={}));var si=function(){function t(){}return t.prototype.createNameMapper=function(t){return null},t}(),li=function(t){function e(e,n){var r=t.call(this)||this;return r.mapName=n,r.internalToPublic={},r.publicToNextId={},r.publicToInternal={},e.nodes.forEach((function(t){return t.visit(r)})),r}return Object(o.c)(e,t),e.prototype.toPublicName=function(t){return this.internalToPublic.hasOwnProperty(t)?this.internalToPublic[t]:null},e.prototype.toInternalName=function(t){return this.publicToInternal.hasOwnProperty(t)?this.publicToInternal[t]:null},e.prototype.visitText=function(t,e){return null},e.prototype.visitTagPlaceholder=function(e,n){this.visitPlaceholderName(e.startName),t.prototype.visitTagPlaceholder.call(this,e,n),this.visitPlaceholderName(e.closeName)},e.prototype.visitPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitIcuPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitPlaceholderName=function(t){if(t&&!this.internalToPublic.hasOwnProperty(t)){var e=this.mapName(t);if(this.publicToInternal.hasOwnProperty(e)){var n=this.publicToNextId[e];this.publicToNextId[e]=n+1,e=e+"_"+n}else this.publicToNextId[e]=1;this.internalToPublic[t]=e,this.publicToInternal[e]=t}},e}(zr),ci=new(function(){function t(){}return t.prototype.visitTag=function(t){var e=this,n=this._serializeAttributes(t.attrs);if(0==t.children.length)return"<"+t.name+n+"/>";var r=t.children.map((function(t){return t.visit(e)}));return"<"+t.name+n+">"+r.join("")+""},t.prototype.visitText=function(t){return t.value},t.prototype.visitDeclaration=function(t){return""},t.prototype._serializeAttributes=function(t){var e=Object.keys(t).map((function(e){return e+'="'+t[e]+'"'})).join(" ");return e.length>0?" "+e:""},t.prototype.visitDoctype=function(t){return""},t}());function ui(t){return t.map((function(t){return t.visit(ci)})).join("")}var pi=function(){function t(t){var e=this;this.attrs={},Object.keys(t).forEach((function(n){e.attrs[n]=yi(t[n])}))}return t.prototype.visit=function(t){return t.visitDeclaration(this)},t}(),di=function(){function t(t,e){this.rootTag=t,this.dtd=e}return t.prototype.visit=function(t){return t.visitDoctype(this)},t}(),hi=function(){function t(t,e,n){var r=this;void 0===e&&(e={}),void 0===n&&(n=[]),this.name=t,this.children=n,this.attrs={},Object.keys(e).forEach((function(t){r.attrs[t]=yi(e[t])}))}return t.prototype.visit=function(t){return t.visitTag(this)},t}(),fi=function(){function t(t){this.value=yi(t)}return t.prototype.visit=function(t){return t.visitText(this)},t}(),mi=function(t){function e(e){return void 0===e&&(e=0),t.call(this,"\n"+new Array(e+1).join(" "))||this}return Object(o.c)(e,t),e}(fi),gi=[[/&/g,"&"],[/"/g,"""],[/'/g,"'"],[//g,">"]];function yi(t){return gi.reduce((function(t,e){return t.replace(e[0],e[1])}),t)}var vi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new wi,r=new bi,i=new hi("messagebundle");return t.forEach((function(t){var e={id:t.id};t.description&&(e.desc=t.description),t.meaning&&(e.meaning=t.meaning);var n=[];t.sources.forEach((function(t){n.push(new hi("source",{},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))})),i.children.push(new mi(2),new hi("msg",e,Object(o.g)(n,r.serialize(t.nodes))))})),i.children.push(new mi),ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,new di("messagebundle",'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'),new mi,n.addDefaultExamples(i),new mi])},e.prototype.load=function(t,e){throw new Error("Unsupported")},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si),bi=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach((function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))})),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach((function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))})),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=new fi("<"+t.tag+">"),r=new hi("ex",{},[n]),i=new hi("ph",{name:t.startName},[r,n]);if(t.isVoid)return[i];var a=new fi(""),s=new hi("ex",{},[a]),l=new hi("ph",{name:t.closeName},[s,a]);return Object(o.g)([i],this.serialize(t.children),[l])},t.prototype.visitPlaceholder=function(t,e){var n=new fi("{{"+t.value+"}}"),r=new hi("ex",{},[n]);return[new hi("ph",{name:t.name},[r,n])]},t.prototype.visitIcuPlaceholder=function(t,e){var n=t.value.expression,r=t.value.type,i=Object.keys(t.value.cases).map((function(t){return t+" {...}"})).join(" "),o=new fi("{"+n+", "+r+", "+i+"}"),a=new hi("ex",{},[o]);return[new hi("ph",{name:t.name},[a,o])]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map((function(t){return t.visit(e)}))))},t}();function _i(t){return Ur(t)}var wi=function(){function t(){}return t.prototype.addDefaultExamples=function(t){return t.visit(this),t},t.prototype.visitTag=function(t){var e=this;if("ph"===t.name){if(!t.children||0==t.children.length){var n=new fi(t.attrs.name||"...");t.children=[new hi("ex",{},[n])]}}else t.children&&t.children.forEach((function(t){return t.visit(e)}))},t.prototype.visitText=function(t){},t.prototype.visitDeclaration=function(t){},t.prototype.visitDoctype=function(t){},t}();function xi(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function Ci(t,e){return void 0===e&&(e=!1),ye(Object.keys(t).map((function(n){return{key:n,quoted:e,value:t[n]}})))}var Oi="MSG_",Ei="goog.getMsg",Si="ngI18nClosureMode",ki="|",ji="@@",Ai="i18n",Di="i18n-",Ti="�";function Pi(t,e,n,r,i){var o=[];o.push(new Wt(t.name,void 0,lt,null,t.sourceSpan));var a=[_e(n)];i&&Object.keys(i).length&&a.push(Ci(i,!0));var s=function(t){var e=[];t.description&&e.push({tagName:"desc",text:t.description});t.meaning&&e.push({tagName:"meaning",text:t.meaning});return 0==e.length?null:new ne(e)}(r),l=s?[s]:[],c=de(Ei).callFn(a);l.push(e.set(c).toConstDecl()),l.push(new Kt(t.set(e)));var u=he(jn.i18nLocalize).callFn(a),p=[new Kt(t.set(u))];return o.push(be(de(Si),l,p)),o}function Ii(t){return t===Ai||t.startsWith(Di)}function Ri(t){return t instanceof Ir}function Mi(t){return Ri(t)&&1===t.nodes.length&&t.nodes[0]instanceof Nr}function Ni(t,e){return void 0===e&&(e=null),{id:"string"==typeof e?e:t.id||"",meaning:t.meaning||"",description:t.description||""}}function Fi(t){return t.nodes[0]}function Li(t,e){return void 0===e&&(e=0),""+Ti+t+(e>0?":"+e:"")+Ti}function Vi(t){void 0===t&&(t=0);var e=t;return function(){return e++}}function Bi(t){var e={};return t.forEach((function(t,n){e[n]=_e(t.length>1?"["+t.join("|")+"]":t[0])})),e}function zi(t,e){for(var n=[],r=2;r0?function(t,e){return ye(Object.getOwnPropertyNames(t).map((function(n){var r,i,a,s,l,c=t[n];return Array.isArray(c)?(s=(r=Object(o.f)(c,2))[0],a=r[1]):(a=(i=Object(o.f)(Ce(n,[n,c]),2))[0],s=i[1]),{key:l=a,quoted:qi.test(l),value:e&&s!==a?ge([$i(s),$i(a)]):$i(s)}})))}(t,e):null}function to(t){for(;(e=t[t.length-1])instanceof kt&&null===e.value;)t.pop();var e;return t}function eo(t,e){if(Array.isArray(t.predicate)){var n=[];return t.predicate.forEach((function(t){var e=t.split(",").map((function(t){return _e(t.trim())}));n.push.apply(n,Object(o.g)(e))})),e.getConstLiteral(ge(n),!0)}return t.predicate}var no,ro,io=function(){function t(){this.values=[]}return t.prototype.set=function(t,e){e&&this.values.push({key:t,value:e,quoted:!1})},t.prototype.toLiteralMap=function(){return ye(this.values)},t}();function oo(t){var e={};return t instanceof Sr&&"ng-template"!==t.tagName?t.templateAttrs.forEach((function(t){return e[t.name]=""})):(t.attributes.forEach((function(t){Ii(t.name)||(e[t.name]=t.value)})),t.inputs.forEach((function(t){e[t.name]=""})),t.outputs.forEach((function(t){e[t.name]=""}))),e}function ao(t,e,n){var r=he(t,null,n);if(e.length>0)for(var i=0;i0){n=[];for(var r=0;r]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xo(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error("Expected '"+t+"' to be an array, [start, end].");if(null!=e){var n=e[0],r=e[1];wo.forEach((function(t){if(t.test(n)||t.test(r))throw new Error("['"+n+"', '"+r+"'] contains unusable interpolation symbol.")}))}}var Co=function(){function t(t,e){this.start=t,this.end=e}return t.fromArray=function(e){return e?(xo("interpolation",e),new t(e[0],e[1])):Oo},t}(),Oo=new Co("{{","}}"),Eo=function(){function t(t){void 0===t&&(t=null),this.file=t,this.sourcesContent=new Map,this.lines=[],this.lastCol0=0,this.hasMappings=!1}return t.prototype.addSource=function(t,e){return void 0===e&&(e=null),this.sourcesContent.has(t)||this.sourcesContent.set(t,e),this},t.prototype.addLine=function(){return this.lines.push([]),this.lastCol0=0,this},t.prototype.addMapping=function(t,e,n,r){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(null!=e&&!this.sourcesContent.has(e))throw new Error('Unknown source file "'+e+'"');if(null==t)throw new Error("The column in the generated code must be provided");if(t>2),e+=jo((3&r)<<4|(isNaN(i)?0:i>>4)),e+=isNaN(i)?"=":jo((15&i)<<2|o>>6),e+=isNaN(i)||isNaN(o)?"=":jo(63&o)}return e}(JSON.stringify(this,null,0)):""},t}();function So(t){t=t<0?1+(-t<<1):t<<1;var e="";do{var n=31&t;(t>>=5)>0&&(n|=32),e+=jo(n)}while(t>0);return e}var ko="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function jo(t){if(t<0||t>=64)throw new Error("Can only encode value in the range [0, 63]");return ko[t]}var Ao=/'|\\|\n|\r|\$/g,Do=/^[$A-Z_][0-9A-Z_$]*$/i,To=" ",Po=de("error",null,null),Io=de("stack",null,null),Ro=function(t){this.indent=t,this.partsLength=0,this.parts=[],this.srcSpans=[]},Mo=function(){function t(t){this._indent=t,this._classes=[],this._preambleLineCount=0,this._lines=[new Ro(t)]}return t.createRoot=function(){return new t(0)},Object.defineProperty(t.prototype,"_currentLine",{get:function(){return this._lines[this._lines.length-1]},enumerable:!0,configurable:!0}),t.prototype.println=function(t,e){void 0===e&&(e=""),this.print(t||null,e,!0)},t.prototype.lineIsEmpty=function(){return 0===this._currentLine.parts.length},t.prototype.lineLength=function(){return this._currentLine.indent*To.length+this._currentLine.partsLength},t.prototype.print=function(t,e,n){void 0===n&&(n=!1),e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(t&&t.sourceSpan||null)),n&&this._lines.push(new Ro(this._indent))},t.prototype.removeEmptyLastLine=function(){this.lineIsEmpty()&&this._lines.pop()},t.prototype.incIndent=function(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.decIndent=function(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.pushClass=function(t){this._classes.push(t)},t.prototype.popClass=function(){return this._classes.pop()},Object.defineProperty(t.prototype,"currentClass",{get:function(){return this._classes.length>0?this._classes[this._classes.length-1]:null},enumerable:!0,configurable:!0}),t.prototype.toSource=function(){return this.sourceLines.map((function(t){return t.parts.length>0?Lo(t.indent)+t.parts.join(""):""})).join("\n")},t.prototype.toSourceMapGenerator=function(t,e){void 0===e&&(e=0);for(var n=new Eo(t),r=!1,i=function(){r||(n.addSource(t," ").addMapping(0,t,0,0),r=!0)},o=0;or)return n.srcSpans[i];r-=o.length}return null},Object.defineProperty(t.prototype,"sourceLines",{get:function(){return this._lines.length&&0===this._lines[this._lines.length-1].parts.length?this._lines.slice(0,-1):this._lines},enumerable:!0,configurable:!0}),t}(),No=function(){function t(t){this._escapeDollarInStrings=t}return t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitReturnStmt=function(t,e){return e.print(t,"return "),t.value.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitIfStmt=function(t,e){e.print(t,"if ("),t.condition.visitExpression(this,e),e.print(t,") {");var n=null!=t.falseCase&&t.falseCase.length>0;return t.trueCase.length<=1&&!n?(e.print(t," "),this.visitAllStatements(t.trueCase,e),e.removeEmptyLastLine(),e.print(t," ")):(e.println(),e.incIndent(),this.visitAllStatements(t.trueCase,e),e.decIndent(),n&&(e.println(t,"} else {"),e.incIndent(),this.visitAllStatements(t.falseCase,e),e.decIndent())),e.println(t,"}"),null},t.prototype.visitThrowStmt=function(t,e){return e.print(t,"throw "),t.error.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitCommentStmt=function(t,e){return t.multiline?e.println(t,"/* "+t.comment+" */"):t.comment.split("\n").forEach((function(n){e.println(t,"// "+n)})),null},t.prototype.visitJSDocCommentStmt=function(t,e){return e.println(t,"/*"+t.toString()+"*/"),null},t.prototype.visitWriteVarExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),e.print(t,t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWriteKeyExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"] = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWritePropExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"."+t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitInvokeMethodExpr=function(t,e){t.receiver.visitExpression(this,e);var n=t.name;return null!=t.builtin&&null==(n=this.getBuiltinMethodName(t.builtin))?null:(e.print(t,"."+n+"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null)},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")},t.prototype.visitTypeofExpr=function(t,e){e.print(t,"typeof "),t.expr.visitExpression(this,e)},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(null!=t.builtin)switch(t.builtin){case ft.Super:n="super";break;case ft.This:n="this";break;case ft.CatchError:n=Po.name;break;case ft.CatchStack:n=Io.name;break;default:throw new Error("Unknown builtin variable "+t.builtin)}return e.print(t,n),null},t.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),t.classExpr.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitLiteralExpr=function(t,e){var n=t.value;return"string"==typeof n?e.print(t,Fo(n,this._escapeDollarInStrings)):e.print(t,""+n),null},t.prototype.visitConditionalExpr=function(t,e){return e.print(t,"("),t.condition.visitExpression(this,e),e.print(t,"? "),t.trueCase.visitExpression(this,e),e.print(t,": "),t.falseCase.visitExpression(this,e),e.print(t,")"),null},t.prototype.visitNotExpr=function(t,e){return e.print(t,"!"),t.condition.visitExpression(this,e),null},t.prototype.visitAssertNotNullExpr=function(t,e){return t.condition.visitExpression(this,e),null},t.prototype.visitBinaryOperatorExpr=function(t,e){var n;switch(t.operator){case nt.Equals:n="==";break;case nt.Identical:n="===";break;case nt.NotEquals:n="!=";break;case nt.NotIdentical:n="!==";break;case nt.And:n="&&";break;case nt.BitwiseAnd:n="&";break;case nt.Or:n="||";break;case nt.Plus:n="+";break;case nt.Minus:n="-";break;case nt.Divide:n="/";break;case nt.Multiply:n="*";break;case nt.Modulo:n="%";break;case nt.Lower:n="<";break;case nt.LowerEquals:n="<=";break;case nt.Bigger:n=">";break;case nt.BiggerEquals:n=">=";break;default:throw new Error("Unknown operator "+t.operator)}return t.parens&&e.print(t,"("),t.lhs.visitExpression(this,e),e.print(t," "+n+" "),t.rhs.visitExpression(this,e),t.parens&&e.print(t,")"),null},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"."),e.print(t,t.name),null},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"]"),null},t.prototype.visitLiteralArrayExpr=function(t,e){return e.print(t,"["),this.visitAllExpressions(t.entries,e,","),e.print(t,"]"),null},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return e.print(t,"{"),this.visitAllObjects((function(r){e.print(t,Fo(r.key,n._escapeDollarInStrings,r.quoted)+":"),r.value.visitExpression(n,e)}),t.entries,e,","),e.print(t,"}"),null},t.prototype.visitCommaExpr=function(t,e){return e.print(t,"("),this.visitAllExpressions(t.parts,e,","),e.print(t,")"),null},t.prototype.visitAllExpressions=function(t,e,n){var r=this;this.visitAllObjects((function(t){return t.visitExpression(r,e)}),t,e,n)},t.prototype.visitAllObjects=function(t,e,n,r){for(var i=!1,o=0;o0&&(n.lineLength()>80?(n.print(null,r,!0),i||(n.incIndent(),n.incIndent(),i=!0)):n.print(null,r,!1)),t(e[o]);i&&(n.decIndent(),n.decIndent())},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach((function(t){return t.visitStatement(n,e)}))},t}();function Fo(t,e,n){if(void 0===n&&(n=!0),null==t)return null;var r=t.replace(Ao,(function(){for(var t=[],n=0;n0&&(e.println(t,"var self = this;"),this.visitAllStatements(t.constructorMethod.body,e)),e.decIndent(),e.println(t,"}")},e.prototype._visitClassGetter=function(t,e,n){n.println(t,"Object.defineProperty("+t.name+".prototype, '"+e.name+"', { get: function() {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"}});")},e.prototype._visitClassMethod=function(t,e,n){n.print(t,t.name+".prototype."+e.name+" = function("),this._visitParams(e.params,n),n.println(t,") {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"};")},e.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")},e.prototype.visitReadVarExpr=function(e,n){if(e.builtin===ft.This)n.print(e,"self");else{if(e.builtin===ft.Super)throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");t.prototype.visitReadVarExpr.call(this,e,n)}return null},e.prototype.visitDeclareVarStmt=function(t,e){return e.print(t,"var "+t.name),t.value&&(e.print(t," = "),t.value.visitExpression(this,e)),e.println(t,";"),null},e.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),null},e.prototype.visitInvokeFunctionExpr=function(e,n){var r=e.fn;return r instanceof yt&&r.builtin===ft.Super?(n.currentClass.parent.visitExpression(this,n),n.print(e,".call(this"),e.args.length>0&&(n.print(e,", "),this.visitAllExpressions(e.args,n,",")),n.print(e,")")):t.prototype.visitInvokeFunctionExpr.call(this,e,n),null},e.prototype.visitFunctionExpr=function(t,e){return e.print(t,"function"+(t.name?" "+t.name:"")+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack")).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype._visitParams=function(t,e){this.visitAllObjects((function(t){return e.print(null,t.name)}),t,e,",")},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e}(No),Bo=function(){function t(){}return t.prototype.evaluateStatements=function(t,e,n,r){var i=new zo(n),a=Mo.createRoot();return e.length>0&&!e[0].isEquivalent(_e("use strict").toStmt())&&(e=Object(o.g)([_e("use strict").toStmt()],e)),i.visitAllStatements(e,a),i.createReturnStmt(a),this.evaluateCode(t,a,i.getArgs(),r)},t.prototype.evaluateCode=function(t,e,n,r){var i='"use strict";'+e.toSource()+"\n//# sourceURL="+t,a=[],s=[];for(var l in n)s.push(n[l]),a.push(l);if(r){var c=(new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat("return null;"))))).toString(),u=c.slice(0,c.indexOf("return null;")).split("\n").length-1;i+="\n"+e.toSourceMapGenerator(t,u).toJsComment()}var p=new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat(i))));return this.executeFunction(p,s)},t.prototype.executeFunction=function(t,e){return t.apply(void 0,Object(o.g)(e))},t}(),zo=function(t){function e(e){var n=t.call(this)||this;return n.reflector=e,n._evalArgNames=[],n._evalArgValues=[],n._evalExportedVars=[],n}return Object(o.c)(e,t),e.prototype.createReturnStmt=function(t){new Qt(new zt(this._evalExportedVars.map((function(t){return new Bt(t,de(t),!1)})))).visitStatement(this,t)},e.prototype.getArgs=function(){for(var t={},e=0;e0?me(ge(e)):pt}function qo(t,e){var n=ge(t.map((function(t){return t.value})));return e?ve([],[new Qt(n)]):n}function Wo(t){var e=[];e.push({key:"name",value:_e(t.pipeName),quoted:!1}),e.push({key:"type",value:t.type,quoted:!1});var n=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.directiveInject},!0);return e.push({key:"factory",value:n.factory,quoted:!1}),e.push({key:"pure",value:_e(t.pure),quoted:!1}),{expression:he(jn.definePipe).callFn([ye(e)]),type:new it(he(jn.PipeDefWithMeta,[go(t.type,t.typeArgumentCount),new it(new kt(t.pipeName))])),statements:n.statements}}var Yo=function(t,e,n,r){this.input=e,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: "+t+" "+n+" ["+e+"] in "+r},Ko=function(t,e){this.start=t,this.end=e},Qo=function(){function t(t){this.span=t}return t.prototype.visit=function(t,e){return void 0===e&&(e=null),null},t.prototype.toString=function(){return"AST"},t}(),Xo=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.prefix=n,o.uninterpretedExpression=r,o.location=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitQuote(this,e)},e.prototype.toString=function(){return"Quote"},e}(Qo),Zo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){void 0===e&&(e=null)},e}(Qo),$o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitImplicitReceiver(this,e)},e}(Qo),Jo=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitChain(this,e)},e}(Qo),ta=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.condition=n,o.trueExp=r,o.falseExp=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitConditional(this,e)},e}(Qo),ea=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyRead(this,e)},e}(Qo),na=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyWrite(this,e)},e}(Qo),ra=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafePropertyRead(this,e)},e}(Qo),ia=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.obj=n,i.key=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedRead(this,e)},e}(Qo),oa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.obj=n,o.key=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedWrite(this,e)},e}(Qo),aa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.exp=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPipe(this,e)},e}(Qo),sa=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralPrimitive(this,e)},e}(Qo),la=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralArray(this,e)},e}(Qo),ca=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keys=n,i.values=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralMap(this,e)},e}(Qo),ua=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.strings=n,i.expressions=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitInterpolation(this,e)},e}(Qo),pa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.operation=n,o.left=r,o.right=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitBinary(this,e)},e}(Qo),da=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPrefixNot(this,e)},e}(Qo),ha=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitNonNullAssert(this,e)},e}(Qo),fa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitMethodCall(this,e)},e}(Qo),ma=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafeMethodCall(this,e)},e}(Qo),ga=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.target=n,i.args=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitFunctionCall(this,e)},e}(Qo),ya=function(t,e){this.start=t,this.end=e},va=function(t){function e(e,n,r,i,o){var a=t.call(this,new Ko(0,null==n?0:n.length))||this;return a.ast=e,a.source=n,a.location=r,a.errors=o,a.sourceSpan=new ya(i,i+a.span.end),a}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)},e.prototype.toString=function(){return this.source+" in "+this.location},e}(Qo),ba=function(t,e,n,r,i){this.span=t,this.key=e,this.keyIsVar=n,this.name=r,this.expression=i},_a=(function(){function t(){}t.prototype.visitBinary=function(t,e){},t.prototype.visitChain=function(t,e){},t.prototype.visitConditional=function(t,e){},t.prototype.visitFunctionCall=function(t,e){},t.prototype.visitImplicitReceiver=function(t,e){},t.prototype.visitInterpolation=function(t,e){},t.prototype.visitKeyedRead=function(t,e){},t.prototype.visitKeyedWrite=function(t,e){},t.prototype.visitLiteralArray=function(t,e){},t.prototype.visitLiteralMap=function(t,e){},t.prototype.visitLiteralPrimitive=function(t,e){},t.prototype.visitMethodCall=function(t,e){},t.prototype.visitPipe=function(t,e){},t.prototype.visitPrefixNot=function(t,e){},t.prototype.visitNonNullAssert=function(t,e){},t.prototype.visitPropertyRead=function(t,e){},t.prototype.visitPropertyWrite=function(t,e){},t.prototype.visitQuote=function(t,e){},t.prototype.visitSafeMethodCall=function(t,e){},t.prototype.visitSafePropertyRead=function(t,e){}}(),function(){function t(){}return t.prototype.visitBinary=function(t,e){return t.left.visit(this,e),t.right.visit(this,e),null},t.prototype.visitChain=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return t.condition.visit(this,e),t.trueExp.visit(this,e),t.falseExp.visit(this,e),null},t.prototype.visitPipe=function(t,e){return t.exp.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitFunctionCall=function(t,e){return t.target.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitImplicitReceiver=function(t,e){return null},t.prototype.visitInterpolation=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitKeyedRead=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),null},t.prototype.visitKeyedWrite=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),t.value.visit(this,e),null},t.prototype.visitLiteralArray=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitLiteralMap=function(t,e){return this.visitAll(t.values,e)},t.prototype.visitLiteralPrimitive=function(t,e){return null},t.prototype.visitMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitPrefixNot=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitNonNullAssert=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitPropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitPropertyWrite=function(t,e){return t.receiver.visit(this,e),t.value.visit(this,e),null},t.prototype.visitSafePropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitSafeMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitAll=function(t,e){var n=this;return t.forEach((function(t){return t.visit(n,e)})),null},t.prototype.visitQuote=function(t,e){return null},t}()),wa=function(){function t(){}return t.prototype.visitImplicitReceiver=function(t,e){return t},t.prototype.visitInterpolation=function(t,e){return new ua(t.span,t.strings,this.visitAll(t.expressions))},t.prototype.visitLiteralPrimitive=function(t,e){return new sa(t.span,t.value)},t.prototype.visitPropertyRead=function(t,e){return new ea(t.span,t.receiver.visit(this),t.name)},t.prototype.visitPropertyWrite=function(t,e){return new na(t.span,t.receiver.visit(this),t.name,t.value.visit(this))},t.prototype.visitSafePropertyRead=function(t,e){return new ra(t.span,t.receiver.visit(this),t.name)},t.prototype.visitMethodCall=function(t,e){return new fa(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitSafeMethodCall=function(t,e){return new ma(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitFunctionCall=function(t,e){return new ga(t.span,t.target.visit(this),this.visitAll(t.args))},t.prototype.visitLiteralArray=function(t,e){return new la(t.span,this.visitAll(t.expressions))},t.prototype.visitLiteralMap=function(t,e){return new ca(t.span,t.keys,this.visitAll(t.values))},t.prototype.visitBinary=function(t,e){return new pa(t.span,t.operation,t.left.visit(this),t.right.visit(this))},t.prototype.visitPrefixNot=function(t,e){return new da(t.span,t.expression.visit(this))},t.prototype.visitNonNullAssert=function(t,e){return new ha(t.span,t.expression.visit(this))},t.prototype.visitConditional=function(t,e){return new ta(t.span,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))},t.prototype.visitPipe=function(t,e){return new aa(t.span,t.exp.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitKeyedRead=function(t,e){return new ia(t.span,t.obj.visit(this),t.key.visit(this))},t.prototype.visitKeyedWrite=function(t,e){return new oa(t.span,t.obj.visit(this),t.key.visit(this),t.value.visit(this))},t.prototype.visitAll=function(t){for(var e=new Array(t.length),n=0;n=0;r--)n.unshift(La(e,r))}(s.temporaryCount,r,l),s.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var c=l.length-1,u=null;if(c>=0){var p=function(t){if(t instanceof Kt)return t.expr;if(t instanceof Qt)return t.value;return null}(l[c]);p&&(u=function(t){return de("pd_"+t)}(r),l[c]=u.set(p.cast(st).notIdentical(_e(!1))).toDeclStmt(null,[Ct.Final]))}return new Aa(l,u)}function Ta(t,e){return function(t,e){var n=new za(t);return e.visit(n)}(t,e)}var Pa,Ia,Ra=function(t,e){this.stmts=t,this.currValExpr=e};function Ma(t,e,n,r,i,o){t||(t=new Ua);var a=function(t){return de("currVal_"+t)}(r),s=new Ha(t,e,r,o),l=n.visit(s,Ia.Expression),c=Na(s,r);return s.usesImplicitReceiver&&t.notifyImplicitReceiverUse(),0===s.temporaryCount&&i==Pa.TrySimple?new Ra([],l):(c.push(a.set(l).toDeclStmt(st,[Ct.Final])),new Ra(c,a))}function Na(t,e){for(var n=[],r=0;r":n=nt.Bigger;break;case"<=":n=nt.LowerEquals;break;case">=":n=nt.BiggerEquals;break;default:throw new Error("Unsupported operation "+t.operation)}return Ba(e,new Nt(n,this._visit(t.left,Ia.Expression),this._visit(t.right,Ia.Expression),void 0,this.convertSourceSpan(t.span)))},t.prototype.visitChain=function(t,e){return function(t,e){if(t!==Ia.Statement)throw new Error("Expected a statement, but saw "+e)}(e,t),this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return Ba(e,this._visit(t.condition,Ia.Expression).conditional(this._visit(t.trueExp,Ia.Expression),this._visit(t.falseExp,Ia.Expression),this.convertSourceSpan(t.span)))},t.prototype.visitPipe=function(t,e){throw new Error("Illegal state: Pipes should have been converted into functions. Pipe: "+t.name)},t.prototype.visitFunctionCall=function(t,e){var n=this.visitAll(t.args,Ia.Expression);return Ba(e,t instanceof Ga?t.converter(n):this._visit(t.target,Ia.Expression).callFn(n,this.convertSourceSpan(t.span)))},t.prototype.visitImplicitReceiver=function(t,e){return Va(e,t),this.usesImplicitReceiver=!0,this._implicitReceiver},t.prototype.visitInterpolation=function(t,e){Va(e,t);for(var n=[_e(t.expressions.length)],r=0;r-1?this._colonHostPartReplacer(t,e,n):t+e+n+", "+e+" "+t+n},t.prototype._colonHostPartReplacer=function(t,e,n){return t+e.replace(Xa,"")+n},t.prototype._convertShadowDOMSelectors=function(t){return rs.reduce((function(t,e){return t.replace(e," ")}),t)},t.prototype._scopeSelectors=function(t,e,n){var r,i,o,a=this;return r=function(t){var r=t.selector,i=t.content;return"@"!=t.selector[0]?r=a._scopeSelector(t.selector,e,n,a.strictStyling):(t.selector.startsWith("@media")||t.selector.startsWith("@supports")||t.selector.startsWith("@page")||t.selector.startsWith("@document"))&&(i=a._scopeSelectors(t.content,e,n)),new gs(r,i)},i=function(t){for(var e=t.split(ds),n=[],r=[],i=0,o=[],a=0;a0?o.push(s):(o.length>0&&(r.push(o.join("")),n.push(ms),o=[]),n.push(s)),s==hs&&i++}return o.length>0&&(r.push(o.join("")),n.push(ms)),new ys(n.join(""),r)}(t),o=0,i.escapedString.replace(ps,(function(){for(var t=[],e=0;e-1)r=i._applySimpleSelectorScope(t,e,n);else{var a=t.replace(as,"");if(a.length>0){var s=a.match(/([^:]*)(:*)(.*)/);s&&(r=s[1]+o+s[2]+s[3])}}return r},s=new Wa(t),l="",c=0,u=/( |>|\+|~(?!=))\s*/g,p=!((t=s.content()).indexOf(es)>-1);null!==(r=u.exec(t));){var d=r[1],h=t.slice(c,r.index).trim();l+=((p=p||h.indexOf(es)>-1)?a(h):h)+" "+d+" ",c=u.lastIndex}var f=t.substring(c);return l+=(p=p||f.indexOf(es)>-1)?a(f):f,s.restore(l)},t.prototype._insertPolyfillHostInCssText=function(t){return t.replace(ls,Za).replace(ss,Xa)},t}(),Wa=function(){function t(t){var e=this;this.placeholders=[],this.index=0,t=t.replace(/(\[[^\]]*\])/g,(function(t,n){var r="__ph-"+e.index+"__";return e.placeholders.push(n),e.index++,r})),this._content=t.replace(/(:nth-[-\w]+)(\([^)]+\))/g,(function(t,n,r){var i="__ph-"+e.index+"__";return e.placeholders.push(r),e.index++,n+i}))}return t.prototype.restore=function(t){var e=this;return t.replace(/__ph-(\d+)__/g,(function(t,n){return e.placeholders[+n]}))},t.prototype.content=function(){return this._content},t}(),Ya=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Ka=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Qa=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Xa="-shadowcsshost",Za="-shadowcsscontext",$a=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",Ja=new RegExp("("+Xa+$a,"gim"),ts=new RegExp("("+Za+$a,"gim"),es=Xa+"-no-combinator",ns=/-shadowcsshost-no-combinator([^\s]*)/,rs=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],is=/(?:>>>)|(?:\/deep\/)|(?:::ng-deep)/g,os="([>\\s~+[.,{:][\\s\\S]*)?$",as=/-shadowcsshost/gim,ss=/:host/gim,ls=/:host-context/gim,cs=/\/\*\s*[\s\S]*?\*\//g;var us=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;var ps=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,ds=/([{}])/g,hs="{",fs="}",ms="%BLOCK%",gs=function(t,e){this.selector=t,this.content=e};var ys=function(t,e){this.escapedString=t,this.blocks=e};var vs="_nghost-%COMP%",bs="_ngcontent-%COMP%",_s=function(t,e,n){this.name=t,this.moduleUrl=e,this.setValue=n},ws=function(t,e,n,r,i){this.outputCtx=t,this.stylesVar=e,this.dependencies=n,this.isShimmed=r,this.meta=i},xs=function(){function t(t){this._urlResolver=t,this._shadowCss=new qa}return t.prototype.compileComponent=function(t,e){var n=e.template;return this._compileStyles(t,e,new gn({styles:n.styles,styleUrls:n.styleUrls,moduleUrl:un(e.type)}),this.needsStyleShim(e),!0)},t.prototype.compileStyles=function(t,e,n,r){return void 0===r&&(r=this.needsStyleShim(e)),this._compileStyles(t,e,n,r,!1)},t.prototype.needsStyleShim=function(t){return t.template.encapsulation===v.Emulated},t.prototype._compileStyles=function(t,e,n,r,i){var o=this,a=n.styles.map((function(t){return _e(o._shimIfNeeded(t,r))})),s=[];n.styleUrls.forEach((function(e){var n=a.length;a.push(null),s.push(new _s(Cs(null),e,(function(e){return a[n]=t.importExpr(e)})))}));var l=Cs(i?e:null),c=de(l).set(ge(a,new ot(st,[J.Const]))).toDeclStmt(null,i?[Ct.Final]:[Ct.Final,Ct.Exported]);return t.statements.push(c),new ws(t,l,s,r,n)},t.prototype._shimIfNeeded=function(t,e){return e?this._shadowCss.shimCssText(t,bs,vs):t},t}();function Cs(t){var e="styles";return t&&(e+="_"+cn(t.type)),e}!function(){function t(t,e){void 0===e&&(e=-1),this.path=t,this.position=e}Object.defineProperty(t.prototype,"empty",{get:function(){return!this.path||!this.path.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"head",{get:function(){return this.path[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tail",{get:function(){return this.path[this.path.length-1]},enumerable:!0,configurable:!0}),t.prototype.parentOf=function(t){return t&&this.path[this.path.indexOf(t)-1]},t.prototype.childOf=function(t){return this.path[this.path.indexOf(t)+1]},t.prototype.first=function(t){for(var e=this.path.length-1;e>=0;e--){var n=this.path[e];if(n instanceof t)return n}},t.prototype.push=function(t){this.path.push(t)},t.prototype.pop=function(){return this.path.pop()}}();var Os=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Es=function(){function t(t,e,n,r,i,o){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=i,this.i18n=o}return t.prototype.visit=function(t,e){return t.visitExpansion(this,e)},t}(),Ss=function(){function t(t,e,n,r,i){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansionCase(this,e)},t}(),ks=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t,e){return t.visitAttribute(this,e)},t}(),js=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=null),void 0===o&&(o=null),this.name=t,this.attrs=e,this.children=n,this.sourceSpan=r,this.startSourceSpan=i,this.endSourceSpan=o,this.i18n=a}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),As=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitComment(this,e)},t}();function Ds(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach((function(t){var e=i(t);e&&r.push(e)})),r}var Ts;!function(){function t(){}t.prototype.visitElement=function(t,e){this.visitChildren(e,(function(e){e(t.attrs),e(t.children)}))},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){return this.visitChildren(e,(function(e){e(t.cases)}))},t.prototype.visitExpansionCase=function(t,e){},t.prototype.visitChildren=function(t,e){var n=[],r=this;return e((function(e){e&&n.push(Ds(r,e,t))})),Array.prototype.concat.apply([],n)}}();!function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE=14]="DOC_TYPE",t[t.EXPANSION_FORM_START=15]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=16]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=17]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=18]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=19]="EXPANSION_FORM_END",t[t.EOF=20]="EOF"}(Ts||(Ts={}));var Ps=function(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n},Is=function(t){function e(e,n,r){var i=t.call(this,r,e)||this;return i.tokenType=n,i}return Object(o.c)(e,t),e}(br),Rs=function(t,e){this.tokens=t,this.errors=e};var Ms=/\r\n?/g;function Ns(t){return'Unexpected character "'+(t===An?"EOF":String.fromCharCode(t))+'"'}function Fs(t){return'Unknown entity "'+t+'" - use the "&#;" or "&#x;" syntax'}var Ls=function(t){this.error=t},Vs=function(){function t(t,e,n){this._getTagDefinition=e,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||Oo,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map((function(t){return t.codePointAt(0)||0}));var r=n.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new Ws(t,r):new qs(t,r);try{this._cursor.init()}catch(i){this.handleError(i)}}return t.prototype._processCarriageReturns=function(t){return t.replace(Ms,"\n")},t.prototype.tokenize=function(){for(;this._cursor.peek()!==An;){var t=this._cursor.clone();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(t):this._attemptCharCode(Bn)?this._consumeComment(t):this._consumeDocType(t):this._attemptCharCode(zn)?this._consumeTagClose(t):this._consumeTagOpen(t):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(Ts.EOF),this._endToken([]),new Rs(function(t){for(var e=[],n=void 0,r=0;r")})),this._beginToken(Ts.CDATA_END),this._requireStr("]]>"),this._endToken([])},t.prototype._consumeDocType=function(t){this._beginToken(Ts.DOC_TYPE,t);var e=this._cursor.clone();this._attemptUntilChar(Gn);var n=this._cursor.getChars(e);this._cursor.advance(),this._endToken([n])},t.prototype._consumePrefixAndName=function(){for(var t,e,n=this._cursor.clone(),r="";58!==this._cursor.peek()&&!(((t=this._cursor.peek())Yn));)this._cursor.advance();return 58===this._cursor.peek()?(r=this._cursor.getChars(n),this._cursor.advance(),e=this._cursor.clone()):e=n,this._requireCharCodeUntilFn(zs,""===r?0:1),[r,this._cursor.getChars(e)]},t.prototype._consumeTagOpen=function(t){var e,n,i,o=this.tokens.length,a=this._cursor.clone();try{if(!pr(this._cursor.peek()))throw this._createError(Ns(this._cursor.peek()),this._cursor.getSpan(t));for(n=(i=this._consumeTagOpenStart(t)).parts[0],e=i.parts[1],this._attemptCharCodeUntilFn(Bs);this._cursor.peek()!==zn&&this._cursor.peek()!==Gn;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(Bs),this._attemptCharCode(Un)&&(this._attemptCharCodeUntilFn(Bs),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(Bs);this._consumeTagOpenEnd()}catch(l){if(l instanceof Ls)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(Ts.TEXT,t),void this._endToken(["<"]);throw l}var s=this._getTagDefinition(e).contentType;s===r.RAW_TEXT?this._consumeRawTextWithTagClose(n,e,!1):s===r.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,e,!0)},t.prototype._consumeRawTextWithTagClose=function(t,e,n){var r=this;this._consumeRawText(n,(function(){return!!r._attemptCharCode(60)&&(!!r._attemptCharCode(zn)&&(r._attemptCharCodeUntilFn(Bs),!!r._attemptStrCaseInsensitive(e)&&(r._attemptCharCodeUntilFn(Bs),r._attemptCharCode(Gn))))}));this._beginToken(Ts.TAG_CLOSE),this._requireCharCodeUntilFn((function(t){return t===Gn}),3),this._cursor.advance(),this._endToken([t,e])},t.prototype._consumeTagOpenStart=function(t){this._beginToken(Ts.TAG_OPEN_START,t);var e=this._consumePrefixAndName();return this._endToken(e)},t.prototype._consumeAttributeName=function(){var t=this._cursor.peek();if(t===Ln||t===Nn)throw this._createError(Ns(t),this._cursor.getSpan());this._beginToken(Ts.ATTR_NAME);var e=this._consumePrefixAndName();this._endToken(e)},t.prototype._consumeAttributeValue=function(){var t;if(this._cursor.peek()===Ln||this._cursor.peek()===Nn){this._beginToken(Ts.ATTR_QUOTE);var e=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(e)]),this._beginToken(Ts.ATTR_VALUE);for(var n=[];this._cursor.peek()!==e;)n.push(this._readChar(!0));t=n.join(""),this._endToken([this._processCarriageReturns(t)]),this._beginToken(Ts.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(e)])}else{this._beginToken(Ts.ATTR_VALUE);var r=this._cursor.clone();this._requireCharCodeUntilFn(zs,1),t=this._cursor.getChars(r),this._endToken([this._processCarriageReturns(t)])}},t.prototype._consumeTagOpenEnd=function(){var t=this._attemptCharCode(zn)?Ts.TAG_OPEN_END_VOID:Ts.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(Gn),this._endToken([])},t.prototype._consumeTagClose=function(t){this._beginToken(Ts.TAG_CLOSE,t),this._attemptCharCodeUntilFn(Bs);var e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Bs),this._requireCharCode(Gn),this._endToken(e)},t.prototype._consumeExpansionFormStart=function(){this._beginToken(Ts.EXPANSION_FORM_START),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(Ts.EXPANSION_FORM_START),this._beginToken(Ts.RAW_TEXT);var t=this._readUntil(44);this._endToken([t]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.RAW_TEXT);var e=this._readUntil(44);this._endToken([e]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs)},t.prototype._consumeExpansionCaseStart=function(){this._beginToken(Ts.EXPANSION_CASE_VALUE);var t=this._readUntil(123).trim();this._endToken([t]),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.EXPANSION_CASE_EXP_START),this._requireCharCode(123),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.push(Ts.EXPANSION_CASE_EXP_START)},t.prototype._consumeExpansionCaseEnd=function(){this._beginToken(Ts.EXPANSION_CASE_EXP_END),this._requireCharCode(125),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.pop()},t.prototype._consumeExpansionFormEnd=function(){this._beginToken(Ts.EXPANSION_FORM_END),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()},t.prototype._consumeText=function(){var t=this._cursor.clone();this._beginToken(Ts.TEXT,t);var e=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])},t.prototype._isTextEnd=function(){if(60===this._cursor.peek()||this._cursor.peek()===An)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(125===this._cursor.peek()&&this._isInExpansionCase())return!0}return!1},t.prototype._readUntil=function(t){var e=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(e)},t.prototype._isInExpansionCase=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_CASE_EXP_START},t.prototype._isInExpansionForm=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_FORM_START},t.prototype.isExpansionFormStart=function(){if(123!==this._cursor.peek())return!1;if(this._interpolationConfig){var t=this._cursor.clone(),e=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!e}return!0},t}();function Bs(t){return!cr(t)||t===An}function zs(t){return cr(t)||t===Gn||t===zn||t===Ln||t===Nn||t===Un}function Hs(t){return t==Hn||t==An||!function(t){return t>=Jn&&t<=er||t>=Kn&&t<=Xn||ur(t)}(t)}function Us(t){return t==Hn||t==An||!pr(t)}function Gs(t){return t>=Jn&&t<=ar?t-Jn+Kn:t}var qs=function(){function t(e,n){if(e instanceof t)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object(o.a)({},e.state);else{if(!n)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=n.endPos,this.state={peek:-1,offset:n.startPos,line:n.startLine,column:n.startCol}}}return t.prototype.clone=function(){return new t(this)},t.prototype.peek=function(){return this.state.peek},t.prototype.charsLeft=function(){return this.end-this.state.offset},t.prototype.diff=function(t){return this.state.offset-t.state.offset},t.prototype.advance=function(){this.advanceState(this.state)},t.prototype.init=function(){this.updatePeek(this.state)},t.prototype.getSpan=function(t,e){if(t=t||this,e)for(t=t.clone();this.diff(t)>0&&-1!==e.indexOf(t.peek());)t.advance();return new yr(new mr(t.file,t.state.offset,t.state.line,t.state.column),new mr(this.file,this.state.offset,this.state.line,this.state.column))},t.prototype.getChars=function(t){return this.input.substring(t.state.offset,this.state.offset)},t.prototype.charAt=function(t){return this.input.charCodeAt(t)},t.prototype.advanceState=function(t){if(t.offset>=this.end)throw this.state=t,new Ys('Unexpected character "EOF"',this);var e=this.charAt(t.offset);e===Tn?(t.line++,t.column=0):dr(e)||t.column++,t.offset++,this.updatePeek(t)},t.prototype.updatePeek=function(t){t.peek=t.offset>=this.end?An:this.charAt(t.offset)},t}(),Ws=function(t){function e(n,r){var i=this;return n instanceof e?(i=t.call(this,n)||this).internalState=Object(o.a)({},n.internalState):(i=t.call(this,n,r)||this).internalState=i.state,i}return Object(o.c)(e,t),e.prototype.advance=function(){this.state=this.internalState,t.prototype.advance.call(this),this.processEscapeSequence()},e.prototype.init=function(){t.prototype.init.call(this),this.processEscapeSequence()},e.prototype.clone=function(){return new e(this)},e.prototype.getChars=function(t){for(var e=t.clone(),n="";e.internalState.offset0)return this._errors=this._errors.concat(o.errors),null;var a=new yr(e.sourceSpan.start,i.sourceSpan.end),s=new yr(n.sourceSpan.start,i.sourceSpan.end);return new Ss(e.parts[0],o.rootNodes,a,e.sourceSpan,s)},t.prototype._collectExpansionExpTokens=function(t){for(var e=[],n=[Ts.EXPANSION_CASE_EXP_START];;){if(this._peek.type!==Ts.EXPANSION_FORM_START&&this._peek.type!==Ts.EXPANSION_CASE_EXP_START||n.push(this._peek.type),this._peek.type===Ts.EXPANSION_CASE_EXP_END){if(!$s(n,Ts.EXPANSION_CASE_EXP_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0==n.length)return e}if(this._peek.type===Ts.EXPANSION_FORM_END){if(!$s(n,Ts.EXPANSION_FORM_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===Ts.EOF)return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}},t.prototype._consumeText=function(t){var e=t.parts[0];if(e.length>0&&"\n"==e[0]){var n=this._getParentElement();null!=n&&0==n.children.length&&this.getTagDefinition(n.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new Os(e,t.sourceSpan))},t.prototype._closeVoidElement=function(){var t=this._getParentElement();t&&this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()},t.prototype._consumeStartTag=function(t){for(var e=t.parts[0],n=t.parts[1],r=[];this._peek.type===Ts.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var i=this._getElementFullName(e,n,this._getParentElement()),o=!1;if(this._peek.type===Ts.TAG_OPEN_END_VOID){this._advance(),o=!0;var a=this.getTagDefinition(i);a.canSelfClose||null!==u(i)||a.isVoid||this._errors.push(Ks.create(i,t.sourceSpan,'Only void and foreign elements can be self closed "'+t.parts[1]+'"'))}else this._peek.type===Ts.TAG_OPEN_END&&(this._advance(),o=!1);var s=this._peek.sourceSpan.start,l=new yr(t.sourceSpan.start,s),c=new js(i,r,[],l,l,void 0);this._pushElement(c),o&&(this._popElement(i),c.endSourceSpan=l)},t.prototype._pushElement=function(t){var e=this._getParentElement();e&&this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop(),this._addToParent(t),this._elementStack.push(t)},t.prototype._consumeEndTag=function(t){var e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid)this._errors.push(Ks.create(e,t.sourceSpan,'Void elements do not have end tags "'+t.parts[1]+'"'));else if(!this._popElement(e)){var n='Unexpected closing tag "'+e+'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags';this._errors.push(Ks.create(e,t.sourceSpan,n))}},t.prototype._popElement=function(t){for(var e=this._elementStack.length-1;e>=0;e--){var n=this._elementStack[e];if(n.name==t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1},t.prototype._consumeAttr=function(t){var e=p(t.parts[0],t.parts[1]),n=t.sourceSpan.end,r="",i=void 0;if(this._peek.type===Ts.ATTR_QUOTE&&this._advance(),this._peek.type===Ts.ATTR_VALUE){var o=this._advance();r=o.parts[0],n=o.sourceSpan.end,i=o.sourceSpan}this._peek.type===Ts.ATTR_QUOTE&&(n=this._advance().sourceSpan.end);return new ks(e,r,new yr(t.sourceSpan.start,n),i)},t.prototype._getParentElement=function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null},t.prototype._getParentElementSkippingContainers=function(){for(var t=null,e=this._elementStack.length-1;e>=0;e--){if(!s(this._elementStack[e].name))return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:null,container:t}},t.prototype._addToParent=function(t){var e=this._getParentElement();null!=e?e.children.push(t):this._rootNodes.push(t)},t.prototype._insertBeforeContainer=function(t,e,n){if(e){if(t){var r=t.children.indexOf(e);t.children[r]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)},t.prototype._getElementFullName=function(t,e,n){return""===t&&""===(t=this.getTagDefinition(e).implicitNamespacePrefix||"")&&null!=n&&(t=u(n.name)),p(t,e)},t}();function $s(t,e){return t.length>0&&t[t.length-1]===e}var Js=function(t){function e(){return t.call(this,y)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),tl="ngPreserveWhitespaces",el=new Set(["pre","template","textarea","script","style"]),nl=" \f\n\r\t\v ᠎ - \u2028\u2029   \ufeff",rl=new RegExp("[^"+nl+"]"),il=new RegExp("["+nl+"]{2,}","g");function ol(t){return t.replace(new RegExp(h,"g")," ")}var al=function(){function t(){}return t.prototype.visitElement=function(t,e){return el.has(t.name)||t.attrs.some((function(t){return t.name===tl}))?new js(t.name,Ds(this,t.attrs),t.children,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n):new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)},t.prototype.visitAttribute=function(t,e){return t.name!==tl?t:null},t.prototype.visitText=function(t,e){return t.value.match(rl)?new Os(ol(t.value).replace(il," "),t.sourceSpan,t.i18n):null},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();function sl(t){return new Qs(Ds(new al,t.rootNodes),t.errors)}var ll=["zero","one","two","few","many","other"];function cl(t){var e=new hl;return new pl(Ds(e,t),e.isExpanded,e.errors)}var ul,pl=function(t,e,n){this.nodes=t,this.expanded=e,this.errors=n},dl=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),hl=function(){function t(){this.isExpanded=!1,this.errors=[]}return t.prototype.visitElement=function(t,e){return new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitText=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return this.isExpanded=!0,"plural"==t.type?(n=t,r=this.errors,i=n.cases.map((function(t){-1!=ll.indexOf(t.value)||t.value.match(/^=\d+$/)||r.push(new dl(t.valueSourceSpan,'Plural cases should be "=" or one of '+ll.join(", ")));var e=cl(t.expression);return r.push.apply(r,Object(o.g)(e.errors)),new js("ng-template",[new ks("ngPluralCase",""+t.value,t.valueSourceSpan)],e.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)})),a=new ks("[ngPlural]",n.switchValue,n.switchValueSourceSpan),new js("ng-container",[a],i,n.sourceSpan,n.sourceSpan,n.sourceSpan)):function(t,e){var n=t.cases.map((function(t){var n=cl(t.expression);return e.push.apply(e,Object(o.g)(n.errors)),"other"===t.value?new js("ng-template",[new ks("ngSwitchDefault","",t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan):new js("ng-template",[new ks("ngSwitchCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)})),r=new ks("[ngSwitch]",t.switchValue,t.switchValueSourceSpan);return new js("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}(t,this.errors);var n,r,i,a},t.prototype.visitExpansionCase=function(t,e){throw new Error("Should not be reached")},t}();var fl,ml=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),gl=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitBoundText(this,e)},t}(),yl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitAttr(this,e)},t}(),vl=((ul={})[4]=4,ul[1]=1,ul[2]=2,ul[0]=0,ul[3]=3,ul),bl=function(){function t(t,e,n,r,i,o){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.isAnimation=4===this.type}return t.fromBoundProperty=function(e){var n=vl[e.type];return new t(e.name,n,e.securityContext,e.value,e.unit,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitElementProperty(this,e)},t}(),_l=function(){function t(e,n,r,i,o,a){this.name=e,this.target=n,this.phase=r,this.handler=i,this.sourceSpan=o,this.handlerSpan=a,this.fullName=t.calcFullName(this.name,this.target,this.phase),this.isAnimation=!!this.phase}return t.calcFullName=function(t,e,n){return e?e+":"+t:n?"@"+t+"."+n:t},t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,n,r,e.handler,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t,e){return t.visitEvent(this,e)},t}(),wl=function(){function t(t,e,n,r){this.name=t,this.value=e,this.originalValue=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitReference(this,e)},t}(),xl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.fromParsedVariable=function(e){return new t(e.name,e.value,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitVariable(this,e)},t}(),Cl=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d){this.name=t,this.attrs=e,this.inputs=n,this.outputs=r,this.references=i,this.directives=o,this.providers=a,this.hasViewContainer=s,this.queryMatches=l,this.children=c,this.ngContentIndex=u,this.sourceSpan=p,this.endSourceSpan=d}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Ol=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.attrs=t,this.outputs=e,this.references=n,this.variables=r,this.directives=i,this.providers=o,this.hasViewContainer=a,this.queryMatches=s,this.children=l,this.ngContentIndex=c,this.sourceSpan=u}return t.prototype.visit=function(t,e){return t.visitEmbeddedTemplate(this,e)},t}(),El=function(){function t(t,e,n,r){this.directiveName=t,this.templateName=e,this.value=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitDirectiveProperty(this,e)},t}(),Sl=function(){function t(t,e,n,r,i,o){this.directive=t,this.inputs=e,this.hostProperties=n,this.hostEvents=r,this.contentQueryStartId=i,this.sourceSpan=o}return t.prototype.visit=function(t,e){return t.visitDirective(this,e)},t}(),kl=function(){function t(t,e,n,r,i,o,a,s){this.token=t,this.multiProvider=e,this.eager=n,this.providers=r,this.providerType=i,this.lifecycleHooks=o,this.sourceSpan=a,this.isModule=s}return t.prototype.visit=function(t,e){return null},t}();!function(t){t[t.PublicService=0]="PublicService",t[t.PrivateService=1]="PrivateService",t[t.Component=2]="Component",t[t.Directive=3]="Directive",t[t.Builtin=4]="Builtin"}(fl||(fl={}));var jl=function(){function t(t,e,n){this.index=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitNgContent(this,e)},t}();!function(t){function e(){return t.call(this)||this}Object(o.c)(e,t),e.prototype.visitEmbeddedTemplate=function(t,e){return this.visitChildren(e,(function(e){e(t.attrs),e(t.references),e(t.variables),e(t.directives),e(t.providers),e(t.children)}))},e.prototype.visitElement=function(t,e){return this.visitChildren(e,(function(e){e(t.attrs),e(t.inputs),e(t.outputs),e(t.references),e(t.directives),e(t.providers),e(t.children)}))},e.prototype.visitDirective=function(t,e){return this.visitChildren(e,(function(e){e(t.inputs),e(t.hostProperties),e(t.hostEvents)}))},e.prototype.visitChildren=function(t,e){var n=[],r=this;return e((function(e){e&&e.length&&n.push(Al(r,e,t))})),Array.prototype.concat.apply([],n)}}(function(){function t(){}return t.prototype.visitNgContent=function(t,e){},t.prototype.visitEmbeddedTemplate=function(t,e){},t.prototype.visitElement=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t.prototype.visitBoundText=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t}());function Al(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach((function(t){var e=i(t);e&&r.push(e)})),r}var Dl=function(t){function e(e,n){return t.call(this,n,e)||this}return Object(o.c)(e,t),e}(br),Tl=function(t,e){var n=this;this.reflector=t,this.component=e,this.errors=[],this.viewQueries=function(t){var e=1,n=new Map;return t.viewQueries&&t.viewQueries.forEach((function(t){return Fl(n,{meta:t,queryId:e++})})),n}(e),this.viewProviders=new Map,e.viewProviders.forEach((function(t){null==n.viewProviders.get(mn(t.token))&&n.viewProviders.set(mn(t.token),!0)}))},Pl=function(){function t(t,e,n,r,i,o,a,s,l){var c=this;this.viewContext=t,this._parent=e,this._isViewRoot=n,this._directiveAsts=r,this._sourceSpan=l,this._transformedProviders=new Map,this._seenProviders=new Map,this._queriedTokens=new Map,this.transformedHasViewContainer=!1,this._attrs={},i.forEach((function(t){return c._attrs[t.name]=t.value}));var u,p,d,h,f=r.map((function(t){return t.directive}));if(this._allProviders=(u=f,p=l,d=t.errors,h=new Map,u.forEach((function(t){Nl([{token:{identifier:t.type},useClass:t.type}],t.isComponent?fl.Component:fl.Directive,!0,p,d,h,!1)})),u.filter((function(t){return t.isComponent})).concat(u.filter((function(t){return!t.isComponent}))).forEach((function(t){Nl(t.providers,fl.PublicService,!1,p,d,h,!1),Nl(t.viewProviders,fl.PrivateService,!1,p,d,h,!1)})),h),this._contentQueries=function(t,e){var n=t,r=new Map;return e.forEach((function(t,e){t.queries&&t.queries.forEach((function(t){return Fl(r,{meta:t,queryId:n++})}))})),r}(s,f),Array.from(this._allProviders.values()).forEach((function(t){c._addQueryReadsTo(t.token,t.token,c._queriedTokens)})),a){var m=en(this.viewContext.reflector,Je.TemplateRef);this._addQueryReadsTo(m,m,this._queriedTokens)}o.forEach((function(t){var e=t.value||en(c.viewContext.reflector,Je.ElementRef);c._addQueryReadsTo({value:t.name},e,c._queriedTokens)})),this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef))&&(this.transformedHasViewContainer=!0),Array.from(this._allProviders.values()).forEach((function(t){(t.eager||c._queriedTokens.get(mn(t.token)))&&c._getOrCreateLocalProvider(t.providerType,t.token,!0)}))}return t.prototype.afterElement=function(){var t=this;Array.from(this._allProviders.values()).forEach((function(e){t._getOrCreateLocalProvider(e.providerType,e.token,!1)}))},Object.defineProperty(t.prototype,"transformProviders",{get:function(){var t=[],e=[];return this._transformedProviders.forEach((function(n){n.eager?e.push(n):t.push(n)})),t.concat(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedDirectiveAsts",{get:function(){var t=this.transformProviders.map((function(t){return t.token.identifier})),e=this._directiveAsts.slice();return e.sort((function(e,n){return t.indexOf(e.directive.type)-t.indexOf(n.directive.type)})),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryMatches",{get:function(){var t=[];return this._queriedTokens.forEach((function(e){t.push.apply(t,Object(o.g)(e))})),t},enumerable:!0,configurable:!0}),t.prototype._addQueryReadsTo=function(t,e,n){this._getQueriesFor(t).forEach((function(t){var r=t.meta.read||e,i=mn(r),o=n.get(i);o||(o=[],n.set(i,o)),o.push({queryId:t.queryId,value:r})}))},t.prototype._getQueriesFor=function(t){for(var e,n=[],r=this,i=0;null!==r;)(e=r._contentQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e.filter((function(t){return t.meta.descendants||i<=1})))),r._directiveAsts.length>0&&i++,r=r._parent;return(e=this.viewContext.viewQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e)),n},t.prototype._getOrCreateLocalProvider=function(t,e,n){var r=this,i=this._allProviders.get(mn(e));if(!i||(t===fl.Directive||t===fl.PublicService)&&i.providerType===fl.PrivateService||(t===fl.PrivateService||t===fl.PublicService)&&i.providerType===fl.Builtin)return null;var o=this._transformedProviders.get(mn(e));if(o)return o;if(null!=this._seenProviders.get(mn(e)))return this.viewContext.errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(e),this._sourceSpan)),null;this._seenProviders.set(mn(e),!0);var a=i.providers.map((function(t){var e=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=r._getDependency(i.providerType,{token:t.useExisting},n);null!=s.token?o=s.token:(o=null,e=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map((function(t){return r._getDependency(i.providerType,t,n)}))}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map((function(t){return r._getDependency(i.providerType,t,n)}))}return Rl(t,{useExisting:o,useValue:e,deps:a})}));return o=Ml(i,{eager:n,providers:a}),this._transformedProviders.set(mn(e),o),o},t.prototype._getLocalDependency=function(t,e,n){if(void 0===n&&(n=!1),e.isAttribute){var r=this._attrs[e.token.value];return{isValue:!0,value:null==r?null:r}}if(null!=e.token){if(t===fl.Directive||t===fl.Component){if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Renderer)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ElementRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ChangeDetectorRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.TemplateRef))return e;mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef)&&(this.transformedHasViewContainer=!0)}if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Injector))return e;if(null!=this._getOrCreateLocalProvider(t,e.token,n))return e}return null},t.prototype._getDependency=function(t,e,n){void 0===n&&(n=!1);var r=this,i=n,o=null;if(e.isSkipSelf||(o=this._getLocalDependency(t,e,n)),e.isSelf)!o&&e.isOptional&&(o={isValue:!0,value:null});else{for(;!o&&r._parent;){var a=r;r=r._parent,a._isViewRoot&&(i=!1),o=r._getLocalDependency(fl.PublicService,e,i)}o||(o=!e.isHost||this.viewContext.component.isHost||this.viewContext.component.type.reference===mn(e.token)||null!=this.viewContext.viewProviders.get(mn(e.token))?e:e.isOptional?{isValue:!0,value:null}:null)}return o||this.viewContext.errors.push(new Dl("No provider for "+fn(e.token),this._sourceSpan)),o},t}(),Il=function(){function t(t,e,n,r){var i=this;this.reflector=t,this._transformedProviders=new Map,this._seenProviders=new Map,this._errors=[],this._allProviders=new Map,e.transitiveModule.modules.forEach((function(t){Nl([{token:{identifier:t},useClass:t}],fl.PublicService,!0,r,i._errors,i._allProviders,!0)})),Nl(e.transitiveModule.providers.map((function(t){return t.provider})).concat(n),fl.PublicService,!1,r,this._errors,this._allProviders,!1)}return t.prototype.parse=function(){var t=this;if(Array.from(this._allProviders.values()).forEach((function(e){t._getOrCreateLocalProvider(e.token,e.eager)})),this._errors.length>0){var e=this._errors.join("\n");throw new Error("Provider parse errors:\n"+e)}var n=[],r=[];return this._transformedProviders.forEach((function(t){t.eager?r.push(t):n.push(t)})),n.concat(r)},t.prototype._getOrCreateLocalProvider=function(t,e){var n=this,r=this._allProviders.get(mn(t));if(!r)return null;var i=this._transformedProviders.get(mn(t));if(i)return i;if(null!=this._seenProviders.get(mn(t)))return this._errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(t),r.sourceSpan)),null;this._seenProviders.set(mn(t),!0);var o=r.providers.map((function(t){var i=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=n._getDependency({token:t.useExisting},e,r.sourceSpan);null!=s.token?o=s.token:(o=null,i=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map((function(t){return n._getDependency(t,e,r.sourceSpan)}))}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map((function(t){return n._getDependency(t,e,r.sourceSpan)}))}return Rl(t,{useExisting:o,useValue:i,deps:a})}));return i=Ml(r,{eager:e,providers:o}),this._transformedProviders.set(mn(t),i),i},t.prototype._getDependency=function(t,e,n){void 0===e&&(e=!1);return t.isSkipSelf||null==t.token||(mn(t.token)===this.reflector.resolveExternalReference(Je.Injector)||mn(t.token)===this.reflector.resolveExternalReference(Je.ComponentFactoryResolver)?!0:null!=this._getOrCreateLocalProvider(t.token,e)&&!0),t},t}();function Rl(t,e){var n=e.useExisting,r=e.useValue,i=e.deps;return{token:t.token,useClass:t.useClass,useExisting:n,useFactory:t.useFactory,useValue:r,deps:i,multi:t.multi}}function Ml(t,e){var n=e.eager,r=e.providers;return new kl(t.token,t.multiProvider,t.eager||n,r,t.providerType,t.lifecycleHooks,t.sourceSpan,t.isModule)}function Nl(t,e,n,r,i,o,a){t.forEach((function(t){var s=o.get(mn(t.token));if(null!=s&&!!s.multiProvider!=!!t.multi&&i.push(new Dl("Mixing multi and non multi provider is not possible for token "+fn(s.token),r)),s)t.multi||(s.providers.length=0),s.providers.push(t);else{var l=t.token.identifier&&t.token.identifier.lifecycleHooks?t.token.identifier.lifecycleHooks:[],c=!(t.useClass||t.useExisting||t.useFactory);s=new kl(t.token,!!t.multi,n||c,[t],e,l,r,a),o.set(mn(t.token),s)}}))}function Fl(t,e){e.meta.selectors.forEach((function(n){var r=t.get(mn(n));r||(r=[],t.set(mn(n),r)),r.push(e)}))}var Ll=function(t,e){this.style=t,this.styleUrls=e};function Vl(t){if(null==t||0===t.length||"/"==t[0])return!1;var e=t.match(Hl);return null===e||"package"==e[1]||"asset"==e[1]}var Bl=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,zl=/\/\*(?!#\s*(?:sourceURL|sourceMappingURL)=)[\s\S]+?\*\//g,Hl=/^([^:/?#]+):/,Ul=function(){function t(t,e,n,r,i){if(this._exprParser=t,this._interpolationConfig=e,this._schemaRegistry=n,this.errors=i,this.pipesByName=null,this._usedPipes=new Map,r){var o=new Map;r.forEach((function(t){return o.set(t.name,t)})),this.pipesByName=o}}return Object.defineProperty(t.prototype,"interpolationConfig",{get:function(){return this._interpolationConfig},enumerable:!0,configurable:!0}),t.prototype.getUsedPipes=function(){return Array.from(this._usedPipes.values())},t.prototype.createBoundHostProperties=function(t,e){var n=this;if(t.hostProperties){var r=[];return Object.keys(t.hostProperties).forEach((function(i){var o=t.hostProperties[i];"string"==typeof o?n.parsePropertyBinding(i,o,!0,e,e.start.offset,void 0,[],r):n._reportError('Value of the host property binding "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)})),r}return null},t.prototype.createDirectiveHostPropertyAsts=function(t,e,n){var r=this,i=this.createBoundHostProperties(t,n);return i&&i.map((function(t){return r.createBoundElementProperty(e,t)}))},t.prototype.createDirectiveHostEventAsts=function(t,e){var n=this;if(t.hostListeners){var r=[];return Object.keys(t.hostListeners).forEach((function(i){var o=t.hostListeners[i];"string"==typeof o?n.parseEvent(i,o,e,e,[],r):n._reportError('Value of the host listener "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)})),r}return null},t.prototype.parseInterpolation=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseInterpolation(t,n,e.start.offset,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),this._checkPipes(r,e),r}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,e.start.offset)}},t.prototype.parseInlineTemplateBinding=function(t,e,n,r,i,o,a){for(var s=this._parseTemplateBindings(t,e,n),l=0;l1)if("attr"==s[0]){a=s[1],n||this._validatePropertyOrAttributeName(a,e.sourceSpan,!0),l=Wl(this._schemaRegistry,t,a,!0);var c=a.indexOf(":");if(c>-1){var u=a.substring(0,c),d=a.substring(c+1);a=p(u,d)}o=1}else"class"==s[0]?(a=s[1],o=2,l=[I.NONE]):"style"==s[0]&&(i=s.length>2?s[2]:null,a=s[1],o=3,l=[I.STYLE]);if(null===a){var h=this._schemaRegistry.getMappedPropName(e.name);a=r?h:e.name,l=Wl(this._schemaRegistry,t,h,!1),o=0,n||this._validatePropertyOrAttributeName(h,e.sourceSpan,!1)}return new ka(a,o,l[0],e.expression,i,e.sourceSpan,e.valueSpan)},t.prototype.parseEvent=function(t,e,n,r,i,o){ql(t)?(t=t.substr(1),this._parseAnimationEvent(t,e,n,r,o)):this._parseRegularEvent(t,e,n,r,i,o)},t.prototype.calcPossibleSecurityContexts=function(t,e,n){var r=this._schemaRegistry.getMappedPropName(e);return Wl(this._schemaRegistry,t,r,n)},t.prototype._parseAnimationEvent=function(t,e,n,r,i){var o=Oe(t,".",[t,""]),a=o[0],s=o[1].toLowerCase();if(s)switch(s){case"start":case"done":var l=this._parseAction(e,r);i.push(new Ea(a,s,1,l,n,r));break;default:this._reportError('The provided animation output phase value "'+s+'" for "@'+a+'" is not supported (use start or done)',n)}else this._reportError("The animation trigger output event (@"+a+") is missing its phase value name (start or done are currently supported)",n)},t.prototype._parseRegularEvent=function(t,e,n,r,i,a){var s=Object(o.f)(Ce(t,[null,t]),2),l=s[0],c=s[1],u=this._parseAction(e,r);i.push([t,u.source]),a.push(new Ea(c,l,0,u,n,r))},t.prototype._parseAction=function(t,e){var n=(e&&e.start||"(unknown").toString(),r=e&&e.start?e.start.offset:0;try{var i=this._exprParser.parseAction(t,n,r,this._interpolationConfig);return i&&this._reportExpressionParserErrors(i.errors,e),!i||i.ast instanceof Zo?(this._reportError("Empty expressions are not allowed",e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)):(this._checkPipes(i,e),i)}catch(o){return this._reportError(""+o,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)}},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t.prototype._reportExpressionParserErrors=function(t,e){var n,r;try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value;this._reportError(s.message,e)}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},t.prototype._checkPipes=function(t,e){var n=this;if(t&&this.pipesByName){var r=new Gl;t.visit(r),r.pipes.forEach((function(t,r){var i=n.pipesByName.get(r);i?n._usedPipes.set(r,i):n._reportError("The pipe '"+r+"' could not be found",new yr(e.start.moveBy(t.span.start),e.start.moveBy(t.span.end)))}))}},t.prototype._validatePropertyOrAttributeName=function(t,e,n){var r=n?this._schemaRegistry.validateAttribute(t):this._schemaRegistry.validateProperty(t);r.error&&this._reportError(r.msg,e,fr.ERROR)},t}(),Gl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.pipes=new Map,e}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){return this.pipes.set(t.name,t),t.exp.visit(this),this.visitAll(t.args,e),null},e}(_a);function ql(t){return"@"==t[0]}function Wl(t,e,n,r){var i=[];return w.parse(e).forEach((function(e){var a=e.element?[e.element]:t.allKnownElementNames(),s=new Set(e.notSelectors.filter((function(t){return t.isElementSelector()})).map((function(t){return t.element}))),l=a.filter((function(t){return!s.has(t)}));i.push.apply(i,Object(o.g)(l.map((function(e){return t.securityContext(e,n,r)}))))})),0===i.length?[I.NONE]:Array.from(new Set(i)).sort()}var Yl,Kl="select",Ql="link",Xl="rel",Zl="href",$l="stylesheet",Jl="style",tc="script",ec="ngNonBindable",nc="ngProjectAs";function rc(t){var e=null,n=null,r=null,i=!1,o="";t.attrs.forEach((function(t){var a=t.name.toLowerCase();a==Kl?e=t.value:a==Zl?n=t.value:a==Xl?r=t.value:t.name==ec?i=!0:t.name==nc&&t.value.length>0&&(o=t.value)})),e=function(t){if(null===t||0===t.length)return"*";return t}(e);var a=t.name.toLowerCase(),s=Yl.OTHER;return l(a)?s=Yl.NG_CONTENT:a==Jl?s=Yl.STYLE:a==tc?s=Yl.SCRIPT:a==Ql&&r==$l&&(s=Yl.STYLESHEET),new ic(s,e,n,i,o)}!function(t){t[t.NG_CONTENT=0]="NG_CONTENT",t[t.STYLE=1]="STYLE",t[t.STYLESHEET=2]="STYLESHEET",t[t.SCRIPT=3]="SCRIPT",t[t.OTHER=4]="OTHER"}(Yl||(Yl={}));var ic=function(t,e,n,r,i){this.type=t,this.selectAttr=e,this.hrefAttr=n,this.nonBindable=r,this.projectAs=i};var oc,ac=/^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/,sc="class";function lc(){return oc||(oc=w.parse("*")[0]),oc}var cc=function(t){function e(e,n,r){return t.call(this,n,e,r)||this}return Object(o.c)(e,t),e}(br),uc=function(t,e,n){this.templateAst=t,this.usedPipes=e,this.errors=n},pc=function(){function t(t,e,n,r,i,o,a){this._config=t,this._reflector=e,this._exprParser=n,this._schemaRegistry=r,this._htmlParser=i,this._console=o,this.transforms=a}return Object.defineProperty(t.prototype,"expressionParser",{get:function(){return this._exprParser},enumerable:!0,configurable:!0}),t.prototype.parse=function(t,e,n,r,i,o,a){var s=this.tryParse(t,e,n,r,i,o,a),l=s.errors.filter((function(t){return t.level===fr.WARNING})),c=s.errors.filter((function(t){return t.level===fr.ERROR}));if(l.length>0&&this._console.warn("Template parse warnings:\n"+l.join("\n")),c.length>0)throw Ie("Template parse errors:\n"+c.join("\n"),c);return{template:s.templateAst,pipes:s.usedPipes}},t.prototype.tryParse=function(t,e,n,r,i,o,a){var s="string"==typeof e?this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:this.getInterpolationConfig(t)}):e;return a||(s=sl(s)),this.tryParseHtml(this.expandHtml(s),t,n,r,i)},t.prototype.tryParseHtml=function(t,e,n,r,i){var a,s=t.errors,l=[];if(t.rootNodes.length>0){var c=_c(n),u=_c(r),p=new Tl(this._reflector,e),d=void 0;e.template&&e.template.interpolation&&(d={start:e.template.interpolation[0],end:e.template.interpolation[1]});var h=new Ul(this._exprParser,d,this._schemaRegistry,u,s),f=new dc(this._reflector,this._config,p,c,h,this._schemaRegistry,i,s);a=Ds(f,t.rootNodes,yc),s.push.apply(s,Object(o.g)(p.errors)),l.push.apply(l,Object(o.g)(h.getUsedPipes()))}else a=[];return this._assertNoReferenceDuplicationOnTemplate(a,s),s.length>0?new uc(a,l,s):(this.transforms&&this.transforms.forEach((function(t){a=Al(t,a)})),new uc(a,l,s))},t.prototype.expandHtml=function(t,e){void 0===e&&(e=!1);var n=t.errors;if(0==n.length||e){var r=cl(t.rootNodes);n.push.apply(n,Object(o.g)(r.errors)),t=new Qs(r.nodes,n)}return t},t.prototype.getInterpolationConfig=function(t){if(t.template)return Co.fromArray(t.template.interpolation)},t.prototype._assertNoReferenceDuplicationOnTemplate=function(t,e){var n=[];t.filter((function(t){return!!t.references})).forEach((function(t){return t.references.forEach((function(t){var r=t.name;if(n.indexOf(r)<0)n.push(r);else{var i=new cc('Reference "#'+r+'" is defined several times',t.sourceSpan,fr.ERROR);e.push(i)}}))}))},t}(),dc=function(){function t(t,e,n,r,i,o,a,s){var l=this;this.reflector=t,this.config=e,this.providerViewContext=n,this._bindingParser=i,this._schemaRegistry=o,this._schemas=a,this._targetErrors=s,this.selectorMatcher=new x,this.directivesIndex=new Map,this.ngContentCount=0,this.contentQueryStartId=n.component.viewQueries.length+1,r.forEach((function(t,e){var n=w.parse(t.selector);l.selectorMatcher.addSelectables(n,t),l.directivesIndex.set(t,e)}))}return t.prototype.visitExpansion=function(t,e){return null},t.prototype.visitExpansionCase=function(t,e){return null},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc()),r=ol(t.value),i=this._bindingParser.parseInterpolation(r,t.sourceSpan);return i?new gl(i,n,t.sourceSpan):new ml(r,n,t.sourceSpan)},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitElement=function(t,e){var n=this,r=this.contentQueryStartId,i=t.name,a=rc(t);if(a.type===Yl.SCRIPT||a.type===Yl.STYLE)return null;if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return null;var s=[],l=[],u=[],p=[],d=[],h=[],f=[],m=[],g=!1,y=[],v=c(t.name);t.attrs.forEach((function(t){var e,r,i=n._parseAttr(v,t,s,l,d,u,p);p.push.apply(p,Object(o.g)([].map((function(t){return xl.fromParsedVariable(t)}))));var a=n._normalizeAttributeName(t.name);a.startsWith("*")&&(e=t.value,r=a.substring("*".length));var c=null!=e;if(c){g&&n._reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",t.sourceSpan),g=!0;var b=[];n._bindingParser.parseInlineTemplateBinding(r,e,t.sourceSpan,t.sourceSpan.start.offset,f,h,b),m.push.apply(m,Object(o.g)(b.map((function(t){return xl.fromParsedVariable(t)}))))}i||c||(y.push(n.visitAttribute(t,null)),s.push([t.name,t.value]))}));var b=gc(i,s),_=this._parseDirectives(this.selectorMatcher,b),x=_.directives,C=_.matchElement,O=[],E=new Set,S=this._createDirectiveAsts(v,t.name,x,l,u,t.sourceSpan,O,E),k=this._createElementPropertyAsts(t.name,l,E),j=e.isTemplateElement||g,A=new Pl(this.providerViewContext,e.providerContext,j,S,y,O,v,r,t.sourceSpan),D=Ds(a.nonBindable?vc:this,t.children,mc.create(v,S,v?e.providerContext:A));A.afterElement();var T,P=""!=a.projectAs?w.parse(a.projectAs)[0]:b,I=e.findNgContentIndex(P);if(a.type===Yl.NG_CONTENT)t.children&&!t.children.every(bc)&&this._reportError(" element cannot have content.",t.sourceSpan),T=new jl(this.ngContentCount++,g?null:I,t.sourceSpan);else if(v)this._assertAllEventsPublishedByDirectives(S,d),this._assertNoComponentsNorElementBindingsOnTemplate(S,k,t.sourceSpan),T=new Ol(y,d,O,p,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:I,t.sourceSpan);else{this._assertElementExists(C,t),this._assertOnlyOneComponent(S,t.sourceSpan);var R=g?null:e.findNgContentIndex(P);T=new Cl(i,y,k,d,O,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:R,t.sourceSpan,t.endSourceSpan||null)}if(g){var M=this.contentQueryStartId,N=gc("ng-template",f),F=this._parseDirectives(this.selectorMatcher,N).directives,L=new Set,V=this._createDirectiveAsts(!0,i,F,h,[],t.sourceSpan,[],L),B=this._createElementPropertyAsts(i,h,L);this._assertNoComponentsNorElementBindingsOnTemplate(V,B,t.sourceSpan);var z=new Pl(this.providerViewContext,e.providerContext,e.isTemplateElement,V,[],[],!0,M,t.sourceSpan);z.afterElement(),T=new Ol([],[],[],m,z.transformedDirectiveAsts,z.transformProviders,z.transformedHasViewContainer,z.queryMatches,[T],I,t.sourceSpan)}return T},t.prototype._parseAttr=function(t,e,n,r,i,a,s){var l=this._normalizeAttributeName(e.name),c=e.value,u=e.sourceSpan,p=e.valueSpan?e.valueSpan.start.offset:u.start.offset,d=[],h=l.match(ac),f=!1;if(null!==h)if(f=!0,null!=h[1])this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r);else if(h[2])if(t){var m=h[7];this._parseVariable(m,c,u,s)}else this._reportError('"let-" is only supported on ng-template elements.',u);else if(h[3]){m=h[7];this._parseReference(m,c,u,a)}else h[4]?this._bindingParser.parseEvent(h[7],c,u,e.valueSpan||u,n,d):h[5]?(this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[7],c,u,e.valueSpan||u,n,d)):h[6]?this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r):h[8]?(this._bindingParser.parsePropertyBinding(h[8],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[8],c,u,e.valueSpan||u,n,d)):h[9]?this._bindingParser.parsePropertyBinding(h[9],c,!1,u,p,e.valueSpan,n,r):h[10]&&this._bindingParser.parseEvent(h[10],c,u,e.valueSpan||u,n,d);else f=this._bindingParser.parsePropertyInterpolation(l,c,u,e.valueSpan,n,r);return f||this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r),i.push.apply(i,Object(o.g)(d.map((function(t){return _l.fromParsedEvent(t)})))),f},t.prototype._normalizeAttributeName=function(t){return/^data-/i.test(t)?t.substring(5):t},t.prototype._parseVariable=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new xl(t,e,n))},t.prototype._parseReference=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in reference names',n),r.push(new fc(t,e,n))},t.prototype._parseAssignmentEvent=function(t,e,n,r,i,o){this._bindingParser.parseEvent(t+"Change",e+"=$event",n,r,i,o)},t.prototype._parseDirectives=function(t,e){var n=this,r=new Array(this.directivesIndex.size),i=!1;return t.match(e,(function(t,e){r[n.directivesIndex.get(e)]=e,i=i||t.hasElementSelector()})),{directives:r.filter((function(t){return!!t})),matchElement:i}},t.prototype._createDirectiveAsts=function(t,e,n,r,i,o,a,s){var l=this,c=new Set,u=null,p=n.map((function(t){var n=new yr(o.start,o.end,"Directive "+cn(t.type));t.isComponent&&(u=t);var p=[],d=l._bindingParser.createDirectiveHostPropertyAsts(t,e,n).map((function(t){return bl.fromBoundProperty(t)}));d=l._checkPropertiesInSchema(e,d);var h=l._bindingParser.createDirectiveHostEventAsts(t,n);l._createDirectivePropertyAsts(t.inputs,r,p,s),i.forEach((function(e){(0===e.value.length&&t.isComponent||e.isReferenceToDirective(t))&&(a.push(new wl(e.name,tn(t.type.reference),e.value,e.sourceSpan)),c.add(e.name))}));var f=h.map((function(t){return _l.fromParsedEvent(t)})),m=l.contentQueryStartId;return l.contentQueryStartId+=t.queries.length,new Sl(t,p,d,f,m,n)}));return i.forEach((function(e){if(e.value.length>0)c.has(e.name)||l._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan);else if(!u){var n=null;t&&(n=en(l.reflector,Je.TemplateRef)),a.push(new wl(e.name,n,e.value,e.sourceSpan))}})),p},t.prototype._createDirectivePropertyAsts=function(t,e,n,r){if(t){var i=new Map;e.forEach((function(t){var e=i.get(t.name);e&&!e.isLiteral||i.set(t.name,t)})),Object.keys(t).forEach((function(e){var o=t[e],a=i.get(o);a&&(r.add(a.name),wc(a.expression)||n.push(new El(e,a.name,a.expression,a.sourceSpan)))}))}},t.prototype._createElementPropertyAsts=function(t,e,n){var r=this,i=[];return e.forEach((function(e){if(!e.isLiteral&&!n.has(e.name)){var o=r._bindingParser.createBoundElementProperty(t,e);i.push(bl.fromBoundProperty(o))}})),this._checkPropertiesInSchema(t,i)},t.prototype._findComponentDirectives=function(t){return t.filter((function(t){return t.directive.isComponent}))},t.prototype._findComponentDirectiveNames=function(t){return this._findComponentDirectives(t).map((function(t){return cn(t.directive.type)}))},t.prototype._assertOnlyOneComponent=function(t,e){var n=this._findComponentDirectiveNames(t);n.length>1&&this._reportError("More than one component matched on this element.\nMake sure that only one component's selector can match a given element.\nConflicting components: "+n.join(","),e)},t.prototype._assertElementExists=function(t,e){var n=e.name.replace(/^:xhtml:/,"");if(!t&&!this._schemaRegistry.hasElement(n,this._schemas)){var r="'"+n+"' is not a known element:\n";r+="1. If '"+n+"' is an Angular component, then verify that it is part of this module.\n",n.indexOf("-")>-1?r+="2. If '"+n+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.":r+="2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.",this._reportError(r,e.sourceSpan)}},t.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(t,e,n){var r=this,i=this._findComponentDirectiveNames(t);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),e.forEach((function(t){r._reportError("Property binding "+t.name+' not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations".',n)}))},t.prototype._assertAllEventsPublishedByDirectives=function(t,e){var n=this,r=new Set;t.forEach((function(t){Object.keys(t.directive.outputs).forEach((function(e){var n=t.directive.outputs[e];r.add(n)}))})),e.forEach((function(t){null==t.target&&r.has(t.name)||n._reportError("Event binding "+t.fullName+' not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the "@NgModule.declarations".',t.sourceSpan)}))},t.prototype._checkPropertiesInSchema=function(t,e){var n=this;return e.filter((function(e){if(0===e.type&&!n._schemaRegistry.hasProperty(t,e.name,n._schemas)){var r="Can't bind to '"+e.name+"' since it isn't a known property of '"+t+"'.";t.startsWith("ng-")?r+="\n1. If '"+e.name+"' is an Angular directive, then add 'CommonModule' to the '@NgModule.imports' of this component.\n2. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.":t.indexOf("-")>-1&&(r+="\n1. If '"+t+"' is an Angular component and it has '"+e.name+"' input, then verify that it is part of this module.\n2. If '"+t+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.\n3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component."),n._reportError(r,e.sourceSpan)}return!wc(e.value)}))},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this._targetErrors.push(new br(e,t,n))},t}(),hc=function(){function t(){}return t.prototype.visitElement=function(t,e){var n=rc(t);if(n.type===Yl.SCRIPT||n.type===Yl.STYLE||n.type===Yl.STYLESHEET)return null;var r=t.attrs.map((function(t){return[t.name,t.value]})),i=gc(t.name,r),o=e.findNgContentIndex(i),a=Ds(this,t.children,yc);return new Cl(t.name,Ds(this,t.attrs),[],[],[],[],[],!1,[],a,o,t.sourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc());return new ml(t.value,n,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}(),fc=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.isReferenceToDirective=function(t){return-1!==(e=t.exportAs,e?e.split(",").map((function(t){return t.trim()})):[]).indexOf(this.value);var e},t}();var mc=function(){function t(t,e,n,r){this.isTemplateElement=t,this._ngContentIndexMatcher=e,this._wildcardNgContentIndex=n,this.providerContext=r}return t.create=function(e,n,r){var i=new x,o=null,a=n.find((function(t){return t.directive.isComponent}));if(a)for(var s=a.directive.template.ngContentSelectors,l=0;l0?e[0]:null},t}();function gc(t,e){var n=new w,r=a(t)[1];n.setElement(r);for(var i=0;i0,0===i?i=39:39===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 34:l=l||o>0,0===i?i=34:34===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 58:s||0!==r||0!==i||(s=Cc(t.substring(a,n-1).trim()),o=n);break;case 59:if(s&&o>0&&0===r&&0===i){var c=t.substring(o,n-1).trim();e.push(s,l?xc(c):c),a=n,o=0,s=null,l=!1}}}if(s&&o){c=t.substr(o).trim();e.push(s,l?xc(c):c)}return e}(t),this._hasInitialValues=!0},t.prototype.registerClassAttr=function(t){this._initialClassValues=t.trim().split(/\s+/g),this._hasInitialValues=!0},t.prototype.populateInitialStylingAttrs=function(t){if(this._initialClassValues.length){t.push(_e(1));for(var e=0;e0?t.substring(0,n):"",e=!0);var r="",i=t,o=t.lastIndexOf(".");return o>0&&(r=t.substr(o+1),i=t.substring(0,o)),{property:i,unit:r,hasOverrideFlag:e}}function Ac(t){switch(so(t)){case 1:return jn.styleProp;case 3:return jn.stylePropInterpolate1;case 5:return jn.stylePropInterpolate2;case 7:return jn.stylePropInterpolate3;case 9:return jn.stylePropInterpolate4;case 11:return jn.stylePropInterpolate5;case 13:return jn.stylePropInterpolate6;case 15:return jn.stylePropInterpolate7;case 17:return jn.stylePropInterpolate8;default:return jn.stylePropInterpolateV}}!function(t){t[t.Character=0]="Character",t[t.Identifier=1]="Identifier",t[t.Keyword=2]="Keyword",t[t.String=3]="String",t[t.Operator=4]="Operator",t[t.Number=5]="Number",t[t.Error=6]="Error"}(Oc||(Oc={}));var Dc=["var","let","as","null","undefined","true","false","if","else","this"],Tc=function(){function t(){}return t.prototype.tokenize=function(t){for(var e=new Nc(t),n=[],r=e.scanToken();null!=r;)n.push(r),r=e.scanToken();return n},t}(),Pc=function(){function t(t,e,n,r){this.index=t,this.type=e,this.numValue=n,this.strValue=r}return t.prototype.isCharacter=function(t){return this.type==Oc.Character&&this.numValue==t},t.prototype.isNumber=function(){return this.type==Oc.Number},t.prototype.isString=function(){return this.type==Oc.String},t.prototype.isOperator=function(t){return this.type==Oc.Operator&&this.strValue==t},t.prototype.isIdentifier=function(){return this.type==Oc.Identifier},t.prototype.isKeyword=function(){return this.type==Oc.Keyword},t.prototype.isKeywordLet=function(){return this.type==Oc.Keyword&&"let"==this.strValue},t.prototype.isKeywordAs=function(){return this.type==Oc.Keyword&&"as"==this.strValue},t.prototype.isKeywordNull=function(){return this.type==Oc.Keyword&&"null"==this.strValue},t.prototype.isKeywordUndefined=function(){return this.type==Oc.Keyword&&"undefined"==this.strValue},t.prototype.isKeywordTrue=function(){return this.type==Oc.Keyword&&"true"==this.strValue},t.prototype.isKeywordFalse=function(){return this.type==Oc.Keyword&&"false"==this.strValue},t.prototype.isKeywordThis=function(){return this.type==Oc.Keyword&&"this"==this.strValue},t.prototype.isError=function(){return this.type==Oc.Error},t.prototype.toNumber=function(){return this.type==Oc.Number?this.numValue:-1},t.prototype.toString=function(){switch(this.type){case Oc.Character:case Oc.Identifier:case Oc.Keyword:case Oc.Operator:case Oc.String:case Oc.Error:return this.strValue;case Oc.Number:return this.numValue.toString();default:return null}},t}();function Ic(t,e){return new Pc(t,Oc.Character,e,String.fromCharCode(e))}function Rc(t,e){return new Pc(t,Oc.Operator,0,e)}var Mc=new Pc(-1,Oc.Character,0,""),Nc=function(){function t(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}return t.prototype.advance=function(){this.peek=++this.index>=this.length?An:this.input.charCodeAt(this.index)},t.prototype.scanToken=function(){for(var t=this.input,e=this.length,n=this.peek,r=this.index;n<=Mn;){if(++r>=e){n=An;break}n=t.charCodeAt(r)}if(this.peek=n,this.index=r,r>=e)return null;if(Fc(n))return this.scanIdentifier();if(ur(n))return this.scanNumber(r);var i=r;switch(n){case 46:return this.advance(),ur(this.peek)?this.scanNumber(i):Ic(i,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case Hn:return this.scanCharacter(i,n);case Ln:case Nn:return this.scanString();case 35:case Vn:case Bn:case 42:case zn:case 37:case 94:return this.scanOperator(i,String.fromCharCode(n));case 63:return this.scanComplexOperator(i,"?",46,".");case 60:case Gn:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=");case 33:case Un:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=",Un,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case sr:for(;cr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character ["+String.fromCharCode(n)+"]",0)},t.prototype.scanCharacter=function(t,e){return this.advance(),Ic(t,e)},t.prototype.scanOperator=function(t,e){return this.advance(),Rc(t,e)},t.prototype.scanComplexOperator=function(t,e,n,r,i,o){this.advance();var a=e;return this.peek==n&&(this.advance(),a+=r),null!=i&&this.peek==i&&(this.advance(),a+=o),Rc(t,a)},t.prototype.scanIdentifier=function(){var t=this.index;for(this.advance();Lc(this.peek);)this.advance();var e,n=this.input.substring(t,this.index);return Dc.indexOf(n)>-1?(e=n,new Pc(t,Oc.Keyword,0,e)):function(t,e){return new Pc(t,Oc.Identifier,0,e)}(t,n)},t.prototype.scanNumber=function(t){var e,n=this.index===t;for(this.advance();;){if(ur(this.peek));else if(46==this.peek)n=!1;else{if((e=this.peek)!=tr&&e!=Qn)break;if(this.advance(),Vc(this.peek)&&this.advance(),!ur(this.peek))return this.error("Invalid exponent",-1);n=!1}this.advance()}var r,i=this.input.substring(t,this.index),o=n?function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(i):parseFloat(i);return r=o,new Pc(t,Oc.Number,r,"")},t.prototype.scanString=function(){var t=this.index,e=this.peek;this.advance();for(var n="",r=this.index,i=this.input;this.peek!=e;)if(92==this.peek){n+=i.substring(r,this.index),this.advance();var o=void 0;if(this.peek=this.peek,117==this.peek){var a=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(a))return this.error("Invalid unicode escape [\\u"+a+"]",0);o=parseInt(a,16);for(var s=0;s<5;s++)this.advance()}else o=Bc(this.peek),this.advance();n+=String.fromCharCode(o),r=this.index}else{if(this.peek==An)return this.error("Unterminated quote",0);this.advance()}var l,c=i.substring(r,this.index);return this.advance(),l=n+c,new Pc(t,Oc.String,0,l)},t.prototype.error=function(t,e){var n=this.index+e;return function(t,e){return new Pc(t,Oc.Error,0,e)}(n,"Lexer Error: "+t+" at column "+n+" in expression ["+this.input+"]")},t}();function Fc(t){return Jn<=t&&t<=ar||Kn<=t&&t<=Zn||t==$n||t==Fn}function Lc(t){return pr(t)||ur(t)||t==$n||t==Fn}function Vc(t){return t==Bn||t==Vn}function Bc(t){switch(t){case nr:return Tn;case er:return In;case rr:return Rn;case ir:return Dn;case or:return Pn;default:return t}}var zc=function(t,e,n){this.strings=t,this.expressions=e,this.offsets=n},Hc=function(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n};function Uc(t){var e=Ne(t.start)+"([\\s\\S]*?)"+Ne(t.end);return new RegExp(e,"g")}var Gc,qc=function(){function t(t){this._lexer=t,this.errors=[]}return t.prototype.parseAction=function(t,e,n,r){void 0===r&&(r=Oo),this._checkNoInterpolation(t,e,r);var i=this._stripComments(t),o=this._lexer.tokenize(this._stripComments(t)),a=new Wc(t,e,n,o,i.length,!0,this.errors,t.length-i.length).parseChain();return new va(a,t,e,n,this.errors)},t.prototype.parseBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r);return new va(i,t,e,n,this.errors)},t.prototype.parseSimpleBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r),o=Yc.check(i);return o.length>0&&this._reportError("Host binding expression cannot contain "+o.join(" "),t,e),new va(i,t,e,n,this.errors)},t.prototype._reportError=function(t,e,n,r){this.errors.push(new Yo(t,e,n,r))},t.prototype._parseBindingAst=function(t,e,n,r){var i=this._parseQuote(t,e);if(null!=i)return i;this._checkNoInterpolation(t,e,r);var o=this._stripComments(t),a=this._lexer.tokenize(o);return new Wc(t,e,n,a,o.length,!1,this.errors,t.length-o.length).parseChain()},t.prototype._parseQuote=function(t,e){if(null==t)return null;var n=t.indexOf(":");if(-1==n)return null;var r=t.substring(0,n).trim();if(!function(t){if(0==t.length)return!1;var e=new Nc(t);if(!Fc(e.peek))return!1;for(e.advance();e.peek!==An;){if(!Lc(e.peek))return!1;e.advance()}return!0}(r))return null;var i=t.substring(n+1);return new Xo(new Ko(0,t.length),r,i,e)},t.prototype.parseTemplateBindings=function(t,e,n,r){var i=this._lexer.tokenize(e);return new Wc(e,n,r,i,e.length,!1,this.errors,0).parseTemplateBindings(t)},t.prototype.parseInterpolation=function(t,e,n,r){void 0===r&&(r=Oo);var i=this.splitInterpolation(t,e,r);if(null==i)return null;for(var o=[],a=0;a0?(l+=n.start.length,a.push(u),s.push(l),l+=u.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column "+this._findInterpolationErrorColumn(i,c,n)+" in",e),a.push("$implict"),s.push(l))}return new zc(o,a,s)},t.prototype.wrapLiteralPrimitive=function(t,e,n){return new va(new sa(new Ko(0,null==t?0:t.length),t),t,e,n,this.errors)},t.prototype._stripComments=function(t){var e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t},t.prototype._commentStart=function(t){for(var e,n=null,r=0;r1&&this._reportError("Got interpolation ("+n.start+n.end+") where expression was expected",t,"at column "+this._findInterpolationErrorColumn(i,1,n)+" in",e)},t.prototype._findInterpolationErrorColumn=function(t,e,n){for(var r="",i=0;i":case"<=":case">=":this.advance();var n=this.parseAdditive();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseAdditive=function(){for(var t=this.parseMultiplicative();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"+":case"-":this.advance();var n=this.parseMultiplicative();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseMultiplicative=function(){for(var t=this.parsePrefix();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();var n=this.parsePrefix();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parsePrefix=function(){if(this.next.type==Oc.Operator){var t=this.inputIndex,e=this.next.strValue,n=void 0;switch(e){case"+":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),"-",n,new sa(new Ko(t,t),0));case"-":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),e,new sa(new Ko(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new da(this.span(t),n)}}return this.parseCallChain()},t.prototype.parseCallChain=function(){for(var t=this.parsePrimary();;)if(this.optionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(91)){this.rbracketsExpected++;var e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){var n=this.parseConditional();t=new oa(this.span(t.span.start),t,e,n)}else t=new ia(this.span(t.span.start),t,e)}else if(this.optionalCharacter(40)){this.rparensExpected++;var r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new ga(this.span(t.span.start),t,r)}else{if(!this.optionalOperator("!"))return t;t=new ha(this.span(t.span.start),t)}},t.prototype.parsePrimary=function(){var t=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;var e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),e}if(this.next.isKeywordNull())return this.advance(),new sa(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new sa(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new sa(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new sa(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new $o(this.span(t));if(this.optionalCharacter(91)){this.rbracketsExpected++;var n=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new la(this.span(t),n)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new $o(this.span(t)),!1);if(this.next.isNumber()){var r=this.next.toNumber();return this.advance(),new sa(this.span(t),r)}if(this.next.isString()){var i=this.next.toString();return this.advance(),new sa(this.span(t),i)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: "+this.input),new Zo(this.span(t))):(this.error("Unexpected token "+this.next),new Zo(this.span(t)))},t.prototype.parseExpressionList=function(t){var e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.optionalCharacter(44));return e},t.prototype.parseLiteralMap=function(){var t=[],e=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{var r=this.next.isString(),i=this.expectIdentifierOrKeywordOrString();t.push({key:i,quoted:r}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new ca(this.span(n),t,e)},t.prototype.parseAccessMemberOrMethodCall=function(t,e){void 0===e&&(e=!1);var n=t.span.start,r=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;var i=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;var o=this.span(n);return e?new ma(o,t,r,i):new fa(o,t,r,i)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Zo(this.span(n))):new ra(this.span(n),t,r);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Zo(this.span(n));var a=this.parseConditional();return new na(this.span(n),t,r,a)}return new ea(this.span(n),t,r)},t.prototype.parseCallArguments=function(){if(this.next.isCharacter(41))return[];var t=[];do{t.push(this.parsePipe())}while(this.optionalCharacter(44));return t},t.prototype.expectTemplateBindingKey=function(){var t="",e=!1;do{t+=this.expectIdentifierOrKeywordOrString(),(e=this.optionalOperator("-"))&&(t+="-")}while(e);return t.toString()},t.prototype.parseTemplateBindings=function(t){var e=!0,n=[];do{var r=this.inputIndex,i=void 0,o=void 0,a=!1;e?(i=o=t,e=!1):((a=this.peekKeywordLet())&&this.advance(),i=this.expectTemplateBindingKey(),o=a?i:t+i[0].toUpperCase()+i.substring(1),this.optionalCharacter(58));var s=null,l=null;if(a)s=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.peekKeywordAs())this.advance(),s=i,o=this.expectTemplateBindingKey(),a=!0;else if(this.next!==Mc&&!this.peekKeywordLet()){var c=this.inputIndex,u=this.parsePipe(),p=this.input.substring(c-this.offset,this.inputIndex-this.offset);l=new va(u,p,this.location,this.absoluteOffset,this.errors)}if(n.push(new ba(this.span(r),o,a,s,l)),this.peekKeywordAs()&&!a){var d=this.inputIndex;this.advance();var h=this.expectTemplateBindingKey();n.push(new ba(this.span(d),h,!0,o,null))}this.optionalCharacter(Hn)||this.optionalCharacter(44)}while(this.index0)switch(t[0]){case"*":break;case"!":n[t.substring(1)]=Zc;break;case"#":n[t.substring(1)]=$c;break;case"%":n[t.substring(1)]=tu;break;default:n[t]=Jc}}))})),e}return Object(o.c)(e,t),e.prototype.hasProperty=function(t,e,n){if(n.some((function(t){return t.name===G.name})))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!1;if(n.some((function(t){return t.name===U.name})))return!0}return!!(this._schema[t.toLowerCase()]||this._schema.unknown)[e]},e.prototype.hasElement=function(t,e){if(e.some((function(t){return t.name===G.name})))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!0;if(e.some((function(t){return t.name===U.name})))return!0}return!!this._schema[t.toLowerCase()]},e.prototype.securityContext=function(t,e,n){n&&(e=this.getMappedPropName(e)),t=t.toLowerCase(),e=e.toLowerCase();var r=Kc()[t+"|"+e];return r||((r=Kc()["*|"+e])||I.NONE)},e.prototype.getMappedPropName=function(t){return nu[t]||t},e.prototype.getDefaultComponentElementName=function(){return"ng-component"},e.prototype.validateProperty=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event property '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=...\nIf '"+t+"' is a directive input, make sure the directive is imported by the current module."}:{error:!1}},e.prototype.validateAttribute=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event attribute '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=..."}:{error:!1}},e.prototype.allKnownElementNames=function(){return Object.keys(this._schema)},e.prototype.normalizeAnimationStyleProperty=function(t){return t.replace(xe,(function(){for(var t=[],e=0;e0)throw Ie("Template parse errors:\n"+o.join("\n"),o);return{nodes:r,errors:i,styleUrls:n.styleUrls,styles:n.styles}}var au,su=function(){function t(t){this.bindingParser=t,this.errors=[],this.styles=[],this.styleUrls=[]}return t.prototype.visitElement=function(t){var e,n,r,i=this,a=rc(t);if(a.type===Yl.SCRIPT)return null;if(a.type===Yl.STYLE){var s=1===(r=t).children.length&&r.children[0]instanceof Os?r.children[0].value:null;return null!==s&&this.styles.push(s),null}if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return this.styleUrls.push(a.hrefAttr),null;var l=c(t.name),u=[],p=[],d=[],h=[],f=[],m={},g=[],y=[],v=!1;try{for(var b=Object(o.h)(t.attrs),_=b.next();!_.done;_=b.next()){var w=_.value,x=!1,C=cu(w.name),O=!1;if(w.i18n&&(m[w.name]=w.i18n),C.startsWith("*")){v&&this.reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",w.sourceSpan),O=!0,v=!0;var E=w.value,S=C.substring("*".length),k=[],j=w.valueSpan?w.valueSpan.start.offset:w.sourceSpan.start.offset;this.bindingParser.parseInlineTemplateBinding(S,E,w.sourceSpan,j,[],g,k),y.push.apply(y,Object(o.g)(k.map((function(t){return new jr(t.name,t.value,t.sourceSpan)}))))}else x=this.parseAttribute(l,w,[],u,p,d,h);x||O||f.push(this.visitAttribute(w))}}catch(M){e={error:M}}finally{try{_&&!_.done&&(n=b.return)&&n.call(b)}finally{if(e)throw e.error}}var A,D=Ds(a.nonBindable?lu:this,t.children);if(a.type===Yl.NG_CONTENT){t.children&&!t.children.every((function(t){return function(t){return t instanceof Os&&0==t.value.trim().length}(t)||function(t){return t instanceof As}(t)}))&&this.reportError(" element cannot have content.",t.sourceSpan);var T=a.selectAttr,P=t.attrs.map((function(t){return i.visitAttribute(t)}));A=new kr(T,P,t.sourceSpan,t.i18n)}else if(l){P=this.extractAttributes(t.name,u,m);A=new Sr(t.name,f,P.bound,p,[],D,h,d,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}else{P=this.extractAttributes(t.name,u,m);A=new Er(t.name,f,P.bound,p,D,h,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}if(v){P=this.extractAttributes("ng-template",g,m);var I=[];P.literal.forEach((function(t){return I.push(t)})),P.bound.forEach((function(t){return I.push(t)}));var R=A instanceof Er?{attributes:A.attributes,inputs:A.inputs,outputs:A.outputs}:{attributes:[],inputs:[],outputs:[]};A=new Sr(A.name,R.attributes,R.inputs,R.outputs,I,[A],[],y,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}return A},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,t.valueSpan,t.i18n)},t.prototype.visitText=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan,t.i18n)},t.prototype.visitExpansion=function(t){var e=this,n=t.i18n;if(!n)return null;var r={},i={};return Object.keys(n.placeholders).forEach((function(o){var a=n.placeholders[o];if(o.startsWith("VAR_")){var s=e.bindingParser.interpolationConfig,l=""+s.start+a+s.end;r[o]=e._visitTextWithInterpolation(l,t.sourceSpan)}else i[o]=e._visitTextWithInterpolation(a,t.sourceSpan)})),new Dr(r,i,t.sourceSpan,n)},t.prototype.visitExpansionCase=function(t){return null},t.prototype.visitComment=function(t){return null},t.prototype.extractAttributes=function(t,e,n){var r=this,i=[],o=[];return e.forEach((function(e){var a=n[e.name];if(e.isLiteral)o.push(new xr(e.name,e.expression.source||"",e.sourceSpan,void 0,a));else{var s=r.bindingParser.createBoundElementProperty(t,e,!0,!1);i.push(Cr.fromBoundElementProperty(s,a))}})),{bound:i,literal:o}},t.prototype.parseAttribute=function(t,e,n,r,i,o,a){var s=cu(e.name),l=e.value,c=e.sourceSpan,u=e.valueSpan?e.valueSpan.start.offset:c.start.offset,p=s.match(iu),d=!1;if(p){if(d=!0,null!=p[1])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r);else if(p[2])if(t){var h=p[7];this.parseVariable(h,l,c,e.valueSpan,o)}else this.reportError('"let-" is only supported on ng-template elements.',c);else if(p[3]){h=p[7];this.parseReference(h,l,c,e.valueSpan,a)}else if(p[4]){var f=[];this.bindingParser.parseEvent(p[7],l,c,e.valueSpan||c,n,f),uu(f,i)}else if(p[5])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[7],l,c,e.valueSpan,n,i);else if(p[6])this.bindingParser.parseLiteralAttr(s,l,c,u,e.valueSpan,n,r);else if(p[8])this.bindingParser.parsePropertyBinding(p[8],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[8],l,c,e.valueSpan,n,i);else if(p[9])this.bindingParser.parsePropertyBinding(p[9],l,!1,c,u,e.valueSpan,n,r);else if(p[10]){f=[];this.bindingParser.parseEvent(p[10],l,c,e.valueSpan||c,n,f),uu(f,i)}}else d=this.bindingParser.parsePropertyInterpolation(s,l,c,e.valueSpan,n,r);return d},t.prototype._visitTextWithInterpolation=function(t,e,n){var r=ol(t),i=this.bindingParser.parseInterpolation(r,e);return i?new wr(i,e,n):new _r(r,e)},t.prototype.parseVariable=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in variable names',n),i.push(new jr(t,e,n,r))},t.prototype.parseReference=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in reference names',n),i.push(new Ar(t,e,n,r))},t.prototype.parseAssignmentEvent=function(t,e,n,r,i,o){var a=[];this.bindingParser.parseEvent(t+"Change",e+"=$event",n,r||n,i,a),uu(a,o)},t.prototype.reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t}(),lu=new(function(){function t(){}return t.prototype.visitElement=function(t){var e=rc(t);if(e.type===Yl.SCRIPT||e.type===Yl.STYLE||e.type===Yl.STYLESHEET)return null;var n=Ds(this,t.children,null);return new Er(t.name,Ds(this,t.attrs),[],[],n,[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t){return null},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,void 0,t.i18n)},t.prototype.visitText=function(t){return new _r(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t){return null},t.prototype.visitExpansionCase=function(t){return null},t}());function cu(t){return/^data-/i.test(t)?t.substring(5):t}function uu(t,e){e.push.apply(e,Object(o.g)(t.map((function(t){return Or.fromParsedEvent(t)}))))}!function(t){t[t.ELEMENT=0]="ELEMENT",t[t.TEMPLATE=1]="TEMPLATE",t[t.PROJECTION=2]="PROJECTION"}(au||(au={}));var pu=function(){function t(t,e,n,r,i,o){void 0===n&&(n=0),void 0===r&&(r=null),this.index=t,this.ref=e,this.level=n,this.templateIndex=r,this.meta=i,this.registry=o,this.bindings=new Set,this.placeholders=new Map,this.isEmitted=!1,this._unresolvedCtxCount=0,this._registry=o||{getUniqueId:Vi(),icus:new Map},this.id=this._registry.getUniqueId()}return t.prototype.appendTag=function(t,e,n,r){if(!e.isVoid||!r){var i=e.isVoid||!r?e.startName:e.closeName,o={type:t,index:n,ctx:this.id,isVoid:e.isVoid,closed:r};zi(this.placeholders,i,o)}},Object.defineProperty(t.prototype,"icus",{get:function(){return this._registry.icus},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return 0===this.level},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isResolved",{get:function(){return 0===this._unresolvedCtxCount},enumerable:!0,configurable:!0}),t.prototype.getSerializedPlaceholders=function(){var t=new Map;return this.placeholders.forEach((function(e,n){return t.set(n,e.map(mu))})),t},t.prototype.appendBinding=function(t){this.bindings.add(t)},t.prototype.appendIcu=function(t,e){zi(this._registry.icus,t,e)},t.prototype.appendBoundText=function(t){var e=this;Hi(t,this.bindings.size,this.id).forEach((function(t,n){return zi.apply(void 0,Object(o.g)([e.placeholders,n],t))}))},t.prototype.appendTemplate=function(t,e){this.appendTag(au.TEMPLATE,t,e,!1),this.appendTag(au.TEMPLATE,t,e,!0),this._unresolvedCtxCount++},t.prototype.appendElement=function(t,e,n){this.appendTag(au.ELEMENT,t,e,n)},t.prototype.appendProjection=function(t,e){this.appendTag(au.PROJECTION,t,e,!1),this.appendTag(au.PROJECTION,t,e,!0)},t.prototype.forkChildContext=function(e,n,r){return new t(e,this.ref,this.level+1,n,r,this._registry)},t.prototype.reconcileChildContext=function(t){var e=this;["start","close"].forEach((function(n){var r=t.meta[n+"Name"],i=(e.placeholders.get(r)||[]).find(fu(e.id,t.templateIndex));i&&(i.ctx=t.id)})),t.placeholders.forEach((function(n,r){var i=e.placeholders.get(r);if(i){var a=function(t,e){for(var n=0;n=0){var s=r.startsWith("CLOSE");if(r.endsWith("NG-TEMPLATE"))i.splice.apply(i,Object(o.g)([a+(s?0:1),0],n));else n[s?n.length-1:0].tmpl=i[a],i.splice.apply(i,Object(o.g)([a,1],n))}else i.push.apply(i,Object(o.g)(n));e.placeholders.set(r,i)}else e.placeholders.set(r,n)})),this._unresolvedCtxCount--},t}();function du(t,e,n,r){return Li(""+(r?"/":"")+t+e,n)}function hu(t,e,n){var r=e.index,i=e.ctx;return e.isVoid?du(t,r,i)+du(t,r,i,!0):du(t,r,i,n)}function fu(t,e){return function(n){return"object"==typeof n&&n.type===au.TEMPLATE&&n.index===e&&n.ctx===t}}function mu(t){var e,n,r=function(t,e){return hu("#",t,e)},i=function(t,e){return hu("*",t,e)};switch(t.type){case au.ELEMENT:return t.closed?r(t,!0)+(t.tmpl?i(t.tmpl,!0):""):t.tmpl?i(t.tmpl)+r(t)+(t.isVoid?i(t.tmpl,!0):""):r(t);case au.TEMPLATE:return i(t,t.closed);case au.PROJECTION:return e=t,n=t.closed,hu("!",e,n);default:return t}}var gu={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},yu=function(){function t(){this._placeHolderNameCounts={},this._signatureToName={}}return t.prototype.getStartTagPlaceholderName=function(t,e,n){var r=this._hashTag(t,e,n);if(this._signatureToName[r])return this._signatureToName[r];var i=t.toUpperCase(),o=gu[i]||"TAG_"+i,a=this._generateUniqueName(n?o:"START_"+o);return this._signatureToName[r]=a,a},t.prototype.getCloseTagPlaceholderName=function(t){var e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];var n=t.toUpperCase(),r=gu[n]||"TAG_"+n,i=this._generateUniqueName("CLOSE_"+r);return this._signatureToName[e]=i,i},t.prototype.getPlaceholderName=function(t,e){var n=t.toUpperCase(),r="PH: "+n+"="+e;if(this._signatureToName[r])return this._signatureToName[r];var i=this._generateUniqueName(n);return this._signatureToName[r]=i,i},t.prototype.getUniquePlaceholder=function(t){return this._generateUniqueName(t.toUpperCase())},t.prototype._hashTag=function(t,e,n){return"<"+t+Object.keys(e).sort().map((function(t){return" "+t+"="+e[t]})).join("")+(n?"/>":">")},t.prototype._hashClosingTag=function(t){return this._hashTag("/"+t,{},!1)},t.prototype._generateUniqueName=function(t){if(!this._placeHolderNameCounts.hasOwnProperty(t))return this._placeHolderNameCounts[t]=1,t;var e=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=e+1,t+"_"+e},t}(),vu=new qc(new Tc);function bu(t){var e=new _u(vu,t);return function(t,n,r,i,o){return e.toI18nMessage(t,n,r,i,o)}}var _u=function(){function t(t,e){this._expressionParser=t,this._interpolationConfig=e}return t.prototype.toI18nMessage=function(t,e,n,r,i){this._isIcu=1==t.length&&t[0]instanceof Es,this._icuDepth=0,this._placeholderRegistry=new yu,this._placeholderToContent={},this._placeholderToMessage={},this._visitNodeFn=i;var o=Ds(this,t,{});return new Ir(o,this._placeholderToContent,this._placeholderToMessage,e,n,r)},t.prototype._visitNode=function(t,e){return this._visitNodeFn&&this._visitNodeFn(t,e),e},t.prototype.visitElement=function(t,e){var n=Ds(this,t.children),r={};t.attrs.forEach((function(t){r[t.name]=t.value}));var i=y(t.name).isVoid,o=this._placeholderRegistry.getStartTagPlaceholderName(t.name,r,i);this._placeholderToContent[o]=t.sourceSpan.toString();var a="";i||(a=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[a]="");var s=new Fr(t.name,r,o,a,n,i,t.sourceSpan);return this._visitNode(t,s)},t.prototype.visitAttribute=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitText=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitExpansion=function(e,n){var r=this;this._icuDepth++;var i={},o=new Nr(e.switchValue,e.type,i,e.sourceSpan);if(e.cases.forEach((function(t){i[t.value]=new Mr(t.expression.map((function(t){return t.visit(r,{})})),t.expSourceSpan)})),this._icuDepth--,this._isIcu||this._icuDepth>0){var a=this._placeholderRegistry.getUniquePlaceholder("VAR_"+e.type);return o.expressionPlaceholder=a,this._placeholderToContent[a]=e.switchValue,this._visitNode(e,o)}var s=this._placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString()),l=new t(this._expressionParser,this._interpolationConfig);this._placeholderToMessage[s]=l.toI18nMessage([e],"","","");var c=new Vr(o,s,e.sourceSpan);return this._visitNode(e,c)},t.prototype.visitExpansionCase=function(t,e){throw new Error("Unreachable code")},t.prototype._visitTextWithInterpolation=function(t,e){var n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new Rr(t,e);for(var r=[],i=new Mr(r,e),o=this._interpolationConfig,a=o.start,s=o.end,l=0;l-1?[t.slice(0,s),t.slice(s+2)]:[t,""],2))[0],r=e[1],i=(n=Object(o.f)(l>-1?[c.slice(0,l),c.slice(l+1)]:["",c],2))[0],a=n[1]}return{id:r,meaning:i,description:a}}(e):Ni(e),i=this._createI18nMessage(t,r.meaning||"",r.description||"",r.id||"",n);return i.id||(i.id="string"!=typeof e&&e.id||Ur(i)),i},t.prototype.visitElement=function(t,e){var n,r,i,a;if(function(t){return t.attrs.some((function(t){return Ii(t.name)}))}(t)){var s=[],l={};try{for(var c=Object(o.h)(t.attrs),u=c.next();!u.done;u=c.next()){if((m=u.value).name===Ai){var p=t.i18n||m.value,d=this._generateI18nMessage(t.children,p,xu);d.nodes.length&&(t.i18n=d)}else if(m.name.startsWith(Di)){l[m.name.slice(Di.length)]=m.value}else s.push(m)}}catch(y){n={error:y}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}if(Object.keys(l).length)try{for(var h=Object(o.h)(s),f=h.next();!f.done;f=h.next()){var m,g=l[(m=f.value).name];void 0!==g&&m.value&&(m.i18n=this._generateI18nMessage([m],m.i18n||g))}}catch(v){i={error:v}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}this.keepI18nAttrs||(t.attrs=s)}return Ds(this,t.children),t},t.prototype.visitExpansion=function(t,e){var n,r=t.i18n;if(r instanceof Vr){var i=r.name;Fi(n=this._generateI18nMessage([t],r)).name=i}else n=this._generateI18nMessage([t],r);return t.i18n=n,t},t.prototype.visitText=function(t,e){return t},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();var Ou=new(function(){function t(){this.icuNestingLevel=0}return t.prototype.formatPh=function(t){var e=this.icuNestingLevel>0,n=Ui(t,!e);return e?"{"+n+"}":"{$"+n+"}"},t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map((function(t){return t.visit(n)})).join("")},t.prototype.visitIcu=function(t,e){var n=this;this.icuNestingLevel++;var r=Object.keys(t.cases).map((function(e){return e+" {"+t.cases[e].visit(n)+"}"})),i="{"+t.expressionPlaceholder+", "+t.type+", "+r.join(" ")+"}";return this.icuNestingLevel--,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?this.formatPh(t.startName):""+this.formatPh(t.startName)+t.children.map((function(t){return t.visit(n)})).join("")+this.formatPh(t.closeName)},t.prototype.visitPlaceholder=function(t,e){return this.formatPh(t.name)},t.prototype.visitIcuPlaceholder=function(t,e){return this.formatPh(t.name)},t}());var Eu=new Map([["window",jn.resolveWindow],["document",jn.resolveDocument],["body",jn.resolveBody]]),Su=[" ","\n","\r","\t"];function ku(t,e){return be(de(Ki).bitwiseAnd(_e(t),null,!1),e)}function ju(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=t.type,i=t.name,a=t.target,s=t.phase,l=t.handler;if(a&&!Eu.has(a))throw new Error("Unexpected global target '"+a+"' defined for '"+i+"' event.\n Supported list of global targets: "+Array.from(Eu.keys())+".");var c=null===n||0===n.bindingLevel?de(Yi):n.getOrCreateSharedContextVar(0),u=Da(n,c,l,"b",(function(){return Pe("Unexpected interpolation")}),t.handlerSpan),p=[];n&&(p.push.apply(p,Object(o.g)(n.restoreViewStatement())),p.push.apply(p,Object(o.g)(n.variableDeclarations()))),p.push.apply(p,Object(o.g)(u.render3Stmts));var d=1===r?function(t,e){return""+yo+t+"."+e}(i,s):i,h=e&&an(e),f=ve([new Rt("$event",st)],p,lt,null,h),m=[_e(d),f];return a&&m.push(_e(!1),he(Eu.get(a))),m}var Au=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){var f=this;void 0===n&&(n=0),this.constantPool=t,this.level=n,this.contextName=r,this.i18nContext=i,this.templateIndex=o,this.templateName=a,this.directiveMatcher=s,this.directives=l,this.pipeTypeByName=c,this.pipes=u,this._namespace=p,this.relativeContextFilePath=d,this.i18nUseExternalIds=h,this._dataIndex=0,this._bindingContext=0,this._prefixCode=[],this._creationCodeFns=[],this._updateCodeFns=[],this._lastNodeIndexWithFlush=-1,this._tempVariables=[],this._nestedTemplateFns=[],this._unsupported=Xi,this.i18n=null,this._pureFunctionSlots=0,this._bindingSlots=0,this._ngContentReservedSlots=[],this._ngContentSelectorsOffset=0,this._implicitReceiverExpr=null,this.visitReference=Zi,this.visitVariable=Zi,this.visitTextAttribute=Zi,this.visitBoundAttribute=Zi,this.visitBoundEvent=Zi,this._bindingScope=e.nestedScope(n),this.fileBasedI18nSuffix=d.replace(/[^A-Za-z0-9]/g,"_")+"_",this._valueConverter=new Du(t,(function(){return f.allocateDataSlot()}),(function(t){return f.allocatePureFunctionSlots(t)}),(function(t,e,n,r){var i=c.get(t);i&&f.pipes.add(i),f._bindingScope.set(f.level,e,r),f.creationInstruction(null,jn.pipe,[_e(n),_e(t)])}))}return t.prototype.registerContextVariables=function(t){var e=this._bindingScope.freshReferenceName(),n=this.level,r=de(t.name+e);this._bindingScope.set(n,t.name,r,1,(function(e,i){var o;if(e.bindingLevel===n)o=de(Yi);else{var a=e.getSharedContextName(n);o=a||Ru(i)}return[r.set(o.prop(t.value||"$implicit")).toConstDecl()]}))},t.prototype.buildTemplateFunction=function(t,e,n,r){var i=this;void 0===n&&(n=0),this._ngContentSelectorsOffset=n,this._namespace!==jn.namespaceHTML&&this.creationInstruction(null,this._namespace),e.forEach((function(t){return i.registerContextVariables(t)}));var a,s=this.i18nContext||Ri(r)&&!Mi(r)&&!(1===(a=t).length&&a[0]instanceof Er&&t[0].i18n===r),l=Hu(t);if(s&&this.i18nStart(null,r,l),Tr(this,t),this._pureFunctionSlots+=this._bindingSlots,this._valueConverter.updatePipeSlotOffsets(this._bindingSlots),this._nestedTemplateFns.forEach((function(t){return t()})),0===this.level&&this._ngContentReservedSlots.length){var c=[];if(this._ngContentReservedSlots.length>1||"*"!==this._ngContentReservedSlots[0]){var u=this._ngContentReservedSlots.map((function(t){return"*"!==t?$(t):t}));c.push(this.constantPool.getConstLiteral($i(u),!0))}this.creationInstruction(null,jn.projectionDef,c,!0)}s&&this.i18nEnd(null,l);var p=this._creationCodeFns.map((function(t){return t()})),d=this._updateCodeFns.map((function(t){return t()})),h=this._bindingScope.viewSnapshotStatements(),f=this._bindingScope.variableDeclarations().concat(this._tempVariables),m=p.length>0?[ku(1,h.concat(p))]:[],g=d.length>0?[ku(2,f.concat(d))]:[];return ve([new Rt(Ki,ut),new Rt(Yi,null)],Object(o.g)(this._prefixCode,m,g),lt,null,this.templateName)},t.prototype.getLocal=function(t){return this._bindingScope.get(t)},t.prototype.notifyImplicitReceiverUse=function(){this._bindingScope.notifyImplicitReceiverUse()},t.prototype.i18nTranslate=function(t,e,n,r){var i;void 0===e&&(e={});var a=n||de(this.constantPool.uniqueName("I18N_")),s=this.i18nGenerateClosureVar(t.id),l=this.i18nFormatPlaceholderNames(e,!0),c=Ni(t),u=function(t,e,n,r,i,a){void 0===i&&(i={});var s=[];return s.push.apply(s,Object(o.g)(Pi(t,e,n,r,i))),a&&s.push(new Kt(t.set(a(t)))),s}(a,s,function(t){return t.nodes.map((function(t){return t.visit(Ou,null)})).join("")}(t),c,l,r);return(i=this.constantPool.statements).push.apply(i,Object(o.g)(u)),a},t.prototype.i18nFormatPlaceholderNames=function(t,e){void 0===t&&(t={});var n={};return t&&Object.keys(t).length&&Object.keys(t).forEach((function(r){return n[Ui(r,e)]=t[r]})),n},t.prototype.i18nAppendBindings=function(t){var e=this;t.length>0&&t.forEach((function(t){return e.i18n.appendBinding(t)}))},t.prototype.i18nBindProps=function(t){var e=this,n={};return Object.keys(t).forEach((function(r){var i=t[r];if(i instanceof _r)n[r]=_e(i.value);else{var o=i.value.visit(e._valueConverter);if(e.allocateBindingSlots(o),o instanceof ua){var a=o.strings,s=o.expressions,l=e.i18n,c=l.id,u=function(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=0),!t.length)return"";for(var r="",i=t.length-1,o=0;o1}))||Object.keys(s).length)&&(c=function(t){var e=[t];return Object.keys(s).length&&e.push(Ci(s,!0)),Iu(null,jn.i18nPostprocess,e)}),this.i18nTranslate(n,l,t.ref,c)}},t.prototype.i18nStart=function(t,e,n){void 0===t&&(t=null);var r=this.allocateDataSlot();if(this.i18nContext)this.i18n=this.i18nContext.forkChildContext(r,this.templateIndex,e);else{var i=de(this.constantPool.uniqueName("I18N_"));this.i18n=new pu(r,i,0,this.templateIndex,e)}var o=this.i18n,a=o.id,s=o.ref,l=[_e(r),s];a>0&&l.push(_e(a)),this.creationInstruction(t,n?jn.i18n:jn.i18nStart,l)},t.prototype.i18nEnd=function(t,e){var n=this;if(void 0===t&&(t=null),!this.i18n)throw new Error("i18nEnd is executed with no i18n context present");this.i18nContext?(this.i18nContext.reconcileChildContext(this.i18n),this.i18nUpdateRef(this.i18nContext)):this.i18nUpdateRef(this.i18n);var r=this.i18n,i=r.index,o=r.bindings;if(o.size){var a=[];o.forEach((function(e){a.push({sourceSpan:t,value:function(){return n.convertPropertyBinding(e)}})})),this.updateInstructionChain(i,jn.i18nExp,a),this.updateInstruction(i,t,jn.i18nApply,[_e(i)])}e||this.creationInstruction(t,jn.i18nEnd),this.i18n=null},t.prototype.visitContent=function(t){var e=this.allocateDataSlot(),n=this._ngContentSelectorsOffset+this._ngContentReservedSlots.length,r=[_e(e)],i=[];this._ngContentReservedSlots.push(t.selector),t.attributes.forEach((function(t){var e=t.name,n=t.value;"ngProjectAs"===e?i.push.apply(i,Object(o.g)(Lu(t))):"select"!==e.toLowerCase()&&i.push(_e(e),_e(n))})),i.length>0?r.push(_e(n),ge(i)):0!==n&&r.push(_e(n)),this.creationInstruction(t.sourceSpan,jn.projection,r),this.i18n&&this.i18n.appendProjection(t.i18n,e)},t.prototype.getNamespaceInstruction=function(t){switch(t){case"math":return jn.namespaceMathML;case"svg":return jn.namespaceSVG;default:return jn.namespaceHTML}},t.prototype.addNamespaceInstruction=function(t,e){this._namespace=t,this.creationInstruction(e.sourceSpan,t)},t.prototype.visitElement=function(t){var e,n,r=this,i=this.allocateDataSlot(),l=new Sc(_e(i),null),c=!1,u=Ri(t.i18n)&&!Mi(t.i18n);if(u&&this.i18n)throw new Error("Could not mark an element as translatable inside of a translatable section");var p=[],d=[],h=Object(o.f)(a(t.name),2),f=h[0],m=h[1],g=s(t.name);try{for(var y=Object(o.h)(t.attributes),v=y.next();!v.done;v=y.next()){var b=v.value,_=b.name,w=b.value;"ngNonBindable"===_?c=!0:"style"===_?l.registerStyleAttr(w):"class"===_?l.registerClassAttr(w):b.i18n?p.push(b):d.push(b)}}catch(U){e={error:U}}finally{try{v&&!v.done&&(n=y.return)&&n.call(y)}finally{if(e)throw e.error}}this.matchDirectives(t.name,t);var x=[_e(i)];g||x.push(_e(m));var C=[],O=[];t.inputs.forEach((function(t){l.registerBoundInput(t)||(0===t.type&&t.i18n?p.push(t):O.push(t))})),d.forEach((function(t){"ngProjectAs"===t.name?C.push.apply(C,Object(o.g)(Lu(t))):C.push.apply(C,Object(o.g)(Nu(t.name),[_e(t.value)]))})),C.push.apply(C,Object(o.g)(this.prepareNonRenderAttrs(O,t.outputs,l,[],p))),x.push(this.toAttrsParam(C)),x.push(this.prepareRefsParameter(t.references));var E=this._namespace,S=this.getNamespaceInstruction(f);S!==E&&this.addNamespaceInstruction(S,t),this.i18n&&this.i18n.appendElement(t.i18n,i);var k=!u&&this.i18n?!Hu(t.children):t.children.length>0,j=!l.hasBindings&&0===t.outputs.length&&0===p.length&&!k,A=!j&&!l.hasBindings&&Hu(t.children);if(j)this.creationInstruction(t.sourceSpan,g?jn.elementContainer:jn.element,to(x));else{if(this.creationInstruction(t.sourceSpan,g?jn.elementContainerStart:jn.elementStart,to(x)),c&&this.creationInstruction(t.sourceSpan,jn.disableBindings),p.length){var D=!1,T=[],P=[];if(p.forEach((function(e){var n=e.i18n;if(e instanceof xr)T.push(_e(e.name),r.i18nTranslate(n));else{var i=e.value.visit(r._valueConverter);if(r.allocateBindingSlots(i),i instanceof ua){var o=Bi(Hi(n));T.push(_e(e.name),r.i18nTranslate(n,o)),i.expressions.forEach((function(e){D=!0,P.push({sourceSpan:t.sourceSpan,value:function(){return r.convertExpressionBinding(e)}})}))}}})),P.length&&this.updateInstructionChain(i,jn.i18nExp,P),T.length){var I=_e(this.allocateDataSlot()),R=this.constantPool.getConstLiteral(ge(T),!0);this.creationInstruction(t.sourceSpan,jn.i18nAttributes,[I,R]),D&&this.updateInstruction(i,t.sourceSpan,jn.i18nApply,[I])}}this.processStylingInstruction(i,l.buildStylingInstruction(t.sourceSpan,this.constantPool),!0),t.outputs.forEach((function(e){r.creationInstruction(e.sourceSpan,jn.listener,r.prepareListenerParameter(t.name,e,i))})),u&&this.i18nStart(t.sourceSpan,t.i18n,A)}for(var M=l.buildUpdateLevelInstructions(this._valueConverter),N=M.length-1,F=0;F<=N;F++){var L=M[F];this._bindingSlots+=L.allocateBindingSlots,this.processStylingInstruction(i,L,!1)}var V=_e(void 0),B=[],z=[];if(O.forEach((function(t){var e=t.type;if(4===e){var n=t.value.visit(r._valueConverter),s=!(n instanceof sa)||!!n.value;r.allocateBindingSlots(n),B.push({name:vo(t.name),sourceSpan:t.sourceSpan,value:function(){return s?r.convertPropertyBinding(n):V}})}else{if(t.i18n)return;var l=t.value.visit(r._valueConverter);if(void 0!==l){var c=[],u=Object(o.f)(a(t.name),2),p=u[0],d=u[1],h=1===e,f=Bu(t.securityContext,h);if(f&&c.push(f),p){var m=_e(p);f?c.push(m):c.push(_e(null),m)}if(r.allocateBindingSlots(l),0===e)l instanceof ua?r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 1:return jn.propertyInterpolate;case 3:return jn.propertyInterpolate1;case 5:return jn.propertyInterpolate2;case 7:return jn.propertyInterpolate3;case 9:return jn.propertyInterpolate4;case 11:return jn.propertyInterpolate5;case 13:return jn.propertyInterpolate6;case 15:return jn.propertyInterpolate7;case 17:return jn.propertyInterpolate8;default:return jn.propertyInterpolateV}}(l),i,d,t,l,c):B.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(l)},params:c});else if(1===e)if(l instanceof ua&&so(l)>1)r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 3:return jn.attributeInterpolate1;case 5:return jn.attributeInterpolate2;case 7:return jn.attributeInterpolate3;case 9:return jn.attributeInterpolate4;case 11:return jn.attributeInterpolate5;case 13:return jn.attributeInterpolate6;case 15:return jn.attributeInterpolate7;case 17:return jn.attributeInterpolate8;default:return jn.attributeInterpolateV}}(l),i,d,t,l,c);else{var g=l instanceof ua?l.expressions[0]:l;z.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(g)},params:c})}else r.updateInstruction(i,t.sourceSpan,jn.classProp,(function(){return Object(o.g)([_e(i),_e(d),r.convertPropertyBinding(l)],c)}))}}})),B.length>0&&this.updateInstructionChain(i,jn.property,B),z.length>0&&this.updateInstructionChain(i,jn.attribute,z),Tr(this,t.children),!u&&this.i18n&&this.i18n.appendElement(t.i18n,i,!0),!j){var H=t.endSourceSpan||t.sourceSpan;u&&this.i18nEnd(H,A),c&&this.creationInstruction(H,jn.enableBindings),this.creationInstruction(H,g?jn.elementContainerEnd:jn.elementEnd)}},t.prototype.interpolatedUpdateInstruction=function(t,e,n,r,i,a){var s=this;this.updateInstruction(e,r.sourceSpan,t,(function(){return Object(o.g)([_e(n)],s.getUpdateInstructionArguments(i),a)}))},t.prototype.visitTemplate=function(e){var n=this,r=this.allocateDataSlot();this.i18n&&this.i18n.appendTemplate(e.i18n,r);var i=an(e.tagName||""),s=this.contextName+(i?"_"+i:"")+"_"+r,l=s+"_Template",c=[_e(r),de(l),_e(e.tagName?a(e.tagName)[1]:e.tagName)];this.matchDirectives("ng-template",e);var u=[];e.attributes.forEach((function(t){u.push($i(t.name),$i(t.value))})),u.push.apply(u,Object(o.g)(this.prepareNonRenderAttrs(e.inputs,e.outputs,void 0,e.templateAttrs))),c.push(this.toAttrsParam(u)),e.references&&e.references.length&&(c.push(this.prepareRefsParameter(e.references)),c.push(he(jn.templateRefExtractor)));var p=new t(this.constantPool,this._bindingScope,this.level+1,s,this.i18n,r,l,this.directiveMatcher,this.directives,this.pipeTypeByName,this.pipes,this._namespace,this.fileBasedI18nSuffix,this.i18nUseExternalIds);this._nestedTemplateFns.push((function(){var t,r=p.buildTemplateFunction(e.children,e.variables,n._ngContentReservedSlots.length+n._ngContentSelectorsOffset,e.i18n);n.constantPool.statements.push(r.toDeclStmt(l,null)),p._ngContentReservedSlots.length&&(t=n._ngContentReservedSlots).push.apply(t,Object(o.g)(p._ngContentReservedSlots))})),this.creationInstruction(e.sourceSpan,jn.templateCreate,(function(){return c.splice(2,0,_e(p.getConstCount()),_e(p.getVarCount())),to(c)})),this.templatePropertyBindings(r,e.templateAttrs),"ng-template"===e.tagName&&(this.templatePropertyBindings(r,e.inputs),e.outputs.forEach((function(t){n.creationInstruction(t.sourceSpan,jn.listener,n.prepareListenerParameter("ng_template",t,r))})))},t.prototype.visitBoundText=function(t){var e=this;if(this.i18n){var n=t.value.visit(this._valueConverter);return this.allocateBindingSlots(n),void(n instanceof ua&&(this.i18n.appendBoundText(t.i18n),this.i18nAppendBindings(n.expressions)))}var r=this.allocateDataSlot();this.creationInstruction(t.sourceSpan,jn.text,[_e(r)]);var i=t.value.visit(this._valueConverter);this.allocateBindingSlots(i),i instanceof ua?this.updateInstruction(r,t.sourceSpan,function(t){switch(so(t)){case 1:return jn.textInterpolate;case 3:return jn.textInterpolate1;case 5:return jn.textInterpolate2;case 7:return jn.textInterpolate3;case 9:return jn.textInterpolate4;case 11:return jn.textInterpolate5;case 13:return jn.textInterpolate6;case 15:return jn.textInterpolate7;case 17:return jn.textInterpolate8;default:return jn.textInterpolateV}}(i),(function(){return e.getUpdateInstructionArguments(i)})):this.updateInstruction(r,t.sourceSpan,jn.textBinding,(function(){return[e.convertPropertyBinding(i)]}))},t.prototype.visitText=function(t){this.i18n||this.creationInstruction(t.sourceSpan,jn.text,[_e(this.allocateDataSlot()),_e(t.value)])},t.prototype.visitIcu=function(t){var e=this,n=!1;this.i18n||(n=!0,this.i18nStart(null,t.i18n,!0));var r=this.i18n,i=this.i18nBindProps(t.vars),a=this.i18nBindProps(t.placeholders),s=t.i18n,l=function(t){var n=Object(o.a)({},i,a),r=e.i18nFormatPlaceholderNames(n,!1);return Iu(null,jn.i18nPostprocess,[t,Ci(r,!0)])};if(Mi(r.meta))this.i18nTranslate(s,{},r.ref,l);else{var c=this.i18nTranslate(s,{},void 0,l);r.appendIcu(Fi(s).name,c)}return n&&this.i18nEnd(null,!0),null},t.prototype.allocateDataSlot=function(){return this._dataIndex++},t.prototype.getConstCount=function(){return this._dataIndex},t.prototype.getVarCount=function(){return this._pureFunctionSlots},t.prototype.getNgContentSelectors=function(){return this._ngContentReservedSlots.length?this.constantPool.getConstLiteral($i(this._ngContentReservedSlots),!0):null},t.prototype.bindingContext=function(){return""+this._bindingContext++},t.prototype.templatePropertyBindings=function(t,e){var n=this,r=[];e.forEach((function(t){if(t instanceof Cr){var e=t.value.visit(n._valueConverter);void 0!==e&&(n.allocateBindingSlots(e),r.push({name:t.name,sourceSpan:t.sourceSpan,value:function(){return n.convertPropertyBinding(e)}}))}})),r.length>0&&this.updateInstructionChain(t,jn.property,r)},t.prototype.instructionFn=function(t,e,n,r,i){void 0===i&&(i=!1),t[i?"unshift":"push"]((function(){var t=Array.isArray(r)?r:r();return Iu(e,n,t).toStmt()}))},t.prototype.processStylingInstruction=function(t,e,n){var r=this;e&&(n?this.creationInstruction(e.sourceSpan,e.reference,(function(){return e.params((function(t){return r.convertPropertyBinding(t)}))})):this.updateInstruction(t,e.sourceSpan,e.reference,(function(){return e.params((function(t){return e.supportsInterpolation&&t instanceof ua?r.getUpdateInstructionArguments(t):r.convertPropertyBinding(t)}))})))},t.prototype.creationInstruction=function(t,e,n,r){this.instructionFn(this._creationCodeFns,t,e,n||[],r)},t.prototype.updateInstruction=function(t,e,n,r){this.addSelectInstructionIfNecessary(t,e),this.instructionFn(this._updateCodeFns,e,n,r||[])},t.prototype.updateInstructionChain=function(t,e,n){var r=n.length?n[0].sourceSpan:null;this.addSelectInstructionIfNecessary(t,r),this._updateCodeFns.push((function(){var t=n.map((function(t){var e=Object(o.g)([t.value()],t.params||[]);return t.name&&e.unshift(_e(t.name)),e}));return ao(e,t,r).toStmt()}))},t.prototype.addSelectInstructionIfNecessary=function(t,e){this._lastNodeIndexWithFlush0&&this.instructionFn(this._updateCodeFns,e,jn.select,[_e(t)]),this._lastNodeIndexWithFlush=t)},t.prototype.allocatePureFunctionSlots=function(t){var e=this._pureFunctionSlots;return this._pureFunctionSlots+=t,e},t.prototype.allocateBindingSlots=function(t){this._bindingSlots+=t instanceof ua?t.expressions.length:1},t.prototype.getImplicitReceiverExpr=function(){return this._implicitReceiverExpr?this._implicitReceiverExpr:this._implicitReceiverExpr=0===this.level?de(Yi):this._bindingScope.getOrCreateSharedContextVar(0)},t.prototype.convertExpressionBinding=function(t){return Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple).currValExpr},t.prototype.convertPropertyBinding=function(t){var e,n=Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple,(function(){return Pe("Unexpected interpolation")})),r=n.currValExpr;return(e=this._tempVariables).push.apply(e,Object(o.g)(n.stmts)),r},t.prototype.getUpdateInstructionArguments=function(t){var e,n=function(t,e,n,r){var i=new Ha(t,e,r,void 0),o=n.visit(i,Ia.Expression);i.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var a=Na(i,r),s=o.args.slice(1);if(n instanceof ua){var l=n.strings;3===s.length&&""===l[0]&&""===l[1]?s=[s[1]]:s.length>=19&&(s=[ge(s)])}return{stmts:a,args:s}}(this,this.getImplicitReceiverExpr(),t,this.bindingContext()),r=n.args,i=n.stmts;return(e=this._tempVariables).push.apply(e,Object(o.g)(i)),r},t.prototype.matchDirectives=function(t,e){var n,r,i,o=this;if(this.directiveMatcher){var a=(n=t,r=oo(e),(i=new w).setElement(n),Object.getOwnPropertyNames(r).forEach((function(t){var e=r[t];i.addAttribute(t,e),"class"===t.toLowerCase()&&e.trim().split(/\s+/).forEach((function(t){return i.addClassName(t)}))})),i);this.directiveMatcher.match(a,(function(t,e){o.directives.add(e)}))}},t.prototype.prepareNonRenderAttrs=function(t,e,n,r,i){void 0===r&&(r=[]),void 0===i&&(i=[]);var a=new Set,s=[];function l(t,e){"string"==typeof t?a.has(t)||(s.push.apply(s,Object(o.g)(Nu(t))),void 0!==e&&s.push(e),a.add(t)):s.push(_e(t))}if(n&&n.populateInitialStylingAttrs(s),t.length||e.length){for(var c=s.length,u=0;u0?this.constantPool.getConstLiteral(ge(t),!0):Gt},t.prototype.prepareRefsParameter=function(t){var e=this;if(!t||0===t.length)return Gt;var n=On(t.map((function(t){var n=e.allocateDataSlot(),r=e._bindingScope.freshReferenceName(),i=e.level,o=de(r);return e._bindingScope.set(i,t.name,o,0,(function(t,e){var r=e>0?[Ru(e).toStmt()]:[],i=o.set(he(jn.reference).callFn([_e(n)]));return r.concat(i.toConstDecl())}),!0),[t.name,t.value]})));return this.constantPool.getConstLiteral($i(n),!0)},t.prototype.prepareListenerParameter=function(t,e,n){var r=this;return function(){var i=e.name,o=1===e.type?bo(i,e.phase):an(i),a=r.templateName+"_"+t+"_"+o+"_"+n+"_listener",s=r._bindingScope.nestedScope(r._bindingScope.bindingLevel);return ju(e,a,s)}},t}(),Du=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.constantPool=e,o.allocateSlot=n,o.allocatePureFunctionSlots=r,o.definePipe=i,o._pipeBindExprs=[],o}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){var n=this.allocateSlot(),r="PIPE:"+n,i=this.allocatePureFunctionSlots(2+t.args.length),a=new ea(t.span,new $o(t.span),r),s=function(t){var e=Tu[t.length];return{identifier:e||jn.pipeBindV,isVarLength:!e}}(t.args),l=s.identifier,c=s.isVarLength;this.definePipe(t.name,r,n,he(l));var u=Object(o.g)([t.exp],t.args),p=c?this.visitAll([new la(t.span,u)]):this.visitAll(u),d=new ga(t.span,a,Object(o.g)([new sa(t.span,n),new sa(t.span,i)],p));return this._pipeBindExprs.push(d),d},e.prototype.updatePipeSlotOffsets=function(t){this._pipeBindExprs.forEach((function(e){e.args[1].value+=t}))},e.prototype.visitLiteralArray=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.expressions),(function(t){var e=ge(t);return t.every((function(t){return t.isConstant()}))?n.constantPool.getConstLiteral(e,!0):Mu(n.constantPool,e,n.allocatePureFunctionSlots)}))},e.prototype.visitLiteralMap=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.values),(function(e){var r=ye(e.map((function(e,n){return{key:t.keys[n].key,value:e,quoted:t.keys[n].quoted}})));return e.every((function(t){return t.isConstant()}))?n.constantPool.getConstLiteral(r,!0):Mu(n.constantPool,r,n.allocatePureFunctionSlots)}))},e}(xa),Tu=[jn.pipeBind1,jn.pipeBind2,jn.pipeBind3,jn.pipeBind4];var Pu=[jn.pureFunction0,jn.pureFunction1,jn.pureFunction2,jn.pureFunction3,jn.pureFunction4,jn.pureFunction5,jn.pureFunction6,jn.pureFunction7,jn.pureFunction8];function Iu(t,e,n){return he(e,null,t).callFn(n,t)}function Ru(t){return he(jn.nextContext).callFn(t>1?[_e(t)]:[])}function Mu(t,e,n){var r=t.getLiteralFactory(e),i=r.literalFactory,a=r.literalFactoryArguments,s=n(1+a.length);a.length>0||Pe("Expected arguments to a literal factory function");var l=function(t){var e=Pu[t.length];return{identifier:e||jn.pureFunctionV,isVarLength:!e}}(a),c=l.identifier,u=l.isVarLength,p=[_e(s),i];return u?p.push(ge(a)):p.push.apply(p,Object(o.g)(a)),he(c).callFn(p)}function Nu(t){var e=Object(o.f)(a(t),2),n=e[0],r=_e(e[1]);return n?[_e(0),_e(n),r]:[r]}var Fu=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=null),this.bindingLevel=t,this.parent=e,this.map=new Map,this.referenceNameIndex=0,this.restoreViewVariable=null}return Object.defineProperty(t,"ROOT_SCOPE",{get:function(){return t._ROOT_SCOPE||(t._ROOT_SCOPE=(new t).set(0,"$event",de("$event"))),t._ROOT_SCOPE},enumerable:!0,configurable:!0}),t.prototype.get=function(t){for(var e=this;e;){var n=e.map.get(t);if(null!=n)return e!==this&&(n={retrievalLevel:n.retrievalLevel,lhs:n.lhs,declareLocalCallback:n.declareLocalCallback,declare:!1,priority:n.priority,localRef:n.localRef},this.map.set(t,n),this.maybeGenerateSharedContextVar(n),this.maybeRestoreView(n.retrievalLevel,n.localRef)),n.declareLocalCallback&&!n.declare&&(n.declare=!0),n.lhs;e=e.parent}return 0===this.bindingLevel?null:this.getComponentProperty(t)},t.prototype.set=function(t,e,n,r,i,o){if(void 0===r&&(r=0),this.map.has(e)){if(o)return this;Pe("The name "+e+" is already defined in scope to be "+this.map.get(e))}return this.map.set(e,{retrievalLevel:t,lhs:n,declare:!1,declareLocalCallback:i,priority:r,localRef:o||!1}),this},t.prototype.getLocal=function(t){return this.get(t)},t.prototype.notifyImplicitReceiverUse=function(){0!==this.bindingLevel&&(this.map.get("$$shared_ctx$$0").declare=!0)},t.prototype.nestedScope=function(e){var n=new t(e,this);return e>0&&n.generateSharedContextVar(0),n},t.prototype.getOrCreateSharedContextVar=function(t){var e="$$shared_ctx$$"+t;return this.map.has(e)||this.generateSharedContextVar(t),this.map.get(e).lhs},t.prototype.getSharedContextName=function(t){var e=this.map.get("$$shared_ctx$$"+t);return e&&e.declare?e.lhs:null},t.prototype.maybeGenerateSharedContextVar=function(t){if(1===t.priority&&t.retrievalLevel0&&r.set("contentQueries",Ju(t.queries,e,t.name)),t.viewQueries.length&&r.set("viewQuery",rp(t.viewQueries,e,t.name)),r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.selector||"",t.name)),r.set("inputs",Ji(t.inputs,!0)),r.set("outputs",Ji(t.outputs)),null!==t.exportAs&&r.set("exportAs",ge(t.exportAs.map((function(t){return _e(t)})))),{definitionMap:r,statements:i.statements}}function Wu(t,e){var n=[],r=e.providers,i=e.viewProviders;if(r||i){var o=[r||new Vt([])];i&&o.push(i),n.push(he(jn.ProvidersFeature).callFn(o))}e.usesInheritance&&n.push(he(jn.InheritDefinitionFeature)),e.lifecycle.usesOnChanges&&n.push(he(jn.NgOnChangesFeature).callFn(Uu)),n.length&&t.set("features",ge(n))}function Yu(t,e,n){var r=qu(t,e,n),i=r.definitionMap,o=r.statements;Wu(i,t);var a=he(jn.defineDirective).callFn([i.toLiteralMap()]);if(!t.selector)throw new Error("Directive "+t.name+" has no selector, please add it!");return{expression:a,type:np(t,jn.DirectiveDefWithMeta),statements:o}}function Ku(t,e,n){var r,i,a=qu(t,e,n),s=a.definitionMap,l=a.statements;Wu(s,t);var c=t.selector&&w.parse(t.selector),u=c&&c[0];if(u){var p=u.getAttrs();p.length&&s.set("attrs",e.getConstLiteral(ge(p.map((function(t){return _e(null!=t?t:void 0)}))),!0))}var d=null;if(t.directives.length>0){var h=new x;try{for(var f=Object(o.h)(t.directives),m=f.next();!m.done;m=f.next()){var g=m.value,y=g.selector,_=g.expression;h.addSelectables(w.parse(y),_)}}catch(M){r={error:M}}finally{try{m&&!m.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}d=h}var C=t.name,O=C?C+"_Template":null,E=new Set,S=new Set,k=t.changeDetection,j=t.template,A=new Au(e,Fu.ROOT_SCOPE,0,C,null,null,O,d,E,t.pipes,S,jn.namespaceHTML,t.relativeContextFilePath,t.i18nUseExternalIds),D=A.buildTemplateFunction(j.nodes,[]),T=A.getNgContentSelectors();if(T&&s.set("ngContentSelectors",T),s.set("consts",_e(A.getConstCount())),s.set("vars",_e(A.getVarCount())),s.set("template",D),E.size){var P=ge(Array.from(E));t.wrapDirectivesAndPipesInClosure&&(P=ve([],[new Qt(P)])),s.set("directives",P)}if(S.size){var I=ge(Array.from(S));t.wrapDirectivesAndPipesInClosure&&(I=ve([],[new Qt(I)])),s.set("pipes",I)}if(null===t.encapsulation&&(t.encapsulation=v.Emulated),t.styles&&t.styles.length){var R=(t.encapsulation==v.Emulated?function(t,e,n){var r=new qa;return t.map((function(t){return r.shimCssText(t,e,n)}))}(t.styles,bs,vs):t.styles).map((function(t){return _e(t)}));s.set("styles",ge(R))}else t.encapsulation===v.Emulated&&(t.encapsulation=v.None);t.encapsulation!==v.Emulated&&s.set("encapsulation",_e(t.encapsulation)),null!==t.animations&&s.set("data",ye([{key:"animation",value:t.animations,quoted:!1}])),null!=k&&k!==b.Default&&s.set("changeDetection",_e(k));(t.selector||"").replace(/\n/g,"");return{expression:he(jn.defineComponent).callFn([s.toLiteralMap()]),type:np(t,jn.ComponentDefWithMeta),statements:l}}function Qu(t,e,n){throw new Error("unsupported")}function Xu(t,e){return t.map((function(t){var n=null;return t.read&&t.read.identifier&&(n=e.importExpr(t.read.identifier.reference)),{propertyName:t.propertyName,first:t.first,predicate:Zu(t.selectors,e),descendants:t.descendants,read:n,static:!!t.static}}))}function Zu(t,e){if(t.length>1||1==t.length&&t[0].value){var n=t.map((function(t){return t.value}));return n.some((function(t){return!t}))&&Pe("Found a type among the string selectors expected"),e.constantPool.getConstLiteral(ge(n.map((function(t){return _e(t)}))))}if(1==t.length){var r=t[0];if(r.identifier)return e.importExpr(r.identifier.reference)}return Pe("Unexpected query form"),Ut}function $u(t,e){var n=[eo(t,e),_e(t.descendants)];return t.read&&n.push(t.read),n}function Ju(t,e,n){var r,i,a=[],s=[],l=Qi(s,Wi);try{for(var c=Object(o.h)(t),u=c.next();!u.done;u=c.next()){var p=u.value,d=p.static?jn.staticContentQuery:jn.contentQuery;a.push(he(d).callFn(Object(o.g)([de("dirIndex")],$u(p,e))).toStmt());var h=l(),f=he(jn.loadContentQuery).callFn([]),m=he(jn.queryRefresh).callFn([h.set(f)]),g=de(Yi).prop(p.propertyName).set(p.first?h.prop("first"):h);s.push(m.and(g).toStmt())}}catch(v){r={error:v}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(r)throw r.error}}var y=n?n+"_ContentQueries":null;return ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt("dirIndex",null)],[ku(1,a),ku(2,s)],lt,null,y)}function tp(t){return me(ye(Object.keys(t).map((function(e){return{key:e,value:_e(Array.isArray(t[e])?t[e][0]:t[e]),quoted:!0}}))))}function ep(t){return t.length>0?me(ge(t.map((function(t){return _e(t)})))):pt}function np(t,e){var n,r=(t.selector||"").replace(/\n/g,"");return me(he(e,[go(t.type,t.typeArgumentCount),(n=r,me(_e(n))),null!==t.exportAs?ep(t.exportAs):pt,tp(t.inputs),tp(t.outputs),ep(t.queries.map((function(t){return t.propertyName})))]))}function rp(t,e,n){var r=[],i=[],o=Qi(i,Wi);t.forEach((function(t){var n=he(t.static?jn.staticViewQuery:jn.viewQuery).callFn($u(t,e));r.push(n.toStmt());var a=o(),s=he(jn.loadViewQuery).callFn([]),l=he(jn.queryRefresh).callFn([a.set(s)]),c=de(Yi).prop(t.propertyName).set(t.first?a.prop("first"):a);i.push(l.and(c).toStmt())}));var a=n?n+"_Query":null;return ve([new Rt(Ki,ut),new Rt(Yi,null)],[ku(1,r),ku(2,i)],lt,null,a)}function ip(t,e,n,r,i,a){var s=Object.keys(t.properties).length,l=de("elIndex"),c=de(Yi),u=new Sc(l,c),p=t.specialAttributes,d=p.styleAttr,h=p.classAttr;void 0!==d&&u.registerStyleAttr(d),void 0!==h&&u.registerClassAttr(h);var f,m=[],g=[],y=s,v=e,b=sp(t),_=function(){if(!f){f=new Du(r,(function(){return Pe("Unexpected node")}),(function(t){var e=y;return y+=t,e}),(function(){return Pe("Unexpected pipe")}))}return f},w=n.createDirectiveHostEventAsts(b,v);if(w&&w.length){var x=function(t,e){return t.map((function(t){var n=t.name&&an(t.name),r=1===t.type?bo(n,t.targetOrPhase):n,i=e&&n?e+"_"+r+"_HostBindingHandler":null,o=ju(Or.fromParsedEvent(t),i);return he(1==t.type?jn.componentHostSyntheticListener:jn.listener).callFn(o).toStmt()}))}(w,a);m.push.apply(m,Object(o.g)(x))}var C=n.createBoundHostProperties(b,v),O=[],E=[],S=[];C&&C.forEach((function(t){var e=t.name;if(!u.registerInputBasedOnName(e,t.expression,t.sourceSpan)){var r=t.expression.visit(_()),a=op(c,r),s=function(t){var e,n=t.name,r=n.match(Gu);r?(n=r[1],e=jn.attribute):t.isAnimation?(n=vo(n),e=jn.updateSyntheticHostBinding):e=jn.hostProperty;return{bindingName:n,instruction:e,isAttribute:!!r}}(t),l=s.bindingName,p=s.instruction,d=s.isAttribute,h=n.calcPossibleSecurityContexts(i,l,d).filter((function(t){return t!==I.NONE})),f=null;h.length&&(f=2===h.length&&h.indexOf(I.URL)>-1&&h.indexOf(I.RESOURCE_URL)>-1?he(jn.sanitizeUrlOrResourceUrl):Bu(h[0],d));var m=[_e(l),a.currValExpr];f&&m.push(f),g.push.apply(g,Object(o.g)(a.stmts)),p===jn.hostProperty?O.push(m):p===jn.attribute?E.push(m):p===jn.updateSyntheticHostBinding?S.push(m):g.push(he(p).callFn(m).toStmt())}})),O.length>0&&g.push(ao(jn.hostProperty,O).toStmt()),E.length>0&&g.push(ao(jn.attribute,E).toStmt()),S.length>0&&g.push(ao(jn.updateSyntheticHostBinding,S).toStmt());var k=function(t){var e,n,r=[];try{for(var i=Object(o.h)(Object.getOwnPropertyNames(t)),a=i.next();!a.done;a=i.next()){var s=a.value,l=t[s];r.push(_e(s),l)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r}(t.attributes),j=u.buildHostAttrsInstruction(null,k,r);if(j&&m.push(ap(j,c,op)),u.hasBindings){var A=u.buildStylingInstruction(null,r);A&&m.push(ap(A,c,op)),u.buildUpdateLevelInstructions(_()).forEach((function(t){y+=Math.max(t.allocateBindingSlots-1,0),g.push(ap(t,c,op))}))}if(y&&m.unshift(he(jn.allocHostVars).callFn([_e(y)]).toStmt()),m.length>0||g.length>0){var D=a?a+"_HostBindings":null,T=[];return m.length>0&&T.push(ku(1,m)),g.length>0&&T.push(ku(2,g)),ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt(l.name,ut)],T,lt,null,D)}return null}function op(t,e){return Ma(null,t,e,"b",Pa.TrySimple,(function(){return Pe("Unexpected interpolation")}))}function ap(t,e,n){var r=t.params((function(t){return n(e,t).currValExpr}));return he(t.reference,null,t.sourceSpan).callFn(r,t.sourceSpan).toStmt()}function sp(t){return{hostAttributes:{},hostListeners:t.listeners,hostProperties:t.properties}}function lp(t,e){var n=Array.from(t).map((function(t){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r,e.importExpr(i)]}));return new Map(n)}var cp=/^(?:\[([^\]]+)\])|(?:\(([^\)]+)\))$/;var up=function(){function t(){}return t.prototype.get=function(t){return""},t}(),pp=function(){function t(t){void 0===t&&(t=new Bo),this.jitEvaluator=t,this.R3ResolvedDependencyType=ro,this.ResourceLoader=up,this.elementSchemaRegistry=new ru}return t.prototype.compilePipe=function(t,e,n){var r=Wo({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,deps:xp(n.deps),pipeName:n.pipeName,pure:n.pure});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileInjectable=function(t,e,n){var r=function(t){var e=null,n={name:t.name,type:t.type,deps:t.ctorDeps,injectFn:Je.inject};if(void 0!==t.useClass){var r=t.useClass.isEquivalent(t.type),i=void 0;void 0!==t.userDeps&&(i=t.userDeps),e=lo(void 0!==i?Object(o.a)({},n,{delegate:t.useClass,delegateDeps:i,delegateType:no.Class}):r?n:Object(o.a)({},n,{delegate:t.useClass,delegateType:no.Factory}))}else e=void 0!==t.useFactory?lo(Object(o.a)({},n,{delegate:t.useFactory,delegateDeps:t.userDeps||[],delegateType:no.Function})):void 0!==t.useValue?lo(Object(o.a)({},n,{expression:t.useValue})):void 0!==t.useExisting?lo(Object(o.a)({},n,{expression:he(Je.inject).callFn([t.useExisting])})):lo(n);var a=t.type,s=t.providedIn;return{expression:he(Je.ɵɵdefineInjectable).callFn([fo({token:a,factory:e.factory,providedIn:s})]),type:new it(he(Je.InjectableDef,[go(t.type,t.typeArgumentCount)])),statements:e.statements}}({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,providedIn:_p(n.providedIn),useClass:bp(n,dp),useFactory:bp(n,hp),useValue:bp(n,fp),useExisting:bp(n,mp),ctorDeps:xp(n.ctorDeps),userDeps:xp(n.userDeps)||void 0}),i=r.expression,a=r.statements;return this.jitExpression(i,t,e,a)},t.prototype.compileInjector=function(t,e,n){var r=function(t){var e=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.inject}),n={factory:e.factory};return null!==t.providers&&(n.providers=t.providers),t.imports.length>0&&(n.imports=ge(t.imports)),{expression:he(jn.defineInjector).callFn([fo(n)]),type:new it(he(jn.InjectorDef,[new it(t.type)])),statements:e.statements}}({name:n.name,type:new bt(n.type),deps:xp(n.deps),providers:new bt(n.providers),imports:n.imports.map((function(t){return new bt(t)}))});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileNgModule=function(t,e,n){var r=Uo({type:new bt(n.type),bootstrap:n.bootstrap.map(gp),declarations:n.declarations.map(gp),imports:n.imports.map(gp),exports:n.exports.map(gp),emitInline:!0,containsForwardDecls:!1,schemas:n.schemas?n.schemas.map(gp):null,id:n.id?new bt(n.id):null});return this.jitExpression(r.expression,t,e,[])},t.prototype.compileDirective=function(t,e,n){var r=new Ke,i=Vu(),a=Yu(vp(n),r,i),s=Object(o.g)(r.statements,a.statements);return this.jitExpression(a.expression,t,e,s)},t.prototype.compileComponent=function(t,e,n){var r=new Ke,i=n.interpolation?Co.fromArray(n.interpolation):Oo,a=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig,i=n.preserveWhitespaces,a=Vu(r),s=(new Js).parse(t,e,Object(o.a)({leadingTriviaChars:Su},n,{tokenizeExpansionForms:!0}));if(s.errors&&s.errors.length>0)return{errors:s.errors,nodes:[],styleUrls:[],styles:[]};var l=s.rootNodes;l=Ds(new Cu(r,!i),l),i||(l=Ds(new al,l),l=Ds(new Cu(r,!1),l));var c=ou(l,a),u=c.nodes,p=c.errors,d=c.styleUrls,h=c.styles;return p&&p.length>0?{errors:p,nodes:[],styleUrls:[],styles:[]}:{nodes:u,styleUrls:d,styles:h}}(n.template,e,{preserveWhitespaces:n.preserveWhitespaces,interpolationConfig:i});if(void 0!==a.errors){var s=a.errors.map((function(t){return t.toString()})).join(", ");throw new Error("Errors during JIT compilation of template for "+n.name+": "+s)}var l=Ku(Object(o.a)({},n,vp(n),{selector:n.selector||this.elementSchemaRegistry.getDefaultComponentElementName(),template:a,wrapDirectivesAndPipesInClosure:!1,styles:n.styles||[],encapsulation:n.encapsulation,interpolation:i,changeDetection:n.changeDetection,animations:null!=n.animations?new bt(n.animations):null,viewProviders:null!=n.viewProviders?new bt(n.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),r,Vu(i)),c=Object(o.g)(r.statements,l.statements);return this.jitExpression(l.expression,t,"ng:///"+n.name+".js",c)},t.prototype.compileBase=function(t,e,n){var r=new Ke,i=this.createParseSourceSpan("Base",n.name,"ng:///"+n.name+".js"),a=function(t,e,n){var r=new io;if(t.inputs){var i=t.inputs,o=Object.keys(i).map((function(t){var e=i[t];return{key:t,value:Array.isArray(e)?ge(e.map((function(t){return _e(t)}))):_e(e),quoted:!1}}));r.set("inputs",ye(o))}if(t.outputs){var a=t.outputs,s=Object.keys(a).map((function(t){return{key:t,value:_e(a[t]),quoted:!1}}));r.set("outputs",ye(s))}return t.viewQueries&&t.viewQueries.length>0&&r.set("viewQuery",rp(t.viewQueries,e)),t.queries&&t.queries.length>0&&r.set("contentQueries",Ju(t.queries,e)),t.host&&r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.name)),{expression:he(jn.defineBase).callFn([r.toLiteralMap()]),type:new it(he(jn.BaseDef),null,[me(t.type)])}}(Object(o.a)({},n,{typeSourceSpan:i,viewQueries:n.viewQueries?n.viewQueries.map(yp):n.viewQueries,queries:n.queries?n.queries.map(yp):n.queries,host:Cp(n.propMetadata,i)}),r,Vu());return this.jitExpression(a.expression,t,e,r.statements)},t.prototype.createParseSourceSpan=function(t,e,n){return function(t,e,n){var r=new gr("","in "+t+" "+e+" in "+n);return new yr(new mr(r,-1,-1,-1),new mr(r,-1,-1,-1))}(t,e,n)},t.prototype.jitExpression=function(t,e,n,r){var i=Object(o.g)(r,[new Wt("$def",t,void 0,[Ct.Exported])]);return this.jitEvaluator.evaluateStatements(n,i,new Ho(e),!0).$def},t}(),dp=Object.keys({useClass:null})[0],hp=Object.keys({useFactory:null})[0],fp=Object.keys({useValue:null})[0],mp=Object.keys({useExisting:null})[0],gp=function(t){var e=new bt(t);return{value:e,type:e}};function yp(t){return Object(o.a)({},t,{predicate:Array.isArray(t.predicate)?t.predicate:new bt(t.predicate),read:t.read?new bt(t.read):null,static:t.static})}function vp(t){var e=Op(t.inputs||[]),n=Op(t.outputs||[]),r=t.propMetadata,i={},a={},s=function(t){r.hasOwnProperty(t)&&r[t].forEach((function(e){"Input"===e.ngMetadataName?i[t]=e.bindingPropertyName?[e.bindingPropertyName,t]:t:function(t){return"Output"===t.ngMetadataName}(e)&&(a[t]=e.bindingPropertyName||t)}))};for(var l in r)s(l);return Object(o.a)({},t,{typeSourceSpan:t.typeSourceSpan,type:new bt(t.type),deps:xp(t.deps),host:Cp(t.propMetadata,t.typeSourceSpan,t.host),inputs:Object(o.a)({},e,i),outputs:Object(o.a)({},n,a),queries:t.queries.map(yp),providers:null!=t.providers?new bt(t.providers):null,viewQueries:t.viewQueries.map(yp)})}function bp(t,e){return t.hasOwnProperty(e)?new bt(t[e]):void 0}function _p(t){return null==t||"string"==typeof t?new kt(t):new bt(t)}function wp(t){return{token:null===t.token?new kt(null):t.resolved===ro.Attribute?new kt(t.token):new bt(t.token),resolved:t.resolved,host:t.host,optional:t.optional,self:t.self,skipSelf:t.skipSelf}}function xp(t){return null==t?null:t.map(wp)}function Cp(t,e,n){var r=function(t){var e,n,r={},i={},a={},s={};try{for(var l=Object(o.h)(Object.keys(t)),c=l.next();!c.done;c=l.next()){var u=c.value,p=t[u],d=u.match(cp);if(null===d)switch(u){case"class":if("string"!=typeof p)throw new Error("Class binding must be string");s.classAttr=p;break;case"style":if("string"!=typeof p)throw new Error("Style binding must be string");s.styleAttr=p;break;default:r[u]="string"==typeof p?_e(p):p}else if(null!=d[1]){if("string"!=typeof p)throw new Error("Property binding must be string");a[d[1]]=p}else if(null!=d[2]){if("string"!=typeof p)throw new Error("Event binding must be string");i[d[2]]=p}}}catch(h){e={error:h}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}return{attributes:r,listeners:i,properties:a,specialAttributes:s}}(n||{}),i=function(t,e){var n=sp(t),r=Vu();return r.createDirectiveHostEventAsts(n,e),r.createBoundHostProperties(n,e),r.errors}(r,e);if(i.length)throw new Error(i.map((function(t){return t.msg})).join("\n"));var a=function(e){t.hasOwnProperty(e)&&t[e].forEach((function(t){"HostBinding"===t.ngMetadataName?r.properties[t.hostPropertyName||e]=e:function(t){return"HostListener"===t.ngMetadataName}(t)&&(r.listeners[t.eventName||e]=e+"("+(t.args||[]).join(",")+")")}))};for(var s in t)a(s);return r}function Op(t){return t.reduce((function(t,e){var n=Object(o.f)(e.split(",").map((function(t){return t.trim()})),2),r=n[0],i=n[1];return t[r]=i||r,t}),{})}new He("8.2.6");var Ep=function(t){var e=void 0===t?{}:t,n=e.defaultEncapsulation,r=void 0===n?v.Emulated:n,i=e.useJit,o=void 0===i||i,a=e.jitDevMode,s=void 0!==a&&a,l=e.missingTranslation,c=void 0===l?null:l,u=e.preserveWhitespaces,p=e.strictInjectionParameters;this.defaultEncapsulation=r,this.useJit=!!o,this.jitDevMode=!!s,this.missingTranslation=c,this.preserveWhitespaces=Sp(ke(u)),this.strictInjectionParameters=!0===p};function Sp(t,e){return void 0===e&&(e=!1),null===t?e:t}var kp=function(){function t(t,e,n,r){this._resourceLoader=t,this._urlResolver=e,this._htmlParser=n,this._config=r,this._resourceLoaderCache=new Map}return t.prototype.clearCache=function(){this._resourceLoaderCache.clear()},t.prototype.clearCacheFor=function(t){var e=this;if(t.isComponent){var n=t.template;this._resourceLoaderCache.delete(n.templateUrl),n.externalStylesheets.forEach((function(t){e._resourceLoaderCache.delete(t.moduleUrl)}))}},t.prototype._fetch=function(t){var e=this._resourceLoaderCache.get(t);return e||(e=this._resourceLoader.get(t),this._resourceLoaderCache.set(t,e)),e},t.prototype.normalizeTemplate=function(t){var e=this;if(Se(t.template)){if(Se(t.templateUrl))throw Ie("'"+Ve(t.componentType)+"' component cannot define both template and templateUrl");if("string"!=typeof t.template)throw Ie("The template specified for component "+Ve(t.componentType)+" is not a string")}else{if(!Se(t.templateUrl))throw Ie("No template specified for component "+Ve(t.componentType));if("string"!=typeof t.templateUrl)throw Ie("The templateUrl specified for component "+Ve(t.componentType)+" is not a string")}if(Se(t.preserveWhitespaces)&&"boolean"!=typeof t.preserveWhitespaces)throw Ie("The preserveWhitespaces option for component "+Ve(t.componentType)+" must be a boolean");return De(this._preParseTemplate(t),(function(n){return e._normalizeTemplateMetadata(t,n)}))},t.prototype._preParseTemplate=function(t){var e,n,r=this;return null!=t.template?(e=t.template,n=t.moduleUrl):(n=this._urlResolver.resolve(t.moduleUrl,t.templateUrl),e=this._fetch(n)),De(e,(function(e){return r._preparseLoadedTemplate(t,e,n)}))},t.prototype._preparseLoadedTemplate=function(t,e,n){var r=!!t.template,i=Co.fromArray(t.interpolation),o=Sn({reference:t.ngModuleType},{type:{reference:t.componentType}},{isInline:r,templateUrl:n}),a=this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:i});if(a.errors.length>0)throw Ie("Template parse errors:\n"+a.errors.join("\n"));var s=this._normalizeStylesheet(new gn({styles:t.styles,moduleUrl:t.moduleUrl})),l=new jp;Ds(l,a.rootNodes);var c=this._normalizeStylesheet(new gn({styles:l.styles,styleUrls:l.styleUrls,moduleUrl:n}));return{template:e,templateUrl:n,isInline:r,htmlAst:a,styles:s.styles.concat(c.styles),inlineStyleUrls:s.styleUrls.concat(c.styleUrls),styleUrls:this._normalizeStylesheet(new gn({styleUrls:t.styleUrls,moduleUrl:t.moduleUrl})).styleUrls,ngContentSelectors:l.ngContentSelectors}},t.prototype._normalizeTemplateMetadata=function(t,e){var n=this;return De(this._loadMissingExternalStylesheets(e.styleUrls.concat(e.inlineStyleUrls)),(function(r){return n._normalizeLoadedTemplateMetadata(t,e,r)}))},t.prototype._normalizeLoadedTemplateMetadata=function(t,e,n){var r=this,i=Object(o.g)(e.styles);this._inlineStyles(e.inlineStyleUrls,n,i);var a=e.styleUrls,s=a.map((function(t){var e=n.get(t),i=Object(o.g)(e.styles);return r._inlineStyles(e.styleUrls,n,i),new gn({moduleUrl:t,styles:i})})),l=t.encapsulation;return null==l&&(l=this._config.defaultEncapsulation),l===v.Emulated&&0===i.length&&0===a.length&&(l=v.None),new yn({encapsulation:l,template:e.template,templateUrl:e.templateUrl,htmlAst:e.htmlAst,styles:i,styleUrls:a,ngContentSelectors:e.ngContentSelectors,animations:t.animations,interpolation:t.interpolation,isInline:e.isInline,externalStylesheets:s,preserveWhitespaces:Sp(t.preserveWhitespaces,this._config.preserveWhitespaces)})},t.prototype._inlineStyles=function(t,e,n){var r=this;t.forEach((function(t){var i=e.get(t);i.styles.forEach((function(t){return n.push(t)})),r._inlineStyles(i.styleUrls,e,n)}))},t.prototype._loadMissingExternalStylesheets=function(t,e){var n=this;return void 0===e&&(e=new Map),De(Te(t.filter((function(t){return!e.has(t)})).map((function(t){return De(n._fetch(t),(function(r){var i=n._normalizeStylesheet(new gn({styles:[r],moduleUrl:t}));return e.set(t,i),n._loadMissingExternalStylesheets(i.styleUrls,e)}))}))),(function(t){return e}))},t.prototype._normalizeStylesheet=function(t){var e=this,n=t.moduleUrl,r=t.styleUrls.filter(Vl).map((function(t){return e._urlResolver.resolve(n,t)})),i=t.styles.map((function(t){var i,a,s,l,c=(i=e._urlResolver,a=n,s=[],l=t.replace(zl,"").replace(Bl,(function(){for(var t=[],e=0;e', or 'attr.'.");a["["+e.hostPropertyName+"]"]=t}else a["["+t+"]"]=t})),e[t].filter((function(t){return B.isTypeOf(t)})).forEach((function(e){var n=e.args||[];a["("+e.eventName+")"]=t+"("+n.join(",")+")"}));var l=Pp(e[t],(function(t){return Ap.some((function(e){return e.isTypeOf(t)}))}));l&&(s[t]=l)})),this._merge(t,i,o,a,s,n,r)},t.prototype._extractPublicName=function(t){return Ce(t,[null,t])[1].trim()},t.prototype._dedupeBindings=function(t){for(var e=new Set,n=new Set,r=[],i=t.length-1;i>=0;i--){var o=t[i],a=this._extractPublicName(o);n.add(a),e.has(a)||(e.add(a),r.push(o))}return r.reverse()},t.prototype._merge=function(t,e,n,r,i,a,s){var l=this._dedupeBindings(t.inputs?t.inputs.concat(e):e),c=this._dedupeBindings(t.outputs?t.outputs.concat(n):n),u=t.host?Object(o.a)({},t.host,r):r,p=t.queries?Object(o.a)({},t.queries,i):i;if(M.isTypeOf(t)){var d=t;return M({selector:d.selector,inputs:l,outputs:c,host:u,exportAs:d.exportAs,moduleId:d.moduleId,queries:p,changeDetection:d.changeDetection,providers:d.providers,viewProviders:d.viewProviders,entryComponents:d.entryComponents,template:d.template,templateUrl:d.templateUrl,styles:d.styles,styleUrls:d.styleUrls,encapsulation:d.encapsulation,animations:d.animations,interpolation:d.interpolation,preserveWhitespaces:t.preserveWhitespaces})}return P({selector:t.selector,inputs:l,outputs:c,host:u,exportAs:t.exportAs,queries:p,providers:t.providers,guards:a})},t}();function Tp(t){return P.isTypeOf(t)||M.isTypeOf(t)}function Pp(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null}var Ip=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),Rp="i18n",Mp=/^i18n:?/,Np="|",Fp="@@",Lp=!1;var Vp,Bp=function(t,e){this.messages=t,this.errors=e};!function(t){t[t.Extract=0]="Extract",t[t.Merge=1]="Merge"}(Vp||(Vp={}));var zp=function(){function t(t,e){this._implicitTags=t,this._implicitAttrs=e}return t.prototype.extract=function(t,e){var n=this;return this._init(Vp.Extract,e),t.forEach((function(t){return t.visit(n,null)})),this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Bp(this._messages,this._errors)},t.prototype.merge=function(t,e,n){this._init(Vp.Merge,n),this._translations=e;var r=new js("wrapper",[],t,void 0,void 0,void 0).visit(this,null);return this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Qs(r.children,this._errors)},t.prototype.visitExpansionCase=function(t,e){var n=Ds(this,t.expression,e);if(this._mode===Vp.Merge)return new Ss(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan)},t.prototype.visitExpansion=function(t,e){this._mayBeAddBlockChildren(t);var n=this._inIcu;this._inIcu||(this._isInTranslatableSection&&this._addMessage([t]),this._inIcu=!0);var r=Ds(this,t.cases,e);return this._mode===Vp.Merge&&(t=new Es(t.switchValue,t.type,r,t.sourceSpan,t.switchValueSourceSpan)),this._inIcu=n,t},t.prototype.visitComment=function(t,e){var n,r=!!((n=t)instanceof As&&n.value&&n.value.startsWith("i18n"));if(r&&this._isInTranslatableSection)this._reportError(t,"Could not start a block inside a translatable section");else{var i=function(t){return!!(t instanceof As&&t.value&&"/i18n"===t.value)}(t);if(!i||this._inI18nBlock){if(!this._inI18nNode&&!this._inIcu)if(this._inI18nBlock){if(i){if(this._depth==this._blockStartDepth){this._closeTranslatableSection(t,this._blockChildren),this._inI18nBlock=!1;var o=this._addMessage(this._blockChildren,this._blockMeaningAndDesc);return Ds(this,this._translateMessage(t,o))}return void this._reportError(t,"I18N blocks should not cross element boundaries")}}else if(r){if(!Lp&&console&&console.warn){Lp=!0;var a=t.sourceSpan.details?", "+t.sourceSpan.details:"";console.warn("I18n comments are deprecated, use an element instead ("+t.sourceSpan.start+a+")")}this._inI18nBlock=!0,this._blockStartDepth=this._depth,this._blockChildren=[],this._blockMeaningAndDesc=t.value.replace(Mp,"").trim(),this._openTranslatableSection(t)}}else this._reportError(t,"Trying to close an unopened block")}},t.prototype.visitText=function(t,e){return this._isInTranslatableSection&&this._mayBeAddBlockChildren(t),t},t.prototype.visitElement=function(t,e){var n=this;this._mayBeAddBlockChildren(t),this._depth++;var r=this._inI18nNode,i=this._inImplicitNode,o=[],a=void 0,s=t.attrs.find((function(t){return t.name===Rp}))||null,l=s?s.value:"",c=this._implicitTags.some((function(e){return t.name===e}))&&!this._inIcu&&!this._isInTranslatableSection,u=!i&&c;if(this._inImplicitNode=i||c,this._isInTranslatableSection||this._inIcu)(s||u)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this._mode==Vp.Extract&&Ds(this,t.children);else{if(s||u){this._inI18nNode=!0;var p=this._addMessage(t.children,l);a=this._translateMessage(t,p)}if(this._mode==Vp.Extract){var d=s||u;d&&this._openTranslatableSection(t),Ds(this,t.children),d&&this._closeTranslatableSection(t,t.children)}}this._mode===Vp.Merge&&(a||t.children).forEach((function(t){var r=t.visit(n,e);r&&!n._isInTranslatableSection&&(o=o.concat(r))}));if(this._visitAttributesOf(t),this._depth--,this._inI18nNode=r,this._inImplicitNode=i,this._mode===Vp.Merge){var h=this._translateAttributes(t);return new js(t.name,h,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan)}return null},t.prototype.visitAttribute=function(t,e){throw new Error("unreachable code")},t.prototype._init=function(t,e){this._mode=t,this._inI18nBlock=!1,this._inI18nNode=!1,this._depth=0,this._inIcu=!1,this._msgCountAtSectionStart=void 0,this._errors=[],this._messages=[],this._inImplicitNode=!1,this._createI18nMessage=bu(e)},t.prototype._visitAttributesOf=function(t){var e=this,n={},r=this._implicitAttrs[t.name]||[];t.attrs.filter((function(t){return t.name.startsWith("i18n-")})).forEach((function(t){return n[t.name.slice("i18n-".length)]=t.value})),t.attrs.forEach((function(t){t.name in n?e._addMessage([t],n[t.name]):r.some((function(e){return t.name===e}))&&e._addMessage([t])}))},t.prototype._addMessage=function(t,e){if(0==t.length||1==t.length&&t[0]instanceof ks&&!t[0].value)return null;var n=Hp(e),r=n.meaning,i=n.description,o=n.id,a=this._createI18nMessage(t,r,i,o);return this._messages.push(a),a},t.prototype._translateMessage=function(t,e){if(e&&this._mode===Vp.Merge){var n=this._translations.get(e);if(n)return n;this._reportError(t,'Translation unavailable for message id="'+this._translations.digest(e)+'"')}return[]},t.prototype._translateAttributes=function(t){var e=this,n=t.attrs,r={};n.forEach((function(t){t.name.startsWith("i18n-")&&(r[t.name.slice("i18n-".length)]=Hp(t.value))}));var i=[];return n.forEach((function(n){if(n.name!==Rp&&!n.name.startsWith("i18n-"))if(n.value&&""!=n.value&&r.hasOwnProperty(n.name)){var o=r[n.name],a=o.meaning,s=o.description,l=o.id,c=e._createI18nMessage([n],a,s,l),u=e._translations.get(c);if(u)if(0==u.length)i.push(new ks(n.name,"",n.sourceSpan));else if(u[0]instanceof Os){var p=u[0].value;i.push(new ks(n.name,p,n.sourceSpan))}else e._reportError(t,'Unexpected translation for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")');else e._reportError(t,'Translation unavailable for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")')}else i.push(n)})),i},t.prototype._mayBeAddBlockChildren=function(t){this._inI18nBlock&&!this._inIcu&&this._depth==this._blockStartDepth&&this._blockChildren.push(t)},t.prototype._openTranslatableSection=function(t){this._isInTranslatableSection?this._reportError(t,"Unexpected section start"):this._msgCountAtSectionStart=this._messages.length},Object.defineProperty(t.prototype,"_isInTranslatableSection",{get:function(){return void 0!==this._msgCountAtSectionStart},enumerable:!0,configurable:!0}),t.prototype._closeTranslatableSection=function(t,e){if(this._isInTranslatableSection){var n=this._msgCountAtSectionStart;if(1==e.reduce((function(t,e){return t+(e instanceof As?0:1)}),0))for(var r=this._messages.length-1;r>=n;r--){var i=this._messages[r].nodes;if(!(1==i.length&&i[0]instanceof Rr)){this._messages.splice(r,1);break}}this._msgCountAtSectionStart=void 0}else this._reportError(t,"Unexpected section end")},t.prototype._reportError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();function Hp(t){if(!t)return{meaning:"",description:"",id:""};var e=t.indexOf(Fp),n=t.indexOf(Np),r=Object(o.f)(e>-1?[t.slice(0,e),t.slice(e+2)]:[t,""],2),i=r[0],a=r[1],s=Object(o.f)(n>-1?[i.slice(0,n),i.slice(n+1)]:["",i],2);return{meaning:s[0],description:s[1],id:a}}var Up=new(function(){function t(){this.closedByParent=!1,this.contentType=r.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}return t.prototype.requireExtraParent=function(t){return!1},t.prototype.isClosedByChild=function(t){return!1},t}());function Gp(t){return Up}var qp=function(t){function e(){return t.call(this,Gp)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),Wp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Yp,r=[];t.forEach((function(t){var e,i=[];t.sources.forEach((function(t){var e=new hi("context-group",{purpose:"location"});e.children.push(new mi(10),new hi("context",{"context-type":"sourcefile"},[new fi(t.filePath)]),new mi(10),new hi("context",{"context-type":"linenumber"},[new fi(""+t.startLine)]),new mi(8)),i.push(new mi(8),e)}));var a=new hi("trans-unit",{id:t.id,datatype:"html"});(e=a.children).push.apply(e,Object(o.g)([new mi(8),new hi("source",{},n.serialize(t.nodes))],i)),t.description&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"description"},[new fi(t.description)])),t.meaning&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"meaning"},[new fi(t.meaning)])),a.children.push(new mi(6)),r.push(new mi(6),a)}));var i=new hi("body",{},Object(o.g)(r,[new mi(4)])),a=new hi("file",{"source-language":e||"en",datatype:"plaintext",original:"ng2.template"},[new mi(4),i,new mi(2)]),s=new hi("xliff",{version:"1.2",xmlns:"urn:oasis:names:tc:xliff:document:1.2"},[new mi(2),a,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,s,new mi])},e.prototype.load=function(t,e){var n=(new Kp).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Qp;if(Object.keys(i).forEach((function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r})),a.length)throw new Error("xliff parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Hr(t)},e}(si),Yp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach((function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))})),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach((function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))})),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=function(t){switch(t.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+t}}(t.tag);if(t.isVoid)return[new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+"/>"})];var r=new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+">"}),i=new hi("x",{id:t.closeName,ctype:n,"equiv-text":""});return Object(o.g)([r],this.serialize(t.children),[i])},t.prototype.visitPlaceholder=function(t,e){return[new hi("x",{id:t.name,"equiv-text":"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n="{"+t.value.expression+", "+t.value.type+", "+Object.keys(t.value.cases).map((function(t){return t+" {...}"})).join(" ")+"}";return[new hi("x",{id:t.name,"equiv-text":n})]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map((function(t){return t.visit(e)}))))},t}(),Kp=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"trans-unit":this._unitMlString=null;var n=t.attrs.find((function(t){return"id"===t.name}));if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":case"seg-source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"file":var s=t.attrs.find((function(t){return"target-language"===t.name}));s&&(this._locale=s.value),Ds(this,t.children,null);break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Qp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){if("x"===t.name){var n=t.attrs.find((function(t){return"id"===t.name}));return n?new Lr("",n.value,t.sourceSpan):(this._addError(t,' misses the "id" attribute'),null)}return"mrk"===t.name?[].concat.apply([],Object(o.g)(Ds(this,t.children))):(this._addError(t,"Unexpected tag"),null)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach((function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)})),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var Xp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Zp,r=[];t.forEach((function(t){var e=new hi("unit",{id:t.id}),i=new hi("notes");(t.description||t.meaning)&&(t.description&&i.children.push(new mi(8),new hi("note",{category:"description"},[new fi(t.description)])),t.meaning&&i.children.push(new mi(8),new hi("note",{category:"meaning"},[new fi(t.meaning)]))),t.sources.forEach((function(t){i.children.push(new mi(8),new hi("note",{category:"location"},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))})),i.children.push(new mi(6)),e.children.push(new mi(6),i);var o=new hi("segment");o.children.push(new mi(8),new hi("source",{},n.serialize(t.nodes)),new mi(6)),e.children.push(new mi(6),o,new mi(4)),r.push(new mi(4),e)}));var i=new hi("file",{original:"ng.template",id:"ngi18n"},Object(o.g)(r,[new mi(2)])),a=new hi("xliff",{version:"2.0",xmlns:"urn:oasis:names:tc:xliff:document:2.0",srcLang:e||"en"},[new mi(2),i,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,a,new mi])},e.prototype.load=function(t,e){var n=(new $p).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Jp;if(Object.keys(i).forEach((function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r})),a.length)throw new Error("xliff2 parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Ur(t)},e}(si),Zp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach((function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))})),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach((function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))})),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=function(t){switch(t.toLowerCase()){case"br":case"b":case"i":case"u":return"fmt";case"img":return"image";case"a":return"link";default:return"other"}}(t.tag);if(t.isVoid)return[new hi("ph",{id:(this._nextPlaceholderId++).toString(),equiv:t.startName,type:r,disp:"<"+t.tag+"/>"})];var i=new hi("pc",{id:(this._nextPlaceholderId++).toString(),equivStart:t.startName,equivEnd:t.closeName,type:r,dispStart:"<"+t.tag+">",dispEnd:""}),a=[].concat.apply([],Object(o.g)(t.children.map((function(t){return t.visit(n)}))));return a.length?a.forEach((function(t){return i.children.push(t)})):i.children.push(new fi("")),[i]},t.prototype.visitPlaceholder=function(t,e){var n=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:n,equiv:t.name,disp:"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n=Object.keys(t.value.cases).map((function(t){return t+" {...}"})).join(" "),r=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:r,equiv:t.name,disp:"{"+t.value.expression+", "+t.value.type+", "+n+"}"})]},t.prototype.serialize=function(t){var e=this;return this._nextPlaceholderId=0,[].concat.apply([],Object(o.g)(t.map((function(t){return t.visit(e)}))))},t}(),$p=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"unit":this._unitMlString=null;var n=t.attrs.find((function(t){return"id"===t.name}));if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"xliff":var s=t.attrs.find((function(t){return"trgLang"===t.name}));s&&(this._locale=s.value);var l=t.attrs.find((function(t){return"version"===t.name}));if(l){var c=l.value;"2.0"!==c?this._addError(t,"The XLIFF file version "+c+" is not compatible with XLIFF 2.0 serializer"):Ds(this,t.children,null)}break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Jp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){var n=this;switch(t.name){case"ph":var r=t.attrs.find((function(t){return"equiv"===t.name}));if(r)return[new Lr("",r.value,t.sourceSpan)];this._addError(t,' misses the "equiv" attribute');break;case"pc":var i=t.attrs.find((function(t){return"equivStart"===t.name})),a=t.attrs.find((function(t){return"equivEnd"===t.name}));if(i){if(a){var s=i.value,l=a.value,c=[];return c.concat.apply(c,Object(o.g)([new Lr("",s,t.sourceSpan)],t.children.map((function(t){return t.visit(n,null)})),[new Lr("",l,t.sourceSpan)]))}this._addError(t,' misses the "equivEnd" attribute')}else this._addError(t,' misses the "equivStart" attribute');break;case"mrk":return[].concat.apply([],Object(o.g)(Ds(this,t.children)));default:this._addError(t,"Unexpected tag")}return null},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach((function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)})),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:[].concat.apply([],Object(o.g)(Ds(this,t.expression)))}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var td=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){throw new Error("Unsupported")},e.prototype.load=function(t,e){var n=(new ed).parse(t,e),r=n.locale,i=n.msgIdToHtml,o=n.errors,a={},s=new nd;if(Object.keys(i).forEach((function(t){!function(t,e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=n();return Object.defineProperty(t,e,{enumerable:!0,value:r}),r},set:function(t){throw new Error("Could not overwrite an XTB translation")}})}(a,t,(function(){var n=s.convert(i[t],e),r=n.i18nNodes,o=n.errors;if(o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return r}))})),o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return{locale:r,i18nNodesByMsgId:a}},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si);var ed=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._bundleDepth=0,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"translationbundle":this._bundleDepth++,this._bundleDepth>1&&this._addError(t," elements can not be nested");var n=t.attrs.find((function(t){return"lang"===t.name}));n&&(this._locale=n.value),Ds(this,t.children,null),this._bundleDepth--;break;case"translation":var r=t.attrs.find((function(t){return"id"===t.name}));if(r){var i=r.value;if(this._msgIdToHtml.hasOwnProperty(i))this._addError(t,"Duplicated translations for msg "+i);else{var o=t.startSourceSpan.end.offset,a=t.endSourceSpan.start.offset,s=t.startSourceSpan.start.file.content.slice(o,a);this._msgIdToHtml[i]=s}}else this._addError(t,' misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),nd=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:Ds(this,n.rootNodes),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach((function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)})),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitElement=function(t,e){if("ph"===t.name){var n=t.attrs.find((function(t){return"name"===t.name}));if(n)return new Lr("",n.value,t.sourceSpan);this._addError(t,' misses the "name" attribute')}else this._addError(t,"Unexpected tag");return null},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),rd=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),void 0===i&&(i=R.Warning),this._i18nNodesByMsgId=t,this.digest=n,this.mapperFactory=r,this._i18nToHtml=new id(t,e,n,r,i,o)}return t.load=function(e,n,r,i,o){var a=r.load(e,n),s=a.locale;return new t(a.i18nNodesByMsgId,s,(function(t){return r.digest(t)}),(function(t){return r.createNameMapper(t)}),i,o)},t.prototype.get=function(t){var e=this._i18nToHtml.convert(t);if(e.errors.length)throw new Error(e.errors.join("\n"));return e.nodes},t.prototype.has=function(t){return this.digest(t)in this._i18nNodesByMsgId},t}(),id=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this._locale=e,this._digest=n,this._mapperFactory=r,this._missingTranslationStrategy=i,this._console=o,this._contextStack=[],this._errors=[]}return t.prototype.convert=function(t){this._contextStack.length=0,this._errors.length=0;var e=this._convertToText(t),n=t.nodes[0].sourceSpan.start.file.url,r=(new Js).parse(e,n,{tokenizeExpansionForms:!0});return{nodes:r.rootNodes,errors:Object(o.g)(this._errors,r.errors)}},t.prototype.visitText=function(t,e){return yi(t.value)},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map((function(t){return t.visit(n)})).join("")},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map((function(e){return e+" {"+t.cases[e].visit(n)+"}"}));return"{"+(this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression)+", "+t.type+", "+r.join(" ")+"}"},t.prototype.visitPlaceholder=function(t,e){var n=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(n)?this._srcMsg.placeholders[n]:this._srcMsg.placeholderToMessage.hasOwnProperty(n)?this._convertToText(this._srcMsg.placeholderToMessage[n]):(this._addError(t,'Unknown placeholder "'+t.name+'"'),"")},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=""+t.tag,i=Object.keys(t.attrs).map((function(e){return e+'="'+t.attrs[e]+'"'})).join(" ");return t.isVoid?"<"+r+" "+i+"/>":"<"+r+" "+i+">"+t.children.map((function(t){return t.visit(n)})).join("")+""},t.prototype.visitIcuPlaceholder=function(t,e){return this._convertToText(this._srcMsg.placeholderToMessage[t.name])},t.prototype._convertToText=function(t){var e,n=this,r=this._digest(t),i=this._mapperFactory?this._mapperFactory(t):null;if(this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._i18nNodesByMsgId.hasOwnProperty(r))e=this._i18nNodesByMsgId[r],this._mapper=function(t){return i?i.toInternalName(t):t};else{if(this._missingTranslationStrategy===R.Error){var o=this._locale?' for locale "'+this._locale+'"':"";this._addError(t.nodes[0],'Missing translation for message "'+r+'"'+o)}else if(this._console&&this._missingTranslationStrategy===R.Warning){o=this._locale?' for locale "'+this._locale+'"':"";this._console.warn('Missing translation for message "'+r+'"'+o)}e=t.nodes,this._mapper=function(t){return t}}var a=e.map((function(t){return t.visit(n)})).join(""),s=this._contextStack.pop();return this._srcMsg=s.msg,this._mapper=s.mapper,a},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),od=function(){function t(t,e,n,r,i){if(void 0===r&&(r=R.Warning),this._htmlParser=t,e){var o=function(t){switch(t=(t||"xlf").toLowerCase()){case"xmb":return new vi;case"xtb":return new td;case"xliff2":case"xlf2":return new Xp;case"xliff":case"xlf":default:return new Wp}}(n);this._translationBundle=rd.load(e,"i18n",o,r,i)}else this._translationBundle=new rd({},null,Hr,void 0,r,i)}return t.prototype.parse=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig||Oo,i=this._htmlParser.parse(t,e,Object(o.a)({interpolationConfig:r},n));return i.errors.length?new Qs(i.rootNodes,i.errors):function(t,e,n,r,i){return new zp(r,i).merge(t,e,n)}(i.rootNodes,this._translationBundle,r,[],{})},t}();function ad(t,e,n){return void 0===n&&(n=null),Ee(e,new sd(t),n)}var sd=function(){function t(t){this.ctx=t}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map((function(t){return Ee(t,n,null)})),e)},t.prototype.visitStringMap=function(t,e){var n=this,r=[],i=new Set(t&&t.$quoted$);return Object.keys(t).forEach((function(e){r.push(new Bt(e,Ee(t[e],n,null),i.has(e)))})),new zt(r,e)},t.prototype.visitPrimitive=function(t,e){return _e(t,e)},t.prototype.visitOther=function(t,e){return t instanceof mt?t:this.ctx.importExpr(t)},t}();function ld(t,e){return{key:t,value:e,quoted:!1}}!function(){function t(t,e){this.reflector=t,this.alwaysGenerateDef=e,this.tokenInjector=t.resolveExternalReference(Je.Injector)}t.prototype.depsArray=function(t,e){var n=this;return t.map((function(t){var r,i=t,o=[i],a=0;if(Array.isArray(t))for(var s=0;s0))return e.importExpr(t.useFactory);n=e.importExpr(t.useFactory).callFn(this.depsArray(r,e))}else if(t.useValue)n=ad(e,t.useValue);else{var i=t.useClass||t.symbol,o=this.depsArray(this.reflector.parameters(i),e);n=new St(e.importExpr(i),o)}return ve([],[new Qt(n)],void 0,void 0,t.symbol.name+"_Factory")},t.prototype.injectableDef=function(t,e){var n=Ut;void 0!==t.providedIn&&(n=null===t.providedIn?Ut:"string"==typeof t.providedIn?_e(t.providedIn):e.importExpr(t.providedIn));var r=[ld("factory",this.factoryFor(t,e)),ld("token",e.importExpr(t.type.reference)),ld("providedIn",n)];return he(Je.ɵɵdefineInjectable).callFn([ye(r)])},t.prototype.compile=function(t,e){if(this.alwaysGenerateDef||void 0!==t.providedIn){var n=cn(t.type),r=new te(n,null,[new Zt("ngInjectableDef",lt,[Ct.Static],this.injectableDef(t,e))],[],new $t(null,[],[]),[]);e.statements.push(r)}}}();var cd=/(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/,ud=/\.ngfactory\.|\.ngsummary\./,pd=/\.ngsummary\./,dd=/NgSummary$/;function hd(t,e){void 0===e&&(e=!1);var n=md(t,e);return n[0]+".ngfactory"+gd(n[1])}function fd(t){return t.replace(ud,".")}function md(t,e){if(void 0===e&&(e=!1),t.endsWith(".d.ts"))return[t.slice(0,-5),e?".ts":".d.ts"];var n=t.lastIndexOf(".");return-1!==n?[t.substring(0,n),t.substring(n)]:[t,""]}function gd(t){return".tsx"===t?".ts":t}function yd(t){return t.replace(cd,"")+".ngsummary.json"}function vd(t,e){void 0===e&&(e=!1);var n=md(fd(t),e);return n[0]+".ngsummary"+n[1]}function bd(t){return t+"NgSummary"}var _d,wd=/\u0275\d+/;!function(t){t[t.OnInit=0]="OnInit",t[t.OnDestroy=1]="OnDestroy",t[t.DoCheck=2]="DoCheck",t[t.OnChanges=3]="OnChanges",t[t.AfterContentInit=4]="AfterContentInit",t[t.AfterContentChecked=5]="AfterContentChecked",t[t.AfterViewInit=6]="AfterViewInit",t[t.AfterViewChecked=7]="AfterViewChecked"}(_d||(_d={}));var xd=[_d.OnInit,_d.OnDestroy,_d.DoCheck,_d.OnChanges,_d.AfterContentInit,_d.AfterContentChecked,_d.AfterViewInit,_d.AfterViewChecked];function Cd(t,e,n){return t.hasLifecycleHook(n,function(t){switch(t){case _d.OnInit:return"ngOnInit";case _d.OnDestroy:return"ngOnDestroy";case _d.DoCheck:return"ngDoCheck";case _d.OnChanges:return"ngOnChanges";case _d.AfterContentInit:return"ngAfterContentInit";case _d.AfterContentChecked:return"ngAfterContentChecked";case _d.AfterViewInit:return"ngAfterViewInit";case _d.AfterViewChecked:return"ngAfterViewChecked";default:throw new Error("unexpected "+t)}}(e))}var Od="ngComponentType",Ed=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this._config=t,this._htmlParser=e,this._ngModuleResolver=n,this._directiveResolver=r,this._pipeResolver=i,this._summaryResolver=o,this._schemaRegistry=a,this._directiveNormalizer=s,this._console=l,this._staticSymbolCache=c,this._reflector=u,this._errorCollector=p,this._nonNormalizedDirectiveCache=new Map,this._directiveCache=new Map,this._summaryCache=new Map,this._pipeCache=new Map,this._ngModuleCache=new Map,this._ngModuleOfTypes=new Map,this._shallowModuleCache=new Map}return t.prototype.getReflector=function(){return this._reflector},t.prototype.clearCacheFor=function(t){var e=this._directiveCache.get(t);this._directiveCache.delete(t),this._nonNormalizedDirectiveCache.delete(t),this._summaryCache.delete(t),this._pipeCache.delete(t),this._ngModuleOfTypes.delete(t),this._ngModuleCache.clear(),e&&this._directiveNormalizer.clearCacheFor(e)},t.prototype.clearCache=function(){this._directiveCache.clear(),this._nonNormalizedDirectiveCache.clear(),this._summaryCache.clear(),this._pipeCache.clear(),this._ngModuleCache.clear(),this._ngModuleOfTypes.clear(),this._directiveNormalizer.clearCache()},t.prototype._createProxyClass=function(t,e){var n=null,r=function(){if(!n)throw new Error("Illegal state: Class "+e+" for type "+Ve(t)+" is not compiled yet!");return n.apply(this,arguments)};return r.setDelegate=function(t){n=t,r.prototype=t.prototype},r.overriddenName=e,r},t.prototype.getGeneratedClass=function(t,e){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),e):this._createProxyClass(t,e)},t.prototype.getComponentViewClass=function(t){return this.getGeneratedClass(t,pn(t,0))},t.prototype.getHostComponentViewClass=function(t){return this.getGeneratedClass(t,"HostView_"+cn({reference:t}))},t.prototype.getHostComponentType=function(t){var e=cn({reference:t})+"_Host";return t instanceof nn?this._staticSymbolCache.get(t.filePath,e):this._createProxyClass(t,e)},t.prototype.getRendererType=function(t){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),dn(t)):{}},t.prototype.getComponentFactory=function(t,e,n,r){if(e instanceof nn)return this._staticSymbolCache.get(hd(e.filePath),hn(e));var i=this.getHostComponentViewClass(e);return this._reflector.resolveExternalReference(Je.createComponentFactory)(t,e,i,n,r,[])},t.prototype.initComponentFactory=function(t,e){var n;t instanceof nn||(n=t.ngContentSelectors).push.apply(n,Object(o.g)(e))},t.prototype._loadSummary=function(t,e){var n=this._summaryCache.get(t);if(!n){var r=this._summaryResolver.resolveSummary(t);n=r?r.type:null,this._summaryCache.set(t,n||null)}return n&&n.summaryKind===e?n:null},t.prototype.getHostComponentMetadata=function(t,e){var n=this.getHostComponentType(t.type.reference);e||(e=this.getHostComponentViewClass(n));var r=w.parse(t.selector)[0].getMatchingElementTemplate(),i=this._htmlParser.parse(r,"");return vn.create({isHost:!0,type:{reference:n,diDeps:[],lifecycleHooks:[]},template:new yn({encapsulation:v.None,template:r,templateUrl:"",htmlAst:i,styles:[],styleUrls:[],ngContentSelectors:[],animations:[],isInline:!0,externalStylesheets:[],interpolation:null,preserveWhitespaces:!1}),exportAs:null,changeDetection:b.Default,inputs:[],outputs:[],host:{},isComponent:!0,selector:"*",providers:[],viewProviders:[],queries:[],guards:{},viewQueries:[],componentViewType:e,rendererType:{id:"__Host__",encapsulation:v.None,styles:[],data:{}},entryComponents:[],componentFactory:null})},t.prototype.loadDirectiveMetadata=function(t,e,n){var r=this;if(this._directiveCache.has(e))return null;e=Be(e);var i,o,a=this.getNonNormalizedDirectiveMetadata(e),s=a.annotation,l=a.metadata,c=function(t){var n=new vn({isHost:!1,type:l.type,isComponent:l.isComponent,selector:l.selector,exportAs:l.exportAs,changeDetection:l.changeDetection,inputs:l.inputs,outputs:l.outputs,hostListeners:l.hostListeners,hostProperties:l.hostProperties,hostAttributes:l.hostAttributes,providers:l.providers,viewProviders:l.viewProviders,queries:l.queries,guards:l.guards,viewQueries:l.viewQueries,entryComponents:l.entryComponents,componentViewType:l.componentViewType,rendererType:l.rendererType,componentFactory:l.componentFactory,template:t});return t&&r.initComponentFactory(l.componentFactory,t.ngContentSelectors),r._directiveCache.set(e,n),r._summaryCache.set(e,n.toSummary()),null};if(l.isComponent){var u=l.template,p=this._directiveNormalizer.normalizeTemplate({ngModuleType:t,componentType:e,moduleUrl:this._reflector.componentModuleUrl(e,s),encapsulation:u.encapsulation,template:u.template,templateUrl:u.templateUrl,styles:u.styles,styleUrls:u.styleUrls,animations:u.animations,interpolation:u.interpolation,preserveWhitespaces:u.preserveWhitespaces});return ze(p)&&n?(this._reportError((i=e,(o=Error("Can't compile synchronously as "+Ve(i)+" is still being loaded!"))[Od]=i,o),e),null):De(p,c)}return c(null),null},t.prototype.getNonNormalizedDirectiveMetadata=function(t){var e=this;if(!(t=Be(t)))return null;var n=this._nonNormalizedDirectiveCache.get(t);if(n)return n;var r=this._directiveResolver.resolve(t,!1);if(!r)return null;var i=void 0;if(M.isTypeOf(r)){_o("styles",(a=r).styles),_o("styleUrls",a.styleUrls),xo("interpolation",a.interpolation);var o=a.animations;i=new yn({encapsulation:ke(a.encapsulation),template:ke(a.template),templateUrl:ke(a.templateUrl),htmlAst:null,styles:a.styles||[],styleUrls:a.styleUrls||[],animations:o||[],interpolation:ke(a.interpolation),isInline:!!a.template,externalStylesheets:[],ngContentSelectors:[],preserveWhitespaces:ke(r.preserveWhitespaces)})}var a,s=null,l=[],c=[],u=r.selector;M.isTypeOf(r)?(s=(a=r).changeDetection,a.viewProviders&&(l=this._getProvidersMetadata(a.viewProviders,c,'viewProviders for "'+Ad(t)+'"',[],t)),a.entryComponents&&(c=Sd(a.entryComponents).map((function(t){return e._getEntryComponentMetadata(t)})).concat(c)),u||(u=this._schemaRegistry.getDefaultComponentElementName())):u||(this._reportError(Ie("Directive "+Ad(t)+" has no selector, please add it!"),t),u="error");var p=[];null!=r.providers&&(p=this._getProvidersMetadata(r.providers,c,'providers for "'+Ad(t)+'"',[],t));var d=[],h=[];null!=r.queries&&(d=this._getQueriesMetadata(r.queries,!1,t),h=this._getQueriesMetadata(r.queries,!0,t));var f=vn.create({isHost:!1,selector:u,exportAs:ke(r.exportAs),isComponent:!!i,type:this._getTypeMetadata(t),template:i,changeDetection:s,inputs:r.inputs||[],outputs:r.outputs||[],host:r.host||{},providers:p||[],viewProviders:l||[],queries:d||[],guards:r.guards||{},viewQueries:h||[],entryComponents:c,componentViewType:i?this.getComponentViewClass(t):null,rendererType:i?this.getRendererType(t):null,componentFactory:null});return i&&(f.componentFactory=this.getComponentFactory(u,t,f.inputs,f.outputs)),n={metadata:f,annotation:r},this._nonNormalizedDirectiveCache.set(t,n),n},t.prototype.getDirectiveMetadata=function(t){var e=this._directiveCache.get(t);return e||this._reportError(Ie("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive "+Ad(t)+"."),t),e},t.prototype.getDirectiveSummary=function(t){var e=this._loadSummary(t,sn.Directive);return e||this._reportError(Ie("Illegal state: Could not load the summary for directive "+Ad(t)+"."),t),e},t.prototype.isDirective=function(t){return!!this._loadSummary(t,sn.Directive)||this._directiveResolver.isDirective(t)},t.prototype.isPipe=function(t){return!!this._loadSummary(t,sn.Pipe)||this._pipeResolver.isPipe(t)},t.prototype.isNgModule=function(t){return!!this._loadSummary(t,sn.NgModule)||this._ngModuleResolver.isNgModule(t)},t.prototype.getNgModuleSummary=function(t,e){void 0===e&&(e=null);var n=this._loadSummary(t,sn.NgModule);if(!n){var r=this.getNgModuleMetadata(t,!1,e);(n=r?r.toSummary():null)&&this._summaryCache.set(t,n)}return n},t.prototype.loadNgModuleDirectiveAndPipeMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.getNgModuleMetadata(t,n),o=[];return i&&(i.declaredDirectives.forEach((function(n){var i=r.loadDirectiveMetadata(t,n.reference,e);i&&o.push(i)})),i.declaredPipes.forEach((function(t){return r._loadPipeMetadata(t.reference)}))),Promise.all(o)},t.prototype.getShallowModuleMetadata=function(t){var e=this._shallowModuleCache.get(t);if(e)return e;var n=Pp(this._reflector.shallowAnnotations(t),z.isTypeOf);return e={type:this._getTypeMetadata(t),rawExports:n.exports,rawImports:n.imports,rawProviders:n.providers},this._shallowModuleCache.set(t,e),e},t.prototype.getNgModuleMetadata=function(t,e,n){var r=this;void 0===e&&(e=!0),void 0===n&&(n=null),t=Be(t);var i=this._ngModuleCache.get(t);if(i)return i;var a=this._ngModuleResolver.resolve(t,e);if(!a)return null;var s=[],l=[],c=[],u=[],p=[],d=[],h=[],f=[],m=[];a.imports&&Sd(a.imports).forEach((function(e){var i=void 0;if(kd(e))i=e;else if(e&&e.ngModule){var a=e;i=a.ngModule,a.providers&&d.push.apply(d,Object(o.g)(r._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(i)+"'",[],e)))}if(i){if(!r._checkSelfImport(t,i))if(n||(n=new Set),n.has(i))r._reportError(Ie(r._getTypeDescriptor(i)+" '"+Ad(e)+"' is imported recursively by the module '"+Ad(t)+"'."),t);else{n.add(i);var s=r.getNgModuleSummary(i,n);n.delete(i),s?u.push(s):r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' imported by the module '"+Ad(t)+"'. Please add a @NgModule annotation."),t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' imported by the module '"+Ad(t)+"'"),t)})),a.exports&&Sd(a.exports).forEach((function(e){if(kd(e))if(n||(n=new Set),n.has(e))r._reportError(Ie(r._getTypeDescriptor(e)+" '"+Ve(e)+"' is exported recursively by the module '"+Ad(t)+"'"),t);else{n.add(e);var i=r.getNgModuleSummary(e,n);n.delete(e),i?p.push(i):l.push(r._getIdentifierMetadata(e))}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' exported by the module '"+Ad(t)+"'"),t)}));var g=this._getTransitiveNgModuleMetadata(u,p);a.declarations&&Sd(a.declarations).forEach((function(e){if(kd(e)){var n=r._getIdentifierMetadata(e);if(r.isDirective(e))g.addDirective(n),s.push(n),r._addTypeToModule(e,t);else{if(!r.isPipe(e))return void r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' declared by the module '"+Ad(t)+"'. Please add a @Pipe/@Directive/@Component annotation."),t);g.addPipe(n),g.pipes.push(n),c.push(n),r._addTypeToModule(e,t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' declared by the module '"+Ad(t)+"'"),t)}));var y=[],v=[];return l.forEach((function(e){if(g.directivesSet.has(e.reference))y.push(e),g.addExportedDirective(e);else{if(!g.pipesSet.has(e.reference))return void r._reportError(Ie("Can't export "+r._getTypeDescriptor(e.reference)+" "+Ad(e.reference)+" from "+Ad(t)+" as it was neither declared nor imported!"),t);v.push(e),g.addExportedPipe(e)}})),a.providers&&d.push.apply(d,Object(o.g)(this._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(t)+"'",[],t))),a.entryComponents&&h.push.apply(h,Object(o.g)(Sd(a.entryComponents).map((function(t){return r._getEntryComponentMetadata(t)})))),a.bootstrap&&Sd(a.bootstrap).forEach((function(e){kd(e)?f.push(r._getIdentifierMetadata(e)):r._reportError(Ie("Unexpected value '"+Ad(e)+"' used in the bootstrap property of module '"+Ad(t)+"'"),t)})),h.push.apply(h,Object(o.g)(f.map((function(t){return r._getEntryComponentMetadata(t.reference)})))),a.schemas&&m.push.apply(m,Object(o.g)(Sd(a.schemas))),i=new _n({type:this._getTypeMetadata(t),providers:d,entryComponents:h,bootstrapComponents:f,schemas:m,declaredDirectives:s,exportedDirectives:y,declaredPipes:c,exportedPipes:v,importedModules:u,exportedModules:p,transitiveModule:g,id:a.id||null}),h.forEach((function(t){return g.addEntryComponent(t)})),d.forEach((function(t){return g.addProvider(t,i.type)})),g.addModule(i.type),this._ngModuleCache.set(t,i),i},t.prototype._checkSelfImport=function(t,e){return t===e&&(this._reportError(Ie("'"+Ad(t)+"' module can't import itself"),t),!0)},t.prototype._getTypeDescriptor=function(t){if(kd(t)){if(this.isDirective(t))return"directive";if(this.isPipe(t))return"pipe";if(this.isNgModule(t))return"module"}return t.provide?"provider":"value"},t.prototype._addTypeToModule=function(t,e){var n=this._ngModuleOfTypes.get(t);n&&n!==e?this._reportError(Ie("Type "+Ad(t)+" is part of the declarations of 2 modules: "+Ad(n)+" and "+Ad(e)+"! Please consider moving "+Ad(t)+" to a higher module that imports "+Ad(n)+" and "+Ad(e)+". You can also create a new NgModule that exports and includes "+Ad(t)+" then import that NgModule in "+Ad(n)+" and "+Ad(e)+"."),e):this._ngModuleOfTypes.set(t,e)},t.prototype._getTransitiveNgModuleMetadata=function(t,e){var n=new wn,r=new Map;return t.concat(e).forEach((function(t){t.modules.forEach((function(t){return n.addModule(t)})),t.entryComponents.forEach((function(t){return n.addEntryComponent(t)}));var e=new Set;t.providers.forEach((function(t){var i=mn(t.provider.token),o=r.get(i);o||(o=new Set,r.set(i,o));var a=t.module.reference;!e.has(i)&&o.has(a)||(o.add(a),e.add(i),n.addProvider(t.provider,t.module))}))})),e.forEach((function(t){t.exportedDirectives.forEach((function(t){return n.addExportedDirective(t)})),t.exportedPipes.forEach((function(t){return n.addExportedPipe(t)}))})),t.forEach((function(t){t.exportedDirectives.forEach((function(t){return n.addDirective(t)})),t.exportedPipes.forEach((function(t){return n.addPipe(t)}))})),n},t.prototype._getIdentifierMetadata=function(t){return{reference:t=Be(t)}},t.prototype.isInjectable=function(t){return this._reflector.tryAnnotations(t).some((function(t){return H.isTypeOf(t)}))},t.prototype.getInjectableSummary=function(t){return{summaryKind:sn.Injectable,type:this._getTypeMetadata(t,null,!1)}},t.prototype.getInjectableMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r=this._loadSummary(t,sn.Injectable),i=r?r.type:this._getTypeMetadata(t,e,n),o=this._reflector.annotations(t).filter((function(t){return H.isTypeOf(t)}));if(0===o.length)return null;var a=o[o.length-1];return{symbol:t,type:i,providedIn:a.providedIn,useValue:a.useValue,useClass:a.useClass,useExisting:a.useExisting,useFactory:a.useFactory,deps:a.deps}},t.prototype._getTypeMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r,i,o=this._getIdentifierMetadata(t);return{reference:o.reference,diDeps:this._getDependenciesMetadata(o.reference,e,n),lifecycleHooks:(r=this._reflector,i=o.reference,xd.filter((function(t){return Cd(r,t,i)})))}},t.prototype._getFactoryMetadata=function(t,e){return void 0===e&&(e=null),{reference:t=Be(t),diDeps:this._getDependenciesMetadata(t,e)}},t.prototype.getPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||this._reportError(Ie("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe "+Ad(t)+"."),t),e||null},t.prototype.getPipeSummary=function(t){var e=this._loadSummary(t,sn.Pipe);return e||this._reportError(Ie("Illegal state: Could not load the summary for pipe "+Ad(t)+"."),t),e},t.prototype.getOrLoadPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||(e=this._loadPipeMetadata(t)),e},t.prototype._loadPipeMetadata=function(t){t=Be(t);var e=this._pipeResolver.resolve(t),n=new bn({type:this._getTypeMetadata(t),name:e.name,pure:!!e.pure});return this._pipeCache.set(t,n),this._summaryCache.set(t,n.toSummary()),n},t.prototype._getDependenciesMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=!1,o=(e||this._reflector.parameters(t)||[]).map((function(t){var e=!1,n=!1,o=!1,a=!1,s=!1,l=null;return Array.isArray(t)?t.forEach((function(t){K.isTypeOf(t)?n=!0:W.isTypeOf(t)?o=!0:Y.isTypeOf(t)?a=!0:q.isTypeOf(t)?s=!0:k.isTypeOf(t)?(e=!0,l=t.attributeName):E.isTypeOf(t)?l=t.token:S.isTypeOf(t)||t instanceof nn?l=t:kd(t)&&null==l&&(l=t)})):l=t,null==l?(i=!0,{}):{isAttribute:e,isHost:n,isSelf:o,isSkipSelf:a,isOptional:s,token:r._getTokenMetadata(l)}}));if(i){var a=o.map((function(t){return t.token?Ad(t.token):"?"})).join(", "),s="Can't resolve all parameters for "+Ad(t)+": ("+a+").";n||this._config.strictInjectionParameters?this._reportError(Ie(s),t):this._console.warn("Warning: "+s+" This will become an error in Angular v6.x")}return o},t.prototype._getTokenMetadata=function(t){return"string"==typeof(t=Be(t))?{value:t}:{identifier:{reference:t}}},t.prototype._getProvidersMetadata=function(t,e,n,r,i){var a=this;return void 0===r&&(r=[]),t.forEach((function(s,l){if(Array.isArray(s))a._getProvidersMetadata(s,e,n,r);else{var c=void 0;if((s=Be(s))&&"object"==typeof s&&s.hasOwnProperty("provide"))a._validateProvider(s),c=new Cn(s.provide,s);else{if(!kd(s)){if(void 0===s)return void a._reportError(Ie("Encountered undefined provider! Usually this means you have a circular dependencies. This might be caused by using 'barrel' index.ts files."));var u=t.reduce((function(t,e,n){return n"),t.value.visitExpression(this,e),e.print(t,")"),null},e.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),this.typeExpression++,t.classExpr.visitExpression(this,e),this.typeExpression--,e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"class "+t.name),null!=t.parent&&(e.print(t," extends "),this.typeExpression++,t.parent.visitExpression(this,e),this.typeExpression--),e.println(t," {"),e.incIndent(),t.fields.forEach((function(t){return n._visitClassField(t,e)})),null!=t.constructorMethod&&this._visitClassConstructor(t,e),t.getters.forEach((function(t){return n._visitClassGetter(t,e)})),t.methods.forEach((function(t){return n._visitClassMethod(t,e)})),e.decIndent(),e.println(t,"}"),e.popClass(),null},e.prototype._visitClassField=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"/*private*/ "),t.hasModifier(Ct.Static)&&e.print(null,"static "),e.print(null,t.name),this._printColonType(t.type,e),t.initializer&&(e.print(null," = "),t.initializer.visitExpression(this,e)),e.println(null,";")},e.prototype._visitClassGetter=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,"get "+t.name+"()"),this._printColonType(t.type,e),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype._visitClassConstructor=function(t,e){e.print(t,"constructor("),this._visitParams(t.constructorMethod.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.constructorMethod.body,e),e.decIndent(),e.println(t,"}")},e.prototype._visitClassMethod=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,t.name+"("),this._visitParams(t.params,e),e.print(null,")"),this._printColonType(t.type,e,"void"),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype.visitFunctionExpr=function(t,e){return t.name&&(e.print(t,"function "),e.print(t,t.name)),e.print(t,"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),t.name||e.print(t," => "),e.println(t,"{"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),e.println(t," {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack",null)).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitBuiltinType=function(t,e){var n;switch(t.name){case tt.Bool:n="boolean";break;case tt.Dynamic:n="any";break;case tt.Function:n="Function";break;case tt.Number:case tt.Int:n="number";break;case tt.String:n="string";break;case tt.None:n="never";break;default:throw new Error("Unsupported builtin type "+t.name)}return e.print(null,n),null},e.prototype.visitExpressionType=function(t,e){var n=this;return t.value.visitExpression(this,e),null!==t.typeParams&&(e.print(null,"<"),this.visitAllObjects((function(t){return n.visitType(t,e)}),t.typeParams,e,","),e.print(null,">")),null},e.prototype.visitArrayType=function(t,e){return this.visitType(t.of,e),e.print(null,"[]"),null},e.prototype.visitMapType=function(t,e){return e.print(null,"{[key: string]:"),this.visitType(t.valueType,e),e.print(null,"}"),null},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e.prototype._visitParams=function(t,e){var n=this;this.visitAllObjects((function(t){e.print(null,t.name),n._printColonType(t.type,e)}),t,e,",")},e.prototype._visitIdentifier=function(t,e,n){var r=this,i=t.name,o=t.moduleName;if(this.referenceFilter&&this.referenceFilter(t))n.print(null,"(null as any)");else{if(o&&(!this.importFilter||!this.importFilter(t))){var a=this.importsWithPrefixes.get(o);null==a&&(a="i"+this.importsWithPrefixes.size,this.importsWithPrefixes.set(o,a)),n.print(null,a+".")}if(n.print(null,i),this.typeExpression>0)(e||[]).length>0&&(n.print(null,"<"),this.visitAllObjects((function(t){return t.visitType(r,n)}),e,n,","),n.print(null,">"))}},e.prototype._printColonType=function(t,e,n){t!==lt&&(e.print(null,":"),this.visitType(t,e,n))},e}(No),zd=function(){function t(t){this._reflector=t}return t.prototype.isPipe=function(t){var e=this._reflector.annotations(Be(t));return e&&e.some(N.isTypeOf)},t.prototype.resolve=function(t,e){void 0===e&&(e=!0);var n=this._reflector.annotations(Be(t));if(n){var r=Pp(n,N.isTypeOf);if(r)return r}if(e)throw new Error("No Pipe decorator found on "+Ve(t));return null},t}(),Hd=(function(){function t(t,e){this.options=t,this.reflector=e}t.prototype.compileComponent=function(t,e,n,r,i,o){var a=this,s=new Map;r.forEach((function(t){return s.set(t.name,t.type.reference)}));var l=0,c=function(t,n){var r=l++;return new Ud(a.options,a.reflector,i,t,e.type.reference,e.isHost,r,s,n,o,c)},u=c(null,[]);return u.visitAll([],n),u.build(t)}}(),new(function(){function t(){}return t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){return t===ja.event.name?de("_any"):null},t}())),Ud=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.options=t,this.reflector=e,this.externalReferenceVars=n,this.parent=r,this.component=i,this.isHostComponent=o,this.embeddedViewIndex=a,this.pipes=s,this.guards=l,this.ctx=c,this.viewBuilderFactory=u,this.refOutputVars=new Map,this.variables=[],this.children=[],this.updates=[],this.actions=[]}return t.prototype.getOutputVar=function(t){var e;if(!(e=t===this.component&&this.isHostComponent?"_any":t instanceof nn?this.externalReferenceVars.get(t):"_any"))throw new Error("Illegal State: referring to a type without a variable "+JSON.stringify(t));return e},t.prototype.getTypeGuardExpressions=function(t){var e,n,r,i,a=Object(o.g)(this.guards);try{for(var s=Object(o.h)(t.directives),l=s.next();!l.done;l=s.next()){var c=l.value;try{for(var u=(r=void 0,Object(o.h)(c.inputs)),p=u.next();!p.done;p=u.next()){var d=p.value,h=c.directive.guards[d.directiveName];if(h){var f="UseIf"===h;a.push({guard:h,useIf:f,expression:{context:this.component,value:d.value}})}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return a},t.prototype.visitAll=function(t,e){this.variables=t,Al(this,e)},t.prototype.build=function(t,e){var n,r,i=this;void 0===e&&(e=[]),this.children.forEach((function(n){return n.build(t,e)}));var a=[de("_any").set(Ut).toDeclStmt(st)],s=0;if(this.updates.forEach((function(t){var e=i.preprocessUpdateExpression(t),n=e.sourceSpan,r=e.context,l=e.value,c=""+s++,u=Ma(r===i.component?i:Hd,de(i.getOutputVar(r)),l,c,Pa.General),p=u.stmts,d=u.currValExpr;p.push(new Kt(d)),a.push.apply(a,Object(o.g)(p.map((function(t){return ce(t,n)}))))})),this.actions.forEach((function(t){var e=t.sourceSpan,n=t.context,r=t.value,l=""+s++,c=Da(n===i.component?i:Hd,de(i.getOutputVar(n)),r,l).stmts;a.push.apply(a,Object(o.g)(c.map((function(t){return ce(t,e)}))))})),this.guards.length){var l=void 0;try{for(var c=Object(o.h)(this.guards),u=c.next();!u.done;u=c.next()){var p=u.value,d=this.preprocessUpdateExpression(p.expression),h=d.context,f=d.value,m=""+s++,g=Ma(h===this.component?this:Hd,de(this.getOutputVar(h)),f,m,Pa.TrySimple),y=g.stmts,v=g.currValExpr;if(0==y.length){var b=p.useIf?v:this.ctx.importExpr(p.guard).callFn([v]);l=l?l.and(b):b}}}catch(x){n={error:x}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}l&&(a=[new ee(l,a)])}var _="_View_"+t+"_"+this.embeddedViewIndex,w=new Yt(_,[],a);return e.push(w),e},t.prototype.visitBoundText=function(t,e){var n=this;t.value.ast.expressions.forEach((function(e){return n.updates.push({context:n.component,value:e,sourceSpan:t.sourceSpan})}))},t.prototype.visitEmbeddedTemplate=function(t,e){if(this.visitElementOrTemplate(t),this.options.fullTemplateTypeCheck){var n=this.getTypeGuardExpressions(t),r=this.viewBuilderFactory(this,n);this.children.push(r),r.visitAll(t.variables,t.children)}},t.prototype.visitElement=function(t,e){var n=this;this.visitElementOrTemplate(t);t.inputs.forEach((function(t){n.updates.push({context:n.component,value:t.value,sourceSpan:t.sourceSpan})})),Al(this,t.children)},t.prototype.visitElementOrTemplate=function(t){var e=this;t.directives.forEach((function(t){e.visitDirective(t)})),t.references.forEach((function(t){var n=null;n=t.value&&t.value.identifier&&e.options.fullTemplateTypeCheck?t.value.identifier.reference:tt.Dynamic,e.refOutputVars.set(t.name,n)})),t.outputs.forEach((function(t){e.actions.push({context:e.component,value:t.handler,sourceSpan:t.sourceSpan})}))},t.prototype.visitDirective=function(t){var e=this,n=t.directive.type.reference;t.inputs.forEach((function(t){return e.updates.push({context:e.component,value:t.value,sourceSpan:t.sourceSpan})})),this.options.fullTemplateTypeCheck&&(t.hostProperties.forEach((function(t){return e.updates.push({context:n,value:t.value,sourceSpan:t.sourceSpan})})),t.hostEvents.forEach((function(t){return e.actions.push({context:n,value:t.handler,sourceSpan:t.sourceSpan})})))},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){if(t==ja.event.name)return de(this.getOutputVar(tt.Dynamic));for(var e=this;e;e=e.parent){var n=void 0;if(null==(n=e.refOutputVars.get(t)))e.variables.find((function(e){return e.name===t}))&&(n=tt.Dynamic);if(null!=n)return de(this.getOutputVar(n))}return null},t.prototype.pipeOutputVar=function(t){var e=this.pipes.get(t);if(!e)throw new Error("Illegal State: Could not find pipe "+t+" in template of "+this.component);return this.getOutputVar(e)},t.prototype.preprocessUpdateExpression=function(t){var e=this;return{sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(t){return function(t){var n=ge(t);return e.options.fullTemplateTypeCheck?n:n.cast(st)}},createLiteralMapConverter:function(t){return function(n){var r=ye(t.map((function(t,e){return{key:t.key,value:n[e],quoted:t.quoted}})));return e.options.fullTemplateTypeCheck?r:r.cast(st)}},createPipeConverter:function(t,n){return function(n){return(e.options.fullTemplateTypeCheck?de(e.pipeOutputVar(t)):de(e.getOutputVar(tt.Dynamic))).callMethod("transform",n)}}},t.value)}},t.prototype.visitNgContent=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}(),Gd="class",qd="style",Wd=function(t,e){this.viewClassVar=t,this.rendererTypeVar=e},Yd=function(){function t(t){this._reflector=t}return t.prototype.compileComponent=function(t,e,n,r,i){var a,s=this,l=0,c=function t(e,n){void 0===n&&(n=new Map);e.forEach((function(e){var r=new Set,i=new Set,o=void 0;e instanceof Cl?(t(e.children,n),e.children.forEach((function(t){var e=n.get(t);e.staticQueryIds.forEach((function(t){return r.add(t)})),e.dynamicQueryIds.forEach((function(t){return i.add(t)}))})),o=e.queryMatches):e instanceof Ol&&(t(e.children,n),e.children.forEach((function(t){var e=n.get(t);e.staticQueryIds.forEach((function(t){return i.add(t)})),e.dynamicQueryIds.forEach((function(t){return i.add(t)}))})),o=e.queryMatches),o&&o.forEach((function(t){return r.add(t.queryId)})),i.forEach((function(t){return r.delete(t)})),n.set(e,{staticQueryIds:r,dynamicQueryIds:i})}));return n}(n),u=void 0;if(!e.isHost){var p=e.template,d=[];p.animations&&p.animations.length&&d.push(new Bt("animation",ad(t,p.animations),!0));var h=de(dn(e.type.reference));u=h.name,t.statements.push(h.set(he(Je.createRendererType2).callFn([new zt([new Bt("encapsulation",_e(p.encapsulation),!1),new Bt("styles",r,!1),new Bt("data",new zt(d),!1)])])).toDeclStmt(fe(Je.RendererType2),[Ct.Final,Ct.Exported]))}var f=function(n){var r=l++;return new th(s._reflector,t,n,e,r,i,c,f)},m=f(null);return m.visitAll([],n),(a=t.statements).push.apply(a,Object(o.g)(m.build())),new Wd(m.viewName,u)},t}(),Kd=de("_l"),Qd=de("_v"),Xd=de("_ck"),Zd=de("_co"),$d=de("en"),Jd=de("ad"),th=function(){function t(t,e,n,r,i,o,a,s){this.reflector=t,this.outputCtx=e,this.parent=n,this.component=r,this.embeddedViewIndex=i,this.usedPipes=o,this.staticQueryIds=a,this.viewBuilderFactory=s,this.nodes=[],this.purePipeNodeIndices=Object.create(null),this.refNodeIndices=Object.create(null),this.variables=[],this.children=[],this.compType=this.embeddedViewIndex>0?st:me(e.importExpr(this.component.type.reference)),this.viewName=pn(this.component.type.reference,this.embeddedViewIndex)}return t.prototype.visitAll=function(t,e){var n,r,i,o=this;if(this.variables=t,this.parent||this.usedPipes.forEach((function(t){t.pure&&(o.purePipeNodeIndices[t.name]=o._createPipe(null,t))})),!this.parent){var a=(n=this.staticQueryIds,r=new Set,i=new Set,Array.from(n.values()).forEach((function(t){t.staticQueryIds.forEach((function(t){return r.add(t)})),t.dynamicQueryIds.forEach((function(t){return i.add(t)}))})),i.forEach((function(t){return r.delete(t)})),{staticQueryIds:r,dynamicQueryIds:i});this.component.viewQueries.forEach((function(t,e){var n=e+1,r=t.first?0:1,i=134217728|oh(a,n,t);o.nodes.push((function(){return{sourceSpan:null,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(n),new zt([new Bt(t.propertyName,_e(r),!1)])])}}))}))}Al(this,e),this.parent&&(0===e.length||function t(e){var n=e[e.length-1];if(n instanceof Ol)return n.hasViewContainer;if(n instanceof Cl)return s(n.name)&&n.children.length?t(n.children):n.hasViewContainer;return n instanceof jl}(e))&&this.nodes.push((function(){return{sourceSpan:null,nodeFlags:1,nodeDef:he(Je.anchorDef).callFn([_e(0),Ut,Ut,_e(0)])}}))},t.prototype.build=function(t){void 0===t&&(t=[]),this.children.forEach((function(e){return e.build(t)}));var e=this._createNodeExpressions(),n=e.updateRendererStmts,r=e.updateDirectivesStmts,i=e.nodeDefExprs,o=this._createUpdateFn(n),a=this._createUpdateFn(r),s=0;this.parent||this.component.changeDetection!==b.OnPush||(s|=2);var l=new Yt(this.viewName,[new Rt(Kd.name)],[new Qt(he(Je.viewDef).callFn([_e(s),ge(i),a,o]))],fe(Je.ViewDefinition),0===this.embeddedViewIndex?[Ct.Exported]:[]);return t.push(l),t},t.prototype._createUpdateFn=function(t){var e;if(t.length>0){var n=[];!this.component.isHost&&se(t).has(Zd.name)&&n.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),e=ve([new Rt(Xd.name,lt),new Rt(Qd.name,lt)],Object(o.g)(n,t),lt)}else e=Ut;return e},t.prototype.visitNgContent=function(t,e){this.nodes.push((function(){return{sourceSpan:t.sourceSpan,nodeFlags:8,nodeDef:he(Je.ngContentDef).callFn([_e(t.ngContentIndex),_e(t.index)])}}))},t.prototype.visitText=function(t,e){this.nodes.push((function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(-1),_e(t.ngContentIndex),ge([_e(t.value)])])}}))},t.prototype.visitBoundText=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=t.value.ast,o=i.expressions.map((function(e,i){return n._preprocessUpdateExpression({nodeIndex:r,bindingIndex:i,sourceSpan:t.sourceSpan,context:Zd,value:e})})),a=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(a),_e(t.ngContentIndex),ge(i.strings.map((function(t){return _e(t)})))]),updateRenderer:o}}},t.prototype.visitEmbeddedTemplate=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=this._visitElementOrTemplate(r,t),o=i.flags,a=i.queryMatchesExpr,s=i.hostEvents,l=this.viewBuilderFactory(this);this.children.push(l),l.visitAll(t.variables,t.children);var c=this.nodes.length-r-1;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|o,nodeDef:he(Je.anchorDef).callFn([_e(o),a,_e(t.ngContentIndex),_e(c),n._createElementHandleEventFn(r,s),de(l.viewName)])}}},t.prototype.visitElement=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=s(t.name)?null:t.name,a=this._visitElementOrTemplate(r,t),l=a.flags,c=a.usedEvents,u=a.queryMatchesExpr,p=a.hostBindings,d=a.hostEvents,h=[],f=[],m=[];if(i){var g=t.inputs.map((function(t){return{context:Zd,inputAst:t,dirAst:null}})).concat(p);g.length&&(f=g.map((function(t,e){return n._preprocessUpdateExpression({context:t.context,nodeIndex:r,bindingIndex:e,sourceSpan:t.inputAst.sourceSpan,value:t.inputAst.value})})),h=g.map((function(t){return function(t,e){var n=t.type;switch(n){case 1:return ge([_e(1),_e(t.name),_e(t.securityContext)]);case 0:return ge([_e(8),_e(t.name),_e(t.securityContext)]);case 4:return ge([_e(8|(e&&e.directive.isComponent?32:16)),_e("@"+t.name),_e(t.securityContext)]);case 2:return ge([_e(2),_e(t.name),Ut]);case 3:return ge([_e(4),_e(t.name),_e(t.unit)]);default:throw new Error("unexpected "+n)}}(t.inputAst,t.dirAst)}))),m=c.map((function(t){var e=Object(o.f)(t,2),n=e[0],r=e[1];return ge([_e(n),_e(r)])}))}Al(this,t.children);var y=this.nodes.length-r-1,v=t.directives.find((function(t){return t.directive.isComponent})),b=Ut,_=Ut;v&&(_=this.outputCtx.importExpr(v.directive.componentViewType),b=this.outputCtx.importExpr(v.directive.rendererType));var w=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|l,nodeDef:he(Je.elementDef).callFn([_e(w),_e(l),u,_e(t.ngContentIndex),_e(y),_e(i),i?eh(t):Ut,h.length?ge(h):Ut,m.length?ge(m):Ut,n._createElementHandleEventFn(r,d),_,b]),updateRenderer:f}}},t.prototype._visitElementOrTemplate=function(t,e){var n=this,r=0;e.hasViewContainer&&(r|=16777216);var i=new Map;e.outputs.forEach((function(t){var e=ih(t,null),n=e.name,r=e.target;i.set(ah(r,n),[r,n])})),e.directives.forEach((function(t){t.hostEvents.forEach((function(e){var n=ih(e,t),r=n.name,o=n.target;i.set(ah(o,r),[o,r])}))}));var a=[],s=[];this._visitComponentFactoryResolverProvider(e.directives),e.providers.forEach((function(r,l){var c=void 0,u=void 0;if(e.directives.forEach((function(t,e){t.directive.type.reference===mn(r.token)&&(c=t,u=e)})),c){var p=n._visitDirective(r,c,u,t,e.references,e.queryMatches,i,n.staticQueryIds.get(e)),d=p.hostBindings,h=p.hostEvents;a.push.apply(a,Object(o.g)(d)),s.push.apply(s,Object(o.g)(h))}else n._visitProvider(r,e.queryMatches)}));var l=[];return e.queryMatches.forEach((function(t){var e=void 0;mn(t.value)===n.reflector.resolveExternalReference(Je.ElementRef)?e=0:mn(t.value)===n.reflector.resolveExternalReference(Je.ViewContainerRef)?e=3:mn(t.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(e=2),null!=e&&l.push(ge([_e(t.queryId),_e(e)]))})),e.references.forEach((function(e){var r=void 0;e.value?mn(e.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(r=2):r=1,null!=r&&(n.refNodeIndices[e.name]=t,l.push(ge([_e(e.name),_e(r)])))})),e.outputs.forEach((function(t){s.push({context:Zd,eventAst:t,dirAst:null})})),{flags:r,usedEvents:Array.from(i.values()),queryMatchesExpr:l.length?ge(l):Ut,hostBindings:a,hostEvents:s}},t.prototype._visitDirective=function(t,e,n,r,i,o,a,s){var l=this,c=this.nodes.length;this.nodes.push(null),e.directive.queries.forEach((function(t,n){var r=e.contentQueryStartId+n,i=67108864|oh(s,r,t),o=t.first?0:1;l.nodes.push((function(){return{sourceSpan:e.sourceSpan,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(r),new zt([new Bt(t.propertyName,_e(o),!1)])])}}))}));var u=this.nodes.length-c-1,p=this._visitProviderOrDirective(t,o),d=p.flags,h=p.queryMatchExprs,f=p.providerExpr,m=p.depsExpr;i.forEach((function(e){e.value&&mn(e.value)===mn(t.token)&&(l.refNodeIndices[e.name]=c,h.push(ge([_e(e.name),_e(4)])))})),e.directive.isComponent&&(d|=32768);var g=e.inputs.map((function(t,e){var n=ge([_e(e),_e(t.directiveName)]);return new Bt(t.directiveName,n,!1)})),y=[],v=e.directive;Object.keys(v.outputs).forEach((function(t){var e=v.outputs[t];a.has(e)&&y.push(new Bt(t,_e(e),!1))}));var b=[];(e.inputs.length||(327680&d)>0)&&(b=e.inputs.map((function(t,e){return l._preprocessUpdateExpression({nodeIndex:c,bindingIndex:e,sourceSpan:t.sourceSpan,context:Zd,value:t.value})})));var _=he(Je.nodeValue).callFn([Qd,_e(c)]),w=e.hostProperties.map((function(t){return{context:_,dirAst:e,inputAst:t}})),x=e.hostEvents.map((function(t){return{context:_,eventAst:t,dirAst:e}})),C=c;return this.nodes[c]=function(){return{sourceSpan:e.sourceSpan,nodeFlags:16384|d,nodeDef:he(Je.directiveDef).callFn([_e(C),_e(d),h.length?ge(h):Ut,_e(u),f,m,g.length?new zt(g):Ut,y.length?new zt(y):Ut]),updateDirectives:b,directive:e.directive.type}},{hostBindings:w,hostEvents:x}},t.prototype._visitProvider=function(t,e){this._addProviderNode(this._visitProviderOrDirective(t,e))},t.prototype._visitComponentFactoryResolverProvider=function(t){var e=t.find((function(t){return t.directive.isComponent}));if(e&&e.directive.entryComponents.length){var n=Md(this.reflector,this.outputCtx,8192,e.directive.entryComponents),r=n.providerExpr,i=n.depsExpr,o=n.flags,a=n.tokenExpr;this._addProviderNode({providerExpr:r,depsExpr:i,flags:o,tokenExpr:a,queryMatchExprs:[],sourceSpan:e.sourceSpan})}},t.prototype._addProviderNode=function(t){this.nodes.length;this.nodes.push((function(){return{sourceSpan:t.sourceSpan,nodeFlags:t.flags,nodeDef:he(Je.providerDef).callFn([_e(t.flags),t.queryMatchExprs.length?ge(t.queryMatchExprs):Ut,t.tokenExpr,t.providerExpr,t.depsExpr])}}))},t.prototype._visitProviderOrDirective=function(t,e){var n=[];e.forEach((function(e){mn(e.value)===mn(t.token)&&n.push(ge([_e(e.queryId),_e(4)]))}));var r=Dd(this.outputCtx,t),i=r.providerExpr,o=r.depsExpr,a=r.flags,s=r.tokenExpr;return{flags:0|a,queryMatchExprs:n,providerExpr:i,depsExpr:o,tokenExpr:s,sourceSpan:t.sourceSpan}},t.prototype.getLocal=function(t){if(t==ja.event.name)return ja.event;for(var e=Qd,n=this;n;n=n.parent,e=e.prop("parent").cast(st)){var r=n.refNodeIndices[t];if(null!=r)return he(Je.nodeValue).callFn([e,_e(r)]);var i=n.variables.find((function(e){return e.name===t}));if(i){var o=i.value||"$implicit";return e.prop("context").prop(o)}}return null},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype._createLiteralArrayConverter=function(t,e){if(0===e){var n=he(Je.EMPTY_ARRAY);return function(){return n}}var r=this.nodes.length;return this.nodes.push((function(){return{sourceSpan:t,nodeFlags:32,nodeDef:he(Je.pureArrayDef).callFn([_e(r),_e(e)])}})),function(t){return nh(r,t)}},t.prototype._createLiteralMapConverter=function(t,e){if(0===e.length){var n=he(Je.EMPTY_MAP);return function(){return n}}var r=ye(e.map((function(t,e){return Object(o.a)({},t,{value:_e(e)})}))),i=this.nodes.length;return this.nodes.push((function(){return{sourceSpan:t,nodeFlags:64,nodeDef:he(Je.pureObjectDef).callFn([_e(i),r])}})),function(t){return nh(i,t)}},t.prototype._createPipeConverter=function(t,e,n){var r=this.usedPipes.find((function(t){return t.name===e}));if(r.pure){var i=this.nodes.length;this.nodes.push((function(){return{sourceSpan:t.sourceSpan,nodeFlags:128,nodeDef:he(Je.purePipeDef).callFn([_e(i),_e(n)])}}));for(var o=Qd,a=this;a.parent;)a=a.parent,o=o.prop("parent").cast(st);var s=a.purePipeNodeIndices[e],l=he(Je.nodeValue).callFn([o,_e(s)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,nh(i,[l].concat(e)))}}var c=this._createPipe(t.sourceSpan,r),u=he(Je.nodeValue).callFn([Qd,_e(c)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,u.callMethod("transform",e))}},t.prototype._createPipe=function(t,e){var n=this,r=this.nodes.length,i=0;e.type.lifecycleHooks.forEach((function(t){t===_d.OnDestroy&&(i|=Rd(t))}));var o=e.type.diDeps.map((function(t){return Id(n.outputCtx,t)}));return this.nodes.push((function(){return{sourceSpan:t,nodeFlags:16,nodeDef:he(Je.pipeDef).callFn([_e(i),n.outputCtx.importExpr(e.type.reference),ge(o)])}})),r},t.prototype._preprocessUpdateExpression=function(t){var e=this;return{nodeIndex:t.nodeIndex,bindingIndex:t.bindingIndex,sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(n){return e._createLiteralArrayConverter(t.sourceSpan,n)},createLiteralMapConverter:function(n){return e._createLiteralMapConverter(t.sourceSpan,n)},createPipeConverter:function(n,r){return e._createPipeConverter(t,n,r)}},t.value)}},t.prototype._createNodeExpressions=function(){var t=this,e=0,n=[],r=[],i=this.nodes.map((function(t,e){var i=t(),s=i.nodeDef,l=i.nodeFlags,c=i.updateDirectives,u=i.updateRenderer,p=i.sourceSpan;return u&&n.push.apply(n,Object(o.g)(a(e,p,u,!1))),c&&r.push.apply(r,Object(o.g)(a(e,p,c,(327680&l)>0))),ue(3&l?new Ht([Kd.callFn([]).callFn([]),s]):s,p)}));return{updateRendererStmts:n,updateDirectivesStmts:r,nodeDefExprs:i};function a(n,r,i,a){var s=[],l=i.map((function(n){var r=n.sourceSpan,i=n.context,a=n.value,l=""+e++,c=Ma(i===Zd?t:null,i,a,l,Pa.General),u=c.stmts,p=c.currValExpr;return s.push.apply(s,Object(o.g)(u.map((function(t){return ce(t,r)})))),ue(p,r)}));return(i.length||a)&&s.push(ce(nh(n,l).toStmt(),r)),s}},t.prototype._createElementHandleEventFn=function(t,e){var n,r=this,i=[],a=0;if(e.forEach((function(t){var e=t.context,n=t.eventAst,o=t.dirAst,s=""+a++,l=Da(e===Zd?r:null,e,n.handler,s),c=l.stmts,u=l.allowDefault,p=c;u&&p.push(Jd.set(u.and(Jd)).toStmt());var d=ih(n,o),h=ah(d.target,d.name);i.push(ce(new ee(_e(h).identical($d),p),n.sourceSpan))})),i.length>0){var s=[Jd.set(_e(!0)).toDeclStmt(ct)];!this.component.isHost&&se(i).has(Zd.name)&&s.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),n=ve([new Rt(Qd.name,lt),new Rt($d.name,lt),new Rt(ja.event.name,lt)],Object(o.g)(s,i,[new Qt(Jd)]),lt)}else n=Ut;return n},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}();function eh(t){var e=Object.create(null);return t.attrs.forEach((function(t){e[t.name]=t.value})),t.directives.forEach((function(t){Object.keys(t.directive.hostAttributes).forEach((function(n){var r,i,o,a=t.directive.hostAttributes[n],s=e[n];e[n]=null!=s?(i=s,o=a,(r=n)==Gd||r==qd?i+" "+o:o):a}))})),ge(Object.keys(e).sort().map((function(t){return ge([_e(t),_e(e[t])])})))}function nh(t,e){return e.length>10?Xd.callFn([Qd,_e(t),_e(1),ge(e)]):Xd.callFn(Object(o.g)([Qd,_e(t),_e(0)],e))}function rh(t,e,n){return he(Je.unwrapValue).callFn([Qd,_e(t),_e(e),n])}function ih(t,e){return t.isAnimation?{name:"@"+t.name+"."+t.phase,target:e&&e.directive.isComponent?"component":null}:t}function oh(t,e,n){var r=0;return n.first&&function(t,e,n){return n.static||null==n.static&&(t.staticQueryIds.has(e)||!t.dynamicQueryIds.has(e))}(t,e,n)?r|=268435456:r|=536870912,r}function ah(t,e){return t?t+":"+e:e}var sh=function(){function t(t,e,n,r){void 0===r&&(r=null),this._htmlParser=t,this._implicitTags=e,this._implicitAttrs=n,this._locale=r,this._messages=[]}return t.prototype.updateFromTemplate=function(t,e,n){var r,i=this._htmlParser.parse(t,e,{tokenizeExpansionForms:!0,interpolationConfig:n});if(i.errors.length)return i.errors;var a=function(t,e,n,r){return new zp(n,r).extract(t,e)}(i.rootNodes,n,this._implicitTags,this._implicitAttrs);return a.errors.length?a.errors:((r=this._messages).push.apply(r,Object(o.g)(a.messages)),[])},t.prototype.getMessages=function(){return this._messages},t.prototype.write=function(t,e){var n={},r=new lh;this._messages.forEach((function(e){var r,i=t.digest(e);n.hasOwnProperty(i)?(r=n[i].sources).push.apply(r,Object(o.g)(e.sources)):n[i]=e}));var i=Object.keys(n).map((function(i){var o=t.createNameMapper(n[i]),a=n[i],s=o?r.convert(a.nodes,o):a.nodes,l=new Ir(s,{},{},a.meaning,a.description,i);return l.sources=a.sources,e&&l.sources.forEach((function(t){return t.filePath=e(t.filePath)})),l}));return t.write(i,this._locale)},t}(),lh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.convert=function(t,e){var n=this;return e?t.map((function(t){return t.visit(n,e)})):t},e.prototype.visitTagPlaceholder=function(t,e){var n=this,r=e.toPublicName(t.startName),i=t.closeName?e.toPublicName(t.closeName):t.closeName,o=t.children.map((function(t){return t.visit(n,e)}));return new Fr(t.tag,t.attrs,r,i,o,t.isVoid,t.sourceSpan)},e.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,e.toPublicName(t.name),t.sourceSpan)},e.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,e.toPublicName(t.name),t.sourceSpan)},e}(Br),ch=function(){function t(t,e,n){this.srcFileUrl=t,this.genFileUrl=e,"string"==typeof n?(this.source=n,this.stmts=null):(this.source=null,this.stmts=n)}return t.prototype.isEquivalent=function(t){return this.genFileUrl===t.genFileUrl&&(this.source?this.source===t.source:null!=t.stmts&&ht(this.stmts,t.stmts))},t}();function uh(t,e){var n,r,i,a,s=[];try{for(var l=Object(o.h)(t.transitiveModule.providers),c=l.next();!c.done;c=l.next()){var u=c.value,p=u.provider,d=u.module;if(mn(p.token)===e.ROUTES){var h=ph(p.useValue);try{for(var f=(i=void 0,Object(o.h)(h)),m=f.next();!m.done;m=f.next()){var g=m.value;s.push(dh(g,e,d.reference))}}catch(y){i={error:y}}finally{try{m&&!m.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}}}}catch(v){n={error:v}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}return s}function ph(t,e){var n,r;if(void 0===e&&(e=[]),"string"==typeof t)e.push(t);else if(Array.isArray(t))try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){ph(a.value,e)}}catch(s){n={error:s}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}else t.loadChildren?ph(t.loadChildren,e):t.children&&ph(t.children,e);return e}function dh(t,e,n){var r=Object(o.f)(t.split("#"),2),i=r[0],a=r[1],s=e.resolveExternalReference({moduleName:i,name:a},n?n.filePath:void 0);return{route:t,module:n||s,referencedModule:s}}var hh=/^(?!.*\.d\.ts$).*\.ts$/,fh=function(t,e){this.symbol=t,this.metadata=e},mh=function(){function t(t,e,n,r){this.host=t,this.staticSymbolCache=e,this.summaryResolver=n,this.errorRecorder=r,this.metadataCache=new Map,this.resolvedSymbols=new Map,this.resolvedFilePaths=new Set,this.importAs=new Map,this.symbolResourcePaths=new Map,this.symbolFromFile=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.resolveSymbol=function(t){if(t.members.length>0)return this._resolveSymbolMembers(t);var e=this._resolveSymbolFromSummary(t);if(e)return e;var n=this.resolvedSymbols.get(t);return n||(this._createSymbolsOf(t.filePath),this.resolvedSymbols.get(t))},t.prototype.getImportAs=function(t,e){if(void 0===e&&(e=!0),t.members.length){var n=this.getStaticSymbol(t.filePath,t.name);return(i=this.getImportAs(n,e))?this.getStaticSymbol(i.filePath,i.name,t.members):null}var r=t.filePath.replace(pd,".");if(r!==t.filePath){var i,o=t.name.replace(dd,"");n=this.getStaticSymbol(r,o,t.members);return(i=this.getImportAs(n,e))?this.getStaticSymbol(vd(i.filePath),bd(i.name),n.members):null}var a=e&&this.summaryResolver.getImportAs(t)||null;return a||(a=this.importAs.get(t)),a},t.prototype.getResourcePath=function(t){return this.symbolResourcePaths.get(t)||t.filePath},t.prototype.getTypeArity=function(t){if(e=t.filePath,ud.test(e))return null;for(var e,n=yh(this.resolveSymbol(t));n&&n.metadata instanceof nn;)n=yh(this.resolveSymbol(n.metadata));return n&&n.metadata&&n.metadata.arity||null},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.recordImportAs=function(t,e){t.assertNoMembers(),e.assertNoMembers(),this.importAs.set(t,e)},t.prototype.recordModuleNameForFileName=function(t,e){this.knownFileNameToModuleNames.set(t,e)},t.prototype.invalidateFile=function(t){var e,n;this.metadataCache.delete(t),this.resolvedFilePaths.delete(t);var r=this.symbolFromFile.get(t);if(r){this.symbolFromFile.delete(t);try{for(var i=Object(o.h)(r),a=i.next();!a.done;a=i.next()){var s=a.value;this.resolvedSymbols.delete(s),this.importAs.delete(s),this.symbolResourcePaths.delete(s)}}catch(l){e={error:l}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}},t.prototype.ignoreErrorsFor=function(t){var e=this.errorRecorder;this.errorRecorder=function(){};try{return t()}finally{this.errorRecorder=e}},t.prototype._resolveSymbolMembers=function(t){var e=t.members,n=this.resolveSymbol(this.getStaticSymbol(t.filePath,t.name));if(!n)return null;var r=yh(n.metadata);if(r instanceof nn)return new fh(t,this.getStaticSymbol(r.filePath,r.name,e));if(!r||"class"!==r.__symbolic){for(var i=r,o=0;o=0?{__symbolic:"reference",name:h}:n.has(h)?u.getStaticSymbol(e,h):void 0},i}(je)),[]),d=yh(p);return d instanceof nn?this.createExport(t,d):new fh(t,p)},t.prototype.createExport=function(t,e){return t.assertNoMembers(),e.assertNoMembers(),this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(e.filePath)&&this.importAs.set(e,this.getImportAs(t)||t),new fh(t,e)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.getModuleMetadata=function(t){var e=this.metadataCache.get(t);if(!e){var n=this.host.getMetadataFor(t);if(n){var r=-1;n.forEach((function(t){t&&t.version>r&&(r=t.version,e=t)}))}if(e||(e={__symbolic:"module",version:4,module:t,metadata:{}}),4!=e.version){var i=2==e.version?"Unsupported metadata version "+e.version+" for module "+t+". This module should be compiled with a newer version of ngc":"Metadata version mismatch for module "+this.host.getOutputName(t)+", found version "+e.version+", expected 4";this.reportError(new Error(i))}this.metadataCache.set(t,e)}return e},t.prototype.getSymbolByModule=function(t,e,n){var r=this.resolveModule(t,n);return r?this.getStaticSymbol(r,e):(this.reportError(new Error("Could not resolve module "+t+(n?" relative to "+this.host.getOutputName(n):""))),this.getStaticSymbol("ERROR:"+t,e))},t.prototype.resolveModule=function(t,e){try{return this.host.moduleNameToFileName(t,e)}catch(n){console.error("Could not resolve module '"+t+"' relative to file "+e),this.reportError(n,void 0,e)}return null},t}();function gh(t){return t.startsWith("___")?t.substr(1):t}function yh(t){return t&&"resolved"===t.__symbolic?t.symbol:t}function vh(t,e,n){var r=bd(e.name);t.statements.push(ve([],[new Qt(n)],new ot(st)).toDeclStmt(r,[Ct.Final,Ct.Exported]))}var bh=function(t){function e(e,n,r){var i=t.call(this)||this;return i.symbolResolver=e,i.summaryResolver=n,i.srcFileName=r,i.symbols=[],i.indexBySymbol=new Map,i.reexportedBy=new Map,i.processedSummaryBySymbol=new Map,i.processedSummaries=[],i.unprocessedSymbolSummariesBySymbol=new Map,i.moduleName=e.getKnownModuleName(r),i}return Object(o.c)(e,t),e.prototype.addSummary=function(t){var e,n,r=this,i=this.unprocessedSymbolSummariesBySymbol.get(t.symbol),o=this.processedSummaryBySymbol.get(t.symbol);if(i||(i={symbol:t.symbol,metadata:void 0},this.unprocessedSymbolSummariesBySymbol.set(t.symbol,i),o={symbol:this.processValue(t.symbol,0)},this.processedSummaries.push(o),this.processedSummaryBySymbol.set(t.symbol,o)),!i.metadata&&t.metadata){var a=t.metadata||{};if("class"===a.__symbolic){var s={};Object.keys(a).forEach((function(t){"decorators"!==t&&(s[t]=a[t])})),a=s}else xh(a)&&(xh(n=a)&&yh(n.expression)instanceof nn||function(t){return xh(t)&&t.expression&&"select"===t.expression.__symbolic&&yh(t.expression.expression)instanceof nn}(a)||(a={__symbolic:"error",message:"Complex function calls are not supported."}));if(i.metadata=a,o.metadata=this.processValue(a,1),a instanceof nn&&this.summaryResolver.isLibraryFile(a.filePath)){var l=this.symbols[this.indexBySymbol.get(a)];e=l.name,wd.test(e)||this.reexportedBy.set(l,t.symbol)}}if(!i.type&&t.type&&(i.type=t.type,o.type=this.processValue(t.type,0),t.type.summaryKind===sn.NgModule)){var c=t.type;c.exportedDirectives.concat(c.exportedPipes).forEach((function(t){var e=t.reference;if(r.summaryResolver.isLibraryFile(e.filePath)&&!r.unprocessedSymbolSummariesBySymbol.has(e)){var n=r.summaryResolver.resolveSummary(e);n&&r.addSummary(n)}}))}},e.prototype.serialize=function(t){var e=this,n=[];return{json:JSON.stringify({moduleName:this.moduleName,summaries:this.processedSummaries,symbols:this.symbols.map((function(r,i){r.assertNoMembers();var o=void 0;if(e.summaryResolver.isLibraryFile(r.filePath)){var a=e.reexportedBy.get(r);if(a)o=e.indexBySymbol.get(a);else if(t){var s=e.unprocessedSymbolSummariesBySymbol.get(r);s&&s.metadata&&"interface"===s.metadata.__symbolic||(o=r.name+"_"+i,n.push({symbol:r,exportAs:o}))}}return{__symbol:i,name:r.name,filePath:e.summaryResolver.toSummaryFileName(r.filePath,e.srcFileName),importAs:o}}))}),exportAs:n}},e.prototype.processValue=function(t,e){return Ee(t,this,e)},e.prototype.visitOther=function(t,e){if(t instanceof nn){var n=this.symbolResolver.getStaticSymbol(t.filePath,t.name);return{__symbol:this.visitStaticSymbol(n,e),members:t.members}}},e.prototype.visitStringMap=function(e,n){return"resolved"===e.__symbolic?Ee(e.symbol,this,n):("error"===e.__symbolic&&(delete e.line,delete e.character),t.prototype.visitStringMap.call(this,e,n))},e.prototype.visitStaticSymbol=function(t,e){var n=this.indexBySymbol.get(t),r=null;if(1&e&&this.summaryResolver.isLibraryFile(t.filePath)){if(this.unprocessedSymbolSummariesBySymbol.has(t))return n;(r=this.loadSummary(t))&&r.metadata instanceof nn&&(n=this.visitStaticSymbol(r.metadata,e),r=null)}else if(null!=n)return n;return null==n&&(n=this.symbols.length,this.symbols.push(t)),this.indexBySymbol.set(t,n),r&&this.addSummary(r),n},e.prototype.loadSummary=function(t){var e=this.summaryResolver.resolveSummary(t);if(!e){var n=this.symbolResolver.resolveSymbol(t);n&&(e={symbol:n.symbol,metadata:n.metadata})}return e},e}(je),_h=function(){function t(t,e,n){this.outputCtx=t,this.symbolResolver=e,this.summaryResolver=n,this.data=[]}return t.prototype.addSourceType=function(t,e){this.data.push({summary:t,metadata:e,isLibrary:!1})},t.prototype.addLibType=function(t){this.data.push({summary:t,metadata:null,isLibrary:!0})},t.prototype.serialize=function(t){var e,n,r,i,a,s,l=this,c=new Map;try{for(var u=Object(o.h)(t),p=u.next();!p.done;p=u.next()){var d=p.value,h=d.symbol,f=d.exportAs;c.set(h,f)}}catch(S){e={error:S}}finally{try{p&&!p.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}var m=new Set;try{for(var g=Object(o.h)(this.data),y=g.next();!y.done;y=g.next()){var v=y.value,b=v.summary,_=v.metadata,w=v.isLibrary;if(b.summaryKind===sn.NgModule){m.add(b.type.reference);var x=b;try{for(var C=(a=void 0,Object(o.h)(x.modules)),O=C.next();!O.done;O=C.next()){var E=O.value;m.add(E.reference)}}catch(k){a={error:k}}finally{try{O&&!O.done&&(s=C.return)&&s.call(C)}finally{if(a)throw a.error}}}if(!w){bd(b.type.reference.name);vh(this.outputCtx,b.type.reference,this.serializeSummaryWithDeps(b,_))}}}catch(j){r={error:j}}finally{try{y&&!y.done&&(i=g.return)&&i.call(g)}finally{if(r)throw r.error}}m.forEach((function(t){if(l.summaryResolver.isLibraryFile(t.filePath)){var e=bd(c.get(t)||t.name);l.outputCtx.statements.push(de(e).set(l.serializeSummaryRef(t)).toDeclStmt(null,[Ct.Exported]))}}))},t.prototype.serializeSummaryWithDeps=function(t,e){var n=this,r=[this.serializeSummary(t)],i=[];if(e instanceof _n)r.push.apply(r,Object(o.g)(e.declaredDirectives.concat(e.declaredPipes).map((function(t){return t.reference})).concat(e.transitiveModule.modules.map((function(t){return t.reference})).filter((function(t){return t!==e.type.reference}))).map((function(t){return n.serializeSummaryRef(t)})))),i=e.providers;else if(t.summaryKind===sn.Directive){var a=t;i=a.providers.concat(a.viewProviders)}return r.push.apply(r,Object(o.g)(i.filter((function(t){return!!t.useClass})).map((function(t){return n.serializeSummary({summaryKind:sn.Injectable,type:t.useClass})})))),ge(r)},t.prototype.serializeSummaryRef=function(t){var e=this.symbolResolver.getStaticSymbol(vd(t.filePath),bd(t.name));return this.outputCtx.importExpr(e)},t.prototype.serializeSummary=function(t){var e=this.outputCtx,n=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map((function(t){return Ee(t,n,e)})))},t.prototype.visitStringMap=function(t,e){var n=this;return new zt(Object.keys(t).map((function(r){return new Bt(r,Ee(t[r],n,e),!1)})))},t.prototype.visitPrimitive=function(t,e){return _e(t)},t.prototype.visitOther=function(t,n){if(t instanceof nn)return e.importExpr(t);throw new Error("Illegal State: Encountered value "+t)},t}();return Ee(t,new n,null)},t}(),wh=function(t){function e(e,n){var r=t.call(this)||this;return r.symbolCache=e,r.summaryResolver=n,r}return Object(o.c)(e,t),e.prototype.deserialize=function(t,e){var n=this,r=JSON.parse(e),i=[];this.symbols=r.symbols.map((function(e){return n.symbolCache.get(n.summaryResolver.fromSummaryFileName(e.filePath,t),e.name)})),r.symbols.forEach((function(e,r){var o=n.symbols[r],a=e.importAs;"number"==typeof a?i.push({symbol:o,importAs:n.symbols[a]}):"string"==typeof a&&i.push({symbol:o,importAs:n.symbolCache.get(hd(t),a)})}));var o=Ee(r.summaries,this,null);return{moduleName:r.moduleName,summaries:o,importAs:i}},e.prototype.visitStringMap=function(e,n){if("__symbol"in e){var r=this.symbols[e.__symbol],i=e.members;return i.length?this.symbolCache.get(r.filePath,r.name,i):r}return t.prototype.visitStringMap.call(this,e,n)},e}(je);function xh(t){return t&&"call"===t.__symbolic}!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){this._config=t,this._options=e,this._host=n,this.reflector=r,this._metadataResolver=i,this._templateParser=o,this._styleCompiler=a,this._viewCompiler=s,this._typeCheckCompiler=l,this._ngModuleCompiler=c,this._injectableCompiler=u,this._outputEmitter=p,this._summaryResolver=d,this._symbolResolver=h,this._templateAstCache=new Map,this._analyzedFiles=new Map,this._analyzedFilesForInjectables=new Map}t.prototype.clearCache=function(){this._metadataResolver.clearCache()},t.prototype.analyzeModulesSync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return n.ngModules.forEach((function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)})),n},t.prototype.analyzeModulesAsync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return Promise.all(n.ngModules.map((function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)}))).then((function(){return n}))},t.prototype._analyzeFile=function(t){var e=this._analyzedFiles.get(t);return e||(e=Ah(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFiles.set(t,e)),e},t.prototype._analyzeFileForInjectables=function(t){var e=this._analyzedFilesForInjectables.get(t);return e||(e=function(t,e,n,r){var i=[],o=[];e.hasDecorators(r)&&e.getSymbolsOf(r).forEach((function(t){var r=e.resolveSymbol(t).metadata;if(r&&"error"!==r.__symbolic&&"class"===r.__symbolic)if(n.isInjectable(t)){var a=n.getInjectableMetadata(t,null,!1);a&&i.push(a)}else if(n.isNgModule(t)){var s=n.getShallowModuleMetadata(t);s&&o.push(s)}}));return{fileName:r,injectables:i,shallowModules:o}}(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFilesForInjectables.set(t,e)),e},t.prototype.findGeneratedFileNames=function(t){var e=this,n=[],r=this._analyzeFile(t);(this._options.allowEmptyCodegenFiles||r.directives.length||r.pipes.length||r.injectables.length||r.ngModules.length||r.exportsNonSourceFiles)&&(n.push(hd(r.fileName,!0)),this._options.enableSummariesForJit&&n.push(vd(r.fileName,!0)));var i=gd(md(r.fileName,!0)[1]);return r.directives.forEach((function(t){var o=e._metadataResolver.getNonNormalizedDirectiveMetadata(t).metadata;o.isComponent&&o.template.styleUrls.forEach((function(t){var a=e._host.resourceNameToFileName(t,r.fileName);if(!a)throw Ie("Couldn't resolve resource "+t+" relative to "+r.fileName);var s=(o.template.encapsulation||e._config.defaultEncapsulation)===v.Emulated;n.push(Eh(a,s,i)),e._options.allowEmptyCodegenFiles&&n.push(Eh(a,!s,i))}))})),n},t.prototype.emitBasicStub=function(t,e){var n=this._createOutputContext(t);if(t.endsWith(".ngfactory.ts")){if(!e)throw new Error("Assertion error: require the original file for .ngfactory.ts stubs. File: "+t);var r=this._analyzeFile(e);this._createNgFactoryStub(n,r,1)}else if(t.endsWith(".ngsummary.ts")){if(this._options.enableSummariesForJit){if(!e)throw new Error("Assertion error: require the original file for .ngsummary.ts stubs. File: "+t);r=this._analyzeFile(e);Ch(n),r.ngModules.forEach((function(t){!function(t,e){vh(t,e,Ut)}(n,t.type.reference)}))}}else t.endsWith(".ngstyle.ts")&&Ch(n);return this._codegenSourceModule("unknown",n)},t.prototype.emitTypeCheckStub=function(t,e){var n=this._analyzeFile(e),r=this._createOutputContext(t);return t.endsWith(".ngfactory.ts")&&this._createNgFactoryStub(r,n,2),r.statements.length>0?this._codegenSourceModule(n.fileName,r):null},t.prototype.loadFilesAsync=function(t,e){var n=this,r=t.map((function(t){return n._analyzeFile(t)})),i=[];r.forEach((function(t){return t.ngModules.forEach((function(t){return i.push(n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1))}))}));var o=e.map((function(t){return n._analyzeFileForInjectables(t)}));return Promise.all(i).then((function(t){return{analyzedModules:Th(r),analyzedInjectables:o}}))},t.prototype.loadFilesSync=function(t,e){var n=this,r=t.map((function(t){return n._analyzeFile(t)}));r.forEach((function(t){return t.ngModules.forEach((function(t){return n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)}))}));var i=e.map((function(t){return n._analyzeFileForInjectables(t)}));return{analyzedModules:Th(r),analyzedInjectables:i}},t.prototype._createNgFactoryStub=function(t,e,n){var r=this,i=0;e.ngModules.forEach((function(e,a){r._ngModuleCompiler.createStub(t,e.type.reference);var s=Object(o.g)(e.transitiveModule.directives.map((function(t){return t.reference})),e.transitiveModule.pipes.map((function(t){return t.reference})),e.importedModules.map((function(t){return t.type.reference})),e.exportedModules.map((function(t){return t.type.reference})),r._externalIdentifierReferences([Je.TemplateRef,Je.ElementRef])),l=new Map;s.forEach((function(t,e){l.set(t,"_decl"+a+"_"+e)})),l.forEach((function(e,n){t.statements.push(de(e).set(Ut.cast(st)).toDeclStmt(me(t.importExpr(n,null,!1))))})),2&n&&e.declaredDirectives.forEach((function(n){var o=r._metadataResolver.getDirectiveMetadata(n.reference);o.isComponent&&(i++,r._createTypeCheckBlock(t,o.type.reference.name+"_Host_"+i,e,r._metadataResolver.getHostComponentMetadata(o),[o.type],l),r._createTypeCheckBlock(t,o.type.reference.name+"_"+i,e,o,e.transitiveModule.directives,l))}))})),0===t.statements.length&&Ch(t)},t.prototype._externalIdentifierReferences=function(t){var e,n,r=[];try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value,l=en(this.reflector,s);l.identifier&&r.push(l.identifier.reference)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype._createTypeCheckBlock=function(t,e,n,r,i,a){var s,l=this._parseTemplate(r,n,i),c=l.template,u=l.pipes;(s=t.statements).push.apply(s,Object(o.g)(this._typeCheckCompiler.compileComponent(e,r,c,u,a,t)))},t.prototype.emitMessageBundle=function(t,e){var n=this,r=[],i=new Js,a=new sh(i,[],{},e);if(t.files.forEach((function(t){var e=[];t.directives.forEach((function(t){var r=n._metadataResolver.getDirectiveMetadata(t);r&&r.isComponent&&e.push(r)})),e.forEach((function(t){var e=t.template.template,n=t.template.templateUrl,i=Co.fromArray(t.template.interpolation);r.push.apply(r,Object(o.g)(a.updateFromTemplate(e,n,i)))}))})),r.length)throw new Error(r.map((function(t){return t.toString()})).join("\n"));return a},t.prototype.emitAllPartialModules=function(t,e){var n=this,r=t.ngModuleByPipeOrDirective,i=t.files,a=new Map,s=function(t){return a.has(t)||a.set(t,n._createOutputContext(t)),a.get(t)};return i.forEach((function(t){return n._compilePartialModule(t.fileName,r,t.directives,t.pipes,t.ngModules,t.injectables,s(t.fileName))})),e.forEach((function(t){return n._compileShallowModules(t.fileName,t.shallowModules,s(t.fileName))})),Array.from(a.values()).map((function(t){return{fileName:t.genFilePath,statements:Object(o.g)(t.constantPool.statements,t.statements)}}))},t.prototype._compileShallowModules=function(t,e,n){var r=this;e.forEach((function(t){return e=n,i=t,a=r._injectableCompiler,s=cn(i.type),l=i.rawImports?[i.rawImports]:[],c=i.rawExports?[i.rawExports]:[],u=Ci({factory:a.factoryFor({type:i.type,symbol:i.type.reference},e),providers:mo(i.rawProviders,e),imports:mo(Object(o.g)(l,c),e)}),p=he(jn.defineInjector).callFn([u]),void e.statements.push(new te(s,null,[new Zt("ngInjectorDef",lt,[Ct.Static],p)],[],new $t(null,[],[]),[]));var e,i,a,s,l,c,u,p}))},t.prototype._compilePartialModule=function(t,e,n,r,i,a,s){var l=this,c=new ru,u=new Ul(this._templateParser.expressionParser,Oo,c,[],[]);n.forEach((function(t){var n=l._metadataResolver.getDirectiveMetadata(t);if(n.isComponent){var r=e.get(t);r||Pe("Cannot determine the module for component '"+cn(n.type)+"'");var i=n.template.htmlAst;n.template.preserveWhitespaces||(i=sl(i));var a=ou(i.rootNodes,u),c=new Map;r.transitiveModule.directives.map((function(t){return l._metadataResolver.getDirectiveSummary(t.reference)})).forEach((function(t){t.selector&&c.set(t.selector,t.type.reference)}));var p=new Map;r.transitiveModule.pipes.map((function(t){return l._metadataResolver.getPipeSummary(t.reference)})).forEach((function(t){p.set(t.name,t.type.reference)})),function(t,e,n,r,i,a,s){var l=cn(e.type);l||Pe("Cannot resolver the name of "+e.type);var c=t.constantPool.propertyNameOf(2),u=e.toSummary(),p=Ku(Object(o.a)({},Qu(e,t,r),{selector:e.selector,template:{nodes:n.nodes},directives:[],pipes:lp(s,t),viewQueries:Xu(e.viewQueries,t),wrapDirectivesAndPipesInClosure:!1,styles:u.template&&u.template.styles||Uu,encapsulation:u.template&&u.template.encapsulation||v.Emulated,interpolation:Oo,animations:null,viewProviders:e.viewProviders.length>0?new bt(e.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),t.constantPool,i);t.statements.push(new te(l,null,[new Zt(c,lt,[Ct.Static],p.expression)],[],new $t(null,[],[]),[]))}(s,n,a,l.reflector,u,0,p)}else!function(t,e,n,r){var i=cn(e.type);i||Pe("Cannot resolver the name of "+e.type);var o=t.constantPool.propertyNameOf(1),a=Yu(Qu(e,t,n),t.constantPool,r);t.statements.push(new te(i,null,[new Zt(o,lt,[Ct.Static],a.expression)],[],new $t(null,[],[]),[]))}(s,n,l.reflector,u)})),r.forEach((function(t){var e=l._metadataResolver.getPipeMetadata(t);e&&function(t,e,n){var r=cn(e.type);if(!r)return Pe("Cannot resolve the name of "+e.type);var i=Wo({name:r,pipeName:e.name,type:t.importExpr(e.type.reference),typeArgumentCount:0,deps:uo(e.type,t,n),pure:e.pure}),o=t.constantPool.propertyNameOf(3);t.statements.push(new te(r,null,[new Zt(o,lt,[Ct.Static],i.expression)],[],new $t(null,[],[]),[]))}(s,e,l.reflector)})),a.forEach((function(t){return l._injectableCompiler.compile(t,s)}))},t.prototype.emitAllPartialModules2=function(t){var e=this;return t.reduce((function(t,n){return t.push.apply(t,Object(o.g)(e._emitPartialModule2(n.fileName,n.injectables))),t}),[])},t.prototype._emitPartialModule2=function(t,e){var n=this,r=this._createOutputContext(t);return e.forEach((function(t){return n._injectableCompiler.compile(t,r)})),r.statements&&r.statements.length>0?[{fileName:t,statements:Object(o.g)(r.constantPool.statements,r.statements)}]:[]},t.prototype.emitAllImpls=function(t){var e=this,n=t.ngModuleByPipeOrDirective;return On(t.files.map((function(t){return e._compileImplFile(t.fileName,n,t.directives,t.pipes,t.ngModules,t.injectables)})))},t.prototype._compileImplFile=function(t,e,n,r,i,a){var s=this,l=gd(md(t,!0)[1]),c=[],u=this._createOutputContext(hd(t,!0));if(c.push.apply(c,Object(o.g)(this._createSummary(t,n,r,i,a,u))),i.forEach((function(t){return s._compileModule(u,t)})),n.forEach((function(n){var r=s._metadataResolver.getDirectiveMetadata(n);if(r.isComponent){var i=e.get(n);if(!i)throw new Error("Internal Error: cannot determine the module for component "+cn(r.type)+"!");var o=s._styleCompiler.compileComponent(u,r);r.template.externalStylesheets.forEach((function(e){var n=s._styleCompiler.needsStyleShim(r);c.push(s._codegenStyles(t,r,e,n,l)),s._options.allowEmptyCodegenFiles&&c.push(s._codegenStyles(t,r,e,!n,l))}));s._compileComponent(u,r,i,i.transitiveModule.directives,o,l);s._compileComponentFactory(u,r,i,l)}})),u.statements.length>0||this._options.allowEmptyCodegenFiles){var p=this._codegenSourceModule(t,u);c.unshift(p)}return c},t.prototype._createSummary=function(t,e,n,r,i,a){var s=this,l=this._symbolResolver.getSymbolsOf(t).map((function(t){return s._symbolResolver.resolveSymbol(t)})),c=Object(o.g)(r.map((function(t){return{summary:s._metadataResolver.getNgModuleSummary(t.type.reference),metadata:s._metadataResolver.getNgModuleMetadata(t.type.reference)}})),e.map((function(t){return{summary:s._metadataResolver.getDirectiveSummary(t),metadata:s._metadataResolver.getDirectiveMetadata(t)}})),n.map((function(t){return{summary:s._metadataResolver.getPipeSummary(t),metadata:s._metadataResolver.getPipeMetadata(t)}})),i.map((function(t){return{summary:s._metadataResolver.getInjectableSummary(t.symbol),metadata:s._metadataResolver.getInjectableSummary(t.symbol).type}}))),u=this._options.enableSummariesForJit?this._createOutputContext(vd(t,!0)):null,p=function(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s=new bh(r,n,t);i.forEach((function(t){return s.addSummary({symbol:t.symbol,metadata:t.metadata})})),o.forEach((function(t){var e=t.summary;t.metadata;s.addSummary({symbol:e.type.reference,metadata:void 0,type:e})}));var l=s.serialize(a),c=l.json,u=l.exportAs;if(e){var p=new _h(e,r,n);o.forEach((function(t){var e=t.summary,n=t.metadata;p.addSourceType(e,n)})),s.unprocessedSymbolSummariesBySymbol.forEach((function(t){n.isLibraryFile(t.symbol.filePath)&&t.type&&p.addLibType(t.type)})),p.serialize(u)}return{json:c,exportAs:u}}(t,u,this._summaryResolver,this._symbolResolver,l,c,this._options.createExternalSymbolFactoryReexports),d=p.json;p.exportAs.forEach((function(t){a.statements.push(de(t.exportAs).set(a.importExpr(t.symbol)).toDeclStmt(null,[Ct.Exported]))}));var h=[new ch(t,yd(t),d)];return u&&h.push(this._codegenSourceModule(t,u)),h},t.prototype._compileModule=function(t,e){var n=[];if(this._options.locale){var r=this._options.locale.replace(/_/g,"-");n.push({token:en(this.reflector,Je.LOCALE_ID),useValue:r})}this._options.i18nFormat&&n.push({token:en(this.reflector,Je.TRANSLATIONS_FORMAT),useValue:this._options.i18nFormat}),this._ngModuleCompiler.compile(t,e,n)},t.prototype._compileComponentFactory=function(t,e,n,r){var i=this._metadataResolver.getHostComponentMetadata(e),o=this._compileComponent(t,i,n,[e.type],null,r).viewClassVar,a=hn(e.type.reference),s=[];for(var l in e.inputs){var c=e.inputs[l];s.push(new Bt(l,_e(c),!1))}var u=[];for(var l in e.outputs){c=e.outputs[l];u.push(new Bt(l,_e(c),!1))}t.statements.push(de(a).set(he(Je.createComponentFactory).callFn([_e(e.selector),t.importExpr(e.type.reference),de(o),new zt(s),new zt(u),ge(e.template.ngContentSelectors.map((function(t){return _e(t)})))])).toDeclStmt(fe(Je.ComponentFactory,[me(t.importExpr(e.type.reference))],[J.Const]),[Ct.Final,Ct.Exported]))},t.prototype._compileComponent=function(t,e,n,r,i,o){var a=this._parseTemplate(e,n,r),s=a.template,l=a.pipes,c=i?de(i.stylesVar):ge([]),u=this._viewCompiler.compileComponent(t,e,s,c,l);return i&&Oh(this._symbolResolver,i,this._styleCompiler.needsStyleShim(e),o),u},t.prototype._parseTemplate=function(t,e,n){var r=this;if(this._templateAstCache.has(t.type.reference))return this._templateAstCache.get(t.type.reference);var i=t.template.preserveWhitespaces,o=n.map((function(t){return r._metadataResolver.getDirectiveSummary(t.reference)})),a=e.transitiveModule.pipes.map((function(t){return r._metadataResolver.getPipeSummary(t.reference)})),s=this._templateParser.parse(t,t.template.htmlAst,o,a,e.schemas,Sn(e.type,t,t.template),i);return this._templateAstCache.set(t.type.reference,s),s},t.prototype._createOutputContext=function(t){var e=this;return{statements:[],genFilePath:t,importExpr:function(n,r,i){if(void 0===r&&(r=null),void 0===i&&(i=!0),!(n instanceof nn))throw new Error("Internal error: unknown identifier "+JSON.stringify(n));var o=e._symbolResolver.getTypeArity(n)||0,a=e._symbolResolver.getImportAs(n,i)||n,s=a.filePath,l=a.name,c=a.members,u=e._fileNameToModuleName(s,t),p=u===e._fileNameToModuleName(t,t)?null:u,d=r||[],h=o-d.length,f=d.concat(new Array(h).fill(st));return c.reduce((function(t,e){return t.prop(e)}),he(new At(p,l,null),f))},constantPool:new Ke}},t.prototype._fileNameToModuleName=function(t,e){return this._summaryResolver.getKnownModuleName(t)||this._symbolResolver.getKnownModuleName(t)||this._host.fileNameToModuleName(t,e)},t.prototype._codegenStyles=function(t,e,n,r,i){var o=this._createOutputContext(Eh(n.moduleUrl,r,i)),a=this._styleCompiler.compileStyles(o,e,n,r);return Oh(this._symbolResolver,a,r,i),this._codegenSourceModule(t,o)},t.prototype._codegenSourceModule=function(t,e){return new ch(t,e.genFilePath,e.statements)},t.prototype.listLazyRoutes=function(t,e){var n,r,i,a,s=this;if(t)return function t(e,n,r){var i,a;void 0===n&&(n=new Set);void 0===r&&(r=[]);if(n.has(e)||!e.name)return r;n.add(e);var l=uh(s._metadataResolver.getNgModuleMetadata(e,!0),s.reflector);try{for(var c=Object(o.h)(l),u=c.next();!u.done;u=c.next()){var p=u.value;r.push(p),t(p.referencedModule,n,r)}}catch(d){i={error:d}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(i)throw i.error}}return r}(dh(t,this.reflector).referencedModule);if(e){var l=[];try{for(var c=Object(o.h)(e.ngModules),u=c.next();!u.done;u=c.next()){var p=uh(u.value,this.reflector);try{for(var d=(i=void 0,Object(o.h)(p)),h=d.next();!h.done;h=d.next()){var f=h.value;l.push(f)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}}}catch(g){n={error:g}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}return l}throw new Error("Either route or analyzedModules has to be specified!")}}();function Ch(t){t.statements.push(he(Je.ComponentFactory).toStmt())}function Oh(t,e,n,r){e.dependencies.forEach((function(e){e.setValue(t.getStaticSymbol(Eh(e.moduleUrl,n,r),e.name))}))}function Eh(t,e,n){return t+(e?".shim":"")+".ngstyle"+n}function Sh(t,e,n,r){return Dh(function(t,e,n,r){var i=new Set,o=[],a=function(t){if(i.has(t)||!e.isSourceFile(t))return!1;i.add(t);var s=Ah(e,n,r,t);o.push(s),s.ngModules.forEach((function(t){t.transitiveModule.modules.forEach((function(t){return a(t.reference.filePath)}))}))};return t.forEach((function(t){return a(t)})),o}(t,e,n,r))}function kh(t,e,n,r){return jh(Sh(t,e,n,r))}function jh(t){if(t.symbolsMissingModule&&t.symbolsMissingModule.length)throw Ie(t.symbolsMissingModule.map((function(t){return"Cannot determine the module for class "+t.name+" in "+t.filePath+"! Add "+t.name+" to the NgModule to fix it."})).join("\n"));return t}function Ah(t,e,n,r){var i=[],o=[],a=[],s=[],l=e.hasDecorators(r),c=!1;return r.endsWith(".d.ts")&&!l||e.getSymbolsOf(r).forEach((function(r){var l=e.resolveSymbol(r).metadata;if(l&&"error"!==l.__symbolic){var u=!1;if("class"===l.__symbolic)if(n.isDirective(r))u=!0,i.push(r);else if(n.isPipe(r))u=!0,o.push(r);else if(n.isNgModule(r)){var p=n.getNgModuleMetadata(r,!1);p&&(u=!0,s.push(p))}else if(n.isInjectable(r)){u=!0;var d=n.getInjectableMetadata(r,null,!1);d&&a.push(d)}u||(c=c||function(t,e){var n=!1,r=function(){function e(){}return e.prototype.visitArray=function(t,e){var n=this;t.forEach((function(t){return Ee(t,n,e)}))},e.prototype.visitStringMap=function(t,e){var n=this;Object.keys(t).forEach((function(r){return Ee(t[r],n,e)}))},e.prototype.visitPrimitive=function(t,e){},e.prototype.visitOther=function(e,r){e instanceof nn&&!t.isSourceFile(e.filePath)&&(n=!0)},e}();return Ee(e,new r,null),n}(t,l))}})),{fileName:r,directives:i,pipes:o,ngModules:s,injectables:a,exportsNonSourceFiles:c}}function Dh(t){var e=[],n=new Map,r=new Set;t.forEach((function(t){t.ngModules.forEach((function(t){e.push(t),t.declaredDirectives.forEach((function(e){return n.set(e.reference,t)})),t.declaredPipes.forEach((function(e){return n.set(e.reference,t)}))})),t.directives.forEach((function(t){return r.add(t)})),t.pipes.forEach((function(t){return r.add(t)}))}));var i=[];return r.forEach((function(t){n.has(t)||i.push(t)})),{ngModules:e,ngModuleByPipeOrDirective:n,symbolsMissingModule:i,files:t}}function Th(t){return jh(Dh(t))}var Ph="ngFormattedMessage";function Ih(t,e){if(void 0===e&&(e=0),!t)return"";var n=t.position?t.position.fileName+"("+(t.position.line+1)+","+(t.position.column+1)+")":"",r=n&&0!==e?" at "+n:"",i=""+(n&&0===e?n+": ":"")+t.message+r;return""+function t(e){if(e<=0)return"";if(e<6)return[""," "," "," "," "," "][e];var n=t(Math.floor(e/2));return n+n+(e%2==1?" ":"")}(e)+i+(t.next&&"\n"+Ih(t.next,e+2)||"")}var Rh="@angular/core",Mh=/^\$.*\$$/,Nh={__symbolic:"ignore"},Fh="useValue",Lh="provide",Vh=new Set([Fh,"useFactory","data","id","loadChildren"]);function Bh(t){return t&&"ignore"==t.__symbolic}var zh=function(){function t(t,e,n,r,i){var o=this;void 0===n&&(n=[]),void 0===r&&(r=[]),this.summaryResolver=t,this.symbolResolver=e,this.errorRecorder=i,this.annotationCache=new Map,this.shallowAnnotationCache=new Map,this.propertyCache=new Map,this.parameterCache=new Map,this.methodCache=new Map,this.staticCache=new Map,this.conversionMap=new Map,this.resolvedExternalReferences=new Map,this.annotationForParentClassWithSummaryKind=new Map,this.initializeConversionMap(),n.forEach((function(t){return o._registerDecoratorOrConstructor(o.getStaticSymbol(t.filePath,t.name),t.ctor)})),r.forEach((function(t){return o._registerFunction(o.getStaticSymbol(t.filePath,t.name),t.fn)})),this.annotationForParentClassWithSummaryKind.set(sn.Directive,[P,M]),this.annotationForParentClassWithSummaryKind.set(sn.Pipe,[N]),this.annotationForParentClassWithSummaryKind.set(sn.NgModule,[z]),this.annotationForParentClassWithSummaryKind.set(sn.Injectable,[H,N,P,M,z])}return t.prototype.componentModuleUrl=function(t){var e=this.findSymbolDeclaration(t);return this.symbolResolver.getResourcePath(e)},t.prototype.resolveExternalReference=function(t,e){var n=void 0;if(!e){n=t.moduleName+":"+t.name;var r=this.resolvedExternalReferences.get(n);if(r)return r}var i=this.symbolResolver.getSymbolByModule(t.moduleName,t.name,e),o=this.findSymbolDeclaration(i);return e||(this.symbolResolver.recordModuleNameForFileName(i.filePath,t.moduleName),this.symbolResolver.recordImportAs(o,i)),n&&this.resolvedExternalReferences.set(n,o),o},t.prototype.findDeclaration=function(t,e,n){return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(t,e,n))},t.prototype.tryFindDeclaration=function(t,e,n){var r=this;return this.symbolResolver.ignoreErrorsFor((function(){return r.findDeclaration(t,e,n)}))},t.prototype.findSymbolDeclaration=function(t){var e=this.symbolResolver.resolveSymbol(t);if(e){var n=e.metadata;if(n&&"resolved"===n.__symbolic&&(n=n.symbol),n instanceof nn)return this.findSymbolDeclaration(e.metadata)}return t},t.prototype.tryAnnotations=function(t){var e=this.errorRecorder;this.errorRecorder=function(t,e){};try{return this.annotations(t)}finally{this.errorRecorder=e}},t.prototype.annotations=function(t){var e=this;return this._annotations(t,(function(t,n){return e.simplify(t,n)}),this.annotationCache)},t.prototype.shallowAnnotations=function(t){var e=this;return this._annotations(t,(function(t,n){return e.simplify(t,n,!0)}),this.shallowAnnotationCache)},t.prototype._annotations=function(t,e,n){var r=n.get(t);if(!r){r=[];var i=this.getTypeMetadata(t),a=this.findParentType(t,i);if(a){var s=this.annotations(a);r.push.apply(r,Object(o.g)(s))}var l=[];if(i.decorators&&(l=e(t,i.decorators))&&r.push.apply(r,Object(o.g)(l)),a&&!this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(a.filePath)){var c=this.summaryResolver.resolveSummary(a);if(c&&c.type){var u=this.annotationForParentClassWithSummaryKind.get(c.type.summaryKind);u.some((function(t){return l.some((function(e){return t.isTypeOf(e)}))}))||this.reportError(nf(Uh("Class "+t.name+" in "+t.filePath+" extends from a "+sn[c.type.summaryKind]+" in another compilation unit without duplicating the decorator",void 0,"Please add a "+u.map((function(t){return t.ngMetadataName})).join(" or ")+" decorator to the class"),t),t)}}n.set(t,r.filter((function(t){return!!t})))}return r},t.prototype.propMetadata=function(t){var e=this,n=this.propertyCache.get(t);if(!n){var r=this.getTypeMetadata(t);n={};var i=this.findParentType(t,r);if(i){var a=this.propMetadata(i);Object.keys(a).forEach((function(t){n[t]=a[t]}))}var s=r.members||{};Object.keys(s).forEach((function(r){var i=s[r].find((function(t){return"property"==t.__symbolic||"method"==t.__symbolic})),a=[];n[r]&&a.push.apply(a,Object(o.g)(n[r])),n[r]=a,i&&i.decorators&&a.push.apply(a,Object(o.g)(e.simplify(t,i.decorators)))})),this.propertyCache.set(t,n)}return n},t.prototype.parameters=function(t){var e=this;if(!(t instanceof nn))return this.reportError(new Error("parameters received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),[];try{var n=this.parameterCache.get(t);if(!n){var r=this.getTypeMetadata(t),i=this.findParentType(t,r),a=r?r.members:null,s=a?a.__ctor__:null;if(s){var l=s.find((function(t){return"constructor"==t.__symbolic})),c=l.parameters||[],u=this.simplify(t,l.parameterDecorators||[]);n=[],c.forEach((function(r,i){var a=[],s=e.trySimplify(t,r);s&&a.push(s);var l=u?u[i]:null;l&&a.push.apply(a,Object(o.g)(l)),n.push(a)}))}else i&&(n=this.parameters(i));n||(n=[]),this.parameterCache.set(t,n)}return n}catch(p){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+p),p}},t.prototype._methodNames=function(t){var e=this.methodCache.get(t);if(!e){var n=this.getTypeMetadata(t);e={};var r=this.findParentType(t,n);if(r){var i=this._methodNames(r);Object.keys(i).forEach((function(t){e[t]=i[t]}))}var o=n.members||{};Object.keys(o).forEach((function(t){var n=o[t].some((function(t){return"method"==t.__symbolic}));e[t]=e[t]||n})),this.methodCache.set(t,e)}return e},t.prototype._staticMembers=function(t){var e=this.staticCache.get(t);if(!e){var n=this.getTypeMetadata(t).statics||{};e=Object.keys(n),this.staticCache.set(t,e)}return e},t.prototype.findParentType=function(t,e){var n=this.trySimplify(t,e.extends);if(n instanceof nn)return n},t.prototype.hasLifecycleHook=function(t,e){t instanceof nn||this.reportError(new Error("hasLifecycleHook received "+JSON.stringify(t)+" which is not a StaticSymbol"),t);try{return!!this._methodNames(t)[e]}catch(n){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+n),n}},t.prototype.guards=function(t){var e,n;if(!(t instanceof nn))return this.reportError(new Error("guards received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),{};var r=this._staticMembers(t),i={};try{for(var a=Object(o.h)(r),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.endsWith("TypeGuard")){var c=l.substr(0,l.length-"TypeGuard".length),u=void 0;c.endsWith("UseIf")?(c=l.substr(0,c.length-"UseIf".length),u="UseIf"):u=this.getStaticSymbol(t.filePath,t.name,[l]),i[c]=u}}}catch(p){e={error:p}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return i},t.prototype._registerDecoratorOrConstructor=function(t,e){this.conversionMap.set(t,(function(t,n){return new(e.bind.apply(e,Object(o.g)([void 0],n)))}))},t.prototype._registerFunction=function(t,e){this.conversionMap.set(t,(function(t,n){return e.apply(void 0,n)}))},t.prototype.initializeConversionMap=function(){this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Injectable"),H),this.injectionToken=this.findDeclaration(Rh,"InjectionToken"),this.opaqueToken=this.findDeclaration(Rh,"OpaqueToken"),this.ROUTES=this.tryFindDeclaration("@angular/router","ROUTES"),this.ANALYZE_FOR_ENTRY_COMPONENTS=this.findDeclaration(Rh,"ANALYZE_FOR_ENTRY_COMPONENTS"),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Inject"),E),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Attribute"),k),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChild"),A),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChildren"),j),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChild"),T),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChildren"),D),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Input"),F),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Output"),L),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Pipe"),N),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostBinding"),V),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostListener"),B),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Directive"),P),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Component"),M),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"NgModule"),z),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q)},t.prototype.getStaticSymbol=function(t,e,n){return this.symbolResolver.getStaticSymbol(t,e,n)},t.prototype.trySimplify=function(t,e){var n=this.errorRecorder;this.errorRecorder=function(t,e){};var r=this.simplify(t,e);return this.errorRecorder=n,r},t.prototype.simplify=function(t,e,n){void 0===n&&(n=!1);var r,i=this,a=Jh.empty,s=new Map;try{r=function t(e,n,r,l){function c(t){var e=i.symbolResolver.resolveSymbol(t);return e?e.metadata:null}function u(n){return t(e,n,r,0)}function p(n,o){if(n===e)return t(n,o,r+1,l);try{return t(n,o,r+1,l)}catch(c){if(!Gh(c))throw c;var a=c.chain?"references '"+c.symbol.name+"'":function(t){if(t.summary)return t.summary;switch(t.message){case qh:if(t.context&&t.context.className)return"references non-exported class "+t.context.className;break;case Wh:return"is not initialized";case Yh:return"is a destructured variable";case Kh:return"could not be resolved";case Qh:return t.context&&t.context.name?"calls '"+t.context.name+"'":"calls a function";case Xh:return t.context&&t.context.name?"references local variable "+t.context.name:"references a local variable"}return"contains the error"}(c),s={message:"'"+n.name+"' "+a,position:c.position,next:c.chain};i.error({message:c.message,advise:c.advise,context:c.context,chain:s,symbol:n},e)}}function d(n){var h,f,m,g;if($h(n))return n;if(n instanceof Array){var y=[];try{for(var v=Object(o.h)(n),b=v.next();!b.done;b=v.next()){var _=b.value;if(_&&"spread"===_.__symbolic){var w=u(_.expression);if(Array.isArray(w)){try{for(var x=(m=void 0,Object(o.h)(w)),C=x.next();!C.done;C=x.next()){var O=C.value;y.push(O)}}catch(G){m={error:G}}finally{try{C&&!C.done&&(g=x.return)&&g.call(x)}finally{if(m)throw m.error}}continue}}var E=d(_);Bh(E)||y.push(E)}}catch(q){h={error:q}}finally{try{b&&!b.done&&(f=v.return)&&f.call(v)}finally{if(h)throw h.error}}return y}if(n instanceof nn)return n===i.injectionToken||i.conversionMap.has(n)||l>0&&!n.members.length?n:null!=(N=c(S=n))?p(S,N):S;if(n){if(n.__symbolic){var S=void 0;switch(n.__symbolic){case"binop":var k=d(n.left);if(Bh(k))return k;var j=d(n.right);if(Bh(j))return j;switch(n.operator){case"&&":return k&&j;case"||":return k||j;case"|":return k|j;case"^":return k^j;case"&":return k&j;case"==":return k==j;case"!=":return k!=j;case"===":return k===j;case"!==":return k!==j;case"<":return k":return k>j;case"<=":return k<=j;case">=":return k>=j;case"<<":return k<>":return k>>j;case"+":return k+j;case"-":return k-j;case"*":return k*j;case"/":return k/j;case"%":return k%j}return null;case"if":var A=d(n.condition);return d(A?n.thenExpression:n.elseExpression);case"pre":var D=d(n.operand);if(Bh(D))return D;switch(n.operator){case"+":return D;case"-":return-D;case"!":return!D;case"~":return~D}return null;case"index":var T=u(n.expression),P=u(n.index);return T&&$h(P)?T[P]:null;case"select":var I=n.member,R=e,M=d(n.expression);if(M instanceof nn){var N,F=M.members.concat(I);return null!=(N=c(R=i.getStaticSymbol(M.filePath,M.name,F)))?p(R,N):R}return M&&$h(I)?p(R,M[I]):null;case"reference":var L=n.name,V=a.resolve(L);if(V!=Jh.missing)return V;break;case"resolved":try{return d(n.symbol)}catch(W){throw Gh(W)&&null!=n.fileName&&null!=n.line&&null!=n.character&&(W.position={fileName:n.fileName,line:n.line,column:n.character}),W}case"class":case"function":return e;case"new":case"call":if((S=t(e,n.expression,r+1,0))instanceof nn){if(S===i.injectionToken||S===i.opaqueToken)return e;var B=n.arguments||[],z=i.conversionMap.get(S);if(z){var H=B.map((function(t){return p(e,t)})).map((function(t){return Bh(t)?void 0:t}));return z(e,H)}return function(t,n,l,c){if(n&&"function"==n.__symbolic){s.get(t)&&i.error({message:"Recursion is not supported",summary:"called '"+t.name+"' recursively",value:n},t);try{var u=n.value;if(u&&(0!=r||"error"!=u.__symbolic)){var h=n.parameters,f=n.defaults;l=l.map((function(t){return p(e,t)})).map((function(t){return Bh(t)?void 0:t})),f&&f.length>l.length&&l.push.apply(l,Object(o.g)(f.slice(l.length).map((function(t){return d(t)})))),s.set(t,!0);for(var m=Jh.build(),g=0;g0?new tf(e):t.empty}}},t.missing={},t.empty={resolve:function(e){return t.missing}},t}(),tf=function(t){function e(e){var n=t.call(this)||this;return n.bindings=e,n}return Object(o.c)(e,t),e.prototype.resolve=function(t){return this.bindings.has(t)?this.bindings.get(t):Jh.missing},e}(Jh);function ef(t,e){return{message:""+function(t,e){switch(t){case qh:if(e&&e.className)return"References to a non-exported class are not supported in decorators but "+e.className+" was referenced.";break;case Wh:return"Only initialized variables and constants can be referenced in decorators because the value of this variable is needed by the template compiler";case Yh:return"Referencing an exported destructured variable or constant is not supported in decorators and this value is needed by the template compiler";case Kh:if(e&&e.typeName)return"Could not resolve type "+e.typeName;break;case Qh:return e&&e.name?"Function calls are not supported in decorators but '"+e.name+"' was called":"Function calls are not supported in decorators";case Xh:if(e&&e.name)return"Reference to a local (non-exported) symbols are not supported in decorators but '"+e.name+"' was referenced";break;case Zh:return"Function expressions are not supported in decorators"}return t}(t.message,t.context)+(t.symbol?" in '"+t.symbol.name+"'":""),position:t.position,next:t.next?ef(t.next,e):e?{message:e}:void 0}}function nf(t,e){if(Gh(t)){var n=t.position;return function(t){var e=Ie(Ih(t)+".");return e[Ph]=!0,e.chain=t,e.position=t.position,e}(ef({message:"Error during template compile of '"+e.name+"'",position:n,next:{message:t.message,next:t.chain,context:t.context,symbol:t.symbol}},t.advise||function(t,e){switch(t){case qh:if(e&&e.className)return"Consider exporting '"+e.className+"'";break;case Yh:return"Consider simplifying to avoid destructuring";case Xh:if(e&&e.name)return"Consider exporting '"+e.name+"'";break;case Zh:return"Consider changing the function expression into an exported function"}}(t.message,t.context)))}return t}var rf=function(){function t(t,e){this.host=t,this.staticSymbolCache=e,this.summaryCache=new Map,this.loadedFilePaths=new Map,this.importAs=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.isLibraryFile=function(t){return!this.host.isSourceFile(fd(t))},t.prototype.toSummaryFileName=function(t,e){return this.host.toSummaryFileName(t,e)},t.prototype.fromSummaryFileName=function(t,e){return this.host.fromSummaryFileName(t,e)},t.prototype.resolveSummary=function(t){var e=t.members.length?this.staticSymbolCache.get(t.filePath,t.name):t,n=this.summaryCache.get(e);return n||(this._loadSummaryFile(t.filePath),n=this.summaryCache.get(t)),e===t&&n||null},t.prototype.getSymbolsOf=function(t){return this._loadSummaryFile(t)?Array.from(this.summaryCache.keys()).filter((function(e){return e.filePath===t})):null},t.prototype.getImportAs=function(t){return t.assertNoMembers(),this.importAs.get(t)},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.addSummary=function(t){this.summaryCache.set(t.symbol,t)},t.prototype._loadSummaryFile=function(t){var e=this,n=this.loadedFilePaths.get(t);if(null!=n)return n;var r=null;if(this.isLibraryFile(t)){var i=yd(t);try{r=this.host.loadSummary(i)}catch(c){throw console.error("Error loading summary file "+i),c}}if(n=null!=r,this.loadedFilePaths.set(t,n),r){var o=function(t,e,n,r){return new wh(t,e).deserialize(n,r)}(this.staticSymbolCache,this,t,r),a=o.moduleName,s=o.summaries,l=o.importAs;s.forEach((function(t){return e.summaryCache.set(t.symbol,t)})),a&&this.knownFileNameToModuleNames.set(t,a),l.forEach((function(t){e.importAs.set(t.symbol,t.importAs)}))}return n},t}();function of(t){return{resolve:function(e,n){var r=t.resourceNameToFileName(n,e);if(!r)throw Ie("Couldn't resolve resource "+n+" from "+e);return r}}}var af=function(){},sf=function(){function t(){this._summaries=new Map}return t.prototype.isLibraryFile=function(){return!1},t.prototype.toSummaryFileName=function(t){return t},t.prototype.fromSummaryFileName=function(t){return t},t.prototype.resolveSummary=function(t){return this._summaries.get(t)||null},t.prototype.getSymbolsOf=function(){return[]},t.prototype.getImportAs=function(t){return t},t.prototype.getKnownModuleName=function(t){return null},t.prototype.addSummary=function(t){this._summaries.set(t.symbol,t)},t}();function lf(t,e,n,r,i){for(var o=r.createChildWihtLocalVars(),a=0;ai();case nt.BiggerEquals:return r()>=i();default:throw new Error("Unknown operator "+t.operator)}},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.name]},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.index.visitExpression(this,e)]},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e)},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r={};return t.entries.forEach((function(t){return r[t.key]=t.value.visitExpression(n,e)})),r},t.prototype.visitCommaExpr=function(t,e){var n=this.visitAllExpressions(t.parts,e);return n[n.length-1]},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map((function(t){return t.visitExpression(n,e)}))},t.prototype.visitAllStatements=function(t,e){for(var n=0;n0&&(n=function(t,e){var n=Cf(encodeURI(e)),r=Cf(t);if(null!=n[wf.Scheme])return Of(n);n[wf.Scheme]=r[wf.Scheme];for(var i=wf.Scheme;i<=wf.Port;i++)null==n[i]&&(n[i]=r[i]);if("/"==n[wf.Path][0])return Of(n);var o=r[wf.Path];null==o&&(o="/");var a=o.lastIndexOf("/");return o=o.substring(0,a+1)+n[wf.Path],n[wf.Path]=o,Of(n)}(t,n));var r=Cf(n),i=this._packagePrefix;if(null!=i&&null!=r&&"package"==r[wf.Scheme]){var o=r[wf.Path];return(i=i.replace(/\/+$/,""))+"/"+(o=o.replace(/^\/+/,""))}return n},t}();var wf,xf=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Cf(t){return t.match(xf)}function Of(t){var e,n,r,i,o,a,s,l,c=t[wf.Path];return c=null==c?"":function(t){if("/"==t)return"/";for(var e="/"==t[0]?"/":"",n="/"===t[t.length-1]?"/":"",r=t.split("/"),i=[],o=0,a=0;a0?i.pop():o++;break;default:i.push(s)}}if(""==e){for(;o-- >0;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+n}(c),t[wf.Path]=c,e=t[wf.Scheme],n=t[wf.UserInfo],r=t[wf.Domain],i=t[wf.Port],o=c,a=t[wf.QueryData],s=t[wf.Fragment],l=[],null!=e&&l.push(e+":"),null!=r&&(l.push("//"),null!=n&&l.push(n+"@"),l.push(r),null!=i&&l.push(":"+i)),null!=o&&l.push(o),null!=a&&l.push("?"+a),null!=s&&l.push("#"+s),l.join("")}!function(t){t[t.Scheme=1]="Scheme",t[t.UserInfo=2]="UserInfo",t[t.Domain=3]="Domain",t[t.Port=4]="Port",t[t.Path=5]="Path",t[t.QueryData=6]="QueryData",t[t.Fragment=7]="Fragment"}(wf||(wf={}));(function(){function t(t,e,n,r){this.host=t,this.staticSymbolResolver=e,this.messageBundle=n,this.metadataResolver=r}t.prototype.extract=function(t){var e=this,n=kh(t,this.host,this.staticSymbolResolver,this.metadataResolver),r=n.files,i=n.ngModules;return Promise.all(i.map((function(t){return e.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)}))).then((function(){var t=[];if(r.forEach((function(n){var r=[];n.directives.forEach((function(t){var n=e.metadataResolver.getDirectiveMetadata(t);n&&n.isComponent&&r.push(n)})),r.forEach((function(n){var r=n.template.template,i=n.template.templateUrl,a=Co.fromArray(n.template.interpolation);t.push.apply(t,Object(o.g)(e.messageBundle.updateFromTemplate(r,i,a)))}))})),t.length)throw new Error(t.map((function(t){return t.toString()})).join("\n"));return e.messageBundle}))},t.create=function(e,n){var r=new Js,i=of(e),o=new rn,a=new rf(e,o),s=new mh(e,o,a),l=new zh(a,s),c=new Ep({defaultEncapsulation:v.Emulated,useJit:!1}),u=new kp({get:function(t){return e.loadResource(t)}},i,r,c),p=new ru,d=new Ed(c,r,new Vd(l),new Dp(l),new zd(l),a,p,u,console,o,l),h=new sh(r,[],{},n);return{extractor:new t(e,s,h,d),staticReflector:l}}})(),function(){function t(t){this.directiveMatcher=t}t.prototype.bind=function(t){if(!t.template)throw new Error("Binding without a template not yet supported");var e=Ef.apply(t.template),n=Sf.apply(t.template,this.directiveMatcher),r=n.directives,i=n.bindings,o=n.references,a=kf.apply(t.template,e),s=a.expressions,l=a.symbols,c=a.nestingLevel,u=a.usedPipes;return new jf(t,r,i,o,s,l,c,u)}}();var Ef=function(){function t(t){this.parentScope=t,this.namedEntities=new Map,this.childScopes=new Map}return t.apply=function(e){var n=new t;return n.ingest(e),n},t.prototype.ingest=function(t){var e=this;t instanceof Sr?(t.variables.forEach((function(t){return e.visitVariable(t)})),t.children.forEach((function(t){return t.visit(e)}))):t.forEach((function(t){return t.visit(e)}))},t.prototype.visitElement=function(t){var e=this;t.references.forEach((function(t){return e.visitReference(t)})),t.children.forEach((function(t){return t.visit(e)}))},t.prototype.visitTemplate=function(e){var n=this;e.references.forEach((function(t){return n.visitReference(t)}));var r=new t(this);r.ingest(e),this.childScopes.set(e,r)},t.prototype.visitVariable=function(t){this.maybeDeclare(t)},t.prototype.visitReference=function(t){this.maybeDeclare(t)},t.prototype.visitContent=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitText=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitIcu=function(t){},t.prototype.maybeDeclare=function(t){this.namedEntities.has(t.name)||this.namedEntities.set(t.name,t)},t.prototype.lookup=function(t){return this.namedEntities.has(t)?this.namedEntities.get(t):void 0!==this.parentScope?this.parentScope.lookup(t):null},t.prototype.getChildScope=function(t){var e=this.childScopes.get(t);if(void 0===e)throw new Error("Assertion error: child scope for "+t+" not found");return e},t}(),Sf=function(){function t(t,e,n,r){this.matcher=t,this.directives=e,this.bindings=n,this.references=r}return t.apply=function(e,n){var r=new Map,i=new Map,o=new Map;return new t(n,r,i,o).ingest(e),{directives:r,bindings:i,references:o}},t.prototype.ingest=function(t){var e=this;t.forEach((function(t){return t.visit(e)}))},t.prototype.visitElement=function(t){this.visitElementOrTemplate(t.name,t)},t.prototype.visitTemplate=function(t){this.visitElementOrTemplate("ng-template",t)},t.prototype.visitElementOrTemplate=function(t,e){var n=this,r=new w;r.setElement(t);var i=oo(e);Object.getOwnPropertyNames(i).forEach((function(t){var e=i[t];(r.addAttribute(t,e),"class"===t.toLowerCase())&&e.trim().split(/\s+/g).forEach((function(t){return r.addClassName(t)}))}));var o=[];this.matcher.match(r,(function(t,e){return o.push(e)})),o.length>0&&this.directives.set(e,o),e.references.forEach((function(t){var r=null;if(""===t.value.trim())r=o.find((function(t){return t.isComponent}))||null;else if(null===(r=o.find((function(e){return null!==e.exportAs&&e.exportAs.some((function(e){return e===t.value}))}))||null))throw new Error("Assertion error: failed to find directive with exportAs: "+t.value);null!==r?n.references.set(t,{directive:r,node:e}):n.references.set(t,e)}));var a=function(t){var r=o.find((function(e){return e.inputs.hasOwnProperty(t.name)}));void 0!==r?n.bindings.set(t,r):n.bindings.set(t,e)};e.attributes.forEach(a),e.inputs.forEach(a),e.outputs.forEach(a),e instanceof Sr&&e.templateAttrs.forEach(a),e.children.forEach((function(t){return t.visit(n)}))},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundAttributeOrEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){},t}(),kf=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this)||this;return l.bindings=e,l.symbols=n,l.usedPipes=r,l.nestingLevel=i,l.scope=o,l.template=a,l.level=s,l.pipesUsed=[],l.visitNode=function(t){return t.visit(l)},l}return Object(o.c)(e,t),e.apply=function(t,n){var r=new Map,i=new Map,o=new Map,a=new Set;return new e(r,i,a,o,n,t instanceof Sr?t:null,0).ingest(t),{expressions:r,symbols:i,nestingLevel:o,usedPipes:a}},e.prototype.ingest=function(t){t instanceof Sr?(t.variables.forEach(this.visitNode),t.children.forEach(this.visitNode),this.nestingLevel.set(t,this.level)):t.forEach(this.visitNode)},e.prototype.visitElement=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.children.forEach(this.visitNode)},e.prototype.visitTemplate=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.templateAttrs.forEach(this.visitNode),t.references.forEach(this.visitNode);var n=this.scope.getChildScope(t);new e(this.bindings,this.symbols,this.usedPipes,this.nestingLevel,n,t,this.level+1).ingest(t)},e.prototype.visitVariable=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitReference=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitText=function(t){},e.prototype.visitContent=function(t){},e.prototype.visitTextAttribute=function(t){},e.prototype.visitIcu=function(t){},e.prototype.visitBoundAttribute=function(t){t.value.visit(this)},e.prototype.visitBoundEvent=function(t){t.handler.visit(this)},e.prototype.visitBoundText=function(t){t.value.visit(this)},e.prototype.visitPipe=function(e,n){return this.usedPipes.add(e.name),t.prototype.visitPipe.call(this,e,n)},e.prototype.visitPropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyRead.call(this,e,n)},e.prototype.visitSafePropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafePropertyRead.call(this,e,n)},e.prototype.visitPropertyWrite=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyWrite.call(this,e,n)},e.prototype.visitMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitMethodCall.call(this,e,n)},e.prototype.visitSafeMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafeMethodCall.call(this,e,n)},e.prototype.maybeMap=function(t,e,n){if(e.receiver instanceof $o){var r=this.scope.lookup(n);null!==r&&this.bindings.set(e,r)}},e}(_a),jf=function(){function t(t,e,n,r,i,o,a,s){this.target=t,this.directives=e,this.bindings=n,this.references=r,this.exprTargets=i,this.symbols=o,this.nestingLevel=a,this.usedPipes=s}return t.prototype.getDirectivesOfNode=function(t){return this.directives.get(t)||null},t.prototype.getReferenceTarget=function(t){return this.references.get(t)||null},t.prototype.getConsumerOfBinding=function(t){return this.bindings.get(t)||null},t.prototype.getExpressionTarget=function(t){return this.exprTargets.get(t)||null},t.prototype.getTemplateOfSymbol=function(t){return this.symbols.get(t)||null},t.prototype.getNestingLevel=function(t){return this.nestingLevel.get(t)||0},t.prototype.getUsedDirectives=function(){var t=new Set;return this.directives.forEach((function(e){return e.forEach((function(e){return t.add(e)}))})),Array.from(t.values())},t.prototype.getUsedPipes=function(){return Array.from(this.usedPipes)},t}();!function(t){(t.ng||(t.ng={})).ɵcompilerFacade=new pp}(qe);var Af,Df=n("Ip0R"),Tf=n("ZYjt"),Pf=((Af=new Map).set(Je.ANALYZE_FOR_ENTRY_COMPONENTS,i.a),Af.set(Je.ElementRef,i.u),Af.set(Je.NgModuleRef,i.O),Af.set(Je.ViewContainerRef,i.pb),Af.set(Je.ChangeDetectorRef,i.k),Af.set(Je.Renderer2,i.Z),Af.set(Je.QueryList,i.X),Af.set(Je.TemplateRef,i.jb),Af.set(Je.CodegenComponentFactoryResolver,i.Cb),Af.set(Je.ComponentFactoryResolver,i.p),Af.set(Je.ComponentFactory,i.o),Af.set(Je.ComponentRef,i.q),Af.set(Je.NgModuleFactory,i.M),Af.set(Je.createModuleFactory,i.Ob),Af.set(Je.moduleDef,i.bc),Af.set(Je.moduleProviderDef,i.cc),Af.set(Je.RegisterModuleFactoryFn,i.lc),Af.set(Je.Injector,i.F),Af.set(Je.ViewEncapsulation,i.qb),Af.set(Je.ChangeDetectionStrategy,i.j),Af.set(Je.SecurityContext,i.db),Af.set(Je.LOCALE_ID,i.J),Af.set(Je.TRANSLATIONS_FORMAT,i.ib),Af.set(Je.inlineInterpolate,i.Vb),Af.set(Je.interpolate,i.Wb),Af.set(Je.EMPTY_ARRAY,i.Eb),Af.set(Je.EMPTY_MAP,i.Fb),Af.set(Je.Renderer,i.Y),Af.set(Je.viewDef,i.pc),Af.set(Je.elementDef,i.Rb),Af.set(Je.anchorDef,i.Mb),Af.set(Je.textDef,i.nc),Af.set(Je.directiveDef,i.Qb),Af.set(Je.providerDef,i.jc),Af.set(Je.queryDef,i.kc),Af.set(Je.pureArrayDef,i.fc),Af.set(Je.pureObjectDef,i.hc),Af.set(Je.purePipeDef,i.ic),Af.set(Je.pipeDef,i.gc),Af.set(Je.nodeValue,i.ec),Af.set(Je.ngContentDef,i.dc),Af.set(Je.unwrapValue,i.oc),Af.set(Je.createRendererType2,i.Pb),Af.set(Je.createComponentFactory,i.Nb),Af),If=function(){function t(){this.reflectionCapabilities=new i.Ib}return t.prototype.componentModuleUrl=function(t,e){var n,r=e.moduleId;if("string"==typeof r)return(n=Cf(r))&&n[wf.Scheme]||""?r:"package:"+r;if(null!=r)throw Ie('moduleId should be a string in "'+Object(i.mc)(t)+"\". See https://goo.gl/wIDDiL for more information.\nIf you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");return"./"+Object(i.mc)(t)},t.prototype.parameters=function(t){return this.reflectionCapabilities.parameters(t)},t.prototype.tryAnnotations=function(t){return this.annotations(t)},t.prototype.annotations=function(t){return this.reflectionCapabilities.annotations(t)},t.prototype.shallowAnnotations=function(t){throw new Error("Not supported in JIT mode")},t.prototype.propMetadata=function(t){return this.reflectionCapabilities.propMetadata(t)},t.prototype.hasLifecycleHook=function(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)},t.prototype.guards=function(t){return this.reflectionCapabilities.guards(t)},t.prototype.resolveExternalReference=function(t){return Pf.get(t)||t.runtime},t}();var Rf=new i.E("ErrorCollector"),Mf={provide:i.T,useValue:"/"},Nf={get:function(t){throw new Error("No ResourceLoader implementation has been provided. Can't read the url \""+t+'"')}},Ff=new i.E("HtmlParser"),Lf=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this._metadataResolver=e,this._delegate=new mf(e,n,r,i,o,a,s,l,c,u,this.getExtraNgModuleProviders.bind(this)),this.injector=t}return t.prototype.getExtraNgModuleProviders=function(){return[this._metadataResolver.getProviderMetadata(new Cn(i.l,{useValue:this}))]},t.prototype.compileModuleSync=function(t){return this._delegate.compileModuleSync(t)},t.prototype.compileModuleAsync=function(t){return this._delegate.compileModuleAsync(t)},t.prototype.compileModuleAndAllComponentsSync=function(t){var e=this._delegate.compileModuleAndAllComponentsSync(t);return{ngModuleFactory:e.ngModuleFactory,componentFactories:e.componentFactories}},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._delegate.compileModuleAndAllComponentsAsync(t).then((function(t){return{ngModuleFactory:t.ngModuleFactory,componentFactories:t.componentFactories}}))},t.prototype.loadAotSummaries=function(t){this._delegate.loadAotSummaries(t)},t.prototype.hasAotSummary=function(t){return this._delegate.hasAotSummary(t)},t.prototype.getComponentFactory=function(t){return this._delegate.getComponentFactory(t)},t.prototype.clearCache=function(){this._delegate.clearCache()},t.prototype.clearCacheFor=function(t){this._delegate.clearCacheFor(t)},t.prototype.getModuleId=function(t){var e=this._metadataResolver.getNgModuleMetadata(t);return e&&e.id||void 0},t}(),Vf=[{provide:bf,useValue:new If},{provide:up,useValue:Nf},{provide:sf,deps:[]},{provide:af,useExisting:sf},{provide:i.Db,deps:[]},{provide:Tc,deps:[]},{provide:qc,deps:[Tc]},{provide:Ff,useClass:Js,deps:[]},{provide:od,useFactory:function(t,e,n,r,o){var a=(e=e||"")?r.missingTranslation:i.K.Ignore;return new od(t,e,n,a,o)},deps:[Ff,[new i.R,new i.C(i.hb)],[new i.R,new i.C(i.ib)],[Ep],[i.Db]]},{provide:Js,useExisting:od},{provide:pc,deps:[Ep,bf,qc,Xc,od,i.Db]},{provide:Bo,useClass:Bo,deps:[]},{provide:kp,deps:[up,_f,Js,Ep]},{provide:Ed,deps:[Ep,Js,Vd,Dp,zd,af,Xc,kp,i.Db,[i.R,rn],bf,[i.R,Rf]]},Mf,{provide:xs,deps:[_f]},{provide:Yd,deps:[bf]},{provide:Ld,deps:[bf]},{provide:Ep,useValue:new Ep},{provide:i.l,useClass:Lf,deps:[i.F,Ed,pc,xs,Yd,Ld,af,bf,Bo,Ep,i.Db]},{provide:ru,deps:[]},{provide:Xc,useExisting:ru},{provide:_f,deps:[i.T]},{provide:Dp,deps:[bf]},{provide:zd,deps:[bf]},{provide:Vd,deps:[bf]}],Bf=function(){function t(t){var e={useJit:!0,defaultEncapsulation:i.qb.Emulated,missingTranslation:i.K.Warning};this._defaultOptions=Object(o.g)([e],t)}return t.prototype.createCompiler=function(t){void 0===t&&(t=[]);var e,n={useJit:zf((e=this._defaultOptions.concat(t)).map((function(t){return t.useJit}))),defaultEncapsulation:zf(e.map((function(t){return t.defaultEncapsulation}))),providers:Hf(e.map((function(t){return t.providers}))),missingTranslation:zf(e.map((function(t){return t.missingTranslation}))),preserveWhitespaces:zf(e.map((function(t){return t.preserveWhitespaces})))};return i.F.create([Vf,{provide:Ep,useFactory:function(){return new Ep({useJit:n.useJit,jitDevMode:Object(i.yb)(),defaultEncapsulation:n.defaultEncapsulation,missingTranslation:n.missingTranslation,preserveWhitespaces:n.preserveWhitespaces})},deps:[]},n.providers]).get(i.l)},t}();function zf(t){for(var e=t.length-1;e>=0;e--)if(void 0!==t[e])return t[e]}function Hf(t){var e=[];return t.forEach((function(t){return t&&e.push.apply(e,Object(o.g)(t))})),e}var Uf=Object(i.sb)(i.zb,"coreDynamic",[{provide:i.i,useValue:{},multi:!0},{provide:i.m,useClass:Bf,deps:[i.i]}]),Gf=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.get=function(t){var e,n,r=new Promise((function(t,r){e=t,n=r})),i=new XMLHttpRequest;return i.open("GET",t,!0),i.responseType="text",i.onload=function(){var r=i.response||i.responseText,o=1223===i.status?204:i.status;0===o&&(o=r?200:0),200<=o&&o<=300?e(r):n("Failed to load "+t)},i.onerror=function(){n("Failed to load "+t)},i.send(),r},e=Object(o.b)([Object(i.D)()],e)}(up),qf={providers:[{provide:up,useClass:Gf,deps:[]}]},Wf=Df.s,Yf=[Tf.g,{provide:i.i,useValue:qf,multi:!0},{provide:i.U,useValue:Wf}],Kf=(function(t){function e(){var e=t.call(this)||this;if(e._cache=i.Ub.$templateCache,null==e._cache)throw new Error("CachedResourceLoader: Template cache was not found in $templateCache.");return e}Object(o.c)(e,t),e.prototype.get=function(t){return this._cache.hasOwnProperty(t)?Promise.resolve(this._cache[t]):Promise.reject("CachedResourceLoader: Did not find cached template for "+t)}}(up),new i.mb("8.2.6"),Object(i.sb)(Uf,"browserDynamic",Yf)),Qf=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Xf=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Zf=function(t){return t&&t.__esModule?t:{default:t}},$f=function(){function t(){}return t=Qf([Object(i.n)({selector:"app-root",template:Zf(n("VzVu")).default,styles:[Zf(n("ynWL")).default]}),Xf("design:paramtypes",[])],t)}(),Jf=n("ZYCi"),tm=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},em=[{path:"auth",loadChildren:function(){return Promise.all([n.e(1),n.e(6)]).then(n.bind(null,"Yj9t")).then((function(t){return t.AuthModule}))}},{path:"login",loadChildren:function(){return Promise.all([n.e(1),n.e(7)]).then(n.bind(null,"F4UR")).then((function(t){return t.LoginModule}))}},{path:"**",redirectTo:"auth/minions"}],nm=function(){function t(){}return t=tm([Object(i.L)({imports:[Jf.b.forRoot(em,{useHash:!0})],exports:[Jf.b]})],t)}(),rm=n("wFw1"),im=n("pKmL"),om=n("t/Na"),am=n("NZXM"),sm=n("Onty"),lm=n("v6lC"),cm=n("q9mj"),um=n("geZN"),pm=n("35e8"),dm=n("WU0F"),hm=n("pnyO"),fm=n("fICr"),mm=n("Asny"),gm=n("0FJh"),ym=n("o3x0"),vm=n("d2mR"),bm=n("kWGw"),_m=n("b716"),wm=n("seP3"),xm=n("gIcY"),Cm=n("UodH"),Om=n("lLAP"),Em=n("Fzqc"),Sm=n("n6gG"),km=n("YSh2"),jm=n("K9Ia"),Am=n("F/XL"),Dm=n("p0Sj"),Tm=n("ny24"),Pm=function(){function t(t){this.template=t}return t.decorators=[{type:i.t,args:[{selector:"[cdkStepLabel]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t}(),Im=function(){function t(t){this._elementRef=t}return t.prototype.focus=function(){this._elementRef.nativeElement.focus()},t.decorators=[{type:i.t,args:[{selector:"[cdkStepHeader]",host:{role:"tab"}}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Rm=0,Mm="number",Nm="edit",Fm="done",Lm="error",Vm=new i.E("STEPPER_GLOBAL_OPTIONS"),Bm=function(){function t(t,e){this._stepper=t,this.interacted=!1,this._editable=!0,this._optional=!1,this._customCompleted=null,this._customError=null,this._stepperOptions=e||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType,this._showError=!!this._stepperOptions.showError}return Object.defineProperty(t.prototype,"editable",{get:function(){return this._editable},set:function(t){this._editable=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"optional",{get:function(){return this._optional},set:function(t){this._optional=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"completed",{get:function(){return null==this._customCompleted?this._getDefaultCompleted():this._customCompleted},set:function(t){this._customCompleted=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultCompleted=function(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted},Object.defineProperty(t.prototype,"hasError",{get:function(){return null==this._customError?this._getDefaultError():this._customError},set:function(t){this._customError=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultError=function(){return this.stepControl&&this.stepControl.invalid&&this.interacted},t.prototype.select=function(){this._stepper.selected=this},t.prototype.reset=function(){this.interacted=!1,null!=this._customCompleted&&(this._customCompleted=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()},t.prototype.ngOnChanges=function(){this._stepper._stateChanged()},t.decorators=[{type:i.n,args:[{selector:"cdk-step",exportAs:"cdkStep",template:"",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:zm,decorators:[{type:i.C,args:[Object(i.vb)((function(){return zm}))]}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},t.propDecorators={stepLabel:[{type:i.r,args:[Pm]}],content:[{type:i.nb,args:[i.jb]}],stepControl:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],ariaLabel:[{type:i.G,args:["aria-label"]}],ariaLabelledby:[{type:i.G,args:["aria-labelledby"]}],state:[{type:i.G}],editable:[{type:i.G}],optional:[{type:i.G}],completed:[{type:i.G}],hasError:[{type:i.G}]},t}(),zm=function(){function t(t,e,n,r){this._dir=t,this._changeDetectorRef=e,this._elementRef=n,this._destroyed=new jm.a,this._linear=!1,this._selectedIndex=0,this.selectionChange=new i.x,this._orientation="horizontal",this._groupId=Rm++,this._document=r}return Object.defineProperty(t.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"linear",{get:function(){return this._linear},set:function(t){this._linear=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){var e=Object(Sm.f)(t);if(this.steps){if(e<0||e>this.steps.length-1)throw Error("cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.");this._selectedIndex!=e&&!this._anyControlsInvalidOrPending(e)&&(e>=this._selectedIndex||this.steps.toArray()[e].editable)&&this._updateSelectedItemIndex(t)}else this._selectedIndex=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0},set:function(t){this.selectedIndex=this.steps?this.steps.toArray().indexOf(t):-1},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this._keyManager=new Om.d(this._stepHeader).withWrap().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:Object(Am.a)()).pipe(Object(Dm.a)(this._layoutDirection()),Object(Tm.a)(this._destroyed)).subscribe((function(e){return t._keyManager.withHorizontalOrientation(e)})),this._keyManager.updateActiveItemIndex(this._selectedIndex),this.steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe((function(){t.selected||(t._selectedIndex=Math.max(t._selectedIndex-1,0))}))},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype.next=function(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)},t.prototype.previous=function(){this.selectedIndex=Math.max(this._selectedIndex-1,0)},t.prototype.reset=function(){this._updateSelectedItemIndex(0),this.steps.forEach((function(t){return t.reset()})),this._stateChanged()},t.prototype._getStepLabelId=function(t){return"cdk-step-label-"+this._groupId+"-"+t},t.prototype._getStepContentId=function(t){return"cdk-step-content-"+this._groupId+"-"+t},t.prototype._stateChanged=function(){this._changeDetectorRef.markForCheck()},t.prototype._getAnimationDirection=function(t){var e=t-this._selectedIndex;return e<0?"rtl"===this._layoutDirection()?"next":"previous":e>0?"rtl"===this._layoutDirection()?"previous":"next":"current"},t.prototype._getIndicatorType=function(t,e){void 0===e&&(e=Mm);var n=this.steps.toArray()[t],r=this._isCurrentStep(t);return n._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(n,r):this._getGuidelineLogic(n,r,e)},t.prototype._getDefaultIndicatorLogic=function(t,e){return t._showError&&t.hasError&&!e?Lm:!t.completed||e?Mm:t.editable?Nm:Fm},t.prototype._getGuidelineLogic=function(t,e,n){return void 0===n&&(n=Mm),t._showError&&t.hasError&&!e?Lm:t.completed&&!e?Fm:t.completed&&e?n:t.editable&&e?Nm:n},t.prototype._isCurrentStep=function(t){return this._selectedIndex===t},t.prototype._getFocusIndex=function(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex},t.prototype._updateSelectedItemIndex=function(t){var e=this.steps.toArray();this.selectionChange.emit({selectedIndex:t,previouslySelectedIndex:this._selectedIndex,selectedStep:e[t],previouslySelectedStep:e[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(t):this._keyManager.updateActiveItemIndex(t),this._selectedIndex=t,this._stateChanged()},t.prototype._onKeydown=function(t){var e=Object(km.s)(t),n=t.keyCode,r=this._keyManager;null==r.activeItemIndex||e||n!==km.n&&n!==km.f?n===km.h?(r.setFirstItemActive(),t.preventDefault()):n===km.e?(r.setLastItemActive(),t.preventDefault()):r.onKeydown(t):(this.selectedIndex=r.activeItemIndex,t.preventDefault())},t.prototype._anyControlsInvalidOrPending=function(t){var e=this.steps.toArray();return e[this._selectedIndex].interacted=!0,!!(this._linear&&t>=0)&&e.slice(0,t).some((function(t){var e=t.stepControl;return(e?e.invalid||e.pending||!t.interacted:!t.completed)&&!t.optional}))},t.prototype._layoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._containsFocus=function(){if(!this._document||!this._elementRef)return!1;var t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)},t.decorators=[{type:i.t,args:[{selector:"[cdkStepper]",exportAs:"cdkStepper"}]}],t.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={_steps:[{type:i.s,args:[Bm]}],_stepHeader:[{type:i.s,args:[Im]}],linear:[{type:i.G}],selectedIndex:[{type:i.G}],selected:[{type:i.G}],selectionChange:[{type:i.S}]},t}(),Hm=function(){function t(t){this._stepper=t,this.type="submit"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Um=function(){function t(t){this._stepper=t,this.type="button"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Gm=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Em.a,Df.b],exports:[Bm,zm,Im,Pm,Hm,Um],declarations:[Bm,zm,Im,Pm,Hm,Um]}]}],t}(),qm=n("ihYY"),Wm=n("Wf4p"),Ym=n("ad02"),Km=n("4c35"),Qm=n("SMsm"),Xm=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"[matStepLabel]"}]}],e}(Pm),Zm=function(){function t(){this.changes=new jm.a,this.optionalLabel="Optional"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}();var $m={provide:Zm,deps:[[new i.R,new i.fb,Zm]],useFactory:function(t){return t||new Zm}},Jm=function(t){function e(e,n,r,i){var o=t.call(this,r)||this;return o._intl=e,o._focusMonitor=n,n.monitor(r,!0),o._intlSubscription=e.changes.subscribe((function(){return i.markForCheck()})),o}return Object(o.c)(e,t),e.prototype.ngOnDestroy=function(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)},e.prototype._stringLabel=function(){return this.label instanceof Xm?null:this.label},e.prototype._templateLabel=function(){return this.label instanceof Xm?this.label:null},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._getIconContext=function(){return{index:this.index,active:this.active,optional:this.optional}},e.prototype._getDefaultTextForState=function(t){return"number"==t?""+(this.index+1):"edit"==t?"create":"error"==t?"warning":t},e.decorators=[{type:i.n,args:[{selector:"mat-step-header",template:'
    {{_getDefaultTextForState(state)}}{{_getDefaultTextForState(state)}}
    {{label}}
    {{_intl.optionalLabel}}
    {{errorMessage}}
    ',styles:[".mat-step-header{overflow:hidden;outline:0;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:transparent}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon .mat-icon,.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],host:{class:"mat-step-header",role:"tab"},encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Zm},{type:Om.e},{type:i.u},{type:i.k}]},e.propDecorators={state:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],iconOverrides:[{type:i.G}],index:[{type:i.G}],selected:[{type:i.G}],active:[{type:i.G}],optional:[{type:i.G}]},e}(Im),tg={horizontalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({transform:"none",visibility:"visible"})),Object(qm.k)("next",Object(qm.l)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),Object(qm.m)("* => *",Object(qm.e)("500ms cubic-bezier(0.35, 0, 0.25, 1)"))]),verticalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("next",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({height:"*",visibility:"visible"})),Object(qm.m)("* <=> current",Object(qm.e)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])},eg=function(){function t(t){this.templateRef=t}return t.decorators=[{type:i.t,args:[{selector:"ng-template[matStepperIcon]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t.propDecorators={name:[{type:i.G,args:["matStepperIcon"]}]},t}(),ng=function(t){function e(e,n,r){var i=t.call(this,e,r)||this;return i._errorStateMatcher=n,i}return Object(o.c)(e,t),e.prototype.isErrorState=function(t,e){var n=this._errorStateMatcher.isErrorState(t,e),r=!!(t&&t.invalid&&this.interacted);return n||r},e.decorators=[{type:i.n,args:[{selector:"mat-step",template:"",providers:[{provide:Wm.b,useExisting:e}],encapsulation:i.qb.None,exportAs:"matStep",changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:rg,decorators:[{type:i.C,args:[Object(i.vb)((function(){return rg}))]}]},{type:Wm.b,decorators:[{type:i.fb}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},e.propDecorators={stepLabel:[{type:i.r,args:[Xm]}]},e}(Bm),rg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.animationDone=new i.x,e._iconOverrides={},e._animationDone=new jm.a,e}return Object(o.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._icons.forEach((function(e){var n=e.name,r=e.templateRef;return t._iconOverrides[n]=r})),this._steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe((function(){return t._stateChanged()})),this._animationDone.pipe(Object(Ym.a)((function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})),Object(Tm.a)(this._destroyed)).subscribe((function(e){"current"===e.toState&&t.animationDone.emit()}))},e.decorators=[{type:i.t,args:[{selector:"[matStepper]"}]}],e.propDecorators={_stepHeader:[{type:i.ob,args:[Jm]}],_steps:[{type:i.s,args:[ng]}],_icons:[{type:i.s,args:[eg]}],animationDone:[{type:i.S}]},e}(zm),ig=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelPosition="end",e}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-horizontal-stepper",exportAs:"matHorizontalStepper",template:'
    ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-horizontal","[class.mat-stepper-label-position-end]":'labelPosition == "end"',"[class.mat-stepper-label-position-bottom]":'labelPosition == "bottom"',"aria-orientation":"horizontal",role:"tablist"},animations:[tg.horizontalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.propDecorators={labelPosition:[{type:i.G}]},e}(rg),og=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o._orientation="vertical",o}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-vertical-stepper",exportAs:"matVerticalStepper",template:'
    ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-vertical","aria-orientation":"vertical",role:"tablist"},animations:[tg.verticalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},e}(rg),ag=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Hm),sg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Um),lg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Wm.h,Df.b,Km.h,Cm.b,Gm,Qm.a,Wm.q],exports:[Wm.h,ig,og,ng,Xm,rg,ag,sg,Jm,eg],declarations:[ig,og,ng,Xm,rg,ag,sg,Jm,eg],providers:[$m,Wm.b]}]}],t}(),cg=n("uGex"),ug=n("bse0"),pg=n("v9Dh"),dg=n("u7R8"),hg=n("w+lc"),fg=n("BHnd"),mg=n("pugT"),gg=n("p0ib"),yg=n("t9fZ"),vg=n("VnD/"),bg=n("eDkP");function _g(t){return Error("MatDatepicker: No provider found for "+t+". You must import one of the following modules at your application root: MatNativeDateModule, MatMomentDateModule, or provide a custom implementation.")}var wg=function(){function t(){this.changes=new jm.a,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 20 years",this.nextMultiYearLabel="Next 20 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),xg=function(t,e,n,r,i){this.value=t,this.displayValue=e,this.ariaLabel=n,this.enabled=r,this.cssClasses=i},Cg=function(){function t(t,e){this._elementRef=t,this._ngZone=e,this.numCols=7,this.activeCell=0,this.cellAspectRatio=1,this.selectedValueChange=new i.x}return t.prototype._cellClicked=function(t){t.enabled&&this.selectedValueChange.emit(t.value)},t.prototype.ngOnChanges=function(t){var e=t.numCols,n=this.rows,r=this.numCols;(t.rows||e)&&(this._firstRowOffset=n&&n.length&&n[0].length?r-n[0].length:0),(t.cellAspectRatio||e||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/r+"%"),!e&&this._cellWidth||(this._cellWidth=100/r+"%")},t.prototype._isActiveCell=function(t,e){var n=t*this.numCols+e;return t&&(n-=this._firstRowOffset),n==this.activeCell},t.prototype._focusActiveCell=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe((function(){var e=t._elementRef.nativeElement.querySelector(".mat-calendar-body-active");e&&e.focus()}))}))},t.decorators=[{type:i.n,args:[{selector:"[mat-calendar-body]",template:'{{label}}{{_firstRowOffset >= labelMinRequiredCells ? label : \'\'}}
    {{item.displayValue}}
    ',styles:[".mat-calendar-body{min-width:224px}.mat-calendar-body-label{height:0;line-height:0;text-align:left;padding-left:4.71429%;padding-right:4.71429%}.mat-calendar-body-cell{position:relative;height:0;line-height:0;text-align:center;outline:0;cursor:pointer}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px}@media (-ms-high-contrast:active){.mat-calendar-body-cell-content{border:none}}@media (-ms-high-contrast:active){.mat-calendar-body-selected,.mat-datepicker-popup:not(:empty){outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}}[dir=rtl] .mat-calendar-body-label{text-align:right}"],host:{class:"mat-calendar-body",role:"grid","aria-readonly":"true"},exportAs:"matCalendarBody",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Q}]},t.propDecorators={label:[{type:i.G}],rows:[{type:i.G}],todayValue:[{type:i.G}],selectedValue:[{type:i.G}],labelMinRequiredCells:[{type:i.G}],numCols:[{type:i.G}],activeCell:[{type:i.G}],cellAspectRatio:[{type:i.G}],selectedValueChange:[{type:i.S}]},t}(),Og=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this._userSelection=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");var o=this._dateAdapter.getFirstDayOfWeek(),a=this._dateAdapter.getDayOfWeekNames("narrow"),s=this._dateAdapter.getDayOfWeekNames("long").map((function(t,e){return{long:t,narrow:a[e]}}));this._weekdays=s.slice(o).concat(s.slice(0,o)),this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._hasSameMonthAndYear(e,this._activeDate)||this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedDate=this._getDateInCurrentMonth(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._dateSelected=function(t){if(this._selectedDate!=t){var e=this._dateAdapter.getYear(this.activeDate),n=this._dateAdapter.getMonth(this.activeDate),r=this._dateAdapter.createDate(e,n,t);this.selectedChange.emit(r)}this._userSelection.emit()},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case km.d:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case km.h:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case km.l:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case km.k:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case km.f:case km.n:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected(this._dateAdapter.getDate(this._activeDate)),this._userSelection.emit(),t.preventDefault()));default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){this._selectedDate=this._getDateInCurrentMonth(this.selected),this._todayDate=this._getDateInCurrentMonth(this._dateAdapter.today()),this._monthLabel=this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();var t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(t)-this._dateAdapter.getFirstDayOfWeek())%7,this._createWeekCells(),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createWeekCells=function(){var t=this._dateAdapter.getNumDaysInMonth(this.activeDate),e=this._dateAdapter.getDateNames();this._weeks=[[]];for(var n=0,r=this._firstWeekOffset;n=0)&&(!this.maxDate||this._dateAdapter.compareDate(t,this.maxDate)<=0)},t.prototype._getDateInCurrentMonth=function(t){return t&&this._hasSameMonthAndYear(t,this.activeDate)?this._dateAdapter.getDate(t):null},t.prototype._hasSameMonthAndYear=function(t,e){return!(!t||!e||this._dateAdapter.getMonth(t)!=this._dateAdapter.getMonth(e)||this._dateAdapter.getYear(t)!=this._dateAdapter.getYear(e))},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},t.decorators=[{type:i.n,args:[{selector:"mat-month-view",template:'
    {{day.narrow}}
    ',exportAs:"matMonthView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],_userSelection:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Eg=function(){function t(t,e,n){if(this._changeDetectorRef=t,this._dateAdapter=e,this._dir=n,this.selectedChange=new i.x,this.yearSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),Math.floor(this._dateAdapter.getYear(e)/24)!=Math.floor(this._dateAdapter.getYear(this._activeDate)/24)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedYear=this._selected&&this._dateAdapter.getYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._init=function(){var t=this;this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());var e=this._dateAdapter.getYear(this._activeDate),n=e%24;this._years=[];for(var r=0,i=[];r<24;r++)i.push(e-n+r),4==i.length&&(this._years.push(i.map((function(e){return t._createCellForYear(e)}))),i=[]);this._changeDetectorRef.markForCheck()},t.prototype._yearSelected=function(t){this.yearSelected.emit(this._dateAdapter.createDate(t,0,1));var e=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(t,e,1));this.selectedChange.emit(this._dateAdapter.createDate(t,e,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-this._dateAdapter.getYear(this._activeDate)%24);break;case km.e:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-this._dateAdapter.getYear(this._activeDate)%24-1);break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-240:-24);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?240:24);break;case km.f:case km.n:this._yearSelected(this._dateAdapter.getYear(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._getActiveCell=function(){return this._dateAdapter.getYear(this.activeDate)%24},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createCellForYear=function(t){var e=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1));return new xg(t,e,e,this._shouldEnableYear(t))},t.prototype._shouldEnableYear=function(t){if(null==t||this.maxDate&&t>this._dateAdapter.getYear(this.maxDate)||this.minDate&&t',exportAs:"matMultiYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Sg=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this.monthSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._dateAdapter.getYear(e)!==this._dateAdapter.getYear(this._activeDate)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedMonth=this._getMonthInCurrentYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._monthSelected=function(t){var e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(e);var n=this._dateAdapter.getNumDaysInMonth(e);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-10:-1);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?10:1);break;case km.f:case km.n:this._monthSelected(this._dateAdapter.getMonth(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){var t=this;this._selectedMonth=this._getMonthInCurrentYear(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);var e=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map((function(n){return n.map((function(n){return t._createCellForMonth(n,e[n])}))})),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._getMonthInCurrentYear=function(t){return t&&this._dateAdapter.getYear(t)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(t):null},t.prototype._createCellForMonth=function(t,e){var n=this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1),this._dateFormats.display.monthYearA11yLabel);return new xg(t,e.toLocaleUpperCase(),n,this._shouldEnableMonth(t))},t.prototype._shouldEnableMonth=function(t){var e=this._dateAdapter.getYear(this.activeDate);if(null==t||this._isYearAndMonthAfterMaxDate(e,t)||this._isYearAndMonthBeforeMinDate(e,t))return!1;if(!this.dateFilter)return!0;for(var n=this._dateAdapter.createDate(e,t,1);this._dateAdapter.getMonth(n)==t;n=this._dateAdapter.addCalendarDays(n,1))if(this.dateFilter(n))return!0;return!1},t.prototype._isYearAndMonthAfterMaxDate=function(t,e){if(this.maxDate){var n=this._dateAdapter.getYear(this.maxDate),r=this._dateAdapter.getMonth(this.maxDate);return t>n||t===n&&e>r}return!1},t.prototype._isYearAndMonthBeforeMinDate=function(t,e){if(this.minDate){var n=this._dateAdapter.getYear(this.minDate),r=this._dateAdapter.getMonth(this.minDate);return t',exportAs:"matYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],monthSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),kg=function(){function t(t,e,n,r,i){this._intl=t,this.calendar=e,this._dateAdapter=n,this._dateFormats=r,this.calendar.stateChanges.subscribe((function(){return i.markForCheck()}))}return Object.defineProperty(t.prototype,"periodButtonText",{get:function(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);var t=this._dateAdapter.getYear(this.calendar.activeDate);return this._dateAdapter.getYearName(this._dateAdapter.createDate(t-t%24,0,1))+" – "+this._dateAdapter.getYearName(this._dateAdapter.createDate(t+24-1-t%24,0,1))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"periodButtonLabel",{get:function(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"prevButtonLabel",{get:function(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nextButtonLabel",{get:function(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),t.prototype.currentPeriodClicked=function(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"},t.prototype.previousClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)},t.prototype.nextClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)},t.prototype.previousEnabled=function(){return!this.calendar.minDate||(!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate))},t.prototype.nextEnabled=function(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)},t.prototype._isSameView=function(t,e){return"month"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e)&&this._dateAdapter.getMonth(t)==this._dateAdapter.getMonth(e):"year"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e):Math.floor(this._dateAdapter.getYear(t)/24)==Math.floor(this._dateAdapter.getYear(e)/24)},t.decorators=[{type:i.n,args:[{selector:"mat-calendar-header",template:'
    ',exportAs:"matCalendarHeader",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:jg,decorators:[{type:i.C,args:[Object(i.vb)((function(){return jg}))]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t}(),jg=function(){function t(t,e,n,r){var o=this;if(this._dateAdapter=e,this._dateFormats=n,this._changeDetectorRef=r,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new i.x,this.yearSelected=new i.x,this.monthSelected=new i.x,this._userSelection=new i.x,this.stateChanges=new jm.a,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._intlChanges=t.changes.subscribe((function(){r.markForCheck(),o.stateChanges.next()}))}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._clampedActiveDate},set:function(t){this._clampedActiveDate=this._dateAdapter.clampDate(t,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentView",{get:function(){return this._currentView},set:function(t){this._currentView=t,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._calendarHeaderPortal=new Km.d(this.headerComponent||kg),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView},t.prototype.ngAfterViewChecked=function(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())},t.prototype.ngOnDestroy=function(){this._intlChanges.unsubscribe(),this.stateChanges.complete()},t.prototype.ngOnChanges=function(t){var e=t.minDate||t.maxDate||t.dateFilter;if(e&&!e.firstChange){var n=this._getCurrentViewComponent();n&&(this._changeDetectorRef.detectChanges(),n._init())}this.stateChanges.next()},t.prototype.focusActiveCell=function(){this._getCurrentViewComponent()._focusActiveCell()},t.prototype.updateTodaysDate=function(){("month"==this.currentView?this.monthView:"year"==this.currentView?this.yearView:this.multiYearView).ngAfterContentInit()},t.prototype._dateSelected=function(t){this._dateAdapter.sameDate(t,this.selected)||this.selectedChange.emit(t)},t.prototype._yearSelectedInMultiYearView=function(t){this.yearSelected.emit(t)},t.prototype._monthSelectedInYearView=function(t){this.monthSelected.emit(t)},t.prototype._userSelected=function(){this._userSelection.emit()},t.prototype._goToDateInView=function(t,e){this.activeDate=t,this.currentView=e},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._getCurrentViewComponent=function(){return this.monthView||this.yearView||this.multiYearView},t.decorators=[{type:i.n,args:[{selector:"mat-calendar",template:'
    ',styles:[".mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:0}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-next-button,.mat-calendar-previous-button{position:relative}.mat-calendar-next-button::after,.mat-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-next-button,[dir=rtl] .mat-calendar-previous-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}"],host:{class:"mat-calendar"},exportAs:"matCalendar",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t.propDecorators={headerComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],_userSelection:[{type:i.S}],monthView:[{type:i.nb,args:[Og]}],yearView:[{type:i.nb,args:[Sg]}],multiYearView:[{type:i.nb,args:[Eg]}]},t}(),Ag={transformPanel:Object(qm.n)("transformPanel",[Object(qm.k)("void",Object(qm.l)({opacity:0,transform:"scale(1, 0.8)"})),Object(qm.m)("void => enter",Object(qm.e)("120ms cubic-bezier(0, 0, 0.2, 1)",Object(qm.l)({opacity:1,transform:"scale(1, 1)"}))),Object(qm.m)("* => void",Object(qm.e)("100ms linear",Object(qm.l)({opacity:0})))]),fadeInCalendar:Object(qm.n)("fadeInCalendar",[Object(qm.k)("void",Object(qm.l)({opacity:0})),Object(qm.k)("enter",Object(qm.l)({opacity:1})),Object(qm.m)("void => *",Object(qm.e)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},Dg=0,Tg=new i.E("mat-datepicker-scroll-strategy");var Pg={provide:Tg,deps:[bg.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},Ig=function(t){this._elementRef=t},Rg=function(t){function e(e){return t.call(this,e)||this}return Object(o.c)(e,t),e.prototype.ngAfterViewInit=function(){this._calendar.focusActiveCell()},e.decorators=[{type:i.n,args:[{selector:"mat-datepicker-content",template:'',styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation:landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation:portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}"],host:{class:"mat-datepicker-content","[@transformPanel]":'"enter"',"[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[Ag.transformPanel,Ag.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.qb.None,changeDetection:i.j.OnPush,inputs:["color"]}]}],e.ctorParameters=function(){return[{type:i.u}]},e.propDecorators={_calendar:[{type:i.nb,args:[jg]}]},e}(Object(Wm.u)(Ig)),Mg=function(){function t(t,e,n,r,o,a,s,l){if(this._dialog=t,this._overlay=e,this._ngZone=n,this._viewContainerRef=r,this._dateAdapter=a,this._dir=s,this._document=l,this.startView="month",this._touchUi=!1,this.yearSelected=new i.x,this.monthSelected=new i.x,this.openedStream=new i.x,this.closedStream=new i.x,this._opened=!1,this.id="mat-datepicker-"+Dg++,this._validSelected=null,this._focusedElementBeforeOpen=null,this._inputSubscription=mg.a.EMPTY,this._disabledChange=new jm.a,this._selectedChanged=new jm.a,!this._dateAdapter)throw _g("DateAdapter");this._scrollStrategy=o}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt||(this._datepickerInput?this._datepickerInput.value:null)},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){return this._color||(this._datepickerInput?this._datepickerInput._getThemePalette():void 0)},set:function(t){this._color=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touchUi",{get:function(){return this._touchUi},set:function(t){this._touchUi=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this._datepickerInput?this._datepickerInput.disabled:!!this._disabled},set:function(t){var e=Object(Sm.c)(t);e!==this._disabled&&(this._disabled=e,this._disabledChange.next(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){t?this.open():this.close()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_selected",{get:function(){return this._validSelected},set:function(t){this._validSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_minDate",{get:function(){return this._datepickerInput&&this._datepickerInput.min},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_maxDate",{get:function(){return this._datepickerInput&&this._datepickerInput.max},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_dateFilter",{get:function(){return this._datepickerInput&&this._datepickerInput._dateFilter},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.close(),this._inputSubscription.unsubscribe(),this._disabledChange.complete(),this._popupRef&&(this._popupRef.dispose(),this._popupComponentRef=null)},t.prototype.select=function(t){var e=this._selected;this._selected=t,this._dateAdapter.sameDate(e,this._selected)||this._selectedChanged.next(t)},t.prototype._selectYear=function(t){this.yearSelected.emit(t)},t.prototype._selectMonth=function(t){this.monthSelected.emit(t)},t.prototype._registerInput=function(t){var e=this;if(this._datepickerInput)throw Error("A MatDatepicker can only be associated with a single input.");this._datepickerInput=t,this._inputSubscription=this._datepickerInput._valueChange.subscribe((function(t){return e._selected=t}))},t.prototype.open=function(){if(!this._opened&&!this.disabled){if(!this._datepickerInput)throw Error("Attempted to open an MatDatepicker with no associated input.");this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit()}},t.prototype.close=function(){var t=this;if(this._opened){this._popupRef&&this._popupRef.hasAttached()&&this._popupRef.detach(),this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null),this._calendarPortal&&this._calendarPortal.isAttached&&this._calendarPortal.detach();var e=function(){t._opened&&(t._opened=!1,t.closedStream.emit(),t._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(e)):e()}},t.prototype._openAsDialog=function(){var t=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(Rg,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog"}),this._dialogRef.afterClosed().subscribe((function(){return t.close()})),this._dialogRef.componentInstance.datepicker=this,this._setColor()},t.prototype._openAsPopup=function(){var t=this;this._calendarPortal||(this._calendarPortal=new Km.d(Rg,this._viewContainerRef)),this._popupRef||this._createPopup(),this._popupRef.hasAttached()||(this._popupComponentRef=this._popupRef.attach(this._calendarPortal),this._popupComponentRef.instance.datepicker=this,this._setColor(),this._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe((function(){t._popupRef.updatePosition()})))},t.prototype._createPopup=function(){var t=this,e=new bg.c({positionStrategy:this._createPopupPositionStrategy(),hasBackdrop:!0,backdropClass:"mat-overlay-transparent-backdrop",direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(e),this._popupRef.overlayElement.setAttribute("role","dialog"),Object(gg.a)(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(Object(vg.a)((function(e){return e.keyCode===km.g||t._datepickerInput&&e.altKey&&e.keyCode===km.p})))).subscribe((function(){return t.close()}))},t.prototype._createPopupPositionStrategy=function(){return this._overlay.position().flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition().withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"}])},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._setColor=function(){var t=this.color;this._popupComponentRef&&(this._popupComponentRef.instance.color=t),this._dialogRef&&(this._dialogRef.componentInstance.color=t)},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],t.ctorParameters=function(){return[{type:ym.b},{type:bg.b},{type:i.Q},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[Tg]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Df.c]}]}]},t.propDecorators={calendarHeaderComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],color:[{type:i.G}],touchUi:[{type:i.G}],disabled:[{type:i.G}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],panelClass:[{type:i.G}],dateClass:[{type:i.G}],openedStream:[{type:i.S,args:["opened"]}],closedStream:[{type:i.S,args:["closed"]}],opened:[{type:i.G}]},t}(),Ng={provide:xm.g,useExisting:Object(i.vb)((function(){return Vg})),multi:!0},Fg={provide:xm.f,useExisting:Object(i.vb)((function(){return Vg})),multi:!0},Lg=function(t,e){this.target=t,this.targetElement=e,this.value=this.target.value},Vg=function(){function t(t,e,n,r){var o=this;if(this._elementRef=t,this._dateAdapter=e,this._dateFormats=n,this._formField=r,this.dateChange=new i.x,this.dateInput=new i.x,this._valueChange=new i.x,this._disabledChange=new i.x,this._onTouched=function(){},this._cvaOnChange=function(){},this._validatorOnChange=function(){},this._datepickerSubscription=mg.a.EMPTY,this._localeSubscription=mg.a.EMPTY,this._parseValidator=function(){return o._lastValueValid?null:{matDatepickerParse:{text:o._elementRef.nativeElement.value}}},this._minValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.min||!e||o._dateAdapter.compareDate(o.min,e)<=0?null:{matDatepickerMin:{min:o.min,actual:e}}},this._maxValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.max||!e||o._dateAdapter.compareDate(o.max,e)>=0?null:{matDatepickerMax:{max:o.max,actual:e}}},this._filterValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return o._dateFilter&&e&&!o._dateFilter(e)?{matDatepickerFilter:!0}:null},this._validator=xm.k.compose([this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]),this._lastValueValid=!1,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._localeSubscription=e.localeChanges.subscribe((function(){o.value=o.value}))}return Object.defineProperty(t.prototype,"matDatepicker",{set:function(t){var e=this;t&&(this._datepicker=t,this._datepicker._registerInput(this),this._datepickerSubscription.unsubscribe(),this._datepickerSubscription=this._datepicker._selectedChanged.subscribe((function(t){e.value=t,e._cvaOnChange(t),e._onTouched(),e.dateInput.emit(new Lg(e,e._elementRef.nativeElement)),e.dateChange.emit(new Lg(e,e._elementRef.nativeElement))})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"matDatepickerFilter",{set:function(t){this._dateFilter=t,this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=!t||this._dateAdapter.isValid(t),t=this._getValidDateOrNull(t);var e=this.value;this._value=t,this._formatValue(t),this._dateAdapter.sameDate(e,t)||this._valueChange.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return this._min},set:function(t){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return this._max},set:function(t){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return!!this._disabled},set:function(t){var e=Object(Sm.c)(t),n=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this._disabledChange.emit(e)),e&&n.blur&&n.blur()},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._datepickerSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()},t.prototype.registerOnValidatorChange=function(t){this._validatorOnChange=t},t.prototype.validate=function(t){return this._validator?this._validator(t):null},t.prototype.getPopupConnectionElementRef=function(){return this.getConnectedOverlayOrigin()},t.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},t.prototype.writeValue=function(t){this.value=t},t.prototype.registerOnChange=function(t){this._cvaOnChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._onKeydown=function(t){var e=t.altKey&&t.keyCode===km.d;this._datepicker&&e&&!this._elementRef.nativeElement.readOnly&&(this._datepicker.open(),t.preventDefault())},t.prototype._onInput=function(t){var e=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=!e||this._dateAdapter.isValid(e),e=this._getValidDateOrNull(e),this._dateAdapter.sameDate(e,this._value)?this._validatorOnChange():(this._value=e,this._cvaOnChange(e),this._valueChange.emit(e),this.dateInput.emit(new Lg(this,this._elementRef.nativeElement)))},t.prototype._onChange=function(){this.dateChange.emit(new Lg(this,this._elementRef.nativeElement))},t.prototype._getThemePalette=function(){return this._formField?this._formField.color:void 0},t.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},t.prototype._formatValue=function(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.decorators=[{type:i.t,args:[{selector:"input[matDatepicker]",providers:[Ng,Fg,{provide:_m.a,useExisting:t}],host:{"[attr.aria-haspopup]":"true","[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],t.ctorParameters=function(){return[{type:i.u},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:wm.a,decorators:[{type:i.R}]}]},t.propDecorators={matDatepicker:[{type:i.G}],matDatepickerFilter:[{type:i.G}],value:[{type:i.G}],min:[{type:i.G}],max:[{type:i.G}],disabled:[{type:i.G}],dateChange:[{type:i.S}],dateInput:[{type:i.S}]},t}(),Bg=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[matDatepickerToggleIcon]"}]}],t}(),zg=function(){function t(t,e,n){this._intl=t,this._changeDetectorRef=e,this._stateChanges=mg.a.EMPTY;var r=Number(n);this.tabIndex=r||0===r?r:null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(t){this._disabled=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){t.datepicker&&this._watchStateChanges()},t.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},t.prototype.ngAfterContentInit=function(){this._watchStateChanges()},t.prototype._open=function(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())},t.prototype._watchStateChanges=function(){var t=this,e=this.datepicker?this.datepicker._disabledChange:Object(Am.a)(),n=this.datepicker&&this.datepicker._datepickerInput?this.datepicker._datepickerInput._disabledChange:Object(Am.a)(),r=this.datepicker?Object(gg.a)(this.datepicker.openedStream,this.datepicker.closedStream):Object(Am.a)();this._stateChanges.unsubscribe(),this._stateChanges=Object(gg.a)(this._intl.changes,e,n,r).subscribe((function(){return t._changeDetectorRef.markForCheck()}))},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker-toggle",template:'',styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}"],host:{class:"mat-datepicker-toggle","[attr.tabindex]":"-1","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"(focus)":"_button.focus()"},exportAs:"matDatepickerToggle",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:i.k},{type:String,decorators:[{type:i.h,args:["tabindex"]}]}]},t.propDecorators={datepicker:[{type:i.G,args:["for"]}],tabIndex:[{type:i.G}],disabled:[{type:i.G}],disableRipple:[{type:i.G}],_customIcon:[{type:i.r,args:[Bg]}],_button:[{type:i.nb,args:["button"]}]},t}(),Hg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Df.b,Cm.b,ym.d,bg.e,Om.a,Km.h],exports:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],declarations:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],providers:[wg,Pg],entryComponents:[Rg,kg]}]}],t}(),Ug=function(){function t(){}return t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-header",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-header{position:relative;display:block;overflow:hidden;padding:15px;text-align:center}"]}]}],t}(),Gg=function(){function t(t,e,n,r,o){this.animationBuilder=t,this.elementRef=e,this.renderer=n,this.changeDetectorRef=r,this.document=o,this._expanded=!1,this._alternate=!1,this._mobile=!1,this._size=50,this.animationDone=new i.x,this.clazz="primary"}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"alternate",{get:function(){return this._alternate},set:function(t){this._alternate=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{get:function(){return this._mobile},set:function(t){this._mobile=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle()},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.initialStyle=this.document.defaultView.getComputedStyle(this.elementRef.nativeElement),this.setStyle(),this.changeDetectorRef.detectChanges()},t.prototype.getCollapsedStyle=function(){return{top:"50%",left:this.alternate||this.mobile?"-5px":"calc(100% + 5px)",width:this.size+"px",height:this.size+"px",opacity:1,transform:"translateY(-50%) translateX(-50%)",boxShadow:this.initialStyle&&this.initialStyle.boxShadow,borderRadius:"100px"}},t.prototype.getTransitionStyle=function(){return Object(o.a)({},this.getCollapsedStyle(),{left:"50%",opacity:.5,boxShadow:"none"})},t.prototype.getExpandedStyle=function(){return Object(o.a)({},this.getTransitionStyle(),{left:"0",transform:"translateX(0) translateY(-50%)",width:"100%",height:"100%",opacity:1,borderRadius:0})},t.prototype.animate=function(){var t=this;this.destroyAnimation(),this.expanded?(this.animation=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("200ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone((function(){return t.animationDone.emit({toState:"expanded"})})),this.animation.play()):(this.animationBuilder,this.animation=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("100ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone((function(){return t.animationDone.emit({toState:"collapsed"})})),this.animation.play())},t.prototype.setStyle=function(){var t=this;this.destroyAnimation();var e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach((function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])}))},t.prototype.destroyAnimation=function(){this.animation&&(this.animation.destroy(),delete this.animation)},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-dot",template:"\n",encapsulation:i.qb.None,styles:["mgl-timeline-entry-dot{display:block;position:absolute}"]}]}],t.ctorParameters=function(){return[{type:qm.b},{type:i.u},{type:i.Y},{type:i.k},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={clazz:[{type:i.G,args:["class"]},{type:i.z,args:["class"]}],size:[{type:i.G}]},t}(),qg=function(){function t(t,e,n){this.elementRef=t,this.animationBuilder=e,this.renderer=n,this.animationDone=new i.x,this._expanded=!1}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this.contentHeight=this.elementRef.nativeElement.scrollHeight;var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.contentHeight=this.elementRef.nativeElement.scrollHeight,this.setStyle()},t.prototype.getCollapsedStyle=function(){return{height:"0px"}},t.prototype.getExpandedStyle=function(){return{height:this.contentHeight+"px"}},t.prototype.animate=function(){var t,e=this;this.expanded?((t=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement)).onDone((function(){return e.animationDone.emit({toState:"expanded"})})),t.play()):(this.animationBuilder,(t=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement)).onDone((function(){return e.animationDone.emit({toState:"collapsed"})})),t.play())},t.prototype.setStyle=function(){var t=this,e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach((function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])}))},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-content",template:"
    ",encapsulation:i.qb.None,styles:["mgl-timeline-entry-content{position:relative;display:block;overflow:hidden}mgl-timeline-entry-content>div{padding:10px}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:qm.b},{type:i.Y}]},t}(),Wg=function(){function t(t){this.elementRef=t}return Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-side",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-side{position:absolute;top:0;left:100%;width:100%;text-align:center}mgl-timeline-entry-side.alternate{left:-100%}mgl-timeline-entry-side.mobile{display:none}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Yg=function(){function t(t){this.elementRef=t,this.subscriptions=[],this.focusOnOpen=!1,this._mobile=!1,this.changed=new i.x,this.animationDone=new i.x}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this.dot?this.dot.expanded&&this.content.expanded:this.content.expanded},set:function(t){this.dot&&t?this.dot.expanded=t:this.content.expanded=t,this.changed.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t),this.dot&&(this.dot.mobile=t),this.side&&(this.side.mobile=t)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this.dot&&this.subscriptions.push(this.dot.animationDone.subscribe((function(e){"expanded"===e.toState?t.content.expanded=!0:t.animationDone.emit(e)}))),this.content&&this.subscriptions.push(this.content.animationDone.subscribe((function(e){t.dot&&"collapsed"===e.toState?t.dot.expanded=!1:(t.focusOnOpen&&t.elementRef.nativeElement.scrollIntoView({behavior:"smooth"}),t.animationDone.emit(e))})))},Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t),this.dot&&(this.dot.alternate=t),this.side&&(this.side.alternate=t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.collapse=function(){this.expanded=!1},t.prototype.expand=function(){this.expanded=!0},t.prototype.toggle=function(t){var e=this.containsInPath(t,"mgl-timeline-entry-header"),n=this.containsInPath(t,"mgl-timeline-entry-dot");(e||n)&&(this.expanded=!this.expanded)},t.prototype.containsInPath=function(t,e){for(var n=t.target;n;){if(n.localName===e)return!0;n=n.parentElement}return!1},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry",template:'\n
    \n
    \n \n \n
    \n \n
    ',encapsulation:i.qb.None,styles:["mgl-timeline-entry{display:block;position:relative;margin-bottom:50px;width:calc(50% - 5px)}mgl-timeline-entry.alternate{margin-left:calc(50% + 5px)}mgl-timeline-entry.mobile{width:calc(100% - 30px);margin-left:30px}mgl-timeline-entry .mgl-timeline-entry-card{background-color:#f0f0f0}mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header{position:relative;background-color:#e6e6e6}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t.propDecorators={expanded:[{type:i.z,args:["class.expanded"]}],changed:[{type:i.S,args:["expand"]}],animationDone:[{type:i.S}],content:[{type:i.r,args:[qg]}],header:[{type:i.r,args:[Ug]}],dot:[{type:i.r,args:[Gg]}],side:[{type:i.r,args:[Wg]}]},t}(),Kg=function(){function t(t,e){this.elementRef=t,this.changeDetectorRef=e,this.toggle=!0,this.mobileWidthThreshold=640,this.alternate=!0,this.side="left",this._focusOnOpen=!1,this.subscriptions=[]}return Object.defineProperty(t.prototype,"mobile",{get:function(){return this.elementRef.nativeElement.classList.contains("mobile")},set:function(t){this.content&&this.content.forEach((function(e){return e.mobile=t})),this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focusOnOpen",{get:function(){return this._focusOnOpen},set:function(t){this.content&&this.content.forEach((function(e){return e.focusOnOpen=t})),this._focusOnOpen=t},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){this.updateContent()},t.prototype.ngOnDestroy=function(){this.subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.ngAfterViewInit=function(){var t=this;this.mobile=this.elementRef.nativeElement.clientWidth\n',encapsulation:i.qb.None,styles:["mgl-timeline{position:relative;display:block;padding:50px 0}mgl-timeline .mgl-timeline-line{position:absolute;top:0;height:100%;background-color:#a0a0a0;left:50%;width:10px;-webkit-transform:translateX(-50%);transform:translateX(-50%)}mgl-timeline.mobile .mgl-timeline-line{left:20px;-webkit-transform:none;transform:none}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.k}]},t.propDecorators={toggle:[{type:i.G}],mobileWidthThreshold:[{type:i.G}],alternate:[{type:i.G}],side:[{type:i.G}],focusOnOpen:[{type:i.G}],content:[{type:i.s,args:[Yg]}],onResize:[{type:i.A,args:["window:resize",["$event"]]}]},t}(),Qg=function(){function t(){}return t.decorators=[{type:i.L,args:[{declarations:[Kg,Yg,Ug,Wg,qg,Gg],exports:[Kg,Yg,Ug,Wg,qg,Gg]}]}],t}(),Xg=n("Gwao"),Zg=n("dO5I"),$g=n("X2iB"),Jg=n("sB9w"),ty=n("6nr9"),ey=n("6Qg2"),ny=n("lGQG"),ry=n("lYZG"),iy=n("XlPw"),oy=n("bne5"),ay=n("dEwP"),sy=n("6blF"),ly=n("+umK"),cy=new sy.a(ly.a);var uy=n("67Y/"),py=n("15JJ"),dy=n("xlPZ");var hy=n("xMyE"),fy=n("vubp"),my="Service workers are disabled or not supported by this browser";var gy=function(){function t(t){if(this.serviceWorker=t,t){var e=Object(oy.a)(t,"controllerchange").pipe(Object(uy.a)((function(){return t.controller}))),n=Object(ry.a)((function(){return Object(Am.a)(t.controller)})),r=Object(ay.a)(n,e);this.worker=r.pipe(Object(vg.a)((function(t){return!!t}))),this.registration=this.worker.pipe(Object(py.a)((function(){return t.getRegistration()})));var i=Object(oy.a)(t,"message").pipe(Object(uy.a)((function(t){return t.data}))).pipe(Object(vg.a)((function(t){return t&&t.type}))).pipe(o?Object(dy.a)((function(){return new jm.a}),o):Object(dy.a)(new jm.a));i.connect(),this.events=i}else this.worker=this.events=this.registration=(a=my,Object(ry.a)((function(){return Object(iy.a)(new Error(a))})));var o,a}return t.prototype.postMessage=function(t,e){return this.worker.pipe(Object(yg.a)(1),Object(hy.a)((function(n){n.postMessage(Object(o.a)({action:t},e))}))).toPromise().then((function(){}))},t.prototype.postMessageWithStatus=function(t,e,n){var r=this.waitForStatus(n),i=this.postMessage(t,e);return Promise.all([r,i]).then((function(){}))},t.prototype.generateNonce=function(){return Math.round(1e7*Math.random())},t.prototype.eventsOfType=function(t){return this.events.pipe(Object(vg.a)((function(e){return e.type===t})))},t.prototype.nextEventOfType=function(t){return this.eventsOfType(t).pipe(Object(yg.a)(1))},t.prototype.waitForStatus=function(t){return this.eventsOfType("STATUS").pipe(Object(vg.a)((function(e){return e.nonce===t})),Object(yg.a)(1),Object(uy.a)((function(t){if(!t.status)throw new Error(t.error)}))).toPromise()},Object.defineProperty(t.prototype,"isEnabled",{get:function(){return!!this.serviceWorker},enumerable:!0,configurable:!0}),t}(),yy=function(){function t(t){if(this.sw=t,this.subscriptionChanges=new jm.a,!t.isEnabled)return this.messages=cy,this.notificationClicks=cy,void(this.subscription=cy);this.messages=this.sw.eventsOfType("PUSH").pipe(Object(uy.a)((function(t){return t.data}))),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Object(uy.a)((function(t){return t.data}))),this.pushManager=this.sw.registration.pipe(Object(uy.a)((function(t){return t.pushManager})));var e=this.pushManager.pipe(Object(py.a)((function(t){return t.getSubscription()})));this.subscription=Object(gg.a)(e,this.subscriptionChanges)}return Object.defineProperty(t.prototype,"isEnabled",{get:function(){return this.sw.isEnabled},enumerable:!0,configurable:!0}),t.prototype.requestSubscription=function(t){var e=this;if(!this.sw.isEnabled)return Promise.reject(new Error(my));for(var n={userVisibleOnly:!0},r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),i=new Uint8Array(new ArrayBuffer(r.length)),o=0;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Sy=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n((function(e){e(t.value)})).then(a,s)}l((r=r.apply(t,e||[])).next())}))},ky=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(),this.stateChanges.next()))},e.prototype._focusInput=function(){this._chipInput&&this._chipInput.focus()},e.prototype._keydown=function(t){var e=t.target;t.keyCode===o.b&&this._isInputEmpty(e)?(this._keyManager.setLastItemActive(),t.preventDefault()):e&&e.classList.contains("mat-chip")&&(t.keyCode===o.h?(this._keyManager.setFirstItemActive(),t.preventDefault()):t.keyCode===o.e?(this._keyManager.setLastItemActive(),t.preventDefault()):this._keyManager.onKeydown(t),this.stateChanges.next())},e.prototype._updateTabIndex=function(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)},e.prototype._updateFocusForDestroyedChips=function(){if(null!=this._lastDestroyedChipIndex&&this.chips.length){var t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}this._lastDestroyedChipIndex=null},e.prototype._isValidIndex=function(t){return t>=0&&t',exportAs:"matChipList",host:{"[attr.tabindex]":"disabled ? null : _tabIndex","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-required]":"required.toString()","[attr.aria-disabled]":"disabled.toString()","[attr.aria-invalid]":"errorState","[attr.aria-multiselectable]":"multiple","[attr.role]":"role","[class.mat-chip-list-disabled]":"disabled","[class.mat-chip-list-invalid]":"errorState","[class.mat-chip-list-required]":"required","[attr.aria-orientation]":"ariaOrientation",class:"mat-chip-list","(focus)":"focus()","(blur)":"_blur()","(keydown)":"_keydown($event)","[id]":"_uid"},providers:[{provide:v.b,useExisting:e}],styles:[".mat-chip{position:relative;overflow:hidden;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:'';pointer-events:none;transition:opacity .2s cubic-bezier(.35,0,.25,1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:0}.mat-standard-chip:focus::after{opacity:.16}@media (-ms-high-contrast:active){.mat-standard-chip{outline:solid 1px}.mat-standard-chip:focus{outline:dotted 2px}}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper .mat-standard-chip,.mat-chip-list-wrapper input.mat-input-element{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}"],encapsulation:s.qb.None,changeDetection:s.j.OnPush}]}],e.ctorParameters=function(){return[{type:s.u},{type:s.k},{type:m.b,decorators:[{type:s.R}]},{type:y.i,decorators:[{type:s.R}]},{type:y.d,decorators:[{type:s.R}]},{type:l.b},{type:y.h,decorators:[{type:s.R},{type:s.eb}]}]},e.propDecorators={errorStateMatcher:[{type:s.G}],multiple:[{type:s.G}],compareWith:[{type:s.G}],value:[{type:s.G}],required:[{type:s.G}],placeholder:[{type:s.G}],disabled:[{type:s.G}],ariaOrientation:[{type:s.G,args:["aria-orientation"]}],selectable:[{type:s.G}],tabIndex:[{type:s.G}],change:[{type:s.S}],valueChange:[{type:s.S}],chips:[{type:s.s,args:[O]}]},e}(j),P=0,I=function(){function t(t,e){this._elementRef=t,this._defaultOptions=e,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new s.x,this.placeholder="",this.id="mat-chip-list-input-"+P++,this._disabled=!1,this._inputElement=this._elementRef.nativeElement}return Object.defineProperty(t.prototype,"chipList",{set:function(t){t&&(this._chipList=t,this._chipList.registerInput(this))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"addOnBlur",{get:function(){return this._addOnBlur},set:function(t){this._addOnBlur=Object(i.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled||this._chipList&&this._chipList.disabled},set:function(t){this._disabled=Object(i.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return!this._inputElement.value},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._chipList.stateChanges.next()},t.prototype._keydown=function(t){this._emitChipEnd(t)},t.prototype._blur=function(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()},t.prototype._focus=function(){this.focused=!0,this._chipList.stateChanges.next()},t.prototype._emitChipEnd=function(t){!this._inputElement.value&&t&&this._chipList._keydown(t),t&&!this._isSeparatorKey(t)||(this.chipEnd.emit({input:this._inputElement,value:this._inputElement.value}),t&&t.preventDefault())},t.prototype._onInput=function(){this._chipList.stateChanges.next()},t.prototype.focus=function(){this._inputElement.focus()},t.prototype._isSeparatorKey=function(t){if(Object(o.s)(t))return!1;var e=this.separatorKeyCodes,n=t.keyCode;return Array.isArray(e)?e.indexOf(n)>-1:e.has(n)},t.decorators=[{type:s.t,args:[{selector:"input[matChipInputFor]",exportAs:"matChipInput, matChipInputFor",host:{class:"mat-chip-input mat-input-element","(keydown)":"_keydown($event)","(blur)":"_blur()","(focus)":"_focus()","(input)":"_onInput()","[id]":"id","[attr.disabled]":"disabled || null","[attr.placeholder]":"placeholder || null","[attr.aria-invalid]":"_chipList && _chipList.ngControl ? _chipList.ngControl.invalid : null"}}]}],t.ctorParameters=function(){return[{type:s.u},{type:void 0,decorators:[{type:s.C,args:[S]}]}]},t.propDecorators={chipList:[{type:s.G,args:["matChipInputFor"]}],addOnBlur:[{type:s.G,args:["matChipInputAddOnBlur"]}],separatorKeyCodes:[{type:s.G,args:["matChipInputSeparatorKeyCodes"]}],chipEnd:[{type:s.S,args:["matChipInputTokenEnd"]}],placeholder:[{type:s.G}],id:[{type:s.G}],disabled:[{type:s.G}]},t}(),R=[T,O,I,E,x,C],M={separatorKeyCodes:[o.f]},N=function(){function t(){}return t.decorators=[{type:s.L,args:[{exports:R,declarations:R,providers:[l.b,{provide:S,useValue:M}]}]}],t}()},0:function(t,e,n){t.exports=n("zUnb")},"0/Q6":function(t,e,n){"use strict";n.d(e,"a",function(){return R});var r=n("mrSG"),i=n("CcnG"),o=n("Wf4p"),a=n("K9Ia"),s=n("pugT"),l=n("ny24"),c=n("lLAP"),u=n("n6gG"),p=n("YlbQ"),d=n("YSh2"),h=n("gIcY"),f=n("Ip0R"),m=n("LC5p"),g=function(){},y=Object(o.v)(g),v=function(){},b=Object(o.v)(v),_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._stateChanges=new a.a,e}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(){this._stateChanges.next()},e.prototype.ngOnDestroy=function(){this._stateChanges.complete()},e.decorators=[{type:i.n,args:[{selector:"mat-nav-list",exportAs:"matNavList",host:{role:"navigation",class:"mat-nav-list mat-list-base"},template:"",styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],inputs:["disableRipple"],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e}(y),w=function(t){function e(e){var n=t.call(this)||this;return n._elementRef=e,n._stateChanges=new a.a,"action-list"===n._getListType()&&e&&e.nativeElement.classList.add("mat-action-list"),n}return Object(r.c)(e,t),e.prototype._getListType=function(){var t=this._elementRef;if(t){var e=t.nativeElement.nodeName.toLowerCase();if("mat-list"===e)return"list";if("mat-action-list"===e)return"action-list"}return null},e.prototype.ngOnChanges=function(){this._stateChanges.next()},e.prototype.ngOnDestroy=function(){this._stateChanges.complete()},e.decorators=[{type:i.n,args:[{selector:"mat-list, mat-action-list",exportAs:"matList",template:"",host:{class:"mat-list mat-list-base"},styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],inputs:["disableRipple"],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u}]},e}(y),x=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-list-avatar], [matListAvatar]",host:{class:"mat-list-avatar"}}]}],t}(),C=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-list-icon], [matListIcon]",host:{class:"mat-list-icon"}}]}],t}(),O=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-subheader], [matSubheader]",host:{class:"mat-subheader"}}]}],t}(),E=function(t){function e(e,n,r,i){var o=t.call(this)||this;o._element=e,o._isInteractiveList=!1,o._destroyed=new a.a,o._isInteractiveList=!!(n||r&&"action-list"===r._getListType()),o._list=n||r;var s=o._getHostElement();return"button"!==s.nodeName.toLowerCase()||s.hasAttribute("type")||s.setAttribute("type","button"),o._list&&i&&o._list._stateChanges.pipe(Object(l.a)(o._destroyed)).subscribe(function(){i.markForCheck()}),o}return Object(r.c)(e,t),e.prototype.ngAfterContentInit=function(){Object(o.z)(this._lines,this._element)},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._isRippleDisabled=function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)},e.prototype._getHostElement=function(){return this._element.nativeElement},e.decorators=[{type:i.n,args:[{selector:"mat-list-item, a[mat-list-item], button[mat-list-item]",exportAs:"matListItem",host:{class:"mat-list-item","[class.mat-list-item-avatar]":"_avatar || _icon","[class.mat-list-item-with-avatar]":"_avatar || _icon"},inputs:["disableRipple"],template:'
    ',encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:_,decorators:[{type:i.R}]},{type:w,decorators:[{type:i.R}]},{type:i.k}]},e.propDecorators={_lines:[{type:i.s,args:[o.i]}],_avatar:[{type:i.r,args:[x]}],_icon:[{type:i.r,args:[C]}]},e}(b),S=function(){},k=Object(o.v)(S),j=function(){},A=Object(o.v)(j),D={provide:h.g,useExisting:Object(i.vb)(function(){return I}),multi:!0},T=function(t,e){this.source=t,this.option=e},P=function(t){function e(e,n,r){var i=t.call(this)||this;return i._element=e,i._changeDetector=n,i.selectionList=r,i._selected=!1,i._disabled=!1,i._hasFocus=!1,i.checkboxPosition="after",i}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){this.selected&&t!==this.value&&(this.selected=!1),this._value=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.selectionList&&this.selectionList.disabled},set:function(t){var e=Object(u.c)(t);e!==this._disabled&&(this._disabled=e,this._changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.selectionList.selectedOptions.isSelected(this)},set:function(t){var e=Object(u.c)(t);e!==this._selected&&(this._setSelected(e),this.selectionList._reportValueChange())},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this,e=this._selected;Promise.resolve().then(function(){(t._selected||e)&&(t.selected=!0,t._changeDetector.markForCheck())})},e.prototype.ngAfterContentInit=function(){Object(o.z)(this._lines,this._element)},e.prototype.ngOnDestroy=function(){var t=this;this.selected&&Promise.resolve().then(function(){return t.selected=!1});var e=this._hasFocus,n=this.selectionList._removeOptionFromList(this);e&&n&&n.focus()},e.prototype.toggle=function(){this.selected=!this.selected},e.prototype.focus=function(){this._element.nativeElement.focus()},e.prototype.getLabel=function(){return this._text&&this._text.nativeElement.textContent||""},e.prototype._isRippleDisabled=function(){return this.disabled||this.disableRipple||this.selectionList.disableRipple},e.prototype._handleClick=function(){this.disabled||(this.toggle(),this.selectionList._emitChangeEvent(this))},e.prototype._handleFocus=function(){this.selectionList._setFocusedOption(this),this._hasFocus=!0},e.prototype._handleBlur=function(){this.selectionList._onTouched(),this._hasFocus=!1},e.prototype._getHostElement=function(){return this._element.nativeElement},e.prototype._setSelected=function(t){return t!==this._selected&&(this._selected=t,t?this.selectionList.selectedOptions.select(this):this.selectionList.selectedOptions.deselect(this),this._changeDetector.markForCheck(),!0)},e.prototype._markForCheck=function(){this._changeDetector.markForCheck()},e.decorators=[{type:i.n,args:[{selector:"mat-list-option",exportAs:"matListOption",inputs:["disableRipple"],host:{role:"option",class:"mat-list-item mat-list-option","(focus)":"_handleFocus()","(blur)":"_handleBlur()","(click)":"_handleClick()",tabindex:"-1","[class.mat-list-item-disabled]":"disabled","[class.mat-list-item-with-avatar]":"_avatar || _icon","[attr.aria-selected]":"selected.toString()","[attr.aria-disabled]":"disabled.toString()"},template:'
    ',encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:i.k},{type:I,decorators:[{type:i.C,args:[Object(i.vb)(function(){return I})]}]}]},e.propDecorators={_avatar:[{type:i.r,args:[x]}],_icon:[{type:i.r,args:[C]}],_lines:[{type:i.s,args:[o.i]}],_text:[{type:i.nb,args:["text"]}],checkboxPosition:[{type:i.G}],value:[{type:i.G}],disabled:[{type:i.G}],selected:[{type:i.G}]},e}(A),I=function(t){function e(e,n){var r=t.call(this)||this;return r._element=e,r.selectionChange=new i.x,r.tabIndex=0,r._disabled=!1,r.selectedOptions=new p.c(!0),r._onChange=function(t){},r._modelChanges=s.a.EMPTY,r._onTouched=function(){},r.tabIndex=parseInt(n)||0,r}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(u.c)(t),this._markOptionsForCheck()},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._keyManager=new c.d(this.options).withWrap().withTypeAhead().skipPredicate(function(){return!1}).withAllowedModifierKeys(["shiftKey"]),this._tempValues&&(this._setOptionsFromValues(this._tempValues),this._tempValues=null),this._modelChanges=this.selectedOptions.onChange.subscribe(function(t){if(t.added)for(var e=0,n=t.added;e-1&&this._keyManager.activeItemIndex===e&&(e>0?this._keyManager.updateActiveItem(e-1):0===e&&this.options.length>1&&this._keyManager.updateActiveItem(Math.min(e+1,this.options.length-1))),this._keyManager.activeItem},e.prototype._keydown=function(t){var e=t.keyCode,n=this._keyManager,r=n.activeItemIndex,i=Object(d.s)(t);switch(e){case d.n:case d.f:i||(this._toggleFocusedOption(),t.preventDefault());break;case d.h:case d.e:i||(e===d.h?n.setFirstItemActive():n.setLastItemActive(),t.preventDefault());break;case d.a:Object(d.s)(t,"ctrlKey")&&(this.options.find(function(t){return!t.selected})?this.selectAll():this.deselectAll(),t.preventDefault());break;default:n.onKeydown(t)}e!==d.p&&e!==d.d||!t.shiftKey||n.activeItemIndex===r||this._toggleFocusedOption()},e.prototype._reportValueChange=function(){this.options&&this._onChange(this._getSelectedOptionValues())},e.prototype._emitChangeEvent=function(t){this.selectionChange.emit(new T(this,t))},e.prototype.writeValue=function(t){this.options?this._setOptionsFromValues(t||[]):this._tempValues=t},e.prototype.setDisabledState=function(t){this.disabled=t},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype._setOptionsFromValues=function(t){var e=this;this.options.forEach(function(t){return t._setSelected(!1)}),t.forEach(function(t){var n=e.options.find(function(n){return!n.selected&&(e.compareWith?e.compareWith(n.value,t):n.value===t)});n&&n._setSelected(!0)})},e.prototype._getSelectedOptionValues=function(){return this.options.filter(function(t){return t.selected}).map(function(t){return t.value})},e.prototype._toggleFocusedOption=function(){var t=this._keyManager.activeItemIndex;if(null!=t&&this._isValidIndex(t)){var e=this.options.toArray()[t];e&&!e.disabled&&(e.toggle(),this._emitChangeEvent(e))}},e.prototype._setAllOptionsSelected=function(t){var e=!1;this.options.forEach(function(n){n._setSelected(t)&&(e=!0)}),e&&this._reportValueChange()},e.prototype._isValidIndex=function(t){return t>=0&&t
    ",styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],encapsulation:i.qb.None,providers:[D],changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:String,decorators:[{type:i.h,args:["tabindex"]}]}]},e.propDecorators={options:[{type:i.s,args:[P,{descendants:!0}]}],selectionChange:[{type:i.S}],tabIndex:[{type:i.G}],compareWith:[{type:i.G}],disabled:[{type:i.G}]},e}(k),R=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[o.j,o.q,o.h,o.o,f.b],exports:[w,_,E,x,o.j,o.h,C,O,o.o,I,P,m.a],declarations:[w,_,E,x,C,O,I,P]}]}],t}()},"0/uQ":function(t,e,n){"use strict";var r=n("6blF"),i=n("Fxb1"),o=n("pugT"),a=n("xTla");var s=n("JF+6"),l=n("En8+");var c=n("/WYv"),u=n("2ePl");function p(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[a.a]}(t))return function(t,e){return new r.a(function(n){var r=new o.a;return r.add(e.schedule(function(){var i=t[a.a]();r.add(i.subscribe({next:function(t){r.add(e.schedule(function(){return n.next(t)}))},error:function(t){r.add(e.schedule(function(){return n.error(t)}))},complete:function(){r.add(e.schedule(function(){return n.complete()}))}}))})),r})}(t,e);if(Object(c.a)(t))return function(t,e){return new r.a(function(n){var r=new o.a;return r.add(e.schedule(function(){return t.then(function(t){r.add(e.schedule(function(){n.next(t),r.add(e.schedule(function(){return n.complete()}))}))},function(t){r.add(e.schedule(function(){return n.error(t)}))})})),r})}(t,e);if(Object(u.a)(t))return Object(s.a)(t,e);if(function(t){return t&&"function"==typeof t[l.a]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new o.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(function(){r=t[l.a](),i.add(e.schedule(function(){if(!n.closed){var t,e;try{var i=r.next();t=i.value,e=i.done}catch(o){return void n.error(o)}e?n.complete():(n.next(t),this.schedule())}}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function d(t,e){return e?p(t,e):t instanceof r.a?t:new r.a(Object(i.a)(t))}n.d(e,"a",function(){return d})},"0FJh":function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("o3x0"),o=n("Gwao"),a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e,n){this.minionsService=t,this.dialogRef=e,this.timeline=[],this.retriveTimeline()}return t.prototype.ngOnInit=function(){},t.prototype.isToday=function(t){var e=new Date;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()},t.prototype.retriveTimeline=function(){return c(this,void 0,void 0,function(){var t,e,n,r,i,o,a,s,l,c,p,h;return u(this,function(u){switch(u.label){case 0:return this.loading=!0,[4,this.minionsService.getTimeline()];case 1:if(!(t=u.sent()))return[2];this.timeline=[];try{for(e=d(t),n=e.next();!n.done;n=e.next())r=n.value,i=r.minionId,o=r.timestamp,a=new Date(o),(s=this.minionsService.getMinion(i))||(s={name:"--"}),l=a.toLocaleTimeString(),this.isToday(a)||(l+=" "+a.toLocaleDateString()),c=[],r.status[s.minionType]&&(c=Object.entries(r.status[s.minionType]).map(function(t){return{name:t[0],value:t[1]}}).sort(function(t,e){return t\r\n \r\n {{menu.icon}} \r\n

    {{ menu.name }}

    \r\n \r\n {{menu?.chip?.value}} \r\n \r\n \r\n expand_more\r\n
    \r\n\r\n \x3c!-- RTL --\x3e\r\n \r\n {{menu.icon}} \r\n

    {{ menu.name | translate }}

    \r\n
    \r\n\r\n \x3c!-- LTR --\x3e\r\n \r\n {{menu.icon}} \r\n

    {{ menu.name | translate }}

    \r\n
    \r\n\r\n \r\n \r\n\r\n\r\n'},"2ePl":function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t}},"35e8":function(t,e,n){"use strict";n.d(e,"a",function(){return g});var r=n("CcnG"),i=n("BHnd"),o=n("o3x0"),a=n("gIcY"),s=n("Gwao"),l=n("dO5I"),c=n("WU0F"),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t,e){return function(n,r){e(n,r,t)}},h=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},f=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]` elements explicitly or just place content inside of a `` for a single row.")}())},e.decorators=[{type:a.n,args:[{selector:"mat-toolbar",exportAs:"matToolbar",template:'',styles:["@media (-ms-high-contrast:active){.mat-toolbar{outline:solid 1px}}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}"],inputs:["color"],host:{class:"mat-toolbar","[class.mat-toolbar-multiple-rows]":"_toolbarRows.length > 0","[class.mat-toolbar-single-row]":"_toolbarRows.length === 0"},changeDetection:a.j.OnPush,encapsulation:a.qb.None}]}],e.ctorParameters=function(){return[{type:a.u},{type:i.a},{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},e.propDecorators={_toolbarRows:[{type:a.s,args:[u]}]},e}(c);var d=function(){function t(){}return t.decorators=[{type:a.L,args:[{imports:[s.h],exports:[p,u,s.h],declarations:[p,u]}]}],t}()},"9YZV":function(t,e,n){"use strict";n.r(e),e.default=""},"9Z1F":function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("MGBS"),o=n("rPjj"),a=n("zotm");function s(t){return function(e){var n=new l(t),r=e.lift(n);return n.caught=r}}var l=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.selector,this.caught))},t}(),c=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.selector=n,i.caught=r,i}return r.c(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle();var r=new o.a(this,void 0,void 0);this.add(r),Object(a.a)(this,n,void 0,void 0,r)}},e}(i.a)},Asny:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("6Qg2"),s=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e){return function(n,r){e(n,r,t)}},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]18?this.passwordControl.setErrors({strlength:"The Password length should be between 6 to 18"}):(this.passwordControl.setErrors({strlength:null}),this.passwordControl.updateValueAndValidity())},t.prototype.checkPasswordsMatch=function(){this.passwordSecControl.value===this.passwordControl.value?(this.passwordSecControl.setErrors({unsame:null}),this.passwordSecControl.updateValueAndValidity()):this.passwordSecControl.setErrors({unsame:"The Password not match other"})},t.prototype.ngOnInit=function(){},t.prototype.createUser=function(){return u(this,void 0,void 0,function(){return p(this,function(t){switch(t.label){case 0:return[4,this.usersService.createUser({email:this.emailControl.value,displayName:this.displayNameControl.value,ignoreTfa:"allow"===this.ignoreTfaControl.value,password:this.passwordControl.value,scope:this.scopeControl.value})];case 1:return t.sent(),this.dialogRef.close(),[2]}})})},t.ctorParameters=function(){return[{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=s([Object(r.n)({selector:"app-create-user-dialog",template:d(n("YMlP")).default,styles:[d(n("SO0w")).default]}),c(2,Object(r.C)(i.a)),l("design:paramtypes",[a.a,i.e,Object])],t)}())},AytR:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r={production:!0,baseUrl:"/API"}},BHnd:function(t,e,n){"use strict";var r=n("mrSG"),i=n("n6gG"),o=n("CcnG"),a=n("YlbQ"),s=n("Ip0R"),l=n("K9Ia"),c=n("26FU"),u=n("6blF"),p=n("F/XL"),d=n("ny24"),h=n("Fzqc"),f=n("dWZg");function m(t){return function(t){function e(){for(var e=[],n=0;n",E=function(){function t(t,e){this.template=t,this._differs=e}return t.prototype.ngOnChanges=function(t){if(!this._columnsDiffer){var e=t.columns&&t.columns.currentValue||[];this._columnsDiffer=this._differs.find(e).create(),this._columnsDiffer.diff(e)}},t.prototype.getColumnsDiff=function(){return this._columnsDiffer.diff(this.columns)},t.prototype.extractCellTemplate=function(t){return this instanceof S?t.headerCell.template:this instanceof k?t.footerCell.template:t.cell.template},t}(),S=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(e){t.prototype.ngOnChanges.call(this,e)},e.decorators=[{type:o.t,args:[{selector:"[cdkHeaderRowDef]",inputs:["columns: cdkHeaderRowDef","sticky: cdkHeaderRowDefSticky"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(m(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(E))),k=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(e){t.prototype.ngOnChanges.call(this,e)},e.decorators=[{type:o.t,args:[{selector:"[cdkFooterRowDef]",inputs:["columns: cdkFooterRowDef","sticky: cdkFooterRowDefSticky"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(m(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(E))),j=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.decorators=[{type:o.t,args:[{selector:"[cdkRowDef]",inputs:["columns: cdkRowDefColumns","when: cdkRowDefWhen"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(E),A=function(){function t(e){this._viewContainer=e,t.mostRecentCellOutlet=this}return t.prototype.ngOnDestroy=function(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)},t.mostRecentCellOutlet=null,t.decorators=[{type:o.t,args:[{selector:"[cdkCellOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb}]},t}(),D=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-header-row, tr[cdk-header-row]",template:O,host:{class:"cdk-header-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}(),T=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-footer-row, tr[cdk-footer-row]",template:O,host:{class:"cdk-footer-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}(),P=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-row, tr[cdk-row]",template:O,host:{class:"cdk-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}();function I(t){return Error('Could not find column with id "'+t+'".')}var R=["top","bottom","left","right"],M=function(){function t(t,e,n,r){void 0===r&&(r=!0),this.isNativeHtmlTable=t,this.stickCellCss=e,this.direction=n,this._isBrowser=r}return t.prototype.clearStickyPositioning=function(t,e){for(var n=0,r=t;n0;i--)e[i]&&(n[i]=r,r+=t[i]);return n},t}(),N=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[rowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),F=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[headerRowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),L=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[footerRowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),V='\n \n \n \n \n',B=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}Object(r.c)(e,t)}(o.v),function(){function t(t,e,n,r,i,o,a){this._differs=t,this._changeDetectorRef=e,this._elementRef=n,this._dir=i,this._platform=a,this._onDestroy=new l.a,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this._multiTemplateDataRows=!1,this.viewChange=new c.a({start:0,end:Number.MAX_VALUE}),r||this._elementRef.nativeElement.setAttribute("role","grid"),this._document=o,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}return Object.defineProperty(t.prototype,"trackBy",{get:function(){return this._trackByFn},set:function(t){Object(o.yb)()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(t)+"."),this._trackByFn=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataSource",{get:function(){return this._dataSource},set:function(t){this._dataSource!==t&&this._switchDataSource(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"multiTemplateDataRows",{get:function(){return this._multiTemplateDataRows},set:function(t){this._multiTemplateDataRows=Object(i.c)(t),this._rowOutlet.viewContainer.length&&this._forceRenderDataRows()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create(function(e,n){return t.trackBy?t.trackBy(n.dataIndex,n.data):n})},t.prototype.ngAfterContentChecked=function(){if(this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&!this._rowDefs.length)throw Error("Missing definitions for header, footer, and row; cannot determine which columns should be rendered.");this._renderUpdatedColumns(),this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription&&this._observeRenderChanges(),this._checkStickyStates()},t.prototype.ngOnDestroy=function(){this._rowOutlet.viewContainer.clear(),this._headerRowOutlet.viewContainer.clear(),this._footerRowOutlet.viewContainer.clear(),this._cachedRenderRowsMap.clear(),this._onDestroy.next(),this._onDestroy.complete(),Object(a.e)(this.dataSource)&&this.dataSource.disconnect(this)},t.prototype.renderRows=function(){var t=this;this._renderRows=this._getAllRenderRows();var e=this._dataDiffer.diff(this._renderRows);if(e){var n=this._rowOutlet.viewContainer;e.forEachOperation(function(e,r,i){if(null==e.previousIndex)t._insertRow(e.item,i);else if(null==i)n.remove(r);else{var o=n.get(r);n.move(o,i)}}),this._updateRowIndexContext(),e.forEachIdentityChange(function(t){n.get(t.currentIndex).context.$implicit=t.item.data}),this.updateStickyColumnStyles()}},t.prototype.setHeaderRowDef=function(t){this._customHeaderRowDefs=new Set([t]),this._headerRowDefChanged=!0},t.prototype.setFooterRowDef=function(t){this._customFooterRowDefs=new Set([t]),this._footerRowDefChanged=!0},t.prototype.addColumnDef=function(t){this._customColumnDefs.add(t)},t.prototype.removeColumnDef=function(t){this._customColumnDefs.delete(t)},t.prototype.addRowDef=function(t){this._customRowDefs.add(t)},t.prototype.removeRowDef=function(t){this._customRowDefs.delete(t)},t.prototype.addHeaderRowDef=function(t){this._customHeaderRowDefs.add(t),this._headerRowDefChanged=!0},t.prototype.removeHeaderRowDef=function(t){this._customHeaderRowDefs.delete(t),this._headerRowDefChanged=!0},t.prototype.addFooterRowDef=function(t){this._customFooterRowDefs.add(t),this._footerRowDefChanged=!0},t.prototype.removeFooterRowDef=function(t){this._customFooterRowDefs.delete(t),this._footerRowDefChanged=!0},t.prototype.updateStickyHeaderRowStyles=function(){var t=this._getRenderedRows(this._headerRowOutlet),e=this._elementRef.nativeElement.querySelector("thead");e&&(e.style.display=t.length?"":"none");var n=this._headerRowDefs.map(function(t){return t.sticky});this._stickyStyler.clearStickyPositioning(t,["top"]),this._stickyStyler.stickRows(t,n,"top"),this._headerRowDefs.forEach(function(t){return t.resetStickyChanged()})},t.prototype.updateStickyFooterRowStyles=function(){var t=this._getRenderedRows(this._footerRowOutlet),e=this._elementRef.nativeElement.querySelector("tfoot");e&&(e.style.display=t.length?"":"none");var n=this._footerRowDefs.map(function(t){return t.sticky});this._stickyStyler.clearStickyPositioning(t,["bottom"]),this._stickyStyler.stickRows(t,n,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,n),this._footerRowDefs.forEach(function(t){return t.resetStickyChanged()})},t.prototype.updateStickyColumnStyles=function(){var t=this,e=this._getRenderedRows(this._headerRowOutlet),n=this._getRenderedRows(this._rowOutlet),r=this._getRenderedRows(this._footerRowOutlet);this._stickyStyler.clearStickyPositioning(e.concat(n,r),["left","right"]),e.forEach(function(e,n){t._addStickyColumnStyles([e],t._headerRowDefs[n])}),this._rowDefs.forEach(function(e){for(var r=[],i=0;i1)throw Error("There can only be one default row without a when predicate function.");this._defaultRowDef=t[0]},t.prototype._renderUpdatedColumns=function(){var t=function(t,e){return t||!!e.getColumnsDiff()};this._rowDefs.reduce(t,!1)&&this._forceRenderDataRows(),this._headerRowDefs.reduce(t,!1)&&this._forceRenderHeaderRows(),this._footerRowDefs.reduce(t,!1)&&this._forceRenderFooterRows()},t.prototype._switchDataSource=function(t){this._data=[],Object(a.e)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),t||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=t},t.prototype._observeRenderChanges=function(){var t=this;if(this.dataSource){var e;if(Object(a.e)(this.dataSource)?e=this.dataSource.connect(this):this.dataSource instanceof u.a?e=this.dataSource:Array.isArray(this.dataSource)&&(e=Object(p.a)(this.dataSource)),void 0===e)throw Error("Provided data source did not match an array, Observable, or DataSource");this._renderChangeSubscription=e.pipe(Object(d.a)(this._onDestroy)).subscribe(function(e){t._data=e||[],t.renderRows()})}},t.prototype._forceRenderHeaderRows=function(){var t=this;this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach(function(e,n){return t._renderRow(t._headerRowOutlet,e,n)}),this.updateStickyHeaderRowStyles(),this.updateStickyColumnStyles()},t.prototype._forceRenderFooterRows=function(){var t=this;this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach(function(e,n){return t._renderRow(t._footerRowOutlet,e,n)}),this.updateStickyFooterRowStyles(),this.updateStickyColumnStyles()},t.prototype._addStickyColumnStyles=function(t,e){var n=this,r=Array.from(e.columns||[]).map(function(t){var e=n._columnDefsByName.get(t);if(!e)throw I(t);return e}),i=r.map(function(t){return t.sticky}),o=r.map(function(t){return t.stickyEnd});this._stickyStyler.updateStickyColumns(t,i,o)},t.prototype._getRenderedRows=function(t){for(var e=[],n=0;na?s=1:o0)){var r=Math.ceil(n.length/n.pageSize)-1||0,i=Math.min(n.pageIndex,r);i!==n.pageIndex&&(n.pageIndex=i,e._internalPageChanges.next())}})},e.prototype.connect=function(){return this._renderData},e.prototype.disconnect=function(){},e}(a.b)},CQyT:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
    \r\n {{ \'SELECT_OPERATION\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{operation.operationName}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'SELECT_TIMING_TYPE\' | translate}}\r\n \r\n \r\n --\r\n {{ \'dailySunTrigger\' | translate}}\r\n {{ \'dailyTimeTrigger\' | translate}}\r\n {{ \'once\' | translate}}\r\n {{ \'timeout\' | translate}}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'SET_PROPERTIES\' | translate}}\r\n\r\n \x3c!-- dailySunTrigger --\x3e\r\n \r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n {{ \'DURATION_MUST_BE_ON_SAME_CALENDERY_DAY\' | translate}} \r\n \r\n\r\n \r\n {{ \'SUN_TRIGGER\' | translate}}\r\n \r\n {{ \'SUNRISE\' | translate}}\r\n {{ \'SUNSET\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- dailyTimeTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \x3c!-- TODO: use time picker --\x3e\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- once --\x3e\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- timeout --\x3e\r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_TIMING_MESSAGE\' | translate}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    '},CS9Q:function(t,e,n){"use strict";var r=n("mrSG"),i=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=function(){return Date.now()},t}();n.d(e,"a",function(){return o});var o=function(t){function e(n,r){void 0===r&&(r=i.now);var o=t.call(this,n,function(){return e.delegate&&e.delegate!==o?e.delegate.now():r()})||this;return o.actions=[],o.active=!1,o.scheduled=void 0,o}return r.c(e,t),e.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),e.delegate&&e.delegate!==this?e.delegate.schedule(n,r,i):t.prototype.schedule.call(this,n,r,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(i)},CXDn:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
    \r\n {{ \'CREATE_ACTIVITIES\' | translate}}\r\n\r\n \r\n
    \r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- status Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n {{ \'PROPERTIES\' | translate}} \r\n
      \r\n
    • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
    • \r\n
    \r\n
    {{ \'STATUS\' | translate}} {{ element.status | translate}} {{ \'NAME\' | translate}} {{ element.name }}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_OPERATION_MESSAGE\' | translate}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    '},CcnG:function(t,e,n){"use strict";n.d(e,"g",function(){return fd}),n.d(e,"sb",function(){return ud}),n.d(e,"P",function(){return cd}),n.d(e,"ub",function(){return Vr}),n.d(e,"yb",function(){return Lr}),n.d(e,"c",function(){return vp}),n.d(e,"T",function(){return Ep}),n.d(e,"V",function(){return xp}),n.d(e,"U",function(){return Cp}),n.d(e,"b",function(){return Op}),n.d(e,"d",function(){return gp}),n.d(e,"e",function(){return yp}),n.d(e,"wb",function(){return Fd}),n.d(e,"kb",function(){return ed}),n.d(e,"Ab",function(){return rd}),n.d(e,"hb",function(){return jp}),n.d(e,"ib",function(){return Ap}),n.d(e,"J",function(){return kp}),n.d(e,"K",function(){return wp}),n.d(e,"f",function(){return Hd}),n.d(e,"lb",function(){return ca}),n.d(e,"x",function(){return Ju}),n.d(e,"w",function(){return Mr}),n.d(e,"cb",function(){return fi}),n.d(e,"db",function(){return Kr}),n.d(e,"h",function(){return x}),n.d(e,"a",function(){return hs}),n.d(e,"r",function(){return gs}),n.d(e,"s",function(){return ms}),n.d(e,"nb",function(){return vs}),n.d(e,"ob",function(){return ys}),n.d(e,"n",function(){return op}),n.d(e,"t",function(){return ip}),n.d(e,"z",function(){return cp}),n.d(e,"A",function(){return up}),n.d(e,"G",function(){return sp}),n.d(e,"S",function(){return lp}),n.d(e,"W",function(){return ap}),n.d(e,"L",function(){return fp}),n.d(e,"qb",function(){return ct}),n.d(e,"mb",function(){return vl}),n.d(e,"tc",function(){return O}),n.d(e,"tb",function(){return E}),n.d(e,"vb",function(){return I}),n.d(e,"D",function(){return wa}),n.d(e,"F",function(){return Fa}),n.d(e,"uc",function(){return tt}),n.d(e,"xb",function(){return et}),n.d(e,"B",function(){return U}),n.d(e,"E",function(){return H}),n.d(e,"C",function(){return y}),n.d(e,"R",function(){return v}),n.d(e,"eb",function(){return b}),n.d(e,"fb",function(){return _}),n.d(e,"y",function(){return w}),n.d(e,"Q",function(){return Kp}),n.d(e,"Y",function(){return fl}),n.d(e,"Z",function(){return gl}),n.d(e,"ab",function(){return ml}),n.d(e,"bb",function(){return pl}),n.d(e,"i",function(){return Vp}),n.d(e,"l",function(){return Lp}),n.d(e,"m",function(){return Bp}),n.d(e,"o",function(){return rl}),n.d(e,"q",function(){return nl}),n.d(e,"p",function(){return sl}),n.d(e,"u",function(){return dl}),n.d(e,"M",function(){return pt}),n.d(e,"O",function(){return ut}),n.d(e,"N",function(){return gd}),n.d(e,"X",function(){return ep}),n.d(e,"gb",function(){return bd}),n.d(e,"jb",function(){return Nl}),n.d(e,"pb",function(){return Ll}),n.d(e,"v",function(){return wd}),n.d(e,"j",function(){return st}),n.d(e,"k",function(){return aa}),n.d(e,"H",function(){return Dl}),n.d(e,"I",function(){return Tl}),n.d(e,"rb",function(){return Os}),n.d(e,"zb",function(){return Vd}),n.d(e,"Xb",function(){return Es}),n.d(e,"Db",function(){return Sp}),n.d(e,"Bb",function(){return Ca}),n.d(e,"Cb",function(){return ll}),n.d(e,"Ib",function(){return ma}),n.d(e,"Jb",function(){return di}),n.d(e,"Kb",function(){return yi}),n.d(e,"Lb",function(){return Ur}),n.d(e,"Ub",function(){return B}),n.d(e,"ac",function(){return xs}),n.d(e,"mc",function(){return T}),n.d(e,"Yb",function(){return Bs}),n.d(e,"Zb",function(){return Vs}),n.d(e,"Tb",function(){return Gu}),n.d(e,"Sb",function(){return qu}),n.d(e,"Gb",function(){return zu}),n.d(e,"Hb",function(){return Bu}),n.d(e,"sc",function(){return Pt}),n.d(e,"qc",function(){return bs}),n.d(e,"wc",function(){return ks}),n.d(e,"vc",function(){return js}),n.d(e,"rc",function(){return As}),n.d(e,"xc",function(){return Is}),n.d(e,"lc",function(){return Qu}),n.d(e,"Eb",function(){return Ic}),n.d(e,"Fb",function(){return Rc}),n.d(e,"Mb",function(){return Ud}),n.d(e,"Nb",function(){return Kc}),n.d(e,"Ob",function(){return gf}),n.d(e,"Pb",function(){return rc}),n.d(e,"Qb",function(){return vu}),n.d(e,"Rb",function(){return Gd}),n.d(e,"Vb",function(){return Tc}),n.d(e,"Wb",function(){return Dc}),n.d(e,"bc",function(){return Bc}),n.d(e,"cc",function(){return Vc}),n.d(e,"dc",function(){return th}),n.d(e,"ec",function(){return ou}),n.d(e,"gc",function(){return bu}),n.d(e,"jc",function(){return _u}),n.d(e,"fc",function(){return rh}),n.d(e,"hc",function(){return ih}),n.d(e,"ic",function(){return nh}),n.d(e,"kc",function(){return Qd}),n.d(e,"nc",function(){return ah}),n.d(e,"oc",function(){return tc}),n.d(e,"pc",function(){return ch});var r=n("mrSG"),i=n("pugT"),o=n("K9Ia"),a=n("6blF"),s=n("p0ib"),l=n("S1nX"),c="__annotations__",u="__parameters__",p="__prop__metadata__";function d(t,e,n,i,o){var a=h(e);function s(){for(var t,e=[],n=0;n ");else if("object"==typeof e){var o=[];for(var a in e)if(e.hasOwnProperty(a)){var s=e[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):T(s)))}i="{"+o.join(", ")+"}"}return n+(r?"("+r+")":"")+"["+i+"]: "+t.replace(Y,"\n ")}var st,lt,ct,ut=function(){},pt=function(){};function dt(t,e){void 0===e&&(e=t);for(var n=0;n=t.length?t.push(n):t.splice(e,0,n)}function mt(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function gt(t,e){null==t&&yt(e)}function yt(t){throw new Error("ASSERTION ERROR: "+t)}function vt(t){return""+{toString:t}}(function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"})(st||(st={})),function(t){t[t.CheckOnce=0]="CheckOnce",t[t.Checked=1]="Checked",t[t.CheckAlways=2]="CheckAlways",t[t.Detached=3]="Detached",t[t.Errored=4]="Errored",t[t.Destroyed=5]="Destroyed"}(lt||(lt={})),function(t){t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(ct||(ct={}));var bt={},_t=[];var wt=C({ngComponentDef:C}),xt=C({ngDirectiveDef:C}),Ct=C({ngPipeDef:C}),Ot=C({ngModuleDef:C}),Et=C({ngLocaleIdDef:C}),St=(C({ngBaseDef:C}),C({__NG_ELEMENT_ID__:C})),kt=0;function jt(t){var e=t.type,n=e.prototype,r={},i={type:e,providersResolver:null,consts:t.consts,vars:t.vars,factory:t.factory,template:t.template||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,contentQueries:t.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:t.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:t.changeDetection===st.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||ct.Emulated,id:"c",styles:t.styles||_t,_:null,setInput:null,schemas:t.schemas||null,tView:null};return i._=vt(function(){var n=t.directives,o=t.features,a=t.pipes;i.id+=kt++,i.inputs=Tt(t.inputs,r),i.outputs=Tt(t.outputs),o&&o.forEach(function(t){return t(i)}),i.directiveDefs=n?function(){return("function"==typeof n?n():n).map(At)}:null,i.pipeDefs=a?function(){return("function"==typeof a?a():a).map(Dt)}:null,e.hasOwnProperty(A)||(e[A]=O({token:e,factory:t.factory}))}),i}function At(t){var e=It(t)||Rt(t);return e}function Dt(t){var e=Mt(t);return e}function Tt(t,e){if(null==t)return bt;var n={};for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],o=i;Array.isArray(i)&&(o=i[1],i=i[0]),n[i]=r,e&&(e[i]=o)}return n}var Pt=jt;function It(t){return t[wt]||null}function Rt(t){return t[xt]||null}function Mt(t){return t[Ct]||null}function Nt(t,e){var n=t[Ot]||null;if(!n&&!0===e)throw new Error("Type "+T(t)+" does not have 'ngModuleDef' property.");return n}var Ft=0,Lt=1,Vt=2,Bt=3,zt=4,Ht=5,Ut=6,Gt=7,qt=8,Wt=9,Yt=10,Kt=11,Qt=12,Xt=13,Zt=14,$t=15,Jt=16,te=17,ee=18,ne=19,re=1,ie=2,oe=5,ae=7,se=9;function le(t){return Array.isArray(t)&&"object"==typeof t[re]}function ce(t){return Array.isArray(t)&&!0===t[re]}function ue(t){return 1==(1&t.flags)}function pe(t){return null!==t.template}function de(t){return 0!=(512&t[Vt])}var he=8,fe=8,me=9,ge=-1,ye=function(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n};function ve(t,e,n,r,i,o){var a=e.onChanges,s=e.onInit,l=e.doCheck;i>=0&&(!n.preOrderHooks||i===n.preOrderHooks.length)&&(a||s||l)&&(n.preOrderHooks||(n.preOrderHooks=[])).push(r),o>=0&&(!n.preOrderCheckHooks||o===n.preOrderCheckHooks.length)&&(a||l)&&(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(r),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,a)),s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-t,s),l&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,l),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,l))}function be(t,e){if(t.firstTemplatePass)for(var n=e.directiveStart,r=e.directiveEnd;n=r)break}else e[s]<0&&(t[ee]+=65536),(a>10>16&&(3&t[Vt])===e&&(t[Vt]+=1024,o.call(a)):o.call(a)}var Ce=null,Oe=new Map,Ee=null,Se=1,ke=0;function je(t,e){return Ee&&t===Ee||(Ee=t,e&&(Ce=Oe.get(t)||null),Ce=Ce||{classesBitMask:ke,classesIndex:Se,stylesBitMask:ke,stylesIndex:Se}),Ce}function Ae(){Ce=null,Ee=null}var De="__ngContext__";function Te(t){for(;Array.isArray(t);)t=t[Ft];return t}function Pe(t,e){var n=Te(e[t.index]);return n}function Ie(t,e){var n=t.index,r=-1==n?null:Te(e[n]);return r}function Re(t,e){return e[Lt].data[t+ne]}function Me(t,e){var n=e[t];return le(n)?n:n[Ft]}function Ne(t){return t[De]}function Fe(t){var e=Ne(t);return e?Array.isArray(e)?e:e.lView:null}function Le(t){t[ee]=0}var Ve=null;function Be(t){Ve=t}function ze(){return Ge}var He,Ue,Ge,qe=1,We=qe,Ye=0,Ke=0;function Qe(t){void 0===t&&(t=null),pn!==t&&(hn(null==t?-1:t),We=null==t?0:qe,Ye=0,Ke=0)}function Xe(){We+=1+Ke,Ye=0,Ke=0}function Ze(){return He}function $e(t,e){He=t,Ue=e}function Je(t,e){He=t,Ge=e}function tn(){return Ue}function en(t){return void 0===t&&(t=Ge),4==(4&t[Vt])}var nn=!1;function rn(){return nn}function on(t){nn=t}function an(t){t}function sn(t){t}function ln(t,e){var n=Ge;if(t){var r=t[Lt];r.bindingStartIndex}return He=e,Ue=!0,Ge=t,n}function cn(){Ue=!1,He=null,0,!0,yn(null),Ae(),Oe.clear()}function un(t,e){var n=Ge[Lt];if(en(Ge))Ge[Vt]&=-5;else try{Le(Ge),e&&we(Ge,n.viewHooks,n.viewCheckHooks,nn,2,void 0)}finally{Ge[Vt]&=-73,Ge[Gt]=n.bindingStartIndex}ln(t,null)}var pn=-1;function dn(){return pn}function hn(t){pn=t,Ae()}var fn,mn=null;function gn(){mn=null}function yn(t){fn=t}function vn(){return fn}function bn(t,e){return!(t!=t&&e!=e)&&t!==e}function _n(t){return"string"==typeof t?t:null==t?"":""+t}function wn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():_n(t)}var xn=("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(B);var Cn="�";function On(t){return t.indexOf(Cn)>=0}function En(t){return t instanceof Function?t():t}var Sn,kn="--MAP--",jn=0;function An(t,e){e===jn?t[2]>jn&&function(t){Tn(t,2|Dn(t))}(t):t[2]=e}function Dn(t){return t[1]}function Tn(t,e){t[1]=e}function Pn(t,e){return t[e+2]}function In(t,e){return 1&t[e+0]}function Rn(t,e){return(1&In(t,e))>0}function Mn(t,e){return t[e+0]>>1}function Nn(t,e,n){var r=In(t,e),i=n<<1;t[e+0]=r|i}function Fn(t,e){return t[e+1]}function Ln(t,e,n){return t[e+3+n]}function Vn(t,e){return t[e+3+Fn(t,e)-1]}function Bn(t,e){return!(!t||e!==t[2])}function zn(t){return(1&Dn(t))>0}function Hn(t){return(2&Dn(t))>0}function Un(t){return 6+t[4]}function Gn(t,e){var n=Array.isArray(t)?t[0]:t,r=Array.isArray(e)?e[0]:e;return n instanceof String&&(n=n.toString()),r instanceof String&&(r=r.toString()),bn(n,r)}function qn(t){return null!=t&&""!==t}function Wn(t,e,n){return void 0===n&&(n=" "),t+(e.length&&t.length?n:"")+e}function Yn(t){return t.replace(/[a-z][A-Z]/g,function(t){return t.charAt(0)+"-"+t.charAt(1)}).toLowerCase()}function Kn(t){return Qn(t)?t[0]:t}function Qn(t){return Array.isArray(t)&&t.length>=6&&"string"!=typeof t[1]}function Xn(t){var e=Kn(t);return e&&e[0]||""}function Zn(t){return 0!=(8&t.flags)}function $n(t){return 0!=(16&t.flags)}function Jn(t,e){return t[e+0]}function tr(t,e,n){t[e+1]=n}function er(t,e){return t[e+1]}function nr(t){return!!t.listen}!function(t){t[t.Important=1]="Important",t[t.DashCase=2]="DashCase"}(Sn||(Sn={}));var rr={createRenderer:function(t,e){return document}};function ir(t){return t!==ge}function or(t){return 32767&t}function ar(t){return t>>16}function sr(t,e){for(var n=ar(t),r=e;n>0;)r=r[Jt],n--;return r}function lr(t){var e=t[Bt];return ce(e)?e[Bt]:e}function cr(t){for(var e=le(t)?t:Fe(t);e&&!(512&e[Vt]);)e=lr(e);return e}function ur(t){for(var e=t[Ut];null!==e&&2===e.type;)e=(t=t[Jt])[Ut];return t}function pr(t){var e=cr(t);return e[Wt]}var dr=!0;function hr(t){var e=dr;return dr=t,e}var fr=255,mr=0;function gr(t,e){var n=vr(t,e);if(-1!==n)return n;var r=e[Lt];r.firstTemplatePass&&(t.injectorIndex=e.length,yr(r.data,t),yr(e,null),yr(r.blueprint,null));var i=br(t,e),o=or(i),a=sr(i,e),s=t.injectorIndex;if(ir(i))for(var l=a[Lt].data,c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c];return e[s+fe]=i,s}function yr(t,e){t.push(0,0,0,0,0,0,0,0,e)}function vr(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null==e[t.injectorIndex+fe]?-1:t.injectorIndex}function br(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;for(var n=e[Ut],r=1;n&&-1===n.injectorIndex;)n=(e=e[Jt])?e[Ut]:null,r++;return n?n.injectorIndex|r<<16:-1}function _r(t,e,n){!function(t,e,n){var r="string"!=typeof n?n[St]:n.charCodeAt(0)||0;null==r&&(r=n[St]=mr++);var i=r&fr,o=1<0?e&fr:e}(n);if("function"==typeof o){var a=Ze(),s=ze();Je(t,e);try{var l=o();if(null!=l||r&g.Optional)return l;throw new Error("No provider for "+wn(n)+"!")}finally{Je(a,s)}}else if("number"==typeof o){if(-1===o)return new jr(t,e);var c=null,u=vr(t,e),p=ge,d=r&g.Host?ur(e)[Ut]:null;for((-1===u||r&g.SkipSelf)&&(p=-1===u?br(t,e):e[u+fe],kr(r,!1)?(c=e[Lt],u=or(p),e=sr(p,e)):u=-1);-1!==u;){p=e[u+fe];var h=e[Lt];if(Sr(o,u,h.data)){var f=Cr(u,e,n,c,r,d);if(f!==xr)return f}kr(r,e[Lt].data[u+he]===d)&&Sr(o,u,e)?(c=h,u=or(p),e=sr(p,e)):u=-1}}}if(r&g.Optional&&void 0===i&&(i=null),0==(r&(g.Self|g.Host))){var m=e[Yt],y=J(void 0);try{return m?m.get(n,i,r&g.Optional):nt(n,i,r&g.Optional)}finally{J(y)}}if(r&g.Optional)return i;throw new Error("NodeInjector: NOT_FOUND ["+wn(n)+"]")}var xr={};function Cr(t,e,n,r,i,o){var a=e[Lt],s=a.data[t+he],l=Or(s,a,n,null==r?ue(s)&&dr:r!=a&&3===s.type,i&g.Host&&o===s);return null!==l?Er(a.data,e,l,s):xr}function Or(t,e,n,r,i){for(var o=t.providerIndexes,a=e.data,s=65535&o,l=t.directiveStart,c=t.directiveEnd,u=o>>16,p=i?s+u:c,d=r?s:s+u;d=l&&h.type===n)return d}if(i){var f=a[l];if(f&&pe(f)&&f.type===n)return l}return null}function Er(t,e,n,r){var i,o=e[n];if(null!==(i=o)&&"object"==typeof i&&Object.getPrototypeOf(i)==ye.prototype){var a=o;if(a.resolving)throw new Error("Circular dep for "+wn(t[n]));var s=hr(a.canSeeViewProviders);a.resolving=!0;var l=void 0;a.injectImpl&&(l=J(a.injectImpl));var c=Ze(),u=ze();Je(r,e);try{o=e[n]=a.factory(void 0,t,e,r)}finally{a.injectImpl&&J(l),hr(s),a.resolving=!1,Je(c,u)}}return o}function Sr(t,e,n){var r=1<',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='

    ',this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement=this.getInertBodyElement_DOMParser:this.getInertBodyElement=this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}return t.prototype.getInertBodyElement_XHR=function(t){t=""+t+"";try{t=encodeURI(t)}catch(r){return null}var e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(void 0);var n=e.response.body;return n.removeChild(n.firstChild),n},t.prototype.getInertBodyElement_DOMParser=function(t){t=""+t+"";try{var e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(n){return null}},t.prototype.getInertBodyElement_InertDocument=function(t){var e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)},t.prototype.stripCustomNsAttrs=function(t){for(var e=t.attributes,n=e.length-1;0"),!0},t.prototype.endElement=function(t){var e=t.nodeName.toLowerCase();ei.hasOwnProperty(e)&&!Qr.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(pi(t))},t.prototype.checkClobberedElement=function(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: "+t.outerHTML);return e},t}(),ci=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ui=/([^\#-~ |!])/g;function pi(t){return t.replace(/&/g,"&").replace(ci,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(ui,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}function di(t,e){var n=null;try{Yr=Yr||new Br(t);var r=e?String(e):"";n=Yr.getInertBodyElement(r);var i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=n.innerHTML,n=Yr.getInertBodyElement(r)}while(r!==o);var a=new li,s=a.sanitizeChildren(hi(n)||n);return Lr()&&a.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n)for(var l=hi(n)||n;l.firstChild;)l.removeChild(l.firstChild)}}function hi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}!function(t){t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL"}(Kr||(Kr={}));var fi=function(){},mi=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),gi=/^url\(([^)]+)\)$/;function yi(t){if(!(t=String(t).trim()))return"";var e=t.match(gi);return e&&Ur(e[1])===e[1]||t.match(mi)&&function(t){for(var e=!0,n=!0,r=0;r=0){var f;Ci(f=Te(r[h]),l=xi(r,h,f)),n=l;break}}}return n||null}function xi(t,e,n){return{lView:t,nodeIndex:e,native:n,component:void 0,directives:void 0,localRefs:void 0}}function Ci(t,e){t[De]=e}function Oi(t,e){for(var n=t[Lt].firstChild;n;){if(Ie(n,t)===e)return n.index;n=Ei(n)}return-1}function Ei(t){if(t.child)return t.child;if(t.next)return t.next;for(;t.parent&&!t.parent.next;)t=t.parent;return t.parent&&t.parent.next}function Si(t,e){var n=t[Lt].components;if(n)for(var r=0;rke}(r,o))?(Ui(r,t,e,n,o,a,s),!0):i}function Ui(t,e,n,r,i,o,a){for(var s=function(t){return!0===t?-1:!1===t?0:t}(i),l=Gi,c=(s&Mn(t,3))>0?1:0,u=Un(t);u=to.length&&to.push(1);return to[t]}(c);ml,v=!y&&g===l,b=er(f,m),_=qn(b),w=y?s:$i(s,_,v),x=y?l:g,C=t(e,n,r,i,o,a,w,x,c+1,u);if(y){p||(p=C);break}if(!C&&Ji(s,v)){var O=v&&!_,E=O?u:b,S=O?h:null,k=a?a(g,E,3):E;o(n,r,g,k,S),C=!0}p=C&&v,m+=2}if(j=m,to[c]=j,1===f.length||!l)return t(e,n,r,i,o,a,s,l,c+1,u)}var j;return p}(t,e,n,r,i,o,a,s||null,0,l||null)),p&&function(){for(var t=0;t0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}var to=[];function eo(t,e,n,r){for(var i=1;i0&&Zi();var e=this._isClassBased?null:this._sanitizer||vn();Ui(this.context,null,{},this._data,!0,function(e,n,r,i,o){t(r,i,o||null)},e)},t}();!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h,f,m,g,y,v,b,_,w,x,C){this.tView_=t,this.type=e,this.index=n,this.injectorIndex=r,this.directiveStart=i,this.directiveEnd=o,this.propertyMetadataStartIndex=a,this.propertyMetadataEndIndex=s,this.flags=l,this.providerIndexes=c,this.tagName=u,this.attrs=p,this.localNames=d,this.initialInputs=h,this.inputs=f,this.outputs=m,this.tViews=g,this.next=y,this.projectionNext=v,this.child=b,this.parent=_,this.projection=w,this.styles=x,this.classes=C}Object.defineProperty(t.prototype,"type_",{get:function(){switch(this.type){case 0:return"TNodeType.Container";case 3:return"TNodeType.Element";case 4:return"TNodeType.ElementContainer";case 5:return"TNodeType.IcuContainer";case 1:return"TNodeType.Projection";case 2:return"TNodeType.View";default:return"TNodeType.???"}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flags_",{get:function(){var t=[];return 8&this.flags&&t.push("TNodeFlags.hasClassInput"),4&this.flags&&t.push("TNodeFlags.hasContentQuery"),16&this.flags&&t.push("TNodeFlags.hasStyleInput"),1&this.flags&&t.push("TNodeFlags.isComponent"),32&this.flags&&t.push("TNodeFlags.isDetached"),2&this.flags&&t.push("TNodeFlags.isProjected"),t.join("|")},enumerable:!0,configurable:!0})}();function io(t){if(t){var e=t.debug;return gt(e,"Object does not have a debug representation."),e}return t}function oo(t,e){void 0===e&&(e=!1);var n=Te(t);if(n){var r=n.nodeType===Node.TEXT_NODE,i=(r?n.textContent:n.outerHTML)||"";if(e||r)return i;var o=n.innerHTML;return i.split(o)[0]||null}return null}!function(){function t(t){this._raw_lView=t}Object.defineProperty(t.prototype,"flags",{get:function(){var t=this._raw_lView[Vt];return{__raw__flags__:t,initPhaseState:3&t,creationMode:!!(4&t),firstViewPass:!!(8&t),checkAlways:!!(16&t),dirty:!!(64&t),attached:!!(128&t),destroyed:!!(256&t),isRoot:!!(512&t),indexWithinInitPhase:t>>10}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return io(this._raw_lView[Bt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return oo(this._raw_lView[Ft],!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._raw_lView[Wt]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nodes",{get:function(){var t=this._raw_lView;return function t(e,n){if(e){for(var r=[],i=e;i;){var o=n[e.index],a=Te(o),s=io(ao(o)),l=Qn(e.styles)?new ro(e.styles,n):null,c=Qn(e.classes)?new ro(e.classes,n,!0):null;r.push({html:oo(a),native:a,styles:l,classes:c,nodes:t(e.child,n),component:s}),i=i.next}return r}return null}(t[Lt].firstChild,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{tView:this._raw_lView[Lt],cleanup:this._raw_lView[qt],injector:this._raw_lView[Yt],rendererFactory:this._raw_lView[Kt],renderer:this._raw_lView[Qt],sanitizer:this._raw_lView[Xt],childHead:io(this._raw_lView[Zt]),next:io(this._raw_lView[zt]),childTail:io(this._raw_lView[$t]),declarationView:io(this._raw_lView[Jt]),queries:null,tHost:this._raw_lView[Ut],bindingIndex:this._raw_lView[Gt]}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"childViews",{get:function(){for(var t=[],e=this.__other__.childHead;e;)t.push(e),e=e.__other__.next;return t},enumerable:!0,configurable:!0})}();!function(){function t(t){this._raw_lContainer=t}Object.defineProperty(t.prototype,"activeIndex",{get:function(){return this._raw_lContainer[ie]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"views",{get:function(){return this._raw_lContainer.slice(se).map(io)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return io(this._raw_lContainer[Bt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"movedViews",{get:function(){return this._raw_lContainer[oe]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return this._raw_lContainer[Ft]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"native",{get:function(){return this._raw_lContainer[ae]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{next:io(this._raw_lContainer[zt])}},enumerable:!0,configurable:!0})}();function ao(t){for(;Array.isArray(t);){if(t.length>=ne-1)return t;t=t[Ft]}return null}var so=function(){function t(t,e,n,r){this.__raw_opCode=t,this._lView=e,this.nodeIndex=n,this.type=r}return Object.defineProperty(t.prototype,"tNode",{get:function(){return Re(this.nodeIndex,this._lView)},enumerable:!0,configurable:!0}),t}();(function(){function t(t,e){this.__raw_opCodes=t,this.__lView=e}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=[],r=0;r>>17,"AppendChild");break;case 0:o=new so(i,t,i>>>3,"Select");break;case 5:var a=i>>>3;o=new so(i,t,a,"ElementEnd");break;case 4:(o=new so(i,t,a=i>>>3,"Attr")).attrName=e[++r],o.attrValue=e[++r]}if(!o)switch(i){case Qi:o={__raw_opCode:i,type:"COMMENT_MARKER",commentValue:e[++r],nodeIndex:e[++r]};break;case Ki:o={__raw_opCode:i,type:"ELEMENT_MARKER"}}o||(o={__raw_opCode:i,type:"Unknown Op Code",code:i}),n.push(o)}return n},enumerable:!0,configurable:!0})})(),function(){function t(t,e,n){this.__raw_opCodes=t,this.icus=e,this.__lView=n}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=this.icus,r=[],i=0;i>>2,p=void 0,d=void 0;switch(3&c){case 1:var h=e[++l],f=e[++l];r.push({__raw_opCode:c,checkBit:o,type:"Attr",attrValue:s,attrName:h,sanitizeFn:f});break;case 0:r.push({__raw_opCode:c,checkBit:o,type:"Text",nodeIndex:u,text:s});break;case 2:d=n[p=e[++l]];var m=new so(c,t,u,"IcuSwitch");m.tIcuIndex=p,m.checkBit=o,m.mainBinding=s,m.tIcu=d,r.push(m);break;case 3:d=n[p=e[++l]],(m=new so(c,t,u,"IcuUpdate")).tIcuIndex=p,m.checkBit=o,m.tIcu=d,r.push(m)}}}i+=a}return r},enumerable:!0,configurable:!0})}();function lo(t,e){_e(t,t[Lt],rn(),e),hn(e)}var co=Promise.resolve(null);function uo(t){var e=t[Lt],n=en(t);if(e.firstTemplatePass=!1,t[Gt]=e.bindingStartIndex,!n){var r=rn();_e(t,e,r,void 0),function(t){for(var e=t[Zt];null!==e;e=e[zt])if(-1===e[ie]&&ce(e))for(var n=se;n=0?n[s]():n[-s].unsubscribe(),r+=2}else{var l=n[e[r+1]];e[r].call(l)}t[qt]=null}}(t);var e=t[Ut];e&&3===e.type&&nr(t[Qt])&&t[Qt].destroy();var n=t[te];if(null!==n&&ce(t[Bt])){n!==t[Bt]&&Yo(n,t);var r=t[Ht];null!==r&&r.detachView(t[Lt])}}}function Zo(t,e,n,r){nr(t)?t.insertBefore(e,n,r):e.insertBefore(n,r,!0)}function $o(t,e){return nr(t)?t.parentNode(e):e.parentNode}function Jo(t,e,n){var r=$o(t,e);r&&function(t,e,n,r){nr(t)?t.removeChild(e,n,r):e.removeChild(n)}(t,r,e,n)}function ta(t,e,n,r,i){for(var o=n[Lt],a=o.node.child;null!==a;)ea(t,e,n,a,r,i),a=a.next}function ea(t,e,n,r,i,o){var a=r.type;32&r.flags||(4===a||5===a?function(t,e,n,r,i,o){Wo(e,t,i,n[r.index],o);for(var a=r.child;a;)ea(t,e,n,a,i,o),a=a.next}(t,e,n,r,i,o):1===a?function(t,e,n,r,i,o){var a=ur(n),s=a[Ut],l=s.projection[r.projection];if(void 0!==l)if(Array.isArray(l))for(var c=0;c-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Ko(this._lView)},t.prototype.onDestroy=function(t){var e,n;e=this._lView,n=t,zo(e).push(n),e[Lt].firstTemplatePass&&Ho(e).push(e[qt].length-1,null)},t.prototype.markForCheck=function(){Io(this._lView)},t.prototype.detach=function(){this._lView[Vt]&=-129},t.prototype.reattach=function(){this._lView[Vt]|=128},t.prototype.detectChanges=function(){Mo(this._lView,this.context)},t.prototype.checkNoChanges=function(){Fo(this._lView,this.context)},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t.prototype.detachFromAppRef=function(){this._appRef=null,function(t){ta(t[Qt],1,t,null,null)}(this._lView)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype._lookUpContext=function(){return this._context=lr(this._lView)[this._componentIndex]},t}(),ia=function(t){function e(e){var n=t.call(this,e,null,-1)||this;return n._view=e,n}return Object(r.c)(e,t),e.prototype.detectChanges=function(){No(this._view)},e.prototype.checkNoChanges=function(){!function(t){on(!0);try{No(t)}finally{on(!1)}}(this._view)},Object.defineProperty(e.prototype,"context",{get:function(){return null},enumerable:!0,configurable:!0}),e}(ra);function oa(t,e,n){return na||(na=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(t)),new na(Pe(e,n))}var aa=function(){function t(){}return t.__NG_ELEMENT_ID__=function(){return la()},t}(),sa=function(){for(var t=[],e=0;e0){var n=new Array(e).fill("?");throw new Error("Can't resolve all parameters for "+T(t)+": ("+n.join(", ")+").")}var r=(i=t,i&&i[A]?(console.warn('DEPRECATED: DI is instantiating a token "'+i.name+'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "'+i.name+'" class.'),i[A]):null);var i;return null!==r?function(){return r.factory(t)}:function(){return new t}}(t);throw new Error("unreachable")}function Pa(t,e,n){var i,o=void 0;if(Ma(t))return Ta(R(t));if(Ra(t))o=function(){return R(t.useValue)};else if((i=t)&&i.useExisting)o=function(){return tt(R(t.useExisting))};else if(function(t){return!(!t||!t.useFactory)}(t))o=function(){return t.useFactory.apply(t,Object(r.g)(rt(t.deps||[])))};else{var a=R(t&&(t.useClass||t.provide));if(a||function(t,e,n){var r="";throw t&&e&&(r=" - only instances of Provider and Type are allowed, got: ["+e.map(function(t){return t==n?"?"+n+"?":"..."}).join(", ")+"]"),new Error("Invalid provider for the NgModule '"+T(t)+"'"+r)}(e,n,t),!function(t){return!!t.deps}(t))return Ta(a);o=function(){return new(a.bind.apply(a,Object(r.g)([void 0],rt(t.deps))))}}return o}function Ia(t,e,n){return void 0===n&&(n=!1),{factory:t,value:e,multi:n?[]:void 0}}function Ra(t){return null!==t&&"object"==typeof t&&X in t}function Ma(t){return"function"==typeof t}var Na=function(t,e,n){return new Ua(t,e,n)},Fa=function(){function t(){}return t.create=function(t,e){return Array.isArray(t)?Na(t,e,""):Na(t.providers,t.parent,t.name||"")},t.THROW_IF_NOT_FOUND=G,t.NULL=new it,t.ngInjectableDef=O({token:t,providedIn:"any",factory:function(){return tt(U)}}),t.__NG_ELEMENT_ID__=-1,t}(),La=function(t){return t},Va=[],Ba=La,za=function(){return Array.prototype.slice.call(arguments)},Ha="ɵ",Ua=function(){function t(t,e,n){void 0===e&&(e=Fa.NULL),void 0===n&&(n=null),this.parent=e,this.source=n;var r=this._records=new Map;r.set(Fa,{token:Fa,fn:La,deps:Va,value:this,useNew:!1}),r.set(U,{token:U,fn:La,deps:Va,value:this,useNew:!1}),function t(e,n){if(n)if((n=R(n))instanceof Array)for(var r=0;r1?" ("+function(t){for(var e=[],n=0;n-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(function(t){return T(t.token)}).join(" -> ")+")":""}function Ka(t,e,n,r){var i=[e],o=n(i),a=r?function(t,e){var n=t+" caused by: "+(e instanceof Error?e.message:e),r=Error(n);return r[Dr]=e,r}(o,r):Error(o);return a.addKey=Qa,a.keys=i,a.injectors=[t],a.constructResolvingMessage=n,a[Dr]=r,a}function Qa(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function Xa(t,e){for(var n=[],r=0,i=e.length;r=this._providers.length)throw function(t){return Error("Index "+t+" is out-of-bounds.")}(t);return this._providers[t]},t.prototype._new=function(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw e=this,n=t.key,Ka(e,n,function(t){return"Cannot instantiate cyclic dependency!"+Ya(t)});var e,n;return this._instantiateProvider(t)},t.prototype._getMaxNumberOfObjects=function(){return this.objs.length},t.prototype._instantiateProvider=function(t){if(t.multiProvider){for(var e=new Array(t.resolvedFactories.length),n=0;n=2&&r[i-2]===e.hostBindings?r[i-1]=r[i-1]+n:r.push(e.hostBindings,n)}(n,Ve,t),function(t,e,n){for(var r=0;r0&&(r=n?Wn(t,((i=e)&&"string"!=typeof i&&(i=Object.keys(i).join(" ")),i||"")):Wn(t,function(t){var e="";if(t)for(var n=Object.keys(t),r=0;r0}function Vs(t){return!!t&&"function"==typeof t.then}function Bs(t){return!!t&&"function"==typeof t.subscribe}function zs(t){var e=Ys(t);return void 0===e.component&&(e.component=function(t,e){var n=e[Lt].data[t],r=n.directiveStart;return 1&n.flags?e[r]:null}(e.nodeIndex,e.lView)),e.component}function Hs(t){return Ys(t).lView[Wt]}function Us(t){for(var e,n=qs(t).lView;null===n[Ft]&&(e=lr(n));)n=e;return 512&n[Vt]?null:n[Wt]}function Gs(t){var e=qs(t),n=e.lView[Lt].data[e.nodeIndex];return new jr(n,e.lView)}function qs(t,e){void 0===e&&(e=!0);var n=wi(t);if(!n&&e)throw new Error("Invalid ng target");return n}function Ws(t){var e=qs(t);return void 0===e.localRefs&&(e.localRefs=function(t,e){var n=t[Lt].data[e];if(n&&n.localNames){for(var r={},i=n.index+1,o=0;o=0)&&null;t==u&&o.push({element:t,name:c,callback:p,useCapture:h})}}return o.sort(Xs),o}function Xs(t,e){return t.name==e.name?0:t.name-1}(r,i.providedIn)||"root"===i.providedIn&&r._def.isRoot))){var u=t._providers.length;return t._def.providers[u]=t._def.providersByKey[e.tokenKey]={flags:5120,value:l.factory,deps:[],index:u,token:e.token},t._providers[u]=Mc,t._providers[u]=Hc(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{$(o)}}function Hc(t,e){var n;switch(201347067&e.flags){case 512:n=function(t,e,n){var i=n.length;switch(i){case 0:return new e;case 1:return new e(zc(t,n[0]));case 2:return new e(zc(t,n[0]),zc(t,n[1]));case 3:return new e(zc(t,n[0]),zc(t,n[1]),zc(t,n[2]));default:for(var o=new Array(i),a=0;a0?i[n-1]:null,r)}function Gc(t,e){var n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,mt(n,e),Xl.dirtyParentQueries(r),Wc(r),r}function qc(t,e,n){var r=e?hc(e,e.def.lastRenderRootNode):t.renderElement,i=n.renderer.parentNode(r),o=n.renderer.nextSibling(r);xc(n,2,i,o,void 0)}function Wc(t){xc(t,3,null,null,void 0)}var Yc=new Object;function Kc(t,e,n,r,i,o){return new Qc(t,e,n,r,i,o)}var Qc=function(t){function e(e,n,r,i,o,a){var s=t.call(this)||this;return s.selector=e,s.componentType=n,s._inputs=i,s._outputs=o,s.ngContentSelectors=a,s.viewDefFactory=r,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e){var r=e[n];t.push({propName:n,templateName:r})}return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs){var n=this._outputs[e];t.push({propName:e,templateName:n})}return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=wc(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,a=Xl.createRootView(t,e||[],n,i,r,Yc),s=Yl(a,o).instance;return n&&a.renderer.setAttribute(Wl(a,0).renderElement,"ng-version",bl.full),new Xc(a,new tu(a),s)},e}(rl),Xc=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new dl(Wl(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new iu(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(nl);function Zc(t,e,n){return new $c(t,e,n)}var $c=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new dl(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new iu(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=dc(t),t=t.parent;return t?new iu(t,e):new iu(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=Gc(this._data,t);Xl.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new tu(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof cl||(i=o.get(ut));var a=t.create(o,r,void 0,i);return this.insert(a.hostView,e),a},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n=t,r=n._view;return Uc(this._view,this._data,e,r),n.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,a,s=this._embeddedViews.indexOf(t._view);return n=this._data,r=s,i=e,o=n.viewContainer._embeddedViews,a=o[r],mt(o,r),null==i&&(i=o.length),ft(o,i,a),Xl.dirtyParentQueries(a),Wc(a),qc(n,i>0?o[i-1]:null,a),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=Gc(this._data,t);e&&Xl.destroyView(e)},t.prototype.detach=function(t){var e=Gc(this._data,t);return e?new tu(e):null},t}();function Jc(t){return new tu(t)}var tu=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return xc(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){lc(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{Xl.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){Xl.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Xl.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,Wc(this._view),Xl.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function eu(t,e){return new nu(t,e)}var nu=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.c)(e,t),e.prototype.createEmbeddedView=function(t){return new tu(Xl.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new dl(Wl(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(Nl);function ru(t,e){return new iu(t,e)}var iu=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){void 0===e&&(e=Fa.THROW_IF_NOT_FOUND);var n=!!this.elDef&&0!=(33554432&this.elDef.flags);return Xl.resolveDep(this.view,this.elDef,n,{flags:0,token:t,tokenKey:Jl(t)},e)},t}();function ou(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=Wl(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return ql(t,n.nodeIndex).renderText;if(20240&n.flags)return Yl(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function au(t){return new su(t.renderer)}var su=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Object(r.f)(jc(e),2),i=n[0],o=n[1],a=this.delegate.createElement(o,i);return t&&this.delegate.appendChild(t,a),a},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,r=ku(t,e.parent,n,e.provider.value,e.provider.deps);if(e.outputs.length)for(var i=0;i0,i=e.provider;switch(201347067&e.flags){case 512:return ku(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,o){var a=o.length;switch(a){case 0:return i();case 1:return i(Au(t,e,n,o[0]));case 2:return i(Au(t,e,n,o[0]),Au(t,e,n,o[1]));case 3:return i(Au(t,e,n,o[0]),Au(t,e,n,o[1]),Au(t,e,n,o[2]));default:for(var s=Array(a),l=0;l0&&(i=setTimeout(function(){r._callbacks=r._callbacks.filter(function(t){return t.timeoutId!==i}),t(r._didWork,r.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})},t.prototype.whenStable=function(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findProviders=function(t,e,n){return[]},t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Kp])],t)}(),nd=function(){function t(){this._applications=new Map,od.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.unregisterApplication=function(t){this._applications.delete(t)},t.prototype.unregisterAllApplications=function(){this._applications.clear()},t.prototype.getTestability=function(t){return this._applications.get(t)||null},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),od.findTestabilityInTree(this,t,e)},t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[])],t)}();function rd(t){od=t}var id,od=new(function(){function t(){}return t.prototype.addToWindow=function(t){},t.prototype.findTestabilityInTree=function(t,e,n){return null},t}()),ad=function(t,e,n){return t.get(Bp).createCompiler([e]).compileModuleAsync(n)};var sd=function(t){return t instanceof cl};var ld=new H("AllowMultipleToken"),cd=function(t,e){this.name=t,this.token=e};function ud(t,e,n){void 0===n&&(n=[]);var r="Platform: "+e,i=new H(r);return function(e){void 0===e&&(e=[]);var o=pd();if(!o||o.injector.get(ld,!1))if(t)t(n.concat(e).concat({provide:i,useValue:!0}));else{var a=n.concat(e).concat({provide:i,useValue:!0});!function(t){if(id&&!id.destroyed&&!id.injector.get(ld,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");id=t.get(dd);var e=t.get(xp,null);e&&e.forEach(function(t){return t()})}(Fa.create({providers:a,name:r}))}return function(t){var e=pd();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(i)}}function pd(){return id&&!id.destroyed?id:null}var dd=function(){function t(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return t.prototype.bootstrapModuleFactory=function(t,e){var n=this,r=function(t){var e;e="noop"===t?new td:("zone.js"===t?void 0:t)||new Kp({enableLongStackTrace:Lr()});return e}(e?e.ngZone:void 0),i=[{provide:Kp,useValue:r}];return r.run(function(){var e=Fa.create({providers:i,parent:n.injector,name:t.moduleType.name}),o=t.create(e),a=o.injector.get(Mr,null);if(!a)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");Dp&&Yu(o.injector.get(kp,Wu)||Wu);return o.onDestroy(function(){return md(n._modules,o)}),r.runOutsideAngular(function(){return r.onError.subscribe({next:function(t){a.handleError(t)}})}),function(t,e,n){try{var r=n();return Vs(r)?r.catch(function(n){throw e.runOutsideAngular(function(){return t.handleError(n)}),n}):r}catch(i){throw e.runOutsideAngular(function(){return t.handleError(i)}),i}}(a,r,function(){var t=o.injector.get(yp);return t.runInitializers(),t.donePromise.then(function(){return n._moduleDoBootstrap(o),o})})})},t.prototype.bootstrapModule=function(t,e){var n=this;void 0===e&&(e=[]);var r=hd({},e);return ad(this.injector,r,t).then(function(t){return n.bootstrapModuleFactory(t,r)})},t.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(fd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+T(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Fa])],t)}();function hd(t,e){return t=Array.isArray(e)?e.reduce(hd,t):Object(r.a)({},t,e)}var fd=function(){function t(t,e,n,r,i,o){var c=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=Lr(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run(function(){c.tick()})}});var u=new a.a(function(t){c._stable=c._zone.isStable&&!c._zone.hasPendingMacrotasks&&!c._zone.hasPendingMicrotasks,c._zone.runOutsideAngular(function(){t.next(c._stable),t.complete()})}),p=new a.a(function(t){var e;c._zone.runOutsideAngular(function(){e=c._zone.onStable.subscribe(function(){Kp.assertNotInAngularZone(),Yp(function(){c._stable||c._zone.hasPendingMacrotasks||c._zone.hasPendingMicrotasks||(c._stable=!0,t.next(!0))})})});var n=c._zone.onUnstable.subscribe(function(){Kp.assertInAngularZone(),c._stable&&(c._stable=!1,c._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(s.a)(u,p.pipe(Object(l.a)()))}var e;return e=t,t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof rl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=sd(n)?null:this._injector.get(ut),o=e||n.selector,a=n.create(Fa.NULL,[],o,i);a.onDestroy(function(){r._unloadComponent(a)});var s=a.injector.get(ed,null);return s&&a.injector.get(nd).registerApplication(a.location.nativeElement,s),this._loadComponent(a),Lr()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),a},t.prototype.tick=function(){var t,n,i,o,a=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var s=e._tickScope();try{this._runningTick=!0;try{for(var l=Object(r.h)(this._views),c=l.next();!c.done;c=l.next()){c.value.detectChanges()}}catch(d){t={error:d}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}if(this._enforceNoNewChanges)try{for(var u=Object(r.h)(this._views),p=u.next();!p.done;p=u.next()){p.value.checkNoChanges()}}catch(h){i={error:h}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(i)throw i.error}}}catch(f){this._zone.runOutsideAngular(function(){return a._exceptionHandler.handleError(f)})}finally{this._runningTick=!1,qp(s)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;md(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Op,[]).concat(this._bootstrapListeners).forEach(function(e){return e(t)})},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),md(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=Gp("ApplicationRef#tick()"),t=e=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Kp,Sp,Fa,Mr,sl,yp])],t)}();function md(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var gd=function(){};var yd=function(){},vd={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},bd=function(){function t(t,e){this._compiler=t,this._config=e||vd}return t.prototype.load=function(t){return!Dp&&this._compiler instanceof Lp?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,i=Object(r.f)(t.split("#"),2),o=i[0],a=i[1];return void 0===a&&(a="default"),n("crnd")(o).then(function(t){return t[a]}).then(function(t){return _d(t,o,a)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=Object(r.f)(t.split("#"),2),i=e[0],o=e[1],a="NgFactory";return void 0===o&&(o="default",a=""),n("crnd")(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then(function(t){return t[o+a]}).then(function(t){return _d(t,i,o)})},t=Object(r.b)([wa(),Object(r.e)(1,v()),Object(r.d)("design:paramtypes",[Lp,yd])],t)}();function _d(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var wd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(aa)),xd=function(t,e){this.name=t,this.callback=e},Cd=function(){function t(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof Od&&e.addChild(this)}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),Od=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.c)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,i=this,o=this.childNodes.indexOf(t);-1!==o&&((n=this.childNodes).splice.apply(n,Object(r.g)([o+1,0],e)),e.forEach(function(e){e.parent&&e.parent.removeChild(e),t.parent=i}))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return Ed(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return Sd(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(Cd);function Ed(t,e,n){t.childNodes.forEach(function(t){t instanceof Od&&(e(t)&&n.push(t),Ed(t,e,n))})}function Sd(t,e,n){t instanceof Od&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Od&&Sd(t,e,n)})}var kd=function(){function t(t){this.nativeNode=t}return Object.defineProperty(t.prototype,"parent",{get:function(){var t=this.nativeNode.parentNode;return t?new jd(t):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return Gs(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){var t=this.nativeNode;return t&&(zs(t)||Us(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return zs(this.nativeNode)||Hs(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"listeners",{get:function(){return Qs(this.nativeNode).filter(Ks)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return Ws(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return function(t){var e=qs(t,!1);if(!e)return[];for(var n,r=e.lView[Lt],i=r.data[e.nodeIndex],o=[],a=65535&i.providerIndexes,s=i.directiveEnd,l=a;l0)c=m,uh(m)||(u=m);else for(;c&&f===c.nodeIndex+c.childCount;){var b=c.parent;b&&(b.childFlags|=c.childFlags,b.childMatchedQueries|=c.childMatchedQueries),u=(c=b)&&uh(c)?c.renderParent:c}}return{factory:null,nodeFlags:a,rootNodeFlags:s,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||Zl,updateRenderer:r||Zl,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:h}}function uh(t){return 0!=(1&t.flags)&&null===t.element.name}function ph(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function dh(t,e,n,r){var i=mh(t.root,t.renderer,t,e,n);return gh(i,t.component,r),yh(i),i}function hh(t,e,n){var r=mh(t,t.renderer,null,null,e);return gh(r,n,n),yh(r),r}function fh(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,mh(t.root,i,t,e.element.componentProvider,n)}function mh(t,e,n,r,i){var o=new Array(i.nodes.length),a=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:a,initIndex:-1}}function gh(t,e,n){t.component=e,t.context=n}function yh(t){var e;if(fc(t)){var n=t.parentNodeDef;e=Wl(t.parent,n.parent.nodeIndex).renderElement}for(var r=t.def,i=t.nodes,o=0;o0&&Kd(t,e,0,n)&&(h=!0),d>1&&Kd(t,e,1,r)&&(h=!0),d>2&&Kd(t,e,2,i)&&(h=!0),d>3&&Kd(t,e,3,o)&&(h=!0),d>4&&Kd(t,e,4,a)&&(h=!0),d>5&&Kd(t,e,5,s)&&(h=!0),d>6&&Kd(t,e,6,l)&&(h=!0),d>7&&Kd(t,e,7,c)&&(h=!0),d>8&&Kd(t,e,8,u)&&(h=!0),d>9&&Kd(t,e,9,p)&&(h=!0),h}(t,e,n,r,i,o,a,s,l,c,u,p);case 2:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=!1,h=e.bindings,f=h.length;if(f>0&&ac(t,e,0,n)&&(d=!0),f>1&&ac(t,e,1,r)&&(d=!0),f>2&&ac(t,e,2,i)&&(d=!0),f>3&&ac(t,e,3,o)&&(d=!0),f>4&&ac(t,e,4,a)&&(d=!0),f>5&&ac(t,e,5,s)&&(d=!0),f>6&&ac(t,e,6,l)&&(d=!0),f>7&&ac(t,e,7,c)&&(d=!0),f>8&&ac(t,e,8,u)&&(d=!0),f>9&&ac(t,e,9,p)&&(d=!0),d){var m=e.text.prefix;f>0&&(m+=lh(n,h[0])),f>1&&(m+=lh(r,h[1])),f>2&&(m+=lh(i,h[2])),f>3&&(m+=lh(o,h[3])),f>4&&(m+=lh(a,h[4])),f>5&&(m+=lh(s,h[5])),f>6&&(m+=lh(l,h[6])),f>7&&(m+=lh(c,h[7])),f>8&&(m+=lh(u,h[8])),f>9&&(m+=lh(p,h[9]));var g=ql(t,e.nodeIndex).renderText;t.renderer.setValue(g,m)}return d}(t,e,n,r,i,o,a,s,l,c,u,p);case 16384:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=Yl(t,e.nodeIndex),h=d.instance,f=!1,m=void 0,g=e.bindings.length;return g>0&&oc(t,e,0,n)&&(f=!0,m=Tu(t,d,e,0,n,m)),g>1&&oc(t,e,1,r)&&(f=!0,m=Tu(t,d,e,1,r,m)),g>2&&oc(t,e,2,i)&&(f=!0,m=Tu(t,d,e,2,i,m)),g>3&&oc(t,e,3,o)&&(f=!0,m=Tu(t,d,e,3,o,m)),g>4&&oc(t,e,4,a)&&(f=!0,m=Tu(t,d,e,4,a,m)),g>5&&oc(t,e,5,s)&&(f=!0,m=Tu(t,d,e,5,s,m)),g>6&&oc(t,e,6,l)&&(f=!0,m=Tu(t,d,e,6,l,m)),g>7&&oc(t,e,7,c)&&(f=!0,m=Tu(t,d,e,7,c,m)),g>8&&oc(t,e,8,u)&&(f=!0,m=Tu(t,d,e,8,u,m)),g>9&&oc(t,e,9,p)&&(f=!0,m=Tu(t,d,e,9,p,m)),m&&h.ngOnChanges(m),65536&e.flags&&Gl(t,256,e.nodeIndex)&&h.ngOnInit(),262144&e.flags&&h.ngDoCheck(),f}(t,e,n,r,i,o,a,s,l,c,u,p);case 32:case 64:case 128:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=e.bindings,h=!1,f=d.length;if(f>0&&ac(t,e,0,n)&&(h=!0),f>1&&ac(t,e,1,r)&&(h=!0),f>2&&ac(t,e,2,i)&&(h=!0),f>3&&ac(t,e,3,o)&&(h=!0),f>4&&ac(t,e,4,a)&&(h=!0),f>5&&ac(t,e,5,s)&&(h=!0),f>6&&ac(t,e,6,l)&&(h=!0),f>7&&ac(t,e,7,c)&&(h=!0),f>8&&ac(t,e,8,u)&&(h=!0),f>9&&ac(t,e,9,p)&&(h=!0),h){var m=Kl(t,e.nodeIndex),g=void 0;switch(201347067&e.flags){case 32:g=new Array(d.length),f>0&&(g[0]=n),f>1&&(g[1]=r),f>2&&(g[2]=i),f>3&&(g[3]=o),f>4&&(g[4]=a),f>5&&(g[5]=s),f>6&&(g[6]=l),f>7&&(g[7]=c),f>8&&(g[8]=u),f>9&&(g[9]=p);break;case 64:g={},f>0&&(g[d[0].name]=n),f>1&&(g[d[1].name]=r),f>2&&(g[d[2].name]=i),f>3&&(g[d[3].name]=o),f>4&&(g[d[4].name]=a),f>5&&(g[d[5].name]=s),f>6&&(g[d[6].name]=l),f>7&&(g[d[7].name]=c),f>8&&(g[d[8].name]=u),f>9&&(g[d[9].name]=p);break;case 128:var y=n;switch(f){case 1:g=y.transform(n);break;case 2:g=y.transform(r);break;case 3:g=y.transform(r,i);break;case 4:g=y.transform(r,i,o);break;case 5:g=y.transform(r,i,o,a);break;case 6:g=y.transform(r,i,o,a,s);break;case 7:g=y.transform(r,i,o,a,s,l);break;case 8:g=y.transform(r,i,o,a,s,l,c);break;case 9:g=y.transform(r,i,o,a,s,l,c,u);break;case 10:g=y.transform(r,i,o,a,s,l,c,u,p)}}m.value=g}return h}(t,e,n,r,i,o,a,s,l,c,u,p);default:throw"unreachable"}}(t,e,i,o,a,s,l,c,u,p,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&sc(t,e,0,n);d>1&&sc(t,e,1,r);d>2&&sc(t,e,2,i);d>3&&sc(t,e,3,o);d>4&&sc(t,e,4,a);d>5&&sc(t,e,5,s);d>6&&sc(t,e,6,l);d>7&&sc(t,e,7,c);d>8&&sc(t,e,8,u);d>9&&sc(t,e,9,p)}(t,e,r,i,o,a,s,l,c,u,p,d):function(t,e,n){for(var r=0;r0){var o=new Set(t.modules);Uh.forEach(function(e,n){if(o.has(k(n).providedIn)){var i={token:n,flags:e.flags|(r?4096:0),deps:vc(e.deps),value:e.value,index:t.providers.length};t.providers.push(i),t.providersByKey[Jl(n)]=i}})}}(t=t.factory(function(){return Zl})),t}(r))}var Lh,Vh,Bh,zh,Hh=new Map,Uh=new Map,Gh=new Map;function qh(t){var e;Hh.set(t.token,t),"function"==typeof t.token&&(e=k(t.token))&&"function"==typeof e.providedIn&&Uh.set(t.token,t)}function Wh(t,e){var n=wc(e.viewDefFactory),r=wc(n.nodes[0].element.componentView);Gh.set(t,r)}function Yh(){Hh.clear(),Uh.clear(),Gh.clear()}function Kh(t){if(0===Hh.size)return t;var e=function(t){for(var e=[],n=null,r=0;r\r\n \r\n \r\n --\r\n \r\n {{minion.name}}\r\n \r\n \r\n \r\n

    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n {{ \'SET_STATUS\' | translate}}\r\n \r\n \r\n --\r\n {{ \'ON\' | translate }}\r\n {{ \'OFF\' | translate }}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'SET_PROPERTIES\' | translate}}\r\n\r\n \x3c!-- AC properties --\x3e\r\n \r\n \r\n \r\n {{ \'HOT\' | translate}} \r\n {{ \'COLD\' | translate}} \r\n {{ \'DRY\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n

    {{\'TEMERATURE\' | translate}}: {{temperature}}°

    \r\n \r\n \r\n
    \r\n\r\n \x3c!-- light properties --\x3e\r\n \r\n

    {{\'BRIGTNESS\' | translate}}: {{brightness}}%

    \r\n \r\n \r\n
    \r\n\r\n \x3c!-- temperature light properties --\x3e\r\n \r\n

    {{\'BRIGTNESS\' | translate}}: {{brightness}}%

    \r\n \r\n \r\n

    {{\'TEMERATURE\' | translate}}: {{temperature}}%

    \r\n \r\n \r\n
    \r\n\r\n \x3c!-- color light properties --\x3e\r\n \r\n

    {{\'BRIGTNESS\' | translate}}: {{brightness}}%

    \r\n \r\n \r\n

    {{\'TEMERATURE\' | translate}}: {{temperature}}%

    \r\n \r\n \r\n

    {{\'RED\' | translate}}: {{red}}

    \r\n \r\n \r\n

    {{\'GREEN\' | translate}}: {{green}}

    \r\n \r\n \r\n

    {{\'BLUE\' | translate}}: {{blue}}

    \r\n \r\n \r\n
    \r\n\r\n \x3c!-- roller properties --\x3e\r\n \r\n \r\n \r\n arrow_upward\r\n \r\n \r\n arrow_downward\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_ACTIVITY_MESSAGE\' | translate}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n'},Fxb1:function(t,e,n){"use strict";var r=n("+tJ4"),i=n("DKTb"),o=n("En8+"),a=n("xTla"),s=n("2ePl"),l=n("/WYv"),c=n("McSo");n.d(e,"a",function(){return u});var u=function(t){if(t&&"function"==typeof t[a.a])return u=t,function(t){var e=u[a.a]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Object(s.a)(t))return Object(r.a)(t);if(Object(l.a)(t))return n=t,function(t){return n.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,i.a),t};if(t&&"function"==typeof t[o.a])return e=t,function(t){for(var n=e[o.a]();;){var r=n.next();if(r.done){t.complete();break}if(t.next(r.value),t.closed)break}return"function"==typeof n.return&&t.add(function(){n.return&&n.return()}),t};var e,n,u,p=Object(c.a)(t)?"an invalid object":"'"+t+"'";throw new TypeError("You provided "+p+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")}},Fzqc:function(t,e,n){"use strict";n.d(e,"b",function(){return a}),n.d(e,"a",function(){return l});var r=n("Ip0R"),i=n("CcnG"),o=new i.E("cdk-dir-doc",{providedIn:"root",factory:function(){return Object(i.xb)(r.c)}});var a=function(){function t(t){if(this.value="ltr",this.change=new i.x,t){var e=t.body?t.body.dir:null,n=t.documentElement?t.documentElement.dir:null,r=e||n;this.value="ltr"===r||"rtl"===r?r:"ltr"}}return t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.R},{type:i.C,args:[o]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(o,8))},token:t,providedIn:"root"}),t}(),s=function(){function t(){this._dir="ltr",this._isInitialized=!1,this.change=new i.x}return Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir},set:function(t){var e=this._dir,n=t?t.toLowerCase():t;this._rawDir=t,this._dir="ltr"===n||"rtl"===n?n:"ltr",e!==this._dir&&this._isInitialized&&this.change.emit(this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.dir},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._isInitialized=!0},t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.t,args:[{selector:"[dir]",providers:[{provide:a,useExisting:t}],host:{"[attr.dir]":"_rawDir"},exportAs:"dir"}]}],t.propDecorators={change:[{type:i.S,args:["dirChange"]}],dir:[{type:i.G}]},t}(),l=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[s],declarations:[s]}]}],t}()},G5J1:function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return o});var r=n("6blF"),i=new r.a(function(t){return t.complete()});function o(t){return t?function(t){return new r.a(function(e){return t.schedule(function(){return e.complete()})})}(t):i}},Gi3i:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("mrSG"),i=n("FFOo"),o=n("T1DM");function a(t,e){return void 0===e&&(e=o.a),function(n){return n.lift(new s(t,e))}}var s=function(){function t(t,e){this.dueTime=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.dueTime,this.scheduler))},t}(),l=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.dueTime=n,i.scheduler=r,i.debouncedSubscription=null,i.lastValue=null,i.hasValue=!1,i}return r.c(e,t),e.prototype._next=function(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(c,this.dueTime,this))},e.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},e.prototype.debouncedNext=function(){if(this.clearDebounce(),this.hasValue){var t=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}},e.prototype.clearDebounce=function(){var t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)},e}(i.a);function c(t){t.debouncedNext()}},Gwao:function(t,e,n){"use strict";n.d(e,"a",function(){return f});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},f=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isMinionsRetrived=!1,this.minions=[],this.minionsFeed=new i.a(this.minions),this.retriveData()}return t.prototype.getCommandsRepoAvailableDevices=function(){return p(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/rf/devices",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[2,null];case 3:return[2]}})})},t.prototype.fetchDeviceCommandsToMinion=function(t,e){return p(this,void 0,void 0,function(){return d(this,function(n){switch(n.label){case 0:return[4,this.httpClient.put(l.a.baseUrl+"/rf/fetch-commands/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[2]}})})},t.prototype.recordCommand=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/record/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.generateCommand=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/generate/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.refreshMinions=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:this.minionsServerFeed&&this.minionsServerFeed.close(),this.minions=[],n.label=1;case 1:return n.trys.push([1,5,,6]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan",{},{params:(new o.c).set("scanNetwork",t),withCredentials:!0}).toPromise()];case 2:return n.sent(),[4,this.waitForMinionsScanning()];case 3:return n.sent(),[4,this.loadMinions()];case 4:return n.sent(),[3,6];case 5:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,6];case 6:return[2]}})})},t.prototype.waitForMinionsScanning=function(){return p(this,void 0,void 0,function(){var t,e;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,5,,6]),t="inProgress",n.label=1;case 1:return"inProgress"!==t?[3,4]:[4,this.httpClient.get(l.a.baseUrl+"/minions/rescan",{withCredentials:!0}).toPromise()];case 2:return e=n.sent(),t=e.scaningStatus,[4,this.sleep(5e3)];case 3:return n.sent(),[3,1];case 4:return[2,t];case 5:return n.sent(),[3,6];case 6:return[2]}})})},t.prototype.sleep=function(t){return new Promise(function(e,n){setTimeout(function(){e()},t)})},t.prototype.refreshMinion=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan/"+t.minionId,{},{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[4,this.patchMinions()];case 4:return n.sent(),[2]}})})},t.prototype.getMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.patchMinions=function(){return p(this,void 0,void 0,function(){var t,e,n,r,i,o,s;return d(this,function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions",{withCredentials:!0}).toPromise()];case 1:t=c.sent(),this.minions=t;try{for(e=h(this.minions),n=e.next();!n.done;n=e.next())r=n.value,this.loadDefaultStatusValues(r)}catch(u){o={error:u}}finally{try{n&&!n.done&&(s=e.return)&&s.call(e)}finally{if(o)throw o.error}}return this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:return i=c.sent(),this.isMinionsRetrived=!1,this.toastrAndErrorsService.OnHttpError(i),[3,3];case 3:return[2]}})})},t.prototype.loadMinions=function(){return p(this,void 0,void 0,function(){var t=this;return d(this,function(e){switch(e.label){case 0:return[4,this.patchMinions()];case 1:return e.sent(),this.minionsServerFeed&&this.minionsServerFeed.close(),this.minionsServerFeed=new EventSource(l.a.baseUrl+"/feed/minions",{withCredentials:!0}),this.minionsServerFeed.onmessage=function(e){t.OnMinionFeedUpdate(e)},[2]}})})},t.prototype.loadDefaultStatusValues=function(t){t.minionStatus[t.minionType]&&"{}"!==JSON.stringify(t.minionStatus[t.minionType])||(t.minionStatus={airConditioning:{fanStrength:"auto",mode:"auto",status:"off",temperature:16},colorLight:{blue:1,brightness:1,green:1,red:1,status:"off",temperature:1},light:{brightness:1,status:"off"},switch:{status:"off"},roller:{status:"off",direction:"up"},temperatureLight:{brightness:1,status:"off",temperature:1},toggle:{status:"off"}})},t.prototype.retriveMinions=function(){return p(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return this.isMinionsRetrived?[3,2]:(this.isMinionsRetrived=!0,[4,this.loadMinions()]);case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.OnMinionFeedUpdate=function(t){if('"init"'!==t.data){var e=JSON.parse(t.data);switch(e.event){case"update":this.loadDefaultStatusValues(e.minion),(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1),this.minions.push(e.minion);break;case"created":this.loadDefaultStatusValues(e.minion),this.minions.push(e.minion);break;case"removed":var n;(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1)}this.minionsFeed.next(Object(a.a)(this.minions))}},t.prototype.findMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.setStatus=function(t){return p(this,void 0,void 0,function(){var e,n;return d(this,function(r){switch(r.label){case 0:e=this.findMinion(t.minionId),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.httpClient.put(l.a.baseUrl+"/minions/"+t.minionId,t.minionStatus,{withCredentials:!0}).toPromise()];case 2:return r.sent(),e.isProperlyCommunicated=!0,e.minionStatus=Object(a.a)(t.minionStatus),[3,4];case 3:return n=r.sent(),e.isProperlyCommunicated=!1,this.toastrAndErrorsService.OnHttpError(n),[3,4];case 4:return this.minionsFeed.next(Object(a.a)(this.minions)),[2]}})})},t.prototype.deleteMinion=function(t){return p(this,void 0,void 0,function(){var e,n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.delete(l.a.baseUrl+"/minions/"+t.minionId,{withCredentials:!0}).toPromise()];case 1:return r.sent(),(e=this.findMinion(t.minionId))&&this.minions.splice(this.minions.indexOf(e),1),this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:throw n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),n;case 3:return[2]}})})},t.prototype.createMinion=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions",t,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[2]}})})},t.prototype.setAutoTimeout=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/timeout/"+t.minionId,{setAutoTurnOffMS:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.setCalibrate=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/calibrate/"+t.minionId,{calibrationCycleMinutes:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.renameMinion=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/rename/"+t.minionId,{name:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.getTimeline=function(){return p(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions/timeline",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[3,3];case 3:return[2]}})})},t.prototype.refreshData=function(){return p(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return[4,this.loadMinions()];case 1:return t.sent(),[2]}})})},t.prototype.cleanUp=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.isMinionsRetrived=!1,this.minions=[],this.minionsServerFeed&&(this.minionsServerFeed.close(),this.minionsServerFeed=null),[2]})})},t.prototype.retriveData=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.retriveMinions(),[2]})})},t.ctorParameters=function(){return[{type:s.a},{type:o.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,o.a])],t)}()},HlIG:function(t,e,n){"use strict";n.r(e),e.default='

    {{ \'EDIT\' | translate }} {{minion.name}} {{ \'CALIBRATION\' | translate }}

    \r\n
    \r\n

    {{ \'DEFINE_CALIBRATION\' | translate }}

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    '},IUTb:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("6blF"),i=n("+tJ4"),o=n("JF+6");function a(t,e){return e?Object(o.a)(t,e):new r.a(Object(i.a)(t))}},Ip0R:function(t,e,n){"use strict";n.d(e,"t",function(){return ft}),n.d(e,"b",function(){return Pe}),n.d(e,"h",function(){return Ot}),n.d(e,"i",function(){return zt}),n.d(e,"c",function(){return Re}),n.d(e,"s",function(){return Me}),n.d(e,"m",function(){return Fe}),n.d(e,"n",function(){return Le}),n.d(e,"l",function(){return Ve}),n.d(e,"p",function(){return xt}),n.d(e,"o",function(){return wt}),n.d(e,"r",function(){return Vt}),n.d(e,"q",function(){return Lt}),n.d(e,"k",function(){return o}),n.d(e,"e",function(){return a}),n.d(e,"g",function(){return s}),n.d(e,"a",function(){return l}),n.d(e,"d",function(){return v}),n.d(e,"j",function(){return b}),n.d(e,"f",function(){return c});var r=n("CcnG"),i=n("mrSG"),o=function(){},a=new r.E("Location Initialized"),s=function(){},l=new r.E("appBaseHref"),c=function(){function t(t,n){var i=this;this._subject=new r.x,this._urlChangeListeners=[],this._platformStrategy=t;var o=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=e.stripTrailingSlash(u(o)),this._platformStrategy.onPopState(function(t){i._subject.emit({url:i.path(!0),pop:!0,state:t.state,type:t.type})})}var e;return e=t,t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.getState=function(){return this._platformLocation.getState()},t.prototype.isCurrentPathEqualTo=function(t,n){return void 0===n&&(n=""),this.path()==this.normalize(t+e.normalizeQueryParams(n))},t.prototype.normalize=function(t){return e.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,u(t)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.pushState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.replaceState=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.replaceState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.onUrlChange=function(t){var e=this;this._urlChangeListeners.push(t),this.subscribe(function(t){e._notifyUrlChangeListeners(t.url,t.state)})},t.prototype._notifyUrlChangeListeners=function(t,e){void 0===t&&(t=""),this._urlChangeListeners.forEach(function(n){return n(t,e)})},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length,r=n-("/"===t[n-1]?1:0);return t.slice(0,r)+t.slice(n)},t=e=Object(i.b)([Object(r.D)(),Object(i.d)("design:paramtypes",[s,o])],t)}();function u(t){return t.replace(/\/index.html$/,"")}var p,d,h,f,m,g,y,v=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=c.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),b=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return c.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),_={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,0],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",0],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",0],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",0],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",0],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",0],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",0],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,0],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UZS:[void 0,void 0,0],VEF:[void 0,"Bs"],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};function w(t,e){return j(Object(r.Sb)(t)[r.Hb.DateFormat],e)}function x(t,e){return j(Object(r.Sb)(t)[r.Hb.TimeFormat],e)}function C(t,e){return j(Object(r.Sb)(t)[r.Hb.DateTimeFormat],e)}function O(t,e){var n=Object(r.Sb)(t),i=n[r.Hb.NumberSymbols][e];if(void 0===i){if(e===g.CurrencyDecimal)return n[r.Hb.NumberSymbols][g.Decimal];if(e===g.CurrencyGroup)return n[r.Hb.NumberSymbols][g.Group]}return i}function E(t,e){return Object(r.Sb)(t)[r.Hb.NumberFormats][e]}!function(t){t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific"}(p||(p={})),function(t){t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other"}(d||(d={})),function(t){t[t.Format=0]="Format",t[t.Standalone=1]="Standalone"}(h||(h={})),function(t){t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short"}(f||(f={})),function(t){t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full"}(m||(m={})),function(t){t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t[1/0]=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup"}(g||(g={})),function(t){t[t.Sunday=0]="Sunday",t[t.Monday=1]="Monday",t[t.Tuesday=2]="Tuesday",t[t.Wednesday=3]="Wednesday",t[t.Thursday=4]="Thursday",t[t.Friday=5]="Friday",t[t.Saturday=6]="Saturday"}(y||(y={}));var S=r.Tb;function k(t){if(!t[r.Hb.ExtraData])throw new Error('Missing extra locale data for the locale "'+t[r.Hb.LocaleId]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function j(t,e){for(var n=e;n>-1;n--)if(void 0!==t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function A(t){var e=Object(i.f)(t.split(":"),2);return{hours:+e[0],minutes:+e[1]}}function D(t,e,n){void 0===n&&(n="en");var i=function(t){return Object(r.Sb)(t)[r.Hb.Currencies]}(n)[t]||_[t]||[],o=i[1];return"narrow"===e&&"string"==typeof o?o:i[0]||t}var T=2;var P,I,R,M=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,N={},F=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function L(t,e,n,o){var a=function(t){if(X(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();var e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var n=Object(i.f)(t.split("-").map(function(t){return+t}),3),r=n[0],o=n[1],a=n[2];return new Date(r,o-1,a)}var s;if(s=t.match(M))return Q(s)}var l=new Date(t);if(!X(l))throw new Error('Unable to convert "'+t+'" into a date');return l}(t);e=function t(e,n){var i=function(t){return Object(r.Sb)(t)[r.Hb.LocaleId]}(e);N[i]=N[i]||{};if(N[i][n])return N[i][n];var o="";switch(n){case"shortDate":o=w(e,m.Short);break;case"mediumDate":o=w(e,m.Medium);break;case"longDate":o=w(e,m.Long);break;case"fullDate":o=w(e,m.Full);break;case"shortTime":o=x(e,m.Short);break;case"mediumTime":o=x(e,m.Medium);break;case"longTime":o=x(e,m.Long);break;case"fullTime":o=x(e,m.Full);break;case"short":var a=t(e,"shortTime"),s=t(e,"shortDate");o=V(C(e,m.Short),[a,s]);break;case"medium":var l=t(e,"mediumTime"),c=t(e,"mediumDate");o=V(C(e,m.Medium),[l,c]);break;case"long":var u=t(e,"longTime"),p=t(e,"longDate");o=V(C(e,m.Long),[u,p]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");o=V(C(e,m.Full),[d,h])}o&&(N[i][n]=o);return o}(n,e)||e;for(var s,l=[];e;){if(!(s=F.exec(e))){l.push(e);break}var c=(l=l.concat(s.slice(1))).pop();if(!c)break;e=c}var u=a.getTimezoneOffset();o&&(u=K(o,u),a=function(t,e,n){var r=n?-1:1,i=t.getTimezoneOffset(),o=K(e,i);return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,r*(o-i))}(a,o,!0));var p="";return l.forEach(function(t){var e=function(t){if(Y[t])return Y[t];var e;switch(t){case"G":case"GG":case"GGG":e=H(R.Eras,f.Abbreviated);break;case"GGGG":e=H(R.Eras,f.Wide);break;case"GGGGG":e=H(R.Eras,f.Narrow);break;case"y":e=z(I.FullYear,1,0,!1,!0);break;case"yy":e=z(I.FullYear,2,0,!0,!0);break;case"yyy":e=z(I.FullYear,3,0,!1,!0);break;case"yyyy":e=z(I.FullYear,4,0,!1,!0);break;case"M":case"L":e=z(I.Month,1,1);break;case"MM":case"LL":e=z(I.Month,2,1);break;case"MMM":e=H(R.Months,f.Abbreviated);break;case"MMMM":e=H(R.Months,f.Wide);break;case"MMMMM":e=H(R.Months,f.Narrow);break;case"LLL":e=H(R.Months,f.Abbreviated,h.Standalone);break;case"LLLL":e=H(R.Months,f.Wide,h.Standalone);break;case"LLLLL":e=H(R.Months,f.Narrow,h.Standalone);break;case"w":e=W(1);break;case"ww":e=W(2);break;case"W":e=W(1,!0);break;case"d":e=z(I.Date,1);break;case"dd":e=z(I.Date,2);break;case"E":case"EE":case"EEE":e=H(R.Days,f.Abbreviated);break;case"EEEE":e=H(R.Days,f.Wide);break;case"EEEEE":e=H(R.Days,f.Narrow);break;case"EEEEEE":e=H(R.Days,f.Short);break;case"a":case"aa":case"aaa":e=H(R.DayPeriods,f.Abbreviated);break;case"aaaa":e=H(R.DayPeriods,f.Wide);break;case"aaaaa":e=H(R.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":e=H(R.DayPeriods,f.Abbreviated,h.Standalone,!0);break;case"bbbb":e=H(R.DayPeriods,f.Wide,h.Standalone,!0);break;case"bbbbb":e=H(R.DayPeriods,f.Narrow,h.Standalone,!0);break;case"B":case"BB":case"BBB":e=H(R.DayPeriods,f.Abbreviated,h.Format,!0);break;case"BBBB":e=H(R.DayPeriods,f.Wide,h.Format,!0);break;case"BBBBB":e=H(R.DayPeriods,f.Narrow,h.Format,!0);break;case"h":e=z(I.Hours,1,-12);break;case"hh":e=z(I.Hours,2,-12);break;case"H":e=z(I.Hours,1);break;case"HH":e=z(I.Hours,2);break;case"m":e=z(I.Minutes,1);break;case"mm":e=z(I.Minutes,2);break;case"s":e=z(I.Seconds,1);break;case"ss":e=z(I.Seconds,2);break;case"S":e=z(I.FractionalSeconds,1);break;case"SS":e=z(I.FractionalSeconds,2);break;case"SSS":e=z(I.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=U(P.Short);break;case"ZZZZZ":e=U(P.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=U(P.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=U(P.Long);break;default:return null}return Y[t]=e,e}(t);p+=e?e(a,n,u):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),p}function V(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,function(t,n){return null!=e&&n in e?e[n]:t})),t}function B(t,e,n,r,i){void 0===n&&(n="-");var o="";(t<0||i&&t<=0)&&(i?t=1-t:(t=-t,o=n));for(var a=String(t);a.length0||l>-n)&&(l+=n),t===I.Hours)0===l&&-12===n&&(l=12);else if(t===I.FractionalSeconds)return s=e,B(l,3).substr(0,s);var c=O(a,g.MinusSign);return B(l,e,c,r,i)}}function H(t,e,n,i){return void 0===n&&(n=h.Format),void 0===i&&(i=!1),function(o,a){return function(t,e,n,i,o,a){switch(n){case R.Months:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.MonthsFormat],i[r.Hb.MonthsStandalone]],e);return j(o,n)}(e,o,i)[t.getMonth()];case R.Days:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.DaysFormat],i[r.Hb.DaysStandalone]],e);return j(o,n)}(e,o,i)[t.getDay()];case R.DayPeriods:var s=t.getHours(),l=t.getMinutes();if(a){var c,u=function(t){var e=Object(r.Sb)(t);return k(e),(e[r.Hb.ExtraData][2]||[]).map(function(t){return"string"==typeof t?A(t):[A(t[0]),A(t[1])]})}(e),p=function(t,e,n){var i=Object(r.Sb)(t);k(i);var o=j([i[r.Hb.ExtraData][0],i[r.Hb.ExtraData][1]],e)||[];return j(o,n)||[]}(e,o,i);if(u.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=n.hours,i=n.minutes,o=t[1],a=o.hours,u=o.minutes;s>=r&&l>=i&&(s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case P.Short:return(i>=0?"+":"")+B(a,2,o)+B(Math.abs(i%60),2,o);case P.ShortGMT:return"GMT"+(i>=0?"+":"")+B(a,1,o);case P.Long:return"GMT"+(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);case P.Extended:return 0===r?"Z":(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}!function(t){t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended"}(P||(P={})),function(t){t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day"}(I||(I={})),function(t){t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras"}(R||(R={}));var G=0,q=4;function W(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,a,s;if(e){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,c=n.getDate();i=1+Math.floor((c+l)/7)}else{var u=(a=n.getFullYear(),s=new Date(a,G,1).getDay(),new Date(a,0,1+(s<=q?q:q+7)-s)),p=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(q-o.getDay()))).getTime()-u.getTime();i=1+Math.round(p/6048e5)}return B(i,t,O(r,g.MinusSign))}}var Y={};function K(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function Q(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),r=Number(t[9]+t[11])),i.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));var a=Number(t[4]||0)-n,s=Number(t[5]||0)-r,l=Number(t[6]||0),c=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,a,s,l,c),e}function X(t){return t instanceof Date&&!isNaN(t.valueOf())}var Z=/^(\d+)?\.((\d+)(-(\d+))?)?$/,$=22,J=".",tt="0",et=";",nt=",",rt="#",it="¤",ot="%";function at(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s="",l=!1;if(isFinite(t)){var c=function(t){var e,n,r,i,o,a=Math.abs(t)+"",s=0;(n=a.indexOf(J))>-1&&(a=a.replace(J,""));(r=a.search(/e/i))>0?(n<0&&(n=r),n+=+a.slice(r+1),a=a.substring(0,r)):n<0&&(n=a.length);for(r=0;a.charAt(r)===tt;r++);if(r===(o=a.length))e=[0],n=1;else{for(o--;a.charAt(o)===tt;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=Number(a.charAt(r))}n>$&&(e=e.splice(0,$-1),s=n-1,n=1);return{digits:e,exponent:s,integerLen:n}}(t);a&&(c=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2);return t}(c));var u=e.minInt,p=e.minFrac,d=e.maxFrac;if(o){var h=o.match(Z);if(null===h)throw new Error(o+" is not a valid digit info");var f=h[1],m=h[3],y=h[5];null!=f&&(u=ct(f)),null!=m&&(p=ct(m)),null!=y?d=ct(y):null!=m&&p>d&&(d=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),a=o+t.integerLen,s=r[a];if(a>0){r.splice(Math.max(t.integerLen,a));for(var l=a;l=5)if(a-1<0){for(var u=0;u>a;u--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[a-1]++;for(;i=d?r.pop():p=!1),e>=10?1:0},0);h&&(r.unshift(h),t.integerLen++)}(c,p,d);var v=c.digits,b=c.integerLen,_=c.exponent,w=[];for(l=v.every(function(t){return!t});b0?w=v.splice(b,v.length):(w=v,v=[0]);var x=[];for(v.length>=e.lgSize&&x.unshift(v.splice(-e.lgSize,v.length).join(""));v.length>e.gSize;)x.unshift(v.splice(-e.gSize,v.length).join(""));v.length&&x.unshift(v.join("")),s=x.join(O(n,r)),w.length&&(s+=O(n,i)+w.join("")),_&&(s+=O(n,g.Exponential)+"+"+_)}else s=O(n,g.Infinity);return s=t<0&&!l?e.negPre+s+e.negSuf:e.posPre+s+e.posSuf}function st(t,e,n,r,i){var o=lt(E(e,p.Currency),O(e,g.MinusSign));return o.minFrac=function(t){var e,n=_[t];return n&&(e=n[2]),"number"==typeof e?e:T}(r),o.maxFrac=o.minFrac,at(t,o,e,g.CurrencyGroup,g.CurrencyDecimal,i).replace(it,n).replace(it,"")}function lt(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(et),i=r[0],o=r[1],a=-1!==i.indexOf(J)?i.split(J):[i.substring(0,i.lastIndexOf(tt)+1),i.substring(i.lastIndexOf(tt)+1)],s=a[0],l=a[1]||"";n.posPre=s.substr(0,s.indexOf(rt));for(var c=0;c-1)return i;if(i=n.getPluralCategory(t,r),e.indexOf(i)>-1)return i;if(e.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+t+'"')}var ht=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(i.c)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):S(e||this.locale)(t)){case d.Zero:return"zero";case d.One:return"one";case d.Two:return"two";case d.Few:return"few";case d.Many:return"many";default:return"other"}},e=Object(i.b)([Object(r.D)(),Object(i.e)(0,Object(r.C)(r.J)),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(ut)),Object(i.d)("design:paramtypes",[String,Object])],e)}(pt);function ft(t,e){var n,r;e=encodeURIComponent(e);try{for(var o=Object(i.h)(t.split(";")),a=o.next();!a.done;a=o.next()){var s=a.value,l=s.indexOf("="),c=Object(i.f)(-1==l?[s,""]:[s.slice(0,l),s.slice(l+1)],2),u=c[0],p=c[1];if(u.trim()===e)return decodeURIComponent(p)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return null}var mt=function(){function t(t,e){this._name=t,this._options=e,this.value=null,this._lastSetValue=null,this._lastSetValueType=0,this._lastSetValueIdentityChange=!1}return t.prototype.setValue=function(t){if(Array.isArray(t))this._lastSetValueType=4;else if(t instanceof Set)this._lastSetValueType=8;else if(t&&"string"==typeof t){if(!(4&this._options))throw new Error(this._name+" string values are not allowed");this._lastSetValueType=1}else this._lastSetValueType=t?2:0;this._lastSetValueIdentityChange=!0,this._lastSetValue=t||null},t.prototype.hasValueChanged=function(){var t=this._lastSetValueIdentityChange;if(!(t||14&this._lastSetValueType))return!1;var e=null,n=!!(1&this._options),r=!!(8&this._options),i=!!(2&this._options);switch(this._lastSetValueType){case 1:var o=this._lastSetValue.split(/\s+/g);16&this._options?(e={},o.forEach(function(t,n){return e[t]=!0})):e=o.reduce(function(t,e,n){return t+(n?" ":"")+e});break;case 2:var a=this._lastSetValue,s=Object.keys(a);t||(t=!this.value||function(t,e,n){var r=Object.keys(e),i=t;if(!_t(r,i))return!0;for(var o=0;o0)for(var o=e.split(/\s+/g),a=0;a0){var r=t.substr(n+1);t=t.substring(0,n),null!=e&&(e+=r)}return{key:t,value:e}}(e,n);n=i.value,e=i.key}t[e]=n}function _t(t,e){if(t&&e){if(t.length!==e.length)return!1;for(var n=0;n1?"short":"narrow":"long",n}function re(t){return t.reduce(function(t,e){return Object(i.a)({},t,e)},{})}function ie(t){return function(e,n){return $t(e,n,t)}}var oe=new Map;var ae=function(){function t(){}return t.format=function(t,e,n){return function(t,e,n){var r=Kt[t];if(r)return r(e,n);var i=t,o=oe.get(i);if(!o){o=[];var a=void 0;Yt.exec(t);for(var s=t;s;)(a=Yt.exec(s))?s=(o=o.concat(a.slice(1))).pop():(o.push(s),s=null);oe.set(i,o)}return o.reduce(function(t,r){var i=Qt[r];return t+(i?i(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(r))},"")}(n,t,e)},t}(),se=function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;var r;if("string"==typeof t&&(t=t.trim()),le(t))r=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var o=Object(i.f)(t.split("-").map(function(t){return parseInt(t,10)}),3),a=o[0],s=o[1],l=o[2];r=new Date(a,s-1,l)}else r=new Date(t);else r=new Date(parseFloat(t));if(!le(r)){var c=void 0;if("string"!=typeof t||!(c=t.match(M)))throw Gt(e,t);r=Q(c)}return ae.format(r,this._locale,e._ALIASES[n]||n)},t._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t=e=Object(i.b)([Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}();function le(t){return t instanceof Date&&!isNaN(t.valueOf())}function ce(t,e,n,r,i,o,a){if(void 0===o&&(o=null),void 0===a&&(a=!1),null==n)return null;if("number"!=typeof(n="string"!=typeof n||isNaN(+n-parseFloat(n))?n:+n))throw Gt(t,n);var s,l,c;if(r!==p.Currency&&(s=1,l=0,c=3),i){var u=i.match(Z);if(null===u)throw new Error(i+" is not a valid digit info for number pipes");null!=u[1]&&(s=ct(u[1])),null!=u[3]&&(l=ct(u[3])),null!=u[5]&&(c=ct(u[5]))}return Wt.format(n,e,r,{minimumIntegerDigits:s,minimumFractionDigits:l,maximumFractionDigits:c,currency:o,currencyAsSymbol:a})}var ue=[function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Decimal,n)},t=e=Object(i.b)([Object(r.W)({name:"number"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Percent,n)},t=e=Object(i.b)([Object(r.W)({name:"percent"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){return void 0===n&&(n="USD"),void 0===r&&(r=!1),ce(e,this._locale,t,p.Currency,i,n,r)},t=e=Object(i.b)([Object(r.W)({name:"currency"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),se],pe=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),de=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),he=new pe,fe=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}var e;return e=t,t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):Object(r.ac)(this._latestValue,this._latestReturnedValue)?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.rb.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(t){if(Object(r.Zb)(t))return de;if(Object(r.Yb)(t))return he;throw Gt(e,t)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"async",pure:!1}),Object(i.d)("design:paramtypes",[r.k])],t)}(),me=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toLowerCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"lowercase"})],t)}(),ge=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g,ye=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.replace(ge,function(t){return t[0].toUpperCase()+t.substr(1).toLowerCase()})},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"titlecase"})],t)}(),ve=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toUpperCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"uppercase"})],t)}(),be=function(){function t(t){this.locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;try{return L(t,n,i||this.locale,r)}catch(o){throw Gt(e,o.message)}},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),_e=/#/g,we=function(){function t(t){this._localization=t}var e;return e=t,t.prototype.transform=function(t,n,r){if(null==t)return"";if("object"!=typeof n||null===n)throw Gt(e,n);return n[dt(t,Object.keys(n),this._localization,r)].replace(_e,t.toString())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nPlural",pure:!0}),Object(i.d)("design:paramtypes",[pt])],t)}(),xe=function(){function t(){}var e;return e=t,t.prototype.transform=function(t,n){if(null==t)return"";if("object"!=typeof n||"string"!=typeof t)throw Gt(e,n);return n.hasOwnProperty(t)?n[t]:n.hasOwnProperty("other")?n.other:""},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nSelect",pure:!0})],t)}(),Ce=function(){function t(){}return t.prototype.transform=function(t){return JSON.stringify(t,null,2)},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"json",pure:!1})],t)}();var Oe=function(){function t(t){this.differs=t,this.keyValues=[]}return t.prototype.transform=function(t,e){var n=this;if(void 0===e&&(e=Ee),!t||!(t instanceof Map)&&"object"!=typeof t)return null;this.differ||(this.differ=this.differs.find(t).create());var r=this.differ.diff(t);return r&&(this.keyValues=[],r.forEachItem(function(t){var e,r;n.keyValues.push((e=t.key,r=t.currentValue,{key:e,value:r}))}),this.keyValues.sort(e)),this.keyValues},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"keyvalue",pure:!1}),Object(i.d)("design:paramtypes",[r.I])],t)}();function Ee(t,e){var n=t.key,r=e.key;if(n===r)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(null===n)return 1;if(null===r)return-1;if("string"==typeof n&&"string"==typeof r)return n=0&&n<=1?d.One:d.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===n?d.One:d.Other;case"ar":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:n%100===Math.floor(n%100)&&n%100>=3&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=99?d.Many:d.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?d.One:d.Other;case"be":return n%10==1&&n%100!=11?d.One:n%10===Math.floor(n%10)&&n%10>=2&&n%10<=4&&!(n%100>=12&&n%100<=14)?d.Few:n%10==0||n%10===Math.floor(n%10)&&n%10>=5&&n%10<=9||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=14?d.Many:d.Other;case"br":return n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?d.One:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?d.Two:n%10===Math.floor(n%10)&&(n%10>=3&&n%10<=4||n%10==9)&&!(n%100>=10&&n%100<=19||n%100>=70&&n%100<=79||n%100>=90&&n%100<=99)?d.Few:0!==n&&n%1e6==0?d.Many:d.Other;case"bs":case"hr":case"sr":return 0===o&&i%10==1&&i%100!=11||a%10==1&&a%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)||a%10===Math.floor(a%10)&&a%10>=2&&a%10<=4&&!(a%100>=12&&a%100<=14)?d.Few:d.Other;case"cs":case"sk":return 1===i&&0===o?d.One:i===Math.floor(i)&&i>=2&&i<=4&&0===o?d.Few:0!==o?d.Many:d.Other;case"cy":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:3===n?d.Few:6===n?d.Many:d.Other;case"da":return 1===n||0!==s&&(0===i||1===i)?d.One:d.Other;case"dsb":case"hsb":return 0===o&&i%100==1||a%100==1?d.One:0===o&&i%100==2||a%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||a%100===Math.floor(a%100)&&a%100>=3&&a%100<=4?d.Few:d.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?d.One:d.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!=4&&i%10!=6&&i%10!=9||0!==o&&a%10!=4&&a%10!=6&&a%10!=9?d.One:d.Other;case"ga":return 1===n?d.One:2===n?d.Two:n===Math.floor(n)&&n>=3&&n<=6?d.Few:n===Math.floor(n)&&n>=7&&n<=10?d.Many:d.Other;case"gd":return 1===n||11===n?d.One:2===n||12===n?d.Two:n===Math.floor(n)&&(n>=3&&n<=10||n>=13&&n<=19)?d.Few:d.Other;case"gv":return 0===o&&i%10==1?d.One:0===o&&i%10==2?d.Two:0!==o||i%100!=0&&i%100!=20&&i%100!=40&&i%100!=60&&i%100!=80?0!==o?d.Many:d.Other:d.Few;case"he":return 1===i&&0===o?d.One:2===i&&0===o?d.Two:0!==o||n>=0&&n<=10||n%10!=0?d.Other:d.Many;case"is":return 0===s&&i%10==1&&i%100!=11||0!==s?d.One:d.Other;case"ksh":return 0===n?d.Zero:1===n?d.One:d.Other;case"kw":case"naq":case"se":case"smn":return 1===n?d.One:2===n?d.Two:d.Other;case"lag":return 0===n?d.Zero:0!==i&&1!==i||0===n?d.Other:d.One;case"lt":return n%10!=1||n%100>=11&&n%100<=19?n%10===Math.floor(n%10)&&n%10>=2&&n%10<=9&&!(n%100>=11&&n%100<=19)?d.Few:0!==a?d.Many:d.Other:d.One;case"lv":case"prg":return n%10==0||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19||2===o&&a%100===Math.floor(a%100)&&a%100>=11&&a%100<=19?d.Zero:n%10==1&&n%100!=11||2===o&&a%10==1&&a%100!=11||2!==o&&a%10==1?d.One:d.Other;case"mk":return 0===o&&i%10==1||a%10==1?d.One:d.Other;case"mt":return 1===n?d.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19?d.Many:d.Other;case"pl":return 1===i&&0===o?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&i%10<=1||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&i%100<=14?d.Many:d.Other;case"pt":return n===Math.floor(n)&&n>=0&&n<=2&&2!==n?d.One:d.Other;case"ro":return 1===i&&0===o?d.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&n%100<=19?d.Few:d.Other;case"ru":case"uk":return 0===o&&i%10==1&&i%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&i%10==0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=14?d.Many:d.Other;case"shi":return 0===i||1===n?d.One:n===Math.floor(n)&&n>=2&&n<=10?d.Few:d.Other;case"si":return 0===n||1===n||0===i&&1===a?d.One:d.Other;case"sl":return 0===o&&i%100==1?d.One:0===o&&i%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||0!==o?d.Few:d.Other;case"tzm":return n===Math.floor(n)&&n>=0&&n<=1||n===Math.floor(n)&&n>=11&&n<=99?d.One:d.Other;default:return d.Other}},Re=(function(){function t(){}t=Object(i.b)([Object(r.L)({declarations:[ue],exports:[ue],providers:[{provide:ut,useValue:Ie}]})],t)}(),new r.E("DocumentToken")),Me="browser",Ne="server";function Fe(t){return t===Me}function Le(t){return t===Ne}new r.mb("8.2.6");var Ve=function(){function t(){}return t.ngInjectableDef=Object(r.tc)({token:t,providedIn:"root",factory:function(){return new Be(Object(r.uc)(Re),window,Object(r.uc)(r.w))}}),t}(),Be=function(){function t(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=function(){return[0,0]}}return t.prototype.setOffset=function(t){Array.isArray(t)?this.offset=function(){return t}:this.offset=t},t.prototype.getScrollPosition=function(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]},t.prototype.scrollToPosition=function(t){this.supportScrollRestoration()&&this.window.scrollTo(t[0],t[1])},t.prototype.scrollToAnchor=function(t){if(this.supportScrollRestoration()){t=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(t):t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{var e=this.document.querySelector("#"+t);if(e)return void this.scrollToElement(e);var n=this.document.querySelector("[name='"+t+"']");if(n)return void this.scrollToElement(n)}catch(r){this.errorHandler.handleError(r)}}},t.prototype.setHistoryScrollRestoration=function(t){if(this.supportScrollRestoration()){var e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}},t.prototype.scrollToElement=function(t){var e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],r-i[1])},t.prototype.supportScrollRestoration=function(){try{return!!this.window&&!!this.window.scrollTo}catch(t){return!1}},t}();!function(){function t(){}t.prototype.setOffset=function(t){},t.prototype.getScrollPosition=function(){return[0,0]},t.prototype.scrollToPosition=function(t){},t.prototype.scrollToAnchor=function(t){},t.prototype.setHistoryScrollRestoration=function(t){}}()},Iwuw:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
    \r\n {{ \'SELECT_A_DEVICE\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{device.display}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'SELECT_A_BRAND\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{brand}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'SELECT_A_MODEL\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{model}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'ENTER_TOKEN\' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'ENTER_ID\' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_MINION_MESSAGE\' | translate}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    '},"JF+6":function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("6blF"),i=n("pugT");function o(t,e){return new r.a(function(n){var r=new i.a,o=0;return r.add(e.schedule(function(){o!==t.length?(n.next(t[o++]),n.closed||r.add(this.schedule())):n.complete()})),r})}},JYZP:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- Spinner loading animation --\x3e\r\n\x3c!-- \r\n \r\n --\x3e\r\n\x3c!-- Casanet loading logo animation --\x3e\r\n'},K9Ia:function(t,e,n){"use strict";n.d(e,"b",function(){return u}),n.d(e,"a",function(){return p});var r=n("mrSG"),i=n("6blF"),o=n("FFOo"),a=n("pugT"),s=n("8g8A"),l=n("uMaO"),c=n("L/V9"),u=function(t){function e(e){var n=t.call(this,e)||this;return n.destination=e,n}return r.c(e,t),e}(o.a),p=function(t){function e(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return r.c(e,t),e.prototype[c.a]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new s.a;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),i=0;i0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=a(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(s(n),e.scheduled=void 0)},e}(n("h9Dq").a),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r",inputs:["disabled"],changeDetection:r.j.OnPush,encapsulation:r.qb.None,exportAs:"matTab"}]}],e.ctorParameters=function(){return[{type:r.pb}]},e.propDecorators={templateLabel:[{type:r.r,args:[j]}],_explicitContent:[{type:r.r,args:[k,{read:r.jb}]}],_implicitContent:[{type:r.nb,args:[r.jb]}],textLabel:[{type:r.G,args:["label"]}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}]},e}(Object(a.w)(A)),T={translateTab:Object(h.n)("translateTab",[Object(h.k)("center, void, left-origin-center, right-origin-center",Object(h.l)({transform:"none"})),Object(h.k)("left",Object(h.l)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),Object(h.k)("right",Object(h.l)({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),Object(h.m)("* => left, * => right, left => center, right => center",Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Object(h.m)("void => left-origin-center",[Object(h.l)({transform:"translate3d(-100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Object(h.m)("void => right-origin-center",[Object(h.l)({transform:"translate3d(100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])},P=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i._host=r,i._centeringSub=l.a.EMPTY,i._leavingSub=l.a.EMPTY,i}return Object(i.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this._centeringSub=this._host._beforeCentering.pipe(Object(m.a)(this._host._isCenterPosition(this._host._position))).subscribe(function(t){t&&!e.hasAttached()&&e.attach(e._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(function(){e.detach()})},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()},e.decorators=[{type:r.t,args:[{selector:"[matTabBodyHost]"}]}],e.ctorParameters=function(){return[{type:r.p},{type:r.pb},{type:I,decorators:[{type:r.C,args:[Object(r.vb)(function(){return I})]}]}]},e}(o.c),I=function(){function t(t,e,n){var i=this;this._elementRef=t,this._dir=e,this._dirChangeSubscription=l.a.EMPTY,this._translateTabComplete=new s.a,this._onCentering=new r.x,this._beforeCentering=new r.x,this._afterLeavingCenter=new r.x,this._onCentered=new r.x(!0),this.animationDuration="500ms",this._dir&&n&&(this._dirChangeSubscription=this._dir.change.subscribe(function(t){i._computePositionAnimationState(t),n.markForCheck()})),this._translateTabComplete.pipe(Object(g.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})).subscribe(function(t){i._isCenterPosition(t.toState)&&i._isCenterPosition(i._position)&&i._onCentered.emit(),i._isCenterPosition(t.fromState)&&!i._isCenterPosition(i._position)&&i._afterLeavingCenter.emit()})}return Object.defineProperty(t.prototype,"position",{set:function(t){this._positionIndex=t,this._computePositionAnimationState()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin())},t.prototype.ngOnDestroy=function(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()},t.prototype._onTranslateTabStarted=function(t){var e=this._isCenterPosition(t.toState);this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)},t.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._isCenterPosition=function(t){return"center"==t||"left-origin-center"==t||"right-origin-center"==t},t.prototype._computePositionAnimationState=function(t){void 0===t&&(t=this._getLayoutDirection()),this._positionIndex<0?this._position="ltr"==t?"left":"right":this._positionIndex>0?this._position="ltr"==t?"right":"left":this._position="center"},t.prototype._computePositionFromOrigin=function(){var t=this._getLayoutDirection();return"ltr"==t&&this.origin<=0||"rtl"==t&&this.origin>0?"left-origin-center":"right-origin-center"},t.decorators=[{type:r.n,args:[{selector:"mat-tab-body",template:'
    ',styles:[".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,animations:[T.translateTab],host:{class:"mat-tab-body"}}]}],t.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.k}]},t.propDecorators={_onCentering:[{type:r.S}],_beforeCentering:[{type:r.S}],_afterLeavingCenter:[{type:r.S}],_onCentered:[{type:r.S}],_portalHost:[{type:r.nb,args:[o.f]}],_content:[{type:r.G,args:["content"]}],origin:[{type:r.G}],animationDuration:[{type:r.G}],position:[{type:r.G}]},t}(),R=function(){},M=function(t){function e(e){var n=t.call(this)||this;return n.elementRef=e,n}return Object(i.c)(e,t),e.prototype.focus=function(){this.elementRef.nativeElement.focus()},e.prototype.getOffsetLeft=function(){return this.elementRef.nativeElement.offsetLeft},e.prototype.getOffsetWidth=function(){return this.elementRef.nativeElement.offsetWidth},e.decorators=[{type:r.t,args:[{selector:"[matTabLabelWrapper]",inputs:["disabled"],host:{"[class.mat-tab-disabled]":"disabled","[attr.aria-disabled]":"!!disabled"}}]}],e.ctorParameters=function(){return[{type:r.u}]},e}(Object(a.w)(R)),N=Object(x.f)({passive:!0}),F=function(){},L=function(t){function e(e,n,i,o,a,l){var u=t.call(this)||this;u._elementRef=e,u._changeDetectorRef=n,u._viewportRuler=i,u._dir=o,u._ngZone=a,u._platform=l,u._scrollDistance=0,u._selectedIndexChanged=!1,u._destroyed=new s.a,u._showPaginationControls=!1,u._disableScrollAfter=!0,u._disableScrollBefore=!0,u._stopScrolling=new s.a,u._selectedIndex=0,u.selectFocusedIndex=new r.x,u.indexFocused=new r.x;var p=e.nativeElement,d=function(){Object(c.a)(p,"mouseleave").pipe(Object(y.a)(u._destroyed)).subscribe(function(){u._stopInterval()})};return a?a.runOutsideAngular(d):d(),u}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){t=Object(v.f)(t),this._selectedIndexChanged=this._selectedIndex!=t,this._selectedIndex=t,this._keyManager&&this._keyManager.updateActiveItemIndex(t)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){this._tabLabelCount!=this._labelWrappers.length&&(this.updatePagination(),this._tabLabelCount=this._labelWrappers.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())},e.prototype._handleKeydown=function(t){if(!Object(b.s)(t))switch(t.keyCode){case b.h:this._keyManager.setFirstItemActive(),t.preventDefault();break;case b.e:this._keyManager.setLastItemActive(),t.preventDefault();break;case b.f:case b.n:this.selectFocusedIndex.emit(this.focusIndex),t.preventDefault();break;default:this._keyManager.onKeydown(t)}},e.prototype.ngAfterContentInit=function(){var t=this,e=this._dir?this._dir.change:Object(u.a)(null),n=this._viewportRuler.change(150),r=function(){t.updatePagination(),t._alignInkBarToSelectedTab()};this._keyManager=new w.d(this._labelWrappers).withHorizontalOrientation(this._getLayoutDirection()).withWrap(),this._keyManager.updateActiveItem(0),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(r):r(),Object(p.a)(e,n).pipe(Object(y.a)(this._destroyed)).subscribe(function(){r(),t._keyManager.withHorizontalOrientation(t._getLayoutDirection())}),this._keyManager.change.pipe(Object(y.a)(this._destroyed)).subscribe(function(e){t.indexFocused.emit(e),t._setTabFocus(e)})},e.prototype.ngAfterViewInit=function(){var t=this;Object(c.a)(this._previousPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe(function(){t._handlePaginatorPress("before")}),Object(c.a)(this._nextPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe(function(){t._handlePaginatorPress("after")})},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()},e.prototype._onContentChanges=function(){var t=this,e=this._elementRef.nativeElement.textContent;if(e!==this._currentTextContent){this._currentTextContent=e;var n=function(){t.updatePagination(),t._alignInkBarToSelectedTab(),t._changeDetectorRef.markForCheck()};this._ngZone?this._ngZone.run(n):n()}},e.prototype.updatePagination=function(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()},Object.defineProperty(e.prototype,"focusIndex",{get:function(){return this._keyManager?this._keyManager.activeItemIndex:0},set:function(t){this._isValidIndex(t)&&this.focusIndex!==t&&this._keyManager&&this._keyManager.setActiveItem(t)},enumerable:!0,configurable:!0}),e.prototype._isValidIndex=function(t){if(!this._labelWrappers)return!0;var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;return!!e&&!e.disabled},e.prototype._setTabFocus=function(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._labelWrappers&&this._labelWrappers.length){this._labelWrappers.toArray()[t].focus();var e=this._tabListContainer.nativeElement,n=this._getLayoutDirection();e.scrollLeft="ltr"==n?0:e.scrollWidth-e.offsetWidth}},e.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},e.prototype._updateTabScrollPosition=function(){var t=this.scrollDistance,e=this._platform,n="ltr"===this._getLayoutDirection()?-t:t;this._tabList.nativeElement.style.transform="translateX("+Math.round(n)+"px)",e&&(e.TRIDENT||e.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)},Object.defineProperty(e.prototype,"scrollDistance",{get:function(){return this._scrollDistance},set:function(t){this._scrollTo(t)},enumerable:!0,configurable:!0}),e.prototype._scrollHeader=function(t){var e=("before"==t?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3;return this._scrollTo(this._scrollDistance+e)},e.prototype._handlePaginatorClick=function(t){this._stopInterval(),this._scrollHeader(t)},e.prototype._scrollToLabel=function(t){var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;if(e){var n,r,i=this._tabListContainer.nativeElement.offsetWidth;"ltr"==this._getLayoutDirection()?r=(n=e.getOffsetLeft())+e.getOffsetWidth():n=(r=this._tabList.nativeElement.offsetWidth-e.getOffsetLeft())-e.getOffsetWidth();var o=this.scrollDistance,a=this.scrollDistance+i;na&&(this.scrollDistance+=r-a+60)}},e.prototype._checkPaginationEnabled=function(){var t=this._tabList.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;t||(this.scrollDistance=0),t!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=t},e.prototype._checkScrollingControls=function(){this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck()},e.prototype._getMaxScrollDistance=function(){return this._tabList.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0},e.prototype._alignInkBarToSelectedTab=function(){var t=this._labelWrappers&&this._labelWrappers.length?this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement:null;this._inkBar.alignToElement(t)},e.prototype._stopInterval=function(){this._stopScrolling.next()},e.prototype._handlePaginatorPress=function(t){var e=this;this._stopInterval(),Object(d.a)(650,100).pipe(Object(y.a)(Object(p.a)(this._stopScrolling,this._destroyed))).subscribe(function(){var n=e._scrollHeader(t),r=n.maxScrollDistance,i=n.distance;(0===i||i>=r)&&e._stopInterval()})},e.prototype._scrollTo=function(t){var e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}},e.decorators=[{type:r.n,args:[{selector:"mat-tab-header",template:'
    ',styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-pagination-after,.mat-tab-header-rtl .mat-tab-header-pagination-before{padding-right:4px}.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:'';height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-labels{display:flex}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],inputs:["disableRipple"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,host:{class:"mat-tab-header","[class.mat-tab-header-pagination-controls-enabled]":"_showPaginationControls","[class.mat-tab-header-rtl]":"_getLayoutDirection() == 'rtl'"}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:_.f},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:x.a}]},e.propDecorators={_labelWrappers:[{type:r.s,args:[M]}],_inkBar:[{type:r.nb,args:[S]}],_tabListContainer:[{type:r.nb,args:["tabListContainer"]}],_tabList:[{type:r.nb,args:["tabList"]}],_nextPaginator:[{type:r.nb,args:["nextPaginator"]}],_previousPaginator:[{type:r.nb,args:["previousPaginator"]}],selectedIndex:[{type:r.G}],selectFocusedIndex:[{type:r.S}],indexFocused:[{type:r.S}]},e}(Object(a.v)(F)),V=0,B=function(){},z=new r.E("MAT_TABS_CONFIG"),H=function(t){this._elementRef=t},U=function(t){function e(e,n,i){var o=t.call(this,e)||this;return o._changeDetectorRef=n,o._indexToSelect=0,o._tabBodyWrapperHeight=0,o._tabsSubscription=l.a.EMPTY,o._tabLabelSubscription=l.a.EMPTY,o._dynamicHeight=!1,o._selectedIndex=null,o.headerPosition="above",o.selectedIndexChange=new r.x,o.focusChange=new r.x,o.animationDone=new r.x,o.selectedTabChange=new r.x(!0),o._groupId=V++,o.animationDuration=i&&i.animationDuration?i.animationDuration:"500ms",o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"dynamicHeight",{get:function(){return this._dynamicHeight},set:function(t){this._dynamicHeight=Object(v.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){this._indexToSelect=Object(v.f)(t,null)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationDuration",{get:function(){return this._animationDuration},set:function(t){this._animationDuration=/^\d+$/.test(t)?t+"ms":t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){var t=this,e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){var n=null==this._selectedIndex;n||this.selectedTabChange.emit(this._createChangeEvent(e)),Promise.resolve().then(function(){t._tabs.forEach(function(t,n){return t.isActive=n===e}),n||t.selectedIndexChange.emit(e)})}this._tabs.forEach(function(n,r){n.position=r-e,null==t._selectedIndex||0!=n.position||n.origin||(n.origin=e-t._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._changeDetectorRef.markForCheck())},e.prototype.ngAfterContentInit=function(){var t=this;this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(function(){if(t._clampTabIndex(t._indexToSelect)===t._selectedIndex)for(var e=t._tabs.toArray(),n=0;n
    ',styles:[".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{padding:0 12px}}@media (max-width:959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height .5s cubic-bezier(.35,0,.25,1)}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["color","disableRipple"],host:{class:"mat-tab-group","[class.mat-tab-group-dynamic-height]":"dynamicHeight","[class.mat-tab-group-inverted-header]":'headerPosition === "below"'}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.C,args:[z]},{type:r.R}]}]},e.propDecorators={_tabs:[{type:r.s,args:[D]}],_tabBodyWrapper:[{type:r.nb,args:["tabBodyWrapper"]}],_tabHeader:[{type:r.nb,args:["tabHeader"]}],dynamicHeight:[{type:r.G}],selectedIndex:[{type:r.G}],headerPosition:[{type:r.G}],animationDuration:[{type:r.G}],backgroundColor:[{type:r.G}],selectedIndexChange:[{type:r.S}],focusChange:[{type:r.S}],animationDone:[{type:r.S}],selectedTabChange:[{type:r.S}]},e}(Object(a.u)(Object(a.v)(H),"primary")),G=function(t){this._elementRef=t},q=function(t){function e(e,n,r,i,o){var a=t.call(this,e)||this;return a._dir=n,a._ngZone=r,a._changeDetectorRef=i,a._viewportRuler=o,a._onDestroy=new s.a,a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.updateActiveLink=function(t){this._activeLinkChanged=!!t,this._changeDetectorRef.markForCheck()},e.prototype.ngAfterContentInit=function(){var t=this;this._ngZone.runOutsideAngular(function(){var e=t._dir?t._dir.change:Object(u.a)(null);return Object(p.a)(e,t._viewportRuler.change(10)).pipe(Object(y.a)(t._onDestroy)).subscribe(function(){return t._alignInkBar()})})},e.prototype.ngAfterContentChecked=function(){if(this._activeLinkChanged){var t=this._tabLinks.find(function(t){return t.active});this._activeLinkElement=t?t._elementRef:null,this._alignInkBar(),this._activeLinkChanged=!1}},e.prototype.ngOnDestroy=function(){this._onDestroy.next(),this._onDestroy.complete()},e.prototype._alignInkBar=function(){this._activeLinkElement?(this._inkBar.show(),this._inkBar.alignToElement(this._activeLinkElement.nativeElement)):this._inkBar.hide()},e.decorators=[{type:r.n,args:[{selector:"[mat-tab-nav-bar]",exportAs:"matTabNavBar, matTabNav",inputs:["color","disableRipple"],template:'',styles:[".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.mat-tab-link{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],host:{class:"mat-tab-nav-bar"},encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:r.k},{type:_.f}]},e.propDecorators={_inkBar:[{type:r.nb,args:[S]}],_tabLinks:[{type:r.s,args:[Object(r.vb)(function(){return Y}),{descendants:!0}]}],backgroundColor:[{type:r.G}]},e}(Object(a.v)(Object(a.u)(G,"primary"))),W=function(){},Y=function(t){function e(e,n,r,i,o,s,l){var c=t.call(this)||this;return c._tabNavBar=e,c._elementRef=n,c._focusMonitor=l,c._isActive=!1,c._tabLinkRipple=new a.r(c,r,n,i),c._tabLinkRipple.setupTriggerEvents(n.nativeElement),c.rippleConfig=o||{},c.tabIndex=parseInt(s)||0,l&&l.monitor(n),c}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"active",{get:function(){return this._isActive},set:function(t){t!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink(this._elementRef))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rippleDisabled",{get:function(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._tabLinkRipple._removeTriggerEvents(),this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef)},e.decorators=[{type:r.t,args:[{selector:"[mat-tab-link], [matTabLink]",exportAs:"matTabLink",inputs:["disabled","disableRipple","tabIndex"],host:{class:"mat-tab-link","[attr.aria-current]":"active","[attr.aria-disabled]":"disabled.toString()","[attr.tabIndex]":"tabIndex","[class.mat-tab-disabled]":"disabled","[class.mat-tab-label-active]":"active"}}]}],e.ctorParameters=function(){return[{type:q},{type:r.u},{type:r.Q},{type:x.a},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[a.g]}]},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:w.e}]},e.propDecorators={active:[{type:r.G}]},e}(Object(a.y)(Object(a.v)(Object(a.w)(W)))),K=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[O.b,a.h,o.h,a.q,C.b,w.a],exports:[a.h,U,j,D,q,Y,k],declarations:[U,j,D,S,M,q,Y,I,P,L,k]}]}],t}()},LhV3:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {{ clock }}\r\n \r\n \r\n \r\n\r\n \x3c!-- --\x3e\r\n \x3c!-- --\x3e\r\n\r\n \r\n\r\n \x3c!-- Liveliness area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- Remote connection status area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n'},M2Lx:function(t,e,n){"use strict";n.d(e,"a",function(){return c}),n.d(e,"b",function(){return p});var r=n("n6gG"),i=n("CcnG"),o=n("6blF"),a=n("K9Ia"),s=n("Gi3i"),l=function(){function t(){}return t.prototype.create=function(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),c=function(){function t(t){this._mutationObserverFactory=t,this._observedElements=new Map}return t.prototype.ngOnDestroy=function(){var t=this;this._observedElements.forEach(function(e,n){return t._cleanupObserver(n)})},t.prototype.observe=function(t){var e=this,n=Object(r.e)(t);return new o.a(function(t){var r=e._observeElement(n).subscribe(t);return function(){r.unsubscribe(),e._unobserveElement(n)}})},t.prototype._observeElement=function(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{var e=new a.a,n=this._mutationObserverFactory.create(function(t){return e.next(t)});n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream},t.prototype._unobserveElement=function(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))},t.prototype._cleanupObserver=function(t){if(this._observedElements.has(t)){var e=this._observedElements.get(t),n=e.observer,r=e.stream;n&&n.disconnect(),r.complete(),this._observedElements.delete(t)}},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:l}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(l))},token:t,providedIn:"root"}),t}(),u=function(){function t(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new i.x,this._disabled=!1,this._currentSubscription=null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(r.c)(t),this._disabled?this._unsubscribe():this._subscribe()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"debounce",{get:function(){return this._debounce},set:function(t){this._debounce=Object(r.f)(t),this._subscribe()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._currentSubscription||this.disabled||this._subscribe()},t.prototype.ngOnDestroy=function(){this._unsubscribe()},t.prototype._subscribe=function(){var t=this;this._unsubscribe();var e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){t._currentSubscription=(t.debounce?e.pipe(Object(s.a)(t.debounce)):e).subscribe(t.event)})},t.prototype._unsubscribe=function(){this._currentSubscription&&this._currentSubscription.unsubscribe()},t.decorators=[{type:i.t,args:[{selector:"[cdkObserveContent]",exportAs:"cdkObserveContent"}]}],t.ctorParameters=function(){return[{type:c},{type:i.u},{type:i.Q}]},t.propDecorators={event:[{type:i.S,args:["cdkObserveContent"]}],disabled:[{type:i.G,args:["cdkObserveContentDisabled"]}],debounce:[{type:i.G}]},t}(),p=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[u],declarations:[u],providers:[l]}]}],t}()},MGBS:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("FFOo").a)},McSo:function(t,e,n){"use strict";function r(t){return null!==t&&"object"==typeof t}n.d(e,"a",function(){return r})},NZXM:function(t,e,n){"use strict";n.d(e,"a",function(){return c});var r=n("CcnG"),i=n("t/Na"),o=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},l=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] open-instant",Object(r.e)("0ms")),Object(r.m)("void <=> open, open-instant => void",Object(r.e)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])};function S(t){throw Error("A drawer was already declared for 'position=\""+t+"\"'")}var k=new d.E("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function(){return!1}});var j=function(t){function e(e,n,r,i,o){var a=t.call(this,r,i,o)||this;return a._changeDetectorRef=e,a._container=n,a}return Object(i.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._container._contentMarginChanges.subscribe(function(){t._changeDetectorRef.markForCheck()})},e.decorators=[{type:d.n,args:[{selector:"mat-drawer-content",template:"",host:{class:"mat-drawer-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:D,decorators:[{type:d.C,args:[Object(d.vb)(function(){return D})]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(u.a),A=function(){function t(t,e,n,r,i,o){var a=this;this._elementRef=t,this._focusTrapFactory=e,this._focusMonitor=n,this._platform=r,this._ngZone=i,this._doc=o,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._autoFocus=!0,this._animationStarted=new h.a,this._animationEnd=new h.a,this._animationState="void",this.openedChange=new d.x(!0),this._destroyed=new h.a,this.onPositionChanged=new d.x,this._modeChanged=new h.a,this._opened=!1,this.openedChange.subscribe(function(t){t?(a._doc&&(a._elementFocusedBeforeDrawerWasOpened=a._doc.activeElement),a._isFocusTrapEnabled&&a._focusTrap&&a._trapFocus()):a._restoreFocus()}),this._ngZone.runOutsideAngular(function(){Object(f.a)(a._elementRef.nativeElement,"keydown").pipe(Object(g.a)(function(t){return t.keyCode===l.g&&!a.disableClose}),Object(y.a)(a._destroyed)).subscribe(function(t){return a._ngZone.run(function(){a.close(),t.stopPropagation()})})}),this._animationEnd.pipe(Object(v.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})).subscribe(function(t){var e=t.fromState,n=t.toState;(0===n.indexOf("open")&&"void"===e||"void"===n&&0===e.indexOf("open"))&&a.openedChange.emit(a._opened)})}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){(t="end"===t?"end":"start")!=this._position&&(this._position=t,this.onPositionChanged.emit())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mode",{get:function(){return this._mode},set:function(t){this._mode=t,this._modeChanged.next()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableClose",{get:function(){return this._disableClose},set:function(t){this._disableClose=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoFocus",{get:function(){return this._autoFocus},set:function(t){this._autoFocus=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(Object(g.a)(function(t){return t}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState&&0===t.toState.indexOf("open")}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(Object(g.a)(function(t){return!t}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"closedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState&&"void"===t.toState}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_isFocusTrapEnabled",{get:function(){return this.opened&&"side"!==this.mode},enumerable:!0,configurable:!0}),t.prototype._trapFocus=function(){var t=this;this.autoFocus&&this._focusTrap.focusInitialElementWhenReady().then(function(e){e||"function"!=typeof t._elementRef.nativeElement.focus||t._elementRef.nativeElement.focus()})},t.prototype._restoreFocus=function(){if(this.autoFocus){var t=this._doc&&this._doc.activeElement;t&&this._elementRef.nativeElement.contains(t)&&(this._elementFocusedBeforeDrawerWasOpened instanceof HTMLElement?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,this._openedVia):this._elementRef.nativeElement.blur()),this._elementFocusedBeforeDrawerWasOpened=null,this._openedVia=null}},t.prototype.ngAfterContentInit=function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._focusTrap.enabled=this._isFocusTrapEnabled},t.prototype.ngAfterContentChecked=function(){this._platform.isBrowser&&(this._enableAnimations=!0)},t.prototype.ngOnDestroy=function(){this._focusTrap&&this._focusTrap.destroy(),this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()},Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){this.toggle(Object(s.c)(t))},enumerable:!0,configurable:!0}),t.prototype.open=function(t){return this.toggle(!0,t)},t.prototype.close=function(){return this.toggle(!1)},t.prototype.toggle=function(t,e){var n=this;return void 0===t&&(t=!this.opened),void 0===e&&(e="program"),this._opened=t,t?(this._animationState=this._enableAnimations?"open":"open-instant",this._openedVia=e):(this._animationState="void",this._restoreFocus()),this._focusTrap&&(this._focusTrap.enabled=this._isFocusTrapEnabled),new Promise(function(t){n.openedChange.pipe(Object(_.a)(1)).subscribe(function(e){return t(e?"open":"close")})})},Object.defineProperty(t.prototype,"_width",{get:function(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0},enumerable:!0,configurable:!0}),t.decorators=[{type:d.n,args:[{selector:"mat-drawer",exportAs:"matDrawer",template:'
    ',animations:[E.transformDrawer],host:{class:"mat-drawer","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',tabIndex:"-1"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:d.u},{type:o.f},{type:o.e},{type:c.a},{type:d.Q},{type:void 0,decorators:[{type:d.R},{type:d.C,args:[p.c]}]}]},t.propDecorators={position:[{type:d.G}],mode:[{type:d.G}],disableClose:[{type:d.G}],autoFocus:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],openedStart:[{type:d.S}],_closedStream:[{type:d.S,args:["closed"]}],closedStart:[{type:d.S}],onPositionChanged:[{type:d.S,args:["positionChanged"]}],opened:[{type:d.G}]},t}(),D=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=!1);var s=this;this._dir=t,this._element=e,this._ngZone=n,this._changeDetectorRef=r,this._animationMode=o,this.backdropClick=new d.x,this._destroyed=new h.a,this._doCheckSubject=new h.a,this._contentMargins={left:null,right:null},this._contentMarginChanges=new h.a,t&&t.change.pipe(Object(y.a)(this._destroyed)).subscribe(function(){s._validateDrawers(),s._updateContentMargins()}),a&&a.change().pipe(Object(y.a)(this._destroyed)).subscribe(function(){return s._updateContentMargins()}),this._autosize=i}return Object.defineProperty(t.prototype,"start",{get:function(){return this._start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this._end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autosize",{get:function(){return this._autosize},set:function(t){this._autosize=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride},set:function(t){this._backdropOverride=null==t?null:Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollable",{get:function(){return this._userContent||this._content},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._drawers.changes.pipe(Object(w.a)(null)).subscribe(function(){t._validateDrawers(),t._drawers.forEach(function(e){t._watchDrawerToggle(e),t._watchDrawerPosition(e),t._watchDrawerMode(e)}),(!t._drawers.length||t._isDrawerOpen(t._start)||t._isDrawerOpen(t._end))&&t._updateContentMargins(),t._changeDetectorRef.markForCheck()}),this._doCheckSubject.pipe(Object(x.a)(10),Object(y.a)(this._destroyed)).subscribe(function(){return t._updateContentMargins()})},t.prototype.ngOnDestroy=function(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._destroyed.next(),this._destroyed.complete()},t.prototype.open=function(){this._drawers.forEach(function(t){return t.open()})},t.prototype.close=function(){this._drawers.forEach(function(t){return t.close()})},t.prototype.ngDoCheck=function(){var t=this;this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(function(){return t._doCheckSubject.next()})},t.prototype._watchDrawerToggle=function(t){var e=this;t._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState}),Object(y.a)(this._drawers.changes)).subscribe(function(t){"open-instant"!==t.toState&&"NoopAnimations"!==e._animationMode&&e._element.nativeElement.classList.add("mat-drawer-transition"),e._updateContentMargins(),e._changeDetectorRef.markForCheck()}),"side"!==t.mode&&t.openedChange.pipe(Object(y.a)(this._drawers.changes)).subscribe(function(){return e._setContainerClass(t.opened)})},t.prototype._watchDrawerPosition=function(t){var e=this;t&&t.onPositionChanged.pipe(Object(y.a)(this._drawers.changes)).subscribe(function(){e._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(_.a)(1)).subscribe(function(){e._validateDrawers()})})},t.prototype._watchDrawerMode=function(t){var e=this;t&&t._modeChanged.pipe(Object(y.a)(Object(m.a)(this._drawers.changes,this._destroyed))).subscribe(function(){e._updateContentMargins(),e._changeDetectorRef.markForCheck()})},t.prototype._setContainerClass=function(t){t?this._element.nativeElement.classList.add("mat-drawer-opened"):this._element.nativeElement.classList.remove("mat-drawer-opened")},t.prototype._validateDrawers=function(){var t=this;this._start=this._end=null,this._drawers.forEach(function(e){"end"==e.position?(null!=t._end&&S("end"),t._end=e):(null!=t._start&&S("start"),t._start=e)}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)},t.prototype._isPushed=function(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode},t.prototype._onBackdropClicked=function(){this.backdropClick.emit(),this._closeModalDrawer()},t.prototype._closeModalDrawer=function(){var t=this;[this._start,this._end].filter(function(e){return e&&!e.disableClose&&t._canHaveBackdrop(e)}).forEach(function(t){return t.close()})},t.prototype._isShowingBackdrop=function(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)},t.prototype._canHaveBackdrop=function(t){return"side"!==t.mode||!!this._backdropOverride},t.prototype._isDrawerOpen=function(t){return null!=t&&t.opened},t.prototype._updateContentMargins=function(){var t=this,e=0,n=0;if(this._left&&this._left.opened)if("side"==this._left.mode)e+=this._left._width;else if("push"==this._left.mode){e+=r=this._left._width,n-=r}if(this._right&&this._right.opened)if("side"==this._right.mode)n+=this._right._width;else if("push"==this._right.mode){var r;n+=r=this._right._width,e-=r}n=n||null,(e=e||null)===this._contentMargins.left&&n===this._contentMargins.right||(this._contentMargins={left:e,right:n},this._ngZone.run(function(){return t._contentMarginChanges.next(t._contentMargins)}))},t.decorators=[{type:d.n,args:[{selector:"mat-drawer-container",exportAs:"matDrawerContainer",template:'
    ',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:a.b,decorators:[{type:d.R}]},{type:d.u},{type:d.Q},{type:d.k},{type:void 0,decorators:[{type:d.C,args:[k]}]},{type:String,decorators:[{type:d.R},{type:d.C,args:[C.a]}]},{type:u.f,decorators:[{type:d.R}]}]},t.propDecorators={_drawers:[{type:d.s,args:[A]}],_content:[{type:d.r,args:[j]}],_userContent:[{type:d.nb,args:[j]}],autosize:[{type:d.G}],hasBackdrop:[{type:d.G}],backdropClick:[{type:d.S}]},t}(),T=function(t){function e(e,n,r,i,o){return t.call(this,e,n,r,i,o)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-content",template:"",host:{class:"mat-drawer-content mat-sidenav-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:I,decorators:[{type:d.C,args:[Object(d.vb)(function(){return I})]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(j),P=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._fixedInViewport=!1,e._fixedTopGap=0,e._fixedBottomGap=0,e}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"fixedInViewport",{get:function(){return this._fixedInViewport},set:function(t){this._fixedInViewport=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedTopGap",{get:function(){return this._fixedTopGap},set:function(t){this._fixedTopGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedBottomGap",{get:function(){return this._fixedBottomGap},set:function(t){this._fixedBottomGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav",exportAs:"matSidenav",template:'
    ',animations:[E.transformDrawer],host:{class:"mat-drawer mat-sidenav",tabIndex:"-1","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',"[class.mat-sidenav-fixed]":"fixedInViewport","[style.top.px]":"fixedInViewport ? fixedTopGap : null","[style.bottom.px]":"fixedInViewport ? fixedBottomGap : null"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={fixedInViewport:[{type:d.G}],fixedTopGap:[{type:d.G}],fixedBottomGap:[{type:d.G}]},e}(A),I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-container",exportAs:"matSidenavContainer",template:'
    ',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container mat-sidenav-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={_drawers:[{type:d.s,args:[P]}],_content:[{type:d.r,args:[T]}]},e}(D),R=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[p.b,O.h,u.d,c.b],exports:[O.h,A,D,j,P,I,T],declarations:[A,D,j,P,I,T]}]}],t}()},Onty:function(t,e,n){"use strict";n.d(e,"a",function(){return p});var r=n("CcnG"),i=n("PSD3"),o=n.n(i),a=n("ZYCi"),s=n("NZXM"),l=n("eKg/"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(){function t(t,e){this.translateService=t,this.router=e,this.translatePipe=new l.a(this.translateService),this.genericToast=o.a.mixin({toast:!0,position:"top-start",confirmButtonText:this.translatePipe.transform("CLOSE"),showConfirmButton:!0,timer:2e4})}return t.prototype.OnHttpError=function(t){if(403!==t.status&&401!==t.status)if(0!==t.status&&504!==t.status)if(t.error)if(void 0===t.error.responseCode)this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(t.status,!0)});else{var e=t.error;this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(e.responseCode,!0)})}else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL")});else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(0,!0)});else this.router.navigate(["/login"])},t.ctorParameters=function(){return[{type:s.a},{type:a.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,a.a])],t)}()},OzfB:function(t,e,n){"use strict";n.d(e,"c",function(){return x}),n.d(e,"d",function(){return E}),n.d(e,"e",function(){return S}),n.d(e,"h",function(){return k}),n.d(e,"a",function(){return j}),n.d(e,"b",function(){return R}),n.d(e,"g",function(){return rt}),n.d(e,"j",function(){return ot}),n.d(e,"i",function(){return at}),n.d(e,"k",function(){return st}),n.d(e,"f",function(){return ct});var r=n("CcnG"),i=n("Ip0R"),o=n("mrSG"),a=n("K9Ia"),s=n("26FU"),l=n("6blF"),c=n("p0ib"),u=n("KQya"),p=n("F/XL"),d=n("bne5"),h=n("VnD/"),f=n("67Y/"),m=n("Gi3i"),g=n("15JJ"),y=n("ny24"),v=n("t9fZ"),b=n("xMyE");var _={provide:r.b,useFactory:function(t,e){return function(){if(Object(i.m)(e)){var n=Array.from(t.querySelectorAll("[class*="+w+"]")),r=/\bflex-layout-.+?\b/g;n.forEach(function(t){t.classList.contains(w+"ssr")&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(r,"")})}}},deps:[i.c,r.U],multi:!0},w="flex-layout-",x=function(){function t(){}return t.decorators=[{type:r.L,args:[{providers:[_]}]}],t}(),C=function(){function t(t,e,n,r,i){void 0===t&&(t=!1),void 0===e&&(e="all"),void 0===n&&(n=""),void 0===r&&(r=""),void 0===i&&(i=0),this.matches=t,this.mediaQuery=e,this.mqAlias=n,this.suffix=r,this.priority=i,this.property=""}return t.prototype.clone=function(){return new t(this.matches,this.mediaQuery,this.mqAlias,this.suffix)},t}(),O=function(){function t(){this.stylesheet=new Map}return t.prototype.addStyleToElement=function(t,e,n){var r=this.stylesheet.get(t);r?r.set(e,n):this.stylesheet.set(t,new Map([[e,n]]))},t.prototype.clearStyles=function(){this.stylesheet.clear()},t.prototype.getStyleForElement=function(t,e){var n=this.stylesheet.get(t),r="";if(n){var i=n.get(e);"number"!=typeof i&&"string"!=typeof i||(r=i+"")}return r},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tc)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),E={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},S=new r.E("Flex Layout token, config options for the library",{providedIn:"root",factory:function(){return E}}),k=new r.E("FlexLayoutServerLoaded",{providedIn:"root",factory:function(){return!1}}),j=new r.E("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:function(){return null}});function A(t,e){return t=t?t.clone():new C,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}var D="inline",T=["row","column","row-reverse","column-reverse"];function P(t){var e=function(t){var e=(t=t?t.toLowerCase():"").split(" "),n=e[0],r=e[1],i=e[2];T.find(function(t){return t===n})||(n=T[0]);r===D&&(r=i!==D?i:"",i=D);return[n,I(r),!!i]}(t);return function(t,e,n){void 0===e&&(e=null);void 0===n&&(n=!1);return{display:n?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e[0],e[1],e[2])}function I(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var R=function(){function t(t,e,n,r){this.elementRef=t,this.styleBuilder=e,this.styler=n,this.marshal=r,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new a.a,this.styleCache=new Map}return Object.defineProperty(t.prototype,"parentElement",{get:function(){return this.elementRef.nativeElement.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activatedValue",{get:function(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)},set:function(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){var e=this;Object.keys(t).forEach(function(n){if(-1!==e.inputs.indexOf(n)){var r=n.split(".").slice(1).join("."),i=t[n].currentValue;e.setValue(i,r)}})},t.prototype.ngOnDestroy=function(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)},t.prototype.init=function(t){void 0===t&&(t=[]),this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)},t.prototype.addStyles=function(t,e){var n=this.styleBuilder,r=n.shouldCache,i=this.styleCache.get(t);i&&r||(i=n.buildStyles(t,e),r&&this.styleCache.set(t,i)),this.mru=Object(o.a)({},i),this.applyStyleToElement(i),n.sideEffect(t,i,e)},t.prototype.clearStyles=function(){var t=this;Object.keys(this.mru).forEach(function(e){t.mru[e]=""}),this.applyStyleToElement(this.mru),this.mru={}},t.prototype.triggerUpdate=function(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)},t.prototype.getFlexFlowDirection=function(t,e){if(void 0===e&&(e=!1),t){var n=this.styler.getFlowDirection(t),r=n[0];if(!n[1]&&e){var i=P(r),o=[t];this.styler.applyStyleToElements(i,o)}return r.trim()}return"row"},t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=this.nativeElement),this.styler.applyStyleToElement(n,t,e)},t.prototype.setValue=function(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)},t.prototype.updateWithValue=function(t){this.addStyles(t)},t}(),M=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.9px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.9px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.9px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.9px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.9px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.9px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.9px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.9px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.9px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],N="(orientation: portrait) and (min-width: 600px) and (max-width: 839.9px)",F="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.9px)",L="(orientation: portrait) and (min-width: 840px)",V="(orientation: landscape) and (min-width: 1280px)",B={HANDSET:"(orientation: portrait) and (max-width: 599.9px), (orientation: landscape) and (max-width: 959.9px)",TABLET:N+" , "+F,WEB:L+", "+V+" ",HANDSET_PORTRAIT:"(orientation: portrait) and (max-width: 599.9px)",TABLET_PORTRAIT:N+" ",WEB_PORTRAIT:""+L,HANDSET_LANDSCAPE:"(orientation: landscape) and (max-width: 959.9px)]",TABLET_LANDSCAPE:""+F,WEB_LANDSCAPE:""+V},z=[{alias:"handset",priority:2e3,mediaQuery:B.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:B.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:B.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.portrait",priority:2100,mediaQuery:B.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:B.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:B.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:B.WEB_PORTRAIT,overlapping:!0}];var H=/(\.|-|_)/g;function U(t){var e=t.length>0?t.charAt(0):"",n=t.length>1?t.slice(1):"";return e.toUpperCase()+n}function G(t){return t.forEach(function(t){t.suffix||(t.suffix=t.alias.replace(H,"|").split("|").map(U).join(""),t.overlapping=!!t.overlapping)}),t}function q(t,e){void 0===e&&(e=[]);var n={};return t.forEach(function(t){n[t.alias]=t}),e.forEach(function(t){n[t.alias]?function(t){for(var e=[],n=1;n-1})),i=new l.a(function(e){var r=n.registerQuery(t);if(r.length){var i=r.pop();r.forEach(function(t){e.next(t)}),n.source.next(i)}e.complete()});return Object(c.a)(i,r)}return this._observable$},t.prototype.registerQuery=function(t){var e=this,n=Array.isArray(t)?t:[t],r=[];return function(t,e){var n=t.filter(function(t){return!Z[t]});if(n.length>0){var r=n.join(", ");try{var i=e.createElement("style");if(i.setAttribute("type","text/css"),!i.styleSheet){var o="\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media "+r+" {.fx-query-test{ }}\n";i.appendChild(e.createTextNode(o))}e.head.appendChild(i),n.forEach(function(t){return Z[t]=i})}catch(a){console.error(a)}}}(n,this._document),n.forEach(function(t){var n=e.registry.get(t);n||((n=e.buildMQL(t)).addListener(function(n){e._zone.run(function(){return e.source.next(new C(n.matches,t))})}),e.registry.set(t,n)),n.matches&&r.push(new C(!0,t))}),r},t.prototype.buildMQL=function(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}(t,Object(i.m)(this._platformId))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(r.Q),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"}),t}(),Z={};!function(t){function e(e,n,r,i){var o=t.call(this,e,n,r)||this;return o._breakpoints=i,o.autoRegisterQueries=!0,o.useOverlaps=!1,o}Object(o.c)(e,t),e.prototype.clearAll=function(){this.registry.forEach(function(t){t.destroy()}),this.registry.clear(),this.useOverlaps=!1},e.prototype.activate=function(t,e){return void 0===e&&(e=!1),e=e||this.useOverlaps,t=this._validateQuery(t),!e&&this.isActive(t)||(this._deactivateAll(),this._registerMediaQuery(t),this._activateWithOverlaps(t,e)),this.hasActivated},e.prototype._validateQuery=function(t){var e=this._breakpoints.findByAlias(t);return e&&e.mediaQuery||t},e.prototype._activateWithOverlaps=function(t,e){if(e){var n=this._breakpoints.findByQuery(t),r=n?n.alias:"unknown";switch(r){case"lg":this._activateByAlias("lt-xl");break;case"md":this._activateByAlias("lt-xl, lt-lg");break;case"sm":this._activateByAlias("lt-xl, lt-lg, lt-md");break;case"xs":this._activateByAlias("lt-xl, lt-lg, lt-md, lt-sm")}switch(r){case"xl":this._activateByAlias("gt-lg, gt-md, gt-sm, gt-xs");break;case"lg":this._activateByAlias("gt-md, gt-sm, gt-xs");break;case"md":this._activateByAlias("gt-sm, gt-xs");break;case"sm":this._activateByAlias("gt-xs")}}return this._activateByQuery(t)},e.prototype._activateByAlias=function(t){var e=this;t.split(",").forEach(function(t){return function(t){var n=e._breakpoints.findByAlias(t);e._activateByQuery(n?n.mediaQuery:t)}(t.trim())})},e.prototype._activateByQuery=function(t){var e=this.registry.get(t);return e&&!this.isActive(t)&&this.registry.set(t,e.activate()),this.hasActivated},e.prototype._deactivateAll=function(){return this.registry.forEach(function(t){t.deactivate()}),this},e.prototype._registerMediaQuery=function(t){!this.registry.has(t)&&this.autoRegisterQueries&&this.registerQuery(t)},e.prototype.buildMQL=function(t){return new $(t)},Object.defineProperty(e.prototype,"hasActivated",{get:function(){return this.activations.length>0},enumerable:!0,configurable:!0}),e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]},{type:Q}]}}(X);var $=function(){function t(t){this._mediaQuery=t,this._isActive=!1,this._listeners=[],this.onchange=null}return Object.defineProperty(t.prototype,"matches",{get:function(){return this._isActive},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"media",{get:function(){return this._mediaQuery},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this.deactivate(),this._listeners=[]},t.prototype.activate=function(){var t=this;return this._isActive||(this._isActive=!0,this._listeners.forEach(function(e){e.call(null,t)})),this},t.prototype.deactivate=function(){var t=this;return this._isActive&&(this._isActive=!1,this._listeners.forEach(function(e){e.call(null,t)})),this},t.prototype.addListener=function(t){(-1===this._listeners.indexOf(t)&&this._listeners.push(t),this._isActive)&&t.call(null,this)},t.prototype.removeListener=function(t){},t.prototype.addEventListener=function(t,e,n){},t.prototype.removeEventListener=function(t,e,n){},t.prototype.dispatchEvent=function(t){return!1},t}(),J="print",tt={alias:J,mediaQuery:J,priority:1e3},et=function(){function t(t,e){this.breakpoints=t,this.layoutConfig=e,this.isPrinting=!1,this.queue=new nt,this.deactivations=[]}return t.prototype.withPrintQuery=function(t){return t.concat([J])},t.prototype.isPrintEvent=function(t){return t.mediaQuery.startsWith(J)},Object.defineProperty(t.prototype,"printAlias",{get:function(){return this.layoutConfig.printWithBreakpoints||[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"printBreakPoints",{get:function(){var t=this;return this.printAlias.map(function(e){return t.breakpoints.findByAlias(e)}).filter(function(t){return null!==t})},enumerable:!0,configurable:!0}),t.prototype.getEventBreakpoints=function(t){var e=t.mediaQuery,n=this.breakpoints.findByQuery(e);return(n?this.printBreakPoints.concat([n]):this.printBreakPoints).sort(Y)},t.prototype.updateEvent=function(t){var e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),A(t,e)},t.prototype.interceptEvents=function(t){var e=this;return function(n){e.isPrintEvent(n)?n.matches&&!e.isPrinting?(e.startPrinting(t,e.getEventBreakpoints(n)),t.updateStyles()):!n.matches&&e.isPrinting&&(e.stopPrinting(t),t.updateStyles()):e.collectActivations(n)}},t.prototype.blockPropagation=function(){var t=this;return function(e){return!(t.isPrinting||t.isPrintEvent(e))}},t.prototype.startPrinting=function(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)},t.prototype.stopPrinting=function(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1},t.prototype.collectActivations=function(t){if(!this.isPrinting)if(t.matches)this.deactivations=[];else{var e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(Y))}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),nt=function(){function t(){this.printBreakpoints=[]}return t.prototype.addPrintBreakpoints=function(t){var e=this;return t.push(tt),t.sort(Y),t.forEach(function(t){return e.addBreakpoint(t)}),this.printBreakpoints},t.prototype.addBreakpoint=function(t){t&&(void 0===this.printBreakpoints.find(function(e){return e.mediaQuery===t.mediaQuery})&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith(J)}(t)?[t].concat(this.printBreakpoints):this.printBreakpoints.concat([t])))},t.prototype.clear=function(){this.printBreakpoints=[]},t}();var rt=function(){function t(t,e,n){this.breakpoints=t,this.matchMedia=e,this.hook=n,this.filterOverlaps=!1,this.destroyed$=new a.a,this._media$=this.watchActivations(),this.media$=this._media$.pipe(Object(h.a)(function(t){return t.length>0}),Object(f.a)(function(t){return t[0]}))}return t.prototype.ngOnDestroy=function(){this.destroyed$.next(),this.destroyed$.complete()},t.prototype.asObservable=function(){return this._media$},t.prototype.isActive=function(t){var e=this;return function(t){return Array.isArray(t)?t:[t]}(t).map(function(t){return t.split(",")}).reduce(function(t,e){return t.concat(e)}).map(function(t){return t.trim()}).some(function(t){var n=function(t,e){var n=e.findByAlias(t)||e.findByQuery(t);return n?n.mediaQuery:t}(t,e.breakpoints);return e.matchMedia.isActive(n)})},t.prototype.watchActivations=function(){var t=this.breakpoints.items.map(function(t){return t.mediaQuery});return this.buildObservable(t)},t.prototype.buildObservable=function(t){var e=this;return this.matchMedia.observe(this.hook.withPrintQuery(t)).pipe(Object(h.a)(function(t){return t.matches}),Object(m.a)(0,u.a),Object(g.a)(function(t){return Object(p.a)(e.findAllActivations())}),Object(f.a)(function(t){return e.filterOverlaps?t.filter(function(t){var n=e.breakpoints.findByQuery(t.mediaQuery);return!n||!n.overlapping}):t}),Object(h.a)(function(t){return t.filter(function(t){return t.mediaQuery.length>0}).length>0}),Object(y.a)(this.destroyed$))},t.prototype.findAllActivations=function(){var t=this;return this.matchMedia.activations.map(function(t){return new C(!0,t)}).map(function(e){return t.hook.isPrintEvent(e)?t.hook.updateEvent(e):e}).map(function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))}).sort(Y)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:et}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(et))},token:t,providedIn:"root"}),t}();!function(){function t(t,e,n,r,i){this.breakpoints=t,this.matchMedia=e,this.layoutConfig=n,this._platformId=r,this._document=i,this.hasCachedRegistryMatches=!1,this.originalActivations=[],this.originalRegistry=new Map}t.prototype.activate=function(t){t=t.map(function(t){return t.trim()}),this.saveActivations(),this.deactivateAll(),this.setActivations(t),this.prepareAutoRestore()},t.prototype.restore=function(){if(this.hasCachedRegistryMatches){var t=this.originalActivations.map(function(t){return t.mediaQuery});try{this.deactivateAll(),this.restoreRegistryMatches(),this.setActivations(t)}finally{this.originalActivations=[],this.resizeSubscription&&this.resizeSubscription.unsubscribe()}}},t.prototype.prepareAutoRestore=function(){if(Object(i.m)(this._platformId)&&this._document&&this.layoutConfig.mediaTriggerAutoRestore){var t=Object(d.a)(window,"resize").pipe(Object(v.a)(1));this.resizeSubscription=t.subscribe(this.restore.bind(this))}},t.prototype.deactivateAll=function(){var t=this.currentActivations;this.forceRegistryMatches(t,!1),this.simulateMediaChanges(t,!1)},t.prototype.saveActivations=function(){var t=this;if(!this.hasCachedRegistryMatches){this.originalActivations=this.currentActivations.map(function(t){return new C(!0,t)}).map(function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))}).sort(Y),this.cacheRegistryMatches()}},t.prototype.setActivations=function(t){this.originalRegistry&&this.forceRegistryMatches(t,!0),this.simulateMediaChanges(t)},t.prototype.simulateMediaChanges=function(t,e){var n=this;void 0===e&&(e=!0);t.map(function(t){var e=n.breakpoints,r=e.findByAlias(t)||e.findByQuery(t);return r?r.mediaQuery:t}).forEach(function(t){return n.emitChangeEvent(e,t)})},t.prototype.forceRegistryMatches=function(t,e){var n=new Map;t.forEach(function(t){n.set(t,{matches:e})}),this.matchMedia.registry=n},t.prototype.cacheRegistryMatches=function(){var t=this.originalRegistry;t.clear(),this.matchMedia.registry.forEach(function(e,n){t.set(n,e)}),this.hasCachedRegistryMatches=!0},t.prototype.restoreRegistryMatches=function(){var t=this.matchMedia.registry;t.clear(),this.originalRegistry.forEach(function(e,n){t.set(n,e)}),this.originalRegistry.clear(),this.hasCachedRegistryMatches=!1},t.prototype.emitChangeEvent=function(t,e){this.matchMedia.source.next(new C(t,e))},Object.defineProperty(t.prototype,"currentActivations",{get:function(){return this.matchMedia.activations},enumerable:!0,configurable:!0}),t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:void 0,decorators:[{type:r.C,args:[S]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(S),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"})}();function it(t){for(var e in t){var n=t[e]||"";switch(e){case"display":t.display="flex"===n?["-webkit-flex","flex"]:"inline-flex"===n?["-webkit-inline-flex","inline-flex"]:n;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=n;break;case"flex-direction":n=n||"row",t["-webkit-flex-direction"]=n,t["flex-direction"]=n;break;case"order":t.order=t["-webkit-"+e]=isNaN(+n)?"0":n}}return t}var ot=function(){function t(t,e,n,r){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=n,this.layoutConfig=r}return t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=null);var r={};"string"==typeof e&&(r[e]=n,e=r),r=this.layoutConfig.disableVendorPrefixes?e:it(e),this._applyMultiValueStyleToElement(r,t)},t.prototype.applyStyleToElements=function(t,e){var n=this;void 0===e&&(e=[]);var r=this.layoutConfig.disableVendorPrefixes?t:it(t);e.forEach(function(t){n._applyMultiValueStyleToElement(r,t)})},t.prototype.getFlowDirection=function(t){var e=this.lookupStyle(t,"flex-direction");return[e||"row",this.lookupInlineStyle(t,"flex-direction")||Object(i.n)(this._platformId)&&this._serverModuleLoaded?e:""]},t.prototype.lookupAttributeValue=function(t,e){return t.getAttribute(e)||""},t.prototype.lookupInlineStyle=function(t,e){return Object(i.m)(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)},t.prototype.lookupStyle=function(t,e,n){void 0===n&&(n=!1);var r="";t&&((r=this.lookupInlineStyle(t,e))||(Object(i.m)(this._platformId)?n||(r=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(r=this._serverStylesheet.getStyleForElement(t,e))));return r?r.trim():""},t.prototype._applyMultiValueStyleToElement=function(t,e){var n=this;Object.keys(t).sort().forEach(function(r){var o=t[r],a=Array.isArray(o)?o:[o];a.sort();for(var s=0,l=a;s0){var a=o.indexOf(":");if(-1===a)throw new Error("Invalid CSS style: "+o);e[o.substr(0,a).trim()]=o.substr(a+1).trim()}}return e},t.prototype._writeStyleAttribute=function(t,e){var n="";for(var r in e){e[r]&&(n+=r+":"+e[r]+";")}t.setAttribute("style",n)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:O,decorators:[{type:r.R}]},{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[k]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(O,8),Object(r.uc)(k,8),Object(r.uc)(r.U),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),at=function(){function t(){this.shouldCache=!0}return t.prototype.sideEffect=function(t,e,n){},t}();function st(t,e,n){void 0===e&&(e="1"),void 0===n&&(n="1");var r=[e,n,t],i=t.indexOf("calc");if(i>0)r[2]=lt(t.substring(i).trim()),2==(o=t.substr(0,i).trim().split(" ")).length&&(r[0]=o[0],r[1]=o[1]);else if(0==i)r[2]=lt(t.trim());else{var o;r=3===(o=t.split(" ")).length?o:[e,n,t]}return r}function lt(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}var ct=function(){function t(t,e,n){this.matchMedia=t,this.breakpoints=e,this.hook=n,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new a.a,this.observeActivations()}return Object.defineProperty(t.prototype,"activatedAlias",{get:function(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""},enumerable:!0,configurable:!0}),t.prototype.onMediaChange=function(t){var e=this.findByQuery(t.mediaQuery);e&&((t=A(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(Y),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(Y),this.updateStyles()))},t.prototype.init=function(t,e,n,r,i){void 0===i&&(i=[]),ut(this.updateMap,t,e,n),ut(this.clearMap,t,e,r),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,i)},t.prototype.getValue=function(t,e,n){var r=this.elementMap.get(t);if(r){var i=void 0!==n?r.get(n):this.getActivatedValues(r,e);if(i)return i.get(e)}},t.prototype.hasValue=function(t,e){var n=this.elementMap.get(t);if(n){var r=this.getActivatedValues(n,e);if(r)return void 0!==r.get(e)||!1}return!1},t.prototype.setValue=function(t,e,n,r){var i=this.elementMap.get(t);if(i){var o=(i.get(r)||new Map).set(e,n);i.set(r,o),this.elementMap.set(t,i)}else i=(new Map).set(r,(new Map).set(e,n)),this.elementMap.set(t,i);var a=this.getValue(t,e);void 0!==a&&this.updateElement(t,e,a)},t.prototype.trackValue=function(t,e){return this.subject.asObservable().pipe(Object(h.a)(function(n){return n.element===t&&n.key===e}))},t.prototype.updateStyles=function(){var t=this;this.elementMap.forEach(function(e,n){var r=new Set(t.elementKeyMap.get(n)),i=t.getActivatedValues(e);i&&i.forEach(function(e,i){t.updateElement(n,i,e),r.delete(i)}),r.forEach(function(r){if(i=t.getActivatedValues(e,r)){var o=i.get(r);t.updateElement(n,r,o)}else t.clearElement(n,r)})})},t.prototype.clearElement=function(t,e){var n=this.clearMap.get(t);if(n){var r=n.get(e);r&&(r(),this.subject.next({element:t,key:e,value:""}))}},t.prototype.updateElement=function(t,e,n){var r=this.updateMap.get(t);if(r){var i=r.get(e);i&&(i(n),this.subject.next({element:t,key:e,value:n}))}},t.prototype.releaseElement=function(t){var e=this.watcherMap.get(t);e&&(e.forEach(function(t){return t.unsubscribe()}),this.watcherMap.delete(t));var n=this.elementMap.get(t);n&&(n.forEach(function(t,e){return n.delete(e)}),this.elementMap.delete(t))},t.prototype.triggerUpdate=function(t,e){var n=this,r=this.elementMap.get(t);if(r){var i=this.getActivatedValues(r,e);i&&(e?this.updateElement(t,e,i.get(e)):i.forEach(function(e,r){return n.updateElement(t,r,e)}))}},t.prototype.buildElementKeyMap=function(t,e){var n=this.elementKeyMap.get(t);n||(n=new Set,this.elementKeyMap.set(t,n)),n.add(e)},t.prototype.watchExtraTriggers=function(t,e,n){var r=this;if(n&&n.length){var i=this.watcherMap.get(t);if(i||(i=new Map,this.watcherMap.set(t,i)),!i.get(e)){var o=c.a.apply(void 0,n).subscribe(function(){var n=r.getValue(t,e);r.updateElement(t,e,n)});i.set(e,o)}}},t.prototype.findByQuery=function(t){return this.breakpoints.findByQuery(t)},t.prototype.getActivatedValues=function(t,e){for(var n=0;n(e=parseInt(e.getAttribute("tabindex")))?1:t\n
    \n
      \n
      \n \n
      \n
      \n ?\n
      \n
      \n !\n
      \n
      \n i\n
      \n
      \n
      \n \n
      \n
      \n
      \n \n

      \n \n
      \n
      \n
      \n \n \n
      \n \n \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n \n
      \n
      \n
      \n \n').replace(/(^|\n)\s*/g,""),$=function(t){var e=I();if(e&&(e.parentNode.removeChild(e),j([document.documentElement,document.body],[w["no-backdrop"],w["toast-shown"],w["has-column"]])),!X()){var n=document.createElement("div");n.className=w.container,n.innerHTML=Z;var r="string"==typeof t.target?document.querySelector(t.target):t.target;r.appendChild(n);var i,o=M(),a=L(),s=A(a,w.input),l=A(a,w.file),c=a.querySelector(".".concat(w.range," input")),u=a.querySelector(".".concat(w.range," output")),p=A(a,w.select),d=a.querySelector(".".concat(w.checkbox," input")),h=A(a,w.textarea);o.setAttribute("role",t.toast?"alert":"dialog"),o.setAttribute("aria-live",t.toast?"polite":"assertive"),t.toast||o.setAttribute("aria-modal","true"),"rtl"===window.getComputedStyle(r).direction&&k(I(),w.rtl);var m=function(t){Vt.isVisible()&&i!==t.target.value&&Vt.resetValidationMessage(),i=t.target.value};return s.oninput=m,l.onchange=m,p.onchange=m,d.onchange=m,h.oninput=m,c.oninput=function(t){m(t),u.value=c.value},c.onchange=function(t){m(t),c.nextSibling.value=c.value},o}f("SweetAlert2 requires document to initialize")},J=function(e,n){if(!e)return T(n);if(e instanceof HTMLElement)n.appendChild(e);else if("object"===t(e))if(n.innerHTML="",0 in e)for(var r=0;r in e;r++)n.appendChild(e[r].cloneNode(!0));else n.appendChild(e.cloneNode(!0));else e&&(n.innerHTML=e);D(n)},tt=function(){if(X())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(e.hasOwnProperty(n)&&void 0!==t.style[n])return e[n];return!1}(),et=function(t){var e=G(),n=H(),r=U();if(t.showConfirmButton||t.showCancelButton?D(e):T(e),t.showCancelButton?r.style.display="inline-block":T(r),t.showConfirmButton?n.style.removeProperty("display"):T(n),n.innerHTML=t.confirmButtonText,r.innerHTML=t.cancelButtonText,n.setAttribute("aria-label",t.confirmButtonAriaLabel),r.setAttribute("aria-label",t.cancelButtonAriaLabel),n.className=w.confirm,k(n,t.confirmButtonClass),r.className=w.cancel,k(r,t.cancelButtonClass),t.buttonsStyling){k([n,r],w.styled),t.confirmButtonColor&&(n.style.backgroundColor=t.confirmButtonColor),t.cancelButtonColor&&(r.style.backgroundColor=t.cancelButtonColor);var i=window.getComputedStyle(n).getPropertyValue("background-color");n.style.borderLeftColor=i,n.style.borderRightColor=i}else j([n,r],w.styled),n.style.backgroundColor=n.style.borderLeftColor=n.style.borderRightColor="",r.style.backgroundColor=r.style.borderLeftColor=r.style.borderRightColor=""},nt=function(t){var e=L().querySelector("#"+w.content);t.html?J(t.html,e):t.text?(e.textContent=t.text,D(e)):T(e)},rt=function(t){for(var e=N(),n=0;n=t.progressSteps.length&&h("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),t.progressSteps.forEach(function(r,i){var o=document.createElement("li");if(k(o,w.progresscircle),o.innerHTML=r,i===n&&k(o,w.activeprogressstep),e.appendChild(o),i!==t.progressSteps.length-1){var a=document.createElement("li");k(a,w.progressline),t.progressStepsDistance&&(a.style.width=t.progressStepsDistance),e.appendChild(a)}})):T(e)},at=function(t){var e=F();t.titleText?e.innerText=t.titleText:t.title&&("string"==typeof t.title&&(t.title=t.title.split("\n").join("
      ")),J(t.title,e))},st=function(){null===C.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(C.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=C.previousBodyPadding+function(){if("ontouchstart"in window||navigator.msMaxTouchPoints)return 0;var t=document.createElement("div");t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e}()+"px")},lt=function(){return!!window.MSInputMethodContext&&!!document.documentMode},ct=function(){var t=I(),e=M();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")},ut={},pt=function(t,e){var n=I(),r=M();if(r){null!==t&&"function"==typeof t&&t(r),j(r,w.show),k(r,w.hide);var i=function(){Q()?dt(e):(new Promise(function(t){var e=window.scrollX,n=window.scrollY;ut.restoreFocusTimeout=setTimeout(function(){ut.previousActiveElement&&ut.previousActiveElement.focus?(ut.previousActiveElement.focus(),ut.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)}).then(function(){return dt(e)}),ut.keydownTarget.removeEventListener("keydown",ut.keydownHandler,{capture:ut.keydownListenerCapture}),ut.keydownHandlerAdded=!1),n.parentNode&&n.parentNode.removeChild(n),j([document.documentElement,document.body],[w.shown,w["height-auto"],w["no-backdrop"],w["toast-shown"],w["toast-column"]]),K()&&(null!==C.previousBodyPadding&&(document.body.style.paddingRight=C.previousBodyPadding,C.previousBodyPadding=null),function(){if(O(document.body,w.iosfix)){var t=parseInt(document.body.style.top,10);j(document.body,w.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),"undefined"!=typeof window&<()&&window.removeEventListener("resize",ct),p(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")}))};tt&&!O(r,w.noanimation)?r.addEventListener(tt,function t(){r.removeEventListener(tt,t),O(r,w.hide)&&i()}):i()}},dt=function(t){null!==t&&"function"==typeof t&&setTimeout(function(){t()})};function ht(t){var e=function t(){for(var e=arguments.length,n=new Array(e),r=0;r.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-top-left,body.swal2-no-backdrop .swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-top-end,body.swal2-no-backdrop .swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-left,body.swal2-no-backdrop .swal2-shown.swal2-center-start{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-end,body.swal2-no-backdrop .swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom-left,body.swal2-no-backdrop .swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-bottom-end,body.swal2-no-backdrop .swal2-shown.swal2-bottom-right{right:0;bottom:0}.swal2-container{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:10px;background-color:transparent;z-index:1060;overflow-x:hidden;-webkit-overflow-scrolling:touch}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{display:none;position:relative;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem;box-sizing:border-box}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-header{display:flex;flex-direction:column;align-items:center}.swal2-popup .swal2-title{display:block;position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-popup .swal2-actions{flex-wrap:wrap;align-items:center;justify-content:center;margin:1.25em auto 0;z-index:1}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm{width:2.5em;height:2.5em;margin:.46875em;padding:0;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent;cursor:default;box-sizing:border-box;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;width:15px;height:15px;margin-left:5px;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff;content:'';-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{margin:.3125em;padding:.625em 2em;font-weight:500;box-shadow:none}.swal2-popup .swal2-styled:not([disabled]){cursor:pointer}.swal2-popup .swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled:focus{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-styled::-moz-focus-inner{border:0}.swal2-popup .swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-popup .swal2-image{max-width:100%;margin:1.25em auto}.swal2-popup .swal2-close{position:absolute;top:0;right:0;justify-content:center;width:1.2em;height:1.2em;padding:0;transition:color .1s ease-out;border:none;border-radius:0;outline:initial;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer;overflow:hidden}.swal2-popup .swal2-close:hover{-webkit-transform:none;transform:none;color:#f27474}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{justify-content:center;margin:0;padding:0;color:#545454;font-size:1.125em;font-weight:300;line-height:normal;z-index:1;word-wrap:break-word}.swal2-popup #swal2-content{text-align:center}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:1em auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;font-size:1.125em;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-sizing:border-box}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{width:80%}.swal2-popup .swal2-range output{width:20%;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:2.625em;margin:1em auto;padding:0;font-size:1.125em;line-height:2.625em}.swal2-popup .swal2-input{height:2.625em;padding:0 .75em}.swal2-popup .swal2-input[type=number]{max-width:10em}.swal2-popup .swal2-file{font-size:1.125em}.swal2-popup .swal2-textarea{height:6.75em;padding:.75em}.swal2-popup .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;color:#545454;font-size:1.125em}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-radio{align-items:center;justify-content:center}.swal2-popup .swal2-checkbox label,.swal2-popup .swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-radio input{margin:0 .4em}.swal2-popup .swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;background:#f0f0f0;color:#666;font-size:1em;font-weight:300;overflow:hidden}.swal2-popup .swal2-validation-message::before{display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center;content:'!';zoom:normal}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}.swal2-icon{position:relative;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;line-height:5em;cursor:default;box-sizing:content-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;zoom:normal}.swal2-icon-text{font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:3.75em 3.75em;transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 3.75em;transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;top:-.25em;left:-.25em;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%;z-index:2;box-sizing:content-box}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;top:.5em;left:1.625em;width:.4375em;height:5.625em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);z-index:1}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;height:.3125em;border-radius:.125em;background-color:#a5dc86;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.875em;width:1.5625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{align-items:center;margin:0 0 1.25em;padding:0;font-weight:600}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{width:2.5em;height:.4em;margin:0 -1px;background:#3085d6;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-animate-success-icon .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-animate-success-icon .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-animate-error-icon{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-animate-error-icon .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}@-webkit-keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:initial!important}}")},Phjn:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("psW0");function i(t,e){return Object(r.a)(t,e,1)}},PuKC:function(t,e,n){"use strict";n.r(e),e.default=".search {\n width: 0;\n overflow: hidden;\n opacity: 0;\n visibility: hidden;\n transition: all 0.4s cubic-bezier(0.35, 0, 0.25, 1);\n margin-top: 7px; }\n\n.search.search-open {\n width: 250px;\n visibility: visible;\n opacity: 1;\n margin-top: 11px; }\n"},Rney:function(t,e,n){"use strict";var r=n("T1DM"),i=n("mrSG"),o=n("MGBS"),a=n("zotm");var s=function(){function t(t){this.durationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.durationSelector))},t}(),l=function(t){function e(e,n){var r=t.call(this,e)||this;return r.durationSelector=n,r.hasValue=!1,r}return i.c(e,t),e.prototype._next=function(t){if(this.value=t,this.hasValue=!0,!this.throttled){var e=void 0;try{e=(0,this.durationSelector)(t)}catch(r){return this.destination.error(r)}var n=Object(a.a)(this,e);!n||n.closed?this.clearThrottle():this.add(this.throttled=n)}},e.prototype.clearThrottle=function(){var t=this.value,e=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))},e.prototype.notifyNext=function(t,e,n,r){this.clearThrottle()},e.prototype.notifyComplete=function(){this.clearThrottle()},e}(o.a),c=n("gI3B");function u(t,e){return void 0===e&&(e=r.a),n=function(){return Object(c.a)(t,e)},function(t){return t.lift(new s(n))};var n}n.d(e,"a",function(){return u})},S1nX:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("xlPZ"),i=n("yGWI"),o=n("K9Ia");function a(){return new o.a}function s(){return function(t){return Object(i.a)()(Object(r.a)(a)(t))}}},SMsm:function(t,e,n){"use strict";n.d(e,"a",function(){return I});var r=n("Ip0R"),i=n("t/Na"),o=n("CcnG"),a=n("ZYjt"),s=n("F/XL"),l=n("XlPw"),c=n("VNr4"),u=n("xMyE"),p=n("67Y/"),d=n("9Z1F"),h=n("2WpN"),f=n("S1nX"),m=n("t9fZ"),g=n("mrSG"),y=n("Wf4p"),v=n("n6gG");function b(t){return Error('Unable to find icon with the name "'+t+'"')}function _(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}function w(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \""+t+'".')}var x=function(t){t.nodeName?this.svgElement=t:this.url=t},C=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconLiteral=function(t,e){return this.addSvgIconLiteralInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){return this._addSvgIconConfig(t,e,new x(n))},t.prototype.addSvgIconLiteralInNamespace=function(t,e,n){var r=this._sanitizer.sanitize(o.db.HTML,n);if(!r)throw w(n);var i=this._createSvgElementForSingleIcon(r);return this._addSvgIconConfig(t,e,new x(i))},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetLiteral=function(t){return this.addSvgIconSetLiteralInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){return this._addSvgIconSetConfig(t,new x(e))},t.prototype.addSvgIconSetLiteralInNamespace=function(t,e){var n=this._sanitizer.sanitize(o.db.HTML,e);if(!n)throw w(e);var r=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new x(r))},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(o.db.RESOURCE_URL,t);if(!n)throw _(t);var r=this._cachedIconsByUrl.get(n);return r?Object(s.a)(O(r)):this._loadSvgIconFromConfig(new x(t)).pipe(Object(u.a)(function(t){return e._cachedIconsByUrl.set(n,t)}),Object(p.a)(function(t){return O(t)}))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=E(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):Object(l.a)(b(n))},t.prototype.ngOnDestroy=function(){this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()},t.prototype._getSvgFromConfig=function(t){return t.svgElement?Object(s.a)(O(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Object(u.a)(function(e){return t.svgElement=e}),Object(p.a)(function(t){return O(t)}))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,r=this._extractIconWithNameFromAnySet(t,e);if(r)return Object(s.a)(r);var i=e.filter(function(t){return!t.svgElement}).map(function(t){return n._loadSvgIconSetFromConfig(t).pipe(Object(d.a)(function(e){var r=n._sanitizer.sanitize(o.db.RESOURCE_URL,t.url);return console.error("Loading icon set URL: "+r+" failed: "+e.message),Object(s.a)(null)}))});return Object(c.a)(i).pipe(Object(p.a)(function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw b(t);return r}))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object(p.a)(function(t){return e._createSvgElementForSingleIcon(t)}))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return t.svgElement?Object(s.a)(t.svgElement):this._fetchUrl(t.url).pipe(Object(p.a)(function(n){return t.svgElement||(t.svgElement=e._svgElementFromString(n)),t.svgElement}))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){var e=this._document.createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n
      ",selector:"mat-icon",exportAs:"matIcon",styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],inputs:["color"],host:{role:"img",class:"mat-icon notranslate","[class.mat-icon-inline]":"inline","[class.mat-icon-no-color]":'color !== "primary" && color !== "accent" && color !== "warn"'},encapsulation:o.qb.None,changeDetection:o.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.u},{type:C},{type:String,decorators:[{type:o.h,args:["aria-hidden"]}]},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[j]}]}]},e.propDecorators={inline:[{type:o.G}],svgIcon:[{type:o.G}],fontSet:[{type:o.G}],fontIcon:[{type:o.G}]},e}(k),I=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[y.h],exports:[P,y.h],declarations:[P]}]}],t}()},SO0w:function(t,e,n){"use strict";n.r(e),e.default=""},T1DM:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("h9Dq"),i=new(n("CS9Q").a)(r.a)},TMTi:function(t,e,n){"use strict";n.r(e),e.default='

      {{ \'EDIT\' | translate }} {{minion.name}}

      \r\n
      \r\n

      {{ \'USE_AUTO_TURNOFF_TIMEOUT\' | translate }}

      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \x3c!--
      --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n \x3c!--
      --\x3e\r\n
      \r\n
      \r\n \r\n \r\n
      '},Txjg:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("Zn8D");function i(){return Object(r.a)(1)}},UodH:function(t,e,n){"use strict";n.d(e,"b",function(){return m}),n.d(e,"a",function(){return h});var r=n("mrSG"),i=n("lLAP"),o=n("dWZg"),a=n("CcnG"),s=n("Wf4p"),l=n("wFw1"),c=n("Ip0R"),u="accent",p=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],d=function(t){this._elementRef=t},h=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;o._focusMonitor=r,o._animationMode=i,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");for(var a=0,s=p;a
      ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],inputs:["disabled","disableRipple","color"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:a.u},{type:o.a},{type:i.e},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={ripple:[{type:a.nb,args:[s.p]}]},e}(Object(s.u)(Object(s.w)(Object(s.v)(d)))),f=function(t){function e(e,n,r,i){return t.call(this,r,e,n,i)||this}return Object(r.c)(e,t),e.prototype._haltDisabledEvents=function(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())},e.decorators=[{type:a.n,args:[{selector:"a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab],\n a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]",exportAs:"matButton, matAnchor",host:{"[attr.tabindex]":"disabled ? -1 : (tabIndex || 0)","[attr.disabled]":"disabled || null","[attr.aria-disabled]":"disabled.toString()","(click)":"_haltDisabledEvents($event)","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},inputs:["disabled","disableRipple","color"],template:'
      ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.a},{type:i.e},{type:a.u},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={tabIndex:[{type:a.G}]},e}(h),m=function(){function t(){}return t.decorators=[{type:a.L,args:[{imports:[c.b,s.q,s.h],exports:[h,f,s.h],declarations:[h,f]}]}],t}()},"V9q+":function(t,e,n){"use strict";var r=n("CcnG"),i=n("mrSG"),o=n("Ip0R"),a=n("OzfB"),s=n("n6gG"),l=n("ny24"),c=n("ZYjt"),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{content:t?"url("+t+")":""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),p=function(t){function e(e,n,r,i,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="img-src",l.defaultSrc="",l.styleCache=d,l.init(),l.setValue(l.nativeElement.getAttribute("src")||"",""),Object(o.n)(l.platformId)&&l.serverModuleLoaded&&l.nativeElement.setAttribute("src",""),l}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"src",{set:function(t){this.defaultSrc=t,this.setValue(this.defaultSrc,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){var e=t||this.defaultSrc;Object(o.n)(this.platformId)&&this.serverModuleLoaded?this.addStyles(e):this.nativeElement.setAttribute("src",e)},e.decorators=[{type:r.t,args:[{selector:"img-src-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:u},{type:a.j},{type:a.f},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:Boolean,decorators:[{type:r.C,args:[a.h]}]}]},e.propDecorators={src:[{type:r.G,args:["src"]}]},e}(a.b),d=new Map,h=["src.xs","src.sm","src.md","src.lg","src.xl","src.lt-sm","src.lt-md","src.lt-lg","src.lt-xl","src.gt-xs","src.gt-sm","src.gt-md","src.gt-lg"],f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=h,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n img[src.xs], img[src.sm], img[src.md], img[src.lg], img[src.xl],\n img[src.lt-sm], img[src.lt-md], img[src.lt-lg], img[src.lt-xl],\n img[src.gt-xs], img[src.gt-sm], img[src.gt-md], img[src.gt-lg]\n",inputs:h}]}],e}(p),m=function(t){function e(e,n,r,i,a){var s=t.call(this,e,null,n,r)||this;return s.elementRef=e,s.styler=n,s.marshal=r,s.delegate=i,s.ngClassInstance=a,s.DIRECTIVE_KEY="ngClass",s.ngClassInstance||(s.ngClassInstance=new o.h(s.delegate)),s.init(),s.setValue("",""),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"klass",{set:function(t){this.ngClassInstance.klass=t,this.setValue(t,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.ngClassInstance.ngClass=t,this.ngClassInstance.ngDoCheck()},e.prototype.ngDoCheck=function(){this.ngClassInstance.ngDoCheck()},e.decorators=[{type:r.t,args:[{selector:"class-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:a.f},{type:o.o},{type:o.h,decorators:[{type:r.R},{type:r.eb}]}]},e.propDecorators={klass:[{type:r.G,args:["class"]}]},e}(a.b),g=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"],y={provide:o.o,useClass:o.p},v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=g,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl],\n [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl],\n [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]\n",inputs:g,providers:[y]}]}],e}(m),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:"true"===t?e.display:"none"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),_=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.layoutConfig=o,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="show-hide",l.display="",l.hasLayout=!1,l.hasFlexChild=!1,l}return Object(i.c)(e,t),e.prototype.ngAfterViewInit=function(){this.trackExtraTriggers();for(var t=Array.from(this.nativeElement.children),e=0;e-1}function z(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return i=V(t),e=i[0],n=i[1],r=i[2],void 0===n&&(n=null),void 0===r&&(r=!1),{display:r?"inline-flex":"flex","box-sizing":"border-box","flex-direction":e,"flex-wrap":n||null};var e,n,r,i},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),U=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"],G=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout",o.styleCache=W,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"layout-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:H,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),q=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=U,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],\n [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],\n [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],\n [fxLayout.gt-md], [fxLayout.gt-lg]\n",inputs:U}]}],e}(G),W=new Map,Y={"margin-left":null,"margin-right":null,"margin-top":null,"margin-bottom":null},K=function(t){function e(e){var n=t.call(this)||this;return n._styler=e,n}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return t.endsWith(nt)?function(t,e){var n="0px",r="0px";"rtl"===e?r="-"+t:n="-"+t;return{margin:"0px "+n+" -"+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),e.directionality):{}},e.prototype.sideEffect=function(t,e,n){var r=n.items;if(t.endsWith(nt)){var o=function(t,e){var n="0px",r="0px";"rtl"===e?r=t:n=t;return{padding:"0px "+n+" "+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),n.directionality);this._styler.applyStyleToElements(o,n.items)}else{var a=r.pop(),s=function(t,e){var n=rt(e.directionality,e.layout),r=Object(i.a)({},Y);return r[n]=t,r}(t,n);this._styler.applyStyleToElements(s,r),this._styler.applyStyleToElements(Y,[a])}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:a.j}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.j))},token:e,providedIn:"root"}),e}(a.i),Q=["fxLayoutGap","fxLayoutGap.xs","fxLayoutGap.sm","fxLayoutGap.md","fxLayoutGap.lg","fxLayoutGap.xl","fxLayoutGap.lt-sm","fxLayoutGap.lt-md","fxLayoutGap.lt-lg","fxLayoutGap.lt-xl","fxLayoutGap.gt-xs","fxLayoutGap.gt-sm","fxLayoutGap.gt-md","fxLayoutGap.gt-lg"],X=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e,o,i,a)||this;s.elRef=e,s.zone=n,s.directionality=r,s.styleUtils=i,s.styleBuilder=o,s.marshal=a,s.layout="row",s.DIRECTIVE_KEY="layout-gap",s.observerSubject=new N.a;var c=[s.directionality.change,s.observerSubject.asObservable()];return s.init(c),s.marshal.trackValue(s.nativeElement,"layout").pipe(Object(l.a)(s.destroySubject)).subscribe(s.onLayoutChange.bind(s)),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"childrenNodes",{get:function(){for(var t=this.nativeElement.children,e=[],n=t.length;n--;)e[n]=t[n];return e},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this.buildChildObservable(),this.triggerUpdate()},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this.observer&&this.observer.disconnect()},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],L.find(function(t){return t===e.layout})||(this.layout="row"),this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=this,n=this.childrenNodes.filter(function(t){return 1===t.nodeType&&e.willDisplay(t)}).sort(function(t,n){var r=+e.styler.lookupStyle(t,"order"),i=+e.styler.lookupStyle(n,"order");return isNaN(r)||isNaN(i)||r===i?0:r>i?1:-1});if(n.length>0){var r=this.directionality.value,i=this.layout;"row"===i&&"rtl"===r?this.styleCache=$:"row"===i&&"rtl"!==r?this.styleCache=tt:"column"===i&&"rtl"===r?this.styleCache=J:"column"===i&&"rtl"!==r&&(this.styleCache=et),this.addStyles(t,{directionality:r,items:n,layout:i})}},e.prototype.clearStyles=function(){var e,n=Object.keys(this.mru).length>0,r=n?"padding":rt(this.directionality.value,this.layout);n&&t.prototype.clearStyles.call(this),this.styleUtils.applyStyleToElements(((e={})[r]="",e),this.childrenNodes)},e.prototype.willDisplay=function(t){var e=this.marshal.getValue(t,"show-hide");return!0===e||void 0===e&&"none"!==this.styleUtils.lookupStyle(t,"display")},e.prototype.buildChildObservable=function(){var t=this;this.zone.runOutsideAngular(function(){"undefined"!=typeof MutationObserver&&(t.observer=new MutationObserver(function(e){e.some(function(t){return t.addedNodes&&t.addedNodes.length>0||t.removedNodes&&t.removedNodes.length>0})&&t.observerSubject.next()}),t.observer.observe(t.nativeElement,{childList:!0}))})},e.decorators=[{type:r.t,args:[{selector:"layout-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:M.b},{type:a.j},{type:K,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Z=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Q,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],\n [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],\n [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],\n [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]\n",inputs:Q}]}],e}(X),$=new Map,J=new Map,tt=new Map,et=new Map,nt=" grid";function rt(t,e){switch(e){case"column":return"margin-bottom";case"column-reverse":return"margin-top";case"row":return"rtl"===t?"margin-left":"margin-right";case"row-reverse":return"rtl"===t?"margin-right":"margin-left";default:return"rtl"===t?"margin-left":"margin-right"}}function it(t){for(var e=[],n=1;n-1?"column":"row",s=B(a)?"max-width":"max-height",l=B(a)?"min-width":"min-height",c=String(o).indexOf("calc")>-1,u=c||"auto"===o,p=String(o).indexOf("%")>-1&&!c,d=String(o).indexOf("px")>-1||String(o).indexOf("rem")>-1||String(o).indexOf("em")>-1||String(o).indexOf("vw")>-1||String(o).indexOf("vh")>-1,h=c||d;i="0"==i?0:i;var f=!(r="0"==r?0:r)&&!i,m={},g={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(o||""){case"":var y=!1!==this.layoutConfig.useColumnBasisZero;o="row"===a?"0%":y?"0.000000001px":"auto";break;case"initial":case"nogrow":r=0,o="auto";break;case"grow":o="100%";break;case"noshrink":i=0,o="auto";break;case"auto":break;case"none":r=0,i=0,o="auto";break;default:h||p||isNaN(o)||(o+="%"),"0%"===o&&(h=!0),"0px"===o&&(o="0%"),m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":h?o:"100%"}:{flex:r+" "+i+" "+(h?o:"100%")})}return m.flex||m["flex-grow"]||(m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o})),"0%"!==o&&"0px"!==o&&"0.000000001px"!==o&&"auto"!==o&&(m[l]=f||h&&r?o:null,m[s]=f||!u&&i?o:null),m[l]||m[s]?e.hasWrap&&(m[c?"flex-basis":"flex"]=m[s]?c?m[s]:r+" "+i+" "+m[s]:c?m[l]:r+" "+i+" "+m[l]):m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o}),it(m,{"box-sizing":"border-box"})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.C,args:[a.e]}]}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.e))},token:e,providedIn:"root"}),e}(a.i),at=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"],st=function(t){function e(e,n,r,i,o){var a=t.call(this,e,i,n,o)||this;return a.elRef=e,a.styleUtils=n,a.layoutConfig=r,a.styleBuilder=i,a.marshal=o,a.DIRECTIVE_KEY="flex",a.direction="",a.wrap=!1,a.flexGrow="1",a.flexShrink="1",a.init(),a.parentElement&&(a.marshal.trackValue(a.parentElement,"layout").pipe(Object(l.a)(a.destroySubject)).subscribe(a.onLayoutChange.bind(a)),a.marshal.trackValue(a.nativeElement,"layout-align").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerReflow.bind(a))),a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"shrink",{get:function(){return this.flexShrink},set:function(t){this.flexShrink=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"grow",{get:function(){return this.flexGrow},set:function(t){this.flexGrow=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),e.prototype.onLayoutChange=function(t){var e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=!1!==this.layoutConfig.addFlexToParent;this.direction||(this.direction=this.getFlexFlowDirection(this.parentElement,e));var n=this.direction,r=n.startsWith("row"),i=this.wrap;r&&i?this.styleCache=pt:r&&!i?this.styleCache=ct:!r&&i?this.styleCache=dt:r||i||(this.styleCache=ut);var o=String(t).replace(";",""),s=Object(a.k)(o,this.flexGrow,this.flexShrink);this.addStyles(s.join(" "),{direction:n,hasWrap:i})},e.prototype.triggerReflow=function(){var t=this.activatedValue;if(void 0!==t){var e=Object(a.k)(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}},e.decorators=[{type:r.t,args:[{selector:"flex-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:void 0,decorators:[{type:r.C,args:[a.e]}]},{type:ot},{type:a.f}]},e.propDecorators={shrink:[{type:r.G,args:["fxShrink"]}],grow:[{type:r.G,args:["fxGrow"]}]},e}(a.b),lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=at,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{inputs:at,selector:"\n [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],\n [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],\n [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],\n [fxFlex.gt-md], [fxFlex.gt-lg]\n"}]}],e}(st),ct=new Map,ut=new Map,pt=new Map,dt=new Map,ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{order:t&&parseInt(t,10)||""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ft=["fxFlexOrder","fxFlexOrder.xs","fxFlexOrder.sm","fxFlexOrder.md","fxFlexOrder.lg","fxFlexOrder.xl","fxFlexOrder.lt-sm","fxFlexOrder.lt-md","fxFlexOrder.lt-lg","fxFlexOrder.lt-xl","fxFlexOrder.gt-xs","fxFlexOrder.gt-sm","fxFlexOrder.gt-md","fxFlexOrder.gt-lg"],mt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-order",o.styleCache=gt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-order-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ht,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),gt=new Map,yt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ft,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\n",inputs:ft}]}],e}(mt),vt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n;""===t&&(t="0");var r=String(t).indexOf("%")>-1;String(t).indexOf("px")>-1||r||isNaN(+t)||(t+="%");var i=e.isRtl?"margin-right":"margin-left";return B(e.layout)?((n={})[i]=""+t,n):{"margin-top":""+t}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),bt=["fxFlexOffset","fxFlexOffset.xs","fxFlexOffset.sm","fxFlexOffset.md","fxFlexOffset.lg","fxFlexOffset.xl","fxFlexOffset.lt-sm","fxFlexOffset.lt-md","fxFlexOffset.lt-lg","fxFlexOffset.lt-xl","fxFlexOffset.gt-xs","fxFlexOffset.gt-sm","fxFlexOffset.gt-md","fxFlexOffset.gt-lg"],_t=function(t){function e(e,n,r,i,o){var a=t.call(this,e,r,o,i)||this;return a.elRef=e,a.directionality=n,a.styleBuilder=r,a.marshal=i,a.styler=o,a.DIRECTIVE_KEY="flex-offset",a.init([a.directionality.change]),a.parentElement&&a.marshal.trackValue(a.parentElement,"layout-gap").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerUpdate.bind(a)),a}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){void 0===t&&(t="");var e=this.getFlexFlowDirection(this.parentElement,!0),n="rtl"===this.directionality.value;"row"===e&&n?this.styleCache=xt:"row"!==e||n?"column"===e&&n?this.styleCache=Ct:"column"!==e||n||(this.styleCache=Et):this.styleCache=Ot,this.addStyles(t+"",{layout:e,isRtl:n})},e.decorators=[{type:r.t,args:[{selector:"flex-offset-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:M.b},{type:vt,decorators:[{type:r.R}]},{type:a.f},{type:a.j}]},e}(a.b),wt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=bt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\n",inputs:bt}]}],e}(_t),xt=new Map,Ct=new Map,Ot=new Map,Et=new Map,St=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){var e={};switch(t=t||"stretch"){case"start":e["align-self"]="flex-start";break;case"end":e["align-self"]="flex-end";break;default:e["align-self"]=t}return e},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),kt=["fxFlexAlign","fxFlexAlign.xs","fxFlexAlign.sm","fxFlexAlign.md","fxFlexAlign.lg","fxFlexAlign.xl","fxFlexAlign.lt-sm","fxFlexAlign.lt-md","fxFlexAlign.lt-lg","fxFlexAlign.lt-xl","fxFlexAlign.gt-xs","fxFlexAlign.gt-sm","fxFlexAlign.gt-md","fxFlexAlign.gt-lg"],jt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-align",o.styleCache=At,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:St,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),At=new Map,Dt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=kt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\n",inputs:kt}]}],e}(jt),Tt={margin:0,width:"100%",height:"100%","min-width":"100%","min-height":"100%"},Pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return Tt},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),It=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.styleCache=Rt,o.addStyles(""),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"[fxFill], [fxFlexFill]"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Pt},{type:a.f}]},e}(a.b),Rt=new Map,Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["justify-content"]="center";break;case"space-around":n["justify-content"]="space-around";break;case"space-between":n["justify-content"]="space-between";break;case"space-evenly":n["justify-content"]="space-evenly";break;case"end":case"flex-end":n["justify-content"]="flex-end";break;case"start":case"flex-start":default:n["justify-content"]="flex-start"}switch(o){case"start":case"flex-start":n["align-items"]=n["align-content"]="flex-start";break;case"center":n["align-items"]=n["align-content"]="center";break;case"end":case"flex-end":n["align-items"]=n["align-content"]="flex-end";break;case"space-between":n["align-content"]="space-between",n["align-items"]="stretch";break;case"space-around":n["align-content"]="space-around",n["align-items"]="stretch";break;case"baseline":n["align-content"]="stretch",n["align-items"]="baseline";break;case"stretch":default:n["align-items"]=n["align-content"]="stretch"}return it(n,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===o?B(e.layout)?null:"100%":null,"max-height":"stretch"===o&&B(e.layout)?"100%":null})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Nt=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"],Ft=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout-align",o.layout="row",o.inline=!1,o.init(),o.marshal.trackValue(o.nativeElement,"layout").pipe(Object(l.a)(o.destroySubject)).subscribe(o.onLayoutChange.bind(o)),o}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){var e=this.layout||"row",n=this.inline;"row"===e&&n?this.styleCache=Ut:"row"!==e||n?"row-reverse"===e&&n?this.styleCache=qt:"row-reverse"!==e||n?"column"===e&&n?this.styleCache=Gt:"column"!==e||n?"column-reverse"===e&&n?this.styleCache=Wt:"column-reverse"!==e||n||(this.styleCache=Ht):this.styleCache=Bt:this.styleCache=zt:this.styleCache=Vt,this.addStyles(t,{layout:e,inline:n})},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],this.inline=t.value.includes("inline"),L.find(function(t){return t===e.layout})||(this.layout="row"),this.triggerUpdate()},e.decorators=[{type:r.t,args:[{selector:"layout-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Mt,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Nt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],\n [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],\n [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],\n [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]\n",inputs:Nt}]}],e}(Ft),Vt=new Map,Bt=new Map,zt=new Map,Ht=new Map,Ut=new Map,Gt=new Map,qt=new Map,Wt=new Map,Yt=[q,Z,Lt,yt,wt,It,Dt,lt,st,jt,_t,mt,G,Ft,X],Kt=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c,M.a],declarations:Yt.slice(),exports:Yt.slice()}]}],t}(),Qt="stretch",Xt="stretch",Zt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return function(t){void 0===t&&(t="");var e={},n=t.split(" "),r=n[0],i=n[1];switch(r){case"end":e["justify-self"]="end";break;case"center":e["justify-self"]="center";break;case"stretch":e["justify-self"]="stretch";break;case"start":e["justify-self"]="start";break;default:e["justify-self"]=Qt}switch(i){case"end":e["align-self"]="end";break;case"center":e["align-self"]="center";break;case"stretch":e["align-self"]="stretch";break;case"start":e["align-self"]="start";break;default:e["align-self"]=Xt}return e}(t||Qt)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),$t=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align",o.styleCache=Jt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Zt,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Jt=new Map,te=["gdGridAlign","gdGridAlign.xs","gdGridAlign.sm","gdGridAlign.md","gdGridAlign.lg","gdGridAlign.xl","gdGridAlign.lt-sm","gdGridAlign.lt-md","gdGridAlign.lt-lg","gdGridAlign.lt-xl","gdGridAlign.gt-xs","gdGridAlign.gt-sm","gdGridAlign.gt-md","gdGridAlign.gt-lg"],ee=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=te,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n",inputs:te}]}],e}($t);var ne="start",re="stretch",ie=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["align-content"]="center";break;case"space-around":n["align-content"]="space-around";break;case"space-between":n["align-content"]="space-between";break;case"space-evenly":n["align-content"]="space-evenly";break;case"end":n["align-content"]="end";break;case"start":n["align-content"]="start";break;case"stretch":n["align-content"]="stretch";break;default:n["align-content"]=ne}switch(o){case"start":n["align-items"]="start";break;case"center":n["align-items"]="center";break;case"end":n["align-items"]="end";break;case"stretch":n["align-items"]="stretch";break;default:n["align-items"]=re}return n.display=e?"inline-grid":"grid",n}(t||ne+" "+re,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),oe=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?se:ae,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:ie,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),ae=new Map,se=new Map,le=["gdAlignColumns","gdAlignColumns.xs","gdAlignColumns.sm","gdAlignColumns.md","gdAlignColumns.lg","gdAlignColumns.xl","gdAlignColumns.lt-sm","gdAlignColumns.lt-md","gdAlignColumns.lt-lg","gdAlignColumns.lt-xl","gdAlignColumns.gt-xs","gdAlignColumns.gt-sm","gdAlignColumns.gt-md","gdAlignColumns.gt-lg"],ce=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n",inputs:le}]}],e}(oe);var ue="start",pe="stretch",de=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":case"space-around":case"space-between":case"space-evenly":case"end":case"start":case"stretch":n["justify-content"]=i;break;default:n["justify-content"]=ue}switch(o){case"start":case"center":case"end":case"stretch":n["justify-items"]=o;break;default:n["justify-items"]=pe}return n.display=e?"inline-grid":"grid",n}(t||ue+" "+pe,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),he=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?me:fe,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:de,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),fe=new Map,me=new Map,ge=["gdAlignRows","gdAlignRows.xs","gdAlignRows.sm","gdAlignRows.md","gdAlignRows.lg","gdAlignRows.xl","gdAlignRows.lt-sm","gdAlignRows.lt-md","gdAlignRows.lt-lg","gdAlignRows.lt-xl","gdAlignRows.gt-xs","gdAlignRows.gt-sm","gdAlignRows.gt-md","gdAlignRows.gt-lg"],ye=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n",inputs:ge}]}],e}(he);var ve=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-area":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),be=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-area",o.styleCache=_e,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-area-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ve,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),_e=new Map,we=["gdArea","gdArea.xs","gdArea.sm","gdArea.md","gdArea.lg","gdArea.xl","gdArea.lt-sm","gdArea.lt-md","gdArea.lt-lg","gdArea.lt-xl","gdArea.gt-xs","gdArea.gt-sm","gdArea.gt-md","gdArea.gt-lg"],xe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=we,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n",inputs:we}]}],e}(be),Ce=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"none").split("|").map(function(t){return'"'+t.trim()+'"'});return{display:e.inline?"inline-grid":"grid","grid-template-areas":n.join(" ")}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Oe=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-areas",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Se:Ee,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-areas-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Ce,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ee=new Map,Se=new Map,ke=["gdAreas","gdAreas.xs","gdAreas.sm","gdAreas.md","gdAreas.lg","gdAreas.xl","gdAreas.lt-sm","gdAreas.lt-md","gdAreas.lt-lg","gdAreas.lt-xl","gdAreas.gt-xs","gdAreas.gt-sm","gdAreas.gt-md","gdAreas.gt-lg"],je=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ke,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n",inputs:ke}]}],e}(Oe),Ae=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"initial").split(" "),r=n[0],i=n[1];return"column"!==r&&"row"!==r&&"dense"!==r&&(r="row"),i="dense"===i&&"dense"!==r?" dense":"",{display:e.inline?"inline-grid":"grid","grid-auto-flow":r+i}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),De=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o._inline=!1,o.DIRECTIVE_KEY="grid-auto",o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Pe:Te,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-auto-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Ae,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Te=new Map,Pe=new Map,Ie=["gdAuto","gdAuto.xs","gdAuto.sm","gdAuto.md","gdAuto.lg","gdAuto.xl","gdAuto.lt-sm","gdAuto.lt-md","gdAuto.lt-lg","gdAuto.lt-xl","gdAuto.gt-xs","gdAuto.gt-sm","gdAuto.gt-md","gdAuto.gt-lg"],Re=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ie,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n",inputs:Ie}]}],e}(De),Me=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-column":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ne=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-column",o.styleCache=Fe,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-column-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Me,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Fe=new Map,Le=["gdColumn","gdColumn.xs","gdColumn.sm","gdColumn.md","gdColumn.lg","gdColumn.xl","gdColumn.lt-sm","gdColumn.lt-md","gdColumn.lt-lg","gdColumn.lt-xl","gdColumn.gt-xs","gdColumn.gt-sm","gdColumn.gt-md","gdColumn.gt-lg"],Ve=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n",inputs:Le}]}],e}(Ne),Be=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-columns":"","grid-template-columns":""};return r[n?"grid-auto-columns":"grid-template-columns"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ze=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Ue:He,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Be,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),He=new Map,Ue=new Map,Ge=["gdColumns","gdColumns.xs","gdColumns.sm","gdColumns.md","gdColumns.lg","gdColumns.xl","gdColumns.lt-sm","gdColumns.lt-md","gdColumns.lt-lg","gdColumns.lt-xl","gdColumns.gt-xs","gdColumns.gt-sm","gdColumns.gt-md","gdColumns.gt-lg"],qe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n",inputs:Ge}]}],e}(ze),We=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:e.inline?"inline-grid":"grid","grid-gap":t||"0"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ye=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-gap",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Qe:Ke,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:We,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ke=new Map,Qe=new Map,Xe=["gdGap","gdGap.xs","gdGap.sm","gdGap.md","gdGap.lg","gdGap.xl","gdGap.lt-sm","gdGap.lt-md","gdGap.lt-lg","gdGap.lt-xl","gdGap.gt-xs","gdGap.gt-sm","gdGap.gt-md","gdGap.gt-lg"],Ze=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Xe,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n",inputs:Xe}]}],e}(Ye),$e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-row":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Je=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-row",o.styleCache=tn,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-row-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:$e,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),tn=new Map,en=["gdRow","gdRow.xs","gdRow.sm","gdRow.md","gdRow.lg","gdRow.xl","gdRow.lt-sm","gdRow.lt-md","gdRow.lt-lg","gdRow.lt-xl","gdRow.gt-xs","gdRow.gt-sm","gdRow.gt-md","gdRow.gt-lg"],nn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=en,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n",inputs:en}]}],e}(Je),rn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-rows":"","grid-template-rows":""};return r[n?"grid-auto-rows":"grid-template-rows"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),on=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?sn:an,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:rn,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),an=new Map,sn=new Map,ln=["gdRows","gdRows.xs","gdRows.sm","gdRows.md","gdRows.lg","gdRows.xl","gdRows.lt-sm","gdRows.lt-md","gdRows.lt-lg","gdRows.lt-xl","gdRows.gt-xs","gdRows.gt-sm","gdRows.gt-md","gdRows.gt-lg"],cn=[ee,ce,ye,xe,je,Re,Ve,qe,Ze,nn,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ln,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n",inputs:ln}]}],e}(on),oe,he,be,Oe,De,Ne,ze,Ye,$t,Je,on],un=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c],declarations:cn.slice(),exports:cn.slice()}]}],t}();n.d(e,"a",function(){return pn});new r.mb("8.0.0-beta.27");var pn=function(){function t(t,e){Object(o.n)(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}return t.withConfig=function(e,n){return void 0===n&&(n=[]),{ngModule:t,providers:e.serverLoaded?[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0},{provide:a.h,useValue:!0}]:[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0}]}},t.decorators=[{type:r.L,args:[{imports:[Kt,R,un],exports:[Kt,R,un]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[a.h]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]}]},t}()},VNr4:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("6blF"),i=n("isby"),o=n("67Y/"),a=n("McSo"),s=n("0/uQ");function l(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e){return function(n,r){e(n,r,t)}},u=function(t){return t&&t.__esModule?t:{default:t}},p=function(){function t(t,e,n,r){var i=this;this.dialog=t,this.minionsService=e,this.dialogRef=n,this.minionPropertiesToSet={},this.minions=[],this.minionsSubscription=e.minionsFeed.subscribe(function(t){i.minions=t})}return t.prototype.ngOnInit=function(){this.minionControl=new o.c("",[o.k.required]),this.setMinionStatus=new o.c("",[o.k.required]),this.setMinionProperties=new o.c("")},t.prototype.onPropertiesSet=function(){this.setMinionProperties.setValue(this.setMinionProperties)},t.prototype.extractStatus=function(){var t=this.minionControl.value,e={};return e[t.minionType]=this.minionPropertiesToSet,e[t.minionType].status=this.setMinionStatus.value,e},t.prototype.isPropertiesOk=function(){var t=this.minionControl.value,e=this.extractStatus();if("airConditioning"===t.minionType){var n=e.airConditioning;return n.mode&&n.fanStrength&&n.temperature}if("light"===t.minionType)return e.light.brightness;if("temperatureLight"===t.minionType){var r=e.temperatureLight;return r.brightness&&r.temperature}if("colorLight"===t.minionType){var i=e.colorLight;return i.brightness&&i.temperature&&i.red&&i.green&&i.blue}return"roller"===t.minionType?e.roller.direction:void 0},t.prototype.createActivity=function(){this.minionsSubscription.unsubscribe();var t={minionId:this.minionControl.value.minionId,minionStatus:this.extractStatus()};this.dialogRef.close(t)},t.ctorParameters=function(){return[{type:i.b},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=s([Object(r.n)({selector:"app-create-activity-dialog",template:u(n("FM+V")).default,styles:[u(n("fBeJ")).default]}),c(3,Object(r.C)(i.a)),l("design:paramtypes",[i.b,a.a,i.e,Object])],t)}()},Wf4p:function(t,e,n){"use strict";n.d(e,"h",function(){return g}),n.d(e,"w",function(){return y}),n.d(e,"u",function(){return v}),n.d(e,"v",function(){return b}),n.d(e,"y",function(){return _}),n.d(e,"x",function(){return w}),n.d(e,"k",function(){return R}),n.d(e,"a",function(){return O}),n.d(e,"d",function(){return E}),n.d(e,"b",function(){return M}),n.d(e,"c",function(){return V}),n.d(e,"z",function(){return z}),n.d(e,"i",function(){return B}),n.d(e,"j",function(){return U}),n.d(e,"n",function(){return ut}),n.d(e,"s",function(){return lt}),n.d(e,"t",function(){return ct}),n.d(e,"f",function(){return at}),n.d(e,"m",function(){return st}),n.d(e,"l",function(){return rt}),n.d(e,"e",function(){return pt}),n.d(e,"q",function(){return $}),n.d(e,"g",function(){return X}),n.d(e,"p",function(){return Z}),n.d(e,"r",function(){return Q}),n.d(e,"o",function(){return tt});var r=n("CcnG"),i=n("ZYjt"),o=n("Fzqc"),a=n("mrSG"),s=n("n6gG"),l=n("K9Ia"),c=(n("6blF"),n("dWZg")),u=n("p0Sj"),p=n("lLAP"),d=n("wFw1"),h=n("YSh2"),f=n("Ip0R"),m=(function(){function t(){}t.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",t.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",t.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",t.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)"}(),function(){function t(){}t.COMPLEX="375ms",t.ENTERING="225ms",t.EXITING="195ms"}(),new r.E("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}));var g=function(){function t(t,e){this._sanityChecksEnabled=t,this._hammerLoader=e,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}return t.prototype._areChecksEnabled=function(){return this._sanityChecksEnabled&&Object(r.yb)()&&!this._isTestEnv()},t.prototype._isTestEnv=function(){var t=this._window;return t&&(t.__karma__||t.jasmine)},t.prototype._checkDoctypeIsDefined=function(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")},t.prototype._checkThemeIsPresent=function(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){var t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);var e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}},t.prototype._checkHammerIsAvailable=function(){!this._hasCheckedHammer&&this._window&&(!this._areChecksEnabled()||this._window.Hammer||this._hammerLoader||console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)},t.decorators=[{type:r.L,args:[{imports:[o.a],exports:[o.a]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[m]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[i.d]}]}]},t}();function y(t){return function(t){function e(){for(var e=[],n=0;n0?n:t},t}(),E=new r.E("mat-date-formats");try{C="undefined"!=typeof Intl}catch(dt){C=!1}var S={long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],narrow:["J","F","M","A","M","J","J","A","S","O","N","D"]},k=D(31,function(t){return String(t+1)}),j={long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],narrow:["S","M","T","W","T","F","S"]},A=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function D(t,e){for(var n=Array(t),r=0;r11)throw Error('Invalid month index "'+e+'". Month index has to be between 0 and 11.');if(n<1)throw Error('Invalid date "'+n+'". Date has to be greater than 0.');var r=this._createDateWithOverflow(t,e,n);if(r.getMonth()!=e)throw Error('Invalid date "'+n+'" for month with index "'+e+'".');return r},e.prototype.today=function(){return new Date},e.prototype.parse=function(t){return"number"==typeof t?new Date(t):t?new Date(Date.parse(t)):null},e.prototype.format=function(t,e){if(!this.isValid(t))throw Error("NativeDateAdapter: Cannot format invalid date.");if(C){this._clampDate&&(t.getFullYear()<1||t.getFullYear()>9999)&&(t=this.clone(t)).setFullYear(Math.max(1,Math.min(9999,t.getFullYear()))),e=Object(a.a)({},e,{timeZone:"utc"});var n=new Intl.DateTimeFormat(this.locale,e);return this._stripDirectionalityCharacters(this._format(n,t))}return this._stripDirectionalityCharacters(t.toDateString())},e.prototype.addCalendarYears=function(t,e){return this.addCalendarMonths(t,12*e)},e.prototype.addCalendarMonths=function(t,e){var n=this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+e,this.getDate(t));return this.getMonth(n)!=((this.getMonth(t)+e)%12+12)%12&&(n=this._createDateWithOverflow(this.getYear(n),this.getMonth(n),0)),n},e.prototype.addCalendarDays=function(t,e){return this._createDateWithOverflow(this.getYear(t),this.getMonth(t),this.getDate(t)+e)},e.prototype.toIso8601=function(t){return[t.getUTCFullYear(),this._2digit(t.getUTCMonth()+1),this._2digit(t.getUTCDate())].join("-")},e.prototype.deserialize=function(e){if("string"==typeof e){if(!e)return null;if(A.test(e)){var n=new Date(e);if(this.isValid(n))return n}}return t.prototype.deserialize.call(this,e)},e.prototype.isDateInstance=function(t){return t instanceof Date},e.prototype.isValid=function(t){return!isNaN(t.getTime())},e.prototype.invalid=function(){return new Date(NaN)},e.prototype._createDateWithOverflow=function(t,e,n){var r=new Date(t,e,n);return t>=0&&t<100&&r.setFullYear(this.getYear(r)-1900),r},e.prototype._2digit=function(t){return("00"+t).slice(-2)},e.prototype._stripDirectionalityCharacters=function(t){return t.replace(/[\u200e\u200f]/g,"")},e.prototype._format=function(t,e){var n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.format(n)},e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:String,decorators:[{type:r.R},{type:r.C,args:[x]}]},{type:c.a}]},e}(O),P=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[c.b],providers:[{provide:O,useClass:T}]}]}],t}(),I={parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}},R=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[P],providers:[{provide:E,useValue:I}]}]}],t}(),M=(function(){function t(){}t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.dirty||e&&e.submitted))},t.decorators=[{type:r.D}]}(),function(){function t(){}return t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}()),N=new r.E("MAT_HAMMER_OPTIONS"),F=["longpress","slide","slidestart","slideend","slideright","slideleft"],L={on:function(){},off:function(){}},V=function(t){function e(e,n){var r=t.call(this)||this;return r._hammerOptions=e,r.events=F,n&&n._checkHammerIsAvailable(),r}return Object(a.c)(e,t),e.prototype.buildHammer=function(t){var e="undefined"!=typeof window?window.Hammer:null;if(!e)return L;var n=new e(t,this._hammerOptions||void 0),r=new e.Pan,i=new e.Swipe,o=new e.Press,a=this._createRecognizer(r,{event:"slide",threshold:0},i),s=this._createRecognizer(o,{event:"longpress",time:500});return r.recognizeWith(i),s.recognizeWith(a),n.add([i,o,r,a,s]),n},e.prototype._createRecognizer=function(t,e){for(var n=[],r=2;r3&&H(e,"mat-multi-line",!0)})}function H(t,e,n){var r=t.nativeElement.classList;n?r.add(e):r.remove(e)}var U=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[g],exports:[B,g],declarations:[B]}]}],t}(),G={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};G[G.FADING_IN]="FADING_IN",G[G.VISIBLE]="VISIBLE",G[G.FADING_OUT]="FADING_OUT",G[G.HIDDEN]="HIDDEN";var q=function(){function t(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=G.HIDDEN}return t.prototype.fadeOut=function(){this._renderer.fadeOutRipple(this)},t}(),W={enterDuration:450,exitDuration:400},Y=800,K=Object(c.f)({passive:!0}),Q=function(){function t(t,e,n,r){var i=this;this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this.onMousedown=function(t){var e=Object(p.h)(t),n=i._lastTouchStartEvent&&Date.now(){{ label }}',encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["disabled"],styles:[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"],host:{class:"mat-optgroup",role:"group","[class.mat-optgroup-disabled]":"disabled","[attr.aria-disabled]":"disabled.toString()","[attr.aria-labelledby]":"_labelId"}}]}],e.propDecorators={label:[{type:r.G}]},e}(et),it=0,ot=function(t,e){void 0===e&&(e=!1),this.source=t,this.isUserInput=e},at=new r.E("MAT_OPTION_PARENT_COMPONENT"),st=function(){function t(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+it++,this.onSelectionChange=new r.x,this._stateChanges=new l.a}return Object.defineProperty(t.prototype,"multiple",{get:function(){return this._parent&&this._parent.multiple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.group&&this.group.disabled||this._disabled},set:function(t){this._disabled=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableRipple",{get:function(){return this._parent&&this._parent.disableRipple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._active},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewValue",{get:function(){return(this._getHostElement().textContent||"").trim()},enumerable:!0,configurable:!0}),t.prototype.select=function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.deselect=function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.focus=function(){var t=this._getHostElement();"function"==typeof t.focus&&t.focus()},t.prototype.setActiveStyles=function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())},t.prototype.setInactiveStyles=function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())},t.prototype.getLabel=function(){return this.viewValue},t.prototype._handleKeydown=function(t){t.keyCode!==h.f&&t.keyCode!==h.n||Object(h.s)(t)||(this._selectViaInteraction(),t.preventDefault())},t.prototype._selectViaInteraction=function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))},t.prototype._getAriaSelected=function(){return this.selected||!this.multiple&&null},t.prototype._getTabIndex=function(){return this.disabled?"-1":"0"},t.prototype._getHostElement=function(){return this._element.nativeElement},t.prototype.ngAfterViewChecked=function(){if(this._selected){var t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}},t.prototype.ngOnDestroy=function(){this._stateChanges.complete()},t.prototype._emitSelectionChangeEvent=function(t){void 0===t&&(t=!1),this.onSelectionChange.emit(new ot(this,t))},t.decorators=[{type:r.n,args:[{selector:"mat-option",exportAs:"matOption",host:{role:"option","[attr.tabindex]":"_getTabIndex()","[class.mat-selected]":"selected","[class.mat-option-multiple]":"multiple","[class.mat-active]":"active","[id]":"id","[attr.aria-selected]":"_getAriaSelected()","[attr.aria-disabled]":"disabled.toString()","[class.mat-option-disabled]":"disabled","(click)":"_selectViaInteraction()","(keydown)":"_handleKeydown($event)",class:"mat-option"},styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media (-ms-high-contrast:active){.mat-option .mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],template:'
      ',encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],t.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[at]}]},{type:rt,decorators:[{type:r.R}]}]},t.propDecorators={value:[{type:r.G}],id:[{type:r.G}],disabled:[{type:r.G}],onSelectionChange:[{type:r.S}]},t}();function lt(t,e,n){if(n.length){for(var r=e.toArray(),i=n.toArray(),o=0,a=0;an+r?Math.max(0,i-r+e):n}var ut=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[$,f.b,tt],exports:[st,rt],declarations:[st,rt]}]}],t}(),pt=new r.E("mat-label-global-options")},"Wg1/":function(t,e,n){"use strict";n.r(e),e.default="#content-loader {\n margin-top: 40vh; }\n"},X2iB:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\r\n \r\n
      \r\n {{ 'ENTER_EMAIL' | translate}}\r\n \r\n \r\n \r\n {{ 'ENTER_VALID_EMAIL' | translate}}\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'ENTER_NAME' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'SELECT_USER_SCOPE' | translate}}\r\n \r\n \r\n {{ 'ADMIN' | translate }}\r\n {{ 'USER' | translate }}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'ALLOW_UNMFA_ACCESS' | translate}}\r\n \r\n \r\n {{ 'ALLOW' | translate }}\r\n {{ 'REJECT' | translate }}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'PRESS_PASSWORD' | translate}}\r\n \r\n \r\n {{ passwordControl.value.length }} / 18 \r\n \r\n {{ 'PASSWORD_SHULD_BE_6_TO_18_LENGTH' | translate}}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'PRESS_PASSWORD_AGINE' | translate}}\r\n \r\n \r\n {{passwordControl.value.length}} / 18\r\n \r\n {{ 'THE_PASSWORDS_NOT_SAME' | translate}}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n {{ 'DONE' | translate}}\r\n {{ 'DONE_USER_MESSAGE' | translate}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n"},YSh2:function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"o",function(){return i}),n.d(e,"f",function(){return o}),n.d(e,"g",function(){return a}),n.d(e,"n",function(){return s}),n.d(e,"l",function(){return l}),n.d(e,"k",function(){return c}),n.d(e,"e",function(){return u}),n.d(e,"h",function(){return p}),n.d(e,"i",function(){return d}),n.d(e,"p",function(){return h}),n.d(e,"m",function(){return f}),n.d(e,"d",function(){return m}),n.d(e,"c",function(){return g}),n.d(e,"r",function(){return y}),n.d(e,"j",function(){return v}),n.d(e,"a",function(){return b}),n.d(e,"q",function(){return _}),n.d(e,"s",function(){return w});var r=8,i=9,o=13,a=27,s=32,l=33,c=34,u=35,p=36,d=37,h=38,f=39,m=40,g=46,y=48,v=57,b=65,_=90;function w(t){for(var e=[],n=1;n1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}();var d=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n \r\n \r\n'},ZYCi:function(t,e,n){"use strict";var r=n("mrSG"),i=n("Ip0R"),o=n("CcnG"),a=n("F/XL"),s=n("0/uQ"),l=n("26FU"),c=n("6blF"),u=function(){function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t}(),p=n("dzgT"),d=n("lYZG"),h=n("K9Ia"),f=n("G5J1"),m=n("67Y/"),g=n("Txjg"),y=n("VnD/"),v=n("FFOo"),b=n("b7mW");function _(t){return function(e){return 0===t?Object(f.b)():e.lift(new w(t))}}var w=function(){function t(t){if(this.total=t,this.total<0)throw new b.a}return t.prototype.call=function(t,e){return e.subscribe(new x(t,this.total))},t}(),x=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.ring=new Array,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(t?Object(y.a)(function(e,n){return t(e,n,r)}):D.a,_(1),n?k(e):C(function(){return new u}))}}var P=n("9Z1F"),I=n("t9fZ");function R(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Object(y.a)(function(e,n){return t(e,n,r)}):D.a,Object(I.a)(1),n?k(e):C(function(){return new u}))}}var M=n("psW0");var N=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new F(t,this.predicate,this.thisArg,this.source))},t}(),F=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.predicate=n,o.thisArg=r,o.source=i,o.index=0,o.thisArg=r||o,o}return r.c(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(v.a),L=n("15JJ"),V=n("p0Sj");function B(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new z(t,e,n))}}var z=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new H(t,this.accumulator,this.seed,this.hasSeed))},t}(),H=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.accumulator=n,o._seed=r,o.hasSeed=i,o.index=0,o}return r.c(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(r){this.destination.error(r)}this.seed=e,this.destination.next(e)},e}(v.a),U=n("Phjn"),G=n("y3By");var q=n("xMyE"),W=n("2WpN"),Y=n("Zn8D"),K=n("ZYjt");n.d(e,"a",function(){return wn}),n.d(e,"b",function(){return Bn});var Q=function(t,e){this.id=t,this.url=e},X=function(t){function e(e,n,r,i){void 0===r&&(r="imperative"),void 0===i&&(i=null);var o=t.call(this,e,n)||this;return o.navigationTrigger=r,o.restoredState=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Q),Z=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Q),$=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Q),J=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Q),tt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),et=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),nt=function(t){function e(e,n,r,i,o){var a=t.call(this,e,n)||this;return a.urlAfterRedirects=r,a.state=i,a.shouldActivate=o,a}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Q),rt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),it=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),ot=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),at=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),st=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),lt=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ct=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ut=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),pt=function(){function t(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}return t.prototype.toString=function(){var t=this.position?this.position[0]+", "+this.position[1]:null;return"Scroll(anchor: '"+this.anchor+"', position: '"+t+"')"},t}(),dt=function(){function t(){}return t=Object(r.b)([Object(o.n)({template:""})],t)}(),ht="primary",ft=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function mt(t){return new ft(t)}var gt="ngNavigationCancelingError";function yt(t){var e=Error("NavigationCancelingError: "+t);return e[gt]=!0,e}function vt(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function kt(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function jt(t){return Object(o.Yb)(t)?t:Object(o.Zb)(t)?Object(s.a)(Promise.resolve(t)):Object(a.a)(t)}function At(t,e,n){return n?function(t,e){return Ot(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Rt(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&Dt(t.root,e.root)}function Dt(t,e){return function t(e,n,r){if(e.segments.length>r.length){var i=e.segments.slice(0,r.length);return!!Rt(i,r)&&!n.hasChildren()}if(e.segments.length===r.length){if(!Rt(e.segments,r))return!1;for(var o in n.children){if(!e.children[o])return!1;if(!Dt(e.children[o],n.children[o]))return!1}return!0}var i=r.slice(0,e.segments.length),a=r.slice(e.segments.length);return!!Rt(e.segments,i)&&(!!e.children[ht]&&t(e.children[ht],n,a))}(t,e,e.segments)}var Tt=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Lt.serialize(this)},t}(),Pt=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,kt(e,function(t,e){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Vt(this)},t}(),It=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=mt(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return qt(this)},t}();function Rt(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function Mt(t,e){var n=[];return kt(t.children,function(t,r){r===ht&&(n=n.concat(e(t,r)))}),kt(t.children,function(t,r){r!==ht&&(n=n.concat(e(t,r)))}),n}var Nt=function(){},Ft=function(){function t(){}return t.prototype.parse=function(t){var e=new Xt(t);return new Tt(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n,r;return""+("/"+function t(e,n){if(!e.hasChildren())return Vt(e);if(n){var r=e.children[ht]?t(e.children[ht],!1):"",i=[];return kt(e.children,function(e,n){n!==ht&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}var o=Mt(e,function(n,r){return r===ht?[t(e.children[ht],!1)]:[r+":"+t(n,!1)]});return Vt(e)+"/("+o.join("//")+")"}(t.root,!0))+(e=t.queryParams,(n=Object.keys(e).map(function(t){var n=e[t];return Array.isArray(n)?n.map(function(e){return zt(t)+"="+zt(e)}).join("&"):zt(t)+"="+zt(n)})).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+(r=t.fragment,encodeURI(r)):"")},t}(),Lt=new Ft;function Vt(t){return t.segments.map(function(t){return qt(t)}).join("/")}function Bt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function zt(t){return Bt(t).replace(/%3B/gi,";")}function Ht(t){return Bt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ut(t){return decodeURIComponent(t)}function Gt(t){return Ut(t.replace(/\+/g,"%20"))}function qt(t){return""+Ht(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Ht(t)+"="+Ht(e[t])}).join(""));var e}var Wt=/^[^\/()?;=#]+/;function Yt(t){var e=t.match(Wt);return e?e[0]:""}var Kt=/^[^=?&#]+/;var Qt=/^[^?&#]+/;var Xt=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Pt([],{}):new Pt([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[ht]=new Pt(t,e)),n},t.prototype.parseSegment=function(){var t=Yt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new It(Ut(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Yt(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=Yt(this.remaining);r&&(n=r,this.capture(n))}t[Ut(e)]=Ut(n)}},t.prototype.parseQueryParam=function(t){var e=function(t){var e=t.match(Kt);return e?e[0]:""}(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=function(t){var e=t.match(Qt);return e?e[0]:""}(this.remaining);r&&(n=r,this.capture(n))}var i=Gt(e),o=Gt(n);if(t.hasOwnProperty(i)){var a=t[i];Array.isArray(a)||(a=[a],t[i]=a),a.push(o)}else t[i]=o}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=Yt(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=ht);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[ht]:new Pt([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Zt=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=$t(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=$t(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=Jt(t,this._root);return e.length<2?[]:e[e.length-2].children.map(function(t){return t.value}).filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return Jt(t,this._root).map(function(t){return t.value})},t}();function $t(t,e){var n,i;if(t===e.value)return e;try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=$t(t,a.value);if(s)return s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return null}function Jt(t,e){var n,i;if(t===e.value)return[e];try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=Jt(t,a.value);if(s.length)return s.unshift(e),s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return[]}var te=function(){function t(t,e){this.value=t,this.children=e}return t.prototype.toString=function(){return"TreeNode("+this.value+")"},t}();function ee(t){var e={};return t&&t.children.forEach(function(t){return e[t.value.outlet]=t}),e}var ne=function(t){function e(e,n){var r=t.call(this,e)||this;return r.snapshot=n,le(r,e),r}return Object(r.c)(e,t),e.prototype.toString=function(){return this.snapshot.toString()},e}(Zt);function re(t,e){var n=function(t,e){var n=new ae([],{},{},"",{},ht,e,null,t.root,-1,{});return new se("",new te(n,[]))}(t,e),r=new l.a([new It("",{})]),i=new l.a({}),o=new l.a({}),a=new l.a({}),s=new l.a(""),c=new ie(r,i,a,s,o,ht,e,n.root);return c.snapshot=n.root,new ne(new te(c,[]),n)}var ie=function(){function t(t,e,n,r,i,o,a,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this._futureSnapshot=s}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=this.params.pipe(Object(m.a)(function(t){return mt(t)}))),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(m.a)(function(t){return mt(t)}))),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},t}();function oe(t,e){void 0===e&&(e="emptyOnly");var n=t.pathFromRoot,i=0;if("always"!==e)for(i=n.length-1;i>=1;){var o=n[i],a=n[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(a.component)break;i--}}return function(t){return t.reduce(function(t,e){return{params:Object(r.a)({},t.params,e.params),data:Object(r.a)({},t.data,e.data),resolve:Object(r.a)({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(i))}var ae=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this.routeConfig=s,this._urlSegment=l,this._lastPathIndex=c,this._resolve=u}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=mt(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),se=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,le(r,n),r}return Object(r.c)(e,t),e.prototype.toString=function(){return ce(this._root)},e}(Zt);function le(t,e){e.value._routerState=t,e.children.forEach(function(e){return le(t,e)})}function ce(t){var e=t.children.length>0?" { "+t.children.map(ce).join(", ")+" } ":"";return""+t.value+e}function ue(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,Ot(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),Ot(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;ni;){if(o-=i,!(r=r.parent))throw new Error("Invalid number of '../'");i=r.segments.length}return new ye(r,!1,i-o)}(n.snapshot._urlSegment,i,t.numberOfDoubleDots)}(a,e,t),l=s.processChildren?_e(s.segmentGroup,s.index,a.commands):be(s.segmentGroup,s.index,a.commands);return me(s.segmentGroup,l,e,i,o)}function fe(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function me(t,e,n,r,i){var o={};return r&&kt(r,function(t,e){o[e]=Array.isArray(t)?t.map(function(t){return""+t}):""+t}),n.root===t?new Tt(e,o,i):new Tt(function t(e,n,r){var i={};kt(e.children,function(e,o){i[o]=e===n?r:t(e,n,r)});return new Pt(e.segments,i)}(n.root,t,e),o,i)}var ge=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&fe(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==St(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}();var ye=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function ve(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[ht]:""+t}function be(t,e,n){if(t||(t=new Pt([],{})),0===t.segments.length&&t.hasChildren())return _e(t,e,n);var r=function(t,e,n){var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};for(;i=n.length)return o;var a=t.segments[i],s=ve(n[r]),l=r0&&void 0===s)break;if(s&&l&&"object"==typeof l&&void 0===l.outlets){if(!Oe(s,l,a))return o;r+=2}else{if(!Oe(s,{},a))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex0?new Pt([],((r={})[ht]=t,r)):t;return new Tt(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(Object(m.a)(function(t){return new Pt([],t)})):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(t,e){if(0===Object.keys(t).length)return Object(a.a)({});var n=[],r=[],i={};return kt(t,function(t,o){var a=e(o,t).pipe(Object(m.a)(function(t){return i[o]=t}));o===ht?n.push(a):r.push(a)}),a.a.apply(null,n.concat(r)).pipe(Object(g.a)(),T(),Object(m.a)(function(){return i}))}(n.children,function(n,i){return r.expandSegmentGroup(t,e,i,n)})},t.prototype.expandSegment=function(t,e,n,i,o,s){var l=this;return a.a.apply(void 0,Object(r.g)(n)).pipe(Object(m.a)(function(r){return l.expandSegmentAgainstRoute(t,e,n,r,i,o,s).pipe(Object(P.a)(function(t){if(t instanceof Ae)return Object(a.a)(null);throw t}))}),Object(g.a)(),R(function(t){return!!t}),Object(P.a)(function(t,n){if(t instanceof u||"EmptyError"===t.name){if(l.noLeftoversInUrl(e,i,o))return Object(a.a)(new Pt([],{}));throw new Ae(e)}throw t}))},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,a){return Le(r)!==o?Te(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Te(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Pe(o):this.lineralizeSegments(n,o).pipe(Object(M.a)(function(n){var o=new Pt(n,{});return i.expandSegment(t,o,e,n,r,!1)}))},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var a=this,s=Me(e,r,i),l=s.matched,c=s.consumedSegments,u=s.lastChild,p=s.positionalParamSegments;if(!l)return Te(e);var d=this.applyRedirectCommands(c,r.redirectTo,p);return r.redirectTo.startsWith("/")?Pe(d):this.lineralizeSegments(r,d).pipe(Object(M.a)(function(r){return a.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)}))},t.prototype.matchSegmentAgainstRoute=function(t,e,n,i){var o=this;if("**"===n.path)return n.loadChildren?this.configLoader.load(t.injector,n).pipe(Object(m.a)(function(t){return n._loadedConfig=t,new Pt(i,{})})):Object(a.a)(new Pt(i,{}));var s=Me(e,n,i),l=s.matched,c=s.consumedSegments,u=s.lastChild;if(!l)return Te(e);var p=i.slice(u);return this.getChildConfig(t,n,i).pipe(Object(M.a)(function(t){var n=t.module,i=t.routes,s=function(t,e,n,i){if(n.length>0&&function(t,e,n){return n.some(function(n){return Fe(t,e,n)&&Le(n)!==ht})}(t,n,i)){return{segmentGroup:Ne(new Pt(e,function(t,e){var n,i,o={};o[ht]=e;try{for(var a=Object(r.h)(t),s=a.next();!s.done;s=a.next()){var l=s.value;""===l.path&&Le(l)!==ht&&(o[Le(l)]=new Pt([],{}))}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return o}(i,new Pt(n,t.children)))),slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(function(n){return Fe(t,e,n)})}(t,n,i)){return{segmentGroup:Ne(new Pt(t.segments,function(t,e,n,i){var o,a,s={};try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;Fe(t,e,u)&&!i[Le(u)]&&(s[Le(u)]=new Pt([],{}))}}catch(p){o={error:p}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return Object(r.a)({},i,s)}(t,n,i,t.children))),slicedSegments:n}}return{segmentGroup:t,slicedSegments:n}}(e,c,p,i),l=s.segmentGroup,u=s.slicedSegments;return 0===u.length&&l.hasChildren()?o.expandChildren(n,i,l).pipe(Object(m.a)(function(t){return new Pt(c,t)})):0===i.length&&0===u.length?Object(a.a)(new Pt(c,{})):o.expandSegment(n,l,i,u,ht,!0).pipe(Object(m.a)(function(t){return new Pt(c.concat(t.segments),t.children)}))}))},t.prototype.getChildConfig=function(t,e,n){var r=this;return e.children?Object(a.a)(new bt(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Object(a.a)(e._loadedConfig):function(t,e,n){var r=e.canLoad;return r&&0!==r.length?Object(s.a)(r).pipe(Object(m.a)(function(r){var i,o=t.get(r);if(function(t){return t&&ke(t.canLoad)}(o))i=o.canLoad(e,n);else{if(!ke(o))throw new Error("Invalid CanLoad guard");i=o(e,n)}return jt(i)})).pipe(Object(g.a)(),function(t,e){return function(n){return n.lift(new N(t,e,n))}}(function(t){return!0===t})):Object(a.a)(!0)}(t.injector,e,n).pipe(Object(M.a)(function(n){return n?r.configLoader.load(t.injector,e).pipe(Object(m.a)(function(t){return e._loadedConfig=t,t})):function(t){return new c.a(function(e){return e.error(yt("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))})}(e)})):Object(a.a)(new bt([],t))},t.prototype.lineralizeSegments=function(t,e){for(var n=[],r=e.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Object(a.a)(n);if(r.numberOfChildren>1||!r.children[ht])return Ie(t.redirectTo);r=r.children[ht]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Tt(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return kt(t,function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),a={};return kt(e.children,function(e,o){a[o]=i.createSegmentGroup(t,e,n,r)}),new Pt(o,a)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){var n,i,o=0;try{for(var a=Object(r.h)(e),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.path===t.path)return e.splice(o),l;o++}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return t},t}();function Me(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||vt)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Ne(t){if(1===t.numberOfChildren&&t.children[ht]){var e=t.children[ht];return new Pt(t.segments.concat(e.segments),e.children)}return t}function Fe(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0!==n.redirectTo)}function Le(t){return t.outlet||ht}function Ve(t,e,n,i){return function(o){return o.pipe(Object(L.a)(function(o){return function(t,e,n,r,i){return new Re(t,e,n,r,i).apply()}(t,e,n,o.extractedUrl,i).pipe(Object(m.a)(function(t){return Object(r.a)({},o,{urlAfterRedirects:t})}))}))}}var Be=function(t){this.path=t,this.route=this.path[this.path.length-1]},ze=function(t,e){this.component=t,this.route=e};function He(t,e,n){var r=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Ue(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=ee(e);return t.children.forEach(function(t){!function(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=t.value,a=e?e.value:null,s=n?n.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){var l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Rt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Rt(t.url,e.url)||!Ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!pe(t,e)||!Ot(t.queryParams,e.queryParams);case"paramsChange":default:return!pe(t,e)}}(a,o,o.routeConfig.runGuardsAndResolvers);if(l?i.canActivateChecks.push(new Be(r)):(o.data=a.data,o._resolvedData=a._resolvedData),o.component?Ue(t,e,s?s.children:null,r,i):Ue(t,e,n,r,i),l){var c=s&&s.outlet&&s.outlet.component||null;i.canDeactivateChecks.push(new ze(c,a))}}else a&&Ge(e,s,i),i.canActivateChecks.push(new Be(r)),o.component?Ue(t,null,s?s.children:null,r,i):Ue(t,null,n,r,i)}(t,o[t.value.outlet],n,r.concat([t.value]),i),delete o[t.value.outlet]}),kt(o,function(t,e){return Ge(t,n.getContext(e),i)}),i}function Ge(t,e,n){var r=ee(t),i=t.value;kt(r,function(t,r){i.component?Ge(t,e?e.children.getContext(r):null,n):Ge(t,e,n)}),i.component&&e&&e.outlet&&e.outlet.isActivated?n.canDeactivateChecks.push(new ze(e.outlet.component,i)):n.canDeactivateChecks.push(new ze(null,i))}var qe=Symbol("INITIAL_VALUE");function We(){return Object(L.a)(function(t){return p.a.apply(void 0,Object(r.g)(t.map(function(t){return t.pipe(Object(I.a)(1),Object(V.a)(qe))}))).pipe(B(function(t,e){var n=!1;return e.reduce(function(t,r,i){if(t!==qe)return t;if(r===qe&&(n=!0),!n){if(!1===r)return r;if(i===e.length-1||je(r))return r}return t},t)},qe),Object(y.a)(function(t){return t!==qe}),Object(m.a)(function(t){return je(t)?t:!0===t}),Object(I.a)(1))})}function Ye(t,e){return function(n){return n.pipe(Object(M.a)(function(n){var i=n.targetSnapshot,o=n.currentSnapshot,l=n.guards,c=l.canActivateChecks,u=l.canDeactivateChecks;return 0===u.length&&0===c.length?Object(a.a)(Object(r.a)({},n,{guardsResult:!0})):function(t,e,n,r){return Object(s.a)(t).pipe(Object(M.a)(function(t){return function(t,e,n,r,i){var o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||0===o.length)return Object(a.a)(!0);var s=o.map(function(o){var a,s=He(o,e,i);if(function(t){return t&&ke(t.canDeactivate)}(s))a=jt(s.canDeactivate(t,e,n,r));else{if(!ke(s))throw new Error("Invalid CanDeactivate guard");a=jt(s(t,e,n,r))}return a.pipe(R())});return Object(a.a)(s).pipe(We())}(t.component,t.route,n,e,r)}),R(function(t){return!0!==t},!0))}(u,i,o,t).pipe(Object(M.a)(function(n){return n&&"boolean"==typeof n?function(t,e,n,r){return Object(s.a)(e).pipe(Object(U.a)(function(e){return Object(s.a)([Qe(e.route.parent,r),Ke(e.route,r),Ze(t,e.path,n),Xe(t,e.route,n)]).pipe(Object(g.a)(),R(function(t){return!0!==t},!0))}),R(function(t){return!0!==t},!0))}(i,c,t,e):Object(a.a)(n)}),Object(m.a)(function(t){return Object(r.a)({},n,{guardsResult:t})}))}))}}function Ke(t,e){return null!==t&&e&&e(new ct(t)),Object(a.a)(!0)}function Qe(t,e){return null!==t&&e&&e(new st(t)),Object(a.a)(!0)}function Xe(t,e,n){var r=e.routeConfig?e.routeConfig.canActivate:null;if(!r||0===r.length)return Object(a.a)(!0);var i=r.map(function(r){return Object(d.a)(function(){var i,o=He(r,e,n);if(function(t){return t&&ke(t.canActivate)}(o))i=jt(o.canActivate(e,t));else{if(!ke(o))throw new Error("Invalid CanActivate guard");i=jt(o(e,t))}return i.pipe(R())})});return Object(a.a)(i).pipe(We())}function Ze(t,e,n){var r=e[e.length-1],i=e.slice(0,e.length-1).reverse().map(function(t){return function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)}).filter(function(t){return null!==t}).map(function(e){return Object(d.a)(function(){var i=e.guards.map(function(i){var o,a=He(i,e.node,n);if(function(t){return t&&ke(t.canActivateChild)}(a))o=jt(a.canActivateChild(r,t));else{if(!ke(a))throw new Error("Invalid CanActivateChild guard");o=jt(a(r,t))}return o.pipe(R())});return Object(a.a)(i).pipe(We())})});return Object(a.a)(i).pipe(We())}var $e=function(){};var Je=function(){function t(t,e,n,r,i,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i,this.relativeLinkResolution=o}return t.prototype.recognize=function(){try{var t=nn(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,ht),n=new ae([],Object.freeze({}),Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,{},ht,this.rootComponentType,null,this.urlTree.root,-1,{}),i=new te(n,e),o=new se(this.url,i);return this.inheritParamsAndData(o._root),Object(a.a)(o)}catch(s){return new c.a(function(t){return t.error(s)})}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=oe(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheritParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=Mt(e,function(e,n){return r.processSegmentGroup(t,e,n)});return n={},i.forEach(function(t){var e=n[t.value.outlet];if(e){var r=e.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value}),function(t){t.sort(function(t,e){return t.value.outlet===ht?-1:e.value.outlet===ht?1:t.value.outlet.localeCompare(e.value.outlet)})}(i),i},t.prototype.processSegment=function(t,e,n,i){var o,a;try{for(var s=Object(r.h)(t),l=s.next();!l.done;l=s.next()){var c=l.value;try{return this.processSegmentAgainstRoute(c,e,n,i)}catch(u){if(!(u instanceof $e))throw u}}}catch(p){o={error:p}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(o)throw o.error}}if(this.noLeftoversInUrl(e,n,i))return[];throw new $e},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.processSegmentAgainstRoute=function(t,e,n,i){if(t.redirectTo)throw new $e;if((t.outlet||ht)!==i)throw new $e;var o,a=[],s=[];if("**"===t.path){var l=n.length>0?St(n).parameters:{};o=new ae(n,l,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+n.length,sn(t))}else{var c=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new $e;return{consumedSegments:[],lastChild:0,parameters:{}}}var i=(e.matcher||vt)(n,t,e);if(!i)throw new $e;var o={};kt(i.posParams,function(t,e){o[e]=t.path});var a=i.consumed.length>0?Object(r.a)({},o,i.consumed[i.consumed.length-1].parameters):o;return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:a}}(e,t,n);a=c.consumedSegments,s=n.slice(c.lastChild),o=new ae(a,c.parameters,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+a.length,sn(t))}var u=function(t){if(t.children)return t.children;if(t.loadChildren)return t._loadedConfig.routes;return[]}(t),p=nn(e,a,s,u,this.relativeLinkResolution),d=p.segmentGroup,h=p.slicedSegments;if(0===h.length&&d.hasChildren()){var f=this.processChildren(u,d);return[new te(o,f)]}if(0===u.length&&0===h.length)return[new te(o,[])];var m=this.processSegment(u,d,h,ht);return[new te(o,m)]},t}();function tn(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function en(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function nn(t,e,n,i,o){if(n.length>0&&function(t,e,n){return n.some(function(n){return rn(t,e,n)&&on(n)!==ht})}(t,n,i)){var a=new Pt(e,function(t,e,n,i){var o,a,s={};s[ht]=i,i._sourceSegment=t,i._segmentIndexShift=e.length;try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;if(""===u.path&&on(u)!==ht){var p=new Pt([],{});p._sourceSegment=t,p._segmentIndexShift=e.length,s[on(u)]=p}}}catch(d){o={error:d}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return s}(t,e,i,new Pt(n,t.children)));return a._sourceSegment=t,a._segmentIndexShift=e.length,{segmentGroup:a,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(function(n){return rn(t,e,n)})}(t,n,i)){var s=new Pt(t.segments,function(t,e,n,i,o,a){var s,l,c={};try{for(var u=Object(r.h)(i),p=u.next();!p.done;p=u.next()){var d=p.value;if(rn(t,n,d)&&!o[on(d)]){var h=new Pt([],{});h._sourceSegment=t,h._segmentIndexShift="legacy"===a?t.segments.length:e.length,c[on(d)]=h}}}catch(f){s={error:f}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(s)throw s.error}}return Object(r.a)({},o,c)}(t,e,n,i,t.children,o));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:n}}var l=new Pt(t.segments,t.children);return l._sourceSegment=t,l._segmentIndexShift=e.length,{segmentGroup:l,slicedSegments:n}}function rn(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0===n.redirectTo)}function on(t){return t.outlet||ht}function an(t){return t.data||{}}function sn(t){return t.resolve||{}}function ln(t,e,n,i,o){return function(a){return a.pipe(Object(M.a)(function(a){return function(t,e,n,r,i,o){return void 0===i&&(i="emptyOnly"),void 0===o&&(o="legacy"),new Je(t,e,n,r,i,o).recognize()}(t,e,a.urlAfterRedirects,n(a.urlAfterRedirects),i,o).pipe(Object(m.a)(function(t){return Object(r.a)({},a,{targetSnapshot:t})}))}))}}function cn(t,e){return function(n){return n.pipe(Object(M.a)(function(n){var i=n.targetSnapshot,o=n.guards.canActivateChecks;return o.length?Object(s.a)(o).pipe(Object(U.a)(function(n){return function(t,e,n,i){return function(t,e,n,r){var i=Object.keys(t);if(0===i.length)return Object(a.a)({});if(1===i.length){var o=i[0];return un(t[o],e,n,r).pipe(Object(m.a)(function(t){var e;return(e={})[o]=t,e}))}var l={};return Object(s.a)(i).pipe(Object(M.a)(function(i){return un(t[i],e,n,r).pipe(Object(m.a)(function(t){return l[i]=t,t}))})).pipe(T(),Object(m.a)(function(){return l}))}(t._resolve,t,e,i).pipe(Object(m.a)(function(e){return t._resolvedData=e,t.data=Object(r.a)({},t.data,oe(t,n).resolve),null}))}(n.route,i,t,e)}),function(t,e){return arguments.length>=2?function(n){return Object(G.a)(B(t,e),_(1),k(e))(n)}:function(e){return Object(G.a)(B(function(e,n,r){return t(e,n,r+1)}),_(1))(e)}}(function(t,e){return t}),Object(m.a)(function(t){return n})):Object(a.a)(n)}))}}function un(t,e,n,r){var i=He(t,e,r);return i.resolve?jt(i.resolve(e,n)):jt(i(e,n))}function pn(t){return function(e){return e.pipe(Object(L.a)(function(e){var n=t(e);return n?Object(s.a)(n).pipe(Object(m.a)(function(){return e})):Object(s.a)([e])}))}}var dn=function(){},hn=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),fn=new o.E("ROUTES"),mn=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;return this.onLoadStartListener&&this.onLoadStartListener(e),this.loadModuleFactory(e.loadChildren).pipe(Object(m.a)(function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new bt(Et(i.injector.get(fn)).map(Ct),i)}))},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?Object(s.a)(this.loader.load(t)):jt(t()).pipe(Object(M.a)(function(t){return t instanceof o.M?Object(a.a)(t):Object(s.a)(e.compiler.compileModuleAsync(t))}))},t}(),gn=function(){},yn=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function vn(t){throw t}function bn(t,e,n){return e.parse("/")}function _n(t,e){return Object(a.a)(null)}var wn=function(){function t(t,e,n,r,i,a,s,c){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=c,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new h.a,this.errorHandler=vn,this.malformedUriErrorHandler=bn,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:_n,afterPreactivation:_n},this.urlHandlingStrategy=new yn,this.routeReuseStrategy=new hn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy";this.ngModule=i.get(o.O),this.console=i.get(o.Db);var p=i.get(o.Q);this.isNgZoneEnabled=p instanceof o.Q,this.resetConfig(c),this.currentUrlTree=new Tt(new Pt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new mn(a,s,function(t){return u.triggerEvent(new ot(t))},function(t){return u.triggerEvent(new at(t))}),this.routerState=re(this.currentUrlTree,this.rootComponentType),this.transitions=new l.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}return t.prototype.setupNavigations=function(t){var e=this,n=this.events;return t.pipe(Object(y.a)(function(t){return 0!==t.id}),Object(m.a)(function(t){return Object(r.a)({},t,{extractedUrl:e.urlHandlingStrategy.extract(t.rawUrl)})}),Object(L.a)(function(t){var i,o,s,l=!1,c=!1;return Object(a.a)(t).pipe(Object(q.a)(function(t){e.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:e.lastSuccessfulNavigation?Object(r.a)({},e.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(L.a)(function(t){var i=!e.navigated||t.extractedUrl.toString()!==e.browserUrlTree.toString();if(("reload"===e.onSameUrlNavigation||i)&&e.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(a.a)(t).pipe(Object(L.a)(function(t){var r=e.transitions.getValue();return n.next(new X(t.id,e.serializeUrl(t.extractedUrl),t.source,t.restoredState)),r!==e.transitions.getValue()?f.a:[t]}),Object(L.a)(function(t){return Promise.resolve(t)}),Ve(e.ngModule.injector,e.configLoader,e.urlSerializer,e.config),Object(q.a)(function(t){e.currentNavigation=Object(r.a)({},e.currentNavigation,{finalUrl:t.urlAfterRedirects})}),ln(e.rootComponentType,e.config,function(t){return e.serializeUrl(t)},e.paramsInheritanceStrategy,e.relativeLinkResolution),Object(q.a)(function(t){"eager"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)}),Object(q.a)(function(t){var r=new tt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.next(r)}));if(i&&e.rawUrlTree&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){var o=t.id,s=t.extractedUrl,l=t.source,c=t.restoredState,u=t.extras,p=new X(o,e.serializeUrl(s),l,c);n.next(p);var d=re(s,e.rootComponentType).snapshot;return Object(a.a)(Object(r.a)({},t,{targetSnapshot:d,urlAfterRedirects:s,extras:Object(r.a)({},u,{skipLocationChange:!1,replaceUrl:!1})}))}return e.rawUrlTree=t.rawUrl,e.browserUrlTree=t.urlAfterRedirects,t.resolve(null),f.a}),pn(function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.beforePreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})}),Object(q.a)(function(t){var n=new et(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}),Object(m.a)(function(t){return Object(r.a)({},t,{guards:(n=t.targetSnapshot,i=t.currentSnapshot,o=e.rootContexts,a=n._root,Ue(a,i?i._root:null,o,[a.value]))});var n,i,o,a}),Ye(e.ngModule.injector,function(t){return e.triggerEvent(t)}),Object(q.a)(function(t){if(je(t.guardsResult)){var n=yt('Redirecting to "'+e.serializeUrl(t.guardsResult)+'"');throw n.url=t.guardsResult,n}}),Object(q.a)(function(t){var n=new nt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);e.triggerEvent(n)}),Object(y.a)(function(t){if(!t.guardsResult){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"");return n.next(r),t.resolve(!1),!1}return!0}),pn(function(t){if(t.guards.canActivateChecks.length)return Object(a.a)(t).pipe(Object(q.a)(function(t){var n=new rt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}),cn(e.paramsInheritanceStrategy,e.ngModule.injector),Object(q.a)(function(t){var n=new it(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}))}),pn(function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.afterPreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})}),Object(m.a)(function(t){var n,i,o,a,s=(n=e.routeReuseStrategy,i=t.targetSnapshot,o=t.currentRouterState,a=de(n,i._root,o?o._root:void 0),new ne(a,i));return Object(r.a)({},t,{targetRouterState:s})}),Object(q.a)(function(t){e.currentUrlTree=t.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(e.currentUrlTree,t.rawUrl),e.routerState=t.targetRouterState,"deferred"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)}),(i=e.rootContexts,o=e.routeReuseStrategy,s=function(t){return e.triggerEvent(t)},Object(m.a)(function(t){return new Ee(o,t.targetRouterState,t.currentRouterState,s).activate(i),t})),Object(q.a)({next:function(){l=!0},complete:function(){l=!0}}),Object(W.a)(function(){if(!l&&!c){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"Navigation ID "+t.id+" is not equal to the current navigation id "+e.navigationId);n.next(r),t.resolve(!1)}e.currentNavigation=null}),Object(P.a)(function(r){if(c=!0,(s=r)&&s[gt]){var i=je(r.url);i||(e.navigated=!0,e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));var o=new $(t.id,e.serializeUrl(t.extractedUrl),r.message);n.next(o),t.resolve(!1),i&&e.navigateByUrl(r.url)}else{e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);var a=new J(t.id,e.serializeUrl(t.extractedUrl),r);n.next(a);try{t.resolve(e.errorHandler(r))}catch(l){t.reject(l)}}var s;return f.a}))}))},t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.getTransition=function(){var t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t},t.prototype.setTransition=function(t){this.transitions.next(Object(r.a)({},this.getTransition(),t))},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(function(e){var n=t.parseUrl(e.url),r="popstate"===e.type?"popstate":"hashchange",i=e.state&&e.state.navigationId?e.state:null;setTimeout(function(){t.scheduleNavigation(n,r,i,{replaceUrl:!0})},0)}))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.getCurrentNavigation=function(){return this.currentNavigation},t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){_t(t),this.config=t.map(Ct),this.navigated=!1,this.lastSuccessfulId=-1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,a=e.fragment,s=e.preserveQueryParams,l=e.queryParamsHandling,c=e.preserveFragment;Object(o.yb)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var u=n||this.routerState.root,p=c?this.currentUrlTree.fragment:a,d=null;if(l)switch(l){case"merge":d=Object(r.a)({},this.currentUrlTree.queryParams,i);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=i||null}else d=s?this.currentUrlTree.queryParams:i||null;return null!==d&&(d=this.removeEmptyProps(d)),he(u,this.currentUrlTree,t,d,p)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1}),Object(o.yb)()&&this.isNgZoneEnabled&&!o.Q.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");var n=je(t)?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;l||(l=t[s]=[]);var u=X(e)?Zone.root:Zone.current;if(0===l.length)l.push({zone:u,handler:a});else{for(var p=!1,d=0;d-1},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.e)(1,Object(o.C)(tt)),Object(r.e)(3,Object(o.R)()),Object(r.e)(3,Object(o.C)(et)),Object(r.d)("design:paramtypes",[Object,nt,o.Db,Object])],e)}(A),it=["alt","control","meta","shift"],ot={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},at=function(t){function e(e){return t.call(this,e)||this}var n;return Object(r.c)(e,t),n=e,e.prototype.supports=function(t){return null!=n.parseEventName(t)},e.prototype.addEventListener=function(t,e,r){var i=n.parseEventName(e),o=n.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return s().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var e=t.toLowerCase().split("."),r=e.shift();if(0===e.length||"keydown"!==r&&"keyup"!==r)return null;var i=n._normalizeKey(e.pop()),o="";if(it.forEach(function(t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),o+=t+".")}),o+=i,0!=e.length||0===i.length)return null;var a={};return a.domEventName=r,a.fullKey=o,a},e.getEventFullKey=function(t){var e="",n=s().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),it.forEach(function(r){r!=n&&((0,ot[r])(t)&&(e+=r+"."))}),e+=n},e.eventCallback=function(t,e,r){return function(i){n.getEventFullKey(i)===t&&r.runGuarded(function(){return e(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e=n=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(A),st=function(){},lt=function(t){function e(e){var n=t.call(this)||this;return n._doc=e,n}return Object(r.c)(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case o.db.NONE:return e;case o.db.HTML:return e instanceof ut?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),Object(o.Jb)(this._doc,String(e)));case o.db.STYLE:return e instanceof pt?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),Object(o.Kb)(e));case o.db.SCRIPT:if(e instanceof dt)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case o.db.URL:return e instanceof ft||e instanceof ht?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),Object(o.Lb)(String(e)));case o.db.RESOURCE_URL:if(e instanceof ft)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+t+" (see http://g.co/ng/security#xss)")}},e.prototype.checkNotSafeValue=function(t,e){if(t instanceof ct)throw new Error("Required a safe "+e+", got a "+t.getTypeName()+" (see http://g.co/ng/security#xss)")},e.prototype.bypassSecurityTrustHtml=function(t){return new ut(t)},e.prototype.bypassSecurityTrustStyle=function(t){return new pt(t)},e.prototype.bypassSecurityTrustScript=function(t){return new dt(t)},e.prototype.bypassSecurityTrustUrl=function(t){return new ht(t)},e.prototype.bypassSecurityTrustResourceUrl=function(t){return new ft(t)},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(st),ct=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}return t.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},t}(),ut=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"HTML"},e}(ct),pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Style"},e}(ct),dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Script"},e}(ct),ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"URL"},e}(ct),ft=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"ResourceURL"},e}(ct),mt=i.s,gt=[{provide:o.U,useValue:mt},{provide:o.V,useValue:function(){f.makeCurrent(),_.init()},multi:!0},{provide:i.k,useClass:y,deps:[i.c]},{provide:i.c,useFactory:function(){return document},deps:[]}],yt=[{provide:o.cb,useExisting:st},{provide:st,useClass:lt,deps:[i.c]}];Object(o.sb)(o.zb,"browser",gt);var vt=[yt,{provide:o.Bb,useValue:!0},{provide:o.w,useFactory:function(){return new o.w},deps:[]},{provide:k,useClass:$,multi:!0,deps:[i.c,o.Q,o.U]},{provide:k,useClass:at,multi:!0,deps:[i.c]},{provide:k,useClass:rt,multi:!0,deps:[i.c,tt,o.Db,[new o.R,et]]},{provide:tt,useClass:nt,deps:[]},{provide:L,useClass:L,deps:[j,T,o.c]},{provide:o.ab,useExisting:L},{provide:D,useExisting:T},{provide:T,useClass:T,deps:[i.c]},{provide:o.kb,useClass:o.kb,deps:[o.Q]},{provide:j,useClass:j,deps:[k,o.Q]},S],bt=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}var e;return e=t,t.withServerTransition=function(t){return{ngModule:e,providers:[{provide:o.c,useValue:t.appId},{provide:v,useExisting:o.c},b]}},t=e=Object(r.b)([Object(o.L)({providers:vt,exports:[i.b,o.f]}),Object(r.e)(0,Object(o.R)()),Object(r.e)(0,Object(o.fb)()),Object(r.e)(0,Object(o.C)(e)),Object(r.d)("design:paramtypes",[Object])],t)}();function _t(){return new wt(Object(o.uc)(i.c))}var wt=function(){function t(t){this._doc=t,this._dom=s()}return t.prototype.addTag=function(t,e){return void 0===e&&(e=!1),t?this._getOrCreateElement(t,e):null},t.prototype.addTags=function(t,e){var n=this;return void 0===e&&(e=!1),t?t.reduce(function(t,r){return r&&t.push(n._getOrCreateElement(r,e)),t},[]):[]},t.prototype.getTag=function(t){return t&&this._dom.querySelector(this._doc,"meta["+t+"]")||null},t.prototype.getTags=function(t){if(!t)return[];var e=this._dom.querySelectorAll(this._doc,"meta["+t+"]");return e?[].slice.call(e):[]},t.prototype.updateTag=function(t,e){if(!t)return null;e=e||this._parseSelector(t);var n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)},t.prototype.removeTag=function(t){this.removeTagElement(this.getTag(t))},t.prototype.removeTagElement=function(t){t&&this._dom.remove(t)},t.prototype._getOrCreateElement=function(t,e){if(void 0===e&&(e=!1),!e){var n=this._parseSelector(t),r=this.getTag(n);if(r&&this._containsAttributes(t,r))return r}var i=this._dom.createElement("meta");this._setMetaElementAttributes(t,i);var o=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(o,i),i},t.prototype._setMetaElementAttributes=function(t,e){var n=this;return Object.keys(t).forEach(function(r){return n._dom.setAttribute(e,r,t[r])}),e},t.prototype._parseSelector=function(t){var e=t.name?"name":"property";return e+'="'+t[e]+'"'},t.prototype._containsAttributes=function(t,e){var n=this;return Object.keys(t).every(function(r){return n._dom.getAttribute(e,r)===t[r]})},t.ngInjectableDef=Object(o.tc)({factory:_t,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:_t,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}();function xt(){return new Ct(Object(o.uc)(i.c))}var Ct=function(){function t(t){this._doc=t}return t.prototype.getTitle=function(){return s().getTitle(this._doc)},t.prototype.setTitle=function(t){s().setTitle(this._doc,t)},t.ngInjectableDef=Object(o.tc)({factory:xt,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:xt,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}(),Ot="undefined"!=typeof window&&window||{},Et=function(t,e){this.msPerTick=t,this.numTicks=e};!function(){function t(t){this.appRef=t.injector.get(o.g)}t.prototype.timeChangeDetection=function(t){var e=t&&t.record,n=null!=Ot.console.profile;e&&n&&Ot.console.profile("Change Detection");for(var r=s().performanceNow(),i=0;i<5||s().performanceNow()-r<500;)this.appRef.tick(),i++;var o=s().performanceNow();e&&n&&Ot.console.profileEnd("Change Detection");var a=(o-r)/i;return Ot.console.log("ran "+i+" change detection cycles"),Ot.console.log(a.toFixed(2)+" ms per check"),new Et(a,i)}}();var St=function(){function t(){this.store={},this.onSerializeCallbacks={}}var e;return e=t,t.init=function(t){var n=new e;return n.store=t,n},t.prototype.get=function(t,e){return void 0!==this.store[t]?this.store[t]:e},t.prototype.set=function(t,e){this.store[t]=e},t.prototype.remove=function(t){delete this.store[t]},t.prototype.hasKey=function(t){return this.store.hasOwnProperty(t)},t.prototype.onSerialize=function(t,e){this.onSerializeCallbacks[t]=e},t.prototype.toJson=function(){for(var t in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(t))try{this.store[t]=this.onSerializeCallbacks[t]()}catch(e){console.warn("Exception in onSerialize callback: ",e)}return JSON.stringify(this.store)},t=e=Object(r.b)([Object(o.D)()],t)}();function kt(t,e){var n,r,i=t.getElementById(e+"-state"),o={};if(i&&i.textContent)try{o=JSON.parse((n=i.textContent,r={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"},n.replace(/&[^;]+;/g,function(t){return r[t]})))}catch(a){console.warn("Exception while restoring TransferState for app "+e,a)}return St.init(o)}(function(){function t(){}t=Object(r.b)([Object(o.L)({providers:[{provide:St,useFactory:kt,deps:[i.c,o.c]}]})],t)})(),function(){function t(){}t.all=function(){return function(){return!0}},t.css=function(t){return function(e){return null!=e.nativeElement&&s().elementMatches(e.nativeElement,t)}},t.directive=function(t){return function(e){return-1!==e.providerTokens.indexOf(t)}}}(),new o.mb("8.2.6")},Zn8D:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("psW0"),i=n("mChF");function o(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i.a,t)}},ad02:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("mrSG"),i=n("FFOo");function o(t,e){return function(n){return n.lift(new a(t,e))}}var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.compare,this.keySelector))},t}(),s=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keySelector=r,i.hasKey=!1,"function"==typeof n&&(i.compare=n),i}return r.c(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e;try{var n=this.keySelector;e=n?n(t):t}catch(i){return this.destination.error(i)}var r=!1;if(this.hasKey)try{r=(0,this.compare)(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;r||(this.key=e,this.destination.next(t))},e}(i.a)},b716:function(t,e,n){"use strict";var r=n("mrSG"),i=n("dWZg"),o=n("CcnG"),a=n("n6gG"),s=n("G5J1"),l=n("K9Ia"),c=n("bne5"),u=n("Rney"),p=n("ny24"),d=Object(i.f)({passive:!0}),h=function(){function t(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}return t.prototype.monitor=function(t){var e=this;if(!this._platform.isBrowser)return s.a;var n=Object(a.e)(t),r=this._monitoredElements.get(n);if(r)return r.subject.asObservable();var i=new l.a,o="cdk-text-field-autofilled",c=function(t){"cdk-text-field-autofill-start"!==t.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===t.animationName&&n.classList.contains(o)&&(n.classList.remove(o),e._ngZone.run(function(){return i.next({target:t.target,isAutofilled:!1})})):(n.classList.add(o),e._ngZone.run(function(){return i.next({target:t.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",c,d),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:i,unlisten:function(){n.removeEventListener("animationstart",c,d)}}),i.asObservable()},t.prototype.stopMonitoring=function(t){var e=Object(a.e)(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))},t.prototype.ngOnDestroy=function(){var t=this;this._monitoredElements.forEach(function(e,n){return t.stopMonitoring(n)})},t.decorators=[{type:o.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a},{type:o.Q}]},t.ngInjectableDef=Object(o.tb)({factory:function(){return new t(Object(o.xb)(i.a),Object(o.xb)(o.Q))},token:t,providedIn:"root"}),t}(),f=function(){function t(t,e){this._elementRef=t,this._autofillMonitor=e,this.cdkAutofill=new o.x}return t.prototype.ngOnInit=function(){var t=this;this._autofillMonitor.monitor(this._elementRef).subscribe(function(e){return t.cdkAutofill.emit(e)})},t.prototype.ngOnDestroy=function(){this._autofillMonitor.stopMonitoring(this._elementRef)},t.decorators=[{type:o.t,args:[{selector:"[cdkAutofill]"}]}],t.ctorParameters=function(){return[{type:o.u},{type:h}]},t.propDecorators={cdkAutofill:[{type:o.S}]},t}(),m=function(){function t(t,e,n){this._elementRef=t,this._platform=e,this._ngZone=n,this._destroyed=new l.a,this._enabled=!0,this._previousMinRows=-1,this._textareaElement=this._elementRef.nativeElement}return Object.defineProperty(t.prototype,"minRows",{get:function(){return this._minRows},set:function(t){this._minRows=t,this._setMinHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxRows",{get:function(){return this._maxRows},set:function(t){this._maxRows=t,this._setMaxHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){t=Object(a.c)(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())},enumerable:!0,configurable:!0}),t.prototype._setMinHeight=function(){var t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)},t.prototype._setMaxHeight=function(){var t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)},t.prototype.ngAfterViewInit=function(){var t=this;this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(function(){Object(c.a)(window,"resize").pipe(Object(u.a)(16),Object(p.a)(t._destroyed)).subscribe(function(){return t.resizeToFitContent(!0)})}))},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype._cacheTextareaLineHeight=function(){if(!this._cachedLineHeight){var t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,this._textareaElement.parentNode.removeChild(t),this._setMinHeight(),this._setMaxHeight()}},t.prototype.ngDoCheck=function(){this._platform.isBrowser&&this.resizeToFitContent()},t.prototype.resizeToFitContent=function(t){var e=this;if(void 0===t&&(t=!1),this._enabled&&(this._cacheTextareaLineHeight(),this._cachedLineHeight)){var n=this._elementRef.nativeElement,r=n.value;if(t||this._minRows!==this._previousMinRows||r!==this._previousValue){var i=n.placeholder;n.classList.add("cdk-textarea-autosize-measuring"),n.placeholder="";var o=n.scrollHeight-4;n.style.height=o+"px",n.classList.remove("cdk-textarea-autosize-measuring"),n.placeholder=i,this._ngZone.runOutsideAngular(function(){"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(function(){return e._scrollToCaretPosition(n)}):setTimeout(function(){return e._scrollToCaretPosition(n)})}),this._previousValue=r,this._previousMinRows=this._minRows}}},t.prototype.reset=function(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)},t.prototype._noopInputHandler=function(){},t.prototype._scrollToCaretPosition=function(t){var e=t.selectionStart,n=t.selectionEnd;this._destroyed.isStopped||document.activeElement!==t||t.setSelectionRange(e,n)},t.decorators=[{type:o.t,args:[{selector:"textarea[cdkTextareaAutosize]",exportAs:"cdkTextareaAutosize",host:{class:"cdk-textarea-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],t.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:o.Q}]},t.propDecorators={minRows:[{type:o.G,args:["cdkAutosizeMinRows"]}],maxRows:[{type:o.G,args:["cdkAutosizeMaxRows"]}],enabled:[{type:o.G,args:["cdkTextareaAutosize"]}]},t}(),g=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[f,m],imports:[i.b],exports:[f,m]}]}],t}(),y=n("gIcY"),v=n("Wf4p"),b=n("seP3"),_=n("Ip0R");n.d(e,"b",function(){return k}),n.d(e,"a",function(){return x});var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"matAutosizeMinRows",{get:function(){return this.minRows},set:function(t){this.minRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosizeMaxRows",{get:function(){return this.maxRows},set:function(t){this.maxRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matTextareaAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),e.decorators=[{type:o.t,args:[{selector:"textarea[mat-autosize], textarea[matTextareaAutosize]",exportAs:"matTextareaAutosize",inputs:["cdkAutosizeMinRows","cdkAutosizeMaxRows"],host:{class:"cdk-textarea-autosize mat-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],e.propDecorators={matAutosizeMinRows:[{type:o.G}],matAutosizeMaxRows:[{type:o.G}],matAutosize:[{type:o.G,args:["mat-autosize"]}],matTextareaAutosize:[{type:o.G}]},e}(m);var x=new o.E("MAT_INPUT_VALUE_ACCESSOR"),C=["button","checkbox","file","hidden","image","radio","range","reset","submit"],O=0,E=function(t,e,n,r){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=r},S=function(t){function e(e,n,r,o,a,s,c,u,p){var d=t.call(this,s,o,a,r)||this;d._elementRef=e,d._platform=n,d.ngControl=r,d._autofillMonitor=u,d._uid="mat-input-"+O++,d._isServer=!1,d._isNativeSelect=!1,d.focused=!1,d.stateChanges=new l.a,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(t){return Object(i.e)().has(t)});var h=d._elementRef.nativeElement;return d._inputValueAccessor=c||h,d._previousNativeValue=d.value,d.id=d.id,n.IOS&&p.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(t){var e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===h.nodeName.toLowerCase(),d._isNativeSelect&&(d.controlType=h.multiple?"mat-native-select-multiple":"mat-native-select"),d}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(t){this._disabled=Object(a.c)(t),this.focused&&(this.focused=!1,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},set:function(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Object(i.e)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._inputValueAccessor.value},set:function(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(t){this._readonly=Object(a.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(e){t.autofilled=e.isAutofilled,t.stateChanges.next()})},e.prototype.ngOnChanges=function(){this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._focusChanged=function(t){t===this.focused||this.readonly&&t||(this.focused=t,this.stateChanges.next())},e.prototype._onInput=function(){},e.prototype._dirtyCheckNativeValue=function(){var t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())},e.prototype._validateType=function(){if(C.indexOf(this._type)>-1)throw t=this._type,Error('Input type "'+t+"\" isn't supported by matInput.");var t},e.prototype._isNeverEmpty=function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1},e.prototype._isBadInput=function(){var t=this._elementRef.nativeElement.validity;return t&&t.badInput},e.prototype._isTextarea=function(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()},Object.defineProperty(e.prototype,"empty",{get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){if(this._isNativeSelect){var t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty},enumerable:!0,configurable:!0}),e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focused||this.focus()},e.decorators=[{type:o.t,args:[{selector:"input[matInput], textarea[matInput], select[matNativeControl],\n input[matNativeControl], textarea[matNativeControl]",exportAs:"matInput",host:{class:"mat-input-element mat-form-field-autofill-control","[class.mat-input-server]":"_isServer","[attr.id]":"id","[attr.placeholder]":"placeholder","[disabled]":"disabled","[required]":"required","[attr.readonly]":"readonly && !_isNativeSelect || null","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-invalid]":"errorState","[attr.aria-required]":"required.toString()","(blur)":"_focusChanged(false)","(focus)":"_focusChanged(true)","(input)":"_onInput()"},providers:[{provide:b.b,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:y.h,decorators:[{type:o.R},{type:o.eb}]},{type:y.i,decorators:[{type:o.R}]},{type:y.d,decorators:[{type:o.R}]},{type:v.b},{type:void 0,decorators:[{type:o.R},{type:o.eb},{type:o.C,args:[x]}]},{type:h},{type:o.Q}]},e.propDecorators={disabled:[{type:o.G}],id:[{type:o.G}],placeholder:[{type:o.G}],required:[{type:o.G}],type:[{type:o.G}],errorStateMatcher:[{type:o.G}],value:[{type:o.G}],readonly:[{type:o.G}]},e}(Object(v.x)(E)),k=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[S,w],imports:[_.b,g,b.c],exports:[g,b.c,S,w],providers:[v.b]}]}],t}()},b7mW:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}()},bbBv:function(t,e,n){"use strict";n.r(e),e.default=".content {\n margin-top: 2px; }\n\n.example-margin {\n margin: 0 10px; }\n\n.settings-viewer-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.03);\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12);\n margin: 30px; }\n\n.settings-viewer-title {\n align-content: center;\n align-items: center;\n display: flex;\n justify-content: center;\n padding: 8px 20px;\n color: rgba(0, 0, 0, 0.54);\n background: rgba(0, 0, 0, 0.03); }\n\n.settings-viewer-title-spacer {\n flex: 1 1 auto;\n color: rgba(0, 0, 0, 0.54); }\n\n.settings-viewer-body {\n padding: 30px;\n color: rgba(0, 0, 0, 0.87); }\n\n.form-container {\n display: flex;\n flex-direction: column; }\n\n.setting-button {\n margin: 5px;\n margin-top: 15px; }\n"},bne5:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("6blF"),i=n("isby"),o=n("2Bdj"),a=n("67Y/");function s(t,e,n,l){return Object(o.a)(n)&&(l=n,n=void 0),l?s(t,e,n).pipe(Object(a.a)(function(t){return Object(i.a)(t)?l.apply(void 0,t):l(t)})):new r.a(function(r){!function t(e,n,r,i,o){var a;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){var s=e;e.addEventListener(n,r,o),a=function(){return s.removeEventListener(n,r,o)}}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){var l=e;e.on(n,r),a=function(){return l.off(n,r)}}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){var c=e;e.addListener(n,r),a=function(){return c.removeListener(n,r)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var u=0,p=e.length;u1?r.next(Array.prototype.slice.call(arguments)):r.next(t)},r,n)})}},bse0:function(t,e,n){"use strict";var r=n("K9Ia"),i=n("bne5"),o=n("p0ib"),a=n("Rney"),s=n("ny24"),l=n("ad02"),c=n("mrSG"),u=n("FFOo");function p(t){return function(e){return e.lift(new d(t))}}var d=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.value))},t}(),h=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return c.c(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(u.a),f=n("CcnG"),m=n("Ip0R");function g(t){return getComputedStyle(t)}function y(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r+="px"),t.style[n]=r}return t}function v(t){var e=document.createElement("div");return e.className=t,e}var b="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function _(t,e){if(!b)throw new Error("No element matching method supported");return b.call(t,e)}function w(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function x(t,e){return Array.prototype.filter.call(t.children,function(t){return _(t,e)})}var C={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},O={x:null,y:null};function E(t,e){var n=t.element.classList,r=C.state.scrolling(e);n.contains(r)?clearTimeout(O[e]):n.add(r)}function S(t,e){O[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(C.state.scrolling(e))},t.settings.scrollingThreshold)}var k=function(t){this.element=t,this.handlers={}},j={isEmpty:{configurable:!0}};k.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},k.prototype.unbind=function(t,e){var n=this;this.handlers[t]=this.handlers[t].filter(function(r){return!(!e||r===e)||(n.element.removeEventListener(t,r,!1),!1)})},k.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},j.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(k.prototype,j);var A=function(){this.eventElements=[]};function D(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}A.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new k(t),this.eventElements.push(e)),e},A.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},A.prototype.unbind=function(t,e,n){var r=this.eventElement(t);r.unbind(e,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},A.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},A.prototype.once=function(t,e,n){var r=this.eventElement(t),i=function(t){r.unbind(e,i),n(t)};r.bind(e,i)};var T=function(t,e,n,r,i){var o;if(void 0===r&&(r=!0),void 0===i&&(i=!1),"top"===e)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,n,r,i){var o=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0);void 0===i&&(i=!1);var p=t.element;t.reach[l]=null,p[s]<1&&(t.reach[l]="start");p[s]>t[o]-t[a]-1&&(t.reach[l]="end");e&&(p.dispatchEvent(D("ps-scroll-"+l)),e<0?p.dispatchEvent(D("ps-scroll-"+c)):e>0&&p.dispatchEvent(D("ps-scroll-"+u)),r&&function(t,e){E(t,e),S(t,e)}(t,l));t.reach[l]&&(e||i)&&p.dispatchEvent(D("ps-"+l+"-reach-"+t.reach[l]))}(t,n,o,r,i)};function P(t){return parseInt(t,10)||0}var I={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},R=function(t){var e=t.element,n=Math.floor(e.scrollTop);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(x(e,C.element.rail("x")).forEach(function(t){return w(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(x(e,C.element.rail("y")).forEach(function(t){return w(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var n={width:e.railXWidth},r=Math.floor(t.scrollTop);e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft;e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-r:n.top=e.scrollbarXTop+r;y(e.scrollbarXRail,n);var i={top:r,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?i.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:i.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?i.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:i.left=e.scrollbarYLeft+t.scrollLeft;y(e.scrollbarYRail,i),y(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),y(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(C.state.active("x")):(e.classList.remove(C.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(C.state.active("y")):(e.classList.remove(C.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)};function M(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function N(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],l=e[6],c=e[7],u=e[8],p=t.element,d=null,h=null,f=null;function m(e){p[l]=d+f*(e[i]-h),E(t,c),R(t),e.stopPropagation(),e.preventDefault()}function g(){S(t,c),t[u].classList.remove(C.state.clicking),t.event.unbind(t.ownerDocument,"mousemove",m)}t.event.bind(t[a],"mousedown",function(e){d=p[l],h=e[i],f=(t[r]-t[n])/(t[o]-t[s]),t.event.bind(t.ownerDocument,"mousemove",m),t.event.once(t.ownerDocument,"mouseup",g),t[u].classList.add(C.state.clicking),e.stopPropagation(),e.preventDefault()})}var F={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var n=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;t.element.scrollTop+=n*t.containerHeight,R(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var n=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=n*t.containerWidth,R(t),e.stopPropagation()})},"drag-thumb":function(t){N(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),N(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(_(e,":hover")||_(t.scrollbarX,":focus")||_(t.scrollbarY,":focus"))){var r,i=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(i){if("IFRAME"===i.tagName)i=i.contentDocument.activeElement;else for(;i.shadowRoot;)i=i.shadowRoot.activeElement;if(_(r=i,"input,[contenteditable]")||_(r,"select,[contenteditable]")||_(r,"textarea,[contenteditable]")||_(r,"button,[contenteditable]"))return}var o=0,a=0;switch(n.which){case 37:o=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:a=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:o=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:a=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 32:a=n.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==o||t.settings.suppressScrollY&&0!==a||(e.scrollTop-=a,e.scrollLeft+=o,R(t),function(n,r){var i=Math.floor(e.scrollTop);if(0===n){if(!t.scrollbarYActive)return!1;if(0===i&&r>0||i>=t.contentHeight-t.containerHeight&&r<0)return!t.settings.wheelPropagation}var o=e.scrollLeft;if(0===r){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}(o,a)&&n.preventDefault())}})},wheel:function(t){var e=t.element;function n(n){var r=function(t){var e=t.deltaX,n=-1*t.deltaY;return void 0!==e&&void 0!==n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!=e&&n!=n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}(n),i=r[0],o=r[1];if(!function(t,n,r){if(!I.isWebKit&&e.querySelector("select:focus"))return!0;if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollWidth-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(n.target,i,o)){var a=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(o?e.scrollTop-=o*t.settings.wheelSpeed:e.scrollTop+=i*t.settings.wheelSpeed,a=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(i?e.scrollLeft+=i*t.settings.wheelSpeed:e.scrollLeft-=o*t.settings.wheelSpeed,a=!0):(e.scrollTop-=o*t.settings.wheelSpeed,e.scrollLeft+=i*t.settings.wheelSpeed),R(t),(a=a||function(n,r){var i=Math.floor(e.scrollTop),o=0===e.scrollTop,a=i+e.offsetHeight===e.scrollHeight,s=0===e.scrollLeft,l=e.scrollLeft+e.offsetWidth===e.scrollWidth;return!(Math.abs(r)>Math.abs(n)?o||a:s||l)||!t.settings.wheelPropagation}(i,o))&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?t.event.bind(e,"wheel",n):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",n)},touch:function(t){if(I.supportsTouch||I.supportsIePointer){var e=t.element,n={},r=0,i={},o=null;I.supportsTouch?(t.event.bind(e,"touchstart",c),t.event.bind(e,"touchmove",u),t.event.bind(e,"touchend",p)):I.supportsIePointer&&(window.PointerEvent?(t.event.bind(e,"pointerdown",c),t.event.bind(e,"pointermove",u),t.event.bind(e,"pointerup",p)):window.MSPointerEvent&&(t.event.bind(e,"MSPointerDown",c),t.event.bind(e,"MSPointerMove",u),t.event.bind(e,"MSPointerUp",p)))}function a(n,r){e.scrollTop-=r,e.scrollLeft-=n,R(t)}function s(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return(!t.pointerType||"pen"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function c(t){if(l(t)){var e=s(t);n.pageX=e.pageX,n.pageY=e.pageY,r=(new Date).getTime(),null!==o&&clearInterval(o)}}function u(o){if(l(o)){var c=s(o),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-n.pageX,d=u.pageY-n.pageY;if(function(t,n,r){if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollLeft-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(o.target,p,d))return;a(p,d),n=u;var h=(new Date).getTime(),f=h-r;f>0&&(i.x=p/f,i.y=d/f,r=h),function(n,r){var i=Math.floor(e.scrollTop),o=e.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&i===t.contentHeight-t.containerHeight||r>0&&0===i)return 0===window.scrollY&&r>0&&I.isChrome}else if(a>s&&(n<0&&o===t.contentWidth-t.containerWidth||n>0&&0===o))return!0;return!0}(p,d)&&o.preventDefault()}}function p(){t.settings.swipeEasing&&(clearInterval(o),o=setInterval(function(){t.isInitialized?clearInterval(o):i.x||i.y?Math.abs(i.x)<.01&&Math.abs(i.y)<.01?clearInterval(o):(a(30*i.x,30*i.y),i.x*=.8,i.y*=.8):clearInterval(o)},10))}}},L=function(t,e){var n=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=t,t.classList.add(C.main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},e)n.settings[r]=e[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var i,o,a=function(){return t.classList.add(C.state.focus)},s=function(){return t.classList.remove(C.state.focus)};this.isRtl="rtl"===g(t).direction,this.isNegativeScroll=(o=t.scrollLeft,t.scrollLeft=-1,i=t.scrollLeft<0,t.scrollLeft=o,i),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new A,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=v(C.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=v(C.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=g(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=P(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=P(l.borderLeftWidth)+P(l.borderRightWidth),y(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=P(l.marginLeft)+P(l.marginRight),y(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=v(C.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=v(C.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=g(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=P(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var e=g(t);return P(e.width)+P(e.paddingLeft)+P(e.paddingRight)+P(e.borderLeftWidth)+P(e.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=P(c.borderTopWidth)+P(c.borderBottomWidth),y(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=P(c.marginTop)+P(c.marginBottom),y(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return F[t](n)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return n.onScroll(t)}),R(this)};L.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,y(this.scrollbarXRail,{display:"block"}),y(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=P(g(this.scrollbarXRail).marginLeft)+P(g(this.scrollbarXRail).marginRight),this.railYMarginHeight=P(g(this.scrollbarYRail).marginTop)+P(g(this.scrollbarYRail).marginBottom),y(this.scrollbarXRail,{display:"none"}),y(this.scrollbarYRail,{display:"none"}),R(this),T(this,"top",0,!1,!0),T(this,"left",0,!1,!0),y(this.scrollbarXRail,{display:""}),y(this.scrollbarYRail,{display:""}))},L.prototype.onScroll=function(t){this.isAlive&&(R(this),T(this,"top",this.element.scrollTop-this.lastScrollTop),T(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},L.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),w(this.scrollbarX),w(this.scrollbarY),w(this.scrollbarXRail),w(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},L.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")};var V=L,B=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some(function(t,r){return t[0]===e&&(n=r,!0)}),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){z&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){z&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;W.some(function(t){return!!~n.indexOf(t)})&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Q=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),st="undefined"!=typeof WeakMap?new WeakMap:new B,lt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=K.getInstance(),r=new at(e,n,this);st.set(this,r)};["observe","unobserve","disconnect"].forEach(function(t){lt.prototype[t]=function(){var e;return(e=st.get(this))[t].apply(e,arguments)}});var ct=void 0!==H.ResizeObserver?H.ResizeObserver:lt;n.d(e,"a",function(){return ut}),n.d(e,"b",function(){return yt});var ut=new f.E("PERFECT_SCROLLBAR_CONFIG"),pt=function(t,e,n,r){this.x=t,this.y=e,this.w=n,this.h=r},dt=function(t,e){this.x=t,this.y=e},ht=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"],ft=function(){function t(t){void 0===t&&(t={}),this.assign(t)}return t.prototype.assign=function(t){for(var e in void 0===t&&(t={}),t)this[e]=t[e]},t}(),mt=function(){function t(t,e,n,i,o){this.zone=t,this.differs=e,this.elementRef=n,this.platformId=i,this.defaults=o,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new r.a,this.disabled=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;if(!this.disabled&&Object(m.m)(this.platformId)){var e=new ft(this.defaults);e.assign(this.config),this.zone.runOutsideAngular(function(){t.instance=new V(t.elementRef.nativeElement,e)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(function(){t.ro=new ct(function(){t.update()}),t.elementRef.nativeElement.children[0]&&t.ro.observe(t.elementRef.nativeElement.children[0]),t.ro.observe(t.elementRef.nativeElement)}),this.zone.runOutsideAngular(function(){ht.forEach(function(e){var n=e.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});Object(i.a)(t.elementRef.nativeElement,n).pipe(Object(a.a)(20),Object(s.a)(t.ngDestroy)).subscribe(function(n){t[e].emit(n)})})})}},t.prototype.ngOnDestroy=function(){var t=this;Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&"undefined"!=typeof window&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(function(){t.instance&&t.instance.destroy()}),this.instance=null)},t.prototype.ngDoCheck=function(){!this.disabled&&this.configDiff&&Object(m.m)(this.platformId)&&(this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit()))},t.prototype.ngOnChanges=function(t){t.disabled&&!t.disabled.isFirstChange()&&Object(m.m)(this.platformId)&&t.disabled.currentValue!==t.disabled.previousValue&&(!0===t.disabled.currentValue?this.ngOnDestroy():!1===t.disabled.currentValue&&this.ngOnInit())},t.prototype.ps=function(){return this.instance},t.prototype.update=function(){var t=this;"undefined"!=typeof window&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(function(){if(!t.disabled&&t.configDiff)try{t.zone.runOutsideAngular(function(){t.instance&&t.instance.update()})}catch(e){}},0))},t.prototype.geometry=function(t){return void 0===t&&(t="scroll"),new pt(this.elementRef.nativeElement[t+"Left"],this.elementRef.nativeElement[t+"Top"],this.elementRef.nativeElement[t+"Width"],this.elementRef.nativeElement[t+"Height"])},t.prototype.position=function(t){return void 0===t&&(t=!1),!t&&this.instance?new dt(this.instance.reach.x||0,this.instance.reach.y||0):new dt(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)},t.prototype.scrollable=function(t){void 0===t&&(t="any");var e=this.elementRef.nativeElement;return"any"===t?e.classList.contains("ps--active-x")||e.classList.contains("ps--active-y"):"both"===t?e.classList.contains("ps--active-x")&&e.classList.contains("ps--active-y"):e.classList.contains("ps--active-"+t)},t.prototype.scrollTo=function(t,e,n){this.disabled||(null==e&&null==n?this.animateScrolling("scrollTop",t,n):(null!=t&&this.animateScrolling("scrollLeft",t,n),null!=e&&this.animateScrolling("scrollTop",e,n)))},t.prototype.scrollToX=function(t,e){this.animateScrolling("scrollLeft",t,e)},t.prototype.scrollToY=function(t,e){this.animateScrolling("scrollTop",t,e)},t.prototype.scrollToTop=function(t,e){this.animateScrolling("scrollTop",t||0,e)},t.prototype.scrollToLeft=function(t,e){this.animateScrolling("scrollLeft",t||0,e)},t.prototype.scrollToRight=function(t,e){var n=this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth;this.animateScrolling("scrollLeft",n-(t||0),e)},t.prototype.scrollToBottom=function(t,e){var n=this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight;this.animateScrolling("scrollTop",n-(t||0),e)},t.prototype.scrollToElement=function(t,e,n){var r=this.elementRef.nativeElement.querySelector(t);if(r){var i=r.getBoundingClientRect(),o=this.elementRef.nativeElement.getBoundingClientRect();if(this.elementRef.nativeElement.classList.contains("ps--active-x")){var a=this.elementRef.nativeElement.scrollLeft,s=i.left-o.left+a;this.animateScrolling("scrollLeft",s+(e||0),n)}if(this.elementRef.nativeElement.classList.contains("ps--active-y")){a=this.elementRef.nativeElement.scrollTop,s=i.top-o.top+a;this.animateScrolling("scrollTop",s+(e||0),n)}}},t.prototype.animateScrolling=function(t,e,n){var r=this;if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),n&&"undefined"!=typeof window){if(e!==this.elementRef.nativeElement[t]){var i=0,o=0,a=performance.now(),s=this.elementRef.nativeElement[t],l=(s-e)/2,c=function(u){o+=Math.PI/(n/(u-a)),i=Math.round(e+l+l*Math.cos(o)),r.elementRef.nativeElement[t]===s&&(o>=Math.PI?r.animateScrolling(t,e,0):(r.elementRef.nativeElement[t]=i,s=r.elementRef.nativeElement[t],a=u,r.animation=window.requestAnimationFrame(c)))};window.requestAnimationFrame(c)}}else this.elementRef.nativeElement[t]=e},t.decorators=[{type:f.t,args:[{selector:"[perfectScrollbar]",exportAs:"ngxPerfectScrollbar"}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.I},{type:f.u},{type:Object,decorators:[{type:f.C,args:[f.U]}]},{type:void 0,decorators:[{type:f.R},{type:f.C,args:[ut]}]}]},t.propDecorators={disabled:[{type:f.G}],config:[{type:f.G,args:["perfectScrollbar"]}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}]},t}(),gt=function(){function t(t,e,n){this.zone=t,this.cdRef=e,this.platformId=n,this.states={},this.indicatorX=!1,this.indicatorY=!1,this.interaction=!1,this.scrollPositionX=0,this.scrollPositionY=0,this.scrollDirectionX=0,this.scrollDirectionY=0,this.usePropagationX=!1,this.usePropagationY=!1,this.allowPropagationX=!1,this.allowPropagationY=!1,this.stateTimeout=null,this.ngDestroy=new r.a,this.stateUpdate=new r.a,this.disabled=!1,this.usePSClass=!0,this.autoPropagation=!1,this.scrollIndicators=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;Object(m.m)(this.platformId)&&(this.stateUpdate.pipe(Object(s.a)(this.ngDestroy),Object(l.a)(function(e,n){return e===n&&!t.stateTimeout})).subscribe(function(e){t.stateTimeout&&"undefined"!=typeof window&&(window.clearTimeout(t.stateTimeout),t.stateTimeout=null),"x"===e||"y"===e?(t.interaction=!1,"x"===e?(t.indicatorX=!1,t.states.left=!1,t.states.right=!1,t.autoPropagation&&t.usePropagationX&&(t.allowPropagationX=!1)):"y"===e&&(t.indicatorY=!1,t.states.top=!1,t.states.bottom=!1,t.autoPropagation&&t.usePropagationY&&(t.allowPropagationY=!1))):("left"===e||"right"===e?(t.states.left=!1,t.states.right=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationX&&(t.indicatorX=!0)):"top"!==e&&"bottom"!==e||(t.states.top=!1,t.states.bottom=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationY&&(t.indicatorY=!0)),t.autoPropagation&&"undefined"!=typeof window&&(t.stateTimeout=window.setTimeout(function(){t.indicatorX=!1,t.indicatorY=!1,t.stateTimeout=null,t.interaction&&(t.states.left||t.states.right)&&(t.allowPropagationX=!0),t.interaction&&(t.states.top||t.states.bottom)&&(t.allowPropagationY=!0),t.cdRef.markForCheck()},500))),t.cdRef.markForCheck(),t.cdRef.detectChanges()}),this.zone.runOutsideAngular(function(){if(t.directiveRef){var e=t.directiveRef.elementRef.nativeElement;Object(i.a)(e,"wheel").pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){if(!t.disabled&&t.autoPropagation){var n=e.deltaX,r=e.deltaY;t.checkPropagation(e,n,r)}}),Object(i.a)(e,"touchmove").pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){if(!t.disabled&&t.autoPropagation){var n=e.touches[0].clientX,r=e.touches[0].clientY,i=n-t.scrollPositionX,o=r-t.scrollPositionY;t.checkPropagation(e,i,o),t.scrollPositionX=n,t.scrollPositionY=r}}),Object(o.a)(Object(i.a)(e,"ps-scroll-x").pipe(p("x")),Object(i.a)(e,"ps-scroll-y").pipe(p("y")),Object(i.a)(e,"ps-x-reach-end").pipe(p("right")),Object(i.a)(e,"ps-y-reach-end").pipe(p("bottom")),Object(i.a)(e,"ps-x-reach-start").pipe(p("left")),Object(i.a)(e,"ps-y-reach-start").pipe(p("top"))).pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){t.disabled||!t.autoPropagation&&!t.scrollIndicators||t.stateUpdate.next(e)})}}),window.setTimeout(function(){ht.forEach(function(e){t.directiveRef&&(t.directiveRef[e]=t[e])})},0))},t.prototype.ngOnDestroy=function(){Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.unsubscribe(),this.stateTimeout&&"undefined"!=typeof window&&window.clearTimeout(this.stateTimeout))},t.prototype.ngDoCheck=function(){if(Object(m.m)(this.platformId)&&!this.disabled&&this.autoPropagation&&this.directiveRef){var t=this.directiveRef.elementRef.nativeElement;this.usePropagationX=t.classList.contains("ps--active-x"),this.usePropagationY=t.classList.contains("ps--active-y")}},t.prototype.checkPropagation=function(t,e,n){this.interaction=!0;var r=e<0?-1:1,i=n<0?-1:1;(this.usePropagationX&&this.usePropagationY||this.usePropagationX&&(!this.allowPropagationX||this.scrollDirectionX!==r)||this.usePropagationY&&(!this.allowPropagationY||this.scrollDirectionY!==i))&&(t.preventDefault(),t.stopPropagation()),e&&(this.scrollDirectionX=r),n&&(this.scrollDirectionY=i),this.stateUpdate.next("interaction"),this.cdRef.detectChanges()},t.decorators=[{type:f.n,args:[{selector:"perfect-scrollbar",exportAs:"ngxPerfectScrollbar",template:'
      \n
      \n \n
      \n\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n',encapsulation:f.qb.None,styles:["/*\n TODO: Remove important flags after this bug if fixed:\n https://github.com/angular/flex-layout/issues/381\n*/\n\nperfect-scrollbar {\n position: relative;\n\n display: block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n}\n\nperfect-scrollbar[hidden] {\n display: none;\n}\n\nperfect-scrollbar[fxflex] {\n display: flex;\n flex-direction: column;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-direction: column;\n -webkit-box-orient: column;\n}\n\nperfect-scrollbar[fxflex] > .ps {\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-flex: 1;\n}\n\nperfect-scrollbar[fxlayout] > .ps,\nperfect-scrollbar[fxlayout] > .ps > .ps-content {\n display: flex;\n\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n flex-direction: inherit;\n align-items: inherit;\n align-content: inherit;\n justify-content: inherit;\n width: 100%;\n height: 100%;\n\n -webkit-box-align: inherit;\n -webkit-box-direction: inherit;\n -webkit-box-flex: 1;\n -webkit-box-orient: inherit;\n -webkit-box-pack: inherit;\n}\n\nperfect-scrollbar[fxlayout='row'] > .ps,\nperfect-scrollbar[fxlayout='row'] > .ps > .ps-content, {\n flex-direction: row !important;\n\n -webkit-box-direction: row !important;\n -webkit-box-orient: row !important;\n}\n\nperfect-scrollbar[fxlayout='column'] > .ps,\nperfect-scrollbar[fxlayout='column'] > .ps > .ps-content {\n flex-direction: column !important;\n\n -webkit-box-direction: column !important;\n -webkit-box-orient: column !important;\n}\n\nperfect-scrollbar > .ps {\n position: static;\n\n display: block;\n width: inherit;\n height: inherit;\n max-width: inherit;\n max-height: inherit;\n}\n\nperfect-scrollbar > .ps > .ps-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: block;\n overflow: hidden;\n\n pointer-events: none;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n position: absolute;\n\n opacity: 0;\n\n transition: opacity 300ms ease-in-out;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n left: 0;\n\n min-width: 100%;\n min-height: 24px;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n top: 0;\n\n min-width: 24px;\n min-height: 100%;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top {\n top: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left {\n left: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n right: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n bottom: 0;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y {\n top: 0 !important;\n right: 0 !important;\n left: auto !important;\n\n width: 10px;\n\n cursor: default;\n\n transition:\n width 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y:hover,\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y.ps--clicking {\n width: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x {\n top: auto !important;\n bottom: 0 !important;\n left: 0 !important;\n\n height: 10px;\n\n cursor: default;\n\n transition:\n height 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x:hover,\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x.ps--clicking {\n height: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-y {\n margin: 0 0 10px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-x {\n margin: 0 10px 0 0;\n}\n\nperfect-scrollbar > .ps.ps--scrolling-y > .ps__rail-y,\nperfect-scrollbar > .ps.ps--scrolling-x > .ps__rail-x {\n opacity: 0.9;\n\n background-color: #eee;\n}\n\nperfect-scrollbar.ps-show-always > .ps.ps--active-y > .ps__rail-y,\nperfect-scrollbar.ps-show-always > .ps.ps--active-x > .ps__rail-x {\n opacity: 0.6;\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-top) .ps-indicator-top {\n opacity: 1;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom {\n opacity: 1;\n\n background: linear-gradient(to top, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-left) .ps-indicator-left {\n opacity: 1;\n\n background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-right) .ps-indicator-right {\n opacity: 1;\n\n background: linear-gradient(to left, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top {\n background: linear-gradient(to bottom, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom {\n background: linear-gradient(to top, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left {\n background: linear-gradient(to right, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right {\n background: linear-gradient(to left, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show {\n opacity: 1;\n}\n","/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n"]}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.k},{type:Object,decorators:[{type:f.C,args:[f.U]}]}]},t.propDecorators={disabled:[{type:f.G}],usePSClass:[{type:f.G}],autoPropagation:[{type:f.z,args:["class.ps-show-limits"]},{type:f.G}],scrollIndicators:[{type:f.z,args:["class.ps-show-active"]},{type:f.G}],config:[{type:f.G}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}],directiveRef:[{type:f.nb,args:[mt]}]},t}(),yt=function(){function t(){}return t.decorators=[{type:f.L,args:[{imports:[m.b],declarations:[gt,mt],exports:[m.b,gt,mt]}]}],t}()},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},d2mR:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=n("eKg/"),a=n("NZXM"),s=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(){function t(t){this.translateService=t,this.translatePipe=new o.a(this.translateService)}return t.prototype.transform=function(t){var e=Math.floor(1667e-8*t)%60;return Math.floor(28e-8*t)+" "+this.translatePipe.transform("HOURS")+" "+e+" "+this.translatePipe.transform("MINUTES")},t.ctorParameters=function(){return[{type:a.a}]},t=s([Object(r.W)({name:"times",pure:!1}),l("design:paramtypes",[a.a])],t)}(),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t){return t&&t.__esModule?t:{default:t}},h=function(){function t(){}return t.prototype.ngOnInit=function(){},t=u([Object(r.n)({selector:"app-loader",template:d(n("JYZP")).default,styles:[d(n("Wg1/")).default]}),p("design:paramtypes",[])],t)}(),f=n("mrSG"),m=n("pugT"),g=n("bne5"),y=n("VnD/"),v=n("wFw1"),b=n("Wf4p"),_=function(t){this._elementRef=t},w=Object(b.u)(_,"primary"),x=new r.E("mat-progress-bar-location",{providedIn:"root",factory:function(){var t=Object(r.xb)(i.c),e=t?t.location:null;return{getPathname:function(){return e?e.pathname+e.search:""}}}});var C=0,O=function(t){function e(e,n,i,o){var a=t.call(this,e)||this;a._elementRef=e,a._ngZone=n,a._animationMode=i,a._isNoopAnimation=!1,a._value=0,a._bufferValue=0,a.animationEnd=new r.x,a._animationEndSubscription=m.a.EMPTY,a.mode="determinate",a.progressbarId="mat-progress-bar-"+C++;var s=o?o.getPathname().split("#")[0]:"";return a._rectangleFillValue="url('"+s+"#"+a.progressbarId+"')",a._isNoopAnimation="NoopAnimations"===i,a}return Object(f.c)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){this._value=E(t||0),this._isNoopAnimation&&this.emitAnimationEnd()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferValue",{get:function(){return this._bufferValue},set:function(t){this._bufferValue=E(t||0)},enumerable:!0,configurable:!0}),e.prototype._primaryTransform=function(){return{transform:"scaleX("+this.value/100+")"}},e.prototype._bufferTransform=function(){if("buffer"===this.mode)return{transform:"scaleX("+this.bufferValue/100+")"}},e.prototype.ngAfterViewInit=function(){var t=this;this._isNoopAnimation||this._ngZone.runOutsideAngular(function(){t._animationEndSubscription=Object(g.a)(t._primaryValueBar.nativeElement,"transitionend").pipe(Object(y.a)(function(e){return e.target===t._primaryValueBar.nativeElement})).subscribe(function(e){return t._ngZone.run(function(){return t.emitAnimationEnd()})})})},e.prototype.ngOnDestroy=function(){this._animationEndSubscription.unsubscribe()},e.prototype.emitAnimationEnd=function(){"determinate"!==this.mode&&"buffer"!==this.mode||this.animationEnd.next({value:this.value})},e.decorators=[{type:r.n,args:[{selector:"mat-progress-bar",exportAs:"matProgressBar",host:{role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","[attr.aria-valuenow]":"value","[attr.mode]":"mode",class:"mat-progress-bar","[class._mat-animation-noopable]":"_isNoopAnimation"},inputs:["color"],template:'
      ',styles:[".mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-background{display:none}}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after{animation:none;transition:none}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}"],changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[v.a]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[x]}]}]},e.propDecorators={value:[{type:r.G}],bufferValue:[{type:r.G}],_primaryValueBar:[{type:r.nb,args:["primaryValueBar"]}],animationEnd:[{type:r.S}],mode:[{type:r.G}]},e}(w);function E(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=100),Math.max(e,Math.min(n,t))}var S=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[i.b,b.h],exports:[O,b.h],declarations:[O]}]}],t}();n.d(e,"a",function(){return j});var k=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},j=function(){function t(){}return t=k([Object(r.L)({imports:[i.b],declarations:[o.a,c,h],exports:[o.a,c,h,S]})],t)}()},dEwP:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("F/XL"),i=n("Txjg");function o(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isOperationsRetrived=!1,this.operations=[],this.operationFeed=new i.a(this.operations),this.retriveData()}return t.prototype.loadOperations=function(){return u(this,void 0,void 0,function(){var t,e;return p(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/operations",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort(function(t,e){return t.operationNamee.height||t.scrollWidth>e.width},t}();function b(){return Error("Scroll strategy has already been attached.")}var _=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=function(){i.disable(),i._overlayRef.hasAttached()&&i._ngZone.run(function(){return i._overlayRef.detach()})}}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),w=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}();function x(t,e){return e.some(function(e){var n=t.bottome.bottom,i=t.righte.right;return n||r||i||o})}function C(t,e){return e.some(function(e){var n=t.tope.bottom,i=t.lefte.right;return n||r||i||o})}var O=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;x(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}})}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),E=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new w},this.close=function(t){return new _(i._scrollDispatcher,i._ngZone,i._viewportRuler,t)},this.block=function(){return new v(i._viewportRuler,i._document)},this.reposition=function(t){return new O(i._scrollDispatcher,i._viewportRuler,i._ngZone,t)},this._document=r}return t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.c},{type:i.f},{type:a.Q},{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(i.c),Object(a.xb)(i.f),Object(a.xb)(a.Q),Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}(),S=function(t){var e=this;this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t&&Object.keys(t).forEach(function(n){var r=n;void 0!==t[r]&&(e[r]=t[r])})},k=function(t,e,n,r,i){this.offsetX=n,this.offsetY=r,this.panelClass=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY},j=function(){},A=function(){function t(t,e){this.connectionPair=t,this.scrollableViewProperties=e}return t.ctorParameters=function(){return[{type:k},{type:j,decorators:[{type:a.R}]}]},t}();function D(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "top", "bottom" or "center".')}function T(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "start", "end" or "center".')}var P=function(){function t(t){var e=this;this._attachedOverlays=[],this._keydownListener=function(t){for(var n=e._attachedOverlays,r=n.length-1;r>-1;r--)if(n[r]._keydownEventSubscriptions>0){n[r]._keydownEvents.next(t);break}},this._document=t}return t.prototype.ngOnDestroy=function(){this._detach()},t.prototype.add=function(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)},t.prototype.remove=function(t){var e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()},t.prototype._detach=function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var I={provide:P,deps:[[new a.R,new a.fb,P],o.c],useFactory:function(t,e){return t||new P(e)}},R=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var M={provide:R,deps:[[new a.R,new a.fb,R],o.c],useFactory:function(t,e){return t||new R(e)}},N=function(){function t(t,e,n,r,i,o,a,s){var p=this;this._portalOutlet=t,this._host=e,this._pane=n,this._config=r,this._ngZone=i,this._keyboardDispatcher=o,this._document=a,this._location=s,this._backdropElement=null,this._backdropClick=new l.a,this._attachments=new l.a,this._detachments=new l.a,this._locationChanges=c.a.EMPTY,this._keydownEventsObservable=new u.a(function(t){var e=p._keydownEvents.subscribe(t);return p._keydownEventSubscriptions++,function(){e.unsubscribe(),p._keydownEventSubscriptions--}}),this._keydownEvents=new l.a,this._keydownEventSubscriptions=0,r.scrollStrategy&&r.scrollStrategy.attach(this),this._positionStrategy=r.positionStrategy}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hostElement",{get:function(){return this._host},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._positionStrategy&&this._positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Object(d.a)(1)).subscribe(function(){e.hasAttached()&&e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&this._location&&(this._locationChanges=this._location.subscribe(function(){return e.dispose()})),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEventsObservable},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._positionStrategy&&this._positionStrategy.apply()},t.prototype.updatePositionStrategy=function(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))},t.prototype.updateSize=function(t){this._config=Object(s.a)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(s.a)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype.addPanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!0)},t.prototype.removePanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!1)},t.prototype.getDirection=function(){var t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"},t.prototype._updateElementDirection=function(){this._host.setAttribute("dir",this.getDirection())},t.prototype._updateElementSize=function(){var t=this._pane.style;t.width=Object(r.d)(this._config.width),t.height=Object(r.d)(this._config.height),t.minWidth=Object(r.d)(this._config.minWidth),t.minHeight=Object(r.d)(this._config.minHeight),t.maxWidth=Object(r.d)(this._config.maxWidth),t.maxHeight=Object(r.d)(this._config.maxHeight)},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",function(e){return t._backdropClick.next(e)}),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n,r=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null),t._config.backdropClass&&t._toggleClasses(e,t._config.backdropClass,!1),clearTimeout(n)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(function(){e.addEventListener("transitionend",r)}),e.style.pointerEvents="none",n=this._ngZone.runOutsideAngular(function(){return setTimeout(r,500)})}},t.prototype._toggleClasses=function(t,e,n){var i=t.classList;Object(r.b)(e).forEach(function(t){n?i.add(t):i.remove(t)})},t.prototype._detachContentWhenStable=function(){var t=this;this._ngZone.runOutsideAngular(function(){var e=t._ngZone.onStable.asObservable().pipe(Object(h.a)(Object(p.a)(t._attachments,t._detachments))).subscribe(function(){t._pane&&t._host&&0!==t._pane.children.length||(t._pane&&t._config.panelClass&&t._toggleClasses(t._pane,t._config.panelClass,!1),t._host&&t._host.parentElement&&(t._previousHostParent=t._host.parentElement,t._previousHostParent.removeChild(t._host)),e.unsubscribe())})})},t}(),F=function(){function t(t,e,n,r,i){var o=this;this._viewportRuler=e,this._document=n,this._platform=r,this._overlayContainer=i,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new l.a,this._resizeSubscription=c.a.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this._appliedPanelClasses=[],this.positionChanges=new u.a(function(t){var e=o._positionChanges.subscribe(t);return o._positionChangeSubscriptions++,function(){e.unsubscribe(),o._positionChangeSubscriptions--}}),this.setOrigin(t)}return Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){e._isInitialRender=!0,e.apply()})},t.prototype.apply=function(){if(!(this._isDisposed||this._platform&&!this._platform.isBrowser))if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)this.reapplyLastPosition();else{this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();for(var t,e=this._originRect,n=this._overlayRect,r=this._viewportRect,i=[],o=0,a=this._preferredPositions;od&&(d=g,p=m)}return this._isPushed=!1,void this._applyPosition(p.position,p.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(t.position,t.originPoint);this._applyPosition(t.position,t.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&L(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this.scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var n;if("center"==e.originX)n=t.left+t.width/2;else{var r=this._isRtl()?t.right:t.left,i=this._isRtl()?t.left:t.right;n="start"==e.originX?r:i}return{x:n,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,n){var r,i;return r="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,i="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+r,y:t.y+i}},t.prototype._getOverlayFit=function(t,e,n,r){var i=t.x,o=t.y,a=this._getOffset(r,"x"),s=this._getOffset(r,"y");a&&(i+=a),s&&(o+=s);var l=0-i,c=i+e.width-n.width,u=0-o,p=o+e.height-n.height,d=this._subtractOverflows(e.width,l,c),h=this._subtractOverflows(e.height,u,p),f=d*h;return{visibleArea:f,isCompletelyWithinViewport:e.width*e.height===f,fitsInViewportVertically:h===e.height,fitsInViewportHorizontally:d==e.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,n){if(this._hasFlexibleDimensions){var r=n.bottom-e.y,i=n.right-e.x,o=this._overlayRef.getConfig().minHeight,a=this._overlayRef.getConfig().minWidth,s=t.fitsInViewportVertically||null!=o&&o<=r,l=t.fitsInViewportHorizontally||null!=a&&a<=i;return s&&l}},t.prototype._pushOverlayOnScreen=function(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var r=this._viewportRect,i=Math.max(t.x+e.width-r.right,0),o=Math.max(t.y+e.height-r.bottom,0),a=Math.max(r.top-n.top-t.y,0),s=Math.max(r.left-n.left-t.x,0),l=0,c=0;return l=e.width<=r.width?s||-i:t.x0){var n=this._getScrollVisibility(),r=new A(t,n);this._positionChanges.next(r)}this._isInitialRender=!1},t.prototype._setTransformOrigin=function(t){if(this._transformOriginSelector){var e,n=this._boundingBox.querySelectorAll(this._transformOriginSelector),r=t.overlayY;e="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(var i=0;il&&!this._isInitialRender&&!this._growAfterOpen&&(r=t.y-l/2)}var c,u,p,d="start"===e.overlayX&&!a||"end"===e.overlayX&&a;if("end"===e.overlayX&&!a||"start"===e.overlayX&&a)p=o.right-t.x+this._viewportMargin,c=t.x-o.left;else if(d)u=t.x,c=o.right-t.x;else{s=Math.min(o.right-t.x+o.left,t.x);var h=this._lastBoundingBoxSize.width;c=2*s,u=t.x-s,c>h&&!this._isInitialRender&&!this._growAfterOpen&&(u=t.x-h/2)}return{top:r,left:u,bottom:i,right:p,width:c,height:n}},t.prototype._setBoundingBoxStyles=function(t,e){var n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{var o=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;i.height=Object(r.d)(n.height),i.top=Object(r.d)(n.top),i.bottom=Object(r.d)(n.bottom),i.width=Object(r.d)(n.width),i.left=Object(r.d)(n.left),i.right=Object(r.d)(n.right),"center"===e.overlayX?i.alignItems="center":i.alignItems="end"===e.overlayX?"flex-end":"flex-start","center"===e.overlayY?i.justifyContent="center":i.justifyContent="bottom"===e.overlayY?"flex-end":"flex-start",o&&(i.maxHeight=Object(r.d)(o)),a&&(i.maxWidth=Object(r.d)(a))}this._lastBoundingBoxSize=n,L(this._boundingBox.style,i)},t.prototype._resetBoundingBoxStyles=function(){L(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){L(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var n={};if(this._hasExactPosition()){var r=this._viewportRuler.getViewportScrollPosition();L(n,this._getExactOverlayY(e,t,r)),L(n,this._getExactOverlayX(e,t,r))}else n.position="static";var i="",o=this._getOffset(e,"x"),a=this._getOffset(e,"y");o&&(i+="translateX("+o+"px) "),a&&(i+="translateY("+a+"px)"),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),L(this._pane.style,n)},t.prototype._getExactOverlayY=function(t,e,n){var i={top:null,bottom:null},o=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n));var a=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;if(o.y-=a,"bottom"===t.overlayY){var s=this._document.documentElement.clientHeight;i.bottom=s-(o.y+this._overlayRect.height)+"px"}else i.top=Object(r.d)(o.y);return i},t.prototype._getExactOverlayX=function(t,e,n){var i={left:null,right:null},o=this._getOverlayPoint(e,this._overlayRect,t);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n)),"right"===(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")){var a=this._document.documentElement.clientWidth;i.right=a-(o.x+this._overlayRect.width)+"px"}else i.left=Object(r.d)(o.x);return i},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(function(t){return t.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:C(t,n),isOriginOutsideView:x(t,n),isOverlayClipped:C(e,n),isOverlayOutsideView:x(e,n)}},t.prototype._subtractOverflows=function(t){for(var e=[],n=1;n=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t){this.translate=t}return t.prototype.transform=function(t,e){return void 0===e&&(e=!1),e?this.translate.data["api-messages"][t.toString()]||this.transform("ERROR")+": "+t:this.translate.data[t]||t},t.ctorParameters=function(){return[{type:i.a}]},t=o([Object(r.W)({name:"translate",pure:!1}),a("design:paramtypes",[i.a])],t)}()},fBeJ:function(t,e,n){"use strict";n.r(e),e.default=""},fHOq:function(t,e,n){"use strict";n.r(e),e.default='
      \r\n
      \r\n
      {{ \'LANGUAGE\' | translate }}
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n English\r\n Hebrew | עברית\r\n \r\n {{ \'SELECT_LANGUAGE\' | translate }}\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{ \'REMOTE_SERVER\' | translate }}
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n {{ \'REMOTE_STATUS\' | translate }}\r\n \r\n
      \r\n \r\n \r\n {{ \'REMOTE_URI\' | translate }}\r\n \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      {{ \'IFTTT_INTEGRATION\' | translate }}
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n {{ \'IFTTT_STATUS\' | translate }}\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{ \'REDIRECT_TO_THE_LIGHT_VERSION\' | translate }}
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{ \'PWA\' | translate }}
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ \'VERSION\' | translate }} {{ currentVersionName }}
      {{ \'RELEASE_DATE\' | translate }} {{ currentVersionReleaseDate }}
      \r\n
      \r\n \r\n
      \r\n
      '},fICr:function(t,e,n){"use strict";n.d(e,"a",function(){return f});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("dO5I"),s=n("sB9w"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&void 0!==e.durationMinutes&&e.sunTrigger}if("dailyTimeTrigger"===t){var n=this.timingProperties;return n.hour=void 0!==n.hour?parseInt(n.hour,10):void 0,n.minutes=void 0!==n.minutes?parseInt(n.minutes,10):void 0,n.days&&n.days.length>0&&void 0!==n.hour&&void 0!==n.minutes}if("once"===t){var r=this.timingProperties,i=void 0!==this.timingProperties.hour?parseInt(this.timingProperties.hour,10):void 0,o=void 0!==this.timingProperties.minutes?parseInt(this.timingProperties.minutes,10):void 0;if(r.dateObj){var a=r.dateObj;a.setHours(i||0),a.setMinutes(o||0),r.date=a.getTime()}return r.date&&void 0!==i&&void 0!==o}if("timeout"===t){var s=this.timingProperties;return s.durationInMimutes=s.durationInMimutes?parseFloat(s.durationInMimutes):void 0,s.startDate=(new Date).getTime(),s.durationInMimutes}},t.prototype.createTiming=function(){return p(this,void 0,void 0,function(){var t,e;return d(this,function(n){switch(n.label){case 0:return delete this.timingProperties.dateObj,t={},e=this.timingTypeControl.value,t[e]=this.timingProperties,[4,this.timingsService.createTiming({timingId:"xxx",isActive:!0,timingName:this.nameControl.value,timingType:this.timingTypeControl.value,triggerOperationId:this.selectOperationControl.value.operationId,timingProperties:t})];case 1:return n.sent(),this.operationSubscription.unsubscribe(),this.dialogRef.close(),[2]}})})},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-timing-dialog",template:h(n("CQyT")).default,styles:[h(n("9YZV")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},gI3B:function(t,e,n){"use strict";var r=n("6blF"),i=n("T1DM"),o=n("isby");function a(t){return!Object(o.a)(t)&&t-parseFloat(t)+1>=0}var s=n("nkY7");function l(t,e,n){void 0===t&&(t=0);var o=-1;return a(e)?o=Number(e)<1?1:Number(e):Object(s.a)(e)&&(n=e),Object(s.a)(n)||(n=i.a),new r.a(function(e){var r=a(t)?t:+t-n.now();return n.schedule(c,r,{index:0,period:o,subscriber:e})})}function c(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}}n.d(e,"a",function(){return l})},gIcY:function(t,e,n){"use strict";n.d(e,"g",function(){return c}),n.d(e,"h",function(){return v}),n.d(e,"i",function(){return Ct}),n.d(e,"d",function(){return Lt}),n.d(e,"a",function(){return Qt}),n.d(e,"b",function(){return le}),n.d(e,"c",function(){return vt}),n.d(e,"f",function(){return O}),n.d(e,"k",function(){return k}),n.d(e,"e",function(){return ce}),n.d(e,"j",function(){return ue});var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("VNr4"),s=n("0/uQ"),l=n("67Y/"),c=new i.E("NgValueAccessor"),u={provide:c,useExisting:Object(i.vb)(function(){return p}),multi:!0},p=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[u]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),d={provide:c,useExisting:Object(i.vb)(function(){return f}),multi:!0};var h=new i.E("CompositionEventMode"),f=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Object(o.h)()?Object(o.h)().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t=Object(r.b)([Object(i.t)({selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[d]}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.C)(h)),Object(r.d)("design:paramtypes",[i.Z,i.u,Boolean])],t)}(),m=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(m);function y(){throw new Error("unimplemented")}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return y()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return y()},enumerable:!0,configurable:!0}),e}(m),b=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),_={"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid","[class.ng-pending]":"ngClassPending"},w=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formControlName],[ngModel],[formControl]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[v])],e)}(b),x=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[g])],e)}(b);function C(t){return null==t||0===t.length}var O=new i.E("NgValidators"),E=new i.E("NgAsyncValidators"),S=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,k=function(){function t(){}return t.min=function(t){return function(e){if(C(e.value)||C(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return C(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return C(t.value)?null:S.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(C(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(C(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){return D(function(t,e){return e.map(function(e){return e(t)})}(t,e))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){var n=function(t,e){return e.map(function(e){return e(t)})}(t,e).map(A);return Object(a.a)(n).pipe(Object(l.a)(D))}},t}();function j(t){return null!=t}function A(t){var e=Object(i.Zb)(t)?Object(s.a)(t):t;if(!Object(i.Yb)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function D(t){var e=t.reduce(function(t,e){return null!=e?Object(r.a)({},t,e):t},{});return 0===Object.keys(e).length?null:e}function T(t){return t.validate?function(e){return t.validate(e)}:t}function P(t){return t.validate?function(e){return t.validate(e)}:t}var I={provide:c,useExisting:Object(i.vb)(function(){return R}),multi:!0},R=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[I]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),M={provide:c,useExisting:Object(i.vb)(function(){return F}),multi:!0},N=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&(t[0]._parent===e._control._parent&&t[1].name===e.name)},t=Object(r.b)([Object(i.D)()],t)}(),F=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(v),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"name",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"formControlName",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"value",void 0),t=Object(r.b)([Object(i.t)({selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[M]}),Object(r.d)("design:paramtypes",[i.Z,i.u,N,i.F])],t)}(),L={provide:c,useExisting:Object(i.vb)(function(){return V}),multi:!0},V=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[L]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),B='\n
      \n \n
      \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',z='\n
      \n
      \n \n
      \n
      \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',H='\n
      \n
      \n
      \n \n
      \n
      \n
      \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',U='\n
      \n
      \n \n
      \n
      ',G='\n
      \n \n \n
      \n ',q=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+B)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+z+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+U)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+B)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+z)},t.arrayParentException=function(){throw new Error("formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+H)},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t.ngModelWarning=function(t){console.warn("\n It looks like you're using ngModel on the same form field as "+t+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},t}(),W={provide:c,useExisting:Object(i.vb)(function(){return K}),multi:!0};function Y(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var K=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Y(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){var e,n;try{for(var i=Object(r.h)(Array.from(this._optionMap.keys())),o=i.next();!o.done;o=i.next()){var a=o.value;if(this._compareWith(this._optionMap.get(a),t))return a}}catch(s){e={error:s}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Function),Object(r.d)("design:paramtypes",[Function])],t.prototype,"compareWith",null),t=Object(r.b)([Object(i.t)({selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[W]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),Q=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Y(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},Object(r.b)([Object(i.G)("ngValue"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"ngValue",null),Object(r.b)([Object(i.G)("value"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"value",null),t=Object(r.b)([Object(i.t)({selector:"option"}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.y)()),Object(r.d)("design:paramtypes",[i.u,i.Z,K])],t)}(),X={provide:c,useExisting:Object(i.vb)(function(){return $}),multi:!0};function Z(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var $=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var r=t.map(function(t){return n._getOptionId(t)});e=function(t,e){t._setSelected(r.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function at(t){return null!=t?k.compose(t.map(T)):null}function st(t){return null!=t?k.composeAsync(t.map(P)):null}function lt(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(i.ac)(e,n.currentValue)}var ct=[p,V,R,K,$,F];function ut(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function pt(t,e){if(!e)return null;Array.isArray(e)||ot(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){var o;e.constructor===f?n=e:(o=e,ct.some(function(t){return o.constructor===t})?(r&&ot(t,"More than one built-in value accessor matches form control with"),r=e):(i&&ot(t,"More than one custom value accessor matches form control with"),i=e))}),i||(r||(n||(ot(t,"No valid value accessor for form control with"),null)))}function dt(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function ht(t,e,n,r){Object(i.yb)()&&"never"!==r&&((null!==r&&"once"!==r||e._ngModelWarningSentOnce)&&("always"!==r||n._ngModelWarningSent)||(q.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}function ft(t){var e=gt(t)?t.validators:t;return Array.isArray(e)?at(e):e||null}function mt(t,e){var n=gt(e)?e.asyncValidators:t;return Array.isArray(n)?st(n):n||null}function gt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var yt=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=ft(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=mt(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(t){return t.markAllAsTouched()})},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(function(e){e.disable(Object(r.a)({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild(function(e){e.enable(Object(r.a)({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=A(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(n)),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof bt?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof _t&&t.at(e)||null},t))}(this,t,".")},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new i.x,this.statusChanges=new i.x},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){gt(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){var e=this._parent&&this._parent.dirty;return!t&&e&&!this._parent._anyControlsDirty()},t}(),vt=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,ft(n),mt(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(r.c)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(yt),bt=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof vt?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(r,i){n=n||e.contains(i)&&t(r)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,r){n=e(n,t,r)}),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(Object.keys(this.controls)),i=n.next();!i.done;i=n.next()){var o=i.value;if(this.controls[o].enabled)return!1}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(yt),_t=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof vt?t.value:t.getRawValue()})},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild(function(t){return t._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(this.controls),i=n.next();!i.done;i=n.next()){if(i.value.enabled)return!1}}catch(o){t={error:o}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(yt),wt={provide:g,useExisting:Object(i.vb)(function(){return Ct})},xt=Promise.resolve(null),Ct=function(t){function e(e,n){var r=t.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new i.x,r.form=new bt({},at(e),st(n)),r}return Object(r.c)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),et(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),dt(e._directives,t)})},e.prototype.addFormGroup=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path),r=new bt({});rt(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})},e.prototype.removeFormGroup=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;xt.then(function(){n.form.get(t.path).setValue(e)})},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},Object(r.b)([Object(i.G)("ngFormOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),e=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([formGroup]),ngForm,ng-form,[ngForm]",providers:[wt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Ot=function(){function t(){}return t.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+B+"\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n "+G)},t.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+z+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+U)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')},t.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+z+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+U)},t.ngFormWarning=function(){console.warn("\n It looks like you're using 'ngForm'.\n\n Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n in Angular v9.\n\n Use 'ng-form' instead.\n\n Before:\n \n\n After:\n \n ")},t}(),Et=new i.E("NgFormSelectorWarning"),St=function(){function t(t){(t&&"once"!==t||e._ngFormWarning)&&"always"!==t||(Ot.ngFormWarning(),e._ngFormWarning=!0)}var e;return e=t,t._ngFormWarning=!1,t=e=Object(r.b)([Object(i.t)({selector:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.C)(Et)),Object(r.d)("design:paramtypes",[Object])],t)}(),kt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(g),jt={provide:g,useExisting:Object(i.vb)(function(){return At})},At=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}var n;return Object(r.c)(e,t),n=e,e.prototype._checkParentType=function(){this._parent instanceof n||this._parent instanceof Ct||Ot.modelGroupParentException()},Object(r.b)([Object(i.G)("ngModelGroup"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[ngModelGroup]",providers:[jt],exportAs:"ngModelGroup"}),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),Dt={provide:v,useExisting:Object(i.vb)(function(){return Pt})},Tt=Promise.resolve(null),Pt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a.control=new vt,a._registered=!1,a.update=new i.x,a._parent=e,a._rawValidators=n||[],a._rawAsyncValidators=r||[],a.valueAccessor=pt(a,o),a}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),lt(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(e.prototype,"path",{get:function(){return this._parent?tt(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},e.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},e.prototype._setUpStandalone=function(){et(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},e.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},e.prototype._checkParentType=function(){!(this._parent instanceof At)&&this._parent instanceof kt?Ot.formGroupNameException():this._parent instanceof At||this._parent instanceof Ct||Ot.modelParentException()},e.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Ot.missingNameException()},e.prototype._updateValue=function(t){var e=this;Tt.then(function(){e.control.setValue(t,{emitViewToModelChange:!1})})},e.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,r=""===n||n&&"false"!==n;Tt.then(function(){r&&!e.control.disabled?e.control.disable():!r&&e.control.disabled&&e.control.enable()})},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean)],e.prototype,"isDisabled",void 0),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.G)("ngModelOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=Object(r.b)([Object(i.t)({selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[Dt],exportAs:"ngModel"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.d)("design:paramtypes",[g,Array,Array,Array])],e)}(v),It=function(){function t(){}return t=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}})],t)}(),Rt=new i.E("NgModelWithFormControlWarning"),Mt={provide:v,useExisting:Object(i.vb)(function(){return Nt})},Nt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a._ngModelWarningConfig=o,a.update=new i.x,a._ngModelWarningSent=!1,a._rawValidators=e||[],a._rawAsyncValidators=n||[],a.valueAccessor=pt(a,r),a}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._isControlChanged(t)&&(et(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),lt(t,this.viewModel)&&(ht("formControl",n,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._isControlChanged=function(t){return t.hasOwnProperty("form")},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControl"),Object(r.d)("design:type",vt)],e.prototype,"form",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControl]",providers:[Mt],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(c)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[Array,Array,Array,Object])],e)}(v),Ft={provide:g,useExisting:Object(i.vb)(function(){return Lt})},Lt=function(t){function e(e,n){var r=t.call(this)||this;return r._validators=e,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new i.x,r}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return et(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){dt(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(!function(t,e){e.valueAccessor.registerOnChange(function(){return it(e)}),e.valueAccessor.registerOnTouched(function(){return it(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&et(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=at(this._validators);this.form.validator=k.compose([this.form.validator,t]);var e=st(this._asyncValidators);this.form.asyncValidator=k.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||q.missingFormException()},Object(r.b)([Object(i.G)("formGroup"),Object(r.d)("design:type",bt)],e.prototype,"form",void 0),Object(r.b)([Object(i.S)(),Object(r.d)("design:type",Object)],e.prototype,"ngSubmit",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroup]",providers:[Ft],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Vt={provide:g,useExisting:Object(i.vb)(function(){return Bt})},Bt=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype._checkParentType=function(){Ut(this._parent)&&q.groupParentException()},Object(r.b)([Object(i.G)("formGroupName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroupName]",providers:[Vt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),zt={provide:g,useExisting:Object(i.vb)(function(){return Ht})},Ht=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Ut(this._parent)&&q.arrayParentException()},Object(r.b)([Object(i.G)("formArrayName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formArrayName]",providers:[zt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(g);function Ut(t){return!(t instanceof Bt||t instanceof Lt||t instanceof Ht)}var Gt={provide:v,useExisting:Object(i.vb)(function(){return qt})},qt=function(t){function e(e,n,r,o,a){var s=t.call(this)||this;return s._ngModelWarningConfig=a,s._added=!1,s.update=new i.x,s._ngModelWarningSent=!1,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=r||[],s.valueAccessor=pt(s,o),s}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),lt(t,this.viewModel)&&(ht("formControlName",n,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof Bt)&&this._parent instanceof kt?q.ngModelGroupException():this._parent instanceof Bt||this._parent instanceof Lt||this._parent instanceof Ht||q.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControlName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControlName]",providers:[Gt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.e)(4,Object(i.R)()),Object(r.e)(4,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[g,Array,Array,Array,Object])],e)}(v),Wt={provide:O,useExisting:Object(i.vb)(function(){return Kt}),multi:!0},Yt={provide:O,useExisting:Object(i.vb)(function(){return Qt}),multi:!0},Kt=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?k.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"required",null),t=Object(r.b)([Object(i.t)({selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[Wt],host:{"[attr.required]":'required ? "" : null'}})],t)}(),Qt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.validate=function(t){return this.required?k.requiredTrue(t):null},e=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[Yt],host:{"[attr.required]":'required ? "" : null'}})],e)}(Kt),Xt={provide:O,useExisting:Object(i.vb)(function(){return Zt}),multi:!0},Zt=function(){function t(){}return Object.defineProperty(t.prototype,"email",{set:function(t){this._enabled=""===t||!0===t||"true"===t,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this._enabled?k.email(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"email",null),t=Object(r.b)([Object(i.t)({selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[Xt]})],t)}(),$t={provide:O,useExisting:Object(i.vb)(function(){return Jt}),multi:!0},Jt=function(){function t(){}return t.prototype.ngOnChanges=function(t){"minlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null==this.minlength?null:this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.minLength(parseInt(this.minlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"minlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[$t],host:{"[attr.minlength]":"minlength ? minlength : null"}})],t)}(),te={provide:O,useExisting:Object(i.vb)(function(){return ee}),multi:!0},ee=function(){function t(){}return t.prototype.ngOnChanges=function(t){"maxlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null!=this.maxlength?this._validator(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.maxLength(parseInt(this.maxlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"maxlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[te],host:{"[attr.maxlength]":"maxlength ? maxlength : null"}})],t)}(),ne={provide:O,useExisting:Object(i.vb)(function(){return re}),multi:!0},re=function(){function t(){}return t.prototype.ngOnChanges=function(t){"pattern"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.pattern(this.pattern)},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"pattern",void 0),t=Object(r.b)([Object(i.t)({selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[ne],host:{"[attr.pattern]":"pattern ? pattern : null"}})],t)}(),ie=[It,Q,J,f,R,V,p,K,$,F,w,x,Kt,Jt,ee,re,Qt,Zt],oe=[Pt,At,Ct,St],ae=[Nt,Lt,qt,Bt,Ht],se=function(){function t(){}return t=Object(r.b)([Object(i.L)({declarations:ie,exports:ie})],t)}();var le=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),r=null,i=null,o=void 0;return null!=e&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validator?e.validator:null,i=null!=e.asyncValidator?e.asyncValidator:null):(r=null!=e.validators?e.validators:null,i=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0)),new bt(n,{asyncValidators:i,updateOn:o,validators:r})},t.prototype.control=function(t,e,n){return new vt(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map(function(t){return r._createControl(t)});return new _t(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){n[r]=e._createControl(t[r])}),n},t.prototype._createControl=function(t){if(t instanceof vt||t instanceof bt||t instanceof _t)return t;if(Array.isArray(t)){var e=t[0],n=t.length>1?t[1]:null,r=t.length>2?t[2]:null;return this.control(e,n,r)}return this.control(t)},t=Object(r.b)([Object(i.D)()],t)}(),ce=(new i.mb("8.2.6"),function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Et,useValue:t.warnOnDeprecatedNgFormSelector}]}},t=e=Object(r.b)([Object(i.L)({declarations:oe,providers:[N],exports:[se,oe]})],t)}()),ue=function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Rt,useValue:t.warnOnNgModelWithFormControl}]}},t=e=Object(r.b)([Object(i.L)({declarations:[ae],providers:[le,N],exports:[se,ae]})],t)}()},geZN:function(t,e,n){"use strict";n.d(e,"a",function(){return m});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("Gwao"),s=n("X2iB"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},m=function(){function t(t,e,n,r){this.devicesService=t,this.minionsService=e,this.dialogRef=n,this.requireDeviceId=!1,this.requireToken=!1}return t.prototype.ngOnInit=function(){var t,e,n,r;this.devicesControl=new o.c("",[o.k.required]),this.devices=[];try{for(var i=f(this.devicesService.lanDevices),a=i.next();!a.done;a=i.next()){var s=a.value;this.devices.push({mac:s.mac,display:s.name||s.mac+" "+s.ip+" "+(s.vendor?s.vendor.substr(0,Math.min(s.vendor.length,10)):"")})}}catch(p){t={error:p}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.brandsControl=new o.c("",[o.k.required]),this.brands=[];try{for(var l=f(this.devicesService.devicesKinds),c=l.next();!c.done;c=l.next()){var u=c.value;-1===this.brands.indexOf(u.brand)&&this.brands.push(u.brand)}}catch(d){n={error:d}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}this.modelsControl=new o.c("",[o.k.required]),this.requiredIdControl=new o.c("",[o.k.required]),this.requiredTokenControl=new o.c("",[o.k.required]),this.nameControl=new o.c("",[o.k.required])},t.prototype.onBrandSelected=function(){var t,e;this.models=[];try{for(var n=f(this.devicesService.devicesKinds),r=n.next();!r.done;r=n.next()){var i=r.value;i.brand===this.brandsControl.value&&this.models.push(i.model)}}catch(o){t={error:o}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},t.prototype.onModelSelected=function(){var t,e,n;try{for(var r=f(this.devicesService.devicesKinds),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.brand===this.brandsControl.value&&o.model===this.modelsControl.value){n=o;break}}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}n&&(this.requireToken=n.isTokenRequierd,this.requireDeviceId=n.isIdRequierd)},t.prototype.createMinion=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.minionsService.createMinion({minionStatus:{},minionType:"toggle",name:this.nameControl.value,device:{brand:this.brandsControl.value,model:this.modelsControl.value,deviceId:this.requiredIdControl.value,token:this.requiredTokenControl.value,pysicalDevice:{mac:this.devicesControl.value}}}),this.dialogRef.close(),[2]})})},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-minion-dialog",template:h(n("Iwuw")).default,styles:[h(n("jIeE")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},h73g:function(t,e,n){"use strict";n.r(e),e.default=""},h9Dq:function(t,e,n){"use strict";var r=n("mrSG"),i=function(t){function e(e,n){return t.call(this)||this}return r.c(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n("pugT").a);n.d(e,"a",function(){return o});var o=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return r.c(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(i)},huyo:function(t,e,n){"use strict";n.r(e),e.default=""},i4nH:function(t,e,n){"use strict";n.r(e),e.default='
      \r\n\t\r\n\r\n\r\n\t\r\n
      '},iLxQ:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack;r=t},get useDeprecatedSynchronousErrorHandling(){return r}}},ihYY:function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"c",function(){return i}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return s}),n.d(e,"f",function(){return f}),n.d(e,"g",function(){return l}),n.d(e,"h",function(){return d}),n.d(e,"i",function(){return m}),n.d(e,"j",function(){return c}),n.d(e,"k",function(){return p}),n.d(e,"l",function(){return u}),n.d(e,"m",function(){return h}),n.d(e,"n",function(){return a}),n.d(e,"d",function(){return y}),n.d(e,"p",function(){return b}),n.d(e,"o",function(){return v});var r=function(){},i=function(){},o="*";function a(t,e){return{type:7,name:t,definitions:e,options:{}}}function s(t,e){return void 0===e&&(e=null),{type:4,styles:e,timings:t}}function l(t,e){return void 0===e&&(e=null),{type:3,steps:t,options:e}}function c(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function u(t){return{type:6,styles:t,offset:null}}function p(t,e,n){return{type:0,name:t,styles:e,options:n}}function d(t){return{type:5,steps:t}}function h(t,e,n){return void 0===n&&(n=null),{type:1,expr:t,animation:e,options:n}}function f(t){return void 0===t&&(t=null),{type:9,options:t}}function m(t,e,n){return void 0===n&&(n=null),{type:11,selector:t,animation:e,options:n}}function g(t){Promise.resolve(null).then(t)}var y=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;g(function(){return t._onFinish()})},t.prototype._onStart=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),v=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?g(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this.players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this.players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach(function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})},t.prototype.getPosition=function(){var t=0;return this.players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},t.prototype.beforeDestroy=function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),b="!"},isby:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}()},jIeE:function(t,e,n){"use strict";n.r(e),e.default=""},"k7+O":function(t,e,n){!function(){"use strict";var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,i=function(){for(var t,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,i=n.length,o={};r50;e!==this.checked&&(this.dragChange.emit(),this.defaults.disableDragValue||(this.checked=e,this._emitChangeEvent())),this._ngZone.runOutsideAngular(function(){return setTimeout(function(){t._dragging&&(t._dragging=!1,t._thumbEl.nativeElement.classList.remove("mat-dragging"),t._thumbEl.nativeElement.style.transform="")})})}},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.detectChanges()},e.decorators=[{type:r.n,args:[{selector:"mat-slide-toggle",exportAs:"matSlideToggle",host:{class:"mat-slide-toggle","[id]":"id","[attr.tabindex]":"disabled ? null : -1","[class.mat-checked]":"checked","[class.mat-disabled]":"disabled","[class.mat-slide-toggle-label-before]":'labelPosition == "before"',"[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"(focus)":"_inputElement.nativeElement.focus()"},template:'',styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px,0,0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px,0,0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}.mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-right:8px;margin-left:0}.mat-slide-toggle-label-before .mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0,0,0);transition:all 80ms linear;transition-property:transform;cursor:-webkit-grab;cursor:grab}.mat-slide-toggle-thumb-container.mat-dragging,.mat-slide-toggle-thumb-container:active{cursor:-webkit-grabbing;cursor:grabbing;transition-duration:0s}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media (hover:none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}@media (-ms-high-contrast:active){.mat-slide-toggle-thumb{background:#fff;border:1px solid #000}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#000;border:1px solid #fff}.mat-slide-toggle-bar{background:#fff}.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:1px dotted;outline-offset:5px}}@media (-ms-high-contrast:black-on-white){.mat-slide-toggle-bar{border:1px solid #000}}"],providers:[g],inputs:["disabled","disableRipple","color","tabIndex"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:l.a},{type:o.e},{type:r.k},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:r.Q},{type:void 0,decorators:[{type:r.C,args:[f]}]},{type:String,decorators:[{type:r.R},{type:r.C,args:[p.a]}]},{type:a.b,decorators:[{type:r.R}]}]},e.propDecorators={_thumbEl:[{type:r.nb,args:["thumbContainer"]}],_thumbBarEl:[{type:r.nb,args:["toggleBar"]}],name:[{type:r.G}],id:[{type:r.G}],labelPosition:[{type:r.G}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}],required:[{type:r.G}],checked:[{type:r.G}],change:[{type:r.S}],toggleChange:[{type:r.S}],dragChange:[{type:r.S}],_inputElement:[{type:r.nb,args:["input"]}]},e}(Object(u.y)(Object(u.u)(Object(u.v)(Object(u.w)(v)),"accent"))),_=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[u.q,u.h,d.b],exports:[b,u.h],declarations:[b],providers:[{provide:h.c,useClass:u.c}]}]}],t}()},kkvW:function(t,e,n){"use strict";n.r(e),e.default=''},kwJ1:function(t,e,n){"use strict";n.r(e),e.default='/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n.mat-badge-content {\n font-weight: 600;\n font-size: 12px;\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-badge-small .mat-badge-content {\n font-size: 6px; }\n.mat-badge-large .mat-badge-content {\n font-size: 24px; }\n.mat-h1, .mat-headline, .mat-typography h1 {\n font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h2, .mat-title, .mat-typography h2 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h3, .mat-subheading-2, .mat-typography h3 {\n font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h4, .mat-subheading-1, .mat-typography h4 {\n font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h5, .mat-typography h5 {\n font: 400 11.62px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px; }\n.mat-h6, .mat-typography h6 {\n font: 400 9.38px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px; }\n.mat-body-strong, .mat-body-2 {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif; }\n.mat-body, .mat-body-1, .mat-typography {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-body p, .mat-body-1 p, .mat-typography p {\n margin: 0 0 12px; }\n.mat-small, .mat-caption {\n font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-display-4, .mat-typography .mat-display-4 {\n font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 56px;\n letter-spacing: -0.05em; }\n.mat-display-3, .mat-typography .mat-display-3 {\n font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.02em; }\n.mat-display-2, .mat-typography .mat-display-2 {\n font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.005em; }\n.mat-display-1, .mat-typography .mat-display-1 {\n font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px; }\n.mat-bottom-sheet-container {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n.mat-flat-button, .mat-fab, .mat-mini-fab {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-button-toggle {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-card {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-card-title {\n font-size: 24px;\n font-weight: 500; }\n.mat-card-header .mat-card-title {\n font-size: 20px; }\n.mat-card-subtitle,\n.mat-card-content {\n font-size: 14px; }\n.mat-checkbox {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-checkbox-layout .mat-checkbox-label {\n line-height: 24px; }\n.mat-chip {\n font-size: 14px;\n font-weight: 500; }\n.mat-chip .mat-chip-trailing-icon.mat-icon,\n .mat-chip .mat-chip-remove.mat-icon {\n font-size: 18px; }\n.mat-table {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-header-cell {\n font-size: 12px;\n font-weight: 500; }\n.mat-cell, .mat-footer-cell {\n font-size: 14px; }\n.mat-calendar {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-calendar-body {\n font-size: 13px; }\n.mat-calendar-body-label,\n.mat-calendar-period-button {\n font-size: 14px;\n font-weight: 500; }\n.mat-calendar-table-header th {\n font-size: 11px;\n font-weight: 400; }\n.mat-dialog-title {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif; }\n.mat-expansion-panel-header {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 15px;\n font-weight: 400; }\n.mat-expansion-panel-content {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-form-field {\n font-size: inherit;\n font-weight: 400;\n line-height: 1.125;\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-form-field-wrapper {\n padding-bottom: 1.34375em; }\n.mat-form-field-prefix .mat-icon,\n.mat-form-field-suffix .mat-icon {\n font-size: 150%;\n line-height: 1.125; }\n.mat-form-field-prefix .mat-icon-button,\n.mat-form-field-suffix .mat-icon-button {\n height: 1.5em;\n width: 1.5em; }\n.mat-form-field-prefix .mat-icon-button .mat-icon,\n .mat-form-field-suffix .mat-icon-button .mat-icon {\n height: 1.125em;\n line-height: 1.125; }\n.mat-form-field-infix {\n padding: 0.5em 0;\n border-top: 0.84375em solid transparent; }\n.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.34375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.34374em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-label-wrapper {\n top: -0.84375em;\n padding-top: 0.84375em; }\n.mat-form-field-label {\n top: 1.34375em; }\n.mat-form-field-underline {\n bottom: 1.34375em; }\n.mat-form-field-subscript-wrapper {\n font-size: 75%;\n margin-top: 0.66666667em;\n top: calc(100% - 1.79166667em); }\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\n padding-bottom: 1.25em; }\n.mat-form-field-appearance-legacy .mat-form-field-infix {\n padding: 0.4375em 0; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n -ms-transform: translateY(-1.28125em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\n -ms-transform: translateY(-1.28124em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\n -ms-transform: translateY(-1.28123em) scale(0.75);\n width: 133.33335333%; }\n.mat-form-field-appearance-legacy .mat-form-field-label {\n top: 1.28125em; }\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n bottom: 1.25em; }\n.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\n margin-top: 0.54166667em;\n top: calc(100% - 1.66666667em); }\n@media print {\n .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28122em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28121em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.2812em) scale(0.75); } }\n.mat-form-field-appearance-fill .mat-form-field-infix {\n padding: 0.25em 0 0.75em 0; }\n.mat-form-field-appearance-fill .mat-form-field-label {\n top: 1.09375em;\n margin-top: -0.5em; }\n.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-0.59375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-0.59374em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-appearance-outline .mat-form-field-infix {\n padding: 1em 0 1em 0; }\n.mat-form-field-appearance-outline .mat-form-field-label {\n top: 1.84375em;\n margin-top: -0.25em; }\n.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.59375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.59374em) scale(0.75);\n width: 133.33334333%; }\n.mat-grid-tile-header,\n.mat-grid-tile-footer {\n font-size: 14px; }\n.mat-grid-tile-header .mat-line,\n .mat-grid-tile-footer .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-grid-tile-header .mat-line:nth-child(n+2),\n .mat-grid-tile-footer .mat-line:nth-child(n+2) {\n font-size: 12px; }\ninput.mat-input-element {\n margin-top: -0.0625em; }\n.mat-menu-item {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 400; }\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px; }\n.mat-radio-button {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-select {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-select-trigger {\n height: 1.125em; }\n.mat-slide-toggle-content {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-slider-thumb-label-text {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n.mat-stepper-vertical, .mat-stepper-horizontal {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-step-label {\n font-size: 14px;\n font-weight: 400; }\n.mat-step-sub-label-error {\n font-weight: normal; }\n.mat-step-label-error {\n font-size: 14px; }\n.mat-step-label-selected {\n font-size: 14px;\n font-weight: 500; }\n.mat-tab-group {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-tab-label, .mat-tab-link {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-toolbar,\n.mat-toolbar h1,\n.mat-toolbar h2,\n.mat-toolbar h3,\n.mat-toolbar h4,\n.mat-toolbar h5,\n.mat-toolbar h6 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0; }\n.mat-tooltip {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 10px;\n padding-top: 6px;\n padding-bottom: 6px; }\n.mat-tooltip-handset {\n font-size: 14px;\n padding-top: 8px;\n padding-bottom: 8px; }\n.mat-list-item {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-list-option {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-list-base .mat-list-item {\n font-size: 16px; }\n.mat-list-base .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 14px; }\n.mat-list-base .mat-list-option {\n font-size: 16px; }\n.mat-list-base .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 14px; }\n.mat-list-base .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-list-base[dense] .mat-list-item {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-option {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 12px; }\n.mat-list-base[dense] .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n.mat-option {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 16px; }\n.mat-optgroup-label {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif; }\n.mat-simple-snackbar {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px; }\n.mat-simple-snackbar-action {\n line-height: 1;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500; }\n.mat-tree {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-tree-node,\n.mat-nested-tree-node {\n font-weight: 400;\n font-size: 14px; }\n.mat-ripple {\n overflow: hidden;\n position: relative; }\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible; }\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale(0); }\n@media (-ms-high-contrast: active) {\n .mat-ripple-element {\n display: none; } }\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none; }\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%; }\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000; }\n.cdk-overlay-container:empty {\n display: none; }\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000; }\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%; }\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0; }\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1; }\n@media screen and (-ms-high-contrast: active) {\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6; } }\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32); }\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0; }\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px; }\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll; }\n@-webkit-keyframes cdk-text-field-autofill-start {\n /*!*/ }\n@keyframes cdk-text-field-autofill-start {\n /*!*/ }\n@-webkit-keyframes cdk-text-field-autofill-end {\n /*!*/ }\n@keyframes cdk-text-field-autofill-end {\n /*!*/ }\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n -webkit-animation-name: cdk-text-field-autofill-start;\n animation-name: cdk-text-field-autofill-start; }\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n -webkit-animation-name: cdk-text-field-autofill-end;\n animation-name: cdk-text-field-autofill-end; }\ntextarea.cdk-textarea-autosize {\n resize: none; }\ntextarea.cdk-textarea-autosize-measuring {\n height: auto !important;\n overflow: hidden !important;\n padding: 2px 0 !important;\n box-sizing: content-box !important; }\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1); }\n.mat-option {\n color: rgba(0, 0, 0, 0.87); }\n.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-option.mat-active {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87); }\n.mat-option.mat-option-disabled {\n color: rgba(0, 0, 0, 0.38); }\n.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #2196f3; }\n.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #ff4081; }\n.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #f44336; }\n.mat-optgroup-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-optgroup-disabled .mat-optgroup-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54); }\n.mat-pseudo-checkbox::after {\n color: #fafafa; }\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0; }\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #ff4081; }\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #2196f3; }\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #f44336; }\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0; }\n.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n.mat-theme-loaded-marker {\n display: none; }\n.mat-autocomplete-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-autocomplete-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\n background: white; }\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\n color: rgba(0, 0, 0, 0.87); }\n.mat-badge-content {\n color: white;\n background: #2196f3; }\n@media (-ms-high-contrast: active) {\n .mat-badge-content {\n outline: solid 1px;\n border-radius: 0; } }\n.mat-badge-accent .mat-badge-content {\n background: #ff4081;\n color: white; }\n.mat-badge-warn .mat-badge-content {\n color: white;\n background: #f44336; }\n.mat-badge {\n position: relative; }\n.mat-badge-hidden .mat-badge-content {\n display: none; }\n.mat-badge-disabled .mat-badge-content {\n background: #b9b9b9;\n color: rgba(0, 0, 0, 0.38); }\n.mat-badge-content {\n position: absolute;\n text-align: center;\n display: inline-block;\n border-radius: 50%;\n transition: transform 200ms ease-in-out;\n transform: scale(0.6);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none; }\n.mat-badge-content.mat-badge-active {\n transform: none; }\n.mat-badge-small .mat-badge-content {\n width: 16px;\n height: 16px;\n line-height: 16px; }\n.mat-badge-small.mat-badge-above .mat-badge-content {\n top: -8px; }\n.mat-badge-small.mat-badge-below .mat-badge-content {\n bottom: -8px; }\n.mat-badge-small.mat-badge-before .mat-badge-content {\n left: -16px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-before .mat-badge-content {\n left: auto;\n right: -16px; }\n.mat-badge-small.mat-badge-after .mat-badge-content {\n right: -16px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-after .mat-badge-content {\n right: auto;\n left: -16px; }\n.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -8px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -8px; }\n.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -8px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -8px; }\n.mat-badge-medium .mat-badge-content {\n width: 22px;\n height: 22px;\n line-height: 22px; }\n.mat-badge-medium.mat-badge-above .mat-badge-content {\n top: -11px; }\n.mat-badge-medium.mat-badge-below .mat-badge-content {\n bottom: -11px; }\n.mat-badge-medium.mat-badge-before .mat-badge-content {\n left: -22px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-before .mat-badge-content {\n left: auto;\n right: -22px; }\n.mat-badge-medium.mat-badge-after .mat-badge-content {\n right: -22px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-after .mat-badge-content {\n right: auto;\n left: -22px; }\n.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -11px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -11px; }\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -11px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -11px; }\n.mat-badge-large .mat-badge-content {\n width: 28px;\n height: 28px;\n line-height: 28px; }\n.mat-badge-large.mat-badge-above .mat-badge-content {\n top: -14px; }\n.mat-badge-large.mat-badge-below .mat-badge-content {\n bottom: -14px; }\n.mat-badge-large.mat-badge-before .mat-badge-content {\n left: -28px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-before .mat-badge-content {\n left: auto;\n right: -28px; }\n.mat-badge-large.mat-badge-after .mat-badge-content {\n right: -28px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-after .mat-badge-content {\n right: auto;\n left: -28px; }\n.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -14px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -14px; }\n.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -14px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -14px; }\n.mat-bottom-sheet-container {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-button, .mat-icon-button, .mat-stroked-button {\n color: inherit;\n background: transparent; }\n.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\n color: #2196f3; }\n.mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {\n color: #ff4081; }\n.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {\n color: #f44336; }\n.mat-button.mat-primary[disabled], .mat-button.mat-accent[disabled], .mat-button.mat-warn[disabled], .mat-button[disabled][disabled], .mat-icon-button.mat-primary[disabled], .mat-icon-button.mat-accent[disabled], .mat-icon-button.mat-warn[disabled], .mat-icon-button[disabled][disabled], .mat-stroked-button.mat-primary[disabled], .mat-stroked-button.mat-accent[disabled], .mat-stroked-button.mat-warn[disabled], .mat-stroked-button[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {\n background-color: #2196f3; }\n.mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {\n background-color: #ff4081; }\n.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {\n background-color: #f44336; }\n.mat-button[disabled] .mat-button-focus-overlay, .mat-icon-button[disabled] .mat-button-focus-overlay, .mat-stroked-button[disabled] .mat-button-focus-overlay {\n background-color: transparent; }\n.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {\n opacity: 0.1;\n background-color: currentColor; }\n.mat-button-focus-overlay {\n background: black; }\n.mat-stroked-button:not([disabled]) {\n border-color: rgba(0, 0, 0, 0.12); }\n.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n color: rgba(0, 0, 0, 0.87);\n background-color: white; }\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n color: white; }\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n color: white; }\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n color: white; }\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n background-color: #2196f3; }\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n background-color: #ff4081; }\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n background-color: #f44336; }\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-stroked-button:not([class*=\'mat-elevation-z\']), .mat-flat-button:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-raised-button:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-raised-button:not([disabled]):active:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mat-raised-button[disabled]:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-fab:not([class*=\'mat-elevation-z\']), .mat-mini-fab:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-fab:not([disabled]):active:not([class*=\'mat-elevation-z\']), .mat-mini-fab:not([disabled]):active:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mat-fab[disabled]:not([class*=\'mat-elevation-z\']), .mat-mini-fab[disabled]:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-standalone,\n.mat-button-toggle-group {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n box-shadow: none; }\n.mat-button-toggle {\n color: rgba(0, 0, 0, 0.38); }\n.mat-button-toggle .mat-button-toggle-focus-overlay {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87);\n background: white; }\n.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\n background-color: black; }\n.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: solid 1px rgba(0, 0, 0, 0.12); }\n[dir=\'rtl\'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: none;\n border-top: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-checked {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.54); }\n.mat-button-toggle-checked.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87); }\n.mat-button-toggle-disabled {\n color: rgba(0, 0, 0, 0.26);\n background-color: #eeeeee; }\n.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\n background: white; }\n.mat-button-toggle-disabled.mat-button-toggle-checked {\n background-color: #bdbdbd; }\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n border: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-card {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-card:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n.mat-card.mat-card-flat:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-card-subtitle {\n color: rgba(0, 0, 0, 0.54); }\n.mat-checkbox-frame {\n border-color: rgba(0, 0, 0, 0.54); }\n.mat-checkbox-checkmark {\n fill: #fafafa; }\n.mat-checkbox-checkmark-path {\n stroke: #fafafa !important; }\n@media (-ms-high-contrast: black-on-white) {\n .mat-checkbox-checkmark-path {\n stroke: #000 !important; } }\n.mat-checkbox-mixedmark {\n background-color: #fafafa; }\n.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {\n background-color: #2196f3; }\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {\n background-color: #ff4081; }\n.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {\n background-color: #f44336; }\n.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\n background-color: #b0b0b0; }\n.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\n border-color: #b0b0b0; }\n.mat-checkbox-disabled .mat-checkbox-label {\n color: rgba(0, 0, 0, 0.54); }\n@media (-ms-high-contrast: active) {\n .mat-checkbox-disabled {\n opacity: 0.5; } }\n@media (-ms-high-contrast: active) {\n .mat-checkbox-background {\n background: none; } }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element {\n background-color: #2196f3; }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {\n background-color: #ff4081; }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element {\n background-color: #f44336; }\n.mat-chip.mat-standard-chip {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87); }\n.mat-chip.mat-standard-chip .mat-chip-remove {\n color: rgba(0, 0, 0, 0.87);\n opacity: 0.4; }\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\n opacity: 0.54; }\n.mat-chip.mat-standard-chip.mat-chip-disabled {\n opacity: 0.4; }\n.mat-chip.mat-standard-chip::after {\n background: black; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\n background-color: #2196f3;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\n background-color: #f44336;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\n background-color: #ff4081;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-table {\n background: white; }\n.mat-table thead, .mat-table tbody, .mat-table tfoot,\nmat-header-row, mat-row, mat-footer-row,\n[mat-header-row], [mat-row], [mat-footer-row],\n.mat-table-sticky {\n background: inherit; }\nmat-row, mat-header-row, mat-footer-row,\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n.mat-header-cell {\n color: rgba(0, 0, 0, 0.54); }\n.mat-cell, .mat-footer-cell {\n color: rgba(0, 0, 0, 0.87); }\n.mat-calendar-arrow {\n border-top-color: rgba(0, 0, 0, 0.54); }\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54); }\n.mat-calendar-table-header {\n color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12); }\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-calendar-body-cell-content {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent; }\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n background-color: rgba(0, 0, 0, 0.04); }\n.mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.18); }\n.mat-calendar-body-selected {\n background-color: #2196f3;\n color: white; }\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(33, 150, 243, 0.4); }\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #ff4081;\n color: white; }\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 64, 129, 0.4); }\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #f44336;\n color: white; }\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(244, 67, 54, 0.4); }\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content-touch {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-datepicker-toggle-active {\n color: #2196f3; }\n.mat-datepicker-toggle-active.mat-accent {\n color: #ff4081; }\n.mat-datepicker-toggle-active.mat-warn {\n color: #f44336; }\n.mat-dialog-container {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-divider {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-divider-vertical {\n border-right-color: rgba(0, 0, 0, 0.12); }\n.mat-expansion-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-expansion-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-action-row {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']).cdk-keyboard-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']).cdk-program-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']):hover {\n background: rgba(0, 0, 0, 0.04); }\n@media (hover: none) {\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=\'true\'])\n.mat-expansion-panel-header:hover {\n background: white; } }\n.mat-expansion-panel-header-title {\n color: rgba(0, 0, 0, 0.87); }\n.mat-expansion-panel-header-description,\n.mat-expansion-indicator::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-expansion-panel-header[aria-disabled=\'true\'] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-expansion-panel-header[aria-disabled=\'true\'] .mat-expansion-panel-header-title,\n .mat-expansion-panel-header[aria-disabled=\'true\'] .mat-expansion-panel-header-description {\n color: inherit; }\n.mat-form-field-label {\n color: rgba(0, 0, 0, 0.6); }\n.mat-hint {\n color: rgba(0, 0, 0, 0.6); }\n.mat-form-field.mat-focused .mat-form-field-label {\n color: #2196f3; }\n.mat-form-field.mat-focused .mat-form-field-label.mat-accent {\n color: #ff4081; }\n.mat-form-field.mat-focused .mat-form-field-label.mat-warn {\n color: #f44336; }\n.mat-focused .mat-form-field-required-marker {\n color: #ff4081; }\n.mat-form-field-ripple {\n background-color: rgba(0, 0, 0, 0.87); }\n.mat-form-field.mat-focused .mat-form-field-ripple {\n background-color: #2196f3; }\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\n background-color: #ff4081; }\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\n background-color: #f44336; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\n color: #2196f3; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\n color: #ff4081; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-label {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\n .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\n background-color: #f44336; }\n.mat-error {\n color: #f44336; }\n.mat-form-field-appearance-legacy .mat-form-field-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-form-field-appearance-legacy .mat-hint {\n color: rgba(0, 0, 0, 0.54); }\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n.mat-form-field-appearance-standard .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n.mat-form-field-appearance-fill .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.04); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.02); }\n.mat-form-field-appearance-fill .mat-form-field-underline::before {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\n background-color: transparent; }\n.mat-form-field-appearance-outline .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.12); }\n.mat-form-field-appearance-outline .mat-form-field-outline-thick {\n color: rgba(0, 0, 0, 0.87); }\n.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\n color: #2196f3; }\n.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\n color: #ff4081; }\n.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\n color: #f44336; }\n.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\n color: #f44336; }\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.06); }\n.mat-icon.mat-primary {\n color: #2196f3; }\n.mat-icon.mat-accent {\n color: #ff4081; }\n.mat-icon.mat-warn {\n color: #f44336; }\n.mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-input-element:disabled,\n.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.38); }\n.mat-input-element {\n caret-color: #2196f3; }\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element:-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-accent .mat-input-element {\n caret-color: #ff4081; }\n.mat-warn .mat-input-element,\n.mat-form-field-invalid .mat-input-element {\n caret-color: #f44336; }\n.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n color: #f44336; }\n.mat-list-base .mat-list-item {\n color: rgba(0, 0, 0, 0.87); }\n.mat-list-base .mat-list-option {\n color: rgba(0, 0, 0, 0.87); }\n.mat-list-base .mat-subheader {\n color: rgba(0, 0, 0, 0.54); }\n.mat-list-item-disabled {\n background-color: #eeeeee; }\n.mat-list-option:hover, .mat-list-option:focus,\n.mat-nav-list .mat-list-item:hover,\n.mat-nav-list .mat-list-item:focus,\n.mat-action-list .mat-list-item:hover,\n.mat-action-list .mat-list-item:focus {\n background: rgba(0, 0, 0, 0.04); }\n.mat-menu-panel {\n background: white; }\n.mat-menu-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-menu-item {\n background: transparent;\n color: rgba(0, 0, 0, 0.87); }\n.mat-menu-item[disabled], .mat-menu-item[disabled]::after {\n color: rgba(0, 0, 0, 0.38); }\n.mat-menu-item .mat-icon-no-color,\n.mat-menu-item-submenu-trigger::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-menu-item:hover:not([disabled]),\n.mat-menu-item.cdk-program-focused:not([disabled]),\n.mat-menu-item.cdk-keyboard-focused:not([disabled]),\n.mat-menu-item-highlighted:not([disabled]) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-paginator {\n background: white; }\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n color: rgba(0, 0, 0, 0.54); }\n.mat-paginator-decrement,\n.mat-paginator-increment {\n border-top: 2px solid rgba(0, 0, 0, 0.54);\n border-right: 2px solid rgba(0, 0, 0, 0.54); }\n.mat-paginator-first,\n.mat-paginator-last {\n border-top: 2px solid rgba(0, 0, 0, 0.54); }\n.mat-icon-button[disabled] .mat-paginator-decrement,\n.mat-icon-button[disabled] .mat-paginator-increment,\n.mat-icon-button[disabled] .mat-paginator-first,\n.mat-icon-button[disabled] .mat-paginator-last {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-progress-bar-background {\n fill: #bbdefb; }\n.mat-progress-bar-buffer {\n background-color: #bbdefb; }\n.mat-progress-bar-fill::after {\n background-color: #2196f3; }\n.mat-progress-bar.mat-accent .mat-progress-bar-background {\n fill: #ff80ab; }\n.mat-progress-bar.mat-accent .mat-progress-bar-buffer {\n background-color: #ff80ab; }\n.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\n background-color: #ff4081; }\n.mat-progress-bar.mat-warn .mat-progress-bar-background {\n fill: #ffcdd2; }\n.mat-progress-bar.mat-warn .mat-progress-bar-buffer {\n background-color: #ffcdd2; }\n.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\n background-color: #f44336; }\n.mat-progress-spinner circle, .mat-spinner circle {\n stroke: #2196f3; }\n.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {\n stroke: #ff4081; }\n.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {\n stroke: #f44336; }\n.mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.54); }\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\n border-color: #2196f3; }\n.mat-radio-button.mat-primary .mat-radio-inner-circle,\n.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\n background-color: #2196f3; }\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\n border-color: #ff4081; }\n.mat-radio-button.mat-accent .mat-radio-inner-circle,\n.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\n background-color: #ff4081; }\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\n border-color: #f44336; }\n.mat-radio-button.mat-warn .mat-radio-inner-circle,\n.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\n background-color: #f44336; }\n.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\n.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\n.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button.mat-radio-disabled .mat-radio-label-content {\n color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button .mat-ripple-element {\n background-color: black; }\n.mat-select-value {\n color: rgba(0, 0, 0, 0.87); }\n.mat-select-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-select-disabled .mat-select-value {\n color: rgba(0, 0, 0, 0.38); }\n.mat-select-arrow {\n color: rgba(0, 0, 0, 0.54); }\n.mat-select-panel {\n background: white; }\n.mat-select-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\n background: rgba(0, 0, 0, 0.12); }\n.mat-form-field.mat-focused.mat-primary .mat-select-arrow {\n color: #2196f3; }\n.mat-form-field.mat-focused.mat-accent .mat-select-arrow {\n color: #ff4081; }\n.mat-form-field.mat-focused.mat-warn .mat-select-arrow {\n color: #f44336; }\n.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\n color: #f44336; }\n.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\n color: rgba(0, 0, 0, 0.38); }\n.mat-drawer-container {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n.mat-drawer {\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-drawer.mat-drawer-push {\n background-color: white; }\n.mat-drawer:not(.mat-drawer-side) {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n.mat-drawer-side {\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-drawer-side.mat-drawer-end {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n[dir=\'rtl\'] .mat-drawer-side {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n[dir=\'rtl\'] .mat-drawer-side.mat-drawer-end {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-drawer-backdrop.mat-drawer-shown {\n background-color: rgba(0, 0, 0, 0.6); }\n.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\n background-color: #ff4081; }\n.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(255, 64, 129, 0.54); }\n.mat-slide-toggle.mat-checked .mat-ripple-element {\n background-color: #ff4081; }\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\n background-color: #2196f3; }\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(33, 150, 243, 0.54); }\n.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\n background-color: #2196f3; }\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\n background-color: #f44336; }\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(244, 67, 54, 0.54); }\n.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\n background-color: #f44336; }\n.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\n background-color: black; }\n.mat-slide-toggle-thumb {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n background-color: #fafafa; }\n.mat-slide-toggle-bar {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-primary .mat-slider-track-fill,\n.mat-primary .mat-slider-thumb,\n.mat-primary .mat-slider-thumb-label {\n background-color: #2196f3; }\n.mat-primary .mat-slider-thumb-label-text {\n color: white; }\n.mat-accent .mat-slider-track-fill,\n.mat-accent .mat-slider-thumb,\n.mat-accent .mat-slider-thumb-label {\n background-color: #ff4081; }\n.mat-accent .mat-slider-thumb-label-text {\n color: white; }\n.mat-warn .mat-slider-track-fill,\n.mat-warn .mat-slider-thumb,\n.mat-warn .mat-slider-thumb-label {\n background-color: #f44336; }\n.mat-warn .mat-slider-thumb-label-text {\n color: white; }\n.mat-slider-focus-ring {\n background-color: rgba(255, 64, 129, 0.2); }\n.mat-slider:hover .mat-slider-track-background,\n.cdk-focused .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-disabled .mat-slider-track-background,\n.mat-slider-disabled .mat-slider-track-fill,\n.mat-slider-disabled .mat-slider-thumb {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-disabled:hover .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-min-value .mat-slider-focus-ring {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.87); }\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26);\n background-color: transparent; }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-has-ticks .mat-slider-wrapper::after {\n border-color: rgba(0, 0, 0, 0.7); }\n.mat-slider-horizontal .mat-slider-ticks {\n background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n.mat-slider-vertical .mat-slider-ticks {\n background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {\n background-color: rgba(0, 0, 0, 0.04); }\n@media (hover: none) {\n .mat-step-header:hover {\n background: none; } }\n.mat-step-header .mat-step-label,\n.mat-step-header .mat-step-optional {\n color: rgba(0, 0, 0, 0.54); }\n.mat-step-header .mat-step-icon {\n background-color: rgba(0, 0, 0, 0.54);\n color: white; }\n.mat-step-header .mat-step-icon-selected,\n.mat-step-header .mat-step-icon-state-done,\n.mat-step-header .mat-step-icon-state-edit {\n background-color: #2196f3;\n color: white; }\n.mat-step-header .mat-step-icon-state-error {\n background-color: transparent;\n color: #f44336; }\n.mat-step-header .mat-step-label.mat-step-label-active {\n color: rgba(0, 0, 0, 0.87); }\n.mat-step-header .mat-step-label.mat-step-label-error {\n color: #f44336; }\n.mat-stepper-horizontal, .mat-stepper-vertical {\n background-color: white; }\n.mat-stepper-vertical-line::before {\n border-left-color: rgba(0, 0, 0, 0.12); }\n.mat-horizontal-stepper-header::before,\n.mat-horizontal-stepper-header::after,\n.mat-stepper-horizontal-line {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-sort-header-arrow {\n color: #757575; }\n.mat-tab-nav-bar,\n.mat-tab-header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12); }\n.mat-tab-group-inverted-header .mat-tab-nav-bar,\n.mat-tab-group-inverted-header .mat-tab-header {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none; }\n.mat-tab-label, .mat-tab-link {\n color: rgba(0, 0, 0, 0.87); }\n.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\n color: rgba(0, 0, 0, 0.38); }\n.mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.87); }\n.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-tab-group[class*=\'mat-background-\'] .mat-tab-header,\n.mat-tab-nav-bar[class*=\'mat-background-\'] {\n border-bottom: none;\n border-top: none; }\n.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3); }\n.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {\n background-color: #2196f3; }\n.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3); }\n.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {\n background-color: #ff4081; }\n.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {\n background-color: #f44336; }\n.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3); }\n.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links {\n background-color: #2196f3; }\n.mat-tab-group.mat-background-primary .mat-tab-label, .mat-tab-group.mat-background-primary .mat-tab-link, .mat-tab-nav-bar.mat-background-primary .mat-tab-label, .mat-tab-nav-bar.mat-background-primary .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-primary .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3); }\n.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links {\n background-color: #ff4081; }\n.mat-tab-group.mat-background-accent .mat-tab-label, .mat-tab-group.mat-background-accent .mat-tab-link, .mat-tab-nav-bar.mat-background-accent .mat-tab-label, .mat-tab-nav-bar.mat-background-accent .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-accent .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links {\n background-color: #f44336; }\n.mat-tab-group.mat-background-warn .mat-tab-label, .mat-tab-group.mat-background-warn .mat-tab-link, .mat-tab-nav-bar.mat-background-warn .mat-tab-label, .mat-tab-nav-bar.mat-background-warn .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-warn .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-toolbar {\n background: whitesmoke;\n color: rgba(0, 0, 0, 0.87); }\n.mat-toolbar.mat-primary {\n background: #2196f3;\n color: white; }\n.mat-toolbar.mat-accent {\n background: #ff4081;\n color: white; }\n.mat-toolbar.mat-warn {\n background: #f44336;\n color: white; }\n.mat-toolbar .mat-form-field-underline,\n .mat-toolbar .mat-form-field-ripple,\n .mat-toolbar .mat-focused .mat-form-field-ripple {\n background-color: currentColor; }\n.mat-toolbar .mat-form-field-label,\n .mat-toolbar .mat-focused .mat-form-field-label,\n .mat-toolbar .mat-select-value,\n .mat-toolbar .mat-select-arrow,\n .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\n color: inherit; }\n.mat-toolbar .mat-input-element {\n caret-color: currentColor; }\n.mat-tooltip {\n background: rgba(97, 97, 97, 0.9); }\n.mat-tree {\n background: white; }\n.mat-tree-node,\n.mat-nested-tree-node {\n color: rgba(0, 0, 0, 0.87); }\n.mat-snack-bar-container {\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-simple-snackbar-action {\n color: #ff4081; }\nmgl-timeline {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white !important;\n color: black; }\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header {\n background-color: #f5f5f5 !important; }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.primary {\n background-color: #2196f3; }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.accent {\n background-color: #ff4081; }\nmd-toolbar {\n margin-bottom: 10px !important; }\nmd-toolbar:not(.mat-primary) .mat-toolbar-row {\n flex-wrap: wrap;\n height: auto;\n padding: 5px 0; }\nmd-toolbar:not(.mat-primary) button {\n margin: 5px !important; }\nmgl-timeline:not(.mobile) {\n padding: 50px 20px; }\nmgl-timeline.mobile {\n padding-right: 20px; }\n'},l01N:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return JSON.parse(JSON.stringify(t))}},l4qL:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 100%; }\n\n.table-container {\n max-height: 260px;\n overflow: auto;\n margin-top: 30px;\n margin-bottom: 30px; }\n"},lGQG:function(t,e,n){"use strict";n.d(e,"a",function(){return d});var r=n("CcnG"),i=n("t/Na"),o=n("ZYCi"),a=n("26FU"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&n!==e._activeItemIndex&&(e._activeItemIndex=n)}})}return t.prototype.skipPredicate=function(t){return this._skipPredicateFn=t,this},t.prototype.withWrap=function(t){return void 0===t&&(t=!0),this._wrap=t,this},t.prototype.withVerticalOrientation=function(t){return void 0===t&&(t=!0),this._vertical=t,this},t.prototype.withHorizontalOrientation=function(t){return this._horizontal=t,this},t.prototype.withAllowedModifierKeys=function(t){return this._allowedModifierKeys=t,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some(function(t){return"function"!=typeof t.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Object(c.a)(function(t){return e._pressedLetters.push(t)}),Object(u.a)(t),Object(p.a)(function(){return e._pressedLetters.length>0}),Object(d.a)(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),r=1;r-1});switch(n){case l.o:return void this.tabOut.next();case l.d:if(this._vertical&&r){this.setNextItemActive();break}return;case l.p:if(this._vertical&&r){this.setPreviousItemActive();break}return;case l.m:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case l.i:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;default:return void((r||Object(l.s)(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(n>=l.a&&n<=l.q||n>=l.r&&n<=l.j)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItem=function(t){var e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),r=e[n];this._activeItem=null==r?null:r,this._activeItemIndex=n},t.prototype.updateActiveItemIndex=function(t){this.updateActiveItem(t)},t.prototype._setActiveItemByDelta=function(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)},t.prototype._setActiveInWrapMode=function(t){for(var e=this._getItemsArray(),n=1;n<=e.length;n++){var r=(this._activeItemIndex+t*n+e.length)%e.length,i=e[r];if(!this._skipPredicateFn(i))return void this.setActiveItem(r)}},t.prototype._setActiveInDefaultMode=function(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)},t.prototype._setActiveItemByIndex=function(t,e){var n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}},t.prototype._getItemsArray=function(){return this._items instanceof i.X?this._items.toArray():this._items},t}(),E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(f.c)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(O),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._origin="program",e}return Object(f.c)(e,t),e.prototype.setFocusOrigin=function(t){return this._origin=t,this},e.prototype.setActiveItem=function(e){t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.focus(this._origin)},e}(O),k=function(){function t(t){this._platform=t}return t.prototype.isDisabled=function(t){return t.hasAttribute("disabled")},t.prototype.isVisible=function(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility},t.prototype.isTabbable=function(t){if(!this._platform.isBrowser)return!1;var e,n=function(t){try{return t.frameElement}catch(e){return null}}((e=t).ownerDocument&&e.ownerDocument.defaultView||window);if(n){var r=n&&n.nodeName.toLowerCase();if(-1===A(n))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===r)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(n))return!1}var i=t.nodeName.toLowerCase(),o=A(t);if(t.hasAttribute("contenteditable"))return-1!==o;if("iframe"===i)return!1;if("audio"===i){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===i){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==i||!this._platform.BLINK&&!this._platform.WEBKIT)&&(!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){var e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0)},t.prototype.isFocusable=function(t){return function(t){if(function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t))return!1;return function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||j(t)}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:m.a}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(m.a))},token:t,providedIn:"root"}),t}();function j(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function A(t){if(!j(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var D=function(){function t(t,e,n,r,i){void 0===i&&(i=!1);var o=this;this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._hasAttached=!1,this._startAnchorListener=function(){return o.focusLastTabbableElement()},this._endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){var t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this._startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this._endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){t._startAnchor||(t._startAnchor=t._createAnchor(),t._startAnchor.addEventListener("focus",t._startAnchorListener)),t._endAnchor||(t._endAnchor=t._createAnchor(),t._endAnchor.addEventListener("focus",t._endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusInitialElement())})})},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusFirstTabbableElement())})})},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusLastTabbableElement())})})},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t},t.prototype._toggleAnchorTabIndex=function(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Object(h.a)(1)).subscribe(t)},t}(),T=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new D(t,this._checker,this._ngZone,this._document,e)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:k},{type:i.Q},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(k),Object(i.xb)(i.Q),Object(i.xb)(r.c))},token:t,providedIn:"root"}),t}(),P=function(){function t(t,e,n){this._elementRef=t,this._focusTrapFactory=e,this._previouslyFocusedElement=null,this._document=n,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this.focusTrap.enabled},set:function(t){this.focusTrap.enabled=Object(g.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoCapture",{get:function(){return this._autoCapture},set:function(t){this._autoCapture=Object(g.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)},t.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors(),this.autoCapture&&(this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady())},t.prototype.ngDoCheck=function(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()},t.decorators=[{type:i.t,args:[{selector:"[cdkTrapFocus]",exportAs:"cdkTrapFocus"}]}],t.ctorParameters=function(){return[{type:i.u},{type:T},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.propDecorators={enabled:[{type:i.G,args:["cdkTrapFocus"]}],autoCapture:[{type:i.G,args:["cdkTrapFocusAutoCapture"]}]},t}(),I=new i.E("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});var R=function(){function t(t,e,n){this._ngZone=e,this._document=n,this._liveElement=t||this._createLiveElement()}return t.prototype.announce=function(t){for(var e,n,r=this,i=[],o=1;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a}function s(t,e){return function(n,r){e(n,r,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function p(){for(var t=[],e=0;e enter",Object(r.e)("150ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({transform:"none",opacity:1}))),Object(r.m)("* => void, * => exit",Object(r.e)("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",Object(r.l)({opacity:0})))],w={dialogContainer:Object(r.n)("dialogContainer",_),slideDialog:Object(r.n)("slideDialog",_)};function x(){throw Error("Attempting to attach dialog content after content is already attached")}var C=function(t){function e(e,n,r,i,a){var s=t.call(this)||this;return s._elementRef=e,s._focusTrapFactory=n,s._changeDetectorRef=r,s._document=i,s._config=a,s._elementFocusedBeforeDialogWasOpened=null,s._state="enter",s._animationStateChanged=new o.x,s._ariaLabelledBy=null,s}return Object(i.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;this._config.restoreFocus&&t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,this._elementRef.nativeElement.focus&&Promise.resolve().then(function(){return t._elementRef.nativeElement.focus()}))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e.decorators=[{type:o.n,args:[{selector:"mat-dialog-container",template:"",styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}@media (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],encapsulation:o.qb.None,changeDetection:o.j.Default,animations:[w.dialogContainer],host:{class:"mat-dialog-container",tabindex:"-1","aria-modal":"true","[attr.id]":"_id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledBy","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[@dialogContainer]":"_state","(@dialogContainer.start)":"_onAnimationStart($event)","(@dialogContainer.done)":"_onAnimationDone($event)"}}]}],e.ctorParameters=function(){return[{type:o.u},{type:l.f},{type:o.k},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[a.c]}]},{type:b}]},e.propDecorators={_portalOutlet:[{type:o.nb,args:[s.c]}]},e}(s.a),O=0,E=function(){function t(t,e,n,r){void 0===r&&(r="mat-dialog-"+O++);var i=this;this._overlayRef=t,this._containerInstance=e,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new u.a,this._afterClosed=new u.a,this._beforeClosed=new u.a,e._id=r,e._animationStateChanged.pipe(Object(h.a)(function(t){return"done"===t.phaseName&&"enter"===t.toState}),Object(f.a)(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),e._animationStateChanged.pipe(Object(h.a)(function(t){return"done"===t.phaseName&&"exit"===t.toState}),Object(f.a)(1)).subscribe(function(){return i._overlayRef.dispose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(Object(h.a)(function(t){return t.keyCode===c.g&&!i.disableClose})).subscribe(function(){return i.close()})}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(Object(h.a)(function(t){return"start"===t.phaseName}),Object(f.a)(1)).subscribe(function(){e._beforeClosed.next(t),e._beforeClosed.complete(),e._overlayRef.detachBackdrop()}),this._containerInstance._startExitAnimation()},t.prototype.afterOpened=function(){return this._afterOpened.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClosed=function(){return this._beforeClosed.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t=""),void 0===e&&(e=""),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype.addPanelClass=function(t){return this._overlayRef.addPanelClass(t),this},t.prototype.removePanelClass=function(t){return this._overlayRef.removePanelClass(t),this},t.prototype.afterOpen=function(){return this.afterOpened()},t.prototype.beforeClose=function(){return this.beforeClosed()},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),S=new o.E("MatDialogData"),k=new o.E("mat-dialog-default-options"),j=new o.E("mat-dialog-scroll-strategy");var A={provide:j,deps:[y.b],useFactory:function(t){return function(){return t.scrollStrategies.block()}}},D=function(){function t(t,e,n,r,i,o,a){var s=this;this._overlay=t,this._injector=e,this._location=n,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new u.a,this._afterOpenedAtThisLevel=new u.a,this._ariaHiddenElements=new Map,this.afterAllClosed=Object(p.a)(function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(Object(m.a)(void 0))}),this._scrollStrategy=i}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpened",{get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this.afterOpened},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t,e){return Object(i.a)({},e,t)}(e,this._defaultOptions||new b)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),o=this._attachDialogContainer(r,e),a=this._attachDialogContent(t,o,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.afterClosed().subscribe(function(){return n._removeOpenDialog(a)}),this.afterOpened.next(a),a},t.prototype.closeAll=function(){this._closeDialogs(this.openDialogs)},t.prototype.getDialogById=function(t){return this.openDialogs.find(function(e){return e.id===t})},t.prototype.ngOnDestroy=function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new y.c({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[b,e]])),i=new s.d(C,e.viewContainerRef,r);return t.attach(i).instance},t.prototype._attachDialogContent=function(t,e,n,r){var i=new E(n,e,this._location,r.id);if(r.hasBackdrop&&n.backdropClick().subscribe(function(){i.disableClose||i.close()}),t instanceof o.jb)e.attachTemplatePortal(new s.i(t,null,{$implicit:r.data,dialogRef:i}));else{var a=this._createInjector(r,i,e),l=e.attachComponentPortal(new s.d(t,void 0,a));i.componentInstance=l.instance}return i.updateSize(r.width,r.height).updatePosition(r.position),i},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap([[C,n],[S,t.data],[E,e]]);return!t.direction||r&&r.get(g.b,null)||i.set(g.b,{value:t.direction,change:Object(d.a)()}),new s.g(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t.prototype._closeDialogs=function(t){for(var e=t.length;e--;)t[e].close()},t.decorators=[{type:o.D}],t.ctorParameters=function(){return[{type:y.b},{type:o.F},{type:a.f,decorators:[{type:o.R}]},{type:b,decorators:[{type:o.R},{type:o.C,args:[k]}]},{type:void 0,decorators:[{type:o.C,args:[j]}]},{type:t,decorators:[{type:o.R},{type:o.fb}]},{type:y.d}]},t}();var T=0,P=function(){function t(t,e,n){this.dialogRef=t,this._elementRef=e,this._dialog=n}return t.prototype.ngOnInit=function(){this.dialogRef||(this.dialogRef=N(this._elementRef,this._dialog.openDialogs))},t.prototype.ngOnChanges=function(t){var e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)},t.decorators=[{type:o.t,args:[{selector:"button[mat-dialog-close], button[matDialogClose]",exportAs:"matDialogClose",host:{"(click)":"dialogRef.close(dialogResult)","[attr.aria-label]":"ariaLabel || null",type:"button"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={ariaLabel:[{type:o.G,args:["aria-label"]}],dialogResult:[{type:o.G,args:["mat-dialog-close"]}],_matDialogClose:[{type:o.G,args:["matDialogClose"]}]},t}(),I=function(){function t(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+T++}return t.prototype.ngOnInit=function(){var t=this;this._dialogRef||(this._dialogRef=N(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var e=t._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=t.id)})},t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",host:{class:"mat-dialog-title","[id]":"id"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={id:[{type:o.G}]},t}(),R=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-dialog-content"}}]}],t}(),M=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",host:{class:"mat-dialog-actions"}}]}],t}();function N(t,e){for(var n=t.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(function(t){return t.id===n.id}):null}var F=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[a.b,y.e,s.h,v.h],exports:[C,P,I,R,M,v.h],declarations:[C,P,I,M,R],providers:[D,A],entryComponents:[C]}]}],t}()},p0Sj:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("dEwP"),i=n("nkY7");function o(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===s&&1===t.length&&t[0]instanceof r.a?t[0]:Object(o.a)(n)(Object(a.a)(t,s))}},pKmL:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=[{name:"MINIONS",icon:"wb_incandescent",link:"minions",open:!1},{name:"OPERATIONS",icon:"assignment",link:"operations",open:!1},{name:"TIMINGS",icon:"alarm",link:"timings",open:!1},{name:"DEVICES",icon:"devices",link:"devices",open:!1},{name:"USERS",icon:"supervised_user_circle",link:"users",open:!1,admin:!0}],a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t){return t&&t.__esModule?t:{default:t}},c=function(){function t(){this.iconOnly=!1,this.menus=o}return t.prototype.ngOnInit=function(){},a([Object(r.G)(),s("design:type",Object)],t.prototype,"iconOnly",void 0),t=a([Object(r.n)({selector:"cdk-sidemenu",template:l(n("qO/w")).default,styles:[l(n("685l")).default]}),s("design:paramtypes",[])],t)}(),u=n("ZYCi"),p=n("lGQG"),d=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},h=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},f=function(t){return t&&t.__esModule?t:{default:t}},m=function(){function t(t,e){var n=this;this.router=t,this.authService=e,this.secondaryMenu=!1,this.currentUrl="",this.userProfile={},this.currentUrl=this.router.url,t.events.subscribe(function(t){n.currentUrl=n.router.url}),this.userProfileSubscription=this.authService.userProfile.subscribe(function(t){n.userProfile=t})}return t.prototype.ngOnInit=function(){},t.prototype.openLink=function(){this.menu.open=this.menu.open},t.prototype.ngOnDestroy=function(){this.userProfileSubscription.unsubscribe()},t.prototype.chechForChildMenu=function(){return!(!this.menu||!this.menu.sub)},t.ctorParameters=function(){return[{type:u.a},{type:p.a}]},d([Object(r.G)(),h("design:type",Object)],t.prototype,"menu",void 0),d([Object(r.G)(),h("design:type",Boolean)],t.prototype,"iconOnly",void 0),d([Object(r.G)(),h("design:type",Object)],t.prototype,"secondaryMenu",void 0),t=d([Object(r.n)({selector:"cdk-sidemenu-item",template:f(n("2bPH")).default,styles:[f(n("+tlQ")).default]}),h("design:paramtypes",[u.a,p.a])],t)}(),g=n("0/Q6"),y=n("UodH"),v=n("b716"),b=n("SMsm"),_=n("8mMr"),w=n("/dO6"),x=n("seP3"),C=n("La40"),O=n("bse0"),E=n("V9q+"),S={notifications:[{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"}],currentUser:{currentUserName:"ישראל ישראלי"}},k=n("6nr9"),j=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},A=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},D=function(t){return t&&t.__esModule?t:{default:t}},T=function(){function t(t,e,n){this.changeDetectorRef=t,this.settingsService=e,this.authService=n,this.searchOpen=!1,this.toolbarHelpers=S,this.clock="--:--:--",this.clockActivation()}return t.prototype.ngOnInit=function(){var t=this;this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe(function(e){t.remoteConnection=e,t.changeDetectorRef.detectChanges()}),this.livelinessSubscription=this.settingsService.onlineFeed.subscribe(function(e){t.liveliness=e,t.changeDetectorRef.detectChanges()})},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.livelinessSubscription.unsubscribe()},t.prototype.clockActivation=function(){var t=this;setInterval(function(){t.clock=(new Date).toLocaleTimeString()},1e3)},t.ctorParameters=function(){return[{type:r.k},{type:k.a},{type:p.a}]},j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidenav",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidebar",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"drawer",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"matDrawerShow",void 0),t=j([Object(r.n)({selector:"cdk-toolbar",template:D(n("LhV3")).default,styles:[D(n("vrO4")).default]}),A("design:paramtypes",[r.k,k.a,p.a])],t)}(),P=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},I=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},R=function(t){return t&&t.__esModule?t:{default:t}},M=function(){function t(){}return t.prototype.ngOnInit=function(){},P([Object(r.G)(),I("design:type",Object)],t.prototype,"open",void 0),t=P([Object(r.n)({selector:"cdk-search-bar",template:R(n("Z2YD")).default,styles:[R(n("PuKC")).default]}),I("design:paramtypes",[])],t)}(),N=n("k7+O"),F=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},L=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},V=function(t){return t&&t.__esModule?t:{default:t}},B=function(){function t(){this.isFullscreen=!1}return t.prototype.ngOnInit=function(){},t.prototype.toggleFullscreen=function(){N.enabled&&(N.toggle(),this.isFullscreen=!this.isFullscreen)},t=F([Object(r.n)({selector:"cdk-fullscreen",template:V(n("kkvW")).default,styles:[V(n("wxl/")).default]}),L("design:paramtypes",[])],t)}(),z=n("PSD3"),H=n.n(z),U=n("o3x0"),G=n("NZXM"),q=n("pnyO"),W=n("eKg/"),Y=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},K=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Q=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},X=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},J=function(){function t(t,e,n,r){var i=this;this.settingsService=t,this.authService=e,this.dialog=n,this.translateService=r,this.userProfile={},this.translatePipe=new W.a(this.translateService),this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe(function(t){i.remoteConnection=t}),this.userProfileSubscription=this.authService.userProfile.subscribe(function(t){i.userProfile=t}),this.loadRemoteHostName(),this.loadIftttIntegration(),this.loadCurrentVersion()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.userProfileSubscription.unsubscribe()},t.prototype.loadCurrentVersion=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.settingsService.getCurrentVersion()];case 1:return t=e.sent(),this.currentVersionName=t.version+" ("+t.commintHash+")",this.currentVersionReleaseDate=new Date(t.timestamp).toLocaleDateString(),[3,3];case 2:return e.sent(),this.currentVersionName="unknown",this.currentVersionReleaseDate="unknown",[3,3];case 3:return[2]}})})},t.prototype.loadRemoteHostName=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.getRemoteHostname()];case 1:return t.remoteHostname=e.sent(),[2]}})})},t.prototype.loadIftttIntegration=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.isIftttIntegrationEnabled()];case 1:return t.iftttIntegration=e.sent(),[2]}})})},t.prototype.disconnectRemoteServer=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disconnectRemote()];case 2:return e.sent(),[4,this.loadRemoteHostName()];case 3:return e.sent(),[2]}})})},t.prototype.showMacAddress=function(){return Q(this,void 0,void 0,function(){var t,e=this;return X(this,function(n){switch(n.label){case 0:return t="",[4,H()({title:this.translatePipe.transform("READING_MAC"),timer:2e3,onBeforeOpen:function(){return Q(e,void 0,void 0,function(){return X(this,function(e){switch(e.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.getLocalServerMac()];case 1:return t=e.sent(),H.a.resumeTimer(),[2]}})})}})];case 1:return n.sent(),[4,H()({type:"info",title:this.translatePipe.transform("MAC"),html:t,confirmButtonText:"OK"})];case 2:return n.sent(),[2]}})})},t.prototype.showRegisteredUsers=function(){this.dialog.open(q.a,{data:{}})},t.prototype.setRemoteServer=function(){return Q(this,void 0,void 0,function(){var t=this;return X(this,function(e){switch(e.label){case 0:return[4,H.a.mixin({input:"text",confirmButtonText:this.translatePipe.transform("NEXT"),showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),progressSteps:["1","2"]}).queue([{title:this.translatePipe.transform("REMOTE_URI"),text:this.translatePipe.transform("FORMAT")+": [ws/wss]://[hostname]",onOpen:function(){H.a.disableConfirmButton(),H.a.getInput().addEventListener("input",function(t){if(t.target.value){var e=t.target.value,n=-1!==e.indexOf("wss"),r=-1!==e.indexOf("ws");if(!n&&!r)return void H.a.disableConfirmButton();var i="http"+e.slice(n?3:2);try{new URL(i);H.a.enableConfirmButton()}catch(o){H.a.disableConfirmButton()}}else H.a.disableConfirmButton()})}},this.translatePipe.transform("API_KEY")]).then(function(e){return Q(t,void 0,void 0,function(){var t=this;return X(this,function(n){switch(n.label){case 0:return e.value?[4,H()({title:this.translatePipe.transform("SETTING_REMOTE_SERVER"),timer:15e3,onBeforeOpen:function(){return Q(t,void 0,void 0,function(){var t;return X(this,function(n){switch(n.label){case 0:return H.a.showLoading(),H.a.stopTimer(),t={host:e.value[0],connectionKey:e.value[1]},[4,this.settingsService.setRemoteSettings(t)];case 1:return n.sent(),[4,this.loadRemoteHostName()];case 2:return n.sent(),H.a.resumeTimer(),[2]}})})}})]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})})];case 1:return e.sent(),[2]}})})},t.prototype.disableIfttt=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disableIftttIntegration()];case 2:return e.sent(),[4,this.loadIftttIntegration()];case 3:return e.sent(),[2]}})})},t.prototype.setIfttt=function(){return Q(this,void 0,void 0,function(){var t,e,n=this;return X(this,function(r){switch(r.label){case 0:return[4,H()({title:this.translatePipe.transform("PRESS_IFTTT_API_KEY"),input:"text",showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("SUBMIT")})];case 1:return!(t=r.sent()).value||t.dismiss?[2]:(e=t.value,[4,H()({title:this.translatePipe.transform("SETTING_IFTTT"),timer:2e3,onBeforeOpen:function(){return Q(n,void 0,void 0,function(){return X(this,function(t){switch(t.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.enableIftttInterration(e)];case 1:return t.sent(),[4,this.loadIftttIntegration()];case 2:return t.sent(),H.a.resumeTimer(),[2]}})})}})]);case 2:return r.sent(),[2]}})})},t.prototype.updateVertionToLast=function(){return Q(this,void 0,void 0,function(){var t,e=this;return X(this,function(n){switch(n.label){case 0:return[4,H()({imageUrl:"./assets/icons/baseline_system_update_black_48dp.png",title:this.translatePipe.transform("UPDATE_TO_THE_LAST_VERSION"),text:this.translatePipe.transform("UPDATING_WARNING"),showLoaderOnConfirm:!0,confirmButtonText:this.translatePipe.transform("UPDATE"),showCancelButton:!1,allowOutsideClick:function(){return!H.a.isLoading()},preConfirm:function(){return Q(e,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,this.settingsService.updateToLastVersion()];case 1:return(t=e.sent()).alreadyUpToDate?[2,t]:[4,this.settingsService.waitForVersionUpdate()];case 2:return[2,e.sent()];case 3:return e.sent(),[2,!1];case 4:return[2]}})})}})];case 1:return!(t=n.sent()).value||t.dismiss?[2]:t.value.alreadyUpToDate?[4,H()({type:"info",title:""+this.translatePipe.transform("SYSTEM_ALREADY_UP_TO_DATE"),confirmButtonText:"OK"})]:[3,3];case 2:return n.sent(),[2];case 3:return"fail"!==t.value?[3,5]:[4,H()({type:"error",title:""+this.translatePipe.transform("UPDATE_SYSTEM_FAIL"),text:""+this.translatePipe.transform("CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH"),confirmButtonText:"OK"})];case 4:return n.sent(),[2];case 5:return[4,this.loadCurrentVersion()];case 6:return n.sent(),[4,H()({type:"success",title:this.translatePipe.transform("SUCCESSFULLY_UPDATED_TO")+" "+this.currentVersionName,text:this.translatePipe.transform("RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE"),confirmButtonText:"OK"})];case 7:return n.sent(),[2]}})})},t.prototype.setLang=function(t){return Q(this,void 0,void 0,function(){return X(this,function(e){switch(e.label){case 0:return[4,this.translateService.setLeng(t)];case 1:return e.sent(),[2]}})})},t.prototype.installPWA=function(){return Q(this,void 0,void 0,function(){return X(this,function(t){return localStorage.setItem("use-sw","true"),window.location.reload(),[2]})})},t.prototype.uninstallPWA=function(){return Q(this,void 0,void 0,function(){var t,e,n,r,i;return X(this,function(o){switch(o.label){case 0:return localStorage.setItem("use-sw","false"),[4,navigator.serviceWorker.getRegistrations()];case 1:t=o.sent();try{for(e=$(t),n=e.next();!n.done;n=e.next())n.value.unregister()}catch(a){r={error:a}}finally{try{n&&!n.done&&(i=e.return)&&i.call(e)}finally{if(r)throw r.error}}return[2]}})})},t.ctorParameters=function(){return[{type:k.a},{type:p.a},{type:U.b},{type:G.a}]},t=Y([Object(r.n)({selector:"cdk-sidebar",template:Z(n("fHOq")).default,styles:[Z(n("bbBv")).default]}),K("design:paramtypes",[k.a,p.a,U.b,G.a])],t)}(),tt=n("vARd"),et=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},nt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},rt=function(t){return t&&t.__esModule?t:{default:t}},it=function(){function t(){}return t.prototype.ngOnInit=function(){},t=et([Object(r.n)({selector:"app-about-dialog",template:rt(n("qyWd")).default,styles:[rt(n("wQ0+")).default]}),nt("design:paramtypes",[])],t)}(),ot=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},at=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},st=function(t){return t&&t.__esModule?t:{default:t}},lt=function(){function t(){}return t.prototype.ngOnInit=function(){},t=ot([Object(r.n)({selector:"app-help-dialog",template:st(n("/En5")).default,styles:[st(n("1s2u")).default]}),at("design:paramtypes",[])],t)}(),ct=n("Gwao"),ut=n("X2iB"),pt=n("dO5I"),dt=n("sB9w"),ht=n("6Qg2"),ft=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},mt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},gt=function(t){return t&&t.__esModule?t:{default:t}},yt=function(){function t(t,e,n,r,i,o,a,s,l,c,u){var p=this;this.elementRef=t,this.snackBar=e,this.dialog=n,this.router=r,this.authService=i,this.minionsService=o,this.devicesService=a,this.operationService=s,this.timingsService=l,this.usersService=c,this.translateService=u,this.isOpen=!1,this.currentUser=null,this.translatePipe=new W.a(this.translateService),i.userProfile.subscribe(function(t){p.profile=t})}return t.prototype.onClick=function(t,e){e&&(this.elementRef.nativeElement.contains(e)||(this.isOpen=!1))},t.prototype.ngOnInit=function(){},t.prototype.onLogout=function(){var t=this;this.authService.logout().then(function(){t.minionsService.cleanUp(),t.operationService.cleanUp(),t.devicesService.cleanUp(),t.timingsService.cleanUp(),t.usersService.cleanUp(),t.snackBar.open(t.translatePipe.transform("LOGOUT_SUCCESSFULLY"),t.translatePipe.transform("SUBMIT"),{duration:2e3})}).catch((function(){t.snackBar.open(t.translatePipe.transform("LOGOUT_FAIL"),t.translatePipe.transform("SUBMIT"),{duration:2e3})}).bind(this))},t.prototype.openHelpDialog=function(){var t=new U.c;this.dialog.open(lt,t)},t.prototype.openAboutDialog=function(){var t=new U.c;t.autoFocus=!0,this.dialog.open(it,t)},t.ctorParameters=function(){return[{type:r.u},{type:tt.a},{type:U.b},{type:u.a},{type:p.a},{type:ct.a},{type:ut.a},{type:pt.a},{type:dt.a},{type:ht.a},{type:G.a}]},ft([Object(r.G)(),mt("design:type",Object)],t.prototype,"currentUser",void 0),ft([Object(r.A)("document:click",["$event","$event.target"]),mt("design:type",Function),mt("design:paramtypes",[MouseEvent,HTMLElement]),mt("design:returntype",void 0)],t.prototype,"onClick",null),t=ft([Object(r.n)({selector:"cdk-user-menu",template:gt(n("i4nH")).default,styles:[gt(n("F2zX")).default]}),mt("design:paramtypes",[r.u,tt.a,U.b,u.a,p.a,ct.a,ut.a,pt.a,dt.a,ht.a,G.a])],t)}(),vt=n("Nsh5"),bt=n("w+lc"),_t=n("v9Dh"),wt=n("uGex"),xt=n("d2mR");n.d(e,"a",function(){return Ot});var Ct=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Ot=function(){function t(){}return t=Ct([Object(r.L)({declarations:[c,m,T,M,B,J,yt,it,lt],imports:[xt.a,i.b,g.a,_t.a,y.b,v.b,b.a,w.a,u.b,O.b,E.a,_.a,x.c,vt.a,C.a,bt.a,tt.b,U.d,wt.a],exports:[c,m,T,M,B,J,yt,it,lt],providers:[],entryComponents:[it,lt]})],t)}()},pnyO:function(t,e,n){"use strict";n.d(e,"a",function(){return g});var r=n("CcnG"),i=n("o3x0"),o=n("6Qg2"),a=n("PSD3"),s=n.n(a),l=n("NZXM"),c=n("eKg/"),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t,e){return function(n,r){e(n,r,t)}},h=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},f=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},pugT:function(t,e,n){"use strict";var r=n("isby"),i=n("McSo"),o=n("2Bdj"),a=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}();n.d(e,"a",function(){return s});var s=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var e;if(!this.closed){var n=this._parentOrParents,s=this._unsubscribe,c=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(var u=0;u=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(function(){return e.flush(null)})))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(cancelAnimationFrame(n),e.scheduled=void 0)},e}(u.a),d=n("CS9Q"),h=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(u.a),S=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e}(d.a))(E),k=n("pugT"),j=n("60iU");var A=function(t){function e(e,n,r){void 0===r&&(r=0);var i=t.call(this,e)||this;return i.scheduler=n,i.delay=r,i}return c.c(e,t),e.dispatch=function(t){var e=t.notification,n=t.destination;e.observe(n),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.destination.add(this.scheduler.schedule(e.dispatch,this.delay,new D(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(j.a.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(j.a.createError(t)),this.unsubscribe()},e.prototype._complete=function(){this.scheduleMessage(j.a.createComplete()),this.unsubscribe()},e}(w.a),D=function(){return function(t,e){this.notification=t,this.destination=e}}(),T=n("8g8A"),P=n("uMaO"),I=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var i=t.call(this)||this;return i.scheduler=r,i._events=[],i._infiniteTimeWindow=!1,i._bufferSize=e<1?1:e,i._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(i._infiniteTimeWindow=!0,i.next=i.nextInfiniteTimeWindow):i.next=i.nextTimeWindow,i}return c.c(e,t),e.prototype.nextInfiniteTimeWindow=function(e){var n=this._events;n.push(e),n.length>this._bufferSize&&n.shift(),t.prototype.next.call(this,e)},e.prototype.nextTimeWindow=function(e){this._events.push(new R(this._getNow(),e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,o=r.length;if(this.closed)throw new T.a;if(this.isStopped||this.hasError?e=k.a.EMPTY:(this.observers.push(t),e=new P.a(this,t)),i&&t.add(t=new A(t,i)),n)for(var a=0;ae&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(o.a),R=function(){return function(t,e){this.time=t,this.value=e}}();function M(t,e,n){var r;return r=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},function(t){return t.lift(function(t){var e,n,r=t.bufferSize,i=void 0===r?Number.POSITIVE_INFINITY:r,o=t.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=t.refCount,l=t.scheduler,c=0,u=!1,p=!1;return function(t){c++,e&&!u||(u=!1,e=new I(i,a,l),n=t.subscribe({next:function(t){e.next(t)},error:function(t){u=!0,e.error(t)},complete:function(){p=!0,e.complete()}}));var r=e.subscribe(this);this.add(function(){c--,r.unsubscribe(),n&&!p&&s&&0===c&&(n.unsubscribe(),n=void 0,e=void 0)})}}(r))}}var N=n("dWZg"),F=n("Fzqc"),L=n("YlbQ");n.d(e,"c",function(){return U}),n.d(e,"a",function(){return G}),n.d(e,"d",function(){return Q}),n.d(e,"b",function(){return X}),n.d(e,"f",function(){return Z}),n.d(e,"e",function(){return $});var V=new r.E("VIRTUAL_SCROLL_STRATEGY"),B=function(){function t(t,e,n){this._scrolledIndexChange=new o.a,this.scrolledIndexChange=this._scrolledIndexChange.pipe(Object(g.a)()),this._viewport=null,this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=n}return t.prototype.attach=function(t){this._viewport=t,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},t.prototype.updateItemAndBufferSize=function(t,e,n){if(n0&&(r.end=Math.min(o,r.end+c),r.start=Math.max(0,Math.floor(e-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(r),this._viewport.setRenderedContentOffset(this._itemSize*r.start),this._scrolledIndexChange.next(Math.floor(e))}},t}();function z(t){return t._scrollStrategy}var H=function(){function t(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new B(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(t.prototype,"itemSize",{get:function(){return this._itemSize},set:function(t){this._itemSize=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(t){this._minBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(t){this._maxBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},t.decorators=[{type:r.t,args:[{selector:"cdk-virtual-scroll-viewport[itemSize]",providers:[{provide:V,useFactory:z,deps:[Object(r.vb)(function(){return t})]}]}]}],t.propDecorators={itemSize:[{type:r.G}],minBufferPx:[{type:r.G}],maxBufferPx:[{type:r.G}]},t}(),U=function(){function t(t,e){this._ngZone=t,this._platform=e,this._scrolled=new o.a,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(function(){return e._scrolled.next(t)}))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new s.a(function(n){e._globalSubscription||e._addGlobalListener();var r=t>0?e._scrolled.pipe(Object(y.a)(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):Object(a.a)()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(e,n){return t.deregister(n)}),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(Object(v.a)(function(t){return!t||n.indexOf(t)>-1}))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach(function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)}),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Object(l.a)(window.document,"scroll").subscribe(function(){return t._scrolled.next()})})},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:N.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(r.Q),Object(r.xb)(N.a))},token:t,providedIn:"root"}),t}();new r.R,new r.fb,r.Q,N.a;var G=function(){function t(t,e,n,r){var i=this;this.elementRef=t,this.scrollDispatcher=e,this.ngZone=n,this.dir=r,this._destroyed=new o.a,this._elementScrolled=new s.a(function(t){return i.ngZone.runOutsideAngular(function(){return Object(l.a)(i.elementRef.nativeElement,"scroll").pipe(Object(b.a)(i._destroyed)).subscribe(t)})})}return t.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},t.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},t.prototype.elementScrolled=function(){return this._elementScrolled},t.prototype.getElementRef=function(){return this.elementRef},t.prototype.scrollTo=function(t){var e=this.elementRef.nativeElement,n=this.dir&&"rtl"==this.dir.value;t.left=null==t.left?n?t.end:t.start:t.left,t.right=null==t.right?n?t.start:t.end:t.right,null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),n&&Object(N.d)()!=N.c.NORMAL?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),Object(N.d)()==N.c.INVERTED?t.left=t.right:Object(N.d)()==N.c.NEGATED&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)},t.prototype._applyScrollToOptions=function(t){var e=this.elementRef.nativeElement;Object(N.g)()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))},t.prototype.measureScrollOffset=function(t){var e=this.elementRef.nativeElement;if("top"==t)return e.scrollTop;if("bottom"==t)return e.scrollHeight-e.clientHeight-e.scrollTop;var n=this.dir&&"rtl"==this.dir.value;return"start"==t?t=n?"right":"left":"end"==t&&(t=n?"left":"right"),n&&Object(N.d)()==N.c.INVERTED?"left"==t?e.scrollWidth-e.clientWidth-e.scrollLeft:e.scrollLeft:n&&Object(N.d)()==N.c.NEGATED?"left"==t?e.scrollLeft+e.scrollWidth-e.clientWidth:-e.scrollLeft:"left"==t?e.scrollLeft:e.scrollWidth-e.clientWidth-e.scrollLeft},t.decorators=[{type:r.t,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],t.ctorParameters=function(){return[{type:r.u},{type:U},{type:r.Q},{type:F.b,decorators:[{type:r.R}]}]},t}();var q="undefined"!=typeof requestAnimationFrame?h:f.a,W=function(t){function e(e,n,r,i,a,l){var c=t.call(this,e,l,r,a)||this;if(c.elementRef=e,c._changeDetectorRef=n,c._scrollStrategy=i,c._detachedSubject=new o.a,c._renderedRangeSubject=new o.a,c.orientation="vertical",c.scrolledIndexChange=new s.a(function(t){return c._scrollStrategy.scrolledIndexChange.subscribe(function(e){return Promise.resolve().then(function(){return c.ngZone.run(function(){return t.next(e)})})})}),c.renderedRangeStream=c._renderedRangeSubject.asObservable(),c._totalContentSizeTransform="",c._totalContentSize=0,c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],!i)throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');return c}return Object(c.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){e._measureViewportSize(),e._scrollStrategy.attach(e),e.elementScrolled().pipe(Object(_.a)(null),Object(y.a)(0,q)).subscribe(function(){return e._scrollStrategy.onContentScrolled()}),e._markChangeDetectionNeeded()})})},e.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),t.prototype.ngOnDestroy.call(this)},e.prototype.attach=function(t){var e=this;if(this._forOf)throw Error("CdkVirtualScrollViewport is already attached.");this.ngZone.runOutsideAngular(function(){e._forOf=t,e._forOf.dataStream.pipe(Object(b.a)(e._detachedSubject)).subscribe(function(t){var n=t.length;n!==e._dataLength&&(e._dataLength=n,e._scrollStrategy.onDataLengthChanged()),e._doChangeDetection()})})},e.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},e.prototype.getDataLength=function(){return this._dataLength},e.prototype.getViewportSize=function(){return this._viewportSize},e.prototype.getRenderedRange=function(){return this._renderedRange},e.prototype.setTotalContentSize=function(t){if(this._totalContentSize!==t){this._totalContentSize=t;var e="horizontal"==this.orientation?"X":"Y";this._totalContentSizeTransform="scale"+e+"("+this._totalContentSize+")",this._markChangeDetectionNeeded()}},e.prototype.setRenderedRange=function(t){var e,n,r=this;e=this._renderedRange,n=t,(e.start!=n.start||e.end!=n.end)&&(this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded(function(){return r._scrollStrategy.onContentRendered()}))},e.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},e.prototype.setRenderedContentOffset=function(t,e){var n=this;void 0===e&&(e="to-start");var r=this.dir&&"rtl"==this.dir.value,i="horizontal"==this.orientation,o=i?"X":"Y",a="translate"+o+"("+Number((i&&r?-1:1)*t)+"px)";this._renderedContentOffset=t,"to-end"===e&&(a+=" translate"+o+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=a&&(this._renderedContentTransform=a,this._markChangeDetectionNeeded(function(){n._renderedContentOffsetNeedsRewrite?(n._renderedContentOffset-=n.measureRenderedContentSize(),n._renderedContentOffsetNeedsRewrite=!1,n.setRenderedContentOffset(n._renderedContentOffset)):n._scrollStrategy.onRenderedOffsetChanged()}))},e.prototype.scrollToOffset=function(t,e){void 0===e&&(e="auto");var n={behavior:e};"horizontal"===this.orientation?n.start=t:n.top=t,this.scrollTo(n)},e.prototype.scrollToIndex=function(t,e){void 0===e&&(e="auto"),this._scrollStrategy.scrollToIndex(t,e)},e.prototype.measureScrollOffset=function(e){return t.prototype.measureScrollOffset.call(this,e||("horizontal"===this.orientation?"start":"top"))},e.prototype.measureRenderedContentSize=function(){var t=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?t.offsetWidth:t.offsetHeight},e.prototype.measureRangeSize=function(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0},e.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},e.prototype._measureViewportSize=function(){var t=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?t.clientWidth:t.clientHeight},e.prototype._markChangeDetectionNeeded=function(t){var e=this;t&&this._runAfterChangeDetection.push(t),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){e._doChangeDetection()})}))},e.prototype._doChangeDetection=function(){var t=this;this._isChangeDetectionPending=!1,this.ngZone.run(function(){return t._changeDetectorRef.markForCheck()}),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform;var e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(var n=0,r=e;n
      ',styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:0}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:0}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}"],host:{class:"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":'orientation === "horizontal"',"[class.cdk-virtual-scroll-orientation-vertical]":'orientation !== "horizontal"'},encapsulation:r.qb.None,changeDetection:r.j.OnPush,providers:[{provide:G,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:r.Q},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[V]}]},{type:F.b,decorators:[{type:r.R}]},{type:U}]},e.propDecorators={orientation:[{type:r.G}],scrolledIndexChange:[{type:r.S}],_contentWrapper:[{type:r.nb,args:["contentWrapper"]}]},e}(G);function Y(t,e){var n=e;if(!n.getBoundingClientRect)return 0;var r=n.getBoundingClientRect();return"horizontal"==t?r.width:r.height}var K=function(){function t(t,e,n,r,i){var a=this;this._viewContainerRef=t,this._template=e,this._differs=n,this._viewport=r,this.viewChange=new o.a,this._dataSourceChanges=new o.a,this.cdkVirtualForTemplateCacheSize=20,this.dataStream=this._dataSourceChanges.pipe(Object(_.a)(null),function(t){return t.lift(new x)},Object(O.a)(function(t){var e=t[0],n=t[1];return a._changeDataSource(e,n)}),M(1)),this._differ=null,this._templateCache=[],this._needsUpdate=!1,this._destroyed=new o.a,this.dataStream.subscribe(function(t){a._data=t,a._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(Object(b.a)(this._destroyed)).subscribe(function(t){a._renderedRange=t,i.run(function(){return a.viewChange.next(a._renderedRange)}),a._onRenderedDataChange()}),this._viewport.attach(this)}return Object.defineProperty(t.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(t){this._cdkVirtualForOf=t;var e=Object(L.e)(t)?t:new L.a(t instanceof s.a?t:Array.prototype.slice.call(t||[]));this._dataSourceChanges.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(t){var e=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?function(n,r){return t(n+(e._renderedRange?e._renderedRange.start:0),r)}:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplate",{set:function(t){t&&(this._needsUpdate=!0,this._template=t)},enumerable:!0,configurable:!0}),t.prototype.measureRangeSize=function(t,e){if(t.start>=t.end)return 0;if(t.startthis._renderedRange.end)throw Error("Error: attempted to measure an item that isn't rendered.");for(var n=t.start-this._renderedRange.start,r=0,i=t.end-t.start;i--;)for(var o=this._viewContainerRef.get(i+n),a=o?o.rootNodes.length:0;a--;)r+=Y(e,o.rootNodes[a]);return r},t.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}},t.prototype.ngOnDestroy=function(){this._viewport.detach(),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete();for(var t=0,e=this._templateCache;t0?this._change.pipe(Object(y.a)(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:N.a},{type:r.Q}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(N.a),Object(r.xb)(r.Q))},token:t,providedIn:"root"}),t}();var $={provide:Z,deps:[[new r.R,new r.fb,Z],N.a,r.Q],useFactory:function(t,e,n){return t||new Z(e,n)}}},"qO/w":function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n
      \r\n \x3c!--
      \r\n \r\n
      --\x3e\r\n \x3c!--
      \r\n \r\n
      --\x3e\r\n \r\n \r\n
      \r\n\r\n\x3c!--
      --\x3e'},qyWd:function(t,e,n){"use strict";n.r(e),e.default='

      CASAnet project

      \r\n
      \r\n

      Made with ❤️ by Kastnet

      \r\n Casanet on GitHub\r\n
      '},rOSL:function(t,e,n){"use strict";n.r(e),e.default='
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{entry.minionName}}\r\n
      \r\n {{entry.date}}\r\n
      \r\n \r\n
        \r\n
      • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
      • \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      '},rPjj:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(e,n,r){var i=t.call(this)||this;return i.parent=e,i.outerValue=n,i.outerIndex=r,i.index=0,i}return r.c(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("FFOo").a)},sB9w:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("Onty"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isTimingsRetrived=!1,this.timings=[],this.timingsFeed=new i.a(this.timings),this.timingActivatedFeed=new i.a(void 0),this.retriveData()}return t.prototype.loadTimings=function(){return u(this,void 0,void 0,function(){var t,e;return p(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/timings",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort(function(t,e){return t.timingName enter",[Object(i.l)({opacity:0,transform:"translateY(-100%)"}),Object(i.e)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},x=function(){};function C(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var O=0,E=function(){function t(){this.align="start",this.id="mat-hint-"+O++}return t.decorators=[{type:r.t,args:[{selector:"mat-hint",host:{class:"mat-hint","[class.mat-right]":'align == "end"',"[attr.id]":"id","[attr.align]":"null"}}]}],t.propDecorators={align:[{type:r.G}],id:[{type:r.G}]},t}(),S=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-label"}]}],t}(),k=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-placeholder"}]}],t}(),j=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matPrefix]"}]}],t}(),A=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matSuffix]"}]}],t}(),D=0,T=function(t){this._elementRef=t},P=Object(l.u)(T,"primary"),I=new r.E("MAT_FORM_FIELD_DEFAULT_OPTIONS"),R=function(t){function e(e,n,r,i,o,a,s,l){var u=t.call(this,e)||this;return u._elementRef=e,u._changeDetectorRef=n,u._dir=i,u._defaults=o,u._platform=a,u._ngZone=s,u._outlineGapCalculationNeededImmediately=!1,u._outlineGapCalculationNeededOnStable=!1,u._destroyed=new c.a,u._showAlwaysAnimate=!1,u._subscriptAnimationState="",u._hintLabel="",u._hintLabelId="mat-hint-"+D++,u._labelId="mat-form-field-label-"+D++,u._labelOptions=r||{},u.floatLabel=u._labelOptions.float||"auto",u._animationsEnabled="NoopAnimations"!==l,u.appearance=o&&o.appearance?o.appearance:"legacy",u}return Object(o.c)(e,t),Object.defineProperty(e.prototype,"appearance",{get:function(){return this._appearance},set:function(t){var e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&this._updateOutlineGapOnStable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_canLabelFloat",{get:function(){return"never"!==this.floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatLabel",{get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._connectionContainerRef||this._elementRef},e.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild();var e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+e.controlType),e.stateChanges.pipe(Object(d.a)(null)).subscribe(function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Object(h.a)(this._destroyed)).subscribe(function(){return t._changeDetectorRef.markForCheck()});var n=this._ngZone;n&&n.runOutsideAngular(function(){n.onStable.asObservable().pipe(Object(h.a)(t._destroyed)).subscribe(function(){t._outlineGapCalculationNeededOnStable&&t.updateOutlineGap()})}),Object(u.a)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){t._updateOutlineGapOnStable(),t._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Object(d.a)(null)).subscribe(function(){t._processHints(),t._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Object(d.a)(null)).subscribe(function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Object(h.a)(this._destroyed)).subscribe(function(){return t.updateOutlineGap()})},e.prototype.ngAfterContentChecked=function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()},e.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},e.prototype._hasPlaceholder=function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)},e.prototype._hasLabel=function(){return!!this._labelChild},e.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)},e.prototype._hideControlPlaceholder=function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()},e.prototype._hasFloatingLabel=function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()},e.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},e.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,Object(p.a)(this._label.nativeElement,"transitionend").pipe(Object(f.a)(1)).subscribe(function(){t._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())},e.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},e.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},e.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach(function(r){if("start"===r.align){if(t||n.hintLabel)throw C("start");t=r}else if("end"===r.align){if(e)throw C("end");e=r}})},e.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find(function(t){return"start"===t.align}):null,n=this._hintChildren?this._hintChildren.find(function(t){return"end"===t.align}):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(function(t){return t.id}));this._control.setDescribedByIds(t)}},e.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},e.prototype.updateOutlineGap=function(){var t=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&(!this._platform||this._platform.isBrowser))if(document.documentElement.contains(this._elementRef.nativeElement)){var e=0,n=0,r=this._connectionContainerRef.nativeElement,i=r.querySelectorAll(".mat-form-field-outline-start"),o=r.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=r.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),l=this._getStartEnd(t.children[0].getBoundingClientRect()),c=0,u=0,p=t.children;u0?.75*c+10:0}for(var d=0;d
      {{hintLabel}}
      ',styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none} .mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button,.mat-input-element::-webkit-inner-spin-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:0 0}@media (-ms-high-contrast:active){.mat-focused select.mat-input-element::-ms-value{color:inherit}}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px} .mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px} .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none} .mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}"],animations:[w.transitionMessages],host:{class:"mat-form-field","[class.mat-form-field-appearance-standard]":'appearance == "standard"',"[class.mat-form-field-appearance-fill]":'appearance == "fill"',"[class.mat-form-field-appearance-outline]":'appearance == "outline"',"[class.mat-form-field-appearance-legacy]":'appearance == "legacy"',"[class.mat-form-field-invalid]":"_control.errorState","[class.mat-form-field-can-float]":"_canLabelFloat","[class.mat-form-field-should-float]":"_shouldLabelFloat()","[class.mat-form-field-has-label]":"_hasFloatingLabel()","[class.mat-form-field-hide-placeholder]":"_hideControlPlaceholder()","[class.mat-form-field-disabled]":"_control.disabled","[class.mat-form-field-autofilled]":"_control.autofilled","[class.mat-focused]":"_control.focused","[class.mat-accent]":'color == "accent"',"[class.mat-warn]":'color == "warn"',"[class.ng-untouched]":'_shouldForward("untouched")',"[class.ng-touched]":'_shouldForward("touched")',"[class.ng-pristine]":'_shouldForward("pristine")',"[class.ng-dirty]":'_shouldForward("dirty")',"[class.ng-valid]":'_shouldForward("valid")',"[class.ng-invalid]":'_shouldForward("invalid")',"[class.ng-pending]":'_shouldForward("pending")',"[class._mat-animation-noopable]":"!_animationsEnabled"},inputs:["color"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[l.e]}]},{type:a.b,decorators:[{type:r.R}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[I]}]},{type:m.a},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[g.a]}]}]},e.propDecorators={appearance:[{type:r.G}],hideRequiredMarker:[{type:r.G}],hintLabel:[{type:r.G}],floatLabel:[{type:r.G}],underlineRef:[{type:r.nb,args:["underline"]}],_connectionContainerRef:[{type:r.nb,args:["connectionContainer"]}],_inputContainerRef:[{type:r.nb,args:["inputContainer"]}],_label:[{type:r.nb,args:["label"]}],_control:[{type:r.r,args:[x]}],_placeholderChild:[{type:r.r,args:[k]}],_labelChild:[{type:r.r,args:[S]}],_errorChildren:[{type:r.s,args:[_]}],_hintChildren:[{type:r.s,args:[E]}],_prefixChildren:[{type:r.s,args:[j]}],_suffixChildren:[{type:r.s,args:[A]}]},e}(P),M=function(){function t(){}return t.decorators=[{type:r.L,args:[{declarations:[_,R,E,S,k,j,A],imports:[y.b,v.b],exports:[_,R,E,S,k,j,A]}]}],t}()},"t/Na":function(t,e,n){"use strict";n.d(e,"a",function(){return k}),n.d(e,"b",function(){return Y}),n.d(e,"c",function(){return g});var r=n("mrSG"),i=n("CcnG"),o=n("F/XL"),a=n("6blF"),s=n("Phjn"),l=n("VnD/"),c=n("67Y/"),u=n("Ip0R"),p=function(){},d=function(){},h=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach(function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}})}:function(){e.headers=new Map,Object.keys(t).forEach(function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))})}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(t){return e.applyUpdate(t)}),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach(function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))})},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var i=("a"===t.op?this.headers.get(e):void 0)||[];i.push.apply(i,Object(r.g)(n)),this.headers.set(e,i);break;case"d":var o=t.value;if(o){var a=this.headers.get(e);if(!a)return;0===(a=a.filter(function(t){return-1===o.indexOf(t)})).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return t(e.normalizedNames.get(n),e.headers.get(n))})},t}(),f=function(){function t(){}return t.prototype.encodeKey=function(t){return m(t)},t.prototype.encodeValue=function(t){return m(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function m(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var g=function(){function t(t){var e,n,i,o=this;if(void 0===t&&(t={}),this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,i=new Map,e.length>0&&e.split("&").forEach(function(t){var e=t.indexOf("="),o=Object(r.f)(-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],2),a=o[0],s=o[1],l=i.get(a)||[];l.push(s),i.set(a,l)}),i)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(function(e){var n=t.fromObject[e];o.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map(function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map(function(e){return n+"="+t.encoder.encodeValue(e)}).join("&")}).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(e){return t.map.set(e,t.cloneFrom.map.get(e))}),this.updates.forEach(function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}}),this.cloneFrom=this.updates=null)},t}();function y(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function b(t){return"undefined"!=typeof FormData&&t instanceof FormData}var _,w=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new h),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var a=e.indexOf("?"),s=-1===a?"?":a=200&&this.status<300},C=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.ResponseHeader,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),O=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.Response,n.body=void 0!==e.body?e.body:null,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),E=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.status>=200&&n.status<300?n.message="Http failure during parsing for "+(e.url||"(unknown url)"):n.message="Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(r.c)(e,t),e}(x);function S(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var k=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof w)r=t;else{var a=void 0;a=n.headers instanceof h?n.headers:new h(n.headers);var u=void 0;n.params&&(u=n.params instanceof g?n.params:new g({fromObject:n.params})),r=new w(t,e,void 0!==n.body?n.body:null,{headers:a,params:u,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var p=Object(o.a)(r).pipe(Object(s.a)(function(t){return i.handler.handle(t)}));if(t instanceof w||"events"===n.observe)return p;var d=p.pipe(Object(l.a)(function(t){return t instanceof O}));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return d.pipe(Object(c.a)(function(t){return t.body}))}case"response":return d;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new g).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,S(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,S(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,S(n,e))},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[p])],t)}(),j=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),A=new i.E("HTTP_INTERCEPTORS"),D=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t=Object(r.b)([Object(i.D)()],t)}(),T=0,P=function(){},I=function(){function t(t,e){this.callbackMap=t,this.document=e}return t.prototype.nextCallback=function(){return"ng_jsonp_callback_"+T++},t.prototype.handle=function(t){var e=this;if("JSONP"!==t.method)throw new Error("JSONP requests must use JSONP request method.");if("json"!==t.responseType)throw new Error("JSONP requests must use Json response type.");return new a.a(function(n){var r=e.nextCallback(),i=t.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/,"="+r+"$1"),o=e.document.createElement("script");o.src=i;var a=null,s=!1,l=!1;e.callbackMap[r]=function(t){delete e.callbackMap[r],l||(a=t,s=!0)};var c=function(){o.parentNode&&o.parentNode.removeChild(o),delete e.callbackMap[r]},u=function(t){l||(c(),s?(n.next(new O({body:a,status:200,statusText:"OK",url:i})),n.complete()):n.error(new E({url:i,status:0,statusText:"JSONP Error",error:new Error("JSONP injected script did not invoke callback.")})))},p=function(t){l||(c(),n.error(new E({error:t,status:0,statusText:"JSONP Error",url:i})))};return o.addEventListener("load",u),o.addEventListener("error",p),e.document.body.appendChild(o),n.next({type:_.Sent}),function(){l=!0,o.removeEventListener("load",u),o.removeEventListener("error",p),c()}})},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(u.c)),Object(r.d)("design:paramtypes",[P,Object])],t)}(),R=function(){function t(t){this.jsonp=t}return t.prototype.intercept=function(t,e){return"JSONP"===t.method?this.jsonp.handle(t):e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[I])],t)}(),M=/^\)\]\}',?\n/;var N=function(){},F=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[])],t)}(),L=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new a.a(function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach(function(t,e){return r.setRequestHeader(t,e.join(","))}),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var a=t.serializeBody(),s=null,l=function(){if(null!==s)return s;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new h(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return s=new C({headers:i,status:e,statusText:n,url:o})},c=function(){var e=l(),i=e.headers,o=e.status,a=e.statusText,s=e.url,c=null;204!==o&&(c=void 0===r.response?r.responseText:r.response),0===o&&(o=c?200:0);var u=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof c){var p=c;c=c.replace(M,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=p,u&&(u=!1,c={error:d,text:c})}}u?(n.next(new O({body:c,headers:i,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new E({error:c,headers:i,status:o,statusText:a,url:s||void 0}))},u=function(t){var e=l().url,i=new E({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error",url:e||void 0});n.error(i)},p=!1,d=function(e){p||(n.next(l()),p=!0);var i={type:_.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},f=function(t){var e={type:_.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",c),r.addEventListener("error",u),t.reportProgress&&(r.addEventListener("progress",d),null!==a&&r.upload&&r.upload.addEventListener("progress",f)),r.send(a),n.next({type:_.Sent}),function(){r.removeEventListener("error",u),r.removeEventListener("load",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==a&&r.upload&&r.upload.removeEventListener("progress",f)),r.abort()}})},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[N])],t)}(),V=new i.E("XSRF_COOKIE_NAME"),B=new i.E("XSRF_HEADER_NAME"),z=function(){},H=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Object(u.t)(t,this.cookieName),this.lastCookieString=t),this.lastToken},t=Object(r.b)([Object(i.D)(),Object(r.e)(0,Object(i.C)(u.c)),Object(r.e)(1,Object(i.C)(i.U)),Object(r.e)(2,Object(i.C)(V)),Object(r.d)("design:paramtypes",[Object,String,String])],t)}(),U=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(B)),Object(r.d)("design:paramtypes",[z,String])],t)}(),G=function(){function t(t,e){this.backend=t,this.injector=e,this.chain=null}return t.prototype.handle=function(t){if(null===this.chain){var e=this.injector.get(A,[]);this.chain=e.reduceRight(function(t,e){return new j(t,e)},this.backend)}return this.chain.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[d,i.F])],t)}();function q(){return"object"==typeof window?window:{}}var W=function(){function t(){}var e;return e=t,t.disable=function(){return{ngModule:e,providers:[{provide:U,useClass:D}]}},t.withOptions=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[t.cookieName?{provide:V,useValue:t.cookieName}:[],t.headerName?{provide:B,useValue:t.headerName}:[]]}},t=e=Object(r.b)([Object(i.L)({providers:[U,{provide:A,useExisting:U,multi:!0},{provide:z,useClass:H},{provide:V,useValue:"XSRF-TOKEN"},{provide:B,useValue:"X-XSRF-TOKEN"}]})],t)}(),Y=function(){function t(){}return t=Object(r.b)([Object(i.L)({imports:[W.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})],providers:[k,{provide:p,useClass:G},L,{provide:d,useExisting:L},F,{provide:N,useExisting:F}]})],t)}();!function(){function t(){}t=Object(r.b)([Object(i.L)({providers:[I,{provide:P,useFactory:q},{provide:A,useClass:R,multi:!0}]})],t)}()},t9fZ:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("FFOo"),o=n("b7mW"),a=n("G5J1");function s(t){return function(e){return 0===t?Object(a.b)():e.lift(new l(t))}}var l=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.total))},t}(),c=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(i.a)},u7R8:function(t,e,n){"use strict";n.d(e,"a",function(){return v});var r=n("mrSG"),i=n("lLAP"),o=n("n6gG"),a=n("YlbQ"),s=n("CcnG"),l=n("gIcY"),c=n("Wf4p"),u=new s.E("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),p={provide:l.g,useExisting:Object(s.vb)(function(){return m}),multi:!0},d=function(){},h=0,f=function(t,e){this.source=t,this.value=e},m=function(){function t(t,e){this._changeDetector=t,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=function(){},this._onTouched=function(){},this._name="mat-button-toggle-group-"+h++,this.valueChange=new s.x,this.change=new s.x,this.appearance=e&&e.appearance?e.appearance:"standard"}return Object.defineProperty(t.prototype,"name",{get:function(){return this._name},set:function(t){var e=this;this._name=t,this._buttonToggles&&this._buttonToggles.forEach(function(t){t.name=e._name,t._markForCheck()})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){var t=this._selectionModel?this._selectionModel.selected:[];return this.multiple?t.map(function(t){return t.value}):t[0]?t[0].value:void 0},set:function(t){this._setSelectionByValue(t),this.valueChange.emit(this.value)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){var t=this._selectionModel.selected;return this.multiple?t:t[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"multiple",{get:function(){return this._multiple},set:function(t){this._multiple=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(o.c)(t),this._buttonToggles&&this._buttonToggles.forEach(function(t){return t._markForCheck()})},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._selectionModel=new a.c(this.multiple,void 0,!1)},t.prototype.ngAfterContentInit=function(){var t;(t=this._selectionModel).select.apply(t,this._buttonToggles.filter(function(t){return t.checked}))},t.prototype.writeValue=function(t){this.value=t,this._changeDetector.markForCheck()},t.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._emitChangeEvent=function(){var t=this.selected,e=Array.isArray(t)?t[t.length-1]:t,n=new f(e,this.value);this._controlValueAccessorChangeFn(n.value),this.change.emit(n)},t.prototype._syncButtonToggle=function(t,e,n){void 0===n&&(n=!1),this.multiple||!this.selected||t.checked||(this.selected.checked=!1),e?this._selectionModel.select(t):this._selectionModel.deselect(t),n&&this._emitChangeEvent(),this.valueChange.emit(this.value)},t.prototype._isSelected=function(t){return this._selectionModel.isSelected(t)},t.prototype._isPrechecked=function(t){return void 0!==this._rawValue&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(function(e){return null!=t.value&&e===t.value}):t.value===this._rawValue)},t.prototype._setSelectionByValue=function(t){var e=this;if(this._rawValue=t,this._buttonToggles)if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach(function(t){return e._selectValue(t)})}else this._clearSelection(),this._selectValue(t)},t.prototype._clearSelection=function(){this._selectionModel.clear(),this._buttonToggles.forEach(function(t){return t.checked=!1})},t.prototype._selectValue=function(t){var e=this._buttonToggles.find(function(e){return null!=e.value&&e.value===t});e&&(e.checked=!0,this._selectionModel.select(e))},t.decorators=[{type:s.t,args:[{selector:"mat-button-toggle-group",providers:[p,{provide:d,useExisting:t}],host:{role:"group",class:"mat-button-toggle-group","[attr.aria-disabled]":"disabled","[class.mat-button-toggle-vertical]":"vertical","[class.mat-button-toggle-group-appearance-standard]":'appearance === "standard"'},exportAs:"matButtonToggleGroup"}]}],t.ctorParameters=function(){return[{type:s.k},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},t.propDecorators={_buttonToggles:[{type:s.s,args:[Object(s.vb)(function(){return y})]}],appearance:[{type:s.G}],name:[{type:s.G}],vertical:[{type:s.G}],value:[{type:s.G}],valueChange:[{type:s.S}],multiple:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},t}(),g=function(){},y=function(t){function e(e,n,r,i,o,a){var l=t.call(this)||this;l._changeDetectorRef=n,l._elementRef=r,l._focusMonitor=i,l._isSingleSelector=!1,l._checked=!1,l.ariaLabelledby=null,l._disabled=!1,l.change=new s.x;var c=Number(o);return l.tabIndex=c||0===c?c:null,l.buttonToggleGroup=e,l.appearance=a&&a.appearance?a.appearance:"standard",l}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"buttonId",{get:function(){return this.id+"-button"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"appearance",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance},set:function(t){this._appearance=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"checked",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked},set:function(t){var e=Object(o.c)(t);e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled},set:function(t){this._disabled=Object(o.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isSingleSelector=this.buttonToggleGroup&&!this.buttonToggleGroup.multiple,this._type=this._isSingleSelector?"radio":"checkbox",this.id=this.id||"mat-button-toggle-"+h++,this._isSingleSelector&&(this.name=this.buttonToggleGroup.name),this.buttonToggleGroup&&this.buttonToggleGroup._isPrechecked(this)&&(this.checked=!0),this._focusMonitor.monitor(this._elementRef,!0)},e.prototype.ngOnDestroy=function(){var t=this,e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&Promise.resolve().then(function(){return e._syncButtonToggle(t,!1)})},e.prototype.focus=function(){this._buttonElement.nativeElement.focus()},e.prototype._onButtonClick=function(){var t=!!this._isSingleSelector||!this._checked;t!==this._checked&&(this._checked=t,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new f(this,this.value))},e.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},e.decorators=[{type:s.n,args:[{selector:"mat-button-toggle",template:'
      ',styles:[".mat-button-toggle-group,.mat-button-toggle-standalone{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:transparent}@media (-ms-high-contrast:active){.mat-button-toggle-group,.mat-button-toggle-standalone{outline:solid 1px}}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border-radius:4px}@media (-ms-high-contrast:active){.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}@media (-ms-high-contrast:active){.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media (-ms-high-contrast:active){.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.5}}@media (hover:none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px;padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px}@media (-ms-high-contrast:active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0}}@media (-ms-high-contrast:active){.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 48px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:0 0;color:inherit;padding:0;margin:0;font:inherit;outline:0;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:s.qb.None,exportAs:"matButtonToggle",changeDetection:s.j.OnPush,inputs:["disableRipple"],host:{"[class.mat-button-toggle-standalone]":"!buttonToggleGroup","[class.mat-button-toggle-checked]":"checked","[class.mat-button-toggle-disabled]":"disabled","[class.mat-button-toggle-appearance-standard]":'appearance === "standard"',class:"mat-button-toggle","[attr.tabindex]":"-1","[attr.id]":"id","(focus)":"focus()"}}]}],e.ctorParameters=function(){return[{type:m,decorators:[{type:s.R}]},{type:s.k},{type:s.u},{type:i.e},{type:String,decorators:[{type:s.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},e.propDecorators={ariaLabel:[{type:s.G,args:["aria-label"]}],ariaLabelledby:[{type:s.G,args:["aria-labelledby"]}],_buttonElement:[{type:s.nb,args:["button"]}],id:[{type:s.G}],name:[{type:s.G}],value:[{type:s.G}],tabIndex:[{type:s.G}],appearance:[{type:s.G}],checked:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},e}(Object(c.v)(g)),v=function(){function t(){}return t.decorators=[{type:s.L,args:[{imports:[c.h,c.q],exports:[c.h,m,y],declarations:[m,y]}]}],t}()},uGex:function(t,e,n){"use strict";n.d(e,"a",function(){return F});var r=n("ihYY"),i=n("mrSG"),o=n("lLAP"),a=n("Fzqc"),s=n("n6gG"),l=n("YlbQ"),c=n("YSh2"),u=n("eDkP"),p=n("qAlS"),d=n("CcnG"),h=n("gIcY"),f=n("Wf4p"),m=n("seP3"),g=n("K9Ia"),y=n("lYZG"),v=n("p0ib"),b=n("t9fZ"),_=n("15JJ"),w=n("VnD/"),x=n("67Y/"),C=n("ad02"),O=n("ny24"),E=n("p0Sj"),S=n("Ip0R"),k={transformPanelWrap:Object(r.n)("transformPanelWrap",[Object(r.m)("* => void",Object(r.i)("@transformPanel",[Object(r.f)()],{optional:!0}))]),transformPanel:Object(r.n)("transformPanel",[Object(r.k)("void",Object(r.l)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),Object(r.k)("showing",Object(r.l)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),Object(r.k)("showing-multiple",Object(r.l)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Object(r.m)("void => *",Object(r.e)("120ms cubic-bezier(0, 0, 0.2, 1)")),Object(r.m)("* => void",Object(r.e)("100ms 25ms linear",Object(r.l)({opacity:0})))]),fadeInContent:Object(r.n)("fadeInContent",[Object(r.k)("showing",Object(r.l)({opacity:1})),Object(r.m)("void => showing",[Object(r.l)({opacity:0}),Object(r.e)("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};k.transformPanel,k.fadeInContent;var j=0,A=0,D=new d.E("mat-select-scroll-strategy");var T={provide:D,deps:[u.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},P=function(t,e){this.source=t,this.value=e},I=function(t,e,n,r,i){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=r,this.ngControl=i},R=Object(f.v)(Object(f.y)(Object(f.w)(Object(f.x)(I)))),M=function(){function t(){}return t.decorators=[{type:d.t,args:[{selector:"mat-select-trigger"}]}],t}(),N=function(t){function e(e,n,r,i,o,a,s,l,c,u,p,h,f){var m=t.call(this,o,i,s,l,u)||this;return m._viewportRuler=e,m._changeDetectorRef=n,m._ngZone=r,m._dir=a,m._parentFormField=c,m.ngControl=u,m._liveAnnouncer=f,m._panelOpen=!1,m._required=!1,m._scrollTop=0,m._multiple=!1,m._compareWith=function(t,e){return t===e},m._uid="mat-select-"+j++,m._destroy=new g.a,m._triggerFontSize=0,m._onChange=function(){},m._onTouched=function(){},m._optionIds="",m._transformOrigin="top",m._panelDoneAnimatingStream=new g.a,m._offsetY=0,m._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],m._disableOptionCentering=!1,m._focused=!1,m.controlType="mat-select",m.ariaLabel="",m.optionSelectionChanges=Object(y.a)(function(){return m.options?v.a.apply(void 0,m.options.map(function(t){return t.onSelectionChange})):m._ngZone.onStable.asObservable().pipe(Object(b.a)(1),Object(_.a)(function(){return m.optionSelectionChanges}))}),m.openedChange=new d.x,m._openedStream=m.openedChange.pipe(Object(w.a)(function(t){return t}),Object(x.a)(function(){})),m._closedStream=m.openedChange.pipe(Object(w.a)(function(t){return!t}),Object(x.a)(function(){})),m.selectionChange=new d.x,m.valueChange=new d.x,m.ngControl&&(m.ngControl.valueAccessor=m),m._scrollStrategyFactory=h,m._scrollStrategy=m._scrollStrategyFactory(),m.tabIndex=parseInt(p)||0,m.id=m.id,m}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused||this._panelOpen},set:function(t){this._focused=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(s.c)(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disableOptionCentering",{get:function(){return this._disableOptionCentering},set:function(t){this._disableOptionCentering=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._selectionModel=new l.c(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Object(C.a)(),Object(O.a)(this._destroy)).subscribe(function(){t.panelOpen?(t._scrollTop=0,t.openedChange.emit(!0)):(t.openedChange.emit(!1),t.overlayDir.offsetX=0,t._changeDetectorRef.markForCheck())})},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this._selectionModel.onChange.pipe(Object(O.a)(this._destroy)).subscribe(function(t){t.added.forEach(function(t){return t.select()}),t.removed.forEach(function(t){return t.deselect()})}),this.options.changes.pipe(Object(E.a)(null),Object(O.a)(this._destroy)).subscribe(function(){t._resetOptions(),t._initializeSelection()})},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&!this._panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Object(b.a)(1)).subscribe(function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")}))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map(function(t){return t.viewValue});return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p||e===c.i||e===c.m,r=e===c.f||e===c.n,i=this._keyManager;if(r&&!Object(c.s)(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;e===c.h||e===c.e?(e===c.h?i.setFirstItemActive():i.setLastItemActive(),t.preventDefault()):i.onKeydown(t),this._liveAnnouncer&&o!==this.selected&&this._liveAnnouncer.announce(this.selected.viewValue)}},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p,r=this._keyManager;if(e===c.h||e===c.e)t.preventDefault(),e===c.h?r.setFirstItemActive():r.setLastItemActive();else if(n&&t.altKey)t.preventDefault(),this.close();else if(e!==c.f&&e!==c.n||!r.activeItem||Object(c.s)(t))if(this._multiple&&e===c.a&&t.ctrlKey){t.preventDefault();var i=this.options.some(function(t){return!t.disabled&&!t.selected});this.options.forEach(function(t){t.disabled||(i?t.select():t.deselect())})}else{var o=r.activeItemIndex;r.onKeydown(t),this._multiple&&n&&t.shiftKey&&r.activeItem&&r.activeItemIndex!==o&&r.activeItem._selectViaInteraction()}else t.preventDefault(),r.activeItem._selectViaInteraction()},e.prototype._onFocus=function(){this.disabled||(this._focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Object(b.a)(1)).subscribe(function(){t._setPseudoCheckboxPaddingSize(),t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop})},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},e.prototype._setPseudoCheckboxPaddingSize=function(){if(!A&&this.multiple){var t=this.panel.nativeElement.querySelector(".mat-pseudo-checkbox");t&&(A=24+t.offsetWidth)}},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then(function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value),t.stateChanges.next()})},e.prototype._setSelectionByValue=function(t){var e=this;if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._selectionModel.clear(),t.forEach(function(t){return e._selectValue(t)}),this._sortValues()}else{this._selectionModel.clear();var n=this._selectValue(t);n&&this._keyManager.setActiveItem(n)}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t){var e=this,n=this.options.find(function(n){try{return null!=n.value&&e._compareWith(n.value,t)}catch(r){return Object(d.yb)()&&console.warn(r),!1}});return n&&this._selectionModel.select(n),n},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new o.b(this.options).withTypeAhead().withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Object(O.a)(this._destroy)).subscribe(function(){t.focus(),t.close()}),this._keyManager.change.pipe(Object(O.a)(this._destroy)).subscribe(function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()})},e.prototype._resetOptions=function(){var t=this,e=Object(v.a)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Object(O.a)(e)).subscribe(function(e){t._onSelect(e.source,e.isUserInput),e.isUserInput&&!t.multiple&&t._panelOpen&&(t.close(),t.focus())}),v.a.apply(void 0,this.options.map(function(t){return t._stateChanges})).pipe(Object(O.a)(e)).subscribe(function(){t._changeDetectorRef.markForCheck(),t.stateChanges.next()}),this._setOptionIds()},e.prototype._onSelect=function(t,e){var n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()},e.prototype._sortValues=function(){var t=this;if(this.multiple){var e=this.options.toArray();this._selectionModel.sort(function(n,r){return t.sortComparator?t.sortComparator(n,r,e):e.indexOf(n)-e.indexOf(r)}),this.stateChanges.next()}},e.prototype._propagateChanges=function(t){var e=null;e=this.multiple?this.selected.map(function(t){return t.value}):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new P(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map(function(t){return t.id}).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))},e.prototype._scrollActiveOptionIntoView=function(){var t=this._keyManager.activeItemIndex||0,e=Object(f.s)(t,this.options,this.optionGroups);this.panel.nativeElement.scrollTop=Object(f.t)(t+e,this._getItemHeight(),this.panel.nativeElement.scrollTop,256)},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce(function(e,n,r){return void 0===e?t===n?r:void 0:e},void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=Object(f.s)(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight(),i=r*t-e+r/2;return Math.min(Math.max(0,i),n)},e.prototype._getAriaLabel=function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},e.prototype._getAriaLabelledby=function(){return this.ariaLabelledby?this.ariaLabelledby:this._parentFormField&&this._parentFormField._hasFloatingLabel()&&!this._getAriaLabel()&&this._parentFormField._labelId||null},e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?A+16:32;if(this.multiple)t=A;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var a=0-(e.left+t-(r?i:0)),s=e.right+t-n.width+(r?0:i);a>0?t+=a+8:s>0&&(t-=s+8),this.overlayDir.offsetX=Math.round(t),this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r,i=this._getItemHeight(),o=(i-this._triggerRect.height)/2,a=Math.floor(256/i);if(this._disableOptionCentering)return 0;if(0===this._scrollTop)r=t*i;else if(this._scrollTop===n){r=(t-(this._getItemCount()-a))*i+(i-(this._getItemCount()*i-256)%i)}else r=e-i/2;return Math.round(-1*r-o)},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;a>i?this._adjustPanelUp(a,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-select",exportAs:"matSelect",template:'
      ',styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform .4s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px}@media (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}"],inputs:["disabled","disableRipple","tabIndex"],encapsulation:d.qb.None,changeDetection:d.j.OnPush,host:{role:"listbox","[attr.id]":"id","[attr.tabindex]":"tabIndex","[attr.aria-label]":"_getAriaLabel()","[attr.aria-labelledby]":"_getAriaLabelledby()","[attr.aria-required]":"required.toString()","[attr.aria-disabled]":"disabled.toString()","[attr.aria-invalid]":"errorState","[attr.aria-owns]":"panelOpen ? _optionIds : null","[attr.aria-multiselectable]":"multiple","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-activedescendant]":"_getAriaActiveDescendant()","[class.mat-select-disabled]":"disabled","[class.mat-select-invalid]":"errorState","[class.mat-select-required]":"required","[class.mat-select-empty]":"empty",class:"mat-select","(keydown)":"_handleKeydown($event)","(focus)":"_onFocus()","(blur)":"_onBlur()"},animations:[k.transformPanelWrap,k.transformPanel],providers:[{provide:m.b,useExisting:e},{provide:f.f,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:p.f},{type:d.k},{type:d.Q},{type:f.b},{type:d.u},{type:a.b,decorators:[{type:d.R}]},{type:h.i,decorators:[{type:d.R}]},{type:h.d,decorators:[{type:d.R}]},{type:m.a,decorators:[{type:d.R}]},{type:h.h,decorators:[{type:d.eb},{type:d.R}]},{type:String,decorators:[{type:d.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:d.C,args:[D]}]},{type:o.g}]},e.propDecorators={trigger:[{type:d.nb,args:["trigger"]}],panel:[{type:d.nb,args:["panel"]}],overlayDir:[{type:d.nb,args:[u.a]}],options:[{type:d.s,args:[f.m,{descendants:!0}]}],optionGroups:[{type:d.s,args:[f.l]}],panelClass:[{type:d.G}],customTrigger:[{type:d.r,args:[M]}],placeholder:[{type:d.G}],required:[{type:d.G}],multiple:[{type:d.G}],disableOptionCentering:[{type:d.G}],compareWith:[{type:d.G}],value:[{type:d.G}],ariaLabel:[{type:d.G,args:["aria-label"]}],ariaLabelledby:[{type:d.G,args:["aria-labelledby"]}],errorStateMatcher:[{type:d.G}],sortComparator:[{type:d.G}],id:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],_closedStream:[{type:d.S,args:["closed"]}],selectionChange:[{type:d.S}],valueChange:[{type:d.S}]},e}(R),F=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[S.b,u.e,f.n,f.h],exports:[m.c,N,M,f.n,f.h],declarations:[N,M],providers:[T]}]}],t}()},uMaO:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(e,n){var r=t.call(this)||this;return r.subject=e,r.subscriber=n,r.closed=!1,r}return r.c(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("pugT").a)},v6lC:function(t,e,n){"use strict";n.d(e,"a",function(){return d});var r=n("CcnG"),i=n("o3x0"),o=n("Gwao"),a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] visible",Object(r.e)("200ms cubic-bezier(0, 0, 0.2, 1)",Object(r.h)([Object(r.l)({opacity:0,transform:"scale(0)",offset:0}),Object(r.l)({opacity:.5,transform:"scale(0.99)",offset:.5}),Object(r.l)({opacity:1,transform:"scale(1)",offset:1})]))),Object(r.m)("* => hidden",Object(r.e)("100ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({opacity:0})))])},x=20;function C(t){return Error('Tooltip position "'+t+'" is invalid.')}var O=new y.E("mat-tooltip-scroll-strategy");var E={provide:O,deps:[p.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition({scrollThrottle:x})}}},S=new y.E("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});var k=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){var d=this;this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=r,this._ngZone=i,this._ariaDescriber=a,this._focusMonitor=s,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new v.a,this._scrollStrategy=l;var h=e.nativeElement,f=h.style,g="undefined"==typeof window||window.Hammer||p;o.IOS||o.ANDROID?g||this._manualListeners.set("touchstart",function(){return d.show()}):this._manualListeners.set("mouseenter",function(){return d.show()}).set("mouseleave",function(){return d.hide()}),this._manualListeners.forEach(function(t,e){return h.addEventListener(e,t)}),"INPUT"!==h.nodeName&&"TEXTAREA"!==h.nodeName||(f.webkitUserSelect=f.userSelect=f.msUserSelect=""),h.draggable&&"none"===f.webkitUserDrag&&(f.webkitUserDrag=""),s.monitor(e).pipe(Object(m.a)(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&i.run(function(){return d.show()}):i.run(function(){return d.hide(0)})}),u&&u.position&&(this.position=u.position)}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(s.c)(t),this._disabled&&this.hide(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){return this._message},set:function(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?(""+t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipClass",{get:function(){return this._tooltipClass},set:function(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){var t=this;this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._manualListeners.forEach(function(e,n){t._elementRef.nativeElement.removeEventListener(n,e)}),this._manualListeners.clear(),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef)},t.prototype.show=function(t){var e=this;if(void 0===t&&(t=this.showDelay),!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new f.d(j,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Object(m.a)(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}},t.prototype.hide=function(t){void 0===t&&(t=this.hideDelay),this._tooltipInstance&&this._tooltipInstance.hide(t)},t.prototype.toggle=function(){this._isTooltipVisible()?this.hide():this.show()},t.prototype._isTooltipVisible=function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()},t.prototype._handleKeydown=function(t){this._isTooltipVisible()&&t.keyCode===l.g&&(t.stopPropagation(),this.hide(0))},t.prototype._handleTouchend=function(){this.hide(this._defaultOptions.touchendHideDelay)},t.prototype._createOverlay=function(){var t=this;if(this._overlayRef)return this._overlayRef;var e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8).withScrollableContainers(e);return n.positionChanges.pipe(Object(m.a)(this._destroyed)).subscribe(function(e){t._tooltipInstance&&e.scrollableViewProperties.isOverlayClipped&&t._tooltipInstance.isVisible()&&t._ngZone.run(function(){return t.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"mat-tooltip-panel",scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(Object(m.a)(this._destroyed)).subscribe(function(){return t._detach()}),this._overlayRef},t.prototype._detach=function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null},t.prototype._updatePosition=function(){var t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object(i.a)({},e.main,n.main),Object(i.a)({},e.fallback,n.fallback)])},t.prototype._getOrigin=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n||"below"==n)t={originX:"center",originY:"above"==n?"top":"bottom"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={originX:"start",originY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={originX:"end",originY:"center"}}var r=this._invertPosition(t.originX,t.originY);return{main:t,fallback:{originX:r.x,originY:r.y}}},t.prototype._getOverlayPosition=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n)t={overlayX:"center",overlayY:"bottom"};else if("below"==n)t={overlayX:"center",overlayY:"top"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={overlayX:"end",overlayY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={overlayX:"start",overlayY:"center"}}var r=this._invertPosition(t.overlayX,t.overlayY);return{main:t,fallback:{overlayX:r.x,overlayY:r.y}}},t.prototype._updateTooltipMessage=function(){var t=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(g.a)(1),Object(m.a)(this._destroyed)).subscribe(function(){t._tooltipInstance&&t._overlayRef.updatePosition()}))},t.prototype._setTooltipClass=function(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())},t.prototype._invertPosition=function(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}},t.decorators=[{type:y.t,args:[{selector:"[matTooltip]",exportAs:"matTooltip",host:{"(longpress)":"show()","(keydown)":"_handleKeydown($event)","(touchend)":"_handleTouchend()"}}]}],t.ctorParameters=function(){return[{type:p.b},{type:y.u},{type:d.c},{type:y.pb},{type:y.Q},{type:h.a},{type:o.c},{type:o.e},{type:void 0,decorators:[{type:y.C,args:[O]}]},{type:a.b,decorators:[{type:y.R}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[S]}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[u.d]}]}]},t.propDecorators={position:[{type:y.G,args:["matTooltipPosition"]}],disabled:[{type:y.G,args:["matTooltipDisabled"]}],showDelay:[{type:y.G,args:["matTooltipShowDelay"]}],hideDelay:[{type:y.G,args:["matTooltipHideDelay"]}],message:[{type:y.G,args:["matTooltip"]}],tooltipClass:[{type:y.G,args:["matTooltipClass"]}]},t}(),j=function(){function t(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new v.a,this._isHandset=this._breakpointObserver.observe(c.b.Handset)}return t.prototype.show=function(t){var e=this;this._hideTimeoutId&&(clearTimeout(this._hideTimeoutId),this._hideTimeoutId=null),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){e._visibility="visible",e._showTimeoutId=null,e._markForCheck()},t)},t.prototype.hide=function(t){var e=this;this._showTimeoutId&&(clearTimeout(this._showTimeoutId),this._showTimeoutId=null),this._hideTimeoutId=setTimeout(function(){e._visibility="hidden",e._hideTimeoutId=null,e._markForCheck()},t)},t.prototype.afterHidden=function(){return this._onHide.asObservable()},t.prototype.isVisible=function(){return"visible"===this._visibility},t.prototype.ngOnDestroy=function(){this._onHide.complete()},t.prototype._animationStart=function(){this._closeOnInteraction=!1},t.prototype._animationDone=function(t){var e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)},t.prototype._handleBodyInteraction=function(){this._closeOnInteraction&&this.hide(0)},t.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},t.decorators=[{type:y.n,args:[{selector:"mat-tooltip-component",template:'
      {{message}}
      ',styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],encapsulation:y.qb.None,changeDetection:y.j.OnPush,animations:[w.tooltipState],host:{"[style.zoom]":'_visibility === "visible" ? 1 : null',"(body:click)":"this._handleBodyInteraction()","aria-hidden":"true"}}]}],t.ctorParameters=function(){return[{type:y.k},{type:c.a}]},t}(),A=function(){function t(){}return t.decorators=[{type:y.L,args:[{imports:[o.a,b.b,p.e,_.h],exports:[k,j,_.h],declarations:[k,j],entryComponents:[j],providers:[E,{provide:u.c,useClass:_.c}]}]}],t}()},vARd:function(t,e,n){"use strict";n.d(e,"b",function(){return x}),n.d(e,"a",function(){return O});var r=n("K9Ia"),i=n("CcnG"),o=n("ihYY"),a=n("mrSG"),s=n("4c35"),l=n("t9fZ"),c=n("ny24"),u=n("eDkP"),p=n("Ip0R"),d=n("Wf4p"),h=n("UodH"),f=n("lLAP"),m=n("vGXY"),g=function(){function t(t,e){var n=this;this._overlayRef=e,this._afterDismissed=new r.a,this._afterOpened=new r.a,this._onAction=new r.a,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(function(){return n.dismiss()}),t._onExit.subscribe(function(){return n._finishDismiss()})}return t.prototype.dismiss=function(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)},t.prototype.dismissWithAction=function(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete())},t.prototype.closeWithAction=function(){this.dismissWithAction()},t.prototype._dismissAfter=function(t){var e=this;this._durationTimeoutId=setTimeout(function(){return e.dismiss()},t)},t.prototype._open=function(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1},t.prototype.afterDismissed=function(){return this._afterDismissed.asObservable()},t.prototype.afterOpened=function(){return this.containerInstance._onEnter},t.prototype.onAction=function(){return this._onAction.asObservable()},t}(),y=new i.E("MatSnackBarData"),v=function(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"},b=function(){function t(t,e){this.snackBarRef=t,this.data=e}return t.prototype.action=function(){this.snackBarRef.dismissWithAction()},Object.defineProperty(t.prototype,"hasAction",{get:function(){return!!this.data.action},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"simple-snack-bar",template:'{{data.message}}
      ',styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;height:100%;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}"],encapsulation:i.qb.None,changeDetection:i.j.OnPush,host:{class:"mat-simple-snackbar"}}]}],t.ctorParameters=function(){return[{type:g},{type:void 0,decorators:[{type:i.C,args:[y]}]}]},t}(),_={snackBarState:Object(o.n)("state",[Object(o.k)("void, hidden",Object(o.l)({transform:"scale(0.8)",opacity:0})),Object(o.k)("visible",Object(o.l)({transform:"scale(1)",opacity:1})),Object(o.m)("* => visible",Object(o.e)("150ms cubic-bezier(0, 0, 0.2, 1)")),Object(o.m)("* => void, * => hidden",Object(o.e)("75ms cubic-bezier(0.4, 0.0, 1, 1)",Object(o.l)({opacity:0})))])},w=function(t){function e(e,n,i,o){var a=t.call(this)||this;return a._ngZone=e,a._elementRef=n,a._changeDetectorRef=i,a.snackBarConfig=o,a._destroyed=!1,a._onExit=new r.a,a._onEnter=new r.a,a._animationState="void","assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?a._role=null:a._role="status":a._role="alert",a}return Object(a.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)},e.prototype.onAnimationEnd=function(t){var e=t.fromState,n=t.toState;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){var r=this._onEnter;this._ngZone.run(function(){r.next(),r.complete()})}},e.prototype.enter=function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges())},e.prototype.exit=function(){return this._animationState="hidden",this._onExit},e.prototype.ngOnDestroy=function(){this._destroyed=!0,this._completeExit()},e.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(l.a)(1)).subscribe(function(){t._onExit.next(),t._onExit.complete()})},e.prototype._applySnackBarClasses=function(){var t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(function(e){return t.classList.add(e)}):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")},e.prototype._assertNotAttached=function(){if(this._portalOutlet.hasAttached())throw Error("Attempting to attach snack bar content after content is already attached")},e.decorators=[{type:i.n,args:[{selector:"snack-bar-container",template:"",styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}@media (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],changeDetection:i.j.Default,encapsulation:i.qb.None,animations:[_.snackBarState],host:{"[attr.role]":"_role",class:"mat-snack-bar-container","[@state]":"_animationState","(@state.done)":"onAnimationEnd($event)"}}]}],e.ctorParameters=function(){return[{type:i.Q},{type:i.u},{type:i.k},{type:v}]},e.propDecorators={_portalOutlet:[{type:i.nb,args:[s.c]}]},e}(s.a),x=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[u.e,s.h,p.b,h.b,d.h],exports:[w,d.h],declarations:[w,b],entryComponents:[w,b]}]}],t}(),C=new i.E("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new v}});var O=function(){function t(t,e,n,r,i,o){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=r,this._parentSnackBar=i,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackBarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,e){return this._attach(t,e)},t.prototype.openFromTemplate=function(t,e){return this._attach(t,e)},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=Object(a.a)({},this._defaultConfig,n);return r.data={message:t,action:e},r.announcementMessage||(r.announcementMessage=t),this.openFromComponent(b,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[v,e]])),i=new s.d(w,e.viewContainerRef,r),o=t.attach(i);return o.instance.snackBarConfig=e,o.instance},t.prototype._attach=function(t,e){var n=Object(a.a)({},new v,this._defaultConfig,e),r=this._createOverlay(n),o=this._attachSnackBarContainer(r,n),u=new g(o,r);if(t instanceof i.jb){var p=new s.i(t,null,{$implicit:n.data,snackBarRef:u});u.instance=o.attachTemplatePortal(p)}else{var d=this._createInjector(n,u),h=(p=new s.d(t,void 0,d),o.attachComponentPortal(p));u.instance=h.instance}return this._breakpointObserver.observe(m.b.Handset).pipe(Object(c.a)(r.detachments().pipe(Object(l.a)(1)))).subscribe(function(t){t.matches?r.overlayElement.classList.add("mat-snack-bar-handset"):r.overlayElement.classList.remove("mat-snack-bar-handset")}),this._animateSnackBar(u,n),this._openedSnackBarRef=u,this._openedSnackBarRef},t.prototype._animateSnackBar=function(t,e){var n=this;t.afterDismissed().subscribe(function(){n._openedSnackBarRef==t&&(n._openedSnackBarRef=null),e.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(function(){return t._dismissAfter(e.duration)}),e.announcementMessage&&this._live.announce(e.announcementMessage,e.politeness)},t.prototype._createOverlay=function(t){var e=new u.c;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new s.g(n||this._injector,new WeakMap([[g,e],[y,t.data]]))},t.decorators=[{type:i.D,args:[{providedIn:x}]}],t.ctorParameters=function(){return[{type:u.b},{type:f.g},{type:i.F},{type:m.a},{type:t,decorators:[{type:i.R},{type:i.fb}]},{type:v,decorators:[{type:i.C,args:[C]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(u.b),Object(i.xb)(f.g),Object(i.xb)(i.B),Object(i.xb)(m.a),Object(i.xb)(t,12),Object(i.xb)(C))},token:t,providedIn:x}),t}()},vGXY:function(t,e,n){"use strict";var r=n("CcnG"),i=n("dWZg"),o=n("K9Ia"),a=n("dzgT"),s=n("KQya"),l=n("6blF"),c=n("isby"),u=n("2Bdj"),p=n("67Y/");var d=n("Gi3i"),h=n("p0Sj"),f=n("ny24"),m=n("n6gG");n.d(e,"a",function(){return _}),n.d(e,"b",function(){return x});!function(){function t(){}t.decorators=[{type:r.L,args:[{}]}]}();var g,y=new Set,v=function(){function t(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):b}return t.prototype.matchMedia=function(t){return this.platform.WEBKIT&&function(t){if(y.has(t))return;try{g||((g=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(g)),g.sheet&&(g.sheet.insertRule("@media "+t+" {.fx-query-test{ }}",0),y.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(i.a))},token:t,providedIn:"root"}),t}();function b(t){return{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}var _=function(){function t(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new o.a}return t.prototype.ngOnDestroy=function(){this._destroySubject.next(),this._destroySubject.complete()},t.prototype.isMatched=function(t){var e=this;return w(Object(m.b)(t)).some(function(t){return e._registerQuery(t).mql.matches})},t.prototype.observe=function(t){var e=this,n=w(Object(m.b)(t)).map(function(t){return e._registerQuery(t).observable});return Object(a.a)(n).pipe(Object(d.a)(0,s.a),Object(p.a)(function(t){var e={matches:!1,breakpoints:{}};return t.forEach(function(t){e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))},t.prototype._registerQuery=function(t){var e=this;if(this._queries.has(t))return this._queries.get(t);var n,r=this.mediaMatcher.matchMedia(t),i={observable:function t(e,n,r){return r?t(e,n).pipe(Object(p.a)(function(t){return Object(c.a)(t)?r.apply(void 0,t):r(t)})):new l.a(function(t){var r,i=function(){for(var e=[],n=0;n0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.destination.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.a.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.scheduleNotification(a.a.createComplete()),this.unsubscribe()},e}(o.a),u=function(){return function(t,e){this.time=t,this.notification=e}}()},"w+lc":function(t,e,n){"use strict";n.d(e,"a",function(){return b});var r=n("mrSG"),i=n("lLAP"),o=n("Fzqc"),a=n("n6gG"),s=n("YSh2"),l=n("CcnG"),c=n("gIcY"),u=n("Wf4p"),p=n("wFw1"),d=n("pugT"),h=n("Ip0R"),f=n("ZYjt"),m={provide:c.g,useExisting:Object(l.vb)(function(){return v}),multi:!0},g=function(){},y=function(t){this._elementRef=t},v=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e)||this;return s._focusMonitor=n,s._changeDetectorRef=r,s._dir=i,s._animationMode=a,s._invert=!1,s._max=100,s._min=0,s._step=1,s._thumbLabel=!1,s._tickInterval=0,s._value=null,s._vertical=!1,s.change=new l.x,s.input=new l.x,s.valueChange=new l.x,s.onTouched=function(){},s._percent=0,s._isSliding=!1,s._isActive=!1,s._tickIntervalPercent=0,s._sliderDimensions=null,s._controlValueAccessorChangeFn=function(){},s._dirChangeSubscription=d.a.EMPTY,s.tabIndex=parseInt(o)||0,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"invert",{get:function(){return this._invert},set:function(t){this._invert=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(t){this._max=Object(a.f)(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(t){this._min=Object(a.f)(t,this._min),null===this._value&&(this.value=this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"step",{get:function(){return this._step},set:function(t){this._step=Object(a.f)(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"thumbLabel",{get:function(){return this._thumbLabel},set:function(t){this._thumbLabel=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tickInterval",{get:function(){return this._tickInterval},set:function(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Object(a.f)(t,this._tickInterval):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return null===this._value&&(this.value=this._min),this._value},set:function(t){if(t!==this._value){var e=Object(a.f)(t);this._roundToDecimal&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"displayValue",{get:function(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this._focusHostElement()},e.prototype.blur=function(){this._blurHostElement()},Object.defineProperty(e.prototype,"percent",{get:function(){return this._clamp(this._percent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_invertAxis",{get:function(){return this.vertical?!this.invert:this.invert},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_isMinValue",{get:function(){return 0===this.percent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbGap",{get:function(){return this.disabled?7:this._isMinValue&&!this.thumbLabel?this._isActive?10:7:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackBackgroundStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+(1-this.percent)+", 1":1-this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"-":"")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackFillStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+this.percent+", 1":this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"":"-")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"-":"")+this._tickIntervalPercent/2*100+"%)"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksStyles",{get:function(){var t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?"2px "+t+"%":t+"% 2px",transform:"translateZ(0) translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"":"-")+t/2+"%)"+(this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)")};this._isMinValue&&this._thumbGap&&(e["padding"+(this.vertical?this._invertAxis?"Bottom":"Top":this._invertAxis?"Right":"Left")]=this._thumbGap+"px");return e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"(-"+100*(("rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis)?this.percent:1-this.percent)+"%)"}},enumerable:!0,configurable:!0}),e.prototype._shouldInvertMouseCoords=function(){return"rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis},e.prototype._getDirection=function(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"},e.prototype.ngOnInit=function(){var t=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(e){t._isActive=!!e&&"keyboard"!==e,t._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(function(){t._changeDetectorRef.markForCheck()}))},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()},e.prototype._onMouseenter=function(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())},e.prototype._onMousedown=function(t){if(!this.disabled&&0===t.button){var e=this.value;this._isSliding=!1,this._focusHostElement(),this._updateValueFromPosition({x:t.clientX,y:t.clientY}),e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent())}},e.prototype._onSlide=function(t){if(!this.disabled){this._isSliding||this._onSlideStart(null),t.preventDefault();var e=this.value;this._updateValueFromPosition({x:t.center.x,y:t.center.y}),e!=this.value&&this._emitInputEvent()}},e.prototype._onSlideStart=function(t){this.disabled||this._isSliding||(this._onMouseenter(),this._isSliding=!0,this._focusHostElement(),this._valueOnSlideStart=this.value,t&&(this._updateValueFromPosition({x:t.center.x,y:t.center.y}),t.preventDefault()))},e.prototype._onSlideEnd=function(){this._isSliding=!1,this._valueOnSlideStart==this.value||this.disabled||this._emitChangeEvent(),this._valueOnSlideStart=null},e.prototype._onFocus=function(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()},e.prototype._onBlur=function(){this.onTouched()},e.prototype._onKeydown=function(t){if(!this.disabled&&!Object(s.s)(t)){var e=this.value;switch(t.keyCode){case s.l:this._increment(10);break;case s.k:this._increment(-10);break;case s.e:this.value=this.max;break;case s.h:this.value=this.min;break;case s.i:this._increment("rtl"==this._getDirection()?1:-1);break;case s.p:this._increment(1);break;case s.m:this._increment("rtl"==this._getDirection()?-1:1);break;case s.d:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding=!0,t.preventDefault()}},e.prototype._onKeyup=function(){this._isSliding=!1},e.prototype._increment=function(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)},e.prototype._updateValueFromPosition=function(t){if(this._sliderDimensions){var e=this.vertical?this._sliderDimensions.top:this._sliderDimensions.left,n=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,r=this.vertical?t.y:t.x,i=this._clamp((r-e)/n);if(this._shouldInvertMouseCoords()&&(i=1-i),0===i)this.value=this.min;else if(1===i)this.value=this.max;else{var o=this._calculateValue(i),a=Math.round((o-this.min)/this.step)*this.step+this.min;this.value=this._clamp(a,this.min,this.max)}}},e.prototype._emitChangeEvent=function(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())},e.prototype._emitInputEvent=function(){this.input.emit(this._createChangeEvent())},e.prototype._updateTickIntervalPercent=function(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){var t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=t*this.step/(this.max-this.min),n=Math.ceil(30/e)*this.step;this._tickIntervalPercent=n/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)},e.prototype._createChangeEvent=function(t){void 0===t&&(t=this.value);var e=new g;return e.source=this,e.value=t,e},e.prototype._calculatePercentage=function(t){return((t||0)-this.min)/(this.max-this.min)},e.prototype._calculateValue=function(t){return this.min+t*(this.max-this.min)},e.prototype._clamp=function(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),Math.max(e,Math.min(t,n))},e.prototype._getSliderDimensions=function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null},e.prototype._focusHostElement=function(){this._elementRef.nativeElement.focus()},e.prototype._blurHostElement=function(){this._elementRef.nativeElement.blur()},e.prototype.writeValue=function(t){this.value=t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t},e.decorators=[{type:l.n,args:[{selector:"mat-slider",exportAs:"matSlider",providers:[m],host:{"(focus)":"_onFocus()","(blur)":"_onBlur()","(mousedown)":"_onMousedown($event)","(keydown)":"_onKeydown($event)","(keyup)":"_onKeyup()","(mouseenter)":"_onMouseenter()","(slide)":"_onSlide($event)","(slideend)":"_onSlideEnd()","(slidestart)":"_onSlideStart($event)",class:"mat-slider",role:"slider","[tabIndex]":"tabIndex","[attr.aria-disabled]":"disabled","[attr.aria-valuemax]":"max","[attr.aria-valuemin]":"min","[attr.aria-valuenow]":"value","[attr.aria-orientation]":'vertical ? "vertical" : "horizontal"',"[class.mat-slider-disabled]":"disabled","[class.mat-slider-has-ticks]":"tickInterval","[class.mat-slider-horizontal]":"!vertical","[class.mat-slider-axis-inverted]":"_invertAxis","[class.mat-slider-sliding]":"_isSliding","[class.mat-slider-thumb-label-showing]":"thumbLabel","[class.mat-slider-vertical]":"vertical","[class.mat-slider-min-value]":"_isMinValue","[class.mat-slider-hide-last-tick]":"disabled || _isMinValue && _thumbGap && _invertAxis","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},template:'
      {{displayValue}}
      ',styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],inputs:["disabled","color","tabIndex"],encapsulation:l.qb.None,changeDetection:l.j.OnPush}]}],e.ctorParameters=function(){return[{type:l.u},{type:i.e},{type:l.k},{type:o.b,decorators:[{type:l.R}]},{type:String,decorators:[{type:l.h,args:["tabindex"]}]},{type:String,decorators:[{type:l.R},{type:l.C,args:[p.a]}]}]},e.propDecorators={invert:[{type:l.G}],max:[{type:l.G}],min:[{type:l.G}],step:[{type:l.G}],thumbLabel:[{type:l.G}],tickInterval:[{type:l.G}],value:[{type:l.G}],displayWith:[{type:l.G}],vertical:[{type:l.G}],change:[{type:l.S}],input:[{type:l.S}],valueChange:[{type:l.S}],_sliderWrapper:[{type:l.nb,args:["sliderWrapper"]}]},e}(Object(u.y)(Object(u.u)(Object(u.w)(y),"accent"))),b=function(){function t(){}return t.decorators=[{type:l.L,args:[{imports:[h.b,u.h],exports:[v,u.h],declarations:[v],providers:[{provide:f.c,useClass:u.c}]}]}],t}()},wFw1:function(t,e,n){"use strict";var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("ihYY");function s(){return"undefined"!=typeof process}function l(t){switch(t.length){case 0:return new a.d;case 1:return t[0];default:return new a.o(t)}}function c(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(t){var n=t.offset,r=n==c,p=r&&u||{};Object.keys(t).forEach(function(n){var r=n,l=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),l){case a.p:l=i[n];break;case a.a:l=o[n];break;default:l=e.normalizeStyleValue(n,r,l,s)}p[r]=l}),r||l.push(p),u=p,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function u(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&p(n,"start",t))});break;case"done":t.onDone(function(){return r(n&&p(n,"done",t))});break;case"destroy":t.onDestroy(function(){return r(n&&p(n,"destroy",t))})}}function p(t,e,n){var r=n.totalTime,i=!!n.disabled,o=d(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==r?t.totalTime:r,i),a=t._data;return null!=a&&(o._data=a),o}function d(t,e,n,r,i,o,a){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o,disabled:!!a}}function h(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function f(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var m=function(t,e){return!1},g=function(t,e){return!1},y=function(t,e,n){return[]},v=s();(v||"undefined"!=typeof Element)&&(m=function(t,e){return t.contains(e)},g=function(){if(v||Element.prototype.matches)return function(t,e){return t.matches(e)};var t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?function(t,n){return e.apply(t,[n])}:g}(),y=function(t,e,n){var i=[];if(n)i.push.apply(i,Object(r.g)(t.querySelectorAll(e)));else{var o=t.querySelector(e);o&&i.push(o)}return i});var b=null,_=!1;function w(t){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},_=!!b.style&&"WebkitAppearance"in b.style);var e=!0;b.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&(!(e=t in b.style)&&_&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in b.style));return e}var x=g,C=m,O=y;function E(t){var e={};return Object.keys(t).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[r]=t[n]}),e}var S=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===o&&(o=[]),new a.d(n,r)},t=Object(r.b)([Object(i.D)()],t)}(),k=function(){function t(){}return t.NOOP=new S,t}(),j=1e3,A=".ng-trigger",D=".ng-animating";function T(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:P(parseFloat(e[1]),e[2])}function P(t,e){switch(e){case"s":return t*j;default:return t}}function I(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=P(parseFloat(a[1]),a[2]);var s=a[3];null!=s&&(i=P(parseFloat(s),a[4]));var l=a[5];l&&(o=l)}else r=t;if(!n){var c=!1,u=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&e.splice(u,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function R(t,e){return void 0===e&&(e={}),Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function M(t){var e={};return Array.isArray(t)?t.forEach(function(t){return N(t,!1,e)}):N(t,!1,e),e}function N(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else R(t,n);return n}function F(t,e,n){return n?e+":"+n+";":""}function L(t){for(var e="",n=0;n *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],a=i[2],s=i[3];e.push(nt(o,s));var l=o==$&&s==$;"<"!=a[0]||l||e.push(nt(s,o))}(t,n,e)}):n.push(t),n}var tt=new Set(["true","1"]),et=new Set(["false","0"]);function nt(t,e){var n=tt.has(t)||et.has(t),r=tt.has(e)||et.has(e);return function(i,o){var a=t==$||t==i,s=e==$||e==o;return!a&&n&&"boolean"==typeof i&&(a=i?tt.has(t):et.has(t)),!s&&r&&"boolean"==typeof o&&(s=o?tt.has(e):et.has(e)),a&&s}}var rt=":self",it=new RegExp("s*"+rt+"s*,?","g");function ot(t,e,n){return new at(t).build(e,n)}var at=function(){function t(t){this._driver=t}return t.prototype.build=function(t,e){var n=new st(e);return this._resetContextStyleTimingState(n),X(this,z(t),n)},t.prototype._resetContextStyleTimingState=function(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0},t.prototype.visitTrigger=function(t,e){var n=this,r=e.queryCount=0,i=e.depCount=0,o=[],a=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(function(t){if(n._resetContextStyleTimingState(e),0==t.type){var s=t,l=s.name;l.toString().split(/\s*,\s*/).forEach(function(t){s.name=t,o.push(n.visitState(s,e))}),s.name=l}else if(1==t.type){var c=n.visitTransition(t,e);r+=c.queryCount,i+=c.depCount,a.push(c)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:o,transitions:a,queryCount:r,depCount:i,options:null}},t.prototype.visitState=function(t,e){var n=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(n.containsDynamicStyles){var i=new Set,o=r||{};if(n.styles.forEach(function(t){if(lt(t)){var e=t;Object.keys(e).forEach(function(t){U(e[t]).forEach(function(t){o.hasOwnProperty(t)||i.add(t)})})}}),i.size){var a=q(i.values());e.errors.push('state("'+t.name+'", ...) must define default values for all the following style substitutions: '+a.join(", "))}}return{type:0,name:t.name,style:n,options:r?{params:r}:null}},t.prototype.visitTransition=function(t,e){e.queryCount=0,e.depCount=0;var n=X(this,z(t.animation),e);return{type:1,matchers:J(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:ct(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map(function(t){return X(n,t,e)}),options:ct(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map(function(t){e.currentTime=r;var o=X(n,t,e);return i=Math.max(i,e.currentTime),o});return e.currentTime=i,{type:3,steps:o,options:ct(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t){return ut(I(t,e).duration,0,"")}var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=ut(0,0,"");return i.dynamic=!0,i.strValue=r,i}return ut((n=n||I(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Object(a.l)({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var l={};r.easing&&(l.easing=r.easing),o=Object(a.l)(l)}e.currentTime+=r.duration+r.delay;var c=this.visitStyle(o,e);c.isEmptyStep=s,n=c}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach(function(t){"string"==typeof t?t==a.a?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)}):n.push(t.styles);var r=!1,i=null;return n.forEach(function(t){if(lt(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e){if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}}),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(r){if(n._driver.validateStyleProperty(r)){var a,s,l,c,u,p=e.collectedStyles[e.currentQuerySelector],d=p[r],h=!0;d&&(o!=i&&o>=d.startTime&&i<=d.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+d.startTime+'ms" and "'+d.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),h=!1),o=d.startTime),h&&(p[r]={startTime:o,endTime:i}),e.options&&(a=t[r],s=e.options,l=e.errors,c=s.params||{},(u=U(a)).length&&u.forEach(function(t){c.hasOwnProperty(t)||l.push("Unable to resolve the local animation param "+t+" in the given list of values")}))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],a=!1,s=!1,l=0,c=t.steps.map(function(t){var r=n._makeStyleAst(t,e),c=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),u=0;return null!=c&&(i++,u=r.offset=c),s=s||u<0||u>1,a=a||u0&&i0?i==d?1:p*i:o[i],s=a*m;e.currentTime=h+f.delay+s,f.duration=s,n._validateStyleAst(t,e),t.offset=a,r.styles.push(t)}),r},t.prototype.visitReference=function(t,e){return{type:8,animation:X(this,z(t.animation),e),options:ct(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:ct(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ct(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;var o=Object(r.f)(function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return t==rt});e&&(t=t.replace(it,""));return[t=t.replace(/@\*/g,A).replace(/@\w+/g,function(t){return A+"-"+t.substr(1)}).replace(/:animating/g,D),e]}(t.selector),2),a=o[0],s=o[1];e.currentQuerySelector=n.length?n+" "+a:a,h(e.collectedStyles,e.currentQuerySelector,{});var l=X(this,z(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:a,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:l,originalSelector:t.selector,options:ct(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:I(t.timings,e.errors,!0);return{type:12,animation:X(this,z(t.animation),e),timings:n,options:null}},t}();var st=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function lt(t){return!Array.isArray(t)&&"object"==typeof t}function ct(t){var e;return t?(t=R(t)).params&&(t.params=(e=t.params)?R(e):null):t={},t}function ut(t,e,n){return{duration:t,delay:e,easing:n}}function pt(t,e,n,r,i,o,a,s){return void 0===a&&(a=null),void 0===s&&(s=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:a,subTimeline:s}}var dt=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,Object(r.g)(e))},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),ht=new RegExp(":enter","g"),ft=new RegExp(":leave","g");function mt(t,e,n,r,i,o,a,s,l,c){return void 0===o&&(o={}),void 0===a&&(a={}),void 0===c&&(c=[]),(new gt).buildKeyframes(t,e,n,r,i,o,a,s,l,c)}var gt=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,a,s,l,c){void 0===c&&(c=[]),l=l||new dt;var u=new vt(t,e,l,r,i,c,[]);u.options=s,u.currentTimeline.setStyles([o],null,u.errors,s),X(this,n,u);var p=u.timelines.filter(function(t){return t.containsAnimation()});if(p.length&&Object.keys(a).length){var d=p[p.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,u.errors,s)}return p.length?p.map(function(t){return t.buildKeyframes()}):[pt(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?T(n.duration):null,o=null!=n.delay?T(n.delay):null;return 0!==i&&t.forEach(function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)}),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),X(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=yt);var a=T(o.delay);i.delayNextStep(a)}t.steps.length&&(t.steps.forEach(function(t){return X(n,t,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?T(t.options.delay):0;t.steps.forEach(function(a){var s=e.createSubContext(t.options);o&&s.delayNextStep(o),X(n,a,s),i=Math.max(i,s.currentTimeline.currentTime),r.push(s.currentTimeline)}),r.forEach(function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)}),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return I(e.params?G(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(function(t){var n=t.offset||0;o.forwardTime(n*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?T(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=yt);var a=r,s=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=s.length;var l=null;s.forEach(function(r,i){e.currentQueryIndex=i;var s=e.createSubContext(t.options,r);o&&s.delayNextStep(o),r===e.element&&(l=s.currentTimeline),X(n,t.animation,s),s.currentTimeline.applyStylesToKeyframe();var c=s.currentTimeline.currentTime;a=Math.max(a,c)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),a=o*(e.currentQueryTotal-1),s=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var l=e.currentTimeline;s&&l.delayNextStep(s);var c=l.currentTime;X(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-c+(r.startTime-n.currentTimeline.startTime)},t}(),yt={},vt=function(){function t(t,e,n,r,i,o,a,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=yt,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new bt(this._driver,e,0),a.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=T(r.duration)),null!=r.delay&&(i.delay=T(r.delay));var o=r.params;if(o){var a=i.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(t){e&&a.hasOwnProperty(t)||(a[t]=G(o[t],a,n.errors))})}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach(function(t){n[t]=e[t]})}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=yt,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new _t(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,i,o,a){var s=[];if(i&&s.push(this.element),t.length>0){t=(t=t.replace(ht,"."+this._enterClassName)).replace(ft,"."+this._leaveClassName);var l=1!=n,c=this._driver.query(this.element,t,l);0!==n&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),s.push.apply(s,Object(r.g)(c))}return o||0!=s.length||a.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),bt=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(t){e._backFill[t]=e._globalTimelineStyles[t]||a.a,e._currentKeyframe[t]=a.a}),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach(function(t){"*"===t?(n=n||Object.keys(e)).forEach(function(t){r[t]=a.a}):N(t,!1,r)}),r}(t,this._globalTimelineStyles);Object.keys(s).forEach(function(t){var e=G(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:a.a),i._updateStyle(t,e)})},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){var r=e[n];t._currentKeyframe[n]=r}),Object.keys(this._localTimelineStyles).forEach(function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])}))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)})},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach(function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)})},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach(function(o,s){var l=N(o,!0);Object.keys(l).forEach(function(t){var r=l[t];r==a.p?e.add(t):r==a.a&&n.add(t)}),r||(l.offset=s/t.duration),i.push(l)});var o=e.size?q(e.values()):[],s=n.size?q(n.values()):[];if(r){var l=i[0],c=R(l);l.offset=0,c.offset=1,i=[l,c]}return pt(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),_t=function(t){function e(e,n,r,i,o,a,s){void 0===s&&(s=!1);var l=t.call(this,e,n,a.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=s,l.timings={duration:a.duration,delay:a.delay,easing:a.easing},l}return Object(r.c)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=r+n,s=n/a,l=N(t[0],!1);l.offset=0,o.push(l);var c=N(t[0],!1);c.offset=wt(s),o.push(c);for(var u=t.length-1,p=1;p<=u;p++){var d=N(t[p],!1),h=n+d.offset*r;d.offset=wt(h/a),o.push(d)}r=a,n=0,i="",t=o}return pt(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(bt);function wt(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}!function(){function t(t,e){this._driver=t;var n=[],r=ot(t,e,n);if(n.length){var i="animation validation failed:\n"+n.join("\n");throw new Error(i)}this._animationAst=r}t.prototype.buildTimelines=function(t,e,n,r,i){var o=Array.isArray(e)?M(e):e,a=Array.isArray(n)?M(n):n,s=[];i=i||new dt;var l=mt(this._driver,t,this._animationAst,"ng-enter","ng-leave",o,a,r,i,s);if(s.length){var c="animation building failed:\n"+s.join("\n");throw new Error(c)}return l}}();var xt,Ct,Ot=function(){},Et=(function(){function t(){}t.prototype.normalizePropertyName=function(t,e){return t},t.prototype.normalizeStyleValue=function(t,e,n,r){return n}}(),function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.normalizePropertyName=function(t,e){return Y(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(St[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(Ot)),St=(xt="width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","),Ct={},xt.forEach(function(t){return Ct[t]=!0}),Ct);function kt(t,e,n,r,i,o,a,s,l,c,u,p,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:a,timelines:s,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:p,errors:d}}var jt={},At=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e,n,r){return function(t,e,n,r,i){return t.some(function(t){return t(e,n,r,i)})}(this.ast.matchers,t,e,n,r)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,i,o,a,s,l,c,u){var p=[],d=this.ast.options&&this.ast.options.params||jt,f=s&&s.params||jt,m=this.buildStyles(n,f,p),g=l&&l.params||jt,y=this.buildStyles(i,g,p),v=new Set,b=new Map,_=new Map,w="void"===i,x={params:Object(r.a)({},d,g)},C=u?[]:mt(t,e,this.ast.animation,o,a,m,y,x,c,p),O=0;if(C.forEach(function(t){O=Math.max(t.duration+t.delay,O)}),p.length)return kt(e,this._triggerName,n,i,w,m,y,[],[],b,_,O,p);C.forEach(function(t){var n=t.element,r=h(b,n,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=h(_,n,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),n!==e&&v.add(n)});var E=q(v.values());return kt(e,this._triggerName,n,i,w,m,y,C,E,b,_,O)},t}();var Dt=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=R(this.defaultParams);return Object.keys(t).forEach(function(e){var n=t[e];null!=n&&(r[e]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach(function(t){var o=i[t];o.length>1&&(o=G(o,r,e)),n[t]=o})}}),n},t}();var Tt=function(){function t(t,e){var n,r,i=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){var e=t.options&&t.options.params||{};i.states[t.name]=new Dt(t.style,e)}),Pt(this.states,"true","1"),Pt(this.states,"false","0"),e.transitions.forEach(function(e){i.transitionFactories.push(new At(t,e,i.states))}),this.fallbackTransition=(n=t,r=this.states,new At(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},r))}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e,n,r){return this.transitionFactories.find(function(i){return i.match(t,e,n,r)})||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function Pt(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var It=new dt,Rt=function(){function t(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=ot(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=c(this._driver,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[],!0)},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],c=new Map;if(s?(i=mt(this._driver,e,s,"ng-enter","ng-leave",{},{},n,It,o)).forEach(function(t){var e=h(c,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));c.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=r._driver.computeStyle(e,n,a.a)})});var u=l(i.map(function(t){var e=c.get(t.element);return r._buildPlayer(t,{},e)}));return this._playersById[t]=u,u.onDestroy(function(){return r.destroy(t)}),this.players.push(u),u},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=d(e,"","","");return u(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else{var o=r[0]||{};this.create(t,e,o)}else this.register(t,r[0])},t}(),Mt=[],Nt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ft={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Lt="__ng_removed",Vt=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value"),r=n?t.value:t;if(this.value=function(t){return null!=t?t:null}(r),n){var i=R(t);delete i.value,this.options=i}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach(function(t){null==n[t]&&(n[t]=e[t])})}},t}(),Bt=new Vt("void"),zt=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Qt(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var a=h(this._elementListeners,t,[]),s={name:e,phase:n,callback:r};a.push(s);var l=h(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),l[e]=Bt),function(){o._engine.afterFlush(function(){var t=a.indexOf(s);t>=0&&a.splice(t,1),o._triggers[e]||delete l[e]})}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),a=new Ut(this.id,e,t),s=this._engine.statesByElement.get(t);s||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,s={}));var l=s[e],c=new Vt(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),s[e]=c,l||(l=Bt),"void"===c.value||l.value!==c.value){var u=h(this._engine.playersByElement,t,[]);u.forEach(function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()});var p=o.matchTransition(l.value,c.value,t,c.params),d=!1;if(!p){if(!r)return;p=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:p,fromState:l,toState:c,player:a,isFallbackTransition:d}),d||(Qt(t,"ng-animate-queued"),a.onStart(function(){Xt(t,"ng-animate-queued")})),a.onDone(function(){var e=i.players.indexOf(a);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),u.push(a),a}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--){var o=this._namespaceList[i];if(this.driver.containsElement(o.hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(e)})}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0&&this.collectedLeaveElements.splice(o,1)}if(t){var a=this._fetchNamespace(t);a&&a.insertNode(e,n)}r&&this.collectEnterElement(e)}},t.prototype.collectEnterElement=function(t){this.collectedEnterElements.push(t)},t.prototype.markElementAsDisabled=function(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Qt(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Xt(t,"ng-animate-disabled"))},t.prototype.removeNode=function(t,e,n,r){if(Gt(e)){var i=t?this._fetchNamespace(t):null;if(i?i.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),n){var o=this.namespacesByHostElement.get(e);o&&o.id!==t&&o.removeNode(e,r)}}else this._onRemovalComplete(e,r)},t.prototype.markElementAsRemoved=function(t,e,n,r){this.collectedLeaveElements.push(e),e[Lt]={namespaceId:t,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}},t.prototype.listen=function(t,e,n,r,i){return Gt(e)?this._fetchNamespace(t).listen(e,n,r,i):function(){}},t.prototype._buildInstruction=function(t,e,n,r,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,r,t.fromState.options,t.toState.options,e,i)},t.prototype.destroyInnerAnimations=function(t){var e=this,n=this.driver.query(t,A,!0);n.forEach(function(t){return e.destroyActiveAnimationsForElement(t)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(t,D,!0)).forEach(function(t){return e.finishActiveQueriedAnimationOnElement(t)})},t.prototype.destroyActiveAnimationsForElement=function(t){var e=this.playersByElement.get(t);e&&e.forEach(function(t){t.queued?t.markedForDestroy=!0:t.destroy()})},t.prototype.finishActiveQueriedAnimationOnElement=function(t){var e=this.playersByQueriedElement.get(t);e&&e.forEach(function(t){return t.finish()})},t.prototype.whenRenderingDone=function(){var t=this;return new Promise(function(e){if(t.players.length)return l(t.players).onDone(function(){return e()});e()})},t.prototype.processLeaveNode=function(t){var e=this,n=t[Lt];if(n&&n.setForRemoval){if(t[Lt]=Nt,n.namespaceId){this.destroyInnerAnimations(t);var r=this._fetchNamespace(n.namespaceId);r&&r.clearElementCache(t)}this._onRemovalComplete(t,n.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(function(t){e.markElementAsDisabled(t,!1)})},t.prototype.flush=function(t){var e=this;void 0===t&&(t=-1);var n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var r=0;r=0;j--){this._namespaceList[j].drainQueuedTransitions(e).forEach(function(t){var e=t.player,r=t.element;if(S.push(e),n.collectedEnterElements.length){var a=r[Lt];if(a&&a.setForMove)return void e.destroy()}var s=!m||!n.driver.containsElement(m,r),l=O.get(r),f=v.get(r),g=n._buildInstruction(t,i,f,l,s);if(g.errors&&g.errors.length)k.push(g);else{if(s)return e.onStart(function(){return B(r,g.fromStyles)}),e.onDestroy(function(){return V(r,g.toStyles)}),void o.push(e);if(t.isFallbackTransition)return e.onStart(function(){return B(r,g.fromStyles)}),e.onDestroy(function(){return V(r,g.toStyles)}),void o.push(e);g.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),i.append(r,g.timelines);var y={instruction:g,player:e,element:r};c.push(y),g.queriedElements.forEach(function(t){return h(u,t,[]).push(e)}),g.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=p.get(e);r||p.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),g.postStyleProps.forEach(function(t,e){var n=Object.keys(t),r=d.get(e);r||d.set(e,r=new Set),n.forEach(function(t){return r.add(t)})})}})}if(k.length){var A=[];k.forEach(function(t){A.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return A.push("- "+t+"\n")})}),S.forEach(function(t){return t.destroy()}),this.reportError(A)}var T=new Map,P=new Map;c.forEach(function(t){var e=t.element;i.has(e)&&(P.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,T))}),o.forEach(function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){h(T,e,[]).push(t),t.destroy()})});var I=_.filter(function(t){return $t(t,p,d)}),R=new Map;Wt(R,this.driver,x,d,a.a).forEach(function(t){$t(t,p,d)&&I.push(t)});var M=new Map;y.forEach(function(t,e){Wt(M,n.driver,new Set(t),p,a.p)}),I.forEach(function(t){var e=R.get(t),n=M.get(t);R.set(t,Object(r.a)({},e,n))});var N=[],F=[],L={};c.forEach(function(t){var e=t.element,r=t.player,a=t.instruction;if(i.has(e)){if(f.has(e))return r.onDestroy(function(){return V(e,a.toStyles)}),r.disabled=!0,r.overrideTotalTime(a.totalTime),void o.push(r);var c=L;if(P.size>1){for(var u=e,p=[];u=u.parentNode;){var d=P.get(u);if(d){c=d;break}p.push(u)}p.forEach(function(t){return P.set(t,c)})}var h=n._buildAnimation(r.namespaceId,a,T,s,M,R);if(r.setRealPlayer(h),c===L)N.push(r);else{var m=n.playersByElement.get(c);m&&m.length&&(r.parentPlayer=l(m)),o.push(r)}}else B(e,a.fromStyles),r.onDestroy(function(){return V(e,a.toStyles)}),F.push(r),f.has(e)&&o.push(r)}),F.forEach(function(t){var e=s.get(t.element);if(e&&e.length){var n=l(e);t.setRealPlayer(n)}}),o.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var z=0;z<_.length;z++){var H,U=(H=_[z])[Lt];if(Xt(H,"ng-leave"),!U||!U.hasAnimation){var G=[];if(u.size){var q=u.get(H);q&&q.length&&G.push.apply(G,Object(r.g)(q));for(var W=this.driver.query(H,D,!0),Y=0;Y0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new a.d(t.duration,t.delay)},t}(),Ut=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new a.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(n){e._queuedCallbacks[n].forEach(function(e){return u(t,n,void 0,e)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.overrideTotalTime=function(t){this.totalTime=t},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart(function(){return n.triggerCallback("start")}),t.onDone(function(){return e.finish()}),t.onDestroy(function(){return e.destroy()})},t.prototype._queueEvent=function(t,e){h(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function Gt(t){return t&&1===t.nodeType}function qt(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function Wt(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(qt(t))});var a=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Lt]=Ft,a.push(r))}),t.set(r,o)});var s=0;return n.forEach(function(t){return qt(t,o[s++])}),a}function Yt(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=1,i=new Set(e),o=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return r;var a=o.get(e);if(a)return a;var s=e.parentNode;return a=n.has(s)?s:i.has(s)?r:t(s),o.set(e,a),a}(t);e!==r&&n.get(e).push(t)}),n}var Kt="$$classes";function Qt(t,e){if(t.classList)t.classList.add(e);else{var n=t[Kt];n||(n=t[Kt]={}),n[e]=!0}}function Xt(t,e){if(t.classList)t.classList.remove(e);else{var n=t[Kt];n&&delete n[e]}}function Zt(t,e,n){l(n).onDone(function(){return t.processLeaveNode(e)})}function $t(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var Jt=function(){function t(t,e,n){var r=this;this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Ht(t,e,n),this._timelineEngine=new Rt(t,e,n),this._transitionEngine.onRemovalComplete=function(t,e){return r.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,a=this._triggerCache[o];if(!a){var s=[],l=ot(this._driver,i,s);if(s.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+s.join("\n - "));a=function(t,e){return new Tt(t,e)}(r,l),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(e,r,a)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n,r){this._transitionEngine.removeNode(t,e,r||!1,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,i){if("@"==n.charAt(0)){var o=Object(r.f)(f(n),2),a=o[0],s=o[1],l=i;this._timelineEngine.command(a,e,s,l)}else this._transitionEngine.trigger(t,e,n,i)},t.prototype.listen=function(t,e,n,i,o){if("@"==n.charAt(0)){var a=Object(r.f)(f(n),2),s=a[0],l=a[1];return this._timelineEngine.listen(s,e,l,o)}return this._transitionEngine.listen(t,e,n,i,o)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}();function te(t,e){var n=null,r=null;return Array.isArray(e)&&e.length?(n=ne(e[0]),e.length>1&&(r=ne(e[e.length-1]))):e&&(n=ne(e)),n||r?new ee(t,n,r):null}var ee=function(){function t(e,n,r){this._element=e,this._startStyles=n,this._endStyles=r,this._state=0;var i=t.initialStylesByElement.get(e);i||t.initialStylesByElement.set(e,i={}),this._initialStyles=i}return t.prototype.start=function(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)},t.prototype.finish=function(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)},t.prototype.destroy=function(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(B(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(B(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)},t.initialStylesByElement=new WeakMap,t}();function ne(t){for(var e=null,n=Object.keys(t),r=0;r=this._delay&&n>=this._duration&&this.finish()},t.prototype.finish=function(){this._finished||(this._finished=!0,this._onDoneFn(),ue(this._element,this._eventFn,!0))},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){var n=de(t,"").split(","),r=ce(n,e);if(r>=0){n.splice(r,1);var i=n.join(",");pe(t,"",i)}}(this._element,this._name))},t}();function se(t,e,n){pe(t,"PlayState",n,le(t,e))}function le(t,e){var n=de(t,"");return n.indexOf(",")>0?ce(n.split(","),e):ce([n],e)}function ce(t,e){for(var n=0;n=0)return n;return-1}function ue(t,e,n){n?t.removeEventListener(oe,e):t.addEventListener(oe,e)}function pe(t,e,n,r){var i=ie+e;if(null!=r){var o=t.style[i];if(o.length){var a=o.split(",");a[r]=n,n=a.join(",")}}t.style[i]=n}function de(t,e){return t.style[ie+e]}var he="linear",fe=function(){function t(t,e,n,r,i,o,a,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=a,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||he,this.totalTime=r+i,this._buildStyler()}return t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.destroy=function(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype._flushDoneFns=function(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]},t.prototype._flushStartFns=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.finish=function(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())},t.prototype.setPosition=function(t){this._styler.setPosition(t)},t.prototype.getPosition=function(){return this._styler.getPosition()},t.prototype.hasStarted=function(){return this._state>=2},t.prototype.init=function(){if(!(this._state>=1)){this._state=1;this.element;this._styler.apply(),this._delay&&this._styler.pause()}},t.prototype.play=function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()},t.prototype.pause=function(){this.init(),this._styler.pause()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.reset=function(){this._styler.destroy(),this._buildStyler(),this._styler.apply()},t.prototype._buildStyler=function(){var t=this;this._styler=new ae(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return t.finish()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t.prototype.beforeDestroy=function(){var t=this;this.init();var e={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(r){"offset"!=r&&(e[r]=n?t._finalStyles[r]:Z(t.element,r))})}this.currentSnapshot=e},t}(),me=function(t){function e(e,n){var r=t.call(this)||this;return r.element=e,r._startingStyles={},r.__initialized=!1,r._styles=E(n),r}return Object(r.c)(e,t),e.prototype.init=function(){var e=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(function(t){e._startingStyles[t]=e.element.style[t]}),t.prototype.init.call(this))},e.prototype.play=function(){var e=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(function(t){return e.element.style.setProperty(t,e._styles[t])}),t.prototype.play.call(this))},e.prototype.destroy=function(){var e=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach(function(t){var n=e._startingStyles[t];n?e.element.style.setProperty(t,n):e.element.style.removeProperty(t)}),this._startingStyles=null,t.prototype.destroy.call(this))},e}(a.d),ge=function(){function t(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.buildKeyframeElement=function(t,e,n){n=n.map(function(t){return E(t)});var r="@keyframes "+e+" {\n",i="";n.forEach(function(t){i=" ";var e=parseFloat(t.offset);r+=""+i+100*e+"% {\n",i+=" ",Object.keys(t).forEach(function(e){var n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(r+=i+"animation-timing-function: "+n+";\n"));default:return void(r+=""+i+e+": "+n+";\n")}}),r+=i+"}\n"}),r+="}\n";var o=document.createElement("style");return o.innerHTML=r,o},t.prototype.animate=function(t,e,n,r,i,o,a){void 0===o&&(o=[]),a&&this._notifyFaultyScrubber();var s=o.filter(function(t){return t instanceof fe}),l={};K(n,r)&&s.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var c=function(t){var e={};if(t){(Array.isArray(t)?t:[t]).forEach(function(t){Object.keys(t).forEach(function(n){"offset"!=n&&"easing"!=n&&(e[n]=t[n])})})}return e}(e=Q(t,e,l));if(0==n)return new me(t,c);var u="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(p);var d=te(t,e),h=new fe(t,e,u,n,r,i,c,d);return h.onDestroy(function(){var t;(t=p).parentNode.removeChild(t)}),h},t.prototype._notifyFaultyScrubber=function(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)},t}();var ye=function(){function t(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._buildPlayer(),this._preparePlayerBeforeStart()},t.prototype._buildPlayer=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",function(){return t._onFinish()})}},t.prototype._preparePlayerBeforeStart=function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.play=function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()},t.prototype.pause=function(){this.init(),this.domPlayer.pause()},t.prototype.finish=function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this.domPlayer&&this.domPlayer.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.setPosition=function(t){this.domPlayer.currentTime=t*this.time},t.prototype.getPosition=function(){return this.domPlayer.currentTime/this.time},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._delay+this._duration},enumerable:!0,configurable:!0}),t.prototype.beforeDestroy=function(){var t=this,e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:Z(t.element,n))}),this.currentSnapshot=e},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),ve=function(){function t(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(be().toString()),this._cssKeyframesDriver=new ge}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.overrideWebAnimationsSupport=function(t){this._isNativeImpl=t},t.prototype.animate=function(t,e,n,r,i,o,a){if(void 0===o&&(o=[]),!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,r,i,o);var s={duration:n,delay:r,fill:0==r?"both":"forwards"};i&&(s.easing=i);var l={},c=o.filter(function(t){return t instanceof ye});K(n,r)&&c.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var u=te(t,e=Q(t,e=e.map(function(t){return N(t,!1)}),l));return new ye(t,e,s,u)},t}();function be(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}var _e=n("Ip0R");n.d(e,"b",function(){return Ie}),n.d(e,"a",function(){return Ae});var we=function(t){function e(e,n){var r=t.call(this)||this;r._nextAnimationId=0;var o={id:"0",encapsulation:i.qb.None,styles:[],data:{animation:[]}};return r._renderer=e.createRenderer(n.body,o),r}return Object(r.c)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?Object(a.j)(t):t;return Oe(this._renderer,null,e,"register",[n]),new xe(e,this._renderer)},e=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(_e.c)),Object(r.d)("design:paramtypes",[i.ab,Object])],e)}(a.b),xe=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(r.c)(e,t),e.prototype.create=function(t,e){return new Ce(this._id,t,e||{},this._renderer)},e}(a.c),Ce=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t\r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n {{ \'REGISTERED_USERS\' | translate }} \r\n {{ element }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n'},xMyE:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("FFOo"),o=n("+umK"),a=n("2Bdj");function s(t,e,n){return function(r){return r.lift(new l(t,e,n))}}var l=function(){function t(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.nextOrObserver,this.error,this.complete))},t}(),c=function(t){function e(e,n,r,i){var s=t.call(this,e)||this;return s._tapNext=o.a,s._tapError=o.a,s._tapComplete=o.a,s._tapError=r||o.a,s._tapComplete=i||o.a,Object(a.a)(n)?(s._context=s,s._tapNext=n):n&&(s._context=n,s._tapNext=n.next||o.a,s._tapError=n.error||o.a,s._tapComplete=n.complete||o.a),s}return r.c(e,t),e.prototype._next=function(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)},e.prototype._error=function(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()},e}(i.a)},xTla:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}()},xlPZ:function(t,e,n){"use strict";var r=n("mrSG"),i=n("K9Ia"),o=n("6blF"),a=n("FFOo"),s=n("pugT"),l=n("yGWI"),c=function(t){function e(e,n){var r=t.call(this)||this;return r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return r.c(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new s.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed&&(this._connection=null,t=s.a.EMPTY)),t},e.prototype.refCount=function(){return Object(l.a)()(this)},e}(o.a),u=function(){var t=c.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}}(),p=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return r.c(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);a.a;function d(t,e){return function(n){var r;if(r="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new h(r,e));var i=Object.create(n,u);return i.source=n,i.subjectFactory=r,i}}n.d(e,"a",function(){return d});var h=function(){function t(t,e){this.subjectFactory=t,this.selector=e}return t.prototype.call=function(t,e){var n=this.selector,r=this.subjectFactory(),i=n(r).subscribe(t);return i.add(e.subscribe(r)),i},t}()},y3By:function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return o});var r=n("+umK");function i(){for(var t=[],e=0;e1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(i.a)},yLV6:function(t,e,n){var r;!function(i,o,a,s){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=o.createElement("div"),p="function",d=Math.round,h=Math.abs,f=Date.now;function m(t,e,n){return setTimeout(x(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(y(t,n[e],n),!0)}function y(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function A(t){return t.trim().split(/\s+/g)}function D(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;rn[e]}):r.sort()),r}function I(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=nt(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,l=a?a.center:o.center,c=e.center=rt(r);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=st(l,c),e.distance=at(l,c),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==B&&o.eventType!==H||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y});e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=ot(e.deltaX,e.deltaY);var u=it(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=h(u.x)>h(u.y)?u.x:u.y,e.scale=a?(p=a.pointers,d=r,at(d[0],d[1],J)/at(p[0],p[1],J)):1,e.rotation=a?function(t,e){return st(e[1],e[0],J)+st(t[1],t[0],J)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,i,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=U&&(l>V||a.velocity===s)){var c=e.deltaX-a.deltaX,u=e.deltaY-a.deltaY,p=it(l,c,u);r=p.x,i=p.y,n=h(p.x)>h(p.y)?p.x:p.y,o=ot(c,u),t.lastInterval=e}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}(n,e);var p,d;var m=t.element;k(e.srcEvent.target,m)&&(m=e.srcEvent.target);e.target=m}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function nt(t){for(var e=[],n=0;n=h(e)?t<0?q:W:e<0?Y:K}function at(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function st(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,r)/Math.PI}tt.prototype={handler:function(){},init:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(M(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(M(this.element),this.evWin,this.domHandler)}};var lt={mousedown:B,mousemove:z,mouseup:H},ct="mousedown",ut="mousemove mouseup";function pt(){this.evEl=ct,this.evWin=ut,this.pressed=!1,tt.apply(this,arguments)}w(pt,tt,{handler:function(t){var e=lt[t.type];e&B&&0===t.button&&(this.pressed=!0),e&z&&1!==t.which&&(e=H),this.pressed&&(e&H&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:B,pointermove:z,pointerup:H,pointercancel:U,pointerout:U},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},ft="pointerdown",mt="pointermove pointerup pointercancel";function gt(){this.evEl=ft,this.evWin=mt,tt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(ft="MSPointerDown",mt="MSPointerMove MSPointerUp MSPointerCancel"),w(gt,tt,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=dt[r],o=ht[t.pointerType]||t.pointerType,a="touch"==o,s=D(e,t.pointerId,"pointerId");i&B&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):i&(H|U)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var yt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},vt="touchstart",bt="touchstart touchmove touchend touchcancel";function _t(){this.evTarget=vt,this.evWin=bt,this.started=!1,tt.apply(this,arguments)}w(_t,tt,{handler:function(t){var e=yt[t.type];if(e===B&&(this.started=!0),this.started){var n=(function(t,e){var n=T(t.touches),r=T(t.changedTouches);e&(H|U)&&(n=P(n.concat(r),"identifier",!0));return[n,r]}).call(this,t,e);e&(H|U)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var wt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},xt="touchstart touchmove touchend touchcancel";function Ct(){this.evTarget=xt,this.targetIds={},tt.apply(this,arguments)}w(Ct,tt,{handler:function(t){var e=wt[t.type],n=(function(t,e){var n=T(t.touches),r=this.targetIds;if(e&(B|z)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=T(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return k(t.target,l)}),e===B)for(i=0;i-1&&r.splice(t,1)},Ot)}}w(St,tt,{handler:function(t,e,n){var r="touch"==n.pointerType,i="mouse"==n.pointerType;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)(function(t,e){t&B?(this.primaryTouch=e.changedPointers[0].identifier,kt.call(this,e)):t&(H|U)&&kt.call(this,e)}).call(this,e,n);else if(i&&(function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n=Bt&&r(e.options.event+Gt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return Yt.prototype.attrTest.call(this,t)&&(this.state&Lt||!(this.state&Lt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=qt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(Qt,Yt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Pt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Lt)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),w(Xt,Ut,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Dt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distancee.time;if(this._input=t,!r||!n||t.eventType&(H|U)&&!i)this.reset();else if(t.eventType&B)this.reset(),this._timer=m(function(){this.state=zt,this.tryEmit()},e.time,this);else if(t.eventType&H)return zt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===zt&&(t&&t.eventType&H?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(Zt,Yt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Pt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Lt)}}),w($t,Yt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Q|X,pointers:1},getTouchAction:function(){return Kt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Q|X)?e=t.overallVelocity:n&Q?e=t.overallVelocityX:n&X&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&H},emit:function(t){var e=qt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(Jt,Ut,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Tt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞",int:"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"},h="";d.ngsp=h;var f,m,g=function(){function t(t){var e=this,n=void 0===t?{}:t,i=n.closedByChildren,o=n.implicitNamespacePrefix,a=n.contentType,s=void 0===a?r.PARSABLE_DATA:a,l=n.closedByParent,c=void 0!==l&&l,u=n.isVoid,p=void 0!==u&&u,d=n.ignoreFirstLf,h=void 0!==d&&d;this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach(function(t){return e.closedByChildren[t]=!0}),this.isVoid=p,this.closedByParent=c||p,this.implicitNamespacePrefix=o||null,this.contentType=s,this.ignoreFirstLf=h}return t.prototype.isClosedByChild=function(t){return this.isVoid||t.toLowerCase()in this.closedByChildren},t}();function y(t){return m||(f=new g,m={base:new g({isVoid:!0}),meta:new g({isVoid:!0}),area:new g({isVoid:!0}),embed:new g({isVoid:!0}),link:new g({isVoid:!0}),img:new g({isVoid:!0}),input:new g({isVoid:!0}),param:new g({isVoid:!0}),hr:new g({isVoid:!0}),br:new g({isVoid:!0}),source:new g({isVoid:!0}),track:new g({isVoid:!0}),wbr:new g({isVoid:!0}),p:new g({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new g({closedByChildren:["tbody","tfoot"]}),tbody:new g({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new g({closedByChildren:["tbody"],closedByParent:!0}),tr:new g({closedByChildren:["tr"],closedByParent:!0}),td:new g({closedByChildren:["td","th"],closedByParent:!0}),th:new g({closedByChildren:["td","th"],closedByParent:!0}),col:new g({isVoid:!0}),svg:new g({implicitNamespacePrefix:"svg"}),math:new g({implicitNamespacePrefix:"math"}),li:new g({closedByChildren:["li"],closedByParent:!0}),dt:new g({closedByChildren:["dt","dd"]}),dd:new g({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new g({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new g({closedByChildren:["optgroup"],closedByParent:!0}),option:new g({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new g({ignoreFirstLf:!0}),listing:new g({ignoreFirstLf:!0}),style:new g({contentType:r.RAW_TEXT}),script:new g({contentType:r.RAW_TEXT}),title:new g({contentType:r.ESCAPABLE_RAW_TEXT}),textarea:new g({contentType:r.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),m[t.toLowerCase()]||f}var v,b,_=new RegExp("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-.\\w*]+)(?:=([\"']?)([^\\]\"']*)\\5)?\\])|(\\))|(\\s*,\\s*)","g"),w=function(){function t(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return t.parse=function(e){var n,r=[],i=function(t,e){e.notSelectors.length>0&&!e.element&&0==e.classNames.length&&0==e.attrs.length&&(e.element="*"),t.push(e)},o=new t,a=o,s=!1;for(_.lastIndex=0;n=_.exec(e);){if(n[1]){if(s)throw new Error("Nesting :not is not allowed in a selector");s=!0,a=new t,o.notSelectors.push(a)}if(n[2]&&a.setElement(n[2]),n[3]&&a.addClassName(n[3]),n[4]&&a.addAttribute(n[4],n[6]),n[7]&&(s=!1,a=o),n[8]){if(s)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=a=new t}}return i(r,o),r},t.prototype.isElementSelector=function(){return this.hasElementSelector()&&0==this.classNames.length&&0==this.attrs.length&&0===this.notSelectors.length},t.prototype.hasElementSelector=function(){return!!this.element},t.prototype.setElement=function(t){void 0===t&&(t=null),this.element=t},t.prototype.getMatchingElementTemplate=function(){for(var t=this.element||"div",e=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r":"<"+t+e+n+">"},t.prototype.getAttrs=function(){var t=[];return this.classNames.length>0&&t.push("class",this.classNames.join(" ")),t.concat(this.attrs)},t.prototype.addAttribute=function(t,e){void 0===e&&(e=""),this.attrs.push(t,e&&e.toLowerCase()||"")},t.prototype.addClassName=function(t){this.classNames.push(t.toLowerCase())},t.prototype.toString=function(){var t=this.element||"";if(this.classNames&&this.classNames.forEach(function(e){return t+="."+e}),this.attrs)for(var e=0;e1&&(n=new C(t),this._listContexts.push(n));for(var r=0;r0)||this.listContext&&this.listContext.alreadyMatched||(n=!x.createNotMatcher(this.notSelectors).match(t,null));return!n||!e||this.listContext&&this.listContext.alreadyMatched||(this.listContext&&(this.listContext.alreadyMatched=!0),e(this.selector,this.cbContext)),n},t}(),E=X("Inject",function(t){return{token:t}}),S=X("InjectionToken",function(t){return{_desc:t,ngInjectableDef:void 0}}),k=X("Attribute",function(t){return{attributeName:t}}),j=X("ContentChildren",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!1,descendants:!1},e)}),A=X("ContentChild",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!0,isViewQuery:!1,descendants:!0},e)}),D=X("ViewChildren",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!0,descendants:!0},e)}),T=X("ViewChild",function(t,e){return Object(o.a)({selector:t,first:!0,isViewQuery:!0,descendants:!0},e)}),P=X("Directive",function(t){return void 0===t&&(t={}),t});!function(t){t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(v||(v={})),function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"}(b||(b={}));var I,R,M=X("Component",function(t){return void 0===t&&(t={}),Object(o.a)({changeDetection:b.Default},t)}),N=X("Pipe",function(t){return Object(o.a)({pure:!0},t)}),F=X("Input",function(t){return{bindingPropertyName:t}}),L=X("Output",function(t){return{bindingPropertyName:t}}),V=X("HostBinding",function(t){return{hostPropertyName:t}}),B=X("HostListener",function(t,e){return{eventName:t,args:e}}),z=X("NgModule",function(t){return t}),H=X("Injectable",function(t){return void 0===t&&(t={}),t}),U={name:"custom-elements"},G={name:"no-errors-schema"},q=X("Optional"),W=X("Self"),Y=X("SkipSelf"),K=X("Host"),Q=Function;function X(t,e){function n(){for(var n=[],r=0;r=55296&&r<=56319&&t.length>n+1){var i=t.charCodeAt(n+1);i>=56320&&i<=57343&&(n++,r=(r-55296<<10)+i-56320+65536)}r<=127?e+=String.fromCharCode(r):r<=2047?e+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?e+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(e+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return e}function Ve(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(Ve).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;if(!t.toString)return"object";var e=t.toString();if(null==e)return""+e;var n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function Be(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t}function ze(t){return!!t&&"function"==typeof t.then}var He=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")},Ue="undefined"!=typeof window&&window,Ge="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,qe="undefined"!=typeof global&&global||Ue||Ge,We={},Ye=function(t){function e(e){var n=t.call(this,e.type)||this;return n.resolved=e,n.original=e,n}return Object(o.c)(e,t),e.prototype.visitExpression=function(t,e){return e===We?this.original.visitExpression(t,e):this.resolved.visitExpression(t,e)},e.prototype.isEquivalent=function(t){return t instanceof e&&this.resolved.isEquivalent(t.resolved)},e.prototype.isConstant=function(){return!0},e.prototype.fixup=function(t){this.resolved=t,this.shared=!0},e}(mt),Ke=function(){function t(){this.statements=[],this.literals=new Map,this.literalFactories=new Map,this.injectorDefinitions=new Map,this.directiveDefinitions=new Map,this.componentDefinitions=new Map,this.pipeDefinitions=new Map,this.nextNameIndex=0}return t.prototype.getConstLiteral=function(t,e){if(t instanceof kt||t instanceof Ye)return t;var n=this.keyOf(t),r=this.literals.get(n),i=!1;if(r||(r=new Ye(t),this.literals.set(n,r),i=!0),!i&&!r.shared||i&&e){var o=this.freshName();this.statements.push(de(o).set(t).toDeclStmt(lt,[Ct.Final])),r.fixup(de(o))}return r},t.prototype.getDefinition=function(t,e,n,r){void 0===r&&(r=!1);var i=this.definitionsOf(e),o=i.get(t),a=!1;if(!o){var s=this.propertyNameOf(e);o=new Ye(n.importExpr(t).prop(s)),i.set(t,o),a=!0}if(!a&&!o.shared||a&&r){var l=this.freshName();this.statements.push(de(l).set(o.resolved).toDeclStmt(lt,[Ct.Final])),o.fixup(de(l))}return o},t.prototype.getLiteralFactory=function(t){if(t instanceof Vt){var e=t.entries.map(function(t){return t.isConstant()?t:_e(null)}),n=this.keyOf(ge(e));return this._getLiteralFactory(n,t.entries,function(t){return ge(t)})}var r=ye(t.entries.map(function(t){return{key:t.key,value:t.value.isConstant()?t.value:_e(null),quoted:t.quoted}}));n=this.keyOf(r);return this._getLiteralFactory(n,t.entries.map(function(t){return t.value}),function(e){return ye(e.map(function(e,n){return{key:t.entries[n].key,value:e,quoted:t.entries[n].quoted}}))})},t.prototype._getLiteralFactory=function(t,e,n){var r=this,i=this.literalFactories.get(t),o=e.filter(function(t){return!t.isConstant()});if(!i){var a=e.map(function(t,e){return t.isConstant()?r.getConstLiteral(t,!0):de("a"+e)}),s=ve(a.filter(Ze).map(function(t){return new Rt(t.name,st)}),[new Qt(n(a))],lt),l=this.freshName();this.statements.push(de(l).set(s).toDeclStmt(lt,[Ct.Final])),i=de(l),this.literalFactories.set(t,i)}return{literalFactory:i,literalFactoryArguments:o}},t.prototype.uniqueName=function(t){return""+t+this.nextNameIndex++},t.prototype.definitionsOf=function(t){switch(t){case 2:return this.componentDefinitions;case 1:return this.directiveDefinitions;case 0:return this.injectorDefinitions;case 3:return this.pipeDefinitions}return Pe("Unknown definition kind "+t),this.componentDefinitions},t.prototype.propertyNameOf=function(t){switch(t){case 2:return"ngComponentDef";case 1:return"ngDirectiveDef";case 0:return"ngInjectorDef";case 3:return"ngPipeDef"}return Pe("Unknown definition kind "+t),""},t.prototype.freshName=function(){return this.uniqueName("_c")},t.prototype.keyOf=function(t){return t.visitExpression(new Qe,We)},t}(),Qe=function(){function t(){this.visitWrappedNodeExpr=Xe,this.visitWriteVarExpr=Xe,this.visitWriteKeyExpr=Xe,this.visitWritePropExpr=Xe,this.visitInvokeMethodExpr=Xe,this.visitInvokeFunctionExpr=Xe,this.visitInstantiateExpr=Xe,this.visitConditionalExpr=Xe,this.visitNotExpr=Xe,this.visitAssertNotNullExpr=Xe,this.visitCastExpr=Xe,this.visitFunctionExpr=Xe,this.visitBinaryOperatorExpr=Xe,this.visitReadPropExpr=Xe,this.visitReadKeyExpr=Xe,this.visitCommaExpr=Xe}return t.prototype.visitLiteralExpr=function(t){return""+("string"==typeof t.value?'"'+t.value+'"':t.value)},t.prototype.visitLiteralArrayExpr=function(t,e){var n=this;return"["+t.entries.map(function(t){return t.visitExpression(n,e)}).join(",")+"]"},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return"{"+t.entries.map(function(t){return function(t){var e=t.quoted?'"':"";return""+e+t.key+e}(t)+":"+t.value.visitExpression(n,e)}).join(",")},t.prototype.visitExternalExpr=function(t){return t.value.moduleName?"EX:"+t.value.moduleName+":"+t.value.name:"EX:"+t.value.runtime.name},t.prototype.visitReadVarExpr=function(t){return"VAR:"+t.name},t.prototype.visitTypeofExpr=function(t,e){return"TYPEOF:"+t.expr.visitExpression(this,e)},t}();function Xe(t){throw new Error("Invalid state: Visitor "+this.constructor.name+" doesn't handle "+t.constructor.name)}function Ze(t){return t instanceof yt}var $e="@angular/core",Je=function(){function t(){}return t.ANALYZE_FOR_ENTRY_COMPONENTS={name:"ANALYZE_FOR_ENTRY_COMPONENTS",moduleName:$e},t.ElementRef={name:"ElementRef",moduleName:$e},t.NgModuleRef={name:"NgModuleRef",moduleName:$e},t.ViewContainerRef={name:"ViewContainerRef",moduleName:$e},t.ChangeDetectorRef={name:"ChangeDetectorRef",moduleName:$e},t.QueryList={name:"QueryList",moduleName:$e},t.TemplateRef={name:"TemplateRef",moduleName:$e},t.Renderer2={name:"Renderer2",moduleName:$e},t.CodegenComponentFactoryResolver={name:"ɵCodegenComponentFactoryResolver",moduleName:$e},t.ComponentFactoryResolver={name:"ComponentFactoryResolver",moduleName:$e},t.ComponentFactory={name:"ComponentFactory",moduleName:$e},t.ComponentRef={name:"ComponentRef",moduleName:$e},t.NgModuleFactory={name:"NgModuleFactory",moduleName:$e},t.createModuleFactory={name:"ɵcmf",moduleName:$e},t.moduleDef={name:"ɵmod",moduleName:$e},t.moduleProviderDef={name:"ɵmpd",moduleName:$e},t.RegisterModuleFactoryFn={name:"ɵregisterModuleFactory",moduleName:$e},t.inject={name:"ɵɵinject",moduleName:$e},t.INJECTOR={name:"INJECTOR",moduleName:$e},t.Injector={name:"Injector",moduleName:$e},t.ɵɵdefineInjectable={name:"ɵɵdefineInjectable",moduleName:$e},t.InjectableDef={name:"ɵɵInjectableDef",moduleName:$e},t.ViewEncapsulation={name:"ViewEncapsulation",moduleName:$e},t.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleName:$e},t.SecurityContext={name:"SecurityContext",moduleName:$e},t.LOCALE_ID={name:"LOCALE_ID",moduleName:$e},t.TRANSLATIONS_FORMAT={name:"TRANSLATIONS_FORMAT",moduleName:$e},t.inlineInterpolate={name:"ɵinlineInterpolate",moduleName:$e},t.interpolate={name:"ɵinterpolate",moduleName:$e},t.EMPTY_ARRAY={name:"ɵEMPTY_ARRAY",moduleName:$e},t.EMPTY_MAP={name:"ɵEMPTY_MAP",moduleName:$e},t.Renderer={name:"Renderer",moduleName:$e},t.viewDef={name:"ɵvid",moduleName:$e},t.elementDef={name:"ɵeld",moduleName:$e},t.anchorDef={name:"ɵand",moduleName:$e},t.textDef={name:"ɵted",moduleName:$e},t.directiveDef={name:"ɵdid",moduleName:$e},t.providerDef={name:"ɵprd",moduleName:$e},t.queryDef={name:"ɵqud",moduleName:$e},t.pureArrayDef={name:"ɵpad",moduleName:$e},t.pureObjectDef={name:"ɵpod",moduleName:$e},t.purePipeDef={name:"ɵppd",moduleName:$e},t.pipeDef={name:"ɵpid",moduleName:$e},t.nodeValue={name:"ɵnov",moduleName:$e},t.ngContentDef={name:"ɵncd",moduleName:$e},t.unwrapValue={name:"ɵunv",moduleName:$e},t.createRendererType2={name:"ɵcrt",moduleName:$e},t.RendererType2={name:"RendererType2",moduleName:$e},t.ViewDefinition={name:"ɵViewDefinition",moduleName:$e},t.createComponentFactory={name:"ɵccf",moduleName:$e},t.setClassMetadata={name:"ɵsetClassMetadata",moduleName:$e},t}();function tn(t){return{identifier:{reference:t}}}function en(t,e){return tn(t.resolveExternalReference(e))}var nn=function(){function t(t,e,n){this.filePath=t,this.name=e,this.members=n}return t.prototype.assertNoMembers=function(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got "+JSON.stringify(this)+".")},t}(),rn=function(){function t(){this.cache=new Map}return t.prototype.get=function(t,e,n){var r='"'+t+'".'+e+((n=n||[]).length?"."+n.join("."):""),i=this.cache.get(r);return i||(i=new nn(t,e,n),this.cache.set(r,i)),i},t}(),on=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function an(t){return t.replace(/\W/g,"_")}var sn,ln=0;function cn(t){if(!t||!t.reference)return null;var e=t.reference;if(e instanceof nn)return e.name;if(e.__anonymousType)return e.__anonymousType;var n=Ve(e);return n.indexOf("(")>=0?(n="anonymous_"+ln++,e.__anonymousType=n):n=an(n),n}function un(t){var e=t.reference;return e instanceof nn?e.filePath:"./"+Ve(e)}function pn(t,e){return"View_"+cn({reference:t})+"_"+e}function dn(t){return"RenderType_"+cn({reference:t})}function hn(t){return cn({reference:t})+"NgFactory"}function fn(t){return null!=t.value?an(t.value):cn(t.identifier)}function mn(t){return null!=t.identifier?t.identifier.reference:t.value}!function(t){t[t.Pipe=0]="Pipe",t[t.Directive=1]="Directive",t[t.NgModule=2]="NgModule",t[t.Injectable=3]="Injectable"}(sn||(sn={}));var gn=function(t){var e=void 0===t?{}:t,n=e.moduleUrl,r=e.styles,i=e.styleUrls;this.moduleUrl=n||null,this.styles=xn(r),this.styleUrls=xn(i)},yn=function(){function t(t){var e=t.encapsulation,n=t.template,r=t.templateUrl,i=t.htmlAst,o=t.styles,a=t.styleUrls,s=t.externalStylesheets,l=t.animations,c=t.ngContentSelectors,u=t.interpolation,p=t.isInline,d=t.preserveWhitespaces;if(this.encapsulation=e,this.template=n,this.templateUrl=r,this.htmlAst=i,this.styles=xn(o),this.styleUrls=xn(a),this.externalStylesheets=xn(s),this.animations=l?On(l):[],this.ngContentSelectors=c||[],u&&2!=u.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=u,this.isInline=p,this.preserveWhitespaces=d}return t.prototype.toSummary=function(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}},t}(),vn=function(){function t(t){var e=t.isHost,n=t.type,r=t.isComponent,i=t.selector,o=t.exportAs,a=t.changeDetection,s=t.inputs,l=t.outputs,c=t.hostListeners,u=t.hostProperties,p=t.hostAttributes,d=t.providers,h=t.viewProviders,f=t.queries,m=t.guards,g=t.viewQueries,y=t.entryComponents,v=t.template,b=t.componentViewType,_=t.rendererType,w=t.componentFactory;this.isHost=!!e,this.type=n,this.isComponent=r,this.selector=i,this.exportAs=o,this.changeDetection=a,this.inputs=s,this.outputs=l,this.hostListeners=c,this.hostProperties=u,this.hostAttributes=p,this.providers=xn(d),this.viewProviders=xn(h),this.queries=xn(f),this.guards=m,this.viewQueries=xn(g),this.entryComponents=xn(y),this.template=v,this.componentViewType=b,this.rendererType=_,this.componentFactory=w}return t.create=function(e){var n=e.isHost,r=e.type,i=e.isComponent,o=e.selector,a=e.exportAs,s=e.changeDetection,l=e.inputs,c=e.outputs,u=e.host,p=e.providers,d=e.viewProviders,h=e.queries,f=e.guards,m=e.viewQueries,g=e.entryComponents,y=e.template,v=e.componentViewType,b=e.rendererType,_=e.componentFactory,w={},x={},C={};null!=u&&Object.keys(u).forEach(function(t){var e=u[t],n=t.match(on);null===n?C[t]=e:null!=n[1]?x[n[1]]=e:null!=n[2]&&(w[n[2]]=e)});var O={};null!=l&&l.forEach(function(t){var e=Ce(t,[t,t]);O[e[0]]=e[1]});var E={};return null!=c&&c.forEach(function(t){var e=Ce(t,[t,t]);E[e[0]]=e[1]}),new t({isHost:n,type:r,isComponent:!!i,selector:o,exportAs:a,changeDetection:s,inputs:O,outputs:E,hostListeners:w,hostProperties:x,hostAttributes:C,providers:p,viewProviders:d,queries:h,guards:f,viewQueries:m,entryComponents:g,template:y,componentViewType:v,rendererType:b,componentFactory:_})},t.prototype.toSummary=function(){return{summaryKind:sn.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}},t}(),bn=function(){function t(t){var e=t.type,n=t.name,r=t.pure;this.type=e,this.name=n,this.pure=!!r}return t.prototype.toSummary=function(){return{summaryKind:sn.Pipe,type:this.type,name:this.name,pure:this.pure}},t}(),_n=function(){function t(t){var e=t.type,n=t.providers,r=t.declaredDirectives,i=t.exportedDirectives,o=t.declaredPipes,a=t.exportedPipes,s=t.entryComponents,l=t.bootstrapComponents,c=t.importedModules,u=t.exportedModules,p=t.schemas,d=t.transitiveModule,h=t.id;this.type=e||null,this.declaredDirectives=xn(r),this.exportedDirectives=xn(i),this.declaredPipes=xn(o),this.exportedPipes=xn(a),this.providers=xn(n),this.entryComponents=xn(s),this.bootstrapComponents=xn(l),this.importedModules=xn(c),this.exportedModules=xn(u),this.schemas=xn(p),this.id=h||null,this.transitiveModule=d||null}return t.prototype.toSummary=function(){var t=this.transitiveModule;return{summaryKind:sn.NgModule,type:this.type,entryComponents:t.entryComponents,providers:t.providers,modules:t.modules,exportedDirectives:t.exportedDirectives,exportedPipes:t.exportedPipes}},t}(),wn=function(){function t(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}return t.prototype.addProvider=function(t,e){this.providers.push({provider:t,module:e})},t.prototype.addDirective=function(t){this.directivesSet.has(t.reference)||(this.directivesSet.add(t.reference),this.directives.push(t))},t.prototype.addExportedDirective=function(t){this.exportedDirectivesSet.has(t.reference)||(this.exportedDirectivesSet.add(t.reference),this.exportedDirectives.push(t))},t.prototype.addPipe=function(t){this.pipesSet.has(t.reference)||(this.pipesSet.add(t.reference),this.pipes.push(t))},t.prototype.addExportedPipe=function(t){this.exportedPipesSet.has(t.reference)||(this.exportedPipesSet.add(t.reference),this.exportedPipes.push(t))},t.prototype.addModule=function(t){this.modulesSet.has(t.reference)||(this.modulesSet.add(t.reference),this.modules.push(t))},t.prototype.addEntryComponent=function(t){this.entryComponentsSet.has(t.componentType)||(this.entryComponentsSet.add(t.componentType),this.entryComponents.push(t))},t}();function xn(t){return t||[]}var Cn=function(t,e){var n=e.useClass,r=e.useValue,i=e.useExisting,o=e.useFactory,a=e.deps,s=e.multi;this.token=t,this.useClass=n||null,this.useValue=r,this.useExisting=i,this.useFactory=o||null,this.dependencies=a||null,this.multi=!!s};function On(t){return t.reduce(function(t,e){var n=Array.isArray(e)?On(e):e;return t.concat(n)},[])}function En(t){return t.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function Sn(t,e,n){var r;return r=n.isInline?e.type.reference instanceof nn?e.type.reference.filePath+"."+e.type.reference.name+".html":cn(t)+"/"+cn(e.type)+".html":n.templateUrl,e.type.reference instanceof nn?r:En(r)}var kn="@angular/core",jn=function(){function t(){}return t.NEW_METHOD="factory",t.TRANSFORM_METHOD="transform",t.PATCH_DEPS="patchedDeps",t.namespaceHTML={name:"ɵɵnamespaceHTML",moduleName:kn},t.namespaceMathML={name:"ɵɵnamespaceMathML",moduleName:kn},t.namespaceSVG={name:"ɵɵnamespaceSVG",moduleName:kn},t.element={name:"ɵɵelement",moduleName:kn},t.elementStart={name:"ɵɵelementStart",moduleName:kn},t.elementEnd={name:"ɵɵelementEnd",moduleName:kn},t.select={name:"ɵɵselect",moduleName:kn},t.updateSyntheticHostBinding={name:"ɵɵupdateSyntheticHostBinding",moduleName:kn},t.componentHostSyntheticListener={name:"ɵɵcomponentHostSyntheticListener",moduleName:kn},t.attribute={name:"ɵɵattribute",moduleName:kn},t.attributeInterpolate1={name:"ɵɵattributeInterpolate1",moduleName:kn},t.attributeInterpolate2={name:"ɵɵattributeInterpolate2",moduleName:kn},t.attributeInterpolate3={name:"ɵɵattributeInterpolate3",moduleName:kn},t.attributeInterpolate4={name:"ɵɵattributeInterpolate4",moduleName:kn},t.attributeInterpolate5={name:"ɵɵattributeInterpolate5",moduleName:kn},t.attributeInterpolate6={name:"ɵɵattributeInterpolate6",moduleName:kn},t.attributeInterpolate7={name:"ɵɵattributeInterpolate7",moduleName:kn},t.attributeInterpolate8={name:"ɵɵattributeInterpolate8",moduleName:kn},t.attributeInterpolateV={name:"ɵɵattributeInterpolateV",moduleName:kn},t.classProp={name:"ɵɵclassProp",moduleName:kn},t.elementContainerStart={name:"ɵɵelementContainerStart",moduleName:kn},t.elementContainerEnd={name:"ɵɵelementContainerEnd",moduleName:kn},t.elementContainer={name:"ɵɵelementContainer",moduleName:kn},t.styling={name:"ɵɵstyling",moduleName:kn},t.styleMap={name:"ɵɵstyleMap",moduleName:kn},t.classMap={name:"ɵɵclassMap",moduleName:kn},t.classMapInterpolate1={name:"ɵɵclassMapInterpolate1",moduleName:kn},t.classMapInterpolate2={name:"ɵɵclassMapInterpolate2",moduleName:kn},t.classMapInterpolate3={name:"ɵɵclassMapInterpolate3",moduleName:kn},t.classMapInterpolate4={name:"ɵɵclassMapInterpolate4",moduleName:kn},t.classMapInterpolate5={name:"ɵɵclassMapInterpolate5",moduleName:kn},t.classMapInterpolate6={name:"ɵɵclassMapInterpolate6",moduleName:kn},t.classMapInterpolate7={name:"ɵɵclassMapInterpolate7",moduleName:kn},t.classMapInterpolate8={name:"ɵɵclassMapInterpolate8",moduleName:kn},t.classMapInterpolateV={name:"ɵɵclassMapInterpolateV",moduleName:kn},t.styleProp={name:"ɵɵstyleProp",moduleName:kn},t.stylePropInterpolate1={name:"ɵɵstylePropInterpolate1",moduleName:kn},t.stylePropInterpolate2={name:"ɵɵstylePropInterpolate2",moduleName:kn},t.stylePropInterpolate3={name:"ɵɵstylePropInterpolate3",moduleName:kn},t.stylePropInterpolate4={name:"ɵɵstylePropInterpolate4",moduleName:kn},t.stylePropInterpolate5={name:"ɵɵstylePropInterpolate5",moduleName:kn},t.stylePropInterpolate6={name:"ɵɵstylePropInterpolate6",moduleName:kn},t.stylePropInterpolate7={name:"ɵɵstylePropInterpolate7",moduleName:kn},t.stylePropInterpolate8={name:"ɵɵstylePropInterpolate8",moduleName:kn},t.stylePropInterpolateV={name:"ɵɵstylePropInterpolateV",moduleName:kn},t.stylingApply={name:"ɵɵstylingApply",moduleName:kn},t.styleSanitizer={name:"ɵɵstyleSanitizer",moduleName:kn},t.elementHostAttrs={name:"ɵɵelementHostAttrs",moduleName:kn},t.containerCreate={name:"ɵɵcontainer",moduleName:kn},t.nextContext={name:"ɵɵnextContext",moduleName:kn},t.templateCreate={name:"ɵɵtemplate",moduleName:kn},t.text={name:"ɵɵtext",moduleName:kn},t.textBinding={name:"ɵɵtextBinding",moduleName:kn},t.enableBindings={name:"ɵɵenableBindings",moduleName:kn},t.disableBindings={name:"ɵɵdisableBindings",moduleName:kn},t.allocHostVars={name:"ɵɵallocHostVars",moduleName:kn},t.getCurrentView={name:"ɵɵgetCurrentView",moduleName:kn},t.textInterpolate={name:"ɵɵtextInterpolate",moduleName:kn},t.textInterpolate1={name:"ɵɵtextInterpolate1",moduleName:kn},t.textInterpolate2={name:"ɵɵtextInterpolate2",moduleName:kn},t.textInterpolate3={name:"ɵɵtextInterpolate3",moduleName:kn},t.textInterpolate4={name:"ɵɵtextInterpolate4",moduleName:kn},t.textInterpolate5={name:"ɵɵtextInterpolate5",moduleName:kn},t.textInterpolate6={name:"ɵɵtextInterpolate6",moduleName:kn},t.textInterpolate7={name:"ɵɵtextInterpolate7",moduleName:kn},t.textInterpolate8={name:"ɵɵtextInterpolate8",moduleName:kn},t.textInterpolateV={name:"ɵɵtextInterpolateV",moduleName:kn},t.restoreView={name:"ɵɵrestoreView",moduleName:kn},t.pureFunction0={name:"ɵɵpureFunction0",moduleName:kn},t.pureFunction1={name:"ɵɵpureFunction1",moduleName:kn},t.pureFunction2={name:"ɵɵpureFunction2",moduleName:kn},t.pureFunction3={name:"ɵɵpureFunction3",moduleName:kn},t.pureFunction4={name:"ɵɵpureFunction4",moduleName:kn},t.pureFunction5={name:"ɵɵpureFunction5",moduleName:kn},t.pureFunction6={name:"ɵɵpureFunction6",moduleName:kn},t.pureFunction7={name:"ɵɵpureFunction7",moduleName:kn},t.pureFunction8={name:"ɵɵpureFunction8",moduleName:kn},t.pureFunctionV={name:"ɵɵpureFunctionV",moduleName:kn},t.pipeBind1={name:"ɵɵpipeBind1",moduleName:kn},t.pipeBind2={name:"ɵɵpipeBind2",moduleName:kn},t.pipeBind3={name:"ɵɵpipeBind3",moduleName:kn},t.pipeBind4={name:"ɵɵpipeBind4",moduleName:kn},t.pipeBindV={name:"ɵɵpipeBindV",moduleName:kn},t.hostProperty={name:"ɵɵhostProperty",moduleName:kn},t.property={name:"ɵɵproperty",moduleName:kn},t.propertyInterpolate={name:"ɵɵpropertyInterpolate",moduleName:kn},t.propertyInterpolate1={name:"ɵɵpropertyInterpolate1",moduleName:kn},t.propertyInterpolate2={name:"ɵɵpropertyInterpolate2",moduleName:kn},t.propertyInterpolate3={name:"ɵɵpropertyInterpolate3",moduleName:kn},t.propertyInterpolate4={name:"ɵɵpropertyInterpolate4",moduleName:kn},t.propertyInterpolate5={name:"ɵɵpropertyInterpolate5",moduleName:kn},t.propertyInterpolate6={name:"ɵɵpropertyInterpolate6",moduleName:kn},t.propertyInterpolate7={name:"ɵɵpropertyInterpolate7",moduleName:kn},t.propertyInterpolate8={name:"ɵɵpropertyInterpolate8",moduleName:kn},t.propertyInterpolateV={name:"ɵɵpropertyInterpolateV",moduleName:kn},t.i18n={name:"ɵɵi18n",moduleName:kn},t.i18nAttributes={name:"ɵɵi18nAttributes",moduleName:kn},t.i18nExp={name:"ɵɵi18nExp",moduleName:kn},t.i18nStart={name:"ɵɵi18nStart",moduleName:kn},t.i18nEnd={name:"ɵɵi18nEnd",moduleName:kn},t.i18nApply={name:"ɵɵi18nApply",moduleName:kn},t.i18nPostprocess={name:"ɵɵi18nPostprocess",moduleName:kn},t.i18nLocalize={name:"ɵɵi18nLocalize",moduleName:kn},t.load={name:"ɵɵload",moduleName:kn},t.pipe={name:"ɵɵpipe",moduleName:kn},t.projection={name:"ɵɵprojection",moduleName:kn},t.projectionDef={name:"ɵɵprojectionDef",moduleName:kn},t.reference={name:"ɵɵreference",moduleName:kn},t.inject={name:"ɵɵinject",moduleName:kn},t.injectAttribute={name:"ɵɵinjectAttribute",moduleName:kn},t.injectPipeChangeDetectorRef={name:"ɵɵinjectPipeChangeDetectorRef",moduleName:kn},t.directiveInject={name:"ɵɵdirectiveInject",moduleName:kn},t.templateRefExtractor={name:"ɵɵtemplateRefExtractor",moduleName:kn},t.resolveWindow={name:"ɵɵresolveWindow",moduleName:kn},t.resolveDocument={name:"ɵɵresolveDocument",moduleName:kn},t.resolveBody={name:"ɵɵresolveBody",moduleName:kn},t.defineBase={name:"ɵɵdefineBase",moduleName:kn},t.BaseDef={name:"ɵɵBaseDef",moduleName:kn},t.defineComponent={name:"ɵɵdefineComponent",moduleName:kn},t.setComponentScope={name:"ɵɵsetComponentScope",moduleName:kn},t.ComponentDefWithMeta={name:"ɵɵComponentDefWithMeta",moduleName:kn},t.defineDirective={name:"ɵɵdefineDirective",moduleName:kn},t.DirectiveDefWithMeta={name:"ɵɵDirectiveDefWithMeta",moduleName:kn},t.InjectorDef={name:"ɵɵInjectorDef",moduleName:kn},t.defineInjector={name:"ɵɵdefineInjector",moduleName:kn},t.NgModuleDefWithMeta={name:"ɵɵNgModuleDefWithMeta",moduleName:kn},t.defineNgModule={name:"ɵɵdefineNgModule",moduleName:kn},t.setNgModuleScope={name:"ɵɵsetNgModuleScope",moduleName:kn},t.PipeDefWithMeta={name:"ɵɵPipeDefWithMeta",moduleName:kn},t.definePipe={name:"ɵɵdefinePipe",moduleName:kn},t.queryRefresh={name:"ɵɵqueryRefresh",moduleName:kn},t.viewQuery={name:"ɵɵviewQuery",moduleName:kn},t.staticViewQuery={name:"ɵɵstaticViewQuery",moduleName:kn},t.staticContentQuery={name:"ɵɵstaticContentQuery",moduleName:kn},t.loadViewQuery={name:"ɵɵloadViewQuery",moduleName:kn},t.contentQuery={name:"ɵɵcontentQuery",moduleName:kn},t.loadContentQuery={name:"ɵɵloadContentQuery",moduleName:kn},t.NgOnChangesFeature={name:"ɵɵNgOnChangesFeature",moduleName:kn},t.InheritDefinitionFeature={name:"ɵɵInheritDefinitionFeature",moduleName:kn},t.ProvidersFeature={name:"ɵɵProvidersFeature",moduleName:kn},t.listener={name:"ɵɵlistener",moduleName:kn},t.getFactoryOf={name:"ɵɵgetFactoryOf",moduleName:kn},t.getInheritedFactory={name:"ɵɵgetInheritedFactory",moduleName:kn},t.sanitizeHtml={name:"ɵɵsanitizeHtml",moduleName:kn},t.sanitizeStyle={name:"ɵɵsanitizeStyle",moduleName:kn},t.defaultStyleSanitizer={name:"ɵɵdefaultStyleSanitizer",moduleName:kn},t.sanitizeResourceUrl={name:"ɵɵsanitizeResourceUrl",moduleName:kn},t.sanitizeScript={name:"ɵɵsanitizeScript",moduleName:kn},t.sanitizeUrl={name:"ɵɵsanitizeUrl",moduleName:kn},t.sanitizeUrlOrResourceUrl={name:"ɵɵsanitizeUrlOrResourceUrl",moduleName:kn},t}(),An=0,Dn=9,Tn=10,Pn=11,In=12,Rn=13,Mn=32,Nn=34,Fn=36,Ln=39,Vn=43,Bn=45,zn=47,Hn=59,Un=61,Gn=62,qn=48,Wn=55,Yn=57,Kn=65,Qn=69,Xn=70,Zn=90,$n=95,Jn=97,tr=101,er=102,nr=110,rr=114,ir=116,or=118,ar=122,sr=160,lr=96;function cr(t){return t>=Dn&&t<=Mn||t==sr}function ur(t){return qn<=t&&t<=Yn}function pr(t){return t>=Jn&&t<=ar||t>=Kn&&t<=Zn}function dr(t){return t===Tn||t===Rn}function hr(t){return qn<=t&&t<=Wn}var fr,mr=function(){function t(t,e,n,r){this.file=t,this.offset=e,this.line=n,this.col=r}return t.prototype.toString=function(){return null!=this.offset?this.file.url+"@"+this.line+":"+this.col:this.file.url},t.prototype.moveBy=function(e){for(var n=this.file.content,r=n.length,i=this.offset,o=this.line,a=this.col;i>0&&e<0;){if(i--,e++,(l=n.charCodeAt(i))==Tn){o--;var s=n.substr(0,i-1).lastIndexOf(String.fromCharCode(Tn));a=s>0?i-s:i}else a--}for(;i0;){var l=n.charCodeAt(i);i++,e--,l==Tn?(o++,a=0):a++}return new t(this.file,i,o,a)},t.prototype.getContext=function(t,e){var n=this.file.content,r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);for(var i=r,o=0,a=0;o0&&(o++,"\n"!=n[--r]||++a!=e););for(o=0,a=0;o]"+t.after+'")':this.msg},t.prototype.toString=function(){var t=this.span.details?", "+this.span.details:"";return this.contextualMessage()+": "+this.span.start+t},t}();var _r=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t){return t.visitText(this)},t}(),wr=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t){return t.visitBoundText(this)},t}(),xr=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t){return t.visitTextAttribute(this)},t}(),Cr=function(){function t(t,e,n,r,i,o,a,s){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.valueSpan=a,this.i18n=s}return t.fromBoundElementProperty=function(e,n){return new t(e.name,e.type,e.securityContext,e.value,e.unit,e.sourceSpan,e.valueSpan,n)},t.prototype.visit=function(t){return t.visitBoundAttribute(this)},t}(),Or=function(){function t(t,e,n,r,i,o,a){this.name=t,this.type=e,this.handler=n,this.target=r,this.phase=i,this.sourceSpan=o,this.handlerSpan=a}return t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,e.type,e.handler,n,r,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t){return t.visitBoundEvent(this)},t}(),Er=function(){function t(t,e,n,r,i,o,a,s,l,c){this.name=t,this.attributes=e,this.inputs=n,this.outputs=r,this.children=i,this.references=o,this.sourceSpan=a,this.startSourceSpan=s,this.endSourceSpan=l,this.i18n=c,0===i.length&&s&&l&&(this.sourceSpan=new yr(a.start,l.end))}return t.prototype.visit=function(t){return t.visitElement(this)},t}(),Sr=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this.tagName=t,this.attributes=e,this.inputs=n,this.outputs=r,this.templateAttrs=i,this.children=o,this.references=a,this.variables=s,this.sourceSpan=l,this.startSourceSpan=c,this.endSourceSpan=u,this.i18n=p}return t.prototype.visit=function(t){return t.visitTemplate(this)},t}(),kr=function(){function t(t,e,n,r){this.selector=t,this.attributes=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitContent(this)},t}(),jr=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitVariable(this)},t}(),Ar=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitReference(this)},t}(),Dr=function(){function t(t,e,n,r){this.vars=t,this.placeholders=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitIcu(this)},t}();(function(){function t(){}t.prototype.visitElement=function(t){},t.prototype.visitTemplate=function(t){},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}})(),function(){function t(){}t.prototype.visitElement=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references)},t.prototype.visitTemplate=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references),Tr(this,t.variables)},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}}(),function(){function t(){}t.prototype.visitElement=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.children),o=Pr(this,t.references);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.children||o!=t.references?new Er(t.name,e,n,r,i,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitTemplate=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.templateAttrs),o=Pr(this,t.children),a=Pr(this,t.references),s=Pr(this,t.variables);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.templateAttrs||o!=t.children||a!=t.references||s!=t.variables?new Sr(t.tagName,e,n,r,i,o,a,s,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitContent=function(t){return t},t.prototype.visitVariable=function(t){return t},t.prototype.visitReference=function(t){return t},t.prototype.visitTextAttribute=function(t){return t},t.prototype.visitBoundAttribute=function(t){return t},t.prototype.visitBoundEvent=function(t){return t},t.prototype.visitText=function(t){return t},t.prototype.visitBoundText=function(t){return t},t.prototype.visitIcu=function(t){return t}}();function Tr(t,e){var n,r,i,a,s=[];if(t.visit)try{for(var l=Object(o.h)(e),c=l.next();!c.done;c=l.next())var u=c.value,p=t.visit(u)||u.visit(t)}catch(f){n={error:f}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}else try{for(var d=Object(o.h)(e),h=d.next();!h.done;h=d.next()){(p=(u=h.value).visit(t))&&s.push(p)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}return s}function Pr(t,e){var n,r,i=[],a=!1;try{for(var s=Object(o.h)(e),l=s.next();!l.done;l=s.next()){var c=l.value,u=c.visit(t);u&&i.push(u),a=a||u!=c}}catch(p){n={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a?i:e}var Ir=function(t,e,n,r,i,o){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=r,this.description=i,this.id=o,t.length?this.sources=[{filePath:t[0].sourceSpan.start.file.url,startLine:t[0].sourceSpan.start.line+1,startCol:t[0].sourceSpan.start.col+1,endLine:t[t.length-1].sourceSpan.end.line+1,endCol:t[0].sourceSpan.start.col+1}]:this.sources=[]},Rr=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Mr=function(){function t(t,e){this.children=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitContainer(this,e)},t}(),Nr=function(){function t(t,e,n,r){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitIcu(this,e)},t}(),Fr=function(){function t(t,e,n,r,i,o,a){this.tag=t,this.attrs=e,this.startName=n,this.closeName=r,this.children=i,this.isVoid=o,this.sourceSpan=a}return t.prototype.visit=function(t,e){return t.visitTagPlaceholder(this,e)},t}(),Lr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitPlaceholder(this,e)},t}(),Vr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitIcuPlaceholder(this,e)},t}(),Br=function(){function t(){}return t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitContainer=function(t,e){var n=this,r=t.children.map(function(t){return t.visit(n,e)});return new Mr(r,t.sourceSpan)},t.prototype.visitIcu=function(t,e){var n=this,r={};Object.keys(t.cases).forEach(function(i){return r[i]=t.cases[i].visit(n,e)});var i=new Nr(t.expression,t.type,r,t.sourceSpan);return i.expressionPlaceholder=t.expressionPlaceholder,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=t.children.map(function(t){return t.visit(n,e)});return new Fr(t.tag,t.attrs,t.startName,t.closeName,r,t.isVoid,t.sourceSpan)},t.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,t.name,t.sourceSpan)},t.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,t.name,t.sourceSpan)},t}(),zr=function(){function t(){}return t.prototype.visitText=function(t,e){},t.prototype.visitContainer=function(t,e){var n=this;t.children.forEach(function(t){return t.visit(n)})},t.prototype.visitIcu=function(t,e){var n=this;Object.keys(t.cases).forEach(function(e){t.cases[e].visit(n)})},t.prototype.visitTagPlaceholder=function(t,e){var n=this;t.children.forEach(function(t){return t.visit(n)})},t.prototype.visitPlaceholder=function(t,e){},t.prototype.visitIcuPlaceholder=function(t,e){},t}();function Hr(t){return t.id||function(t){var e,n,r=Le(t),i=function(t,e){for(var n=Array(t.length+3>>>2),r=0;r>5]|=128<<24-a%32,i[15+(a+64>>9<<4)]=a;for(var f=0;f>>4).toString(16)+(15&r).toString(16)}return e.toLowerCase()}(ii([c,u,p,d,h]))}((e=t.nodes,e.map(function(t){return t.visit(qr,null)})).join("")+"["+t.meaning+"]");var e}function Ur(t){if(t.id)return t.id;var e=new Yr;return function(t,e){var n,r=Object(o.f)(Qr(t),2),i=r[0],a=r[1];if(e){var s=Object(o.f)(Qr(e),2),l=s[0],c=s[1];n=Object(o.f)(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1],a=Object(o.f)(e,2),s=a[0],l=a[1],c=Object(o.f)(Jr(i,l),2),u=c[0],p=c[1];return[$r($r(r,s),u),p]}(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r<>>32-e,i<>>32-e]}([i,a],1),[l,c]),2),i=n[0],a=n[1]}return function(t){for(var e="",n="1",r=t.length-1;r>=0;r--)e=oi(e,ai(ni(t,r),n)),n=ai(256,n);return e.split("").reverse().join("")}(ii([2147483647&i,a]))}(t.nodes.map(function(t){return t.visit(e,null)}).join(""),t.meaning)}var Gr=function(){function t(){}return t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return"["+t.children.map(function(t){return t.visit(n)}).join(", ")+"]"},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+t.expression+", "+t.type+", "+r.join(", ")+"}"},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?'':''+t.children.map(function(t){return t.visit(n)}).join(", ")+''},t.prototype.visitPlaceholder=function(t,e){return t.value?''+t.value+"":''},t.prototype.visitIcuPlaceholder=function(t,e){return''+t.value.visit(this)+""},t}(),qr=new Gr;var Wr,Yr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+t.type+", "+r.join(", ")+"}"},e}(Gr);function Kr(t,e,n,r){return t<20?[e&n|~e&r,1518500249]:t<40?[e^n^r,1859775393]:t<60?[e&n|e&r|n&r,2400959708]:[e^n^r,3395469782]}function Qr(t){var e=Le(t),n=Object(o.f)([Xr(e,0),Xr(e,102072)],2),r=n[0],i=n[1];return 0!=r||0!=i&&1!=i||(r^=319790063,i^=-1801410264),[r,i]}function Xr(t,e){var n,r,i=Object(o.f)([2654435769,2654435769],2),a=i[0],s=i[1],l=t.length;for(r=0;r+12<=l;r+=12)a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,ri(t,r+8,Wr.Little)),a=(n=Object(o.f)(Zr([a,s,e]),3))[0],s=n[1],e=n[2];return a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,l),Zr([a,s,e=$r(e,ri(t,r+8,Wr.Little)<<8)])[2]}function Zr(t){var e=Object(o.f)(t,3),n=e[0],r=e[1],i=e[2];return n=ti(n,r),n=ti(n,i),n^=i>>>13,r=ti(r,i),r=ti(r,n),r^=n<<8,i=ti(i,n),i=ti(i,r),i^=r>>>13,n=ti(n,r),n=ti(n,i),n^=i>>>12,r=ti(r,i),r=ti(r,n),r^=n<<16,i=ti(i,n),i=ti(i,r),i^=r>>>5,n=ti(n,r),n=ti(n,i),n^=i>>>3,r=ti(r,i),r=ti(r,n),r^=n<<10,i=ti(i,n),i=ti(i,r),[n,r,i^=r>>>15]}function $r(t,e){return Jr(t,e)[1]}function Jr(t,e){var n=(65535&t)+(65535&e),r=(t>>>16)+(e>>>16)+(n>>>16);return[r>>>16,r<<16|65535&n]}function ti(t,e){var n=(65535&t)-(65535&e);return(t>>16)-(e>>16)+(n>>16)<<16|65535&n}function ei(t,e){return t<>>32-e}function ni(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function ri(t,e,n){var r=0;if(n===Wr.Big)for(var i=0;i<4;i++)r+=ni(t,e+i)<<24-8*i;else for(i=0;i<4;i++)r+=ni(t,e+i)<<8*i;return r}function ii(t){return t.reduce(function(t,e){return t+function(t){for(var e="",n=0;n<4;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}(e)},"")}function oi(t,e){for(var n="",r=Math.max(t.length,e.length),i=0,o=0;i=10?(o=1,n+=a-10):(o=0,n+=a)}return n}function ai(t,e){for(var n="",r=e;0!==t;t>>>=1)1&t&&(n=oi(n,r)),r=oi(r,r);return n}!function(t){t[t.Little=0]="Little",t[t.Big=1]="Big"}(Wr||(Wr={}));var si=function(){function t(){}return t.prototype.createNameMapper=function(t){return null},t}(),li=function(t){function e(e,n){var r=t.call(this)||this;return r.mapName=n,r.internalToPublic={},r.publicToNextId={},r.publicToInternal={},e.nodes.forEach(function(t){return t.visit(r)}),r}return Object(o.c)(e,t),e.prototype.toPublicName=function(t){return this.internalToPublic.hasOwnProperty(t)?this.internalToPublic[t]:null},e.prototype.toInternalName=function(t){return this.publicToInternal.hasOwnProperty(t)?this.publicToInternal[t]:null},e.prototype.visitText=function(t,e){return null},e.prototype.visitTagPlaceholder=function(e,n){this.visitPlaceholderName(e.startName),t.prototype.visitTagPlaceholder.call(this,e,n),this.visitPlaceholderName(e.closeName)},e.prototype.visitPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitIcuPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitPlaceholderName=function(t){if(t&&!this.internalToPublic.hasOwnProperty(t)){var e=this.mapName(t);if(this.publicToInternal.hasOwnProperty(e)){var n=this.publicToNextId[e];this.publicToNextId[e]=n+1,e=e+"_"+n}else this.publicToNextId[e]=1;this.internalToPublic[t]=e,this.publicToInternal[e]=t}},e}(zr),ci=new(function(){function t(){}return t.prototype.visitTag=function(t){var e=this,n=this._serializeAttributes(t.attrs);if(0==t.children.length)return"<"+t.name+n+"/>";var r=t.children.map(function(t){return t.visit(e)});return"<"+t.name+n+">"+r.join("")+""},t.prototype.visitText=function(t){return t.value},t.prototype.visitDeclaration=function(t){return""},t.prototype._serializeAttributes=function(t){var e=Object.keys(t).map(function(e){return e+'="'+t[e]+'"'}).join(" ");return e.length>0?" "+e:""},t.prototype.visitDoctype=function(t){return""},t}());function ui(t){return t.map(function(t){return t.visit(ci)}).join("")}var pi=function(){function t(t){var e=this;this.attrs={},Object.keys(t).forEach(function(n){e.attrs[n]=yi(t[n])})}return t.prototype.visit=function(t){return t.visitDeclaration(this)},t}(),di=function(){function t(t,e){this.rootTag=t,this.dtd=e}return t.prototype.visit=function(t){return t.visitDoctype(this)},t}(),hi=function(){function t(t,e,n){var r=this;void 0===e&&(e={}),void 0===n&&(n=[]),this.name=t,this.children=n,this.attrs={},Object.keys(e).forEach(function(t){r.attrs[t]=yi(e[t])})}return t.prototype.visit=function(t){return t.visitTag(this)},t}(),fi=function(){function t(t){this.value=yi(t)}return t.prototype.visit=function(t){return t.visitText(this)},t}(),mi=function(t){function e(e){return void 0===e&&(e=0),t.call(this,"\n"+new Array(e+1).join(" "))||this}return Object(o.c)(e,t),e}(fi),gi=[[/&/g,"&"],[/"/g,"""],[/'/g,"'"],[//g,">"]];function yi(t){return gi.reduce(function(t,e){return t.replace(e[0],e[1])},t)}var vi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new wi,r=new bi,i=new hi("messagebundle");return t.forEach(function(t){var e={id:t.id};t.description&&(e.desc=t.description),t.meaning&&(e.meaning=t.meaning);var n=[];t.sources.forEach(function(t){n.push(new hi("source",{},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))}),i.children.push(new mi(2),new hi("msg",e,Object(o.g)(n,r.serialize(t.nodes))))}),i.children.push(new mi),ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,new di("messagebundle",'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'),new mi,n.addDefaultExamples(i),new mi])},e.prototype.load=function(t,e){throw new Error("Unsupported")},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si),bi=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=new fi("<"+t.tag+">"),r=new hi("ex",{},[n]),i=new hi("ph",{name:t.startName},[r,n]);if(t.isVoid)return[i];var a=new fi(""),s=new hi("ex",{},[a]),l=new hi("ph",{name:t.closeName},[s,a]);return Object(o.g)([i],this.serialize(t.children),[l])},t.prototype.visitPlaceholder=function(t,e){var n=new fi("{{"+t.value+"}}"),r=new hi("ex",{},[n]);return[new hi("ph",{name:t.name},[r,n])]},t.prototype.visitIcuPlaceholder=function(t,e){var n=t.value.expression,r=t.value.type,i=Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" "),o=new fi("{"+n+", "+r+", "+i+"}"),a=new hi("ex",{},[o]);return[new hi("ph",{name:t.name},[a,o])]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}();function _i(t){return Ur(t)}var wi=function(){function t(){}return t.prototype.addDefaultExamples=function(t){return t.visit(this),t},t.prototype.visitTag=function(t){var e=this;if("ph"===t.name){if(!t.children||0==t.children.length){var n=new fi(t.attrs.name||"...");t.children=[new hi("ex",{},[n])]}}else t.children&&t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitText=function(t){},t.prototype.visitDeclaration=function(t){},t.prototype.visitDoctype=function(t){},t}();function xi(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function Ci(t,e){return void 0===e&&(e=!1),ye(Object.keys(t).map(function(n){return{key:n,quoted:e,value:t[n]}}))}var Oi="MSG_",Ei="goog.getMsg",Si="ngI18nClosureMode",ki="|",ji="@@",Ai="i18n",Di="i18n-",Ti="�";function Pi(t,e,n,r,i){var o=[];o.push(new Wt(t.name,void 0,lt,null,t.sourceSpan));var a=[_e(n)];i&&Object.keys(i).length&&a.push(Ci(i,!0));var s=function(t){var e=[];t.description&&e.push({tagName:"desc",text:t.description});t.meaning&&e.push({tagName:"meaning",text:t.meaning});return 0==e.length?null:new ne(e)}(r),l=s?[s]:[],c=de(Ei).callFn(a);l.push(e.set(c).toConstDecl()),l.push(new Kt(t.set(e)));var u=he(jn.i18nLocalize).callFn(a),p=[new Kt(t.set(u))];return o.push(be(de(Si),l,p)),o}function Ii(t){return t===Ai||t.startsWith(Di)}function Ri(t){return t instanceof Ir}function Mi(t){return Ri(t)&&1===t.nodes.length&&t.nodes[0]instanceof Nr}function Ni(t,e){return void 0===e&&(e=null),{id:"string"==typeof e?e:t.id||"",meaning:t.meaning||"",description:t.description||""}}function Fi(t){return t.nodes[0]}function Li(t,e){return void 0===e&&(e=0),""+Ti+t+(e>0?":"+e:"")+Ti}function Vi(t){void 0===t&&(t=0);var e=t;return function(){return e++}}function Bi(t){var e={};return t.forEach(function(t,n){e[n]=_e(t.length>1?"["+t.join("|")+"]":t[0])}),e}function zi(t,e){for(var n=[],r=2;r0?function(t,e){return ye(Object.getOwnPropertyNames(t).map(function(n){var r,i,a,s,l,c=t[n];return Array.isArray(c)?(s=(r=Object(o.f)(c,2))[0],a=r[1]):(a=(i=Object(o.f)(Ce(n,[n,c]),2))[0],s=i[1]),{key:l=a,quoted:qi.test(l),value:e&&s!==a?ge([$i(s),$i(a)]):$i(s)}}))}(t,e):null}function to(t){for(;(e=t[t.length-1])instanceof kt&&null===e.value;)t.pop();var e;return t}function eo(t,e){if(Array.isArray(t.predicate)){var n=[];return t.predicate.forEach(function(t){var e=t.split(",").map(function(t){return _e(t.trim())});n.push.apply(n,Object(o.g)(e))}),e.getConstLiteral(ge(n),!0)}return t.predicate}var no,ro,io=function(){function t(){this.values=[]}return t.prototype.set=function(t,e){e&&this.values.push({key:t,value:e,quoted:!1})},t.prototype.toLiteralMap=function(){return ye(this.values)},t}();function oo(t){var e={};return t instanceof Sr&&"ng-template"!==t.tagName?t.templateAttrs.forEach(function(t){return e[t.name]=""}):(t.attributes.forEach(function(t){Ii(t.name)||(e[t.name]=t.value)}),t.inputs.forEach(function(t){e[t.name]=""}),t.outputs.forEach(function(t){e[t.name]=""})),e}function ao(t,e,n){var r=he(t,null,n);if(e.length>0)for(var i=0;i0){n=[];for(var r=0;r]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xo(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error("Expected '"+t+"' to be an array, [start, end].");if(null!=e){var n=e[0],r=e[1];wo.forEach(function(t){if(t.test(n)||t.test(r))throw new Error("['"+n+"', '"+r+"'] contains unusable interpolation symbol.")})}}var Co=function(){function t(t,e){this.start=t,this.end=e}return t.fromArray=function(e){return e?(xo("interpolation",e),new t(e[0],e[1])):Oo},t}(),Oo=new Co("{{","}}"),Eo=function(){function t(t){void 0===t&&(t=null),this.file=t,this.sourcesContent=new Map,this.lines=[],this.lastCol0=0,this.hasMappings=!1}return t.prototype.addSource=function(t,e){return void 0===e&&(e=null),this.sourcesContent.has(t)||this.sourcesContent.set(t,e),this},t.prototype.addLine=function(){return this.lines.push([]),this.lastCol0=0,this},t.prototype.addMapping=function(t,e,n,r){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(null!=e&&!this.sourcesContent.has(e))throw new Error('Unknown source file "'+e+'"');if(null==t)throw new Error("The column in the generated code must be provided");if(t>2),e+=jo((3&r)<<4|(isNaN(i)?0:i>>4)),e+=isNaN(i)?"=":jo((15&i)<<2|o>>6),e+=isNaN(i)||isNaN(o)?"=":jo(63&o)}return e}(JSON.stringify(this,null,0)):""},t}();function So(t){t=t<0?1+(-t<<1):t<<1;var e="";do{var n=31&t;(t>>=5)>0&&(n|=32),e+=jo(n)}while(t>0);return e}var ko="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function jo(t){if(t<0||t>=64)throw new Error("Can only encode value in the range [0, 63]");return ko[t]}var Ao=/'|\\|\n|\r|\$/g,Do=/^[$A-Z_][0-9A-Z_$]*$/i,To=" ",Po=de("error",null,null),Io=de("stack",null,null),Ro=function(t){this.indent=t,this.partsLength=0,this.parts=[],this.srcSpans=[]},Mo=function(){function t(t){this._indent=t,this._classes=[],this._preambleLineCount=0,this._lines=[new Ro(t)]}return t.createRoot=function(){return new t(0)},Object.defineProperty(t.prototype,"_currentLine",{get:function(){return this._lines[this._lines.length-1]},enumerable:!0,configurable:!0}),t.prototype.println=function(t,e){void 0===e&&(e=""),this.print(t||null,e,!0)},t.prototype.lineIsEmpty=function(){return 0===this._currentLine.parts.length},t.prototype.lineLength=function(){return this._currentLine.indent*To.length+this._currentLine.partsLength},t.prototype.print=function(t,e,n){void 0===n&&(n=!1),e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(t&&t.sourceSpan||null)),n&&this._lines.push(new Ro(this._indent))},t.prototype.removeEmptyLastLine=function(){this.lineIsEmpty()&&this._lines.pop()},t.prototype.incIndent=function(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.decIndent=function(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.pushClass=function(t){this._classes.push(t)},t.prototype.popClass=function(){return this._classes.pop()},Object.defineProperty(t.prototype,"currentClass",{get:function(){return this._classes.length>0?this._classes[this._classes.length-1]:null},enumerable:!0,configurable:!0}),t.prototype.toSource=function(){return this.sourceLines.map(function(t){return t.parts.length>0?Lo(t.indent)+t.parts.join(""):""}).join("\n")},t.prototype.toSourceMapGenerator=function(t,e){void 0===e&&(e=0);for(var n=new Eo(t),r=!1,i=function(){r||(n.addSource(t," ").addMapping(0,t,0,0),r=!0)},o=0;or)return n.srcSpans[i];r-=o.length}return null},Object.defineProperty(t.prototype,"sourceLines",{get:function(){return this._lines.length&&0===this._lines[this._lines.length-1].parts.length?this._lines.slice(0,-1):this._lines},enumerable:!0,configurable:!0}),t}(),No=function(){function t(t){this._escapeDollarInStrings=t}return t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitReturnStmt=function(t,e){return e.print(t,"return "),t.value.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitIfStmt=function(t,e){e.print(t,"if ("),t.condition.visitExpression(this,e),e.print(t,") {");var n=null!=t.falseCase&&t.falseCase.length>0;return t.trueCase.length<=1&&!n?(e.print(t," "),this.visitAllStatements(t.trueCase,e),e.removeEmptyLastLine(),e.print(t," ")):(e.println(),e.incIndent(),this.visitAllStatements(t.trueCase,e),e.decIndent(),n&&(e.println(t,"} else {"),e.incIndent(),this.visitAllStatements(t.falseCase,e),e.decIndent())),e.println(t,"}"),null},t.prototype.visitThrowStmt=function(t,e){return e.print(t,"throw "),t.error.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitCommentStmt=function(t,e){return t.multiline?e.println(t,"/* "+t.comment+" */"):t.comment.split("\n").forEach(function(n){e.println(t,"// "+n)}),null},t.prototype.visitJSDocCommentStmt=function(t,e){return e.println(t,"/*"+t.toString()+"*/"),null},t.prototype.visitWriteVarExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),e.print(t,t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWriteKeyExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"] = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWritePropExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"."+t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitInvokeMethodExpr=function(t,e){t.receiver.visitExpression(this,e);var n=t.name;return null!=t.builtin&&null==(n=this.getBuiltinMethodName(t.builtin))?null:(e.print(t,"."+n+"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null)},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")},t.prototype.visitTypeofExpr=function(t,e){e.print(t,"typeof "),t.expr.visitExpression(this,e)},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(null!=t.builtin)switch(t.builtin){case ft.Super:n="super";break;case ft.This:n="this";break;case ft.CatchError:n=Po.name;break;case ft.CatchStack:n=Io.name;break;default:throw new Error("Unknown builtin variable "+t.builtin)}return e.print(t,n),null},t.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),t.classExpr.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitLiteralExpr=function(t,e){var n=t.value;return"string"==typeof n?e.print(t,Fo(n,this._escapeDollarInStrings)):e.print(t,""+n),null},t.prototype.visitConditionalExpr=function(t,e){return e.print(t,"("),t.condition.visitExpression(this,e),e.print(t,"? "),t.trueCase.visitExpression(this,e),e.print(t,": "),t.falseCase.visitExpression(this,e),e.print(t,")"),null},t.prototype.visitNotExpr=function(t,e){return e.print(t,"!"),t.condition.visitExpression(this,e),null},t.prototype.visitAssertNotNullExpr=function(t,e){return t.condition.visitExpression(this,e),null},t.prototype.visitBinaryOperatorExpr=function(t,e){var n;switch(t.operator){case nt.Equals:n="==";break;case nt.Identical:n="===";break;case nt.NotEquals:n="!=";break;case nt.NotIdentical:n="!==";break;case nt.And:n="&&";break;case nt.BitwiseAnd:n="&";break;case nt.Or:n="||";break;case nt.Plus:n="+";break;case nt.Minus:n="-";break;case nt.Divide:n="/";break;case nt.Multiply:n="*";break;case nt.Modulo:n="%";break;case nt.Lower:n="<";break;case nt.LowerEquals:n="<=";break;case nt.Bigger:n=">";break;case nt.BiggerEquals:n=">=";break;default:throw new Error("Unknown operator "+t.operator)}return t.parens&&e.print(t,"("),t.lhs.visitExpression(this,e),e.print(t," "+n+" "),t.rhs.visitExpression(this,e),t.parens&&e.print(t,")"),null},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"."),e.print(t,t.name),null},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"]"),null},t.prototype.visitLiteralArrayExpr=function(t,e){return e.print(t,"["),this.visitAllExpressions(t.entries,e,","),e.print(t,"]"),null},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return e.print(t,"{"),this.visitAllObjects(function(r){e.print(t,Fo(r.key,n._escapeDollarInStrings,r.quoted)+":"),r.value.visitExpression(n,e)},t.entries,e,","),e.print(t,"}"),null},t.prototype.visitCommaExpr=function(t,e){return e.print(t,"("),this.visitAllExpressions(t.parts,e,","),e.print(t,")"),null},t.prototype.visitAllExpressions=function(t,e,n){var r=this;this.visitAllObjects(function(t){return t.visitExpression(r,e)},t,e,n)},t.prototype.visitAllObjects=function(t,e,n,r){for(var i=!1,o=0;o0&&(n.lineLength()>80?(n.print(null,r,!0),i||(n.incIndent(),n.incIndent(),i=!0)):n.print(null,r,!1)),t(e[o]);i&&(n.decIndent(),n.decIndent())},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}();function Fo(t,e,n){if(void 0===n&&(n=!0),null==t)return null;var r=t.replace(Ao,function(){for(var t=[],n=0;n0&&(e.println(t,"var self = this;"),this.visitAllStatements(t.constructorMethod.body,e)),e.decIndent(),e.println(t,"}")},e.prototype._visitClassGetter=function(t,e,n){n.println(t,"Object.defineProperty("+t.name+".prototype, '"+e.name+"', { get: function() {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"}});")},e.prototype._visitClassMethod=function(t,e,n){n.print(t,t.name+".prototype."+e.name+" = function("),this._visitParams(e.params,n),n.println(t,") {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"};")},e.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")},e.prototype.visitReadVarExpr=function(e,n){if(e.builtin===ft.This)n.print(e,"self");else{if(e.builtin===ft.Super)throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");t.prototype.visitReadVarExpr.call(this,e,n)}return null},e.prototype.visitDeclareVarStmt=function(t,e){return e.print(t,"var "+t.name),t.value&&(e.print(t," = "),t.value.visitExpression(this,e)),e.println(t,";"),null},e.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),null},e.prototype.visitInvokeFunctionExpr=function(e,n){var r=e.fn;return r instanceof yt&&r.builtin===ft.Super?(n.currentClass.parent.visitExpression(this,n),n.print(e,".call(this"),e.args.length>0&&(n.print(e,", "),this.visitAllExpressions(e.args,n,",")),n.print(e,")")):t.prototype.visitInvokeFunctionExpr.call(this,e,n),null},e.prototype.visitFunctionExpr=function(t,e){return e.print(t,"function"+(t.name?" "+t.name:"")+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack")).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype._visitParams=function(t,e){this.visitAllObjects(function(t){return e.print(null,t.name)},t,e,",")},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e}(No),Bo=function(){function t(){}return t.prototype.evaluateStatements=function(t,e,n,r){var i=new zo(n),a=Mo.createRoot();return e.length>0&&!e[0].isEquivalent(_e("use strict").toStmt())&&(e=Object(o.g)([_e("use strict").toStmt()],e)),i.visitAllStatements(e,a),i.createReturnStmt(a),this.evaluateCode(t,a,i.getArgs(),r)},t.prototype.evaluateCode=function(t,e,n,r){var i='"use strict";'+e.toSource()+"\n//# sourceURL="+t,a=[],s=[];for(var l in n)s.push(n[l]),a.push(l);if(r){var c=(new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat("return null;"))))).toString(),u=c.slice(0,c.indexOf("return null;")).split("\n").length-1;i+="\n"+e.toSourceMapGenerator(t,u).toJsComment()}var p=new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat(i))));return this.executeFunction(p,s)},t.prototype.executeFunction=function(t,e){return t.apply(void 0,Object(o.g)(e))},t}(),zo=function(t){function e(e){var n=t.call(this)||this;return n.reflector=e,n._evalArgNames=[],n._evalArgValues=[],n._evalExportedVars=[],n}return Object(o.c)(e,t),e.prototype.createReturnStmt=function(t){new Qt(new zt(this._evalExportedVars.map(function(t){return new Bt(t,de(t),!1)}))).visitStatement(this,t)},e.prototype.getArgs=function(){for(var t={},e=0;e0?me(ge(e)):pt}function qo(t,e){var n=ge(t.map(function(t){return t.value}));return e?ve([],[new Qt(n)]):n}function Wo(t){var e=[];e.push({key:"name",value:_e(t.pipeName),quoted:!1}),e.push({key:"type",value:t.type,quoted:!1});var n=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.directiveInject},!0);return e.push({key:"factory",value:n.factory,quoted:!1}),e.push({key:"pure",value:_e(t.pure),quoted:!1}),{expression:he(jn.definePipe).callFn([ye(e)]),type:new it(he(jn.PipeDefWithMeta,[go(t.type,t.typeArgumentCount),new it(new kt(t.pipeName))])),statements:n.statements}}var Yo=function(t,e,n,r){this.input=e,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: "+t+" "+n+" ["+e+"] in "+r},Ko=function(t,e){this.start=t,this.end=e},Qo=function(){function t(t){this.span=t}return t.prototype.visit=function(t,e){return void 0===e&&(e=null),null},t.prototype.toString=function(){return"AST"},t}(),Xo=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.prefix=n,o.uninterpretedExpression=r,o.location=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitQuote(this,e)},e.prototype.toString=function(){return"Quote"},e}(Qo),Zo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){void 0===e&&(e=null)},e}(Qo),$o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitImplicitReceiver(this,e)},e}(Qo),Jo=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitChain(this,e)},e}(Qo),ta=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.condition=n,o.trueExp=r,o.falseExp=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitConditional(this,e)},e}(Qo),ea=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyRead(this,e)},e}(Qo),na=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyWrite(this,e)},e}(Qo),ra=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafePropertyRead(this,e)},e}(Qo),ia=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.obj=n,i.key=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedRead(this,e)},e}(Qo),oa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.obj=n,o.key=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedWrite(this,e)},e}(Qo),aa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.exp=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPipe(this,e)},e}(Qo),sa=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralPrimitive(this,e)},e}(Qo),la=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralArray(this,e)},e}(Qo),ca=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keys=n,i.values=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralMap(this,e)},e}(Qo),ua=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.strings=n,i.expressions=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitInterpolation(this,e)},e}(Qo),pa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.operation=n,o.left=r,o.right=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitBinary(this,e)},e}(Qo),da=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPrefixNot(this,e)},e}(Qo),ha=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitNonNullAssert(this,e)},e}(Qo),fa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitMethodCall(this,e)},e}(Qo),ma=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafeMethodCall(this,e)},e}(Qo),ga=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.target=n,i.args=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitFunctionCall(this,e)},e}(Qo),ya=function(t,e){this.start=t,this.end=e},va=function(t){function e(e,n,r,i,o){var a=t.call(this,new Ko(0,null==n?0:n.length))||this;return a.ast=e,a.source=n,a.location=r,a.errors=o,a.sourceSpan=new ya(i,i+a.span.end),a}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)},e.prototype.toString=function(){return this.source+" in "+this.location},e}(Qo),ba=function(t,e,n,r,i){this.span=t,this.key=e,this.keyIsVar=n,this.name=r,this.expression=i},_a=(function(){function t(){}t.prototype.visitBinary=function(t,e){},t.prototype.visitChain=function(t,e){},t.prototype.visitConditional=function(t,e){},t.prototype.visitFunctionCall=function(t,e){},t.prototype.visitImplicitReceiver=function(t,e){},t.prototype.visitInterpolation=function(t,e){},t.prototype.visitKeyedRead=function(t,e){},t.prototype.visitKeyedWrite=function(t,e){},t.prototype.visitLiteralArray=function(t,e){},t.prototype.visitLiteralMap=function(t,e){},t.prototype.visitLiteralPrimitive=function(t,e){},t.prototype.visitMethodCall=function(t,e){},t.prototype.visitPipe=function(t,e){},t.prototype.visitPrefixNot=function(t,e){},t.prototype.visitNonNullAssert=function(t,e){},t.prototype.visitPropertyRead=function(t,e){},t.prototype.visitPropertyWrite=function(t,e){},t.prototype.visitQuote=function(t,e){},t.prototype.visitSafeMethodCall=function(t,e){},t.prototype.visitSafePropertyRead=function(t,e){}}(),function(){function t(){}return t.prototype.visitBinary=function(t,e){return t.left.visit(this,e),t.right.visit(this,e),null},t.prototype.visitChain=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return t.condition.visit(this,e),t.trueExp.visit(this,e),t.falseExp.visit(this,e),null},t.prototype.visitPipe=function(t,e){return t.exp.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitFunctionCall=function(t,e){return t.target.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitImplicitReceiver=function(t,e){return null},t.prototype.visitInterpolation=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitKeyedRead=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),null},t.prototype.visitKeyedWrite=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),t.value.visit(this,e),null},t.prototype.visitLiteralArray=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitLiteralMap=function(t,e){return this.visitAll(t.values,e)},t.prototype.visitLiteralPrimitive=function(t,e){return null},t.prototype.visitMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitPrefixNot=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitNonNullAssert=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitPropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitPropertyWrite=function(t,e){return t.receiver.visit(this,e),t.value.visit(this,e),null},t.prototype.visitSafePropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitSafeMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitAll=function(t,e){var n=this;return t.forEach(function(t){return t.visit(n,e)}),null},t.prototype.visitQuote=function(t,e){return null},t}()),wa=function(){function t(){}return t.prototype.visitImplicitReceiver=function(t,e){return t},t.prototype.visitInterpolation=function(t,e){return new ua(t.span,t.strings,this.visitAll(t.expressions))},t.prototype.visitLiteralPrimitive=function(t,e){return new sa(t.span,t.value)},t.prototype.visitPropertyRead=function(t,e){return new ea(t.span,t.receiver.visit(this),t.name)},t.prototype.visitPropertyWrite=function(t,e){return new na(t.span,t.receiver.visit(this),t.name,t.value.visit(this))},t.prototype.visitSafePropertyRead=function(t,e){return new ra(t.span,t.receiver.visit(this),t.name)},t.prototype.visitMethodCall=function(t,e){return new fa(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitSafeMethodCall=function(t,e){return new ma(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitFunctionCall=function(t,e){return new ga(t.span,t.target.visit(this),this.visitAll(t.args))},t.prototype.visitLiteralArray=function(t,e){return new la(t.span,this.visitAll(t.expressions))},t.prototype.visitLiteralMap=function(t,e){return new ca(t.span,t.keys,this.visitAll(t.values))},t.prototype.visitBinary=function(t,e){return new pa(t.span,t.operation,t.left.visit(this),t.right.visit(this))},t.prototype.visitPrefixNot=function(t,e){return new da(t.span,t.expression.visit(this))},t.prototype.visitNonNullAssert=function(t,e){return new ha(t.span,t.expression.visit(this))},t.prototype.visitConditional=function(t,e){return new ta(t.span,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))},t.prototype.visitPipe=function(t,e){return new aa(t.span,t.exp.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitKeyedRead=function(t,e){return new ia(t.span,t.obj.visit(this),t.key.visit(this))},t.prototype.visitKeyedWrite=function(t,e){return new oa(t.span,t.obj.visit(this),t.key.visit(this),t.value.visit(this))},t.prototype.visitAll=function(t){for(var e=new Array(t.length),n=0;n=0;r--)n.unshift(La(e,r))}(s.temporaryCount,r,l),s.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var c=l.length-1,u=null;if(c>=0){var p=function(t){if(t instanceof Kt)return t.expr;if(t instanceof Qt)return t.value;return null}(l[c]);p&&(u=function(t){return de("pd_"+t)}(r),l[c]=u.set(p.cast(st).notIdentical(_e(!1))).toDeclStmt(null,[Ct.Final]))}return new Aa(l,u)}function Ta(t,e){return function(t,e){var n=new za(t);return e.visit(n)}(t,e)}var Pa,Ia,Ra=function(t,e){this.stmts=t,this.currValExpr=e};function Ma(t,e,n,r,i,o){t||(t=new Ua);var a=function(t){return de("currVal_"+t)}(r),s=new Ha(t,e,r,o),l=n.visit(s,Ia.Expression),c=Na(s,r);return s.usesImplicitReceiver&&t.notifyImplicitReceiverUse(),0===s.temporaryCount&&i==Pa.TrySimple?new Ra([],l):(c.push(a.set(l).toDeclStmt(st,[Ct.Final])),new Ra(c,a))}function Na(t,e){for(var n=[],r=0;r":n=nt.Bigger;break;case"<=":n=nt.LowerEquals;break;case">=":n=nt.BiggerEquals;break;default:throw new Error("Unsupported operation "+t.operation)}return Ba(e,new Nt(n,this._visit(t.left,Ia.Expression),this._visit(t.right,Ia.Expression),void 0,this.convertSourceSpan(t.span)))},t.prototype.visitChain=function(t,e){return function(t,e){if(t!==Ia.Statement)throw new Error("Expected a statement, but saw "+e)}(e,t),this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return Ba(e,this._visit(t.condition,Ia.Expression).conditional(this._visit(t.trueExp,Ia.Expression),this._visit(t.falseExp,Ia.Expression),this.convertSourceSpan(t.span)))},t.prototype.visitPipe=function(t,e){throw new Error("Illegal state: Pipes should have been converted into functions. Pipe: "+t.name)},t.prototype.visitFunctionCall=function(t,e){var n=this.visitAll(t.args,Ia.Expression);return Ba(e,t instanceof Ga?t.converter(n):this._visit(t.target,Ia.Expression).callFn(n,this.convertSourceSpan(t.span)))},t.prototype.visitImplicitReceiver=function(t,e){return Va(e,t),this.usesImplicitReceiver=!0,this._implicitReceiver},t.prototype.visitInterpolation=function(t,e){Va(e,t);for(var n=[_e(t.expressions.length)],r=0;r-1?this._colonHostPartReplacer(t,e,n):t+e+n+", "+e+" "+t+n},t.prototype._colonHostPartReplacer=function(t,e,n){return t+e.replace(Xa,"")+n},t.prototype._convertShadowDOMSelectors=function(t){return rs.reduce(function(t,e){return t.replace(e," ")},t)},t.prototype._scopeSelectors=function(t,e,n){var r,i,o,a=this;return r=function(t){var r=t.selector,i=t.content;return"@"!=t.selector[0]?r=a._scopeSelector(t.selector,e,n,a.strictStyling):(t.selector.startsWith("@media")||t.selector.startsWith("@supports")||t.selector.startsWith("@page")||t.selector.startsWith("@document"))&&(i=a._scopeSelectors(t.content,e,n)),new gs(r,i)},i=function(t){for(var e=t.split(ds),n=[],r=[],i=0,o=[],a=0;a0?o.push(s):(o.length>0&&(r.push(o.join("")),n.push(ms),o=[]),n.push(s)),s==hs&&i++}return o.length>0&&(r.push(o.join("")),n.push(ms)),new ys(n.join(""),r)}(t),o=0,i.escapedString.replace(ps,function(){for(var t=[],e=0;e-1)r=i._applySimpleSelectorScope(t,e,n);else{var a=t.replace(as,"");if(a.length>0){var s=a.match(/([^:]*)(:*)(.*)/);s&&(r=s[1]+o+s[2]+s[3])}}return r},s=new Wa(t),l="",c=0,u=/( |>|\+|~(?!=))\s*/g,p=!((t=s.content()).indexOf(es)>-1);null!==(r=u.exec(t));){var d=r[1],h=t.slice(c,r.index).trim();l+=((p=p||h.indexOf(es)>-1)?a(h):h)+" "+d+" ",c=u.lastIndex}var f=t.substring(c);return l+=(p=p||f.indexOf(es)>-1)?a(f):f,s.restore(l)},t.prototype._insertPolyfillHostInCssText=function(t){return t.replace(ls,Za).replace(ss,Xa)},t}(),Wa=function(){function t(t){var e=this;this.placeholders=[],this.index=0,t=t.replace(/(\[[^\]]*\])/g,function(t,n){var r="__ph-"+e.index+"__";return e.placeholders.push(n),e.index++,r}),this._content=t.replace(/(:nth-[-\w]+)(\([^)]+\))/g,function(t,n,r){var i="__ph-"+e.index+"__";return e.placeholders.push(r),e.index++,n+i})}return t.prototype.restore=function(t){var e=this;return t.replace(/__ph-(\d+)__/g,function(t,n){return e.placeholders[+n]})},t.prototype.content=function(){return this._content},t}(),Ya=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Ka=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Qa=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Xa="-shadowcsshost",Za="-shadowcsscontext",$a=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",Ja=new RegExp("("+Xa+$a,"gim"),ts=new RegExp("("+Za+$a,"gim"),es=Xa+"-no-combinator",ns=/-shadowcsshost-no-combinator([^\s]*)/,rs=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],is=/(?:>>>)|(?:\/deep\/)|(?:::ng-deep)/g,os="([>\\s~+[.,{:][\\s\\S]*)?$",as=/-shadowcsshost/gim,ss=/:host/gim,ls=/:host-context/gim,cs=/\/\*\s*[\s\S]*?\*\//g;var us=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;var ps=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,ds=/([{}])/g,hs="{",fs="}",ms="%BLOCK%",gs=function(t,e){this.selector=t,this.content=e};var ys=function(t,e){this.escapedString=t,this.blocks=e};var vs="_nghost-%COMP%",bs="_ngcontent-%COMP%",_s=function(t,e,n){this.name=t,this.moduleUrl=e,this.setValue=n},ws=function(t,e,n,r,i){this.outputCtx=t,this.stylesVar=e,this.dependencies=n,this.isShimmed=r,this.meta=i},xs=function(){function t(t){this._urlResolver=t,this._shadowCss=new qa}return t.prototype.compileComponent=function(t,e){var n=e.template;return this._compileStyles(t,e,new gn({styles:n.styles,styleUrls:n.styleUrls,moduleUrl:un(e.type)}),this.needsStyleShim(e),!0)},t.prototype.compileStyles=function(t,e,n,r){return void 0===r&&(r=this.needsStyleShim(e)),this._compileStyles(t,e,n,r,!1)},t.prototype.needsStyleShim=function(t){return t.template.encapsulation===v.Emulated},t.prototype._compileStyles=function(t,e,n,r,i){var o=this,a=n.styles.map(function(t){return _e(o._shimIfNeeded(t,r))}),s=[];n.styleUrls.forEach(function(e){var n=a.length;a.push(null),s.push(new _s(Cs(null),e,function(e){return a[n]=t.importExpr(e)}))});var l=Cs(i?e:null),c=de(l).set(ge(a,new ot(st,[J.Const]))).toDeclStmt(null,i?[Ct.Final]:[Ct.Final,Ct.Exported]);return t.statements.push(c),new ws(t,l,s,r,n)},t.prototype._shimIfNeeded=function(t,e){return e?this._shadowCss.shimCssText(t,bs,vs):t},t}();function Cs(t){var e="styles";return t&&(e+="_"+cn(t.type)),e}!function(){function t(t,e){void 0===e&&(e=-1),this.path=t,this.position=e}Object.defineProperty(t.prototype,"empty",{get:function(){return!this.path||!this.path.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"head",{get:function(){return this.path[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tail",{get:function(){return this.path[this.path.length-1]},enumerable:!0,configurable:!0}),t.prototype.parentOf=function(t){return t&&this.path[this.path.indexOf(t)-1]},t.prototype.childOf=function(t){return this.path[this.path.indexOf(t)+1]},t.prototype.first=function(t){for(var e=this.path.length-1;e>=0;e--){var n=this.path[e];if(n instanceof t)return n}},t.prototype.push=function(t){this.path.push(t)},t.prototype.pop=function(){return this.path.pop()}}();var Os=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Es=function(){function t(t,e,n,r,i,o){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=i,this.i18n=o}return t.prototype.visit=function(t,e){return t.visitExpansion(this,e)},t}(),Ss=function(){function t(t,e,n,r,i){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansionCase(this,e)},t}(),ks=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t,e){return t.visitAttribute(this,e)},t}(),js=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=null),void 0===o&&(o=null),this.name=t,this.attrs=e,this.children=n,this.sourceSpan=r,this.startSourceSpan=i,this.endSourceSpan=o,this.i18n=a}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),As=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitComment(this,e)},t}();function Ds(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}var Ts;!function(){function t(){}t.prototype.visitElement=function(t,e){this.visitChildren(e,function(e){e(t.attrs),e(t.children)})},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){return this.visitChildren(e,function(e){e(t.cases)})},t.prototype.visitExpansionCase=function(t,e){},t.prototype.visitChildren=function(t,e){var n=[],r=this;return e(function(e){e&&n.push(Ds(r,e,t))}),Array.prototype.concat.apply([],n)}}();!function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE=14]="DOC_TYPE",t[t.EXPANSION_FORM_START=15]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=16]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=17]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=18]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=19]="EXPANSION_FORM_END",t[t.EOF=20]="EOF"}(Ts||(Ts={}));var Ps=function(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n},Is=function(t){function e(e,n,r){var i=t.call(this,r,e)||this;return i.tokenType=n,i}return Object(o.c)(e,t),e}(br),Rs=function(t,e){this.tokens=t,this.errors=e};var Ms=/\r\n?/g;function Ns(t){return'Unexpected character "'+(t===An?"EOF":String.fromCharCode(t))+'"'}function Fs(t){return'Unknown entity "'+t+'" - use the "&#;" or "&#x;" syntax'}var Ls=function(t){this.error=t},Vs=function(){function t(t,e,n){this._getTagDefinition=e,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||Oo,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map(function(t){return t.codePointAt(0)||0});var r=n.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new Ws(t,r):new qs(t,r);try{this._cursor.init()}catch(i){this.handleError(i)}}return t.prototype._processCarriageReturns=function(t){return t.replace(Ms,"\n")},t.prototype.tokenize=function(){for(;this._cursor.peek()!==An;){var t=this._cursor.clone();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(t):this._attemptCharCode(Bn)?this._consumeComment(t):this._consumeDocType(t):this._attemptCharCode(zn)?this._consumeTagClose(t):this._consumeTagOpen(t):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(Ts.EOF),this._endToken([]),new Rs(function(t){for(var e=[],n=void 0,r=0;r")}),this._beginToken(Ts.CDATA_END),this._requireStr("]]>"),this._endToken([])},t.prototype._consumeDocType=function(t){this._beginToken(Ts.DOC_TYPE,t);var e=this._cursor.clone();this._attemptUntilChar(Gn);var n=this._cursor.getChars(e);this._cursor.advance(),this._endToken([n])},t.prototype._consumePrefixAndName=function(){for(var t,e,n=this._cursor.clone(),r="";58!==this._cursor.peek()&&!(((t=this._cursor.peek())Yn));)this._cursor.advance();return 58===this._cursor.peek()?(r=this._cursor.getChars(n),this._cursor.advance(),e=this._cursor.clone()):e=n,this._requireCharCodeUntilFn(zs,""===r?0:1),[r,this._cursor.getChars(e)]},t.prototype._consumeTagOpen=function(t){var e,n,i,o=this.tokens.length,a=this._cursor.clone();try{if(!pr(this._cursor.peek()))throw this._createError(Ns(this._cursor.peek()),this._cursor.getSpan(t));for(n=(i=this._consumeTagOpenStart(t)).parts[0],e=i.parts[1],this._attemptCharCodeUntilFn(Bs);this._cursor.peek()!==zn&&this._cursor.peek()!==Gn;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(Bs),this._attemptCharCode(Un)&&(this._attemptCharCodeUntilFn(Bs),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(Bs);this._consumeTagOpenEnd()}catch(l){if(l instanceof Ls)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(Ts.TEXT,t),void this._endToken(["<"]);throw l}var s=this._getTagDefinition(e).contentType;s===r.RAW_TEXT?this._consumeRawTextWithTagClose(n,e,!1):s===r.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,e,!0)},t.prototype._consumeRawTextWithTagClose=function(t,e,n){var r=this;this._consumeRawText(n,function(){return!!r._attemptCharCode(60)&&(!!r._attemptCharCode(zn)&&(r._attemptCharCodeUntilFn(Bs),!!r._attemptStrCaseInsensitive(e)&&(r._attemptCharCodeUntilFn(Bs),r._attemptCharCode(Gn))))});this._beginToken(Ts.TAG_CLOSE),this._requireCharCodeUntilFn(function(t){return t===Gn},3),this._cursor.advance(),this._endToken([t,e])},t.prototype._consumeTagOpenStart=function(t){this._beginToken(Ts.TAG_OPEN_START,t);var e=this._consumePrefixAndName();return this._endToken(e)},t.prototype._consumeAttributeName=function(){var t=this._cursor.peek();if(t===Ln||t===Nn)throw this._createError(Ns(t),this._cursor.getSpan());this._beginToken(Ts.ATTR_NAME);var e=this._consumePrefixAndName();this._endToken(e)},t.prototype._consumeAttributeValue=function(){var t;if(this._cursor.peek()===Ln||this._cursor.peek()===Nn){this._beginToken(Ts.ATTR_QUOTE);var e=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(e)]),this._beginToken(Ts.ATTR_VALUE);for(var n=[];this._cursor.peek()!==e;)n.push(this._readChar(!0));t=n.join(""),this._endToken([this._processCarriageReturns(t)]),this._beginToken(Ts.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(e)])}else{this._beginToken(Ts.ATTR_VALUE);var r=this._cursor.clone();this._requireCharCodeUntilFn(zs,1),t=this._cursor.getChars(r),this._endToken([this._processCarriageReturns(t)])}},t.prototype._consumeTagOpenEnd=function(){var t=this._attemptCharCode(zn)?Ts.TAG_OPEN_END_VOID:Ts.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(Gn),this._endToken([])},t.prototype._consumeTagClose=function(t){this._beginToken(Ts.TAG_CLOSE,t),this._attemptCharCodeUntilFn(Bs);var e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Bs),this._requireCharCode(Gn),this._endToken(e)},t.prototype._consumeExpansionFormStart=function(){this._beginToken(Ts.EXPANSION_FORM_START),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(Ts.EXPANSION_FORM_START),this._beginToken(Ts.RAW_TEXT);var t=this._readUntil(44);this._endToken([t]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.RAW_TEXT);var e=this._readUntil(44);this._endToken([e]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs)},t.prototype._consumeExpansionCaseStart=function(){this._beginToken(Ts.EXPANSION_CASE_VALUE);var t=this._readUntil(123).trim();this._endToken([t]),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.EXPANSION_CASE_EXP_START),this._requireCharCode(123),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.push(Ts.EXPANSION_CASE_EXP_START)},t.prototype._consumeExpansionCaseEnd=function(){this._beginToken(Ts.EXPANSION_CASE_EXP_END),this._requireCharCode(125),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.pop()},t.prototype._consumeExpansionFormEnd=function(){this._beginToken(Ts.EXPANSION_FORM_END),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()},t.prototype._consumeText=function(){var t=this._cursor.clone();this._beginToken(Ts.TEXT,t);var e=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])},t.prototype._isTextEnd=function(){if(60===this._cursor.peek()||this._cursor.peek()===An)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(125===this._cursor.peek()&&this._isInExpansionCase())return!0}return!1},t.prototype._readUntil=function(t){var e=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(e)},t.prototype._isInExpansionCase=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_CASE_EXP_START},t.prototype._isInExpansionForm=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_FORM_START},t.prototype.isExpansionFormStart=function(){if(123!==this._cursor.peek())return!1;if(this._interpolationConfig){var t=this._cursor.clone(),e=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!e}return!0},t}();function Bs(t){return!cr(t)||t===An}function zs(t){return cr(t)||t===Gn||t===zn||t===Ln||t===Nn||t===Un}function Hs(t){return t==Hn||t==An||!function(t){return t>=Jn&&t<=er||t>=Kn&&t<=Xn||ur(t)}(t)}function Us(t){return t==Hn||t==An||!pr(t)}function Gs(t){return t>=Jn&&t<=ar?t-Jn+Kn:t}var qs=function(){function t(e,n){if(e instanceof t)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object(o.a)({},e.state);else{if(!n)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=n.endPos,this.state={peek:-1,offset:n.startPos,line:n.startLine,column:n.startCol}}}return t.prototype.clone=function(){return new t(this)},t.prototype.peek=function(){return this.state.peek},t.prototype.charsLeft=function(){return this.end-this.state.offset},t.prototype.diff=function(t){return this.state.offset-t.state.offset},t.prototype.advance=function(){this.advanceState(this.state)},t.prototype.init=function(){this.updatePeek(this.state)},t.prototype.getSpan=function(t,e){if(t=t||this,e)for(t=t.clone();this.diff(t)>0&&-1!==e.indexOf(t.peek());)t.advance();return new yr(new mr(t.file,t.state.offset,t.state.line,t.state.column),new mr(this.file,this.state.offset,this.state.line,this.state.column))},t.prototype.getChars=function(t){return this.input.substring(t.state.offset,this.state.offset)},t.prototype.charAt=function(t){return this.input.charCodeAt(t)},t.prototype.advanceState=function(t){if(t.offset>=this.end)throw this.state=t,new Ys('Unexpected character "EOF"',this);var e=this.charAt(t.offset);e===Tn?(t.line++,t.column=0):dr(e)||t.column++,t.offset++,this.updatePeek(t)},t.prototype.updatePeek=function(t){t.peek=t.offset>=this.end?An:this.charAt(t.offset)},t}(),Ws=function(t){function e(n,r){var i=this;return n instanceof e?(i=t.call(this,n)||this).internalState=Object(o.a)({},n.internalState):(i=t.call(this,n,r)||this).internalState=i.state,i}return Object(o.c)(e,t),e.prototype.advance=function(){this.state=this.internalState,t.prototype.advance.call(this),this.processEscapeSequence()},e.prototype.init=function(){t.prototype.init.call(this),this.processEscapeSequence()},e.prototype.clone=function(){return new e(this)},e.prototype.getChars=function(t){for(var e=t.clone(),n="";e.internalState.offset0)return this._errors=this._errors.concat(o.errors),null;var a=new yr(e.sourceSpan.start,i.sourceSpan.end),s=new yr(n.sourceSpan.start,i.sourceSpan.end);return new Ss(e.parts[0],o.rootNodes,a,e.sourceSpan,s)},t.prototype._collectExpansionExpTokens=function(t){for(var e=[],n=[Ts.EXPANSION_CASE_EXP_START];;){if(this._peek.type!==Ts.EXPANSION_FORM_START&&this._peek.type!==Ts.EXPANSION_CASE_EXP_START||n.push(this._peek.type),this._peek.type===Ts.EXPANSION_CASE_EXP_END){if(!$s(n,Ts.EXPANSION_CASE_EXP_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0==n.length)return e}if(this._peek.type===Ts.EXPANSION_FORM_END){if(!$s(n,Ts.EXPANSION_FORM_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===Ts.EOF)return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}},t.prototype._consumeText=function(t){var e=t.parts[0];if(e.length>0&&"\n"==e[0]){var n=this._getParentElement();null!=n&&0==n.children.length&&this.getTagDefinition(n.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new Os(e,t.sourceSpan))},t.prototype._closeVoidElement=function(){var t=this._getParentElement();t&&this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()},t.prototype._consumeStartTag=function(t){for(var e=t.parts[0],n=t.parts[1],r=[];this._peek.type===Ts.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var i=this._getElementFullName(e,n,this._getParentElement()),o=!1;if(this._peek.type===Ts.TAG_OPEN_END_VOID){this._advance(),o=!0;var a=this.getTagDefinition(i);a.canSelfClose||null!==u(i)||a.isVoid||this._errors.push(Ks.create(i,t.sourceSpan,'Only void and foreign elements can be self closed "'+t.parts[1]+'"'))}else this._peek.type===Ts.TAG_OPEN_END&&(this._advance(),o=!1);var s=this._peek.sourceSpan.start,l=new yr(t.sourceSpan.start,s),c=new js(i,r,[],l,l,void 0);this._pushElement(c),o&&(this._popElement(i),c.endSourceSpan=l)},t.prototype._pushElement=function(t){var e=this._getParentElement();e&&this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop(),this._addToParent(t),this._elementStack.push(t)},t.prototype._consumeEndTag=function(t){var e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid)this._errors.push(Ks.create(e,t.sourceSpan,'Void elements do not have end tags "'+t.parts[1]+'"'));else if(!this._popElement(e)){var n='Unexpected closing tag "'+e+'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags';this._errors.push(Ks.create(e,t.sourceSpan,n))}},t.prototype._popElement=function(t){for(var e=this._elementStack.length-1;e>=0;e--){var n=this._elementStack[e];if(n.name==t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1},t.prototype._consumeAttr=function(t){var e=p(t.parts[0],t.parts[1]),n=t.sourceSpan.end,r="",i=void 0;if(this._peek.type===Ts.ATTR_QUOTE&&this._advance(),this._peek.type===Ts.ATTR_VALUE){var o=this._advance();r=o.parts[0],n=o.sourceSpan.end,i=o.sourceSpan}this._peek.type===Ts.ATTR_QUOTE&&(n=this._advance().sourceSpan.end);return new ks(e,r,new yr(t.sourceSpan.start,n),i)},t.prototype._getParentElement=function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null},t.prototype._getParentElementSkippingContainers=function(){for(var t=null,e=this._elementStack.length-1;e>=0;e--){if(!s(this._elementStack[e].name))return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:null,container:t}},t.prototype._addToParent=function(t){var e=this._getParentElement();null!=e?e.children.push(t):this._rootNodes.push(t)},t.prototype._insertBeforeContainer=function(t,e,n){if(e){if(t){var r=t.children.indexOf(e);t.children[r]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)},t.prototype._getElementFullName=function(t,e,n){return""===t&&""===(t=this.getTagDefinition(e).implicitNamespacePrefix||"")&&null!=n&&(t=u(n.name)),p(t,e)},t}();function $s(t,e){return t.length>0&&t[t.length-1]===e}var Js=function(t){function e(){return t.call(this,y)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),tl="ngPreserveWhitespaces",el=new Set(["pre","template","textarea","script","style"]),nl=" \f\n\r\t\v ᠎ - \u2028\u2029   \ufeff",rl=new RegExp("[^"+nl+"]"),il=new RegExp("["+nl+"]{2,}","g");function ol(t){return t.replace(new RegExp(h,"g")," ")}var al=function(){function t(){}return t.prototype.visitElement=function(t,e){return el.has(t.name)||t.attrs.some(function(t){return t.name===tl})?new js(t.name,Ds(this,t.attrs),t.children,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n):new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)},t.prototype.visitAttribute=function(t,e){return t.name!==tl?t:null},t.prototype.visitText=function(t,e){return t.value.match(rl)?new Os(ol(t.value).replace(il," "),t.sourceSpan,t.i18n):null},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();function sl(t){return new Qs(Ds(new al,t.rootNodes),t.errors)}var ll=["zero","one","two","few","many","other"];function cl(t){var e=new hl;return new pl(Ds(e,t),e.isExpanded,e.errors)}var ul,pl=function(t,e,n){this.nodes=t,this.expanded=e,this.errors=n},dl=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),hl=function(){function t(){this.isExpanded=!1,this.errors=[]}return t.prototype.visitElement=function(t,e){return new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitText=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return this.isExpanded=!0,"plural"==t.type?(n=t,r=this.errors,i=n.cases.map(function(t){-1!=ll.indexOf(t.value)||t.value.match(/^=\d+$/)||r.push(new dl(t.valueSourceSpan,'Plural cases should be "=" or one of '+ll.join(", ")));var e=cl(t.expression);return r.push.apply(r,Object(o.g)(e.errors)),new js("ng-template",[new ks("ngPluralCase",""+t.value,t.valueSourceSpan)],e.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),a=new ks("[ngPlural]",n.switchValue,n.switchValueSourceSpan),new js("ng-container",[a],i,n.sourceSpan,n.sourceSpan,n.sourceSpan)):function(t,e){var n=t.cases.map(function(t){var n=cl(t.expression);return e.push.apply(e,Object(o.g)(n.errors)),"other"===t.value?new js("ng-template",[new ks("ngSwitchDefault","",t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan):new js("ng-template",[new ks("ngSwitchCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ks("[ngSwitch]",t.switchValue,t.switchValueSourceSpan);return new js("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}(t,this.errors);var n,r,i,a},t.prototype.visitExpansionCase=function(t,e){throw new Error("Should not be reached")},t}();var fl,ml=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),gl=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitBoundText(this,e)},t}(),yl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitAttr(this,e)},t}(),vl=((ul={})[4]=4,ul[1]=1,ul[2]=2,ul[0]=0,ul[3]=3,ul),bl=function(){function t(t,e,n,r,i,o){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.isAnimation=4===this.type}return t.fromBoundProperty=function(e){var n=vl[e.type];return new t(e.name,n,e.securityContext,e.value,e.unit,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitElementProperty(this,e)},t}(),_l=function(){function t(e,n,r,i,o,a){this.name=e,this.target=n,this.phase=r,this.handler=i,this.sourceSpan=o,this.handlerSpan=a,this.fullName=t.calcFullName(this.name,this.target,this.phase),this.isAnimation=!!this.phase}return t.calcFullName=function(t,e,n){return e?e+":"+t:n?"@"+t+"."+n:t},t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,n,r,e.handler,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t,e){return t.visitEvent(this,e)},t}(),wl=function(){function t(t,e,n,r){this.name=t,this.value=e,this.originalValue=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitReference(this,e)},t}(),xl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.fromParsedVariable=function(e){return new t(e.name,e.value,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitVariable(this,e)},t}(),Cl=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d){this.name=t,this.attrs=e,this.inputs=n,this.outputs=r,this.references=i,this.directives=o,this.providers=a,this.hasViewContainer=s,this.queryMatches=l,this.children=c,this.ngContentIndex=u,this.sourceSpan=p,this.endSourceSpan=d}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Ol=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.attrs=t,this.outputs=e,this.references=n,this.variables=r,this.directives=i,this.providers=o,this.hasViewContainer=a,this.queryMatches=s,this.children=l,this.ngContentIndex=c,this.sourceSpan=u}return t.prototype.visit=function(t,e){return t.visitEmbeddedTemplate(this,e)},t}(),El=function(){function t(t,e,n,r){this.directiveName=t,this.templateName=e,this.value=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitDirectiveProperty(this,e)},t}(),Sl=function(){function t(t,e,n,r,i,o){this.directive=t,this.inputs=e,this.hostProperties=n,this.hostEvents=r,this.contentQueryStartId=i,this.sourceSpan=o}return t.prototype.visit=function(t,e){return t.visitDirective(this,e)},t}(),kl=function(){function t(t,e,n,r,i,o,a,s){this.token=t,this.multiProvider=e,this.eager=n,this.providers=r,this.providerType=i,this.lifecycleHooks=o,this.sourceSpan=a,this.isModule=s}return t.prototype.visit=function(t,e){return null},t}();!function(t){t[t.PublicService=0]="PublicService",t[t.PrivateService=1]="PrivateService",t[t.Component=2]="Component",t[t.Directive=3]="Directive",t[t.Builtin=4]="Builtin"}(fl||(fl={}));var jl=function(){function t(t,e,n){this.index=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitNgContent(this,e)},t}();!function(t){function e(){return t.call(this)||this}Object(o.c)(e,t),e.prototype.visitEmbeddedTemplate=function(t,e){return this.visitChildren(e,function(e){e(t.attrs),e(t.references),e(t.variables),e(t.directives),e(t.providers),e(t.children)})},e.prototype.visitElement=function(t,e){return this.visitChildren(e,function(e){e(t.attrs),e(t.inputs),e(t.outputs),e(t.references),e(t.directives),e(t.providers),e(t.children)})},e.prototype.visitDirective=function(t,e){return this.visitChildren(e,function(e){e(t.inputs),e(t.hostProperties),e(t.hostEvents)})},e.prototype.visitChildren=function(t,e){var n=[],r=this;return e(function(e){e&&e.length&&n.push(Al(r,e,t))}),Array.prototype.concat.apply([],n)}}(function(){function t(){}return t.prototype.visitNgContent=function(t,e){},t.prototype.visitEmbeddedTemplate=function(t,e){},t.prototype.visitElement=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t.prototype.visitBoundText=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t}());function Al(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}var Dl=function(t){function e(e,n){return t.call(this,n,e)||this}return Object(o.c)(e,t),e}(br),Tl=function(t,e){var n=this;this.reflector=t,this.component=e,this.errors=[],this.viewQueries=function(t){var e=1,n=new Map;return t.viewQueries&&t.viewQueries.forEach(function(t){return Fl(n,{meta:t,queryId:e++})}),n}(e),this.viewProviders=new Map,e.viewProviders.forEach(function(t){null==n.viewProviders.get(mn(t.token))&&n.viewProviders.set(mn(t.token),!0)})},Pl=function(){function t(t,e,n,r,i,o,a,s,l){var c=this;this.viewContext=t,this._parent=e,this._isViewRoot=n,this._directiveAsts=r,this._sourceSpan=l,this._transformedProviders=new Map,this._seenProviders=new Map,this._queriedTokens=new Map,this.transformedHasViewContainer=!1,this._attrs={},i.forEach(function(t){return c._attrs[t.name]=t.value});var u,p,d,h,f=r.map(function(t){return t.directive});if(this._allProviders=(u=f,p=l,d=t.errors,h=new Map,u.forEach(function(t){Nl([{token:{identifier:t.type},useClass:t.type}],t.isComponent?fl.Component:fl.Directive,!0,p,d,h,!1)}),u.filter(function(t){return t.isComponent}).concat(u.filter(function(t){return!t.isComponent})).forEach(function(t){Nl(t.providers,fl.PublicService,!1,p,d,h,!1),Nl(t.viewProviders,fl.PrivateService,!1,p,d,h,!1)}),h),this._contentQueries=function(t,e){var n=t,r=new Map;return e.forEach(function(t,e){t.queries&&t.queries.forEach(function(t){return Fl(r,{meta:t,queryId:n++})})}),r}(s,f),Array.from(this._allProviders.values()).forEach(function(t){c._addQueryReadsTo(t.token,t.token,c._queriedTokens)}),a){var m=en(this.viewContext.reflector,Je.TemplateRef);this._addQueryReadsTo(m,m,this._queriedTokens)}o.forEach(function(t){var e=t.value||en(c.viewContext.reflector,Je.ElementRef);c._addQueryReadsTo({value:t.name},e,c._queriedTokens)}),this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef))&&(this.transformedHasViewContainer=!0),Array.from(this._allProviders.values()).forEach(function(t){(t.eager||c._queriedTokens.get(mn(t.token)))&&c._getOrCreateLocalProvider(t.providerType,t.token,!0)})}return t.prototype.afterElement=function(){var t=this;Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.providerType,e.token,!1)})},Object.defineProperty(t.prototype,"transformProviders",{get:function(){var t=[],e=[];return this._transformedProviders.forEach(function(n){n.eager?e.push(n):t.push(n)}),t.concat(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedDirectiveAsts",{get:function(){var t=this.transformProviders.map(function(t){return t.token.identifier}),e=this._directiveAsts.slice();return e.sort(function(e,n){return t.indexOf(e.directive.type)-t.indexOf(n.directive.type)}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryMatches",{get:function(){var t=[];return this._queriedTokens.forEach(function(e){t.push.apply(t,Object(o.g)(e))}),t},enumerable:!0,configurable:!0}),t.prototype._addQueryReadsTo=function(t,e,n){this._getQueriesFor(t).forEach(function(t){var r=t.meta.read||e,i=mn(r),o=n.get(i);o||(o=[],n.set(i,o)),o.push({queryId:t.queryId,value:r})})},t.prototype._getQueriesFor=function(t){for(var e,n=[],r=this,i=0;null!==r;)(e=r._contentQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e.filter(function(t){return t.meta.descendants||i<=1}))),r._directiveAsts.length>0&&i++,r=r._parent;return(e=this.viewContext.viewQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e)),n},t.prototype._getOrCreateLocalProvider=function(t,e,n){var r=this,i=this._allProviders.get(mn(e));if(!i||(t===fl.Directive||t===fl.PublicService)&&i.providerType===fl.PrivateService||(t===fl.PrivateService||t===fl.PublicService)&&i.providerType===fl.Builtin)return null;var o=this._transformedProviders.get(mn(e));if(o)return o;if(null!=this._seenProviders.get(mn(e)))return this.viewContext.errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(e),this._sourceSpan)),null;this._seenProviders.set(mn(e),!0);var a=i.providers.map(function(t){var e=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=r._getDependency(i.providerType,{token:t.useExisting},n);null!=s.token?o=s.token:(o=null,e=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map(function(t){return r._getDependency(i.providerType,t,n)})}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map(function(t){return r._getDependency(i.providerType,t,n)})}return Rl(t,{useExisting:o,useValue:e,deps:a})});return o=Ml(i,{eager:n,providers:a}),this._transformedProviders.set(mn(e),o),o},t.prototype._getLocalDependency=function(t,e,n){if(void 0===n&&(n=!1),e.isAttribute){var r=this._attrs[e.token.value];return{isValue:!0,value:null==r?null:r}}if(null!=e.token){if(t===fl.Directive||t===fl.Component){if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Renderer)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ElementRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ChangeDetectorRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.TemplateRef))return e;mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef)&&(this.transformedHasViewContainer=!0)}if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Injector))return e;if(null!=this._getOrCreateLocalProvider(t,e.token,n))return e}return null},t.prototype._getDependency=function(t,e,n){void 0===n&&(n=!1);var r=this,i=n,o=null;if(e.isSkipSelf||(o=this._getLocalDependency(t,e,n)),e.isSelf)!o&&e.isOptional&&(o={isValue:!0,value:null});else{for(;!o&&r._parent;){var a=r;r=r._parent,a._isViewRoot&&(i=!1),o=r._getLocalDependency(fl.PublicService,e,i)}o||(o=!e.isHost||this.viewContext.component.isHost||this.viewContext.component.type.reference===mn(e.token)||null!=this.viewContext.viewProviders.get(mn(e.token))?e:e.isOptional?{isValue:!0,value:null}:null)}return o||this.viewContext.errors.push(new Dl("No provider for "+fn(e.token),this._sourceSpan)),o},t}(),Il=function(){function t(t,e,n,r){var i=this;this.reflector=t,this._transformedProviders=new Map,this._seenProviders=new Map,this._errors=[],this._allProviders=new Map,e.transitiveModule.modules.forEach(function(t){Nl([{token:{identifier:t},useClass:t}],fl.PublicService,!0,r,i._errors,i._allProviders,!0)}),Nl(e.transitiveModule.providers.map(function(t){return t.provider}).concat(n),fl.PublicService,!1,r,this._errors,this._allProviders,!1)}return t.prototype.parse=function(){var t=this;if(Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.token,e.eager)}),this._errors.length>0){var e=this._errors.join("\n");throw new Error("Provider parse errors:\n"+e)}var n=[],r=[];return this._transformedProviders.forEach(function(t){t.eager?r.push(t):n.push(t)}),n.concat(r)},t.prototype._getOrCreateLocalProvider=function(t,e){var n=this,r=this._allProviders.get(mn(t));if(!r)return null;var i=this._transformedProviders.get(mn(t));if(i)return i;if(null!=this._seenProviders.get(mn(t)))return this._errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(t),r.sourceSpan)),null;this._seenProviders.set(mn(t),!0);var o=r.providers.map(function(t){var i=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=n._getDependency({token:t.useExisting},e,r.sourceSpan);null!=s.token?o=s.token:(o=null,i=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map(function(t){return n._getDependency(t,e,r.sourceSpan)})}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map(function(t){return n._getDependency(t,e,r.sourceSpan)})}return Rl(t,{useExisting:o,useValue:i,deps:a})});return i=Ml(r,{eager:e,providers:o}),this._transformedProviders.set(mn(t),i),i},t.prototype._getDependency=function(t,e,n){void 0===e&&(e=!1);return t.isSkipSelf||null==t.token||(mn(t.token)===this.reflector.resolveExternalReference(Je.Injector)||mn(t.token)===this.reflector.resolveExternalReference(Je.ComponentFactoryResolver)?!0:null!=this._getOrCreateLocalProvider(t.token,e)&&!0),t},t}();function Rl(t,e){var n=e.useExisting,r=e.useValue,i=e.deps;return{token:t.token,useClass:t.useClass,useExisting:n,useFactory:t.useFactory,useValue:r,deps:i,multi:t.multi}}function Ml(t,e){var n=e.eager,r=e.providers;return new kl(t.token,t.multiProvider,t.eager||n,r,t.providerType,t.lifecycleHooks,t.sourceSpan,t.isModule)}function Nl(t,e,n,r,i,o,a){t.forEach(function(t){var s=o.get(mn(t.token));if(null!=s&&!!s.multiProvider!=!!t.multi&&i.push(new Dl("Mixing multi and non multi provider is not possible for token "+fn(s.token),r)),s)t.multi||(s.providers.length=0),s.providers.push(t);else{var l=t.token.identifier&&t.token.identifier.lifecycleHooks?t.token.identifier.lifecycleHooks:[],c=!(t.useClass||t.useExisting||t.useFactory);s=new kl(t.token,!!t.multi,n||c,[t],e,l,r,a),o.set(mn(t.token),s)}})}function Fl(t,e){e.meta.selectors.forEach(function(n){var r=t.get(mn(n));r||(r=[],t.set(mn(n),r)),r.push(e)})}var Ll=function(t,e){this.style=t,this.styleUrls=e};function Vl(t){if(null==t||0===t.length||"/"==t[0])return!1;var e=t.match(Hl);return null===e||"package"==e[1]||"asset"==e[1]}var Bl=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,zl=/\/\*(?!#\s*(?:sourceURL|sourceMappingURL)=)[\s\S]+?\*\//g,Hl=/^([^:\/?#]+):/,Ul=function(){function t(t,e,n,r,i){if(this._exprParser=t,this._interpolationConfig=e,this._schemaRegistry=n,this.errors=i,this.pipesByName=null,this._usedPipes=new Map,r){var o=new Map;r.forEach(function(t){return o.set(t.name,t)}),this.pipesByName=o}}return Object.defineProperty(t.prototype,"interpolationConfig",{get:function(){return this._interpolationConfig},enumerable:!0,configurable:!0}),t.prototype.getUsedPipes=function(){return Array.from(this._usedPipes.values())},t.prototype.createBoundHostProperties=function(t,e){var n=this;if(t.hostProperties){var r=[];return Object.keys(t.hostProperties).forEach(function(i){var o=t.hostProperties[i];"string"==typeof o?n.parsePropertyBinding(i,o,!0,e,e.start.offset,void 0,[],r):n._reportError('Value of the host property binding "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}return null},t.prototype.createDirectiveHostPropertyAsts=function(t,e,n){var r=this,i=this.createBoundHostProperties(t,n);return i&&i.map(function(t){return r.createBoundElementProperty(e,t)})},t.prototype.createDirectiveHostEventAsts=function(t,e){var n=this;if(t.hostListeners){var r=[];return Object.keys(t.hostListeners).forEach(function(i){var o=t.hostListeners[i];"string"==typeof o?n.parseEvent(i,o,e,e,[],r):n._reportError('Value of the host listener "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}return null},t.prototype.parseInterpolation=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseInterpolation(t,n,e.start.offset,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),this._checkPipes(r,e),r}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,e.start.offset)}},t.prototype.parseInlineTemplateBinding=function(t,e,n,r,i,o,a){for(var s=this._parseTemplateBindings(t,e,n),l=0;l1)if("attr"==s[0]){a=s[1],n||this._validatePropertyOrAttributeName(a,e.sourceSpan,!0),l=Wl(this._schemaRegistry,t,a,!0);var c=a.indexOf(":");if(c>-1){var u=a.substring(0,c),d=a.substring(c+1);a=p(u,d)}o=1}else"class"==s[0]?(a=s[1],o=2,l=[I.NONE]):"style"==s[0]&&(i=s.length>2?s[2]:null,a=s[1],o=3,l=[I.STYLE]);if(null===a){var h=this._schemaRegistry.getMappedPropName(e.name);a=r?h:e.name,l=Wl(this._schemaRegistry,t,h,!1),o=0,n||this._validatePropertyOrAttributeName(h,e.sourceSpan,!1)}return new ka(a,o,l[0],e.expression,i,e.sourceSpan,e.valueSpan)},t.prototype.parseEvent=function(t,e,n,r,i,o){ql(t)?(t=t.substr(1),this._parseAnimationEvent(t,e,n,r,o)):this._parseRegularEvent(t,e,n,r,i,o)},t.prototype.calcPossibleSecurityContexts=function(t,e,n){var r=this._schemaRegistry.getMappedPropName(e);return Wl(this._schemaRegistry,t,r,n)},t.prototype._parseAnimationEvent=function(t,e,n,r,i){var o=Oe(t,".",[t,""]),a=o[0],s=o[1].toLowerCase();if(s)switch(s){case"start":case"done":var l=this._parseAction(e,r);i.push(new Ea(a,s,1,l,n,r));break;default:this._reportError('The provided animation output phase value "'+s+'" for "@'+a+'" is not supported (use start or done)',n)}else this._reportError("The animation trigger output event (@"+a+") is missing its phase value name (start or done are currently supported)",n)},t.prototype._parseRegularEvent=function(t,e,n,r,i,a){var s=Object(o.f)(Ce(t,[null,t]),2),l=s[0],c=s[1],u=this._parseAction(e,r);i.push([t,u.source]),a.push(new Ea(c,l,0,u,n,r))},t.prototype._parseAction=function(t,e){var n=(e&&e.start||"(unknown").toString(),r=e&&e.start?e.start.offset:0;try{var i=this._exprParser.parseAction(t,n,r,this._interpolationConfig);return i&&this._reportExpressionParserErrors(i.errors,e),!i||i.ast instanceof Zo?(this._reportError("Empty expressions are not allowed",e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)):(this._checkPipes(i,e),i)}catch(o){return this._reportError(""+o,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)}},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t.prototype._reportExpressionParserErrors=function(t,e){var n,r;try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value;this._reportError(s.message,e)}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},t.prototype._checkPipes=function(t,e){var n=this;if(t&&this.pipesByName){var r=new Gl;t.visit(r),r.pipes.forEach(function(t,r){var i=n.pipesByName.get(r);i?n._usedPipes.set(r,i):n._reportError("The pipe '"+r+"' could not be found",new yr(e.start.moveBy(t.span.start),e.start.moveBy(t.span.end)))})}},t.prototype._validatePropertyOrAttributeName=function(t,e,n){var r=n?this._schemaRegistry.validateAttribute(t):this._schemaRegistry.validateProperty(t);r.error&&this._reportError(r.msg,e,fr.ERROR)},t}(),Gl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.pipes=new Map,e}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){return this.pipes.set(t.name,t),t.exp.visit(this),this.visitAll(t.args,e),null},e}(_a);function ql(t){return"@"==t[0]}function Wl(t,e,n,r){var i=[];return w.parse(e).forEach(function(e){var a=e.element?[e.element]:t.allKnownElementNames(),s=new Set(e.notSelectors.filter(function(t){return t.isElementSelector()}).map(function(t){return t.element})),l=a.filter(function(t){return!s.has(t)});i.push.apply(i,Object(o.g)(l.map(function(e){return t.securityContext(e,n,r)})))}),0===i.length?[I.NONE]:Array.from(new Set(i)).sort()}var Yl,Kl="select",Ql="link",Xl="rel",Zl="href",$l="stylesheet",Jl="style",tc="script",ec="ngNonBindable",nc="ngProjectAs";function rc(t){var e=null,n=null,r=null,i=!1,o="";t.attrs.forEach(function(t){var a=t.name.toLowerCase();a==Kl?e=t.value:a==Zl?n=t.value:a==Xl?r=t.value:t.name==ec?i=!0:t.name==nc&&t.value.length>0&&(o=t.value)}),e=function(t){if(null===t||0===t.length)return"*";return t}(e);var a=t.name.toLowerCase(),s=Yl.OTHER;return l(a)?s=Yl.NG_CONTENT:a==Jl?s=Yl.STYLE:a==tc?s=Yl.SCRIPT:a==Ql&&r==$l&&(s=Yl.STYLESHEET),new ic(s,e,n,i,o)}!function(t){t[t.NG_CONTENT=0]="NG_CONTENT",t[t.STYLE=1]="STYLE",t[t.STYLESHEET=2]="STYLESHEET",t[t.SCRIPT=3]="SCRIPT",t[t.OTHER=4]="OTHER"}(Yl||(Yl={}));var ic=function(t,e,n,r,i){this.type=t,this.selectAttr=e,this.hrefAttr=n,this.nonBindable=r,this.projectAs=i};var oc,ac=/^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/,sc="class";function lc(){return oc||(oc=w.parse("*")[0]),oc}var cc=function(t){function e(e,n,r){return t.call(this,n,e,r)||this}return Object(o.c)(e,t),e}(br),uc=function(t,e,n){this.templateAst=t,this.usedPipes=e,this.errors=n},pc=function(){function t(t,e,n,r,i,o,a){this._config=t,this._reflector=e,this._exprParser=n,this._schemaRegistry=r,this._htmlParser=i,this._console=o,this.transforms=a}return Object.defineProperty(t.prototype,"expressionParser",{get:function(){return this._exprParser},enumerable:!0,configurable:!0}),t.prototype.parse=function(t,e,n,r,i,o,a){var s=this.tryParse(t,e,n,r,i,o,a),l=s.errors.filter(function(t){return t.level===fr.WARNING}),c=s.errors.filter(function(t){return t.level===fr.ERROR});if(l.length>0&&this._console.warn("Template parse warnings:\n"+l.join("\n")),c.length>0)throw Ie("Template parse errors:\n"+c.join("\n"),c);return{template:s.templateAst,pipes:s.usedPipes}},t.prototype.tryParse=function(t,e,n,r,i,o,a){var s="string"==typeof e?this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:this.getInterpolationConfig(t)}):e;return a||(s=sl(s)),this.tryParseHtml(this.expandHtml(s),t,n,r,i)},t.prototype.tryParseHtml=function(t,e,n,r,i){var a,s=t.errors,l=[];if(t.rootNodes.length>0){var c=_c(n),u=_c(r),p=new Tl(this._reflector,e),d=void 0;e.template&&e.template.interpolation&&(d={start:e.template.interpolation[0],end:e.template.interpolation[1]});var h=new Ul(this._exprParser,d,this._schemaRegistry,u,s),f=new dc(this._reflector,this._config,p,c,h,this._schemaRegistry,i,s);a=Ds(f,t.rootNodes,yc),s.push.apply(s,Object(o.g)(p.errors)),l.push.apply(l,Object(o.g)(h.getUsedPipes()))}else a=[];return this._assertNoReferenceDuplicationOnTemplate(a,s),s.length>0?new uc(a,l,s):(this.transforms&&this.transforms.forEach(function(t){a=Al(t,a)}),new uc(a,l,s))},t.prototype.expandHtml=function(t,e){void 0===e&&(e=!1);var n=t.errors;if(0==n.length||e){var r=cl(t.rootNodes);n.push.apply(n,Object(o.g)(r.errors)),t=new Qs(r.nodes,n)}return t},t.prototype.getInterpolationConfig=function(t){if(t.template)return Co.fromArray(t.template.interpolation)},t.prototype._assertNoReferenceDuplicationOnTemplate=function(t,e){var n=[];t.filter(function(t){return!!t.references}).forEach(function(t){return t.references.forEach(function(t){var r=t.name;if(n.indexOf(r)<0)n.push(r);else{var i=new cc('Reference "#'+r+'" is defined several times',t.sourceSpan,fr.ERROR);e.push(i)}})})},t}(),dc=function(){function t(t,e,n,r,i,o,a,s){var l=this;this.reflector=t,this.config=e,this.providerViewContext=n,this._bindingParser=i,this._schemaRegistry=o,this._schemas=a,this._targetErrors=s,this.selectorMatcher=new x,this.directivesIndex=new Map,this.ngContentCount=0,this.contentQueryStartId=n.component.viewQueries.length+1,r.forEach(function(t,e){var n=w.parse(t.selector);l.selectorMatcher.addSelectables(n,t),l.directivesIndex.set(t,e)})}return t.prototype.visitExpansion=function(t,e){return null},t.prototype.visitExpansionCase=function(t,e){return null},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc()),r=ol(t.value),i=this._bindingParser.parseInterpolation(r,t.sourceSpan);return i?new gl(i,n,t.sourceSpan):new ml(r,n,t.sourceSpan)},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitElement=function(t,e){var n=this,r=this.contentQueryStartId,i=t.name,a=rc(t);if(a.type===Yl.SCRIPT||a.type===Yl.STYLE)return null;if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return null;var s=[],l=[],u=[],p=[],d=[],h=[],f=[],m=[],g=!1,y=[],v=c(t.name);t.attrs.forEach(function(t){var e,r,i=n._parseAttr(v,t,s,l,d,u,p);p.push.apply(p,Object(o.g)([].map(function(t){return xl.fromParsedVariable(t)})));var a=n._normalizeAttributeName(t.name);a.startsWith("*")&&(e=t.value,r=a.substring("*".length));var c=null!=e;if(c){g&&n._reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",t.sourceSpan),g=!0;var b=[];n._bindingParser.parseInlineTemplateBinding(r,e,t.sourceSpan,t.sourceSpan.start.offset,f,h,b),m.push.apply(m,Object(o.g)(b.map(function(t){return xl.fromParsedVariable(t)})))}i||c||(y.push(n.visitAttribute(t,null)),s.push([t.name,t.value]))});var b=gc(i,s),_=this._parseDirectives(this.selectorMatcher,b),x=_.directives,C=_.matchElement,O=[],E=new Set,S=this._createDirectiveAsts(v,t.name,x,l,u,t.sourceSpan,O,E),k=this._createElementPropertyAsts(t.name,l,E),j=e.isTemplateElement||g,A=new Pl(this.providerViewContext,e.providerContext,j,S,y,O,v,r,t.sourceSpan),D=Ds(a.nonBindable?vc:this,t.children,mc.create(v,S,v?e.providerContext:A));A.afterElement();var T,P=""!=a.projectAs?w.parse(a.projectAs)[0]:b,I=e.findNgContentIndex(P);if(a.type===Yl.NG_CONTENT)t.children&&!t.children.every(bc)&&this._reportError(" element cannot have content.",t.sourceSpan),T=new jl(this.ngContentCount++,g?null:I,t.sourceSpan);else if(v)this._assertAllEventsPublishedByDirectives(S,d),this._assertNoComponentsNorElementBindingsOnTemplate(S,k,t.sourceSpan),T=new Ol(y,d,O,p,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:I,t.sourceSpan);else{this._assertElementExists(C,t),this._assertOnlyOneComponent(S,t.sourceSpan);var R=g?null:e.findNgContentIndex(P);T=new Cl(i,y,k,d,O,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:R,t.sourceSpan,t.endSourceSpan||null)}if(g){var M=this.contentQueryStartId,N=gc("ng-template",f),F=this._parseDirectives(this.selectorMatcher,N).directives,L=new Set,V=this._createDirectiveAsts(!0,i,F,h,[],t.sourceSpan,[],L),B=this._createElementPropertyAsts(i,h,L);this._assertNoComponentsNorElementBindingsOnTemplate(V,B,t.sourceSpan);var z=new Pl(this.providerViewContext,e.providerContext,e.isTemplateElement,V,[],[],!0,M,t.sourceSpan);z.afterElement(),T=new Ol([],[],[],m,z.transformedDirectiveAsts,z.transformProviders,z.transformedHasViewContainer,z.queryMatches,[T],I,t.sourceSpan)}return T},t.prototype._parseAttr=function(t,e,n,r,i,a,s){var l=this._normalizeAttributeName(e.name),c=e.value,u=e.sourceSpan,p=e.valueSpan?e.valueSpan.start.offset:u.start.offset,d=[],h=l.match(ac),f=!1;if(null!==h)if(f=!0,null!=h[1])this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r);else if(h[2])if(t){var m=h[7];this._parseVariable(m,c,u,s)}else this._reportError('"let-" is only supported on ng-template elements.',u);else if(h[3]){m=h[7];this._parseReference(m,c,u,a)}else h[4]?this._bindingParser.parseEvent(h[7],c,u,e.valueSpan||u,n,d):h[5]?(this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[7],c,u,e.valueSpan||u,n,d)):h[6]?this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r):h[8]?(this._bindingParser.parsePropertyBinding(h[8],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[8],c,u,e.valueSpan||u,n,d)):h[9]?this._bindingParser.parsePropertyBinding(h[9],c,!1,u,p,e.valueSpan,n,r):h[10]&&this._bindingParser.parseEvent(h[10],c,u,e.valueSpan||u,n,d);else f=this._bindingParser.parsePropertyInterpolation(l,c,u,e.valueSpan,n,r);return f||this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r),i.push.apply(i,Object(o.g)(d.map(function(t){return _l.fromParsedEvent(t)}))),f},t.prototype._normalizeAttributeName=function(t){return/^data-/i.test(t)?t.substring(5):t},t.prototype._parseVariable=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new xl(t,e,n))},t.prototype._parseReference=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in reference names',n),r.push(new fc(t,e,n))},t.prototype._parseAssignmentEvent=function(t,e,n,r,i,o){this._bindingParser.parseEvent(t+"Change",e+"=$event",n,r,i,o)},t.prototype._parseDirectives=function(t,e){var n=this,r=new Array(this.directivesIndex.size),i=!1;return t.match(e,function(t,e){r[n.directivesIndex.get(e)]=e,i=i||t.hasElementSelector()}),{directives:r.filter(function(t){return!!t}),matchElement:i}},t.prototype._createDirectiveAsts=function(t,e,n,r,i,o,a,s){var l=this,c=new Set,u=null,p=n.map(function(t){var n=new yr(o.start,o.end,"Directive "+cn(t.type));t.isComponent&&(u=t);var p=[],d=l._bindingParser.createDirectiveHostPropertyAsts(t,e,n).map(function(t){return bl.fromBoundProperty(t)});d=l._checkPropertiesInSchema(e,d);var h=l._bindingParser.createDirectiveHostEventAsts(t,n);l._createDirectivePropertyAsts(t.inputs,r,p,s),i.forEach(function(e){(0===e.value.length&&t.isComponent||e.isReferenceToDirective(t))&&(a.push(new wl(e.name,tn(t.type.reference),e.value,e.sourceSpan)),c.add(e.name))});var f=h.map(function(t){return _l.fromParsedEvent(t)}),m=l.contentQueryStartId;return l.contentQueryStartId+=t.queries.length,new Sl(t,p,d,f,m,n)});return i.forEach(function(e){if(e.value.length>0)c.has(e.name)||l._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan);else if(!u){var n=null;t&&(n=en(l.reflector,Je.TemplateRef)),a.push(new wl(e.name,n,e.value,e.sourceSpan))}}),p},t.prototype._createDirectivePropertyAsts=function(t,e,n,r){if(t){var i=new Map;e.forEach(function(t){var e=i.get(t.name);e&&!e.isLiteral||i.set(t.name,t)}),Object.keys(t).forEach(function(e){var o=t[e],a=i.get(o);a&&(r.add(a.name),wc(a.expression)||n.push(new El(e,a.name,a.expression,a.sourceSpan)))})}},t.prototype._createElementPropertyAsts=function(t,e,n){var r=this,i=[];return e.forEach(function(e){if(!e.isLiteral&&!n.has(e.name)){var o=r._bindingParser.createBoundElementProperty(t,e);i.push(bl.fromBoundProperty(o))}}),this._checkPropertiesInSchema(t,i)},t.prototype._findComponentDirectives=function(t){return t.filter(function(t){return t.directive.isComponent})},t.prototype._findComponentDirectiveNames=function(t){return this._findComponentDirectives(t).map(function(t){return cn(t.directive.type)})},t.prototype._assertOnlyOneComponent=function(t,e){var n=this._findComponentDirectiveNames(t);n.length>1&&this._reportError("More than one component matched on this element.\nMake sure that only one component's selector can match a given element.\nConflicting components: "+n.join(","),e)},t.prototype._assertElementExists=function(t,e){var n=e.name.replace(/^:xhtml:/,"");if(!t&&!this._schemaRegistry.hasElement(n,this._schemas)){var r="'"+n+"' is not a known element:\n";r+="1. If '"+n+"' is an Angular component, then verify that it is part of this module.\n",n.indexOf("-")>-1?r+="2. If '"+n+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.":r+="2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.",this._reportError(r,e.sourceSpan)}},t.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(t,e,n){var r=this,i=this._findComponentDirectiveNames(t);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),e.forEach(function(t){r._reportError("Property binding "+t.name+' not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations".',n)})},t.prototype._assertAllEventsPublishedByDirectives=function(t,e){var n=this,r=new Set;t.forEach(function(t){Object.keys(t.directive.outputs).forEach(function(e){var n=t.directive.outputs[e];r.add(n)})}),e.forEach(function(t){null==t.target&&r.has(t.name)||n._reportError("Event binding "+t.fullName+' not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the "@NgModule.declarations".',t.sourceSpan)})},t.prototype._checkPropertiesInSchema=function(t,e){var n=this;return e.filter(function(e){if(0===e.type&&!n._schemaRegistry.hasProperty(t,e.name,n._schemas)){var r="Can't bind to '"+e.name+"' since it isn't a known property of '"+t+"'.";t.startsWith("ng-")?r+="\n1. If '"+e.name+"' is an Angular directive, then add 'CommonModule' to the '@NgModule.imports' of this component.\n2. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.":t.indexOf("-")>-1&&(r+="\n1. If '"+t+"' is an Angular component and it has '"+e.name+"' input, then verify that it is part of this module.\n2. If '"+t+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.\n3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component."),n._reportError(r,e.sourceSpan)}return!wc(e.value)})},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this._targetErrors.push(new br(e,t,n))},t}(),hc=function(){function t(){}return t.prototype.visitElement=function(t,e){var n=rc(t);if(n.type===Yl.SCRIPT||n.type===Yl.STYLE||n.type===Yl.STYLESHEET)return null;var r=t.attrs.map(function(t){return[t.name,t.value]}),i=gc(t.name,r),o=e.findNgContentIndex(i),a=Ds(this,t.children,yc);return new Cl(t.name,Ds(this,t.attrs),[],[],[],[],[],!1,[],a,o,t.sourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc());return new ml(t.value,n,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}(),fc=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.isReferenceToDirective=function(t){return-1!==(e=t.exportAs,e?e.split(",").map(function(t){return t.trim()}):[]).indexOf(this.value);var e},t}();var mc=function(){function t(t,e,n,r){this.isTemplateElement=t,this._ngContentIndexMatcher=e,this._wildcardNgContentIndex=n,this.providerContext=r}return t.create=function(e,n,r){var i=new x,o=null,a=n.find(function(t){return t.directive.isComponent});if(a)for(var s=a.directive.template.ngContentSelectors,l=0;l0?e[0]:null},t}();function gc(t,e){var n=new w,r=a(t)[1];n.setElement(r);for(var i=0;i0,0===i?i=39:39===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 34:l=l||o>0,0===i?i=34:34===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 58:s||0!==r||0!==i||(s=Cc(t.substring(a,n-1).trim()),o=n);break;case 59:if(s&&o>0&&0===r&&0===i){var c=t.substring(o,n-1).trim();e.push(s,l?xc(c):c),a=n,o=0,s=null,l=!1}}}if(s&&o){c=t.substr(o).trim();e.push(s,l?xc(c):c)}return e}(t),this._hasInitialValues=!0},t.prototype.registerClassAttr=function(t){this._initialClassValues=t.trim().split(/\s+/g),this._hasInitialValues=!0},t.prototype.populateInitialStylingAttrs=function(t){if(this._initialClassValues.length){t.push(_e(1));for(var e=0;e0?t.substring(0,n):"",e=!0);var r="",i=t,o=t.lastIndexOf(".");return o>0&&(r=t.substr(o+1),i=t.substring(0,o)),{property:i,unit:r,hasOverrideFlag:e}}function Ac(t){switch(so(t)){case 1:return jn.styleProp;case 3:return jn.stylePropInterpolate1;case 5:return jn.stylePropInterpolate2;case 7:return jn.stylePropInterpolate3;case 9:return jn.stylePropInterpolate4;case 11:return jn.stylePropInterpolate5;case 13:return jn.stylePropInterpolate6;case 15:return jn.stylePropInterpolate7;case 17:return jn.stylePropInterpolate8;default:return jn.stylePropInterpolateV}}!function(t){t[t.Character=0]="Character",t[t.Identifier=1]="Identifier",t[t.Keyword=2]="Keyword",t[t.String=3]="String",t[t.Operator=4]="Operator",t[t.Number=5]="Number",t[t.Error=6]="Error"}(Oc||(Oc={}));var Dc=["var","let","as","null","undefined","true","false","if","else","this"],Tc=function(){function t(){}return t.prototype.tokenize=function(t){for(var e=new Nc(t),n=[],r=e.scanToken();null!=r;)n.push(r),r=e.scanToken();return n},t}(),Pc=function(){function t(t,e,n,r){this.index=t,this.type=e,this.numValue=n,this.strValue=r}return t.prototype.isCharacter=function(t){return this.type==Oc.Character&&this.numValue==t},t.prototype.isNumber=function(){return this.type==Oc.Number},t.prototype.isString=function(){return this.type==Oc.String},t.prototype.isOperator=function(t){return this.type==Oc.Operator&&this.strValue==t},t.prototype.isIdentifier=function(){return this.type==Oc.Identifier},t.prototype.isKeyword=function(){return this.type==Oc.Keyword},t.prototype.isKeywordLet=function(){return this.type==Oc.Keyword&&"let"==this.strValue},t.prototype.isKeywordAs=function(){return this.type==Oc.Keyword&&"as"==this.strValue},t.prototype.isKeywordNull=function(){return this.type==Oc.Keyword&&"null"==this.strValue},t.prototype.isKeywordUndefined=function(){return this.type==Oc.Keyword&&"undefined"==this.strValue},t.prototype.isKeywordTrue=function(){return this.type==Oc.Keyword&&"true"==this.strValue},t.prototype.isKeywordFalse=function(){return this.type==Oc.Keyword&&"false"==this.strValue},t.prototype.isKeywordThis=function(){return this.type==Oc.Keyword&&"this"==this.strValue},t.prototype.isError=function(){return this.type==Oc.Error},t.prototype.toNumber=function(){return this.type==Oc.Number?this.numValue:-1},t.prototype.toString=function(){switch(this.type){case Oc.Character:case Oc.Identifier:case Oc.Keyword:case Oc.Operator:case Oc.String:case Oc.Error:return this.strValue;case Oc.Number:return this.numValue.toString();default:return null}},t}();function Ic(t,e){return new Pc(t,Oc.Character,e,String.fromCharCode(e))}function Rc(t,e){return new Pc(t,Oc.Operator,0,e)}var Mc=new Pc(-1,Oc.Character,0,""),Nc=function(){function t(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}return t.prototype.advance=function(){this.peek=++this.index>=this.length?An:this.input.charCodeAt(this.index)},t.prototype.scanToken=function(){for(var t=this.input,e=this.length,n=this.peek,r=this.index;n<=Mn;){if(++r>=e){n=An;break}n=t.charCodeAt(r)}if(this.peek=n,this.index=r,r>=e)return null;if(Fc(n))return this.scanIdentifier();if(ur(n))return this.scanNumber(r);var i=r;switch(n){case 46:return this.advance(),ur(this.peek)?this.scanNumber(i):Ic(i,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case Hn:return this.scanCharacter(i,n);case Ln:case Nn:return this.scanString();case 35:case Vn:case Bn:case 42:case zn:case 37:case 94:return this.scanOperator(i,String.fromCharCode(n));case 63:return this.scanComplexOperator(i,"?",46,".");case 60:case Gn:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=");case 33:case Un:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=",Un,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case sr:for(;cr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character ["+String.fromCharCode(n)+"]",0)},t.prototype.scanCharacter=function(t,e){return this.advance(),Ic(t,e)},t.prototype.scanOperator=function(t,e){return this.advance(),Rc(t,e)},t.prototype.scanComplexOperator=function(t,e,n,r,i,o){this.advance();var a=e;return this.peek==n&&(this.advance(),a+=r),null!=i&&this.peek==i&&(this.advance(),a+=o),Rc(t,a)},t.prototype.scanIdentifier=function(){var t=this.index;for(this.advance();Lc(this.peek);)this.advance();var e,n=this.input.substring(t,this.index);return Dc.indexOf(n)>-1?(e=n,new Pc(t,Oc.Keyword,0,e)):function(t,e){return new Pc(t,Oc.Identifier,0,e)}(t,n)},t.prototype.scanNumber=function(t){var e,n=this.index===t;for(this.advance();;){if(ur(this.peek));else if(46==this.peek)n=!1;else{if((e=this.peek)!=tr&&e!=Qn)break;if(this.advance(),Vc(this.peek)&&this.advance(),!ur(this.peek))return this.error("Invalid exponent",-1);n=!1}this.advance()}var r,i=this.input.substring(t,this.index),o=n?function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(i):parseFloat(i);return r=o,new Pc(t,Oc.Number,r,"")},t.prototype.scanString=function(){var t=this.index,e=this.peek;this.advance();for(var n="",r=this.index,i=this.input;this.peek!=e;)if(92==this.peek){n+=i.substring(r,this.index),this.advance();var o=void 0;if(this.peek=this.peek,117==this.peek){var a=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(a))return this.error("Invalid unicode escape [\\u"+a+"]",0);o=parseInt(a,16);for(var s=0;s<5;s++)this.advance()}else o=Bc(this.peek),this.advance();n+=String.fromCharCode(o),r=this.index}else{if(this.peek==An)return this.error("Unterminated quote",0);this.advance()}var l,c=i.substring(r,this.index);return this.advance(),l=n+c,new Pc(t,Oc.String,0,l)},t.prototype.error=function(t,e){var n=this.index+e;return function(t,e){return new Pc(t,Oc.Error,0,e)}(n,"Lexer Error: "+t+" at column "+n+" in expression ["+this.input+"]")},t}();function Fc(t){return Jn<=t&&t<=ar||Kn<=t&&t<=Zn||t==$n||t==Fn}function Lc(t){return pr(t)||ur(t)||t==$n||t==Fn}function Vc(t){return t==Bn||t==Vn}function Bc(t){switch(t){case nr:return Tn;case er:return In;case rr:return Rn;case ir:return Dn;case or:return Pn;default:return t}}var zc=function(t,e,n){this.strings=t,this.expressions=e,this.offsets=n},Hc=function(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n};function Uc(t){var e=Ne(t.start)+"([\\s\\S]*?)"+Ne(t.end);return new RegExp(e,"g")}var Gc,qc=function(){function t(t){this._lexer=t,this.errors=[]}return t.prototype.parseAction=function(t,e,n,r){void 0===r&&(r=Oo),this._checkNoInterpolation(t,e,r);var i=this._stripComments(t),o=this._lexer.tokenize(this._stripComments(t)),a=new Wc(t,e,n,o,i.length,!0,this.errors,t.length-i.length).parseChain();return new va(a,t,e,n,this.errors)},t.prototype.parseBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r);return new va(i,t,e,n,this.errors)},t.prototype.parseSimpleBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r),o=Yc.check(i);return o.length>0&&this._reportError("Host binding expression cannot contain "+o.join(" "),t,e),new va(i,t,e,n,this.errors)},t.prototype._reportError=function(t,e,n,r){this.errors.push(new Yo(t,e,n,r))},t.prototype._parseBindingAst=function(t,e,n,r){var i=this._parseQuote(t,e);if(null!=i)return i;this._checkNoInterpolation(t,e,r);var o=this._stripComments(t),a=this._lexer.tokenize(o);return new Wc(t,e,n,a,o.length,!1,this.errors,t.length-o.length).parseChain()},t.prototype._parseQuote=function(t,e){if(null==t)return null;var n=t.indexOf(":");if(-1==n)return null;var r=t.substring(0,n).trim();if(!function(t){if(0==t.length)return!1;var e=new Nc(t);if(!Fc(e.peek))return!1;for(e.advance();e.peek!==An;){if(!Lc(e.peek))return!1;e.advance()}return!0}(r))return null;var i=t.substring(n+1);return new Xo(new Ko(0,t.length),r,i,e)},t.prototype.parseTemplateBindings=function(t,e,n,r){var i=this._lexer.tokenize(e);return new Wc(e,n,r,i,e.length,!1,this.errors,0).parseTemplateBindings(t)},t.prototype.parseInterpolation=function(t,e,n,r){void 0===r&&(r=Oo);var i=this.splitInterpolation(t,e,r);if(null==i)return null;for(var o=[],a=0;a0?(l+=n.start.length,a.push(u),s.push(l),l+=u.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column "+this._findInterpolationErrorColumn(i,c,n)+" in",e),a.push("$implict"),s.push(l))}return new zc(o,a,s)},t.prototype.wrapLiteralPrimitive=function(t,e,n){return new va(new sa(new Ko(0,null==t?0:t.length),t),t,e,n,this.errors)},t.prototype._stripComments=function(t){var e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t},t.prototype._commentStart=function(t){for(var e,n=null,r=0;r1&&this._reportError("Got interpolation ("+n.start+n.end+") where expression was expected",t,"at column "+this._findInterpolationErrorColumn(i,1,n)+" in",e)},t.prototype._findInterpolationErrorColumn=function(t,e,n){for(var r="",i=0;i":case"<=":case">=":this.advance();var n=this.parseAdditive();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseAdditive=function(){for(var t=this.parseMultiplicative();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"+":case"-":this.advance();var n=this.parseMultiplicative();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseMultiplicative=function(){for(var t=this.parsePrefix();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();var n=this.parsePrefix();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parsePrefix=function(){if(this.next.type==Oc.Operator){var t=this.inputIndex,e=this.next.strValue,n=void 0;switch(e){case"+":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),"-",n,new sa(new Ko(t,t),0));case"-":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),e,new sa(new Ko(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new da(this.span(t),n)}}return this.parseCallChain()},t.prototype.parseCallChain=function(){for(var t=this.parsePrimary();;)if(this.optionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(91)){this.rbracketsExpected++;var e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){var n=this.parseConditional();t=new oa(this.span(t.span.start),t,e,n)}else t=new ia(this.span(t.span.start),t,e)}else if(this.optionalCharacter(40)){this.rparensExpected++;var r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new ga(this.span(t.span.start),t,r)}else{if(!this.optionalOperator("!"))return t;t=new ha(this.span(t.span.start),t)}},t.prototype.parsePrimary=function(){var t=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;var e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),e}if(this.next.isKeywordNull())return this.advance(),new sa(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new sa(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new sa(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new sa(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new $o(this.span(t));if(this.optionalCharacter(91)){this.rbracketsExpected++;var n=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new la(this.span(t),n)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new $o(this.span(t)),!1);if(this.next.isNumber()){var r=this.next.toNumber();return this.advance(),new sa(this.span(t),r)}if(this.next.isString()){var i=this.next.toString();return this.advance(),new sa(this.span(t),i)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: "+this.input),new Zo(this.span(t))):(this.error("Unexpected token "+this.next),new Zo(this.span(t)))},t.prototype.parseExpressionList=function(t){var e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.optionalCharacter(44));return e},t.prototype.parseLiteralMap=function(){var t=[],e=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{var r=this.next.isString(),i=this.expectIdentifierOrKeywordOrString();t.push({key:i,quoted:r}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new ca(this.span(n),t,e)},t.prototype.parseAccessMemberOrMethodCall=function(t,e){void 0===e&&(e=!1);var n=t.span.start,r=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;var i=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;var o=this.span(n);return e?new ma(o,t,r,i):new fa(o,t,r,i)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Zo(this.span(n))):new ra(this.span(n),t,r);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Zo(this.span(n));var a=this.parseConditional();return new na(this.span(n),t,r,a)}return new ea(this.span(n),t,r)},t.prototype.parseCallArguments=function(){if(this.next.isCharacter(41))return[];var t=[];do{t.push(this.parsePipe())}while(this.optionalCharacter(44));return t},t.prototype.expectTemplateBindingKey=function(){var t="",e=!1;do{t+=this.expectIdentifierOrKeywordOrString(),(e=this.optionalOperator("-"))&&(t+="-")}while(e);return t.toString()},t.prototype.parseTemplateBindings=function(t){var e=!0,n=[];do{var r=this.inputIndex,i=void 0,o=void 0,a=!1;e?(i=o=t,e=!1):((a=this.peekKeywordLet())&&this.advance(),i=this.expectTemplateBindingKey(),o=a?i:t+i[0].toUpperCase()+i.substring(1),this.optionalCharacter(58));var s=null,l=null;if(a)s=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.peekKeywordAs())this.advance(),s=i,o=this.expectTemplateBindingKey(),a=!0;else if(this.next!==Mc&&!this.peekKeywordLet()){var c=this.inputIndex,u=this.parsePipe(),p=this.input.substring(c-this.offset,this.inputIndex-this.offset);l=new va(u,p,this.location,this.absoluteOffset,this.errors)}if(n.push(new ba(this.span(r),o,a,s,l)),this.peekKeywordAs()&&!a){var d=this.inputIndex;this.advance();var h=this.expectTemplateBindingKey();n.push(new ba(this.span(d),h,!0,o,null))}this.optionalCharacter(Hn)||this.optionalCharacter(44)}while(this.index0)switch(t[0]){case"*":break;case"!":n[t.substring(1)]=Zc;break;case"#":n[t.substring(1)]=$c;break;case"%":n[t.substring(1)]=tu;break;default:n[t]=Jc}})}),e}return Object(o.c)(e,t),e.prototype.hasProperty=function(t,e,n){if(n.some(function(t){return t.name===G.name}))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!1;if(n.some(function(t){return t.name===U.name}))return!0}return!!(this._schema[t.toLowerCase()]||this._schema.unknown)[e]},e.prototype.hasElement=function(t,e){if(e.some(function(t){return t.name===G.name}))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!0;if(e.some(function(t){return t.name===U.name}))return!0}return!!this._schema[t.toLowerCase()]},e.prototype.securityContext=function(t,e,n){n&&(e=this.getMappedPropName(e)),t=t.toLowerCase(),e=e.toLowerCase();var r=Kc()[t+"|"+e];return r||((r=Kc()["*|"+e])||I.NONE)},e.prototype.getMappedPropName=function(t){return nu[t]||t},e.prototype.getDefaultComponentElementName=function(){return"ng-component"},e.prototype.validateProperty=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event property '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=...\nIf '"+t+"' is a directive input, make sure the directive is imported by the current module."}:{error:!1}},e.prototype.validateAttribute=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event attribute '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=..."}:{error:!1}},e.prototype.allKnownElementNames=function(){return Object.keys(this._schema)},e.prototype.normalizeAnimationStyleProperty=function(t){return t.replace(xe,function(){for(var t=[],e=0;e0)throw Ie("Template parse errors:\n"+o.join("\n"),o);return{nodes:r,errors:i,styleUrls:n.styleUrls,styles:n.styles}}var au,su=function(){function t(t){this.bindingParser=t,this.errors=[],this.styles=[],this.styleUrls=[]}return t.prototype.visitElement=function(t){var e,n,r,i=this,a=rc(t);if(a.type===Yl.SCRIPT)return null;if(a.type===Yl.STYLE){var s=1===(r=t).children.length&&r.children[0]instanceof Os?r.children[0].value:null;return null!==s&&this.styles.push(s),null}if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return this.styleUrls.push(a.hrefAttr),null;var l=c(t.name),u=[],p=[],d=[],h=[],f=[],m={},g=[],y=[],v=!1;try{for(var b=Object(o.h)(t.attrs),_=b.next();!_.done;_=b.next()){var w=_.value,x=!1,C=cu(w.name),O=!1;if(w.i18n&&(m[w.name]=w.i18n),C.startsWith("*")){v&&this.reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",w.sourceSpan),O=!0,v=!0;var E=w.value,S=C.substring("*".length),k=[],j=w.valueSpan?w.valueSpan.start.offset:w.sourceSpan.start.offset;this.bindingParser.parseInlineTemplateBinding(S,E,w.sourceSpan,j,[],g,k),y.push.apply(y,Object(o.g)(k.map(function(t){return new jr(t.name,t.value,t.sourceSpan)})))}else x=this.parseAttribute(l,w,[],u,p,d,h);x||O||f.push(this.visitAttribute(w))}}catch(M){e={error:M}}finally{try{_&&!_.done&&(n=b.return)&&n.call(b)}finally{if(e)throw e.error}}var A,D=Ds(a.nonBindable?lu:this,t.children);if(a.type===Yl.NG_CONTENT){t.children&&!t.children.every(function(t){return function(t){return t instanceof Os&&0==t.value.trim().length}(t)||function(t){return t instanceof As}(t)})&&this.reportError(" element cannot have content.",t.sourceSpan);var T=a.selectAttr,P=t.attrs.map(function(t){return i.visitAttribute(t)});A=new kr(T,P,t.sourceSpan,t.i18n)}else if(l){P=this.extractAttributes(t.name,u,m);A=new Sr(t.name,f,P.bound,p,[],D,h,d,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}else{P=this.extractAttributes(t.name,u,m);A=new Er(t.name,f,P.bound,p,D,h,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}if(v){P=this.extractAttributes("ng-template",g,m);var I=[];P.literal.forEach(function(t){return I.push(t)}),P.bound.forEach(function(t){return I.push(t)});var R=A instanceof Er?{attributes:A.attributes,inputs:A.inputs,outputs:A.outputs}:{attributes:[],inputs:[],outputs:[]};A=new Sr(A.name,R.attributes,R.inputs,R.outputs,I,[A],[],y,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}return A},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,t.valueSpan,t.i18n)},t.prototype.visitText=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan,t.i18n)},t.prototype.visitExpansion=function(t){var e=this,n=t.i18n;if(!n)return null;var r={},i={};return Object.keys(n.placeholders).forEach(function(o){var a=n.placeholders[o];if(o.startsWith("VAR_")){var s=e.bindingParser.interpolationConfig,l=""+s.start+a+s.end;r[o]=e._visitTextWithInterpolation(l,t.sourceSpan)}else i[o]=e._visitTextWithInterpolation(a,t.sourceSpan)}),new Dr(r,i,t.sourceSpan,n)},t.prototype.visitExpansionCase=function(t){return null},t.prototype.visitComment=function(t){return null},t.prototype.extractAttributes=function(t,e,n){var r=this,i=[],o=[];return e.forEach(function(e){var a=n[e.name];if(e.isLiteral)o.push(new xr(e.name,e.expression.source||"",e.sourceSpan,void 0,a));else{var s=r.bindingParser.createBoundElementProperty(t,e,!0,!1);i.push(Cr.fromBoundElementProperty(s,a))}}),{bound:i,literal:o}},t.prototype.parseAttribute=function(t,e,n,r,i,o,a){var s=cu(e.name),l=e.value,c=e.sourceSpan,u=e.valueSpan?e.valueSpan.start.offset:c.start.offset,p=s.match(iu),d=!1;if(p){if(d=!0,null!=p[1])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r);else if(p[2])if(t){var h=p[7];this.parseVariable(h,l,c,e.valueSpan,o)}else this.reportError('"let-" is only supported on ng-template elements.',c);else if(p[3]){h=p[7];this.parseReference(h,l,c,e.valueSpan,a)}else if(p[4]){var f=[];this.bindingParser.parseEvent(p[7],l,c,e.valueSpan||c,n,f),uu(f,i)}else if(p[5])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[7],l,c,e.valueSpan,n,i);else if(p[6])this.bindingParser.parseLiteralAttr(s,l,c,u,e.valueSpan,n,r);else if(p[8])this.bindingParser.parsePropertyBinding(p[8],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[8],l,c,e.valueSpan,n,i);else if(p[9])this.bindingParser.parsePropertyBinding(p[9],l,!1,c,u,e.valueSpan,n,r);else if(p[10]){f=[];this.bindingParser.parseEvent(p[10],l,c,e.valueSpan||c,n,f),uu(f,i)}}else d=this.bindingParser.parsePropertyInterpolation(s,l,c,e.valueSpan,n,r);return d},t.prototype._visitTextWithInterpolation=function(t,e,n){var r=ol(t),i=this.bindingParser.parseInterpolation(r,e);return i?new wr(i,e,n):new _r(r,e)},t.prototype.parseVariable=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in variable names',n),i.push(new jr(t,e,n,r))},t.prototype.parseReference=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in reference names',n),i.push(new Ar(t,e,n,r))},t.prototype.parseAssignmentEvent=function(t,e,n,r,i,o){var a=[];this.bindingParser.parseEvent(t+"Change",e+"=$event",n,r||n,i,a),uu(a,o)},t.prototype.reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t}(),lu=new(function(){function t(){}return t.prototype.visitElement=function(t){var e=rc(t);if(e.type===Yl.SCRIPT||e.type===Yl.STYLE||e.type===Yl.STYLESHEET)return null;var n=Ds(this,t.children,null);return new Er(t.name,Ds(this,t.attrs),[],[],n,[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t){return null},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,void 0,t.i18n)},t.prototype.visitText=function(t){return new _r(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t){return null},t.prototype.visitExpansionCase=function(t){return null},t}());function cu(t){return/^data-/i.test(t)?t.substring(5):t}function uu(t,e){e.push.apply(e,Object(o.g)(t.map(function(t){return Or.fromParsedEvent(t)})))}!function(t){t[t.ELEMENT=0]="ELEMENT",t[t.TEMPLATE=1]="TEMPLATE",t[t.PROJECTION=2]="PROJECTION"}(au||(au={}));var pu=function(){function t(t,e,n,r,i,o){void 0===n&&(n=0),void 0===r&&(r=null),this.index=t,this.ref=e,this.level=n,this.templateIndex=r,this.meta=i,this.registry=o,this.bindings=new Set,this.placeholders=new Map,this.isEmitted=!1,this._unresolvedCtxCount=0,this._registry=o||{getUniqueId:Vi(),icus:new Map},this.id=this._registry.getUniqueId()}return t.prototype.appendTag=function(t,e,n,r){if(!e.isVoid||!r){var i=e.isVoid||!r?e.startName:e.closeName,o={type:t,index:n,ctx:this.id,isVoid:e.isVoid,closed:r};zi(this.placeholders,i,o)}},Object.defineProperty(t.prototype,"icus",{get:function(){return this._registry.icus},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return 0===this.level},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isResolved",{get:function(){return 0===this._unresolvedCtxCount},enumerable:!0,configurable:!0}),t.prototype.getSerializedPlaceholders=function(){var t=new Map;return this.placeholders.forEach(function(e,n){return t.set(n,e.map(mu))}),t},t.prototype.appendBinding=function(t){this.bindings.add(t)},t.prototype.appendIcu=function(t,e){zi(this._registry.icus,t,e)},t.prototype.appendBoundText=function(t){var e=this;Hi(t,this.bindings.size,this.id).forEach(function(t,n){return zi.apply(void 0,Object(o.g)([e.placeholders,n],t))})},t.prototype.appendTemplate=function(t,e){this.appendTag(au.TEMPLATE,t,e,!1),this.appendTag(au.TEMPLATE,t,e,!0),this._unresolvedCtxCount++},t.prototype.appendElement=function(t,e,n){this.appendTag(au.ELEMENT,t,e,n)},t.prototype.appendProjection=function(t,e){this.appendTag(au.PROJECTION,t,e,!1),this.appendTag(au.PROJECTION,t,e,!0)},t.prototype.forkChildContext=function(e,n,r){return new t(e,this.ref,this.level+1,n,r,this._registry)},t.prototype.reconcileChildContext=function(t){var e=this;["start","close"].forEach(function(n){var r=t.meta[n+"Name"],i=(e.placeholders.get(r)||[]).find(fu(e.id,t.templateIndex));i&&(i.ctx=t.id)}),t.placeholders.forEach(function(n,r){var i=e.placeholders.get(r);if(i){var a=function(t,e){for(var n=0;n=0){var s=r.startsWith("CLOSE");if(r.endsWith("NG-TEMPLATE"))i.splice.apply(i,Object(o.g)([a+(s?0:1),0],n));else n[s?n.length-1:0].tmpl=i[a],i.splice.apply(i,Object(o.g)([a,1],n))}else i.push.apply(i,Object(o.g)(n));e.placeholders.set(r,i)}else e.placeholders.set(r,n)}),this._unresolvedCtxCount--},t}();function du(t,e,n,r){return Li(""+(r?"/":"")+t+e,n)}function hu(t,e,n){var r=e.index,i=e.ctx;return e.isVoid?du(t,r,i)+du(t,r,i,!0):du(t,r,i,n)}function fu(t,e){return function(n){return"object"==typeof n&&n.type===au.TEMPLATE&&n.index===e&&n.ctx===t}}function mu(t){var e,n,r=function(t,e){return hu("#",t,e)},i=function(t,e){return hu("*",t,e)};switch(t.type){case au.ELEMENT:return t.closed?r(t,!0)+(t.tmpl?i(t.tmpl,!0):""):t.tmpl?i(t.tmpl)+r(t)+(t.isVoid?i(t.tmpl,!0):""):r(t);case au.TEMPLATE:return i(t,t.closed);case au.PROJECTION:return e=t,n=t.closed,hu("!",e,n);default:return t}}var gu={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},yu=function(){function t(){this._placeHolderNameCounts={},this._signatureToName={}}return t.prototype.getStartTagPlaceholderName=function(t,e,n){var r=this._hashTag(t,e,n);if(this._signatureToName[r])return this._signatureToName[r];var i=t.toUpperCase(),o=gu[i]||"TAG_"+i,a=this._generateUniqueName(n?o:"START_"+o);return this._signatureToName[r]=a,a},t.prototype.getCloseTagPlaceholderName=function(t){var e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];var n=t.toUpperCase(),r=gu[n]||"TAG_"+n,i=this._generateUniqueName("CLOSE_"+r);return this._signatureToName[e]=i,i},t.prototype.getPlaceholderName=function(t,e){var n=t.toUpperCase(),r="PH: "+n+"="+e;if(this._signatureToName[r])return this._signatureToName[r];var i=this._generateUniqueName(n);return this._signatureToName[r]=i,i},t.prototype.getUniquePlaceholder=function(t){return this._generateUniqueName(t.toUpperCase())},t.prototype._hashTag=function(t,e,n){return"<"+t+Object.keys(e).sort().map(function(t){return" "+t+"="+e[t]}).join("")+(n?"/>":">")},t.prototype._hashClosingTag=function(t){return this._hashTag("/"+t,{},!1)},t.prototype._generateUniqueName=function(t){if(!this._placeHolderNameCounts.hasOwnProperty(t))return this._placeHolderNameCounts[t]=1,t;var e=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=e+1,t+"_"+e},t}(),vu=new qc(new Tc);function bu(t){var e=new _u(vu,t);return function(t,n,r,i,o){return e.toI18nMessage(t,n,r,i,o)}}var _u=function(){function t(t,e){this._expressionParser=t,this._interpolationConfig=e}return t.prototype.toI18nMessage=function(t,e,n,r,i){this._isIcu=1==t.length&&t[0]instanceof Es,this._icuDepth=0,this._placeholderRegistry=new yu,this._placeholderToContent={},this._placeholderToMessage={},this._visitNodeFn=i;var o=Ds(this,t,{});return new Ir(o,this._placeholderToContent,this._placeholderToMessage,e,n,r)},t.prototype._visitNode=function(t,e){return this._visitNodeFn&&this._visitNodeFn(t,e),e},t.prototype.visitElement=function(t,e){var n=Ds(this,t.children),r={};t.attrs.forEach(function(t){r[t.name]=t.value});var i=y(t.name).isVoid,o=this._placeholderRegistry.getStartTagPlaceholderName(t.name,r,i);this._placeholderToContent[o]=t.sourceSpan.toString();var a="";i||(a=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[a]="");var s=new Fr(t.name,r,o,a,n,i,t.sourceSpan);return this._visitNode(t,s)},t.prototype.visitAttribute=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitText=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitExpansion=function(e,n){var r=this;this._icuDepth++;var i={},o=new Nr(e.switchValue,e.type,i,e.sourceSpan);if(e.cases.forEach(function(t){i[t.value]=new Mr(t.expression.map(function(t){return t.visit(r,{})}),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){var a=this._placeholderRegistry.getUniquePlaceholder("VAR_"+e.type);return o.expressionPlaceholder=a,this._placeholderToContent[a]=e.switchValue,this._visitNode(e,o)}var s=this._placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString()),l=new t(this._expressionParser,this._interpolationConfig);this._placeholderToMessage[s]=l.toI18nMessage([e],"","","");var c=new Vr(o,s,e.sourceSpan);return this._visitNode(e,c)},t.prototype.visitExpansionCase=function(t,e){throw new Error("Unreachable code")},t.prototype._visitTextWithInterpolation=function(t,e){var n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new Rr(t,e);for(var r=[],i=new Mr(r,e),o=this._interpolationConfig,a=o.start,s=o.end,l=0;l-1?[t.slice(0,s),t.slice(s+2)]:[t,""],2))[0],r=e[1],i=(n=Object(o.f)(l>-1?[c.slice(0,l),c.slice(l+1)]:["",c],2))[0],a=n[1]}return{id:r,meaning:i,description:a}}(e):Ni(e),i=this._createI18nMessage(t,r.meaning||"",r.description||"",r.id||"",n);return i.id||(i.id="string"!=typeof e&&e.id||Ur(i)),i},t.prototype.visitElement=function(t,e){var n,r,i,a;if(function(t){return t.attrs.some(function(t){return Ii(t.name)})}(t)){var s=[],l={};try{for(var c=Object(o.h)(t.attrs),u=c.next();!u.done;u=c.next()){if((m=u.value).name===Ai){var p=t.i18n||m.value,d=this._generateI18nMessage(t.children,p,xu);d.nodes.length&&(t.i18n=d)}else if(m.name.startsWith(Di)){l[m.name.slice(Di.length)]=m.value}else s.push(m)}}catch(y){n={error:y}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}if(Object.keys(l).length)try{for(var h=Object(o.h)(s),f=h.next();!f.done;f=h.next()){var m,g=l[(m=f.value).name];void 0!==g&&m.value&&(m.i18n=this._generateI18nMessage([m],m.i18n||g))}}catch(v){i={error:v}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}this.keepI18nAttrs||(t.attrs=s)}return Ds(this,t.children),t},t.prototype.visitExpansion=function(t,e){var n,r=t.i18n;if(r instanceof Vr){var i=r.name;Fi(n=this._generateI18nMessage([t],r)).name=i}else n=this._generateI18nMessage([t],r);return t.i18n=n,t},t.prototype.visitText=function(t,e){return t},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();var Ou=new(function(){function t(){this.icuNestingLevel=0}return t.prototype.formatPh=function(t){var e=this.icuNestingLevel>0,n=Ui(t,!e);return e?"{"+n+"}":"{$"+n+"}"},t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map(function(t){return t.visit(n)}).join("")},t.prototype.visitIcu=function(t,e){var n=this;this.icuNestingLevel++;var r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"}),i="{"+t.expressionPlaceholder+", "+t.type+", "+r.join(" ")+"}";return this.icuNestingLevel--,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?this.formatPh(t.startName):""+this.formatPh(t.startName)+t.children.map(function(t){return t.visit(n)}).join("")+this.formatPh(t.closeName)},t.prototype.visitPlaceholder=function(t,e){return this.formatPh(t.name)},t.prototype.visitIcuPlaceholder=function(t,e){return this.formatPh(t.name)},t}());var Eu=new Map([["window",jn.resolveWindow],["document",jn.resolveDocument],["body",jn.resolveBody]]),Su=[" ","\n","\r","\t"];function ku(t,e){return be(de(Ki).bitwiseAnd(_e(t),null,!1),e)}function ju(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=t.type,i=t.name,a=t.target,s=t.phase,l=t.handler;if(a&&!Eu.has(a))throw new Error("Unexpected global target '"+a+"' defined for '"+i+"' event.\n Supported list of global targets: "+Array.from(Eu.keys())+".");var c=null===n||0===n.bindingLevel?de(Yi):n.getOrCreateSharedContextVar(0),u=Da(n,c,l,"b",function(){return Pe("Unexpected interpolation")},t.handlerSpan),p=[];n&&(p.push.apply(p,Object(o.g)(n.restoreViewStatement())),p.push.apply(p,Object(o.g)(n.variableDeclarations()))),p.push.apply(p,Object(o.g)(u.render3Stmts));var d=1===r?function(t,e){return""+yo+t+"."+e}(i,s):i,h=e&&an(e),f=ve([new Rt("$event",st)],p,lt,null,h),m=[_e(d),f];return a&&m.push(_e(!1),he(Eu.get(a))),m}var Au=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){var f=this;void 0===n&&(n=0),this.constantPool=t,this.level=n,this.contextName=r,this.i18nContext=i,this.templateIndex=o,this.templateName=a,this.directiveMatcher=s,this.directives=l,this.pipeTypeByName=c,this.pipes=u,this._namespace=p,this.relativeContextFilePath=d,this.i18nUseExternalIds=h,this._dataIndex=0,this._bindingContext=0,this._prefixCode=[],this._creationCodeFns=[],this._updateCodeFns=[],this._lastNodeIndexWithFlush=-1,this._tempVariables=[],this._nestedTemplateFns=[],this._unsupported=Xi,this.i18n=null,this._pureFunctionSlots=0,this._bindingSlots=0,this._ngContentReservedSlots=[],this._ngContentSelectorsOffset=0,this._implicitReceiverExpr=null,this.visitReference=Zi,this.visitVariable=Zi,this.visitTextAttribute=Zi,this.visitBoundAttribute=Zi,this.visitBoundEvent=Zi,this._bindingScope=e.nestedScope(n),this.fileBasedI18nSuffix=d.replace(/[^A-Za-z0-9]/g,"_")+"_",this._valueConverter=new Du(t,function(){return f.allocateDataSlot()},function(t){return f.allocatePureFunctionSlots(t)},function(t,e,n,r){var i=c.get(t);i&&f.pipes.add(i),f._bindingScope.set(f.level,e,r),f.creationInstruction(null,jn.pipe,[_e(n),_e(t)])})}return t.prototype.registerContextVariables=function(t){var e=this._bindingScope.freshReferenceName(),n=this.level,r=de(t.name+e);this._bindingScope.set(n,t.name,r,1,function(e,i){var o;if(e.bindingLevel===n)o=de(Yi);else{var a=e.getSharedContextName(n);o=a||Ru(i)}return[r.set(o.prop(t.value||"$implicit")).toConstDecl()]})},t.prototype.buildTemplateFunction=function(t,e,n,r){var i=this;void 0===n&&(n=0),this._ngContentSelectorsOffset=n,this._namespace!==jn.namespaceHTML&&this.creationInstruction(null,this._namespace),e.forEach(function(t){return i.registerContextVariables(t)});var a,s=this.i18nContext||Ri(r)&&!Mi(r)&&!(1===(a=t).length&&a[0]instanceof Er&&t[0].i18n===r),l=Hu(t);if(s&&this.i18nStart(null,r,l),Tr(this,t),this._pureFunctionSlots+=this._bindingSlots,this._valueConverter.updatePipeSlotOffsets(this._bindingSlots),this._nestedTemplateFns.forEach(function(t){return t()}),0===this.level&&this._ngContentReservedSlots.length){var c=[];if(this._ngContentReservedSlots.length>1||"*"!==this._ngContentReservedSlots[0]){var u=this._ngContentReservedSlots.map(function(t){return"*"!==t?$(t):t});c.push(this.constantPool.getConstLiteral($i(u),!0))}this.creationInstruction(null,jn.projectionDef,c,!0)}s&&this.i18nEnd(null,l);var p=this._creationCodeFns.map(function(t){return t()}),d=this._updateCodeFns.map(function(t){return t()}),h=this._bindingScope.viewSnapshotStatements(),f=this._bindingScope.variableDeclarations().concat(this._tempVariables),m=p.length>0?[ku(1,h.concat(p))]:[],g=d.length>0?[ku(2,f.concat(d))]:[];return ve([new Rt(Ki,ut),new Rt(Yi,null)],Object(o.g)(this._prefixCode,m,g),lt,null,this.templateName)},t.prototype.getLocal=function(t){return this._bindingScope.get(t)},t.prototype.notifyImplicitReceiverUse=function(){this._bindingScope.notifyImplicitReceiverUse()},t.prototype.i18nTranslate=function(t,e,n,r){var i;void 0===e&&(e={});var a=n||de(this.constantPool.uniqueName("I18N_")),s=this.i18nGenerateClosureVar(t.id),l=this.i18nFormatPlaceholderNames(e,!0),c=Ni(t),u=function(t,e,n,r,i,a){void 0===i&&(i={});var s=[];return s.push.apply(s,Object(o.g)(Pi(t,e,n,r,i))),a&&s.push(new Kt(t.set(a(t)))),s}(a,s,function(t){return t.nodes.map(function(t){return t.visit(Ou,null)}).join("")}(t),c,l,r);return(i=this.constantPool.statements).push.apply(i,Object(o.g)(u)),a},t.prototype.i18nFormatPlaceholderNames=function(t,e){void 0===t&&(t={});var n={};return t&&Object.keys(t).length&&Object.keys(t).forEach(function(r){return n[Ui(r,e)]=t[r]}),n},t.prototype.i18nAppendBindings=function(t){var e=this;t.length>0&&t.forEach(function(t){return e.i18n.appendBinding(t)})},t.prototype.i18nBindProps=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){var i=t[r];if(i instanceof _r)n[r]=_e(i.value);else{var o=i.value.visit(e._valueConverter);if(e.allocateBindingSlots(o),o instanceof ua){var a=o.strings,s=o.expressions,l=e.i18n,c=l.id,u=function(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=0),!t.length)return"";for(var r="",i=t.length-1,o=0;o1})||Object.keys(s).length)&&(c=function(t){var e=[t];return Object.keys(s).length&&e.push(Ci(s,!0)),Iu(null,jn.i18nPostprocess,e)}),this.i18nTranslate(n,l,t.ref,c)}},t.prototype.i18nStart=function(t,e,n){void 0===t&&(t=null);var r=this.allocateDataSlot();if(this.i18nContext)this.i18n=this.i18nContext.forkChildContext(r,this.templateIndex,e);else{var i=de(this.constantPool.uniqueName("I18N_"));this.i18n=new pu(r,i,0,this.templateIndex,e)}var o=this.i18n,a=o.id,s=o.ref,l=[_e(r),s];a>0&&l.push(_e(a)),this.creationInstruction(t,n?jn.i18n:jn.i18nStart,l)},t.prototype.i18nEnd=function(t,e){var n=this;if(void 0===t&&(t=null),!this.i18n)throw new Error("i18nEnd is executed with no i18n context present");this.i18nContext?(this.i18nContext.reconcileChildContext(this.i18n),this.i18nUpdateRef(this.i18nContext)):this.i18nUpdateRef(this.i18n);var r=this.i18n,i=r.index,o=r.bindings;if(o.size){var a=[];o.forEach(function(e){a.push({sourceSpan:t,value:function(){return n.convertPropertyBinding(e)}})}),this.updateInstructionChain(i,jn.i18nExp,a),this.updateInstruction(i,t,jn.i18nApply,[_e(i)])}e||this.creationInstruction(t,jn.i18nEnd),this.i18n=null},t.prototype.visitContent=function(t){var e=this.allocateDataSlot(),n=this._ngContentSelectorsOffset+this._ngContentReservedSlots.length,r=[_e(e)],i=[];this._ngContentReservedSlots.push(t.selector),t.attributes.forEach(function(t){var e=t.name,n=t.value;"ngProjectAs"===e?i.push.apply(i,Object(o.g)(Lu(t))):"select"!==e.toLowerCase()&&i.push(_e(e),_e(n))}),i.length>0?r.push(_e(n),ge(i)):0!==n&&r.push(_e(n)),this.creationInstruction(t.sourceSpan,jn.projection,r),this.i18n&&this.i18n.appendProjection(t.i18n,e)},t.prototype.getNamespaceInstruction=function(t){switch(t){case"math":return jn.namespaceMathML;case"svg":return jn.namespaceSVG;default:return jn.namespaceHTML}},t.prototype.addNamespaceInstruction=function(t,e){this._namespace=t,this.creationInstruction(e.sourceSpan,t)},t.prototype.visitElement=function(t){var e,n,r=this,i=this.allocateDataSlot(),l=new Sc(_e(i),null),c=!1,u=Ri(t.i18n)&&!Mi(t.i18n);if(u&&this.i18n)throw new Error("Could not mark an element as translatable inside of a translatable section");var p=[],d=[],h=Object(o.f)(a(t.name),2),f=h[0],m=h[1],g=s(t.name);try{for(var y=Object(o.h)(t.attributes),v=y.next();!v.done;v=y.next()){var b=v.value,_=b.name,w=b.value;"ngNonBindable"===_?c=!0:"style"===_?l.registerStyleAttr(w):"class"===_?l.registerClassAttr(w):b.i18n?p.push(b):d.push(b)}}catch(U){e={error:U}}finally{try{v&&!v.done&&(n=y.return)&&n.call(y)}finally{if(e)throw e.error}}this.matchDirectives(t.name,t);var x=[_e(i)];g||x.push(_e(m));var C=[],O=[];t.inputs.forEach(function(t){l.registerBoundInput(t)||(0===t.type&&t.i18n?p.push(t):O.push(t))}),d.forEach(function(t){"ngProjectAs"===t.name?C.push.apply(C,Object(o.g)(Lu(t))):C.push.apply(C,Object(o.g)(Nu(t.name),[_e(t.value)]))}),C.push.apply(C,Object(o.g)(this.prepareNonRenderAttrs(O,t.outputs,l,[],p))),x.push(this.toAttrsParam(C)),x.push(this.prepareRefsParameter(t.references));var E=this._namespace,S=this.getNamespaceInstruction(f);S!==E&&this.addNamespaceInstruction(S,t),this.i18n&&this.i18n.appendElement(t.i18n,i);var k=!u&&this.i18n?!Hu(t.children):t.children.length>0,j=!l.hasBindings&&0===t.outputs.length&&0===p.length&&!k,A=!j&&!l.hasBindings&&Hu(t.children);if(j)this.creationInstruction(t.sourceSpan,g?jn.elementContainer:jn.element,to(x));else{if(this.creationInstruction(t.sourceSpan,g?jn.elementContainerStart:jn.elementStart,to(x)),c&&this.creationInstruction(t.sourceSpan,jn.disableBindings),p.length){var D=!1,T=[],P=[];if(p.forEach(function(e){var n=e.i18n;if(e instanceof xr)T.push(_e(e.name),r.i18nTranslate(n));else{var i=e.value.visit(r._valueConverter);if(r.allocateBindingSlots(i),i instanceof ua){var o=Bi(Hi(n));T.push(_e(e.name),r.i18nTranslate(n,o)),i.expressions.forEach(function(e){D=!0,P.push({sourceSpan:t.sourceSpan,value:function(){return r.convertExpressionBinding(e)}})})}}}),P.length&&this.updateInstructionChain(i,jn.i18nExp,P),T.length){var I=_e(this.allocateDataSlot()),R=this.constantPool.getConstLiteral(ge(T),!0);this.creationInstruction(t.sourceSpan,jn.i18nAttributes,[I,R]),D&&this.updateInstruction(i,t.sourceSpan,jn.i18nApply,[I])}}this.processStylingInstruction(i,l.buildStylingInstruction(t.sourceSpan,this.constantPool),!0),t.outputs.forEach(function(e){r.creationInstruction(e.sourceSpan,jn.listener,r.prepareListenerParameter(t.name,e,i))}),u&&this.i18nStart(t.sourceSpan,t.i18n,A)}for(var M=l.buildUpdateLevelInstructions(this._valueConverter),N=M.length-1,F=0;F<=N;F++){var L=M[F];this._bindingSlots+=L.allocateBindingSlots,this.processStylingInstruction(i,L,!1)}var V=_e(void 0),B=[],z=[];if(O.forEach(function(t){var e=t.type;if(4===e){var n=t.value.visit(r._valueConverter),s=!(n instanceof sa)||!!n.value;r.allocateBindingSlots(n),B.push({name:vo(t.name),sourceSpan:t.sourceSpan,value:function(){return s?r.convertPropertyBinding(n):V}})}else{if(t.i18n)return;var l=t.value.visit(r._valueConverter);if(void 0!==l){var c=[],u=Object(o.f)(a(t.name),2),p=u[0],d=u[1],h=1===e,f=Bu(t.securityContext,h);if(f&&c.push(f),p){var m=_e(p);f?c.push(m):c.push(_e(null),m)}if(r.allocateBindingSlots(l),0===e)l instanceof ua?r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 1:return jn.propertyInterpolate;case 3:return jn.propertyInterpolate1;case 5:return jn.propertyInterpolate2;case 7:return jn.propertyInterpolate3;case 9:return jn.propertyInterpolate4;case 11:return jn.propertyInterpolate5;case 13:return jn.propertyInterpolate6;case 15:return jn.propertyInterpolate7;case 17:return jn.propertyInterpolate8;default:return jn.propertyInterpolateV}}(l),i,d,t,l,c):B.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(l)},params:c});else if(1===e)if(l instanceof ua&&so(l)>1)r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 3:return jn.attributeInterpolate1;case 5:return jn.attributeInterpolate2;case 7:return jn.attributeInterpolate3;case 9:return jn.attributeInterpolate4;case 11:return jn.attributeInterpolate5;case 13:return jn.attributeInterpolate6;case 15:return jn.attributeInterpolate7;case 17:return jn.attributeInterpolate8;default:return jn.attributeInterpolateV}}(l),i,d,t,l,c);else{var g=l instanceof ua?l.expressions[0]:l;z.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(g)},params:c})}else r.updateInstruction(i,t.sourceSpan,jn.classProp,function(){return Object(o.g)([_e(i),_e(d),r.convertPropertyBinding(l)],c)})}}}),B.length>0&&this.updateInstructionChain(i,jn.property,B),z.length>0&&this.updateInstructionChain(i,jn.attribute,z),Tr(this,t.children),!u&&this.i18n&&this.i18n.appendElement(t.i18n,i,!0),!j){var H=t.endSourceSpan||t.sourceSpan;u&&this.i18nEnd(H,A),c&&this.creationInstruction(H,jn.enableBindings),this.creationInstruction(H,g?jn.elementContainerEnd:jn.elementEnd)}},t.prototype.interpolatedUpdateInstruction=function(t,e,n,r,i,a){var s=this;this.updateInstruction(e,r.sourceSpan,t,function(){return Object(o.g)([_e(n)],s.getUpdateInstructionArguments(i),a)})},t.prototype.visitTemplate=function(e){var n=this,r=this.allocateDataSlot();this.i18n&&this.i18n.appendTemplate(e.i18n,r);var i=an(e.tagName||""),s=this.contextName+(i?"_"+i:"")+"_"+r,l=s+"_Template",c=[_e(r),de(l),_e(e.tagName?a(e.tagName)[1]:e.tagName)];this.matchDirectives("ng-template",e);var u=[];e.attributes.forEach(function(t){u.push($i(t.name),$i(t.value))}),u.push.apply(u,Object(o.g)(this.prepareNonRenderAttrs(e.inputs,e.outputs,void 0,e.templateAttrs))),c.push(this.toAttrsParam(u)),e.references&&e.references.length&&(c.push(this.prepareRefsParameter(e.references)),c.push(he(jn.templateRefExtractor)));var p=new t(this.constantPool,this._bindingScope,this.level+1,s,this.i18n,r,l,this.directiveMatcher,this.directives,this.pipeTypeByName,this.pipes,this._namespace,this.fileBasedI18nSuffix,this.i18nUseExternalIds);this._nestedTemplateFns.push(function(){var t,r=p.buildTemplateFunction(e.children,e.variables,n._ngContentReservedSlots.length+n._ngContentSelectorsOffset,e.i18n);n.constantPool.statements.push(r.toDeclStmt(l,null)),p._ngContentReservedSlots.length&&(t=n._ngContentReservedSlots).push.apply(t,Object(o.g)(p._ngContentReservedSlots))}),this.creationInstruction(e.sourceSpan,jn.templateCreate,function(){return c.splice(2,0,_e(p.getConstCount()),_e(p.getVarCount())),to(c)}),this.templatePropertyBindings(r,e.templateAttrs),"ng-template"===e.tagName&&(this.templatePropertyBindings(r,e.inputs),e.outputs.forEach(function(t){n.creationInstruction(t.sourceSpan,jn.listener,n.prepareListenerParameter("ng_template",t,r))}))},t.prototype.visitBoundText=function(t){var e=this;if(this.i18n){var n=t.value.visit(this._valueConverter);return this.allocateBindingSlots(n),void(n instanceof ua&&(this.i18n.appendBoundText(t.i18n),this.i18nAppendBindings(n.expressions)))}var r=this.allocateDataSlot();this.creationInstruction(t.sourceSpan,jn.text,[_e(r)]);var i=t.value.visit(this._valueConverter);this.allocateBindingSlots(i),i instanceof ua?this.updateInstruction(r,t.sourceSpan,function(t){switch(so(t)){case 1:return jn.textInterpolate;case 3:return jn.textInterpolate1;case 5:return jn.textInterpolate2;case 7:return jn.textInterpolate3;case 9:return jn.textInterpolate4;case 11:return jn.textInterpolate5;case 13:return jn.textInterpolate6;case 15:return jn.textInterpolate7;case 17:return jn.textInterpolate8;default:return jn.textInterpolateV}}(i),function(){return e.getUpdateInstructionArguments(i)}):this.updateInstruction(r,t.sourceSpan,jn.textBinding,function(){return[e.convertPropertyBinding(i)]})},t.prototype.visitText=function(t){this.i18n||this.creationInstruction(t.sourceSpan,jn.text,[_e(this.allocateDataSlot()),_e(t.value)])},t.prototype.visitIcu=function(t){var e=this,n=!1;this.i18n||(n=!0,this.i18nStart(null,t.i18n,!0));var r=this.i18n,i=this.i18nBindProps(t.vars),a=this.i18nBindProps(t.placeholders),s=t.i18n,l=function(t){var n=Object(o.a)({},i,a),r=e.i18nFormatPlaceholderNames(n,!1);return Iu(null,jn.i18nPostprocess,[t,Ci(r,!0)])};if(Mi(r.meta))this.i18nTranslate(s,{},r.ref,l);else{var c=this.i18nTranslate(s,{},void 0,l);r.appendIcu(Fi(s).name,c)}return n&&this.i18nEnd(null,!0),null},t.prototype.allocateDataSlot=function(){return this._dataIndex++},t.prototype.getConstCount=function(){return this._dataIndex},t.prototype.getVarCount=function(){return this._pureFunctionSlots},t.prototype.getNgContentSelectors=function(){return this._ngContentReservedSlots.length?this.constantPool.getConstLiteral($i(this._ngContentReservedSlots),!0):null},t.prototype.bindingContext=function(){return""+this._bindingContext++},t.prototype.templatePropertyBindings=function(t,e){var n=this,r=[];e.forEach(function(t){if(t instanceof Cr){var e=t.value.visit(n._valueConverter);void 0!==e&&(n.allocateBindingSlots(e),r.push({name:t.name,sourceSpan:t.sourceSpan,value:function(){return n.convertPropertyBinding(e)}}))}}),r.length>0&&this.updateInstructionChain(t,jn.property,r)},t.prototype.instructionFn=function(t,e,n,r,i){void 0===i&&(i=!1),t[i?"unshift":"push"](function(){var t=Array.isArray(r)?r:r();return Iu(e,n,t).toStmt()})},t.prototype.processStylingInstruction=function(t,e,n){var r=this;e&&(n?this.creationInstruction(e.sourceSpan,e.reference,function(){return e.params(function(t){return r.convertPropertyBinding(t)})}):this.updateInstruction(t,e.sourceSpan,e.reference,function(){return e.params(function(t){return e.supportsInterpolation&&t instanceof ua?r.getUpdateInstructionArguments(t):r.convertPropertyBinding(t)})}))},t.prototype.creationInstruction=function(t,e,n,r){this.instructionFn(this._creationCodeFns,t,e,n||[],r)},t.prototype.updateInstruction=function(t,e,n,r){this.addSelectInstructionIfNecessary(t,e),this.instructionFn(this._updateCodeFns,e,n,r||[])},t.prototype.updateInstructionChain=function(t,e,n){var r=n.length?n[0].sourceSpan:null;this.addSelectInstructionIfNecessary(t,r),this._updateCodeFns.push(function(){var t=n.map(function(t){var e=Object(o.g)([t.value()],t.params||[]);return t.name&&e.unshift(_e(t.name)),e});return ao(e,t,r).toStmt()})},t.prototype.addSelectInstructionIfNecessary=function(t,e){this._lastNodeIndexWithFlush0&&this.instructionFn(this._updateCodeFns,e,jn.select,[_e(t)]),this._lastNodeIndexWithFlush=t)},t.prototype.allocatePureFunctionSlots=function(t){var e=this._pureFunctionSlots;return this._pureFunctionSlots+=t,e},t.prototype.allocateBindingSlots=function(t){this._bindingSlots+=t instanceof ua?t.expressions.length:1},t.prototype.getImplicitReceiverExpr=function(){return this._implicitReceiverExpr?this._implicitReceiverExpr:this._implicitReceiverExpr=0===this.level?de(Yi):this._bindingScope.getOrCreateSharedContextVar(0)},t.prototype.convertExpressionBinding=function(t){return Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple).currValExpr},t.prototype.convertPropertyBinding=function(t){var e,n=Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple,function(){return Pe("Unexpected interpolation")}),r=n.currValExpr;return(e=this._tempVariables).push.apply(e,Object(o.g)(n.stmts)),r},t.prototype.getUpdateInstructionArguments=function(t){var e,n=function(t,e,n,r){var i=new Ha(t,e,r,void 0),o=n.visit(i,Ia.Expression);i.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var a=Na(i,r),s=o.args.slice(1);if(n instanceof ua){var l=n.strings;3===s.length&&""===l[0]&&""===l[1]?s=[s[1]]:s.length>=19&&(s=[ge(s)])}return{stmts:a,args:s}}(this,this.getImplicitReceiverExpr(),t,this.bindingContext()),r=n.args,i=n.stmts;return(e=this._tempVariables).push.apply(e,Object(o.g)(i)),r},t.prototype.matchDirectives=function(t,e){var n,r,i,o=this;if(this.directiveMatcher){var a=(n=t,r=oo(e),(i=new w).setElement(n),Object.getOwnPropertyNames(r).forEach(function(t){var e=r[t];i.addAttribute(t,e),"class"===t.toLowerCase()&&e.trim().split(/\s+/).forEach(function(t){return i.addClassName(t)})}),i);this.directiveMatcher.match(a,function(t,e){o.directives.add(e)})}},t.prototype.prepareNonRenderAttrs=function(t,e,n,r,i){void 0===r&&(r=[]),void 0===i&&(i=[]);var a=new Set,s=[];function l(t,e){"string"==typeof t?a.has(t)||(s.push.apply(s,Object(o.g)(Nu(t))),void 0!==e&&s.push(e),a.add(t)):s.push(_e(t))}if(n&&n.populateInitialStylingAttrs(s),t.length||e.length){for(var c=s.length,u=0;u0?this.constantPool.getConstLiteral(ge(t),!0):Gt},t.prototype.prepareRefsParameter=function(t){var e=this;if(!t||0===t.length)return Gt;var n=On(t.map(function(t){var n=e.allocateDataSlot(),r=e._bindingScope.freshReferenceName(),i=e.level,o=de(r);return e._bindingScope.set(i,t.name,o,0,function(t,e){var r=e>0?[Ru(e).toStmt()]:[],i=o.set(he(jn.reference).callFn([_e(n)]));return r.concat(i.toConstDecl())},!0),[t.name,t.value]}));return this.constantPool.getConstLiteral($i(n),!0)},t.prototype.prepareListenerParameter=function(t,e,n){var r=this;return function(){var i=e.name,o=1===e.type?bo(i,e.phase):an(i),a=r.templateName+"_"+t+"_"+o+"_"+n+"_listener",s=r._bindingScope.nestedScope(r._bindingScope.bindingLevel);return ju(e,a,s)}},t}(),Du=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.constantPool=e,o.allocateSlot=n,o.allocatePureFunctionSlots=r,o.definePipe=i,o._pipeBindExprs=[],o}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){var n=this.allocateSlot(),r="PIPE:"+n,i=this.allocatePureFunctionSlots(2+t.args.length),a=new ea(t.span,new $o(t.span),r),s=function(t){var e=Tu[t.length];return{identifier:e||jn.pipeBindV,isVarLength:!e}}(t.args),l=s.identifier,c=s.isVarLength;this.definePipe(t.name,r,n,he(l));var u=Object(o.g)([t.exp],t.args),p=c?this.visitAll([new la(t.span,u)]):this.visitAll(u),d=new ga(t.span,a,Object(o.g)([new sa(t.span,n),new sa(t.span,i)],p));return this._pipeBindExprs.push(d),d},e.prototype.updatePipeSlotOffsets=function(t){this._pipeBindExprs.forEach(function(e){e.args[1].value+=t})},e.prototype.visitLiteralArray=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.expressions),function(t){var e=ge(t);return t.every(function(t){return t.isConstant()})?n.constantPool.getConstLiteral(e,!0):Mu(n.constantPool,e,n.allocatePureFunctionSlots)})},e.prototype.visitLiteralMap=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.values),function(e){var r=ye(e.map(function(e,n){return{key:t.keys[n].key,value:e,quoted:t.keys[n].quoted}}));return e.every(function(t){return t.isConstant()})?n.constantPool.getConstLiteral(r,!0):Mu(n.constantPool,r,n.allocatePureFunctionSlots)})},e}(xa),Tu=[jn.pipeBind1,jn.pipeBind2,jn.pipeBind3,jn.pipeBind4];var Pu=[jn.pureFunction0,jn.pureFunction1,jn.pureFunction2,jn.pureFunction3,jn.pureFunction4,jn.pureFunction5,jn.pureFunction6,jn.pureFunction7,jn.pureFunction8];function Iu(t,e,n){return he(e,null,t).callFn(n,t)}function Ru(t){return he(jn.nextContext).callFn(t>1?[_e(t)]:[])}function Mu(t,e,n){var r=t.getLiteralFactory(e),i=r.literalFactory,a=r.literalFactoryArguments,s=n(1+a.length);a.length>0||Pe("Expected arguments to a literal factory function");var l=function(t){var e=Pu[t.length];return{identifier:e||jn.pureFunctionV,isVarLength:!e}}(a),c=l.identifier,u=l.isVarLength,p=[_e(s),i];return u?p.push(ge(a)):p.push.apply(p,Object(o.g)(a)),he(c).callFn(p)}function Nu(t){var e=Object(o.f)(a(t),2),n=e[0],r=_e(e[1]);return n?[_e(0),_e(n),r]:[r]}var Fu=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=null),this.bindingLevel=t,this.parent=e,this.map=new Map,this.referenceNameIndex=0,this.restoreViewVariable=null}return Object.defineProperty(t,"ROOT_SCOPE",{get:function(){return t._ROOT_SCOPE||(t._ROOT_SCOPE=(new t).set(0,"$event",de("$event"))),t._ROOT_SCOPE},enumerable:!0,configurable:!0}),t.prototype.get=function(t){for(var e=this;e;){var n=e.map.get(t);if(null!=n)return e!==this&&(n={retrievalLevel:n.retrievalLevel,lhs:n.lhs,declareLocalCallback:n.declareLocalCallback,declare:!1,priority:n.priority,localRef:n.localRef},this.map.set(t,n),this.maybeGenerateSharedContextVar(n),this.maybeRestoreView(n.retrievalLevel,n.localRef)),n.declareLocalCallback&&!n.declare&&(n.declare=!0),n.lhs;e=e.parent}return 0===this.bindingLevel?null:this.getComponentProperty(t)},t.prototype.set=function(t,e,n,r,i,o){if(void 0===r&&(r=0),this.map.has(e)){if(o)return this;Pe("The name "+e+" is already defined in scope to be "+this.map.get(e))}return this.map.set(e,{retrievalLevel:t,lhs:n,declare:!1,declareLocalCallback:i,priority:r,localRef:o||!1}),this},t.prototype.getLocal=function(t){return this.get(t)},t.prototype.notifyImplicitReceiverUse=function(){0!==this.bindingLevel&&(this.map.get("$$shared_ctx$$0").declare=!0)},t.prototype.nestedScope=function(e){var n=new t(e,this);return e>0&&n.generateSharedContextVar(0),n},t.prototype.getOrCreateSharedContextVar=function(t){var e="$$shared_ctx$$"+t;return this.map.has(e)||this.generateSharedContextVar(t),this.map.get(e).lhs},t.prototype.getSharedContextName=function(t){var e=this.map.get("$$shared_ctx$$"+t);return e&&e.declare?e.lhs:null},t.prototype.maybeGenerateSharedContextVar=function(t){if(1===t.priority&&t.retrievalLevel0&&r.set("contentQueries",Ju(t.queries,e,t.name)),t.viewQueries.length&&r.set("viewQuery",rp(t.viewQueries,e,t.name)),r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.selector||"",t.name)),r.set("inputs",Ji(t.inputs,!0)),r.set("outputs",Ji(t.outputs)),null!==t.exportAs&&r.set("exportAs",ge(t.exportAs.map(function(t){return _e(t)}))),{definitionMap:r,statements:i.statements}}function Wu(t,e){var n=[],r=e.providers,i=e.viewProviders;if(r||i){var o=[r||new Vt([])];i&&o.push(i),n.push(he(jn.ProvidersFeature).callFn(o))}e.usesInheritance&&n.push(he(jn.InheritDefinitionFeature)),e.lifecycle.usesOnChanges&&n.push(he(jn.NgOnChangesFeature).callFn(Uu)),n.length&&t.set("features",ge(n))}function Yu(t,e,n){var r=qu(t,e,n),i=r.definitionMap,o=r.statements;Wu(i,t);var a=he(jn.defineDirective).callFn([i.toLiteralMap()]);if(!t.selector)throw new Error("Directive "+t.name+" has no selector, please add it!");return{expression:a,type:np(t,jn.DirectiveDefWithMeta),statements:o}}function Ku(t,e,n){var r,i,a=qu(t,e,n),s=a.definitionMap,l=a.statements;Wu(s,t);var c=t.selector&&w.parse(t.selector),u=c&&c[0];if(u){var p=u.getAttrs();p.length&&s.set("attrs",e.getConstLiteral(ge(p.map(function(t){return _e(null!=t?t:void 0)})),!0))}var d=null;if(t.directives.length>0){var h=new x;try{for(var f=Object(o.h)(t.directives),m=f.next();!m.done;m=f.next()){var g=m.value,y=g.selector,_=g.expression;h.addSelectables(w.parse(y),_)}}catch(M){r={error:M}}finally{try{m&&!m.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}d=h}var C=t.name,O=C?C+"_Template":null,E=new Set,S=new Set,k=t.changeDetection,j=t.template,A=new Au(e,Fu.ROOT_SCOPE,0,C,null,null,O,d,E,t.pipes,S,jn.namespaceHTML,t.relativeContextFilePath,t.i18nUseExternalIds),D=A.buildTemplateFunction(j.nodes,[]),T=A.getNgContentSelectors();if(T&&s.set("ngContentSelectors",T),s.set("consts",_e(A.getConstCount())),s.set("vars",_e(A.getVarCount())),s.set("template",D),E.size){var P=ge(Array.from(E));t.wrapDirectivesAndPipesInClosure&&(P=ve([],[new Qt(P)])),s.set("directives",P)}if(S.size){var I=ge(Array.from(S));t.wrapDirectivesAndPipesInClosure&&(I=ve([],[new Qt(I)])),s.set("pipes",I)}if(null===t.encapsulation&&(t.encapsulation=v.Emulated),t.styles&&t.styles.length){var R=(t.encapsulation==v.Emulated?function(t,e,n){var r=new qa;return t.map(function(t){return r.shimCssText(t,e,n)})}(t.styles,bs,vs):t.styles).map(function(t){return _e(t)});s.set("styles",ge(R))}else t.encapsulation===v.Emulated&&(t.encapsulation=v.None);t.encapsulation!==v.Emulated&&s.set("encapsulation",_e(t.encapsulation)),null!==t.animations&&s.set("data",ye([{key:"animation",value:t.animations,quoted:!1}])),null!=k&&k!==b.Default&&s.set("changeDetection",_e(k));(t.selector||"").replace(/\n/g,"");return{expression:he(jn.defineComponent).callFn([s.toLiteralMap()]),type:np(t,jn.ComponentDefWithMeta),statements:l}}function Qu(t,e,n){throw new Error("unsupported")}function Xu(t,e){return t.map(function(t){var n=null;return t.read&&t.read.identifier&&(n=e.importExpr(t.read.identifier.reference)),{propertyName:t.propertyName,first:t.first,predicate:Zu(t.selectors,e),descendants:t.descendants,read:n,static:!!t.static}})}function Zu(t,e){if(t.length>1||1==t.length&&t[0].value){var n=t.map(function(t){return t.value});return n.some(function(t){return!t})&&Pe("Found a type among the string selectors expected"),e.constantPool.getConstLiteral(ge(n.map(function(t){return _e(t)})))}if(1==t.length){var r=t[0];if(r.identifier)return e.importExpr(r.identifier.reference)}return Pe("Unexpected query form"),Ut}function $u(t,e){var n=[eo(t,e),_e(t.descendants)];return t.read&&n.push(t.read),n}function Ju(t,e,n){var r,i,a=[],s=[],l=Qi(s,Wi);try{for(var c=Object(o.h)(t),u=c.next();!u.done;u=c.next()){var p=u.value,d=p.static?jn.staticContentQuery:jn.contentQuery;a.push(he(d).callFn(Object(o.g)([de("dirIndex")],$u(p,e))).toStmt());var h=l(),f=he(jn.loadContentQuery).callFn([]),m=he(jn.queryRefresh).callFn([h.set(f)]),g=de(Yi).prop(p.propertyName).set(p.first?h.prop("first"):h);s.push(m.and(g).toStmt())}}catch(v){r={error:v}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(r)throw r.error}}var y=n?n+"_ContentQueries":null;return ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt("dirIndex",null)],[ku(1,a),ku(2,s)],lt,null,y)}function tp(t){return me(ye(Object.keys(t).map(function(e){return{key:e,value:_e(Array.isArray(t[e])?t[e][0]:t[e]),quoted:!0}})))}function ep(t){return t.length>0?me(ge(t.map(function(t){return _e(t)}))):pt}function np(t,e){var n,r=(t.selector||"").replace(/\n/g,"");return me(he(e,[go(t.type,t.typeArgumentCount),(n=r,me(_e(n))),null!==t.exportAs?ep(t.exportAs):pt,tp(t.inputs),tp(t.outputs),ep(t.queries.map(function(t){return t.propertyName}))]))}function rp(t,e,n){var r=[],i=[],o=Qi(i,Wi);t.forEach(function(t){var n=he(t.static?jn.staticViewQuery:jn.viewQuery).callFn($u(t,e));r.push(n.toStmt());var a=o(),s=he(jn.loadViewQuery).callFn([]),l=he(jn.queryRefresh).callFn([a.set(s)]),c=de(Yi).prop(t.propertyName).set(t.first?a.prop("first"):a);i.push(l.and(c).toStmt())});var a=n?n+"_Query":null;return ve([new Rt(Ki,ut),new Rt(Yi,null)],[ku(1,r),ku(2,i)],lt,null,a)}function ip(t,e,n,r,i,a){var s=Object.keys(t.properties).length,l=de("elIndex"),c=de(Yi),u=new Sc(l,c),p=t.specialAttributes,d=p.styleAttr,h=p.classAttr;void 0!==d&&u.registerStyleAttr(d),void 0!==h&&u.registerClassAttr(h);var f,m=[],g=[],y=s,v=e,b=sp(t),_=function(){if(!f){f=new Du(r,function(){return Pe("Unexpected node")},function(t){var e=y;return y+=t,e},function(){return Pe("Unexpected pipe")})}return f},w=n.createDirectiveHostEventAsts(b,v);if(w&&w.length){var x=function(t,e){return t.map(function(t){var n=t.name&&an(t.name),r=1===t.type?bo(n,t.targetOrPhase):n,i=e&&n?e+"_"+r+"_HostBindingHandler":null,o=ju(Or.fromParsedEvent(t),i);return he(1==t.type?jn.componentHostSyntheticListener:jn.listener).callFn(o).toStmt()})}(w,a);m.push.apply(m,Object(o.g)(x))}var C=n.createBoundHostProperties(b,v),O=[],E=[],S=[];C&&C.forEach(function(t){var e=t.name;if(!u.registerInputBasedOnName(e,t.expression,t.sourceSpan)){var r=t.expression.visit(_()),a=op(c,r),s=function(t){var e,n=t.name,r=n.match(Gu);r?(n=r[1],e=jn.attribute):t.isAnimation?(n=vo(n),e=jn.updateSyntheticHostBinding):e=jn.hostProperty;return{bindingName:n,instruction:e,isAttribute:!!r}}(t),l=s.bindingName,p=s.instruction,d=s.isAttribute,h=n.calcPossibleSecurityContexts(i,l,d).filter(function(t){return t!==I.NONE}),f=null;h.length&&(f=2===h.length&&h.indexOf(I.URL)>-1&&h.indexOf(I.RESOURCE_URL)>-1?he(jn.sanitizeUrlOrResourceUrl):Bu(h[0],d));var m=[_e(l),a.currValExpr];f&&m.push(f),g.push.apply(g,Object(o.g)(a.stmts)),p===jn.hostProperty?O.push(m):p===jn.attribute?E.push(m):p===jn.updateSyntheticHostBinding?S.push(m):g.push(he(p).callFn(m).toStmt())}}),O.length>0&&g.push(ao(jn.hostProperty,O).toStmt()),E.length>0&&g.push(ao(jn.attribute,E).toStmt()),S.length>0&&g.push(ao(jn.updateSyntheticHostBinding,S).toStmt());var k=function(t){var e,n,r=[];try{for(var i=Object(o.h)(Object.getOwnPropertyNames(t)),a=i.next();!a.done;a=i.next()){var s=a.value,l=t[s];r.push(_e(s),l)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r}(t.attributes),j=u.buildHostAttrsInstruction(null,k,r);if(j&&m.push(ap(j,c,op)),u.hasBindings){var A=u.buildStylingInstruction(null,r);A&&m.push(ap(A,c,op)),u.buildUpdateLevelInstructions(_()).forEach(function(t){y+=Math.max(t.allocateBindingSlots-1,0),g.push(ap(t,c,op))})}if(y&&m.unshift(he(jn.allocHostVars).callFn([_e(y)]).toStmt()),m.length>0||g.length>0){var D=a?a+"_HostBindings":null,T=[];return m.length>0&&T.push(ku(1,m)),g.length>0&&T.push(ku(2,g)),ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt(l.name,ut)],T,lt,null,D)}return null}function op(t,e){return Ma(null,t,e,"b",Pa.TrySimple,function(){return Pe("Unexpected interpolation")})}function ap(t,e,n){var r=t.params(function(t){return n(e,t).currValExpr});return he(t.reference,null,t.sourceSpan).callFn(r,t.sourceSpan).toStmt()}function sp(t){return{hostAttributes:{},hostListeners:t.listeners,hostProperties:t.properties}}function lp(t,e){var n=Array.from(t).map(function(t){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r,e.importExpr(i)]});return new Map(n)}var cp=/^(?:\[([^\]]+)\])|(?:\(([^\)]+)\))$/;var up=function(){function t(){}return t.prototype.get=function(t){return""},t}(),pp=function(){function t(t){void 0===t&&(t=new Bo),this.jitEvaluator=t,this.R3ResolvedDependencyType=ro,this.ResourceLoader=up,this.elementSchemaRegistry=new ru}return t.prototype.compilePipe=function(t,e,n){var r=Wo({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,deps:xp(n.deps),pipeName:n.pipeName,pure:n.pure});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileInjectable=function(t,e,n){var r=function(t){var e=null,n={name:t.name,type:t.type,deps:t.ctorDeps,injectFn:Je.inject};if(void 0!==t.useClass){var r=t.useClass.isEquivalent(t.type),i=void 0;void 0!==t.userDeps&&(i=t.userDeps),e=lo(void 0!==i?Object(o.a)({},n,{delegate:t.useClass,delegateDeps:i,delegateType:no.Class}):r?n:Object(o.a)({},n,{delegate:t.useClass,delegateType:no.Factory}))}else e=void 0!==t.useFactory?lo(Object(o.a)({},n,{delegate:t.useFactory,delegateDeps:t.userDeps||[],delegateType:no.Function})):void 0!==t.useValue?lo(Object(o.a)({},n,{expression:t.useValue})):void 0!==t.useExisting?lo(Object(o.a)({},n,{expression:he(Je.inject).callFn([t.useExisting])})):lo(n);var a=t.type,s=t.providedIn;return{expression:he(Je.ɵɵdefineInjectable).callFn([fo({token:a,factory:e.factory,providedIn:s})]),type:new it(he(Je.InjectableDef,[go(t.type,t.typeArgumentCount)])),statements:e.statements}}({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,providedIn:_p(n.providedIn),useClass:bp(n,dp),useFactory:bp(n,hp),useValue:bp(n,fp),useExisting:bp(n,mp),ctorDeps:xp(n.ctorDeps),userDeps:xp(n.userDeps)||void 0}),i=r.expression,a=r.statements;return this.jitExpression(i,t,e,a)},t.prototype.compileInjector=function(t,e,n){var r=function(t){var e=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.inject}),n={factory:e.factory};return null!==t.providers&&(n.providers=t.providers),t.imports.length>0&&(n.imports=ge(t.imports)),{expression:he(jn.defineInjector).callFn([fo(n)]),type:new it(he(jn.InjectorDef,[new it(t.type)])),statements:e.statements}}({name:n.name,type:new bt(n.type),deps:xp(n.deps),providers:new bt(n.providers),imports:n.imports.map(function(t){return new bt(t)})});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileNgModule=function(t,e,n){var r=Uo({type:new bt(n.type),bootstrap:n.bootstrap.map(gp),declarations:n.declarations.map(gp),imports:n.imports.map(gp),exports:n.exports.map(gp),emitInline:!0,containsForwardDecls:!1,schemas:n.schemas?n.schemas.map(gp):null,id:n.id?new bt(n.id):null});return this.jitExpression(r.expression,t,e,[])},t.prototype.compileDirective=function(t,e,n){var r=new Ke,i=Vu(),a=Yu(vp(n),r,i),s=Object(o.g)(r.statements,a.statements);return this.jitExpression(a.expression,t,e,s)},t.prototype.compileComponent=function(t,e,n){var r=new Ke,i=n.interpolation?Co.fromArray(n.interpolation):Oo,a=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig,i=n.preserveWhitespaces,a=Vu(r),s=(new Js).parse(t,e,Object(o.a)({leadingTriviaChars:Su},n,{tokenizeExpansionForms:!0}));if(s.errors&&s.errors.length>0)return{errors:s.errors,nodes:[],styleUrls:[],styles:[]};var l=s.rootNodes;l=Ds(new Cu(r,!i),l),i||(l=Ds(new al,l),l=Ds(new Cu(r,!1),l));var c=ou(l,a),u=c.nodes,p=c.errors,d=c.styleUrls,h=c.styles;return p&&p.length>0?{errors:p,nodes:[],styleUrls:[],styles:[]}:{nodes:u,styleUrls:d,styles:h}}(n.template,e,{preserveWhitespaces:n.preserveWhitespaces,interpolationConfig:i});if(void 0!==a.errors){var s=a.errors.map(function(t){return t.toString()}).join(", ");throw new Error("Errors during JIT compilation of template for "+n.name+": "+s)}var l=Ku(Object(o.a)({},n,vp(n),{selector:n.selector||this.elementSchemaRegistry.getDefaultComponentElementName(),template:a,wrapDirectivesAndPipesInClosure:!1,styles:n.styles||[],encapsulation:n.encapsulation,interpolation:i,changeDetection:n.changeDetection,animations:null!=n.animations?new bt(n.animations):null,viewProviders:null!=n.viewProviders?new bt(n.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),r,Vu(i)),c=Object(o.g)(r.statements,l.statements);return this.jitExpression(l.expression,t,"ng:///"+n.name+".js",c)},t.prototype.compileBase=function(t,e,n){var r=new Ke,i=this.createParseSourceSpan("Base",n.name,"ng:///"+n.name+".js"),a=function(t,e,n){var r=new io;if(t.inputs){var i=t.inputs,o=Object.keys(i).map(function(t){var e=i[t];return{key:t,value:Array.isArray(e)?ge(e.map(function(t){return _e(t)})):_e(e),quoted:!1}});r.set("inputs",ye(o))}if(t.outputs){var a=t.outputs,s=Object.keys(a).map(function(t){return{key:t,value:_e(a[t]),quoted:!1}});r.set("outputs",ye(s))}return t.viewQueries&&t.viewQueries.length>0&&r.set("viewQuery",rp(t.viewQueries,e)),t.queries&&t.queries.length>0&&r.set("contentQueries",Ju(t.queries,e)),t.host&&r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.name)),{expression:he(jn.defineBase).callFn([r.toLiteralMap()]),type:new it(he(jn.BaseDef),null,[me(t.type)])}}(Object(o.a)({},n,{typeSourceSpan:i,viewQueries:n.viewQueries?n.viewQueries.map(yp):n.viewQueries,queries:n.queries?n.queries.map(yp):n.queries,host:Cp(n.propMetadata,i)}),r,Vu());return this.jitExpression(a.expression,t,e,r.statements)},t.prototype.createParseSourceSpan=function(t,e,n){return function(t,e,n){var r=new gr("","in "+t+" "+e+" in "+n);return new yr(new mr(r,-1,-1,-1),new mr(r,-1,-1,-1))}(t,e,n)},t.prototype.jitExpression=function(t,e,n,r){var i=Object(o.g)(r,[new Wt("$def",t,void 0,[Ct.Exported])]);return this.jitEvaluator.evaluateStatements(n,i,new Ho(e),!0).$def},t}(),dp=Object.keys({useClass:null})[0],hp=Object.keys({useFactory:null})[0],fp=Object.keys({useValue:null})[0],mp=Object.keys({useExisting:null})[0],gp=function(t){var e=new bt(t);return{value:e,type:e}};function yp(t){return Object(o.a)({},t,{predicate:Array.isArray(t.predicate)?t.predicate:new bt(t.predicate),read:t.read?new bt(t.read):null,static:t.static})}function vp(t){var e=Op(t.inputs||[]),n=Op(t.outputs||[]),r=t.propMetadata,i={},a={},s=function(t){r.hasOwnProperty(t)&&r[t].forEach(function(e){"Input"===e.ngMetadataName?i[t]=e.bindingPropertyName?[e.bindingPropertyName,t]:t:function(t){return"Output"===t.ngMetadataName}(e)&&(a[t]=e.bindingPropertyName||t)})};for(var l in r)s(l);return Object(o.a)({},t,{typeSourceSpan:t.typeSourceSpan,type:new bt(t.type),deps:xp(t.deps),host:Cp(t.propMetadata,t.typeSourceSpan,t.host),inputs:Object(o.a)({},e,i),outputs:Object(o.a)({},n,a),queries:t.queries.map(yp),providers:null!=t.providers?new bt(t.providers):null,viewQueries:t.viewQueries.map(yp)})}function bp(t,e){return t.hasOwnProperty(e)?new bt(t[e]):void 0}function _p(t){return null==t||"string"==typeof t?new kt(t):new bt(t)}function wp(t){return{token:null===t.token?new kt(null):t.resolved===ro.Attribute?new kt(t.token):new bt(t.token),resolved:t.resolved,host:t.host,optional:t.optional,self:t.self,skipSelf:t.skipSelf}}function xp(t){return null==t?null:t.map(wp)}function Cp(t,e,n){var r=function(t){var e,n,r={},i={},a={},s={};try{for(var l=Object(o.h)(Object.keys(t)),c=l.next();!c.done;c=l.next()){var u=c.value,p=t[u],d=u.match(cp);if(null===d)switch(u){case"class":if("string"!=typeof p)throw new Error("Class binding must be string");s.classAttr=p;break;case"style":if("string"!=typeof p)throw new Error("Style binding must be string");s.styleAttr=p;break;default:r[u]="string"==typeof p?_e(p):p}else if(null!=d[1]){if("string"!=typeof p)throw new Error("Property binding must be string");a[d[1]]=p}else if(null!=d[2]){if("string"!=typeof p)throw new Error("Event binding must be string");i[d[2]]=p}}}catch(h){e={error:h}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}return{attributes:r,listeners:i,properties:a,specialAttributes:s}}(n||{}),i=function(t,e){var n=sp(t),r=Vu();return r.createDirectiveHostEventAsts(n,e),r.createBoundHostProperties(n,e),r.errors}(r,e);if(i.length)throw new Error(i.map(function(t){return t.msg}).join("\n"));var a=function(e){t.hasOwnProperty(e)&&t[e].forEach(function(t){"HostBinding"===t.ngMetadataName?r.properties[t.hostPropertyName||e]=e:function(t){return"HostListener"===t.ngMetadataName}(t)&&(r.listeners[t.eventName||e]=e+"("+(t.args||[]).join(",")+")")})};for(var s in t)a(s);return r}function Op(t){return t.reduce(function(t,e){var n=Object(o.f)(e.split(",").map(function(t){return t.trim()}),2),r=n[0],i=n[1];return t[r]=i||r,t},{})}new He("8.2.6");var Ep=function(t){var e=void 0===t?{}:t,n=e.defaultEncapsulation,r=void 0===n?v.Emulated:n,i=e.useJit,o=void 0===i||i,a=e.jitDevMode,s=void 0!==a&&a,l=e.missingTranslation,c=void 0===l?null:l,u=e.preserveWhitespaces,p=e.strictInjectionParameters;this.defaultEncapsulation=r,this.useJit=!!o,this.jitDevMode=!!s,this.missingTranslation=c,this.preserveWhitespaces=Sp(ke(u)),this.strictInjectionParameters=!0===p};function Sp(t,e){return void 0===e&&(e=!1),null===t?e:t}var kp=function(){function t(t,e,n,r){this._resourceLoader=t,this._urlResolver=e,this._htmlParser=n,this._config=r,this._resourceLoaderCache=new Map}return t.prototype.clearCache=function(){this._resourceLoaderCache.clear()},t.prototype.clearCacheFor=function(t){var e=this;if(t.isComponent){var n=t.template;this._resourceLoaderCache.delete(n.templateUrl),n.externalStylesheets.forEach(function(t){e._resourceLoaderCache.delete(t.moduleUrl)})}},t.prototype._fetch=function(t){var e=this._resourceLoaderCache.get(t);return e||(e=this._resourceLoader.get(t),this._resourceLoaderCache.set(t,e)),e},t.prototype.normalizeTemplate=function(t){var e=this;if(Se(t.template)){if(Se(t.templateUrl))throw Ie("'"+Ve(t.componentType)+"' component cannot define both template and templateUrl");if("string"!=typeof t.template)throw Ie("The template specified for component "+Ve(t.componentType)+" is not a string")}else{if(!Se(t.templateUrl))throw Ie("No template specified for component "+Ve(t.componentType));if("string"!=typeof t.templateUrl)throw Ie("The templateUrl specified for component "+Ve(t.componentType)+" is not a string")}if(Se(t.preserveWhitespaces)&&"boolean"!=typeof t.preserveWhitespaces)throw Ie("The preserveWhitespaces option for component "+Ve(t.componentType)+" must be a boolean");return De(this._preParseTemplate(t),function(n){return e._normalizeTemplateMetadata(t,n)})},t.prototype._preParseTemplate=function(t){var e,n,r=this;return null!=t.template?(e=t.template,n=t.moduleUrl):(n=this._urlResolver.resolve(t.moduleUrl,t.templateUrl),e=this._fetch(n)),De(e,function(e){return r._preparseLoadedTemplate(t,e,n)})},t.prototype._preparseLoadedTemplate=function(t,e,n){var r=!!t.template,i=Co.fromArray(t.interpolation),o=Sn({reference:t.ngModuleType},{type:{reference:t.componentType}},{isInline:r,templateUrl:n}),a=this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:i});if(a.errors.length>0)throw Ie("Template parse errors:\n"+a.errors.join("\n"));var s=this._normalizeStylesheet(new gn({styles:t.styles,moduleUrl:t.moduleUrl})),l=new jp;Ds(l,a.rootNodes);var c=this._normalizeStylesheet(new gn({styles:l.styles,styleUrls:l.styleUrls,moduleUrl:n}));return{template:e,templateUrl:n,isInline:r,htmlAst:a,styles:s.styles.concat(c.styles),inlineStyleUrls:s.styleUrls.concat(c.styleUrls),styleUrls:this._normalizeStylesheet(new gn({styleUrls:t.styleUrls,moduleUrl:t.moduleUrl})).styleUrls,ngContentSelectors:l.ngContentSelectors}},t.prototype._normalizeTemplateMetadata=function(t,e){var n=this;return De(this._loadMissingExternalStylesheets(e.styleUrls.concat(e.inlineStyleUrls)),function(r){return n._normalizeLoadedTemplateMetadata(t,e,r)})},t.prototype._normalizeLoadedTemplateMetadata=function(t,e,n){var r=this,i=Object(o.g)(e.styles);this._inlineStyles(e.inlineStyleUrls,n,i);var a=e.styleUrls,s=a.map(function(t){var e=n.get(t),i=Object(o.g)(e.styles);return r._inlineStyles(e.styleUrls,n,i),new gn({moduleUrl:t,styles:i})}),l=t.encapsulation;return null==l&&(l=this._config.defaultEncapsulation),l===v.Emulated&&0===i.length&&0===a.length&&(l=v.None),new yn({encapsulation:l,template:e.template,templateUrl:e.templateUrl,htmlAst:e.htmlAst,styles:i,styleUrls:a,ngContentSelectors:e.ngContentSelectors,animations:t.animations,interpolation:t.interpolation,isInline:e.isInline,externalStylesheets:s,preserveWhitespaces:Sp(t.preserveWhitespaces,this._config.preserveWhitespaces)})},t.prototype._inlineStyles=function(t,e,n){var r=this;t.forEach(function(t){var i=e.get(t);i.styles.forEach(function(t){return n.push(t)}),r._inlineStyles(i.styleUrls,e,n)})},t.prototype._loadMissingExternalStylesheets=function(t,e){var n=this;return void 0===e&&(e=new Map),De(Te(t.filter(function(t){return!e.has(t)}).map(function(t){return De(n._fetch(t),function(r){var i=n._normalizeStylesheet(new gn({styles:[r],moduleUrl:t}));return e.set(t,i),n._loadMissingExternalStylesheets(i.styleUrls,e)})})),function(t){return e})},t.prototype._normalizeStylesheet=function(t){var e=this,n=t.moduleUrl,r=t.styleUrls.filter(Vl).map(function(t){return e._urlResolver.resolve(n,t)}),i=t.styles.map(function(t){var i,a,s,l,c=(i=e._urlResolver,a=n,s=[],l=t.replace(zl,"").replace(Bl,function(){for(var t=[],e=0;e', or 'attr.'.");a["["+e.hostPropertyName+"]"]=t}else a["["+t+"]"]=t}),e[t].filter(function(t){return B.isTypeOf(t)}).forEach(function(e){var n=e.args||[];a["("+e.eventName+")"]=t+"("+n.join(",")+")"});var l=Pp(e[t],function(t){return Ap.some(function(e){return e.isTypeOf(t)})});l&&(s[t]=l)}),this._merge(t,i,o,a,s,n,r)},t.prototype._extractPublicName=function(t){return Ce(t,[null,t])[1].trim()},t.prototype._dedupeBindings=function(t){for(var e=new Set,n=new Set,r=[],i=t.length-1;i>=0;i--){var o=t[i],a=this._extractPublicName(o);n.add(a),e.has(a)||(e.add(a),r.push(o))}return r.reverse()},t.prototype._merge=function(t,e,n,r,i,a,s){var l=this._dedupeBindings(t.inputs?t.inputs.concat(e):e),c=this._dedupeBindings(t.outputs?t.outputs.concat(n):n),u=t.host?Object(o.a)({},t.host,r):r,p=t.queries?Object(o.a)({},t.queries,i):i;if(M.isTypeOf(t)){var d=t;return M({selector:d.selector,inputs:l,outputs:c,host:u,exportAs:d.exportAs,moduleId:d.moduleId,queries:p,changeDetection:d.changeDetection,providers:d.providers,viewProviders:d.viewProviders,entryComponents:d.entryComponents,template:d.template,templateUrl:d.templateUrl,styles:d.styles,styleUrls:d.styleUrls,encapsulation:d.encapsulation,animations:d.animations,interpolation:d.interpolation,preserveWhitespaces:t.preserveWhitespaces})}return P({selector:t.selector,inputs:l,outputs:c,host:u,exportAs:t.exportAs,queries:p,providers:t.providers,guards:a})},t}();function Tp(t){return P.isTypeOf(t)||M.isTypeOf(t)}function Pp(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null}var Ip=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),Rp="i18n",Mp=/^i18n:?/,Np="|",Fp="@@",Lp=!1;var Vp,Bp=function(t,e){this.messages=t,this.errors=e};!function(t){t[t.Extract=0]="Extract",t[t.Merge=1]="Merge"}(Vp||(Vp={}));var zp=function(){function t(t,e){this._implicitTags=t,this._implicitAttrs=e}return t.prototype.extract=function(t,e){var n=this;return this._init(Vp.Extract,e),t.forEach(function(t){return t.visit(n,null)}),this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Bp(this._messages,this._errors)},t.prototype.merge=function(t,e,n){this._init(Vp.Merge,n),this._translations=e;var r=new js("wrapper",[],t,void 0,void 0,void 0).visit(this,null);return this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Qs(r.children,this._errors)},t.prototype.visitExpansionCase=function(t,e){var n=Ds(this,t.expression,e);if(this._mode===Vp.Merge)return new Ss(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan)},t.prototype.visitExpansion=function(t,e){this._mayBeAddBlockChildren(t);var n=this._inIcu;this._inIcu||(this._isInTranslatableSection&&this._addMessage([t]),this._inIcu=!0);var r=Ds(this,t.cases,e);return this._mode===Vp.Merge&&(t=new Es(t.switchValue,t.type,r,t.sourceSpan,t.switchValueSourceSpan)),this._inIcu=n,t},t.prototype.visitComment=function(t,e){var n,r=!!((n=t)instanceof As&&n.value&&n.value.startsWith("i18n"));if(r&&this._isInTranslatableSection)this._reportError(t,"Could not start a block inside a translatable section");else{var i=function(t){return!!(t instanceof As&&t.value&&"/i18n"===t.value)}(t);if(!i||this._inI18nBlock){if(!this._inI18nNode&&!this._inIcu)if(this._inI18nBlock){if(i){if(this._depth==this._blockStartDepth){this._closeTranslatableSection(t,this._blockChildren),this._inI18nBlock=!1;var o=this._addMessage(this._blockChildren,this._blockMeaningAndDesc);return Ds(this,this._translateMessage(t,o))}return void this._reportError(t,"I18N blocks should not cross element boundaries")}}else if(r){if(!Lp&&console&&console.warn){Lp=!0;var a=t.sourceSpan.details?", "+t.sourceSpan.details:"";console.warn("I18n comments are deprecated, use an element instead ("+t.sourceSpan.start+a+")")}this._inI18nBlock=!0,this._blockStartDepth=this._depth,this._blockChildren=[],this._blockMeaningAndDesc=t.value.replace(Mp,"").trim(),this._openTranslatableSection(t)}}else this._reportError(t,"Trying to close an unopened block")}},t.prototype.visitText=function(t,e){return this._isInTranslatableSection&&this._mayBeAddBlockChildren(t),t},t.prototype.visitElement=function(t,e){var n=this;this._mayBeAddBlockChildren(t),this._depth++;var r=this._inI18nNode,i=this._inImplicitNode,o=[],a=void 0,s=t.attrs.find(function(t){return t.name===Rp})||null,l=s?s.value:"",c=this._implicitTags.some(function(e){return t.name===e})&&!this._inIcu&&!this._isInTranslatableSection,u=!i&&c;if(this._inImplicitNode=i||c,this._isInTranslatableSection||this._inIcu)(s||u)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this._mode==Vp.Extract&&Ds(this,t.children);else{if(s||u){this._inI18nNode=!0;var p=this._addMessage(t.children,l);a=this._translateMessage(t,p)}if(this._mode==Vp.Extract){var d=s||u;d&&this._openTranslatableSection(t),Ds(this,t.children),d&&this._closeTranslatableSection(t,t.children)}}this._mode===Vp.Merge&&(a||t.children).forEach(function(t){var r=t.visit(n,e);r&&!n._isInTranslatableSection&&(o=o.concat(r))});if(this._visitAttributesOf(t),this._depth--,this._inI18nNode=r,this._inImplicitNode=i,this._mode===Vp.Merge){var h=this._translateAttributes(t);return new js(t.name,h,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan)}return null},t.prototype.visitAttribute=function(t,e){throw new Error("unreachable code")},t.prototype._init=function(t,e){this._mode=t,this._inI18nBlock=!1,this._inI18nNode=!1,this._depth=0,this._inIcu=!1,this._msgCountAtSectionStart=void 0,this._errors=[],this._messages=[],this._inImplicitNode=!1,this._createI18nMessage=bu(e)},t.prototype._visitAttributesOf=function(t){var e=this,n={},r=this._implicitAttrs[t.name]||[];t.attrs.filter(function(t){return t.name.startsWith("i18n-")}).forEach(function(t){return n[t.name.slice("i18n-".length)]=t.value}),t.attrs.forEach(function(t){t.name in n?e._addMessage([t],n[t.name]):r.some(function(e){return t.name===e})&&e._addMessage([t])})},t.prototype._addMessage=function(t,e){if(0==t.length||1==t.length&&t[0]instanceof ks&&!t[0].value)return null;var n=Hp(e),r=n.meaning,i=n.description,o=n.id,a=this._createI18nMessage(t,r,i,o);return this._messages.push(a),a},t.prototype._translateMessage=function(t,e){if(e&&this._mode===Vp.Merge){var n=this._translations.get(e);if(n)return n;this._reportError(t,'Translation unavailable for message id="'+this._translations.digest(e)+'"')}return[]},t.prototype._translateAttributes=function(t){var e=this,n=t.attrs,r={};n.forEach(function(t){t.name.startsWith("i18n-")&&(r[t.name.slice("i18n-".length)]=Hp(t.value))});var i=[];return n.forEach(function(n){if(n.name!==Rp&&!n.name.startsWith("i18n-"))if(n.value&&""!=n.value&&r.hasOwnProperty(n.name)){var o=r[n.name],a=o.meaning,s=o.description,l=o.id,c=e._createI18nMessage([n],a,s,l),u=e._translations.get(c);if(u)if(0==u.length)i.push(new ks(n.name,"",n.sourceSpan));else if(u[0]instanceof Os){var p=u[0].value;i.push(new ks(n.name,p,n.sourceSpan))}else e._reportError(t,'Unexpected translation for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")');else e._reportError(t,'Translation unavailable for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")')}else i.push(n)}),i},t.prototype._mayBeAddBlockChildren=function(t){this._inI18nBlock&&!this._inIcu&&this._depth==this._blockStartDepth&&this._blockChildren.push(t)},t.prototype._openTranslatableSection=function(t){this._isInTranslatableSection?this._reportError(t,"Unexpected section start"):this._msgCountAtSectionStart=this._messages.length},Object.defineProperty(t.prototype,"_isInTranslatableSection",{get:function(){return void 0!==this._msgCountAtSectionStart},enumerable:!0,configurable:!0}),t.prototype._closeTranslatableSection=function(t,e){if(this._isInTranslatableSection){var n=this._msgCountAtSectionStart;if(1==e.reduce(function(t,e){return t+(e instanceof As?0:1)},0))for(var r=this._messages.length-1;r>=n;r--){var i=this._messages[r].nodes;if(!(1==i.length&&i[0]instanceof Rr)){this._messages.splice(r,1);break}}this._msgCountAtSectionStart=void 0}else this._reportError(t,"Unexpected section end")},t.prototype._reportError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();function Hp(t){if(!t)return{meaning:"",description:"",id:""};var e=t.indexOf(Fp),n=t.indexOf(Np),r=Object(o.f)(e>-1?[t.slice(0,e),t.slice(e+2)]:[t,""],2),i=r[0],a=r[1],s=Object(o.f)(n>-1?[i.slice(0,n),i.slice(n+1)]:["",i],2);return{meaning:s[0],description:s[1],id:a}}var Up=new(function(){function t(){this.closedByParent=!1,this.contentType=r.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}return t.prototype.requireExtraParent=function(t){return!1},t.prototype.isClosedByChild=function(t){return!1},t}());function Gp(t){return Up}var qp=function(t){function e(){return t.call(this,Gp)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),Wp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Yp,r=[];t.forEach(function(t){var e,i=[];t.sources.forEach(function(t){var e=new hi("context-group",{purpose:"location"});e.children.push(new mi(10),new hi("context",{"context-type":"sourcefile"},[new fi(t.filePath)]),new mi(10),new hi("context",{"context-type":"linenumber"},[new fi(""+t.startLine)]),new mi(8)),i.push(new mi(8),e)});var a=new hi("trans-unit",{id:t.id,datatype:"html"});(e=a.children).push.apply(e,Object(o.g)([new mi(8),new hi("source",{},n.serialize(t.nodes))],i)),t.description&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"description"},[new fi(t.description)])),t.meaning&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"meaning"},[new fi(t.meaning)])),a.children.push(new mi(6)),r.push(new mi(6),a)});var i=new hi("body",{},Object(o.g)(r,[new mi(4)])),a=new hi("file",{"source-language":e||"en",datatype:"plaintext",original:"ng2.template"},[new mi(4),i,new mi(2)]),s=new hi("xliff",{version:"1.2",xmlns:"urn:oasis:names:tc:xliff:document:1.2"},[new mi(2),a,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,s,new mi])},e.prototype.load=function(t,e){var n=(new Kp).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Qp;if(Object.keys(i).forEach(function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r}),a.length)throw new Error("xliff parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Hr(t)},e}(si),Yp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=function(t){switch(t.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+t}}(t.tag);if(t.isVoid)return[new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+"/>"})];var r=new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+">"}),i=new hi("x",{id:t.closeName,ctype:n,"equiv-text":""});return Object(o.g)([r],this.serialize(t.children),[i])},t.prototype.visitPlaceholder=function(t,e){return[new hi("x",{id:t.name,"equiv-text":"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n="{"+t.value.expression+", "+t.value.type+", "+Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" ")+"}";return[new hi("x",{id:t.name,"equiv-text":n})]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}(),Kp=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"trans-unit":this._unitMlString=null;var n=t.attrs.find(function(t){return"id"===t.name});if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":case"seg-source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"file":var s=t.attrs.find(function(t){return"target-language"===t.name});s&&(this._locale=s.value),Ds(this,t.children,null);break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Qp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){if("x"===t.name){var n=t.attrs.find(function(t){return"id"===t.name});return n?new Lr("",n.value,t.sourceSpan):(this._addError(t,' misses the "id" attribute'),null)}return"mrk"===t.name?[].concat.apply([],Object(o.g)(Ds(this,t.children))):(this._addError(t,"Unexpected tag"),null)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var Xp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Zp,r=[];t.forEach(function(t){var e=new hi("unit",{id:t.id}),i=new hi("notes");(t.description||t.meaning)&&(t.description&&i.children.push(new mi(8),new hi("note",{category:"description"},[new fi(t.description)])),t.meaning&&i.children.push(new mi(8),new hi("note",{category:"meaning"},[new fi(t.meaning)]))),t.sources.forEach(function(t){i.children.push(new mi(8),new hi("note",{category:"location"},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))}),i.children.push(new mi(6)),e.children.push(new mi(6),i);var o=new hi("segment");o.children.push(new mi(8),new hi("source",{},n.serialize(t.nodes)),new mi(6)),e.children.push(new mi(6),o,new mi(4)),r.push(new mi(4),e)});var i=new hi("file",{original:"ng.template",id:"ngi18n"},Object(o.g)(r,[new mi(2)])),a=new hi("xliff",{version:"2.0",xmlns:"urn:oasis:names:tc:xliff:document:2.0",srcLang:e||"en"},[new mi(2),i,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,a,new mi])},e.prototype.load=function(t,e){var n=(new $p).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Jp;if(Object.keys(i).forEach(function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r}),a.length)throw new Error("xliff2 parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Ur(t)},e}(si),Zp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=function(t){switch(t.toLowerCase()){case"br":case"b":case"i":case"u":return"fmt";case"img":return"image";case"a":return"link";default:return"other"}}(t.tag);if(t.isVoid)return[new hi("ph",{id:(this._nextPlaceholderId++).toString(),equiv:t.startName,type:r,disp:"<"+t.tag+"/>"})];var i=new hi("pc",{id:(this._nextPlaceholderId++).toString(),equivStart:t.startName,equivEnd:t.closeName,type:r,dispStart:"<"+t.tag+">",dispEnd:""}),a=[].concat.apply([],Object(o.g)(t.children.map(function(t){return t.visit(n)})));return a.length?a.forEach(function(t){return i.children.push(t)}):i.children.push(new fi("")),[i]},t.prototype.visitPlaceholder=function(t,e){var n=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:n,equiv:t.name,disp:"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n=Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" "),r=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:r,equiv:t.name,disp:"{"+t.value.expression+", "+t.value.type+", "+n+"}"})]},t.prototype.serialize=function(t){var e=this;return this._nextPlaceholderId=0,[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}(),$p=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"unit":this._unitMlString=null;var n=t.attrs.find(function(t){return"id"===t.name});if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"xliff":var s=t.attrs.find(function(t){return"trgLang"===t.name});s&&(this._locale=s.value);var l=t.attrs.find(function(t){return"version"===t.name});if(l){var c=l.value;"2.0"!==c?this._addError(t,"The XLIFF file version "+c+" is not compatible with XLIFF 2.0 serializer"):Ds(this,t.children,null)}break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Jp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){var n=this;switch(t.name){case"ph":var r=t.attrs.find(function(t){return"equiv"===t.name});if(r)return[new Lr("",r.value,t.sourceSpan)];this._addError(t,' misses the "equiv" attribute');break;case"pc":var i=t.attrs.find(function(t){return"equivStart"===t.name}),a=t.attrs.find(function(t){return"equivEnd"===t.name});if(i){if(a){var s=i.value,l=a.value,c=[];return c.concat.apply(c,Object(o.g)([new Lr("",s,t.sourceSpan)],t.children.map(function(t){return t.visit(n,null)}),[new Lr("",l,t.sourceSpan)]))}this._addError(t,' misses the "equivEnd" attribute')}else this._addError(t,' misses the "equivStart" attribute');break;case"mrk":return[].concat.apply([],Object(o.g)(Ds(this,t.children)));default:this._addError(t,"Unexpected tag")}return null},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:[].concat.apply([],Object(o.g)(Ds(this,t.expression)))}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var td=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){throw new Error("Unsupported")},e.prototype.load=function(t,e){var n=(new ed).parse(t,e),r=n.locale,i=n.msgIdToHtml,o=n.errors,a={},s=new nd;if(Object.keys(i).forEach(function(t){!function(t,e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=n();return Object.defineProperty(t,e,{enumerable:!0,value:r}),r},set:function(t){throw new Error("Could not overwrite an XTB translation")}})}(a,t,function(){var n=s.convert(i[t],e),r=n.i18nNodes,o=n.errors;if(o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return r})}),o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return{locale:r,i18nNodesByMsgId:a}},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si);var ed=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._bundleDepth=0,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"translationbundle":this._bundleDepth++,this._bundleDepth>1&&this._addError(t," elements can not be nested");var n=t.attrs.find(function(t){return"lang"===t.name});n&&(this._locale=n.value),Ds(this,t.children,null),this._bundleDepth--;break;case"translation":var r=t.attrs.find(function(t){return"id"===t.name});if(r){var i=r.value;if(this._msgIdToHtml.hasOwnProperty(i))this._addError(t,"Duplicated translations for msg "+i);else{var o=t.startSourceSpan.end.offset,a=t.endSourceSpan.start.offset,s=t.startSourceSpan.start.file.content.slice(o,a);this._msgIdToHtml[i]=s}}else this._addError(t,' misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),nd=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:Ds(this,n.rootNodes),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitElement=function(t,e){if("ph"===t.name){var n=t.attrs.find(function(t){return"name"===t.name});if(n)return new Lr("",n.value,t.sourceSpan);this._addError(t,' misses the "name" attribute')}else this._addError(t,"Unexpected tag");return null},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),rd=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),void 0===i&&(i=R.Warning),this._i18nNodesByMsgId=t,this.digest=n,this.mapperFactory=r,this._i18nToHtml=new id(t,e,n,r,i,o)}return t.load=function(e,n,r,i,o){var a=r.load(e,n),s=a.locale;return new t(a.i18nNodesByMsgId,s,function(t){return r.digest(t)},function(t){return r.createNameMapper(t)},i,o)},t.prototype.get=function(t){var e=this._i18nToHtml.convert(t);if(e.errors.length)throw new Error(e.errors.join("\n"));return e.nodes},t.prototype.has=function(t){return this.digest(t)in this._i18nNodesByMsgId},t}(),id=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this._locale=e,this._digest=n,this._mapperFactory=r,this._missingTranslationStrategy=i,this._console=o,this._contextStack=[],this._errors=[]}return t.prototype.convert=function(t){this._contextStack.length=0,this._errors.length=0;var e=this._convertToText(t),n=t.nodes[0].sourceSpan.start.file.url,r=(new Js).parse(e,n,{tokenizeExpansionForms:!0});return{nodes:r.rootNodes,errors:Object(o.g)(this._errors,r.errors)}},t.prototype.visitText=function(t,e){return yi(t.value)},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map(function(t){return t.visit(n)}).join("")},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+(this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression)+", "+t.type+", "+r.join(" ")+"}"},t.prototype.visitPlaceholder=function(t,e){var n=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(n)?this._srcMsg.placeholders[n]:this._srcMsg.placeholderToMessage.hasOwnProperty(n)?this._convertToText(this._srcMsg.placeholderToMessage[n]):(this._addError(t,'Unknown placeholder "'+t.name+'"'),"")},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=""+t.tag,i=Object.keys(t.attrs).map(function(e){return e+'="'+t.attrs[e]+'"'}).join(" ");return t.isVoid?"<"+r+" "+i+"/>":"<"+r+" "+i+">"+t.children.map(function(t){return t.visit(n)}).join("")+""},t.prototype.visitIcuPlaceholder=function(t,e){return this._convertToText(this._srcMsg.placeholderToMessage[t.name])},t.prototype._convertToText=function(t){var e,n=this,r=this._digest(t),i=this._mapperFactory?this._mapperFactory(t):null;if(this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._i18nNodesByMsgId.hasOwnProperty(r))e=this._i18nNodesByMsgId[r],this._mapper=function(t){return i?i.toInternalName(t):t};else{if(this._missingTranslationStrategy===R.Error){var o=this._locale?' for locale "'+this._locale+'"':"";this._addError(t.nodes[0],'Missing translation for message "'+r+'"'+o)}else if(this._console&&this._missingTranslationStrategy===R.Warning){o=this._locale?' for locale "'+this._locale+'"':"";this._console.warn('Missing translation for message "'+r+'"'+o)}e=t.nodes,this._mapper=function(t){return t}}var a=e.map(function(t){return t.visit(n)}).join(""),s=this._contextStack.pop();return this._srcMsg=s.msg,this._mapper=s.mapper,a},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),od=function(){function t(t,e,n,r,i){if(void 0===r&&(r=R.Warning),this._htmlParser=t,e){var o=function(t){switch(t=(t||"xlf").toLowerCase()){case"xmb":return new vi;case"xtb":return new td;case"xliff2":case"xlf2":return new Xp;case"xliff":case"xlf":default:return new Wp}}(n);this._translationBundle=rd.load(e,"i18n",o,r,i)}else this._translationBundle=new rd({},null,Hr,void 0,r,i)}return t.prototype.parse=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig||Oo,i=this._htmlParser.parse(t,e,Object(o.a)({interpolationConfig:r},n));return i.errors.length?new Qs(i.rootNodes,i.errors):function(t,e,n,r,i){return new zp(r,i).merge(t,e,n)}(i.rootNodes,this._translationBundle,r,[],{})},t}();function ad(t,e,n){return void 0===n&&(n=null),Ee(e,new sd(t),n)}var sd=function(){function t(t){this.ctx=t}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map(function(t){return Ee(t,n,null)}),e)},t.prototype.visitStringMap=function(t,e){var n=this,r=[],i=new Set(t&&t.$quoted$);return Object.keys(t).forEach(function(e){r.push(new Bt(e,Ee(t[e],n,null),i.has(e)))}),new zt(r,e)},t.prototype.visitPrimitive=function(t,e){return _e(t,e)},t.prototype.visitOther=function(t,e){return t instanceof mt?t:this.ctx.importExpr(t)},t}();function ld(t,e){return{key:t,value:e,quoted:!1}}!function(){function t(t,e){this.reflector=t,this.alwaysGenerateDef=e,this.tokenInjector=t.resolveExternalReference(Je.Injector)}t.prototype.depsArray=function(t,e){var n=this;return t.map(function(t){var r,i=t,o=[i],a=0;if(Array.isArray(t))for(var s=0;s0))return e.importExpr(t.useFactory);n=e.importExpr(t.useFactory).callFn(this.depsArray(r,e))}else if(t.useValue)n=ad(e,t.useValue);else{var i=t.useClass||t.symbol,o=this.depsArray(this.reflector.parameters(i),e);n=new St(e.importExpr(i),o)}return ve([],[new Qt(n)],void 0,void 0,t.symbol.name+"_Factory")},t.prototype.injectableDef=function(t,e){var n=Ut;void 0!==t.providedIn&&(n=null===t.providedIn?Ut:"string"==typeof t.providedIn?_e(t.providedIn):e.importExpr(t.providedIn));var r=[ld("factory",this.factoryFor(t,e)),ld("token",e.importExpr(t.type.reference)),ld("providedIn",n)];return he(Je.ɵɵdefineInjectable).callFn([ye(r)])},t.prototype.compile=function(t,e){if(this.alwaysGenerateDef||void 0!==t.providedIn){var n=cn(t.type),r=new te(n,null,[new Zt("ngInjectableDef",lt,[Ct.Static],this.injectableDef(t,e))],[],new $t(null,[],[]),[]);e.statements.push(r)}}}();var cd=/(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/,ud=/\.ngfactory\.|\.ngsummary\./,pd=/\.ngsummary\./,dd=/NgSummary$/;function hd(t,e){void 0===e&&(e=!1);var n=md(t,e);return n[0]+".ngfactory"+gd(n[1])}function fd(t){return t.replace(ud,".")}function md(t,e){if(void 0===e&&(e=!1),t.endsWith(".d.ts"))return[t.slice(0,-5),e?".ts":".d.ts"];var n=t.lastIndexOf(".");return-1!==n?[t.substring(0,n),t.substring(n)]:[t,""]}function gd(t){return".tsx"===t?".ts":t}function yd(t){return t.replace(cd,"")+".ngsummary.json"}function vd(t,e){void 0===e&&(e=!1);var n=md(fd(t),e);return n[0]+".ngsummary"+n[1]}function bd(t){return t+"NgSummary"}var _d,wd=/\u0275\d+/;!function(t){t[t.OnInit=0]="OnInit",t[t.OnDestroy=1]="OnDestroy",t[t.DoCheck=2]="DoCheck",t[t.OnChanges=3]="OnChanges",t[t.AfterContentInit=4]="AfterContentInit",t[t.AfterContentChecked=5]="AfterContentChecked",t[t.AfterViewInit=6]="AfterViewInit",t[t.AfterViewChecked=7]="AfterViewChecked"}(_d||(_d={}));var xd=[_d.OnInit,_d.OnDestroy,_d.DoCheck,_d.OnChanges,_d.AfterContentInit,_d.AfterContentChecked,_d.AfterViewInit,_d.AfterViewChecked];function Cd(t,e,n){return t.hasLifecycleHook(n,function(t){switch(t){case _d.OnInit:return"ngOnInit";case _d.OnDestroy:return"ngOnDestroy";case _d.DoCheck:return"ngDoCheck";case _d.OnChanges:return"ngOnChanges";case _d.AfterContentInit:return"ngAfterContentInit";case _d.AfterContentChecked:return"ngAfterContentChecked";case _d.AfterViewInit:return"ngAfterViewInit";case _d.AfterViewChecked:return"ngAfterViewChecked";default:throw new Error("unexpected "+t)}}(e))}var Od="ngComponentType",Ed=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this._config=t,this._htmlParser=e,this._ngModuleResolver=n,this._directiveResolver=r,this._pipeResolver=i,this._summaryResolver=o,this._schemaRegistry=a,this._directiveNormalizer=s,this._console=l,this._staticSymbolCache=c,this._reflector=u,this._errorCollector=p,this._nonNormalizedDirectiveCache=new Map,this._directiveCache=new Map,this._summaryCache=new Map,this._pipeCache=new Map,this._ngModuleCache=new Map,this._ngModuleOfTypes=new Map,this._shallowModuleCache=new Map}return t.prototype.getReflector=function(){return this._reflector},t.prototype.clearCacheFor=function(t){var e=this._directiveCache.get(t);this._directiveCache.delete(t),this._nonNormalizedDirectiveCache.delete(t),this._summaryCache.delete(t),this._pipeCache.delete(t),this._ngModuleOfTypes.delete(t),this._ngModuleCache.clear(),e&&this._directiveNormalizer.clearCacheFor(e)},t.prototype.clearCache=function(){this._directiveCache.clear(),this._nonNormalizedDirectiveCache.clear(),this._summaryCache.clear(),this._pipeCache.clear(),this._ngModuleCache.clear(),this._ngModuleOfTypes.clear(),this._directiveNormalizer.clearCache()},t.prototype._createProxyClass=function(t,e){var n=null,r=function(){if(!n)throw new Error("Illegal state: Class "+e+" for type "+Ve(t)+" is not compiled yet!");return n.apply(this,arguments)};return r.setDelegate=function(t){n=t,r.prototype=t.prototype},r.overriddenName=e,r},t.prototype.getGeneratedClass=function(t,e){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),e):this._createProxyClass(t,e)},t.prototype.getComponentViewClass=function(t){return this.getGeneratedClass(t,pn(t,0))},t.prototype.getHostComponentViewClass=function(t){return this.getGeneratedClass(t,"HostView_"+cn({reference:t}))},t.prototype.getHostComponentType=function(t){var e=cn({reference:t})+"_Host";return t instanceof nn?this._staticSymbolCache.get(t.filePath,e):this._createProxyClass(t,e)},t.prototype.getRendererType=function(t){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),dn(t)):{}},t.prototype.getComponentFactory=function(t,e,n,r){if(e instanceof nn)return this._staticSymbolCache.get(hd(e.filePath),hn(e));var i=this.getHostComponentViewClass(e);return this._reflector.resolveExternalReference(Je.createComponentFactory)(t,e,i,n,r,[])},t.prototype.initComponentFactory=function(t,e){var n;t instanceof nn||(n=t.ngContentSelectors).push.apply(n,Object(o.g)(e))},t.prototype._loadSummary=function(t,e){var n=this._summaryCache.get(t);if(!n){var r=this._summaryResolver.resolveSummary(t);n=r?r.type:null,this._summaryCache.set(t,n||null)}return n&&n.summaryKind===e?n:null},t.prototype.getHostComponentMetadata=function(t,e){var n=this.getHostComponentType(t.type.reference);e||(e=this.getHostComponentViewClass(n));var r=w.parse(t.selector)[0].getMatchingElementTemplate(),i=this._htmlParser.parse(r,"");return vn.create({isHost:!0,type:{reference:n,diDeps:[],lifecycleHooks:[]},template:new yn({encapsulation:v.None,template:r,templateUrl:"",htmlAst:i,styles:[],styleUrls:[],ngContentSelectors:[],animations:[],isInline:!0,externalStylesheets:[],interpolation:null,preserveWhitespaces:!1}),exportAs:null,changeDetection:b.Default,inputs:[],outputs:[],host:{},isComponent:!0,selector:"*",providers:[],viewProviders:[],queries:[],guards:{},viewQueries:[],componentViewType:e,rendererType:{id:"__Host__",encapsulation:v.None,styles:[],data:{}},entryComponents:[],componentFactory:null})},t.prototype.loadDirectiveMetadata=function(t,e,n){var r=this;if(this._directiveCache.has(e))return null;e=Be(e);var i,o,a=this.getNonNormalizedDirectiveMetadata(e),s=a.annotation,l=a.metadata,c=function(t){var n=new vn({isHost:!1,type:l.type,isComponent:l.isComponent,selector:l.selector,exportAs:l.exportAs,changeDetection:l.changeDetection,inputs:l.inputs,outputs:l.outputs,hostListeners:l.hostListeners,hostProperties:l.hostProperties,hostAttributes:l.hostAttributes,providers:l.providers,viewProviders:l.viewProviders,queries:l.queries,guards:l.guards,viewQueries:l.viewQueries,entryComponents:l.entryComponents,componentViewType:l.componentViewType,rendererType:l.rendererType,componentFactory:l.componentFactory,template:t});return t&&r.initComponentFactory(l.componentFactory,t.ngContentSelectors),r._directiveCache.set(e,n),r._summaryCache.set(e,n.toSummary()),null};if(l.isComponent){var u=l.template,p=this._directiveNormalizer.normalizeTemplate({ngModuleType:t,componentType:e,moduleUrl:this._reflector.componentModuleUrl(e,s),encapsulation:u.encapsulation,template:u.template,templateUrl:u.templateUrl,styles:u.styles,styleUrls:u.styleUrls,animations:u.animations,interpolation:u.interpolation,preserveWhitespaces:u.preserveWhitespaces});return ze(p)&&n?(this._reportError((i=e,(o=Error("Can't compile synchronously as "+Ve(i)+" is still being loaded!"))[Od]=i,o),e),null):De(p,c)}return c(null),null},t.prototype.getNonNormalizedDirectiveMetadata=function(t){var e=this;if(!(t=Be(t)))return null;var n=this._nonNormalizedDirectiveCache.get(t);if(n)return n;var r=this._directiveResolver.resolve(t,!1);if(!r)return null;var i=void 0;if(M.isTypeOf(r)){_o("styles",(a=r).styles),_o("styleUrls",a.styleUrls),xo("interpolation",a.interpolation);var o=a.animations;i=new yn({encapsulation:ke(a.encapsulation),template:ke(a.template),templateUrl:ke(a.templateUrl),htmlAst:null,styles:a.styles||[],styleUrls:a.styleUrls||[],animations:o||[],interpolation:ke(a.interpolation),isInline:!!a.template,externalStylesheets:[],ngContentSelectors:[],preserveWhitespaces:ke(r.preserveWhitespaces)})}var a,s=null,l=[],c=[],u=r.selector;M.isTypeOf(r)?(s=(a=r).changeDetection,a.viewProviders&&(l=this._getProvidersMetadata(a.viewProviders,c,'viewProviders for "'+Ad(t)+'"',[],t)),a.entryComponents&&(c=Sd(a.entryComponents).map(function(t){return e._getEntryComponentMetadata(t)}).concat(c)),u||(u=this._schemaRegistry.getDefaultComponentElementName())):u||(this._reportError(Ie("Directive "+Ad(t)+" has no selector, please add it!"),t),u="error");var p=[];null!=r.providers&&(p=this._getProvidersMetadata(r.providers,c,'providers for "'+Ad(t)+'"',[],t));var d=[],h=[];null!=r.queries&&(d=this._getQueriesMetadata(r.queries,!1,t),h=this._getQueriesMetadata(r.queries,!0,t));var f=vn.create({isHost:!1,selector:u,exportAs:ke(r.exportAs),isComponent:!!i,type:this._getTypeMetadata(t),template:i,changeDetection:s,inputs:r.inputs||[],outputs:r.outputs||[],host:r.host||{},providers:p||[],viewProviders:l||[],queries:d||[],guards:r.guards||{},viewQueries:h||[],entryComponents:c,componentViewType:i?this.getComponentViewClass(t):null,rendererType:i?this.getRendererType(t):null,componentFactory:null});return i&&(f.componentFactory=this.getComponentFactory(u,t,f.inputs,f.outputs)),n={metadata:f,annotation:r},this._nonNormalizedDirectiveCache.set(t,n),n},t.prototype.getDirectiveMetadata=function(t){var e=this._directiveCache.get(t);return e||this._reportError(Ie("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive "+Ad(t)+"."),t),e},t.prototype.getDirectiveSummary=function(t){var e=this._loadSummary(t,sn.Directive);return e||this._reportError(Ie("Illegal state: Could not load the summary for directive "+Ad(t)+"."),t),e},t.prototype.isDirective=function(t){return!!this._loadSummary(t,sn.Directive)||this._directiveResolver.isDirective(t)},t.prototype.isPipe=function(t){return!!this._loadSummary(t,sn.Pipe)||this._pipeResolver.isPipe(t)},t.prototype.isNgModule=function(t){return!!this._loadSummary(t,sn.NgModule)||this._ngModuleResolver.isNgModule(t)},t.prototype.getNgModuleSummary=function(t,e){void 0===e&&(e=null);var n=this._loadSummary(t,sn.NgModule);if(!n){var r=this.getNgModuleMetadata(t,!1,e);(n=r?r.toSummary():null)&&this._summaryCache.set(t,n)}return n},t.prototype.loadNgModuleDirectiveAndPipeMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.getNgModuleMetadata(t,n),o=[];return i&&(i.declaredDirectives.forEach(function(n){var i=r.loadDirectiveMetadata(t,n.reference,e);i&&o.push(i)}),i.declaredPipes.forEach(function(t){return r._loadPipeMetadata(t.reference)})),Promise.all(o)},t.prototype.getShallowModuleMetadata=function(t){var e=this._shallowModuleCache.get(t);if(e)return e;var n=Pp(this._reflector.shallowAnnotations(t),z.isTypeOf);return e={type:this._getTypeMetadata(t),rawExports:n.exports,rawImports:n.imports,rawProviders:n.providers},this._shallowModuleCache.set(t,e),e},t.prototype.getNgModuleMetadata=function(t,e,n){var r=this;void 0===e&&(e=!0),void 0===n&&(n=null),t=Be(t);var i=this._ngModuleCache.get(t);if(i)return i;var a=this._ngModuleResolver.resolve(t,e);if(!a)return null;var s=[],l=[],c=[],u=[],p=[],d=[],h=[],f=[],m=[];a.imports&&Sd(a.imports).forEach(function(e){var i=void 0;if(kd(e))i=e;else if(e&&e.ngModule){var a=e;i=a.ngModule,a.providers&&d.push.apply(d,Object(o.g)(r._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(i)+"'",[],e)))}if(i){if(!r._checkSelfImport(t,i))if(n||(n=new Set),n.has(i))r._reportError(Ie(r._getTypeDescriptor(i)+" '"+Ad(e)+"' is imported recursively by the module '"+Ad(t)+"'."),t);else{n.add(i);var s=r.getNgModuleSummary(i,n);n.delete(i),s?u.push(s):r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' imported by the module '"+Ad(t)+"'. Please add a @NgModule annotation."),t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' imported by the module '"+Ad(t)+"'"),t)}),a.exports&&Sd(a.exports).forEach(function(e){if(kd(e))if(n||(n=new Set),n.has(e))r._reportError(Ie(r._getTypeDescriptor(e)+" '"+Ve(e)+"' is exported recursively by the module '"+Ad(t)+"'"),t);else{n.add(e);var i=r.getNgModuleSummary(e,n);n.delete(e),i?p.push(i):l.push(r._getIdentifierMetadata(e))}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' exported by the module '"+Ad(t)+"'"),t)});var g=this._getTransitiveNgModuleMetadata(u,p);a.declarations&&Sd(a.declarations).forEach(function(e){if(kd(e)){var n=r._getIdentifierMetadata(e);if(r.isDirective(e))g.addDirective(n),s.push(n),r._addTypeToModule(e,t);else{if(!r.isPipe(e))return void r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' declared by the module '"+Ad(t)+"'. Please add a @Pipe/@Directive/@Component annotation."),t);g.addPipe(n),g.pipes.push(n),c.push(n),r._addTypeToModule(e,t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' declared by the module '"+Ad(t)+"'"),t)});var y=[],v=[];return l.forEach(function(e){if(g.directivesSet.has(e.reference))y.push(e),g.addExportedDirective(e);else{if(!g.pipesSet.has(e.reference))return void r._reportError(Ie("Can't export "+r._getTypeDescriptor(e.reference)+" "+Ad(e.reference)+" from "+Ad(t)+" as it was neither declared nor imported!"),t);v.push(e),g.addExportedPipe(e)}}),a.providers&&d.push.apply(d,Object(o.g)(this._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(t)+"'",[],t))),a.entryComponents&&h.push.apply(h,Object(o.g)(Sd(a.entryComponents).map(function(t){return r._getEntryComponentMetadata(t)}))),a.bootstrap&&Sd(a.bootstrap).forEach(function(e){kd(e)?f.push(r._getIdentifierMetadata(e)):r._reportError(Ie("Unexpected value '"+Ad(e)+"' used in the bootstrap property of module '"+Ad(t)+"'"),t)}),h.push.apply(h,Object(o.g)(f.map(function(t){return r._getEntryComponentMetadata(t.reference)}))),a.schemas&&m.push.apply(m,Object(o.g)(Sd(a.schemas))),i=new _n({type:this._getTypeMetadata(t),providers:d,entryComponents:h,bootstrapComponents:f,schemas:m,declaredDirectives:s,exportedDirectives:y,declaredPipes:c,exportedPipes:v,importedModules:u,exportedModules:p,transitiveModule:g,id:a.id||null}),h.forEach(function(t){return g.addEntryComponent(t)}),d.forEach(function(t){return g.addProvider(t,i.type)}),g.addModule(i.type),this._ngModuleCache.set(t,i),i},t.prototype._checkSelfImport=function(t,e){return t===e&&(this._reportError(Ie("'"+Ad(t)+"' module can't import itself"),t),!0)},t.prototype._getTypeDescriptor=function(t){if(kd(t)){if(this.isDirective(t))return"directive";if(this.isPipe(t))return"pipe";if(this.isNgModule(t))return"module"}return t.provide?"provider":"value"},t.prototype._addTypeToModule=function(t,e){var n=this._ngModuleOfTypes.get(t);n&&n!==e?this._reportError(Ie("Type "+Ad(t)+" is part of the declarations of 2 modules: "+Ad(n)+" and "+Ad(e)+"! Please consider moving "+Ad(t)+" to a higher module that imports "+Ad(n)+" and "+Ad(e)+". You can also create a new NgModule that exports and includes "+Ad(t)+" then import that NgModule in "+Ad(n)+" and "+Ad(e)+"."),e):this._ngModuleOfTypes.set(t,e)},t.prototype._getTransitiveNgModuleMetadata=function(t,e){var n=new wn,r=new Map;return t.concat(e).forEach(function(t){t.modules.forEach(function(t){return n.addModule(t)}),t.entryComponents.forEach(function(t){return n.addEntryComponent(t)});var e=new Set;t.providers.forEach(function(t){var i=mn(t.provider.token),o=r.get(i);o||(o=new Set,r.set(i,o));var a=t.module.reference;!e.has(i)&&o.has(a)||(o.add(a),e.add(i),n.addProvider(t.provider,t.module))})}),e.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addExportedDirective(t)}),t.exportedPipes.forEach(function(t){return n.addExportedPipe(t)})}),t.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addDirective(t)}),t.exportedPipes.forEach(function(t){return n.addPipe(t)})}),n},t.prototype._getIdentifierMetadata=function(t){return{reference:t=Be(t)}},t.prototype.isInjectable=function(t){return this._reflector.tryAnnotations(t).some(function(t){return H.isTypeOf(t)})},t.prototype.getInjectableSummary=function(t){return{summaryKind:sn.Injectable,type:this._getTypeMetadata(t,null,!1)}},t.prototype.getInjectableMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r=this._loadSummary(t,sn.Injectable),i=r?r.type:this._getTypeMetadata(t,e,n),o=this._reflector.annotations(t).filter(function(t){return H.isTypeOf(t)});if(0===o.length)return null;var a=o[o.length-1];return{symbol:t,type:i,providedIn:a.providedIn,useValue:a.useValue,useClass:a.useClass,useExisting:a.useExisting,useFactory:a.useFactory,deps:a.deps}},t.prototype._getTypeMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r,i,o=this._getIdentifierMetadata(t);return{reference:o.reference,diDeps:this._getDependenciesMetadata(o.reference,e,n),lifecycleHooks:(r=this._reflector,i=o.reference,xd.filter(function(t){return Cd(r,t,i)}))}},t.prototype._getFactoryMetadata=function(t,e){return void 0===e&&(e=null),{reference:t=Be(t),diDeps:this._getDependenciesMetadata(t,e)}},t.prototype.getPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||this._reportError(Ie("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe "+Ad(t)+"."),t),e||null},t.prototype.getPipeSummary=function(t){var e=this._loadSummary(t,sn.Pipe);return e||this._reportError(Ie("Illegal state: Could not load the summary for pipe "+Ad(t)+"."),t),e},t.prototype.getOrLoadPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||(e=this._loadPipeMetadata(t)),e},t.prototype._loadPipeMetadata=function(t){t=Be(t);var e=this._pipeResolver.resolve(t),n=new bn({type:this._getTypeMetadata(t),name:e.name,pure:!!e.pure});return this._pipeCache.set(t,n),this._summaryCache.set(t,n.toSummary()),n},t.prototype._getDependenciesMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=!1,o=(e||this._reflector.parameters(t)||[]).map(function(t){var e=!1,n=!1,o=!1,a=!1,s=!1,l=null;return Array.isArray(t)?t.forEach(function(t){K.isTypeOf(t)?n=!0:W.isTypeOf(t)?o=!0:Y.isTypeOf(t)?a=!0:q.isTypeOf(t)?s=!0:k.isTypeOf(t)?(e=!0,l=t.attributeName):E.isTypeOf(t)?l=t.token:S.isTypeOf(t)||t instanceof nn?l=t:kd(t)&&null==l&&(l=t)}):l=t,null==l?(i=!0,{}):{isAttribute:e,isHost:n,isSelf:o,isSkipSelf:a,isOptional:s,token:r._getTokenMetadata(l)}});if(i){var a=o.map(function(t){return t.token?Ad(t.token):"?"}).join(", "),s="Can't resolve all parameters for "+Ad(t)+": ("+a+").";n||this._config.strictInjectionParameters?this._reportError(Ie(s),t):this._console.warn("Warning: "+s+" This will become an error in Angular v6.x")}return o},t.prototype._getTokenMetadata=function(t){return"string"==typeof(t=Be(t))?{value:t}:{identifier:{reference:t}}},t.prototype._getProvidersMetadata=function(t,e,n,r,i){var a=this;return void 0===r&&(r=[]),t.forEach(function(s,l){if(Array.isArray(s))a._getProvidersMetadata(s,e,n,r);else{var c=void 0;if((s=Be(s))&&"object"==typeof s&&s.hasOwnProperty("provide"))a._validateProvider(s),c=new Cn(s.provide,s);else{if(!kd(s)){if(void 0===s)return void a._reportError(Ie("Encountered undefined provider! Usually this means you have a circular dependencies. This might be caused by using 'barrel' index.ts files."));var u=t.reduce(function(t,e,n){return n"),t.value.visitExpression(this,e),e.print(t,")"),null},e.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),this.typeExpression++,t.classExpr.visitExpression(this,e),this.typeExpression--,e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"class "+t.name),null!=t.parent&&(e.print(t," extends "),this.typeExpression++,t.parent.visitExpression(this,e),this.typeExpression--),e.println(t," {"),e.incIndent(),t.fields.forEach(function(t){return n._visitClassField(t,e)}),null!=t.constructorMethod&&this._visitClassConstructor(t,e),t.getters.forEach(function(t){return n._visitClassGetter(t,e)}),t.methods.forEach(function(t){return n._visitClassMethod(t,e)}),e.decIndent(),e.println(t,"}"),e.popClass(),null},e.prototype._visitClassField=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"/*private*/ "),t.hasModifier(Ct.Static)&&e.print(null,"static "),e.print(null,t.name),this._printColonType(t.type,e),t.initializer&&(e.print(null," = "),t.initializer.visitExpression(this,e)),e.println(null,";")},e.prototype._visitClassGetter=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,"get "+t.name+"()"),this._printColonType(t.type,e),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype._visitClassConstructor=function(t,e){e.print(t,"constructor("),this._visitParams(t.constructorMethod.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.constructorMethod.body,e),e.decIndent(),e.println(t,"}")},e.prototype._visitClassMethod=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,t.name+"("),this._visitParams(t.params,e),e.print(null,")"),this._printColonType(t.type,e,"void"),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype.visitFunctionExpr=function(t,e){return t.name&&(e.print(t,"function "),e.print(t,t.name)),e.print(t,"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),t.name||e.print(t," => "),e.println(t,"{"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),e.println(t," {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack",null)).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitBuiltinType=function(t,e){var n;switch(t.name){case tt.Bool:n="boolean";break;case tt.Dynamic:n="any";break;case tt.Function:n="Function";break;case tt.Number:case tt.Int:n="number";break;case tt.String:n="string";break;case tt.None:n="never";break;default:throw new Error("Unsupported builtin type "+t.name)}return e.print(null,n),null},e.prototype.visitExpressionType=function(t,e){var n=this;return t.value.visitExpression(this,e),null!==t.typeParams&&(e.print(null,"<"),this.visitAllObjects(function(t){return n.visitType(t,e)},t.typeParams,e,","),e.print(null,">")),null},e.prototype.visitArrayType=function(t,e){return this.visitType(t.of,e),e.print(null,"[]"),null},e.prototype.visitMapType=function(t,e){return e.print(null,"{[key: string]:"),this.visitType(t.valueType,e),e.print(null,"}"),null},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e.prototype._visitParams=function(t,e){var n=this;this.visitAllObjects(function(t){e.print(null,t.name),n._printColonType(t.type,e)},t,e,",")},e.prototype._visitIdentifier=function(t,e,n){var r=this,i=t.name,o=t.moduleName;if(this.referenceFilter&&this.referenceFilter(t))n.print(null,"(null as any)");else{if(o&&(!this.importFilter||!this.importFilter(t))){var a=this.importsWithPrefixes.get(o);null==a&&(a="i"+this.importsWithPrefixes.size,this.importsWithPrefixes.set(o,a)),n.print(null,a+".")}if(n.print(null,i),this.typeExpression>0)(e||[]).length>0&&(n.print(null,"<"),this.visitAllObjects(function(t){return t.visitType(r,n)},e,n,","),n.print(null,">"))}},e.prototype._printColonType=function(t,e,n){t!==lt&&(e.print(null,":"),this.visitType(t,e,n))},e}(No),zd=function(){function t(t){this._reflector=t}return t.prototype.isPipe=function(t){var e=this._reflector.annotations(Be(t));return e&&e.some(N.isTypeOf)},t.prototype.resolve=function(t,e){void 0===e&&(e=!0);var n=this._reflector.annotations(Be(t));if(n){var r=Pp(n,N.isTypeOf);if(r)return r}if(e)throw new Error("No Pipe decorator found on "+Ve(t));return null},t}(),Hd=(function(){function t(t,e){this.options=t,this.reflector=e}t.prototype.compileComponent=function(t,e,n,r,i,o){var a=this,s=new Map;r.forEach(function(t){return s.set(t.name,t.type.reference)});var l=0,c=function(t,n){var r=l++;return new Ud(a.options,a.reflector,i,t,e.type.reference,e.isHost,r,s,n,o,c)},u=c(null,[]);return u.visitAll([],n),u.build(t)}}(),new(function(){function t(){}return t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){return t===ja.event.name?de("_any"):null},t}())),Ud=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.options=t,this.reflector=e,this.externalReferenceVars=n,this.parent=r,this.component=i,this.isHostComponent=o,this.embeddedViewIndex=a,this.pipes=s,this.guards=l,this.ctx=c,this.viewBuilderFactory=u,this.refOutputVars=new Map,this.variables=[],this.children=[],this.updates=[],this.actions=[]}return t.prototype.getOutputVar=function(t){var e;if(!(e=t===this.component&&this.isHostComponent?"_any":t instanceof nn?this.externalReferenceVars.get(t):"_any"))throw new Error("Illegal State: referring to a type without a variable "+JSON.stringify(t));return e},t.prototype.getTypeGuardExpressions=function(t){var e,n,r,i,a=Object(o.g)(this.guards);try{for(var s=Object(o.h)(t.directives),l=s.next();!l.done;l=s.next()){var c=l.value;try{for(var u=(r=void 0,Object(o.h)(c.inputs)),p=u.next();!p.done;p=u.next()){var d=p.value,h=c.directive.guards[d.directiveName];if(h){var f="UseIf"===h;a.push({guard:h,useIf:f,expression:{context:this.component,value:d.value}})}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return a},t.prototype.visitAll=function(t,e){this.variables=t,Al(this,e)},t.prototype.build=function(t,e){var n,r,i=this;void 0===e&&(e=[]),this.children.forEach(function(n){return n.build(t,e)});var a=[de("_any").set(Ut).toDeclStmt(st)],s=0;if(this.updates.forEach(function(t){var e=i.preprocessUpdateExpression(t),n=e.sourceSpan,r=e.context,l=e.value,c=""+s++,u=Ma(r===i.component?i:Hd,de(i.getOutputVar(r)),l,c,Pa.General),p=u.stmts,d=u.currValExpr;p.push(new Kt(d)),a.push.apply(a,Object(o.g)(p.map(function(t){return ce(t,n)})))}),this.actions.forEach(function(t){var e=t.sourceSpan,n=t.context,r=t.value,l=""+s++,c=Da(n===i.component?i:Hd,de(i.getOutputVar(n)),r,l).stmts;a.push.apply(a,Object(o.g)(c.map(function(t){return ce(t,e)})))}),this.guards.length){var l=void 0;try{for(var c=Object(o.h)(this.guards),u=c.next();!u.done;u=c.next()){var p=u.value,d=this.preprocessUpdateExpression(p.expression),h=d.context,f=d.value,m=""+s++,g=Ma(h===this.component?this:Hd,de(this.getOutputVar(h)),f,m,Pa.TrySimple),y=g.stmts,v=g.currValExpr;if(0==y.length){var b=p.useIf?v:this.ctx.importExpr(p.guard).callFn([v]);l=l?l.and(b):b}}}catch(x){n={error:x}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}l&&(a=[new ee(l,a)])}var _="_View_"+t+"_"+this.embeddedViewIndex,w=new Yt(_,[],a);return e.push(w),e},t.prototype.visitBoundText=function(t,e){var n=this;t.value.ast.expressions.forEach(function(e){return n.updates.push({context:n.component,value:e,sourceSpan:t.sourceSpan})})},t.prototype.visitEmbeddedTemplate=function(t,e){if(this.visitElementOrTemplate(t),this.options.fullTemplateTypeCheck){var n=this.getTypeGuardExpressions(t),r=this.viewBuilderFactory(this,n);this.children.push(r),r.visitAll(t.variables,t.children)}},t.prototype.visitElement=function(t,e){var n=this;this.visitElementOrTemplate(t);t.inputs.forEach(function(t){n.updates.push({context:n.component,value:t.value,sourceSpan:t.sourceSpan})}),Al(this,t.children)},t.prototype.visitElementOrTemplate=function(t){var e=this;t.directives.forEach(function(t){e.visitDirective(t)}),t.references.forEach(function(t){var n=null;n=t.value&&t.value.identifier&&e.options.fullTemplateTypeCheck?t.value.identifier.reference:tt.Dynamic,e.refOutputVars.set(t.name,n)}),t.outputs.forEach(function(t){e.actions.push({context:e.component,value:t.handler,sourceSpan:t.sourceSpan})})},t.prototype.visitDirective=function(t){var e=this,n=t.directive.type.reference;t.inputs.forEach(function(t){return e.updates.push({context:e.component,value:t.value,sourceSpan:t.sourceSpan})}),this.options.fullTemplateTypeCheck&&(t.hostProperties.forEach(function(t){return e.updates.push({context:n,value:t.value,sourceSpan:t.sourceSpan})}),t.hostEvents.forEach(function(t){return e.actions.push({context:n,value:t.handler,sourceSpan:t.sourceSpan})}))},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){if(t==ja.event.name)return de(this.getOutputVar(tt.Dynamic));for(var e=this;e;e=e.parent){var n=void 0;if(null==(n=e.refOutputVars.get(t)))e.variables.find(function(e){return e.name===t})&&(n=tt.Dynamic);if(null!=n)return de(this.getOutputVar(n))}return null},t.prototype.pipeOutputVar=function(t){var e=this.pipes.get(t);if(!e)throw new Error("Illegal State: Could not find pipe "+t+" in template of "+this.component);return this.getOutputVar(e)},t.prototype.preprocessUpdateExpression=function(t){var e=this;return{sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(t){return function(t){var n=ge(t);return e.options.fullTemplateTypeCheck?n:n.cast(st)}},createLiteralMapConverter:function(t){return function(n){var r=ye(t.map(function(t,e){return{key:t.key,value:n[e],quoted:t.quoted}}));return e.options.fullTemplateTypeCheck?r:r.cast(st)}},createPipeConverter:function(t,n){return function(n){return(e.options.fullTemplateTypeCheck?de(e.pipeOutputVar(t)):de(e.getOutputVar(tt.Dynamic))).callMethod("transform",n)}}},t.value)}},t.prototype.visitNgContent=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}(),Gd="class",qd="style",Wd=function(t,e){this.viewClassVar=t,this.rendererTypeVar=e},Yd=function(){function t(t){this._reflector=t}return t.prototype.compileComponent=function(t,e,n,r,i){var a,s=this,l=0,c=function t(e,n){void 0===n&&(n=new Map);e.forEach(function(e){var r=new Set,i=new Set,o=void 0;e instanceof Cl?(t(e.children,n),e.children.forEach(function(t){var e=n.get(t);e.staticQueryIds.forEach(function(t){return r.add(t)}),e.dynamicQueryIds.forEach(function(t){return i.add(t)})}),o=e.queryMatches):e instanceof Ol&&(t(e.children,n),e.children.forEach(function(t){var e=n.get(t);e.staticQueryIds.forEach(function(t){return i.add(t)}),e.dynamicQueryIds.forEach(function(t){return i.add(t)})}),o=e.queryMatches),o&&o.forEach(function(t){return r.add(t.queryId)}),i.forEach(function(t){return r.delete(t)}),n.set(e,{staticQueryIds:r,dynamicQueryIds:i})});return n}(n),u=void 0;if(!e.isHost){var p=e.template,d=[];p.animations&&p.animations.length&&d.push(new Bt("animation",ad(t,p.animations),!0));var h=de(dn(e.type.reference));u=h.name,t.statements.push(h.set(he(Je.createRendererType2).callFn([new zt([new Bt("encapsulation",_e(p.encapsulation),!1),new Bt("styles",r,!1),new Bt("data",new zt(d),!1)])])).toDeclStmt(fe(Je.RendererType2),[Ct.Final,Ct.Exported]))}var f=function(n){var r=l++;return new th(s._reflector,t,n,e,r,i,c,f)},m=f(null);return m.visitAll([],n),(a=t.statements).push.apply(a,Object(o.g)(m.build())),new Wd(m.viewName,u)},t}(),Kd=de("_l"),Qd=de("_v"),Xd=de("_ck"),Zd=de("_co"),$d=de("en"),Jd=de("ad"),th=function(){function t(t,e,n,r,i,o,a,s){this.reflector=t,this.outputCtx=e,this.parent=n,this.component=r,this.embeddedViewIndex=i,this.usedPipes=o,this.staticQueryIds=a,this.viewBuilderFactory=s,this.nodes=[],this.purePipeNodeIndices=Object.create(null),this.refNodeIndices=Object.create(null),this.variables=[],this.children=[],this.compType=this.embeddedViewIndex>0?st:me(e.importExpr(this.component.type.reference)),this.viewName=pn(this.component.type.reference,this.embeddedViewIndex)}return t.prototype.visitAll=function(t,e){var n,r,i,o=this;if(this.variables=t,this.parent||this.usedPipes.forEach(function(t){t.pure&&(o.purePipeNodeIndices[t.name]=o._createPipe(null,t))}),!this.parent){var a=(n=this.staticQueryIds,r=new Set,i=new Set,Array.from(n.values()).forEach(function(t){t.staticQueryIds.forEach(function(t){return r.add(t)}),t.dynamicQueryIds.forEach(function(t){return i.add(t)})}),i.forEach(function(t){return r.delete(t)}),{staticQueryIds:r,dynamicQueryIds:i});this.component.viewQueries.forEach(function(t,e){var n=e+1,r=t.first?0:1,i=134217728|oh(a,n,t);o.nodes.push(function(){return{sourceSpan:null,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(n),new zt([new Bt(t.propertyName,_e(r),!1)])])}})})}Al(this,e),this.parent&&(0===e.length||function t(e){var n=e[e.length-1];if(n instanceof Ol)return n.hasViewContainer;if(n instanceof Cl)return s(n.name)&&n.children.length?t(n.children):n.hasViewContainer;return n instanceof jl}(e))&&this.nodes.push(function(){return{sourceSpan:null,nodeFlags:1,nodeDef:he(Je.anchorDef).callFn([_e(0),Ut,Ut,_e(0)])}})},t.prototype.build=function(t){void 0===t&&(t=[]),this.children.forEach(function(e){return e.build(t)});var e=this._createNodeExpressions(),n=e.updateRendererStmts,r=e.updateDirectivesStmts,i=e.nodeDefExprs,o=this._createUpdateFn(n),a=this._createUpdateFn(r),s=0;this.parent||this.component.changeDetection!==b.OnPush||(s|=2);var l=new Yt(this.viewName,[new Rt(Kd.name)],[new Qt(he(Je.viewDef).callFn([_e(s),ge(i),a,o]))],fe(Je.ViewDefinition),0===this.embeddedViewIndex?[Ct.Exported]:[]);return t.push(l),t},t.prototype._createUpdateFn=function(t){var e;if(t.length>0){var n=[];!this.component.isHost&&se(t).has(Zd.name)&&n.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),e=ve([new Rt(Xd.name,lt),new Rt(Qd.name,lt)],Object(o.g)(n,t),lt)}else e=Ut;return e},t.prototype.visitNgContent=function(t,e){this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:8,nodeDef:he(Je.ngContentDef).callFn([_e(t.ngContentIndex),_e(t.index)])}})},t.prototype.visitText=function(t,e){this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(-1),_e(t.ngContentIndex),ge([_e(t.value)])])}})},t.prototype.visitBoundText=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=t.value.ast,o=i.expressions.map(function(e,i){return n._preprocessUpdateExpression({nodeIndex:r,bindingIndex:i,sourceSpan:t.sourceSpan,context:Zd,value:e})}),a=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(a),_e(t.ngContentIndex),ge(i.strings.map(function(t){return _e(t)}))]),updateRenderer:o}}},t.prototype.visitEmbeddedTemplate=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=this._visitElementOrTemplate(r,t),o=i.flags,a=i.queryMatchesExpr,s=i.hostEvents,l=this.viewBuilderFactory(this);this.children.push(l),l.visitAll(t.variables,t.children);var c=this.nodes.length-r-1;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|o,nodeDef:he(Je.anchorDef).callFn([_e(o),a,_e(t.ngContentIndex),_e(c),n._createElementHandleEventFn(r,s),de(l.viewName)])}}},t.prototype.visitElement=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=s(t.name)?null:t.name,a=this._visitElementOrTemplate(r,t),l=a.flags,c=a.usedEvents,u=a.queryMatchesExpr,p=a.hostBindings,d=a.hostEvents,h=[],f=[],m=[];if(i){var g=t.inputs.map(function(t){return{context:Zd,inputAst:t,dirAst:null}}).concat(p);g.length&&(f=g.map(function(t,e){return n._preprocessUpdateExpression({context:t.context,nodeIndex:r,bindingIndex:e,sourceSpan:t.inputAst.sourceSpan,value:t.inputAst.value})}),h=g.map(function(t){return function(t,e){var n=t.type;switch(n){case 1:return ge([_e(1),_e(t.name),_e(t.securityContext)]);case 0:return ge([_e(8),_e(t.name),_e(t.securityContext)]);case 4:return ge([_e(8|(e&&e.directive.isComponent?32:16)),_e("@"+t.name),_e(t.securityContext)]);case 2:return ge([_e(2),_e(t.name),Ut]);case 3:return ge([_e(4),_e(t.name),_e(t.unit)]);default:throw new Error("unexpected "+n)}}(t.inputAst,t.dirAst)})),m=c.map(function(t){var e=Object(o.f)(t,2),n=e[0],r=e[1];return ge([_e(n),_e(r)])})}Al(this,t.children);var y=this.nodes.length-r-1,v=t.directives.find(function(t){return t.directive.isComponent}),b=Ut,_=Ut;v&&(_=this.outputCtx.importExpr(v.directive.componentViewType),b=this.outputCtx.importExpr(v.directive.rendererType));var w=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|l,nodeDef:he(Je.elementDef).callFn([_e(w),_e(l),u,_e(t.ngContentIndex),_e(y),_e(i),i?eh(t):Ut,h.length?ge(h):Ut,m.length?ge(m):Ut,n._createElementHandleEventFn(r,d),_,b]),updateRenderer:f}}},t.prototype._visitElementOrTemplate=function(t,e){var n=this,r=0;e.hasViewContainer&&(r|=16777216);var i=new Map;e.outputs.forEach(function(t){var e=ih(t,null),n=e.name,r=e.target;i.set(ah(r,n),[r,n])}),e.directives.forEach(function(t){t.hostEvents.forEach(function(e){var n=ih(e,t),r=n.name,o=n.target;i.set(ah(o,r),[o,r])})});var a=[],s=[];this._visitComponentFactoryResolverProvider(e.directives),e.providers.forEach(function(r,l){var c=void 0,u=void 0;if(e.directives.forEach(function(t,e){t.directive.type.reference===mn(r.token)&&(c=t,u=e)}),c){var p=n._visitDirective(r,c,u,t,e.references,e.queryMatches,i,n.staticQueryIds.get(e)),d=p.hostBindings,h=p.hostEvents;a.push.apply(a,Object(o.g)(d)),s.push.apply(s,Object(o.g)(h))}else n._visitProvider(r,e.queryMatches)});var l=[];return e.queryMatches.forEach(function(t){var e=void 0;mn(t.value)===n.reflector.resolveExternalReference(Je.ElementRef)?e=0:mn(t.value)===n.reflector.resolveExternalReference(Je.ViewContainerRef)?e=3:mn(t.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(e=2),null!=e&&l.push(ge([_e(t.queryId),_e(e)]))}),e.references.forEach(function(e){var r=void 0;e.value?mn(e.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(r=2):r=1,null!=r&&(n.refNodeIndices[e.name]=t,l.push(ge([_e(e.name),_e(r)])))}),e.outputs.forEach(function(t){s.push({context:Zd,eventAst:t,dirAst:null})}),{flags:r,usedEvents:Array.from(i.values()),queryMatchesExpr:l.length?ge(l):Ut,hostBindings:a,hostEvents:s}},t.prototype._visitDirective=function(t,e,n,r,i,o,a,s){var l=this,c=this.nodes.length;this.nodes.push(null),e.directive.queries.forEach(function(t,n){var r=e.contentQueryStartId+n,i=67108864|oh(s,r,t),o=t.first?0:1;l.nodes.push(function(){return{sourceSpan:e.sourceSpan,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(r),new zt([new Bt(t.propertyName,_e(o),!1)])])}})});var u=this.nodes.length-c-1,p=this._visitProviderOrDirective(t,o),d=p.flags,h=p.queryMatchExprs,f=p.providerExpr,m=p.depsExpr;i.forEach(function(e){e.value&&mn(e.value)===mn(t.token)&&(l.refNodeIndices[e.name]=c,h.push(ge([_e(e.name),_e(4)])))}),e.directive.isComponent&&(d|=32768);var g=e.inputs.map(function(t,e){var n=ge([_e(e),_e(t.directiveName)]);return new Bt(t.directiveName,n,!1)}),y=[],v=e.directive;Object.keys(v.outputs).forEach(function(t){var e=v.outputs[t];a.has(e)&&y.push(new Bt(t,_e(e),!1))});var b=[];(e.inputs.length||(327680&d)>0)&&(b=e.inputs.map(function(t,e){return l._preprocessUpdateExpression({nodeIndex:c,bindingIndex:e,sourceSpan:t.sourceSpan,context:Zd,value:t.value})}));var _=he(Je.nodeValue).callFn([Qd,_e(c)]),w=e.hostProperties.map(function(t){return{context:_,dirAst:e,inputAst:t}}),x=e.hostEvents.map(function(t){return{context:_,eventAst:t,dirAst:e}}),C=c;return this.nodes[c]=function(){return{sourceSpan:e.sourceSpan,nodeFlags:16384|d,nodeDef:he(Je.directiveDef).callFn([_e(C),_e(d),h.length?ge(h):Ut,_e(u),f,m,g.length?new zt(g):Ut,y.length?new zt(y):Ut]),updateDirectives:b,directive:e.directive.type}},{hostBindings:w,hostEvents:x}},t.prototype._visitProvider=function(t,e){this._addProviderNode(this._visitProviderOrDirective(t,e))},t.prototype._visitComponentFactoryResolverProvider=function(t){var e=t.find(function(t){return t.directive.isComponent});if(e&&e.directive.entryComponents.length){var n=Md(this.reflector,this.outputCtx,8192,e.directive.entryComponents),r=n.providerExpr,i=n.depsExpr,o=n.flags,a=n.tokenExpr;this._addProviderNode({providerExpr:r,depsExpr:i,flags:o,tokenExpr:a,queryMatchExprs:[],sourceSpan:e.sourceSpan})}},t.prototype._addProviderNode=function(t){this.nodes.length;this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:t.flags,nodeDef:he(Je.providerDef).callFn([_e(t.flags),t.queryMatchExprs.length?ge(t.queryMatchExprs):Ut,t.tokenExpr,t.providerExpr,t.depsExpr])}})},t.prototype._visitProviderOrDirective=function(t,e){var n=[];e.forEach(function(e){mn(e.value)===mn(t.token)&&n.push(ge([_e(e.queryId),_e(4)]))});var r=Dd(this.outputCtx,t),i=r.providerExpr,o=r.depsExpr,a=r.flags,s=r.tokenExpr;return{flags:0|a,queryMatchExprs:n,providerExpr:i,depsExpr:o,tokenExpr:s,sourceSpan:t.sourceSpan}},t.prototype.getLocal=function(t){if(t==ja.event.name)return ja.event;for(var e=Qd,n=this;n;n=n.parent,e=e.prop("parent").cast(st)){var r=n.refNodeIndices[t];if(null!=r)return he(Je.nodeValue).callFn([e,_e(r)]);var i=n.variables.find(function(e){return e.name===t});if(i){var o=i.value||"$implicit";return e.prop("context").prop(o)}}return null},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype._createLiteralArrayConverter=function(t,e){if(0===e){var n=he(Je.EMPTY_ARRAY);return function(){return n}}var r=this.nodes.length;return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:32,nodeDef:he(Je.pureArrayDef).callFn([_e(r),_e(e)])}}),function(t){return nh(r,t)}},t.prototype._createLiteralMapConverter=function(t,e){if(0===e.length){var n=he(Je.EMPTY_MAP);return function(){return n}}var r=ye(e.map(function(t,e){return Object(o.a)({},t,{value:_e(e)})})),i=this.nodes.length;return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:64,nodeDef:he(Je.pureObjectDef).callFn([_e(i),r])}}),function(t){return nh(i,t)}},t.prototype._createPipeConverter=function(t,e,n){var r=this.usedPipes.find(function(t){return t.name===e});if(r.pure){var i=this.nodes.length;this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:128,nodeDef:he(Je.purePipeDef).callFn([_e(i),_e(n)])}});for(var o=Qd,a=this;a.parent;)a=a.parent,o=o.prop("parent").cast(st);var s=a.purePipeNodeIndices[e],l=he(Je.nodeValue).callFn([o,_e(s)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,nh(i,[l].concat(e)))}}var c=this._createPipe(t.sourceSpan,r),u=he(Je.nodeValue).callFn([Qd,_e(c)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,u.callMethod("transform",e))}},t.prototype._createPipe=function(t,e){var n=this,r=this.nodes.length,i=0;e.type.lifecycleHooks.forEach(function(t){t===_d.OnDestroy&&(i|=Rd(t))});var o=e.type.diDeps.map(function(t){return Id(n.outputCtx,t)});return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:16,nodeDef:he(Je.pipeDef).callFn([_e(i),n.outputCtx.importExpr(e.type.reference),ge(o)])}}),r},t.prototype._preprocessUpdateExpression=function(t){var e=this;return{nodeIndex:t.nodeIndex,bindingIndex:t.bindingIndex,sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(n){return e._createLiteralArrayConverter(t.sourceSpan,n)},createLiteralMapConverter:function(n){return e._createLiteralMapConverter(t.sourceSpan,n)},createPipeConverter:function(n,r){return e._createPipeConverter(t,n,r)}},t.value)}},t.prototype._createNodeExpressions=function(){var t=this,e=0,n=[],r=[],i=this.nodes.map(function(t,e){var i=t(),s=i.nodeDef,l=i.nodeFlags,c=i.updateDirectives,u=i.updateRenderer,p=i.sourceSpan;return u&&n.push.apply(n,Object(o.g)(a(e,p,u,!1))),c&&r.push.apply(r,Object(o.g)(a(e,p,c,(327680&l)>0))),ue(3&l?new Ht([Kd.callFn([]).callFn([]),s]):s,p)});return{updateRendererStmts:n,updateDirectivesStmts:r,nodeDefExprs:i};function a(n,r,i,a){var s=[],l=i.map(function(n){var r=n.sourceSpan,i=n.context,a=n.value,l=""+e++,c=Ma(i===Zd?t:null,i,a,l,Pa.General),u=c.stmts,p=c.currValExpr;return s.push.apply(s,Object(o.g)(u.map(function(t){return ce(t,r)}))),ue(p,r)});return(i.length||a)&&s.push(ce(nh(n,l).toStmt(),r)),s}},t.prototype._createElementHandleEventFn=function(t,e){var n,r=this,i=[],a=0;if(e.forEach(function(t){var e=t.context,n=t.eventAst,o=t.dirAst,s=""+a++,l=Da(e===Zd?r:null,e,n.handler,s),c=l.stmts,u=l.allowDefault,p=c;u&&p.push(Jd.set(u.and(Jd)).toStmt());var d=ih(n,o),h=ah(d.target,d.name);i.push(ce(new ee(_e(h).identical($d),p),n.sourceSpan))}),i.length>0){var s=[Jd.set(_e(!0)).toDeclStmt(ct)];!this.component.isHost&&se(i).has(Zd.name)&&s.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),n=ve([new Rt(Qd.name,lt),new Rt($d.name,lt),new Rt(ja.event.name,lt)],Object(o.g)(s,i,[new Qt(Jd)]),lt)}else n=Ut;return n},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}();function eh(t){var e=Object.create(null);return t.attrs.forEach(function(t){e[t.name]=t.value}),t.directives.forEach(function(t){Object.keys(t.directive.hostAttributes).forEach(function(n){var r,i,o,a=t.directive.hostAttributes[n],s=e[n];e[n]=null!=s?(i=s,o=a,(r=n)==Gd||r==qd?i+" "+o:o):a})}),ge(Object.keys(e).sort().map(function(t){return ge([_e(t),_e(e[t])])}))}function nh(t,e){return e.length>10?Xd.callFn([Qd,_e(t),_e(1),ge(e)]):Xd.callFn(Object(o.g)([Qd,_e(t),_e(0)],e))}function rh(t,e,n){return he(Je.unwrapValue).callFn([Qd,_e(t),_e(e),n])}function ih(t,e){return t.isAnimation?{name:"@"+t.name+"."+t.phase,target:e&&e.directive.isComponent?"component":null}:t}function oh(t,e,n){var r=0;return n.first&&function(t,e,n){return n.static||null==n.static&&(t.staticQueryIds.has(e)||!t.dynamicQueryIds.has(e))}(t,e,n)?r|=268435456:r|=536870912,r}function ah(t,e){return t?t+":"+e:e}var sh=function(){function t(t,e,n,r){void 0===r&&(r=null),this._htmlParser=t,this._implicitTags=e,this._implicitAttrs=n,this._locale=r,this._messages=[]}return t.prototype.updateFromTemplate=function(t,e,n){var r,i=this._htmlParser.parse(t,e,{tokenizeExpansionForms:!0,interpolationConfig:n});if(i.errors.length)return i.errors;var a=function(t,e,n,r){return new zp(n,r).extract(t,e)}(i.rootNodes,n,this._implicitTags,this._implicitAttrs);return a.errors.length?a.errors:((r=this._messages).push.apply(r,Object(o.g)(a.messages)),[])},t.prototype.getMessages=function(){return this._messages},t.prototype.write=function(t,e){var n={},r=new lh;this._messages.forEach(function(e){var r,i=t.digest(e);n.hasOwnProperty(i)?(r=n[i].sources).push.apply(r,Object(o.g)(e.sources)):n[i]=e});var i=Object.keys(n).map(function(i){var o=t.createNameMapper(n[i]),a=n[i],s=o?r.convert(a.nodes,o):a.nodes,l=new Ir(s,{},{},a.meaning,a.description,i);return l.sources=a.sources,e&&l.sources.forEach(function(t){return t.filePath=e(t.filePath)}),l});return t.write(i,this._locale)},t}(),lh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.convert=function(t,e){var n=this;return e?t.map(function(t){return t.visit(n,e)}):t},e.prototype.visitTagPlaceholder=function(t,e){var n=this,r=e.toPublicName(t.startName),i=t.closeName?e.toPublicName(t.closeName):t.closeName,o=t.children.map(function(t){return t.visit(n,e)});return new Fr(t.tag,t.attrs,r,i,o,t.isVoid,t.sourceSpan)},e.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,e.toPublicName(t.name),t.sourceSpan)},e.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,e.toPublicName(t.name),t.sourceSpan)},e}(Br),ch=function(){function t(t,e,n){this.srcFileUrl=t,this.genFileUrl=e,"string"==typeof n?(this.source=n,this.stmts=null):(this.source=null,this.stmts=n)}return t.prototype.isEquivalent=function(t){return this.genFileUrl===t.genFileUrl&&(this.source?this.source===t.source:null!=t.stmts&&ht(this.stmts,t.stmts))},t}();function uh(t,e){var n,r,i,a,s=[];try{for(var l=Object(o.h)(t.transitiveModule.providers),c=l.next();!c.done;c=l.next()){var u=c.value,p=u.provider,d=u.module;if(mn(p.token)===e.ROUTES){var h=ph(p.useValue);try{for(var f=(i=void 0,Object(o.h)(h)),m=f.next();!m.done;m=f.next()){var g=m.value;s.push(dh(g,e,d.reference))}}catch(y){i={error:y}}finally{try{m&&!m.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}}}}catch(v){n={error:v}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}return s}function ph(t,e){var n,r;if(void 0===e&&(e=[]),"string"==typeof t)e.push(t);else if(Array.isArray(t))try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){ph(a.value,e)}}catch(s){n={error:s}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}else t.loadChildren?ph(t.loadChildren,e):t.children&&ph(t.children,e);return e}function dh(t,e,n){var r=Object(o.f)(t.split("#"),2),i=r[0],a=r[1],s=e.resolveExternalReference({moduleName:i,name:a},n?n.filePath:void 0);return{route:t,module:n||s,referencedModule:s}}var hh=/^(?!.*\.d\.ts$).*\.ts$/,fh=function(t,e){this.symbol=t,this.metadata=e},mh=function(){function t(t,e,n,r){this.host=t,this.staticSymbolCache=e,this.summaryResolver=n,this.errorRecorder=r,this.metadataCache=new Map,this.resolvedSymbols=new Map,this.resolvedFilePaths=new Set,this.importAs=new Map,this.symbolResourcePaths=new Map,this.symbolFromFile=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.resolveSymbol=function(t){if(t.members.length>0)return this._resolveSymbolMembers(t);var e=this._resolveSymbolFromSummary(t);if(e)return e;var n=this.resolvedSymbols.get(t);return n||(this._createSymbolsOf(t.filePath),this.resolvedSymbols.get(t))},t.prototype.getImportAs=function(t,e){if(void 0===e&&(e=!0),t.members.length){var n=this.getStaticSymbol(t.filePath,t.name);return(i=this.getImportAs(n,e))?this.getStaticSymbol(i.filePath,i.name,t.members):null}var r=t.filePath.replace(pd,".");if(r!==t.filePath){var i,o=t.name.replace(dd,"");n=this.getStaticSymbol(r,o,t.members);return(i=this.getImportAs(n,e))?this.getStaticSymbol(vd(i.filePath),bd(i.name),n.members):null}var a=e&&this.summaryResolver.getImportAs(t)||null;return a||(a=this.importAs.get(t)),a},t.prototype.getResourcePath=function(t){return this.symbolResourcePaths.get(t)||t.filePath},t.prototype.getTypeArity=function(t){if(e=t.filePath,ud.test(e))return null;for(var e,n=yh(this.resolveSymbol(t));n&&n.metadata instanceof nn;)n=yh(this.resolveSymbol(n.metadata));return n&&n.metadata&&n.metadata.arity||null},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.recordImportAs=function(t,e){t.assertNoMembers(),e.assertNoMembers(),this.importAs.set(t,e)},t.prototype.recordModuleNameForFileName=function(t,e){this.knownFileNameToModuleNames.set(t,e)},t.prototype.invalidateFile=function(t){var e,n;this.metadataCache.delete(t),this.resolvedFilePaths.delete(t);var r=this.symbolFromFile.get(t);if(r){this.symbolFromFile.delete(t);try{for(var i=Object(o.h)(r),a=i.next();!a.done;a=i.next()){var s=a.value;this.resolvedSymbols.delete(s),this.importAs.delete(s),this.symbolResourcePaths.delete(s)}}catch(l){e={error:l}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}},t.prototype.ignoreErrorsFor=function(t){var e=this.errorRecorder;this.errorRecorder=function(){};try{return t()}finally{this.errorRecorder=e}},t.prototype._resolveSymbolMembers=function(t){var e=t.members,n=this.resolveSymbol(this.getStaticSymbol(t.filePath,t.name));if(!n)return null;var r=yh(n.metadata);if(r instanceof nn)return new fh(t,this.getStaticSymbol(r.filePath,r.name,e));if(!r||"class"!==r.__symbolic){for(var i=r,o=0;o=0?{__symbolic:"reference",name:h}:n.has(h)?u.getStaticSymbol(e,h):void 0},i}(je)),[]),d=yh(p);return d instanceof nn?this.createExport(t,d):new fh(t,p)},t.prototype.createExport=function(t,e){return t.assertNoMembers(),e.assertNoMembers(),this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(e.filePath)&&this.importAs.set(e,this.getImportAs(t)||t),new fh(t,e)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.getModuleMetadata=function(t){var e=this.metadataCache.get(t);if(!e){var n=this.host.getMetadataFor(t);if(n){var r=-1;n.forEach(function(t){t&&t.version>r&&(r=t.version,e=t)})}if(e||(e={__symbolic:"module",version:4,module:t,metadata:{}}),4!=e.version){var i=2==e.version?"Unsupported metadata version "+e.version+" for module "+t+". This module should be compiled with a newer version of ngc":"Metadata version mismatch for module "+this.host.getOutputName(t)+", found version "+e.version+", expected 4";this.reportError(new Error(i))}this.metadataCache.set(t,e)}return e},t.prototype.getSymbolByModule=function(t,e,n){var r=this.resolveModule(t,n);return r?this.getStaticSymbol(r,e):(this.reportError(new Error("Could not resolve module "+t+(n?" relative to "+this.host.getOutputName(n):""))),this.getStaticSymbol("ERROR:"+t,e))},t.prototype.resolveModule=function(t,e){try{return this.host.moduleNameToFileName(t,e)}catch(n){console.error("Could not resolve module '"+t+"' relative to file "+e),this.reportError(n,void 0,e)}return null},t}();function gh(t){return t.startsWith("___")?t.substr(1):t}function yh(t){return t&&"resolved"===t.__symbolic?t.symbol:t}function vh(t,e,n){var r=bd(e.name);t.statements.push(ve([],[new Qt(n)],new ot(st)).toDeclStmt(r,[Ct.Final,Ct.Exported]))}var bh=function(t){function e(e,n,r){var i=t.call(this)||this;return i.symbolResolver=e,i.summaryResolver=n,i.srcFileName=r,i.symbols=[],i.indexBySymbol=new Map,i.reexportedBy=new Map,i.processedSummaryBySymbol=new Map,i.processedSummaries=[],i.unprocessedSymbolSummariesBySymbol=new Map,i.moduleName=e.getKnownModuleName(r),i}return Object(o.c)(e,t),e.prototype.addSummary=function(t){var e,n,r=this,i=this.unprocessedSymbolSummariesBySymbol.get(t.symbol),o=this.processedSummaryBySymbol.get(t.symbol);if(i||(i={symbol:t.symbol,metadata:void 0},this.unprocessedSymbolSummariesBySymbol.set(t.symbol,i),o={symbol:this.processValue(t.symbol,0)},this.processedSummaries.push(o),this.processedSummaryBySymbol.set(t.symbol,o)),!i.metadata&&t.metadata){var a=t.metadata||{};if("class"===a.__symbolic){var s={};Object.keys(a).forEach(function(t){"decorators"!==t&&(s[t]=a[t])}),a=s}else xh(a)&&(xh(n=a)&&yh(n.expression)instanceof nn||function(t){return xh(t)&&t.expression&&"select"===t.expression.__symbolic&&yh(t.expression.expression)instanceof nn}(a)||(a={__symbolic:"error",message:"Complex function calls are not supported."}));if(i.metadata=a,o.metadata=this.processValue(a,1),a instanceof nn&&this.summaryResolver.isLibraryFile(a.filePath)){var l=this.symbols[this.indexBySymbol.get(a)];e=l.name,wd.test(e)||this.reexportedBy.set(l,t.symbol)}}if(!i.type&&t.type&&(i.type=t.type,o.type=this.processValue(t.type,0),t.type.summaryKind===sn.NgModule)){var c=t.type;c.exportedDirectives.concat(c.exportedPipes).forEach(function(t){var e=t.reference;if(r.summaryResolver.isLibraryFile(e.filePath)&&!r.unprocessedSymbolSummariesBySymbol.has(e)){var n=r.summaryResolver.resolveSummary(e);n&&r.addSummary(n)}})}},e.prototype.serialize=function(t){var e=this,n=[];return{json:JSON.stringify({moduleName:this.moduleName,summaries:this.processedSummaries,symbols:this.symbols.map(function(r,i){r.assertNoMembers();var o=void 0;if(e.summaryResolver.isLibraryFile(r.filePath)){var a=e.reexportedBy.get(r);if(a)o=e.indexBySymbol.get(a);else if(t){var s=e.unprocessedSymbolSummariesBySymbol.get(r);s&&s.metadata&&"interface"===s.metadata.__symbolic||(o=r.name+"_"+i,n.push({symbol:r,exportAs:o}))}}return{__symbol:i,name:r.name,filePath:e.summaryResolver.toSummaryFileName(r.filePath,e.srcFileName),importAs:o}})}),exportAs:n}},e.prototype.processValue=function(t,e){return Ee(t,this,e)},e.prototype.visitOther=function(t,e){if(t instanceof nn){var n=this.symbolResolver.getStaticSymbol(t.filePath,t.name);return{__symbol:this.visitStaticSymbol(n,e),members:t.members}}},e.prototype.visitStringMap=function(e,n){return"resolved"===e.__symbolic?Ee(e.symbol,this,n):("error"===e.__symbolic&&(delete e.line,delete e.character),t.prototype.visitStringMap.call(this,e,n))},e.prototype.visitStaticSymbol=function(t,e){var n=this.indexBySymbol.get(t),r=null;if(1&e&&this.summaryResolver.isLibraryFile(t.filePath)){if(this.unprocessedSymbolSummariesBySymbol.has(t))return n;(r=this.loadSummary(t))&&r.metadata instanceof nn&&(n=this.visitStaticSymbol(r.metadata,e),r=null)}else if(null!=n)return n;return null==n&&(n=this.symbols.length,this.symbols.push(t)),this.indexBySymbol.set(t,n),r&&this.addSummary(r),n},e.prototype.loadSummary=function(t){var e=this.summaryResolver.resolveSummary(t);if(!e){var n=this.symbolResolver.resolveSymbol(t);n&&(e={symbol:n.symbol,metadata:n.metadata})}return e},e}(je),_h=function(){function t(t,e,n){this.outputCtx=t,this.symbolResolver=e,this.summaryResolver=n,this.data=[]}return t.prototype.addSourceType=function(t,e){this.data.push({summary:t,metadata:e,isLibrary:!1})},t.prototype.addLibType=function(t){this.data.push({summary:t,metadata:null,isLibrary:!0})},t.prototype.serialize=function(t){var e,n,r,i,a,s,l=this,c=new Map;try{for(var u=Object(o.h)(t),p=u.next();!p.done;p=u.next()){var d=p.value,h=d.symbol,f=d.exportAs;c.set(h,f)}}catch(S){e={error:S}}finally{try{p&&!p.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}var m=new Set;try{for(var g=Object(o.h)(this.data),y=g.next();!y.done;y=g.next()){var v=y.value,b=v.summary,_=v.metadata,w=v.isLibrary;if(b.summaryKind===sn.NgModule){m.add(b.type.reference);var x=b;try{for(var C=(a=void 0,Object(o.h)(x.modules)),O=C.next();!O.done;O=C.next()){var E=O.value;m.add(E.reference)}}catch(k){a={error:k}}finally{try{O&&!O.done&&(s=C.return)&&s.call(C)}finally{if(a)throw a.error}}}if(!w){bd(b.type.reference.name);vh(this.outputCtx,b.type.reference,this.serializeSummaryWithDeps(b,_))}}}catch(j){r={error:j}}finally{try{y&&!y.done&&(i=g.return)&&i.call(g)}finally{if(r)throw r.error}}m.forEach(function(t){if(l.summaryResolver.isLibraryFile(t.filePath)){var e=bd(c.get(t)||t.name);l.outputCtx.statements.push(de(e).set(l.serializeSummaryRef(t)).toDeclStmt(null,[Ct.Exported]))}})},t.prototype.serializeSummaryWithDeps=function(t,e){var n=this,r=[this.serializeSummary(t)],i=[];if(e instanceof _n)r.push.apply(r,Object(o.g)(e.declaredDirectives.concat(e.declaredPipes).map(function(t){return t.reference}).concat(e.transitiveModule.modules.map(function(t){return t.reference}).filter(function(t){return t!==e.type.reference})).map(function(t){return n.serializeSummaryRef(t)}))),i=e.providers;else if(t.summaryKind===sn.Directive){var a=t;i=a.providers.concat(a.viewProviders)}return r.push.apply(r,Object(o.g)(i.filter(function(t){return!!t.useClass}).map(function(t){return n.serializeSummary({summaryKind:sn.Injectable,type:t.useClass})}))),ge(r)},t.prototype.serializeSummaryRef=function(t){var e=this.symbolResolver.getStaticSymbol(vd(t.filePath),bd(t.name));return this.outputCtx.importExpr(e)},t.prototype.serializeSummary=function(t){var e=this.outputCtx,n=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map(function(t){return Ee(t,n,e)}))},t.prototype.visitStringMap=function(t,e){var n=this;return new zt(Object.keys(t).map(function(r){return new Bt(r,Ee(t[r],n,e),!1)}))},t.prototype.visitPrimitive=function(t,e){return _e(t)},t.prototype.visitOther=function(t,n){if(t instanceof nn)return e.importExpr(t);throw new Error("Illegal State: Encountered value "+t)},t}();return Ee(t,new n,null)},t}(),wh=function(t){function e(e,n){var r=t.call(this)||this;return r.symbolCache=e,r.summaryResolver=n,r}return Object(o.c)(e,t),e.prototype.deserialize=function(t,e){var n=this,r=JSON.parse(e),i=[];this.symbols=r.symbols.map(function(e){return n.symbolCache.get(n.summaryResolver.fromSummaryFileName(e.filePath,t),e.name)}),r.symbols.forEach(function(e,r){var o=n.symbols[r],a=e.importAs;"number"==typeof a?i.push({symbol:o,importAs:n.symbols[a]}):"string"==typeof a&&i.push({symbol:o,importAs:n.symbolCache.get(hd(t),a)})});var o=Ee(r.summaries,this,null);return{moduleName:r.moduleName,summaries:o,importAs:i}},e.prototype.visitStringMap=function(e,n){if("__symbol"in e){var r=this.symbols[e.__symbol],i=e.members;return i.length?this.symbolCache.get(r.filePath,r.name,i):r}return t.prototype.visitStringMap.call(this,e,n)},e}(je);function xh(t){return t&&"call"===t.__symbolic}!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){this._config=t,this._options=e,this._host=n,this.reflector=r,this._metadataResolver=i,this._templateParser=o,this._styleCompiler=a,this._viewCompiler=s,this._typeCheckCompiler=l,this._ngModuleCompiler=c,this._injectableCompiler=u,this._outputEmitter=p,this._summaryResolver=d,this._symbolResolver=h,this._templateAstCache=new Map,this._analyzedFiles=new Map,this._analyzedFilesForInjectables=new Map}t.prototype.clearCache=function(){this._metadataResolver.clearCache()},t.prototype.analyzeModulesSync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return n.ngModules.forEach(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)}),n},t.prototype.analyzeModulesAsync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return Promise.all(n.ngModules.map(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){return n})},t.prototype._analyzeFile=function(t){var e=this._analyzedFiles.get(t);return e||(e=Ah(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFiles.set(t,e)),e},t.prototype._analyzeFileForInjectables=function(t){var e=this._analyzedFilesForInjectables.get(t);return e||(e=function(t,e,n,r){var i=[],o=[];e.hasDecorators(r)&&e.getSymbolsOf(r).forEach(function(t){var r=e.resolveSymbol(t).metadata;if(r&&"error"!==r.__symbolic&&"class"===r.__symbolic)if(n.isInjectable(t)){var a=n.getInjectableMetadata(t,null,!1);a&&i.push(a)}else if(n.isNgModule(t)){var s=n.getShallowModuleMetadata(t);s&&o.push(s)}});return{fileName:r,injectables:i,shallowModules:o}}(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFilesForInjectables.set(t,e)),e},t.prototype.findGeneratedFileNames=function(t){var e=this,n=[],r=this._analyzeFile(t);(this._options.allowEmptyCodegenFiles||r.directives.length||r.pipes.length||r.injectables.length||r.ngModules.length||r.exportsNonSourceFiles)&&(n.push(hd(r.fileName,!0)),this._options.enableSummariesForJit&&n.push(vd(r.fileName,!0)));var i=gd(md(r.fileName,!0)[1]);return r.directives.forEach(function(t){var o=e._metadataResolver.getNonNormalizedDirectiveMetadata(t).metadata;o.isComponent&&o.template.styleUrls.forEach(function(t){var a=e._host.resourceNameToFileName(t,r.fileName);if(!a)throw Ie("Couldn't resolve resource "+t+" relative to "+r.fileName);var s=(o.template.encapsulation||e._config.defaultEncapsulation)===v.Emulated;n.push(Eh(a,s,i)),e._options.allowEmptyCodegenFiles&&n.push(Eh(a,!s,i))})}),n},t.prototype.emitBasicStub=function(t,e){var n=this._createOutputContext(t);if(t.endsWith(".ngfactory.ts")){if(!e)throw new Error("Assertion error: require the original file for .ngfactory.ts stubs. File: "+t);var r=this._analyzeFile(e);this._createNgFactoryStub(n,r,1)}else if(t.endsWith(".ngsummary.ts")){if(this._options.enableSummariesForJit){if(!e)throw new Error("Assertion error: require the original file for .ngsummary.ts stubs. File: "+t);r=this._analyzeFile(e);Ch(n),r.ngModules.forEach(function(t){!function(t,e){vh(t,e,Ut)}(n,t.type.reference)})}}else t.endsWith(".ngstyle.ts")&&Ch(n);return this._codegenSourceModule("unknown",n)},t.prototype.emitTypeCheckStub=function(t,e){var n=this._analyzeFile(e),r=this._createOutputContext(t);return t.endsWith(".ngfactory.ts")&&this._createNgFactoryStub(r,n,2),r.statements.length>0?this._codegenSourceModule(n.fileName,r):null},t.prototype.loadFilesAsync=function(t,e){var n=this,r=t.map(function(t){return n._analyzeFile(t)}),i=[];r.forEach(function(t){return t.ngModules.forEach(function(t){return i.push(n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1))})});var o=e.map(function(t){return n._analyzeFileForInjectables(t)});return Promise.all(i).then(function(t){return{analyzedModules:Th(r),analyzedInjectables:o}})},t.prototype.loadFilesSync=function(t,e){var n=this,r=t.map(function(t){return n._analyzeFile(t)});r.forEach(function(t){return t.ngModules.forEach(function(t){return n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)})});var i=e.map(function(t){return n._analyzeFileForInjectables(t)});return{analyzedModules:Th(r),analyzedInjectables:i}},t.prototype._createNgFactoryStub=function(t,e,n){var r=this,i=0;e.ngModules.forEach(function(e,a){r._ngModuleCompiler.createStub(t,e.type.reference);var s=Object(o.g)(e.transitiveModule.directives.map(function(t){return t.reference}),e.transitiveModule.pipes.map(function(t){return t.reference}),e.importedModules.map(function(t){return t.type.reference}),e.exportedModules.map(function(t){return t.type.reference}),r._externalIdentifierReferences([Je.TemplateRef,Je.ElementRef])),l=new Map;s.forEach(function(t,e){l.set(t,"_decl"+a+"_"+e)}),l.forEach(function(e,n){t.statements.push(de(e).set(Ut.cast(st)).toDeclStmt(me(t.importExpr(n,null,!1))))}),2&n&&e.declaredDirectives.forEach(function(n){var o=r._metadataResolver.getDirectiveMetadata(n.reference);o.isComponent&&(i++,r._createTypeCheckBlock(t,o.type.reference.name+"_Host_"+i,e,r._metadataResolver.getHostComponentMetadata(o),[o.type],l),r._createTypeCheckBlock(t,o.type.reference.name+"_"+i,e,o,e.transitiveModule.directives,l))})}),0===t.statements.length&&Ch(t)},t.prototype._externalIdentifierReferences=function(t){var e,n,r=[];try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value,l=en(this.reflector,s);l.identifier&&r.push(l.identifier.reference)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype._createTypeCheckBlock=function(t,e,n,r,i,a){var s,l=this._parseTemplate(r,n,i),c=l.template,u=l.pipes;(s=t.statements).push.apply(s,Object(o.g)(this._typeCheckCompiler.compileComponent(e,r,c,u,a,t)))},t.prototype.emitMessageBundle=function(t,e){var n=this,r=[],i=new Js,a=new sh(i,[],{},e);if(t.files.forEach(function(t){var e=[];t.directives.forEach(function(t){var r=n._metadataResolver.getDirectiveMetadata(t);r&&r.isComponent&&e.push(r)}),e.forEach(function(t){var e=t.template.template,n=t.template.templateUrl,i=Co.fromArray(t.template.interpolation);r.push.apply(r,Object(o.g)(a.updateFromTemplate(e,n,i)))})}),r.length)throw new Error(r.map(function(t){return t.toString()}).join("\n"));return a},t.prototype.emitAllPartialModules=function(t,e){var n=this,r=t.ngModuleByPipeOrDirective,i=t.files,a=new Map,s=function(t){return a.has(t)||a.set(t,n._createOutputContext(t)),a.get(t)};return i.forEach(function(t){return n._compilePartialModule(t.fileName,r,t.directives,t.pipes,t.ngModules,t.injectables,s(t.fileName))}),e.forEach(function(t){return n._compileShallowModules(t.fileName,t.shallowModules,s(t.fileName))}),Array.from(a.values()).map(function(t){return{fileName:t.genFilePath,statements:Object(o.g)(t.constantPool.statements,t.statements)}})},t.prototype._compileShallowModules=function(t,e,n){var r=this;e.forEach(function(t){return e=n,i=t,a=r._injectableCompiler,s=cn(i.type),l=i.rawImports?[i.rawImports]:[],c=i.rawExports?[i.rawExports]:[],u=Ci({factory:a.factoryFor({type:i.type,symbol:i.type.reference},e),providers:mo(i.rawProviders,e),imports:mo(Object(o.g)(l,c),e)}),p=he(jn.defineInjector).callFn([u]),void e.statements.push(new te(s,null,[new Zt("ngInjectorDef",lt,[Ct.Static],p)],[],new $t(null,[],[]),[]));var e,i,a,s,l,c,u,p})},t.prototype._compilePartialModule=function(t,e,n,r,i,a,s){var l=this,c=new ru,u=new Ul(this._templateParser.expressionParser,Oo,c,[],[]);n.forEach(function(t){var n=l._metadataResolver.getDirectiveMetadata(t);if(n.isComponent){var r=e.get(t);r||Pe("Cannot determine the module for component '"+cn(n.type)+"'");var i=n.template.htmlAst;n.template.preserveWhitespaces||(i=sl(i));var a=ou(i.rootNodes,u),c=new Map;r.transitiveModule.directives.map(function(t){return l._metadataResolver.getDirectiveSummary(t.reference)}).forEach(function(t){t.selector&&c.set(t.selector,t.type.reference)});var p=new Map;r.transitiveModule.pipes.map(function(t){return l._metadataResolver.getPipeSummary(t.reference)}).forEach(function(t){p.set(t.name,t.type.reference)}),function(t,e,n,r,i,a,s){var l=cn(e.type);l||Pe("Cannot resolver the name of "+e.type);var c=t.constantPool.propertyNameOf(2),u=e.toSummary(),p=Ku(Object(o.a)({},Qu(e,t,r),{selector:e.selector,template:{nodes:n.nodes},directives:[],pipes:lp(s,t),viewQueries:Xu(e.viewQueries,t),wrapDirectivesAndPipesInClosure:!1,styles:u.template&&u.template.styles||Uu,encapsulation:u.template&&u.template.encapsulation||v.Emulated,interpolation:Oo,animations:null,viewProviders:e.viewProviders.length>0?new bt(e.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),t.constantPool,i);t.statements.push(new te(l,null,[new Zt(c,lt,[Ct.Static],p.expression)],[],new $t(null,[],[]),[]))}(s,n,a,l.reflector,u,0,p)}else!function(t,e,n,r){var i=cn(e.type);i||Pe("Cannot resolver the name of "+e.type);var o=t.constantPool.propertyNameOf(1),a=Yu(Qu(e,t,n),t.constantPool,r);t.statements.push(new te(i,null,[new Zt(o,lt,[Ct.Static],a.expression)],[],new $t(null,[],[]),[]))}(s,n,l.reflector,u)}),r.forEach(function(t){var e=l._metadataResolver.getPipeMetadata(t);e&&function(t,e,n){var r=cn(e.type);if(!r)return Pe("Cannot resolve the name of "+e.type);var i=Wo({name:r,pipeName:e.name,type:t.importExpr(e.type.reference),typeArgumentCount:0,deps:uo(e.type,t,n),pure:e.pure}),o=t.constantPool.propertyNameOf(3);t.statements.push(new te(r,null,[new Zt(o,lt,[Ct.Static],i.expression)],[],new $t(null,[],[]),[]))}(s,e,l.reflector)}),a.forEach(function(t){return l._injectableCompiler.compile(t,s)})},t.prototype.emitAllPartialModules2=function(t){var e=this;return t.reduce(function(t,n){return t.push.apply(t,Object(o.g)(e._emitPartialModule2(n.fileName,n.injectables))),t},[])},t.prototype._emitPartialModule2=function(t,e){var n=this,r=this._createOutputContext(t);return e.forEach(function(t){return n._injectableCompiler.compile(t,r)}),r.statements&&r.statements.length>0?[{fileName:t,statements:Object(o.g)(r.constantPool.statements,r.statements)}]:[]},t.prototype.emitAllImpls=function(t){var e=this,n=t.ngModuleByPipeOrDirective;return On(t.files.map(function(t){return e._compileImplFile(t.fileName,n,t.directives,t.pipes,t.ngModules,t.injectables)}))},t.prototype._compileImplFile=function(t,e,n,r,i,a){var s=this,l=gd(md(t,!0)[1]),c=[],u=this._createOutputContext(hd(t,!0));if(c.push.apply(c,Object(o.g)(this._createSummary(t,n,r,i,a,u))),i.forEach(function(t){return s._compileModule(u,t)}),n.forEach(function(n){var r=s._metadataResolver.getDirectiveMetadata(n);if(r.isComponent){var i=e.get(n);if(!i)throw new Error("Internal Error: cannot determine the module for component "+cn(r.type)+"!");var o=s._styleCompiler.compileComponent(u,r);r.template.externalStylesheets.forEach(function(e){var n=s._styleCompiler.needsStyleShim(r);c.push(s._codegenStyles(t,r,e,n,l)),s._options.allowEmptyCodegenFiles&&c.push(s._codegenStyles(t,r,e,!n,l))});s._compileComponent(u,r,i,i.transitiveModule.directives,o,l);s._compileComponentFactory(u,r,i,l)}}),u.statements.length>0||this._options.allowEmptyCodegenFiles){var p=this._codegenSourceModule(t,u);c.unshift(p)}return c},t.prototype._createSummary=function(t,e,n,r,i,a){var s=this,l=this._symbolResolver.getSymbolsOf(t).map(function(t){return s._symbolResolver.resolveSymbol(t)}),c=Object(o.g)(r.map(function(t){return{summary:s._metadataResolver.getNgModuleSummary(t.type.reference),metadata:s._metadataResolver.getNgModuleMetadata(t.type.reference)}}),e.map(function(t){return{summary:s._metadataResolver.getDirectiveSummary(t),metadata:s._metadataResolver.getDirectiveMetadata(t)}}),n.map(function(t){return{summary:s._metadataResolver.getPipeSummary(t),metadata:s._metadataResolver.getPipeMetadata(t)}}),i.map(function(t){return{summary:s._metadataResolver.getInjectableSummary(t.symbol),metadata:s._metadataResolver.getInjectableSummary(t.symbol).type}})),u=this._options.enableSummariesForJit?this._createOutputContext(vd(t,!0)):null,p=function(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s=new bh(r,n,t);i.forEach(function(t){return s.addSummary({symbol:t.symbol,metadata:t.metadata})}),o.forEach(function(t){var e=t.summary;t.metadata;s.addSummary({symbol:e.type.reference,metadata:void 0,type:e})});var l=s.serialize(a),c=l.json,u=l.exportAs;if(e){var p=new _h(e,r,n);o.forEach(function(t){var e=t.summary,n=t.metadata;p.addSourceType(e,n)}),s.unprocessedSymbolSummariesBySymbol.forEach(function(t){n.isLibraryFile(t.symbol.filePath)&&t.type&&p.addLibType(t.type)}),p.serialize(u)}return{json:c,exportAs:u}}(t,u,this._summaryResolver,this._symbolResolver,l,c,this._options.createExternalSymbolFactoryReexports),d=p.json;p.exportAs.forEach(function(t){a.statements.push(de(t.exportAs).set(a.importExpr(t.symbol)).toDeclStmt(null,[Ct.Exported]))});var h=[new ch(t,yd(t),d)];return u&&h.push(this._codegenSourceModule(t,u)),h},t.prototype._compileModule=function(t,e){var n=[];if(this._options.locale){var r=this._options.locale.replace(/_/g,"-");n.push({token:en(this.reflector,Je.LOCALE_ID),useValue:r})}this._options.i18nFormat&&n.push({token:en(this.reflector,Je.TRANSLATIONS_FORMAT),useValue:this._options.i18nFormat}),this._ngModuleCompiler.compile(t,e,n)},t.prototype._compileComponentFactory=function(t,e,n,r){var i=this._metadataResolver.getHostComponentMetadata(e),o=this._compileComponent(t,i,n,[e.type],null,r).viewClassVar,a=hn(e.type.reference),s=[];for(var l in e.inputs){var c=e.inputs[l];s.push(new Bt(l,_e(c),!1))}var u=[];for(var l in e.outputs){c=e.outputs[l];u.push(new Bt(l,_e(c),!1))}t.statements.push(de(a).set(he(Je.createComponentFactory).callFn([_e(e.selector),t.importExpr(e.type.reference),de(o),new zt(s),new zt(u),ge(e.template.ngContentSelectors.map(function(t){return _e(t)}))])).toDeclStmt(fe(Je.ComponentFactory,[me(t.importExpr(e.type.reference))],[J.Const]),[Ct.Final,Ct.Exported]))},t.prototype._compileComponent=function(t,e,n,r,i,o){var a=this._parseTemplate(e,n,r),s=a.template,l=a.pipes,c=i?de(i.stylesVar):ge([]),u=this._viewCompiler.compileComponent(t,e,s,c,l);return i&&Oh(this._symbolResolver,i,this._styleCompiler.needsStyleShim(e),o),u},t.prototype._parseTemplate=function(t,e,n){var r=this;if(this._templateAstCache.has(t.type.reference))return this._templateAstCache.get(t.type.reference);var i=t.template.preserveWhitespaces,o=n.map(function(t){return r._metadataResolver.getDirectiveSummary(t.reference)}),a=e.transitiveModule.pipes.map(function(t){return r._metadataResolver.getPipeSummary(t.reference)}),s=this._templateParser.parse(t,t.template.htmlAst,o,a,e.schemas,Sn(e.type,t,t.template),i);return this._templateAstCache.set(t.type.reference,s),s},t.prototype._createOutputContext=function(t){var e=this;return{statements:[],genFilePath:t,importExpr:function(n,r,i){if(void 0===r&&(r=null),void 0===i&&(i=!0),!(n instanceof nn))throw new Error("Internal error: unknown identifier "+JSON.stringify(n));var o=e._symbolResolver.getTypeArity(n)||0,a=e._symbolResolver.getImportAs(n,i)||n,s=a.filePath,l=a.name,c=a.members,u=e._fileNameToModuleName(s,t),p=u===e._fileNameToModuleName(t,t)?null:u,d=r||[],h=o-d.length,f=d.concat(new Array(h).fill(st));return c.reduce(function(t,e){return t.prop(e)},he(new At(p,l,null),f))},constantPool:new Ke}},t.prototype._fileNameToModuleName=function(t,e){return this._summaryResolver.getKnownModuleName(t)||this._symbolResolver.getKnownModuleName(t)||this._host.fileNameToModuleName(t,e)},t.prototype._codegenStyles=function(t,e,n,r,i){var o=this._createOutputContext(Eh(n.moduleUrl,r,i)),a=this._styleCompiler.compileStyles(o,e,n,r);return Oh(this._symbolResolver,a,r,i),this._codegenSourceModule(t,o)},t.prototype._codegenSourceModule=function(t,e){return new ch(t,e.genFilePath,e.statements)},t.prototype.listLazyRoutes=function(t,e){var n,r,i,a,s=this;if(t)return function t(e,n,r){var i,a;void 0===n&&(n=new Set);void 0===r&&(r=[]);if(n.has(e)||!e.name)return r;n.add(e);var l=uh(s._metadataResolver.getNgModuleMetadata(e,!0),s.reflector);try{for(var c=Object(o.h)(l),u=c.next();!u.done;u=c.next()){var p=u.value;r.push(p),t(p.referencedModule,n,r)}}catch(d){i={error:d}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(i)throw i.error}}return r}(dh(t,this.reflector).referencedModule);if(e){var l=[];try{for(var c=Object(o.h)(e.ngModules),u=c.next();!u.done;u=c.next()){var p=uh(u.value,this.reflector);try{for(var d=(i=void 0,Object(o.h)(p)),h=d.next();!h.done;h=d.next()){var f=h.value;l.push(f)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}}}catch(g){n={error:g}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}return l}throw new Error("Either route or analyzedModules has to be specified!")}}();function Ch(t){t.statements.push(he(Je.ComponentFactory).toStmt())}function Oh(t,e,n,r){e.dependencies.forEach(function(e){e.setValue(t.getStaticSymbol(Eh(e.moduleUrl,n,r),e.name))})}function Eh(t,e,n){return t+(e?".shim":"")+".ngstyle"+n}function Sh(t,e,n,r){return Dh(function(t,e,n,r){var i=new Set,o=[],a=function(t){if(i.has(t)||!e.isSourceFile(t))return!1;i.add(t);var s=Ah(e,n,r,t);o.push(s),s.ngModules.forEach(function(t){t.transitiveModule.modules.forEach(function(t){return a(t.reference.filePath)})})};return t.forEach(function(t){return a(t)}),o}(t,e,n,r))}function kh(t,e,n,r){return jh(Sh(t,e,n,r))}function jh(t){if(t.symbolsMissingModule&&t.symbolsMissingModule.length)throw Ie(t.symbolsMissingModule.map(function(t){return"Cannot determine the module for class "+t.name+" in "+t.filePath+"! Add "+t.name+" to the NgModule to fix it."}).join("\n"));return t}function Ah(t,e,n,r){var i=[],o=[],a=[],s=[],l=e.hasDecorators(r),c=!1;return r.endsWith(".d.ts")&&!l||e.getSymbolsOf(r).forEach(function(r){var l=e.resolveSymbol(r).metadata;if(l&&"error"!==l.__symbolic){var u=!1;if("class"===l.__symbolic)if(n.isDirective(r))u=!0,i.push(r);else if(n.isPipe(r))u=!0,o.push(r);else if(n.isNgModule(r)){var p=n.getNgModuleMetadata(r,!1);p&&(u=!0,s.push(p))}else if(n.isInjectable(r)){u=!0;var d=n.getInjectableMetadata(r,null,!1);d&&a.push(d)}u||(c=c||function(t,e){var n=!1,r=function(){function e(){}return e.prototype.visitArray=function(t,e){var n=this;t.forEach(function(t){return Ee(t,n,e)})},e.prototype.visitStringMap=function(t,e){var n=this;Object.keys(t).forEach(function(r){return Ee(t[r],n,e)})},e.prototype.visitPrimitive=function(t,e){},e.prototype.visitOther=function(e,r){e instanceof nn&&!t.isSourceFile(e.filePath)&&(n=!0)},e}();return Ee(e,new r,null),n}(t,l))}}),{fileName:r,directives:i,pipes:o,ngModules:s,injectables:a,exportsNonSourceFiles:c}}function Dh(t){var e=[],n=new Map,r=new Set;t.forEach(function(t){t.ngModules.forEach(function(t){e.push(t),t.declaredDirectives.forEach(function(e){return n.set(e.reference,t)}),t.declaredPipes.forEach(function(e){return n.set(e.reference,t)})}),t.directives.forEach(function(t){return r.add(t)}),t.pipes.forEach(function(t){return r.add(t)})});var i=[];return r.forEach(function(t){n.has(t)||i.push(t)}),{ngModules:e,ngModuleByPipeOrDirective:n,symbolsMissingModule:i,files:t}}function Th(t){return jh(Dh(t))}var Ph="ngFormattedMessage";function Ih(t,e){if(void 0===e&&(e=0),!t)return"";var n=t.position?t.position.fileName+"("+(t.position.line+1)+","+(t.position.column+1)+")":"",r=n&&0!==e?" at "+n:"",i=""+(n&&0===e?n+": ":"")+t.message+r;return""+function t(e){if(e<=0)return"";if(e<6)return[""," "," "," "," "," "][e];var n=t(Math.floor(e/2));return n+n+(e%2==1?" ":"")}(e)+i+(t.next&&"\n"+Ih(t.next,e+2)||"")}var Rh="@angular/core",Mh=/^\$.*\$$/,Nh={__symbolic:"ignore"},Fh="useValue",Lh="provide",Vh=new Set([Fh,"useFactory","data","id","loadChildren"]);function Bh(t){return t&&"ignore"==t.__symbolic}var zh=function(){function t(t,e,n,r,i){var o=this;void 0===n&&(n=[]),void 0===r&&(r=[]),this.summaryResolver=t,this.symbolResolver=e,this.errorRecorder=i,this.annotationCache=new Map,this.shallowAnnotationCache=new Map,this.propertyCache=new Map,this.parameterCache=new Map,this.methodCache=new Map,this.staticCache=new Map,this.conversionMap=new Map,this.resolvedExternalReferences=new Map,this.annotationForParentClassWithSummaryKind=new Map,this.initializeConversionMap(),n.forEach(function(t){return o._registerDecoratorOrConstructor(o.getStaticSymbol(t.filePath,t.name),t.ctor)}),r.forEach(function(t){return o._registerFunction(o.getStaticSymbol(t.filePath,t.name),t.fn)}),this.annotationForParentClassWithSummaryKind.set(sn.Directive,[P,M]),this.annotationForParentClassWithSummaryKind.set(sn.Pipe,[N]),this.annotationForParentClassWithSummaryKind.set(sn.NgModule,[z]),this.annotationForParentClassWithSummaryKind.set(sn.Injectable,[H,N,P,M,z])}return t.prototype.componentModuleUrl=function(t){var e=this.findSymbolDeclaration(t);return this.symbolResolver.getResourcePath(e)},t.prototype.resolveExternalReference=function(t,e){var n=void 0;if(!e){n=t.moduleName+":"+t.name;var r=this.resolvedExternalReferences.get(n);if(r)return r}var i=this.symbolResolver.getSymbolByModule(t.moduleName,t.name,e),o=this.findSymbolDeclaration(i);return e||(this.symbolResolver.recordModuleNameForFileName(i.filePath,t.moduleName),this.symbolResolver.recordImportAs(o,i)),n&&this.resolvedExternalReferences.set(n,o),o},t.prototype.findDeclaration=function(t,e,n){return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(t,e,n))},t.prototype.tryFindDeclaration=function(t,e,n){var r=this;return this.symbolResolver.ignoreErrorsFor(function(){return r.findDeclaration(t,e,n)})},t.prototype.findSymbolDeclaration=function(t){var e=this.symbolResolver.resolveSymbol(t);if(e){var n=e.metadata;if(n&&"resolved"===n.__symbolic&&(n=n.symbol),n instanceof nn)return this.findSymbolDeclaration(e.metadata)}return t},t.prototype.tryAnnotations=function(t){var e=this.errorRecorder;this.errorRecorder=function(t,e){};try{return this.annotations(t)}finally{this.errorRecorder=e}},t.prototype.annotations=function(t){var e=this;return this._annotations(t,function(t,n){return e.simplify(t,n)},this.annotationCache)},t.prototype.shallowAnnotations=function(t){var e=this;return this._annotations(t,function(t,n){return e.simplify(t,n,!0)},this.shallowAnnotationCache)},t.prototype._annotations=function(t,e,n){var r=n.get(t);if(!r){r=[];var i=this.getTypeMetadata(t),a=this.findParentType(t,i);if(a){var s=this.annotations(a);r.push.apply(r,Object(o.g)(s))}var l=[];if(i.decorators&&(l=e(t,i.decorators))&&r.push.apply(r,Object(o.g)(l)),a&&!this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(a.filePath)){var c=this.summaryResolver.resolveSummary(a);if(c&&c.type){var u=this.annotationForParentClassWithSummaryKind.get(c.type.summaryKind);u.some(function(t){return l.some(function(e){return t.isTypeOf(e)})})||this.reportError(nf(Uh("Class "+t.name+" in "+t.filePath+" extends from a "+sn[c.type.summaryKind]+" in another compilation unit without duplicating the decorator",void 0,"Please add a "+u.map(function(t){return t.ngMetadataName}).join(" or ")+" decorator to the class"),t),t)}}n.set(t,r.filter(function(t){return!!t}))}return r},t.prototype.propMetadata=function(t){var e=this,n=this.propertyCache.get(t);if(!n){var r=this.getTypeMetadata(t);n={};var i=this.findParentType(t,r);if(i){var a=this.propMetadata(i);Object.keys(a).forEach(function(t){n[t]=a[t]})}var s=r.members||{};Object.keys(s).forEach(function(r){var i=s[r].find(function(t){return"property"==t.__symbolic||"method"==t.__symbolic}),a=[];n[r]&&a.push.apply(a,Object(o.g)(n[r])),n[r]=a,i&&i.decorators&&a.push.apply(a,Object(o.g)(e.simplify(t,i.decorators)))}),this.propertyCache.set(t,n)}return n},t.prototype.parameters=function(t){var e=this;if(!(t instanceof nn))return this.reportError(new Error("parameters received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),[];try{var n=this.parameterCache.get(t);if(!n){var r=this.getTypeMetadata(t),i=this.findParentType(t,r),a=r?r.members:null,s=a?a.__ctor__:null;if(s){var l=s.find(function(t){return"constructor"==t.__symbolic}),c=l.parameters||[],u=this.simplify(t,l.parameterDecorators||[]);n=[],c.forEach(function(r,i){var a=[],s=e.trySimplify(t,r);s&&a.push(s);var l=u?u[i]:null;l&&a.push.apply(a,Object(o.g)(l)),n.push(a)})}else i&&(n=this.parameters(i));n||(n=[]),this.parameterCache.set(t,n)}return n}catch(p){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+p),p}},t.prototype._methodNames=function(t){var e=this.methodCache.get(t);if(!e){var n=this.getTypeMetadata(t);e={};var r=this.findParentType(t,n);if(r){var i=this._methodNames(r);Object.keys(i).forEach(function(t){e[t]=i[t]})}var o=n.members||{};Object.keys(o).forEach(function(t){var n=o[t].some(function(t){return"method"==t.__symbolic});e[t]=e[t]||n}),this.methodCache.set(t,e)}return e},t.prototype._staticMembers=function(t){var e=this.staticCache.get(t);if(!e){var n=this.getTypeMetadata(t).statics||{};e=Object.keys(n),this.staticCache.set(t,e)}return e},t.prototype.findParentType=function(t,e){var n=this.trySimplify(t,e.extends);if(n instanceof nn)return n},t.prototype.hasLifecycleHook=function(t,e){t instanceof nn||this.reportError(new Error("hasLifecycleHook received "+JSON.stringify(t)+" which is not a StaticSymbol"),t);try{return!!this._methodNames(t)[e]}catch(n){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+n),n}},t.prototype.guards=function(t){var e,n;if(!(t instanceof nn))return this.reportError(new Error("guards received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),{};var r=this._staticMembers(t),i={};try{for(var a=Object(o.h)(r),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.endsWith("TypeGuard")){var c=l.substr(0,l.length-"TypeGuard".length),u=void 0;c.endsWith("UseIf")?(c=l.substr(0,c.length-"UseIf".length),u="UseIf"):u=this.getStaticSymbol(t.filePath,t.name,[l]),i[c]=u}}}catch(p){e={error:p}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return i},t.prototype._registerDecoratorOrConstructor=function(t,e){this.conversionMap.set(t,function(t,n){return new(e.bind.apply(e,Object(o.g)([void 0],n)))})},t.prototype._registerFunction=function(t,e){this.conversionMap.set(t,function(t,n){return e.apply(void 0,n)})},t.prototype.initializeConversionMap=function(){this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Injectable"),H),this.injectionToken=this.findDeclaration(Rh,"InjectionToken"),this.opaqueToken=this.findDeclaration(Rh,"OpaqueToken"),this.ROUTES=this.tryFindDeclaration("@angular/router","ROUTES"),this.ANALYZE_FOR_ENTRY_COMPONENTS=this.findDeclaration(Rh,"ANALYZE_FOR_ENTRY_COMPONENTS"),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Inject"),E),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Attribute"),k),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChild"),A),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChildren"),j),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChild"),T),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChildren"),D),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Input"),F),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Output"),L),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Pipe"),N),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostBinding"),V),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostListener"),B),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Directive"),P),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Component"),M),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"NgModule"),z),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q)},t.prototype.getStaticSymbol=function(t,e,n){return this.symbolResolver.getStaticSymbol(t,e,n)},t.prototype.trySimplify=function(t,e){var n=this.errorRecorder;this.errorRecorder=function(t,e){};var r=this.simplify(t,e);return this.errorRecorder=n,r},t.prototype.simplify=function(t,e,n){void 0===n&&(n=!1);var r,i=this,a=Jh.empty,s=new Map;try{r=function t(e,n,r,l){function c(t){var e=i.symbolResolver.resolveSymbol(t);return e?e.metadata:null}function u(n){return t(e,n,r,0)}function p(n,o){if(n===e)return t(n,o,r+1,l);try{return t(n,o,r+1,l)}catch(c){if(!Gh(c))throw c;var a=c.chain?"references '"+c.symbol.name+"'":function(t){if(t.summary)return t.summary;switch(t.message){case qh:if(t.context&&t.context.className)return"references non-exported class "+t.context.className;break;case Wh:return"is not initialized";case Yh:return"is a destructured variable";case Kh:return"could not be resolved";case Qh:return t.context&&t.context.name?"calls '"+t.context.name+"'":"calls a function";case Xh:return t.context&&t.context.name?"references local variable "+t.context.name:"references a local variable"}return"contains the error"}(c),s={message:"'"+n.name+"' "+a,position:c.position,next:c.chain};i.error({message:c.message,advise:c.advise,context:c.context,chain:s,symbol:n},e)}}function d(n){var h,f,m,g;if($h(n))return n;if(n instanceof Array){var y=[];try{for(var v=Object(o.h)(n),b=v.next();!b.done;b=v.next()){var _=b.value;if(_&&"spread"===_.__symbolic){var w=u(_.expression);if(Array.isArray(w)){try{for(var x=(m=void 0,Object(o.h)(w)),C=x.next();!C.done;C=x.next()){var O=C.value;y.push(O)}}catch(G){m={error:G}}finally{try{C&&!C.done&&(g=x.return)&&g.call(x)}finally{if(m)throw m.error}}continue}}var E=d(_);Bh(E)||y.push(E)}}catch(q){h={error:q}}finally{try{b&&!b.done&&(f=v.return)&&f.call(v)}finally{if(h)throw h.error}}return y}if(n instanceof nn)return n===i.injectionToken||i.conversionMap.has(n)||l>0&&!n.members.length?n:null!=(N=c(S=n))?p(S,N):S;if(n){if(n.__symbolic){var S=void 0;switch(n.__symbolic){case"binop":var k=d(n.left);if(Bh(k))return k;var j=d(n.right);if(Bh(j))return j;switch(n.operator){case"&&":return k&&j;case"||":return k||j;case"|":return k|j;case"^":return k^j;case"&":return k&j;case"==":return k==j;case"!=":return k!=j;case"===":return k===j;case"!==":return k!==j;case"<":return k":return k>j;case"<=":return k<=j;case">=":return k>=j;case"<<":return k<>":return k>>j;case"+":return k+j;case"-":return k-j;case"*":return k*j;case"/":return k/j;case"%":return k%j}return null;case"if":var A=d(n.condition);return d(A?n.thenExpression:n.elseExpression);case"pre":var D=d(n.operand);if(Bh(D))return D;switch(n.operator){case"+":return D;case"-":return-D;case"!":return!D;case"~":return~D}return null;case"index":var T=u(n.expression),P=u(n.index);return T&&$h(P)?T[P]:null;case"select":var I=n.member,R=e,M=d(n.expression);if(M instanceof nn){var N,F=M.members.concat(I);return null!=(N=c(R=i.getStaticSymbol(M.filePath,M.name,F)))?p(R,N):R}return M&&$h(I)?p(R,M[I]):null;case"reference":var L=n.name,V=a.resolve(L);if(V!=Jh.missing)return V;break;case"resolved":try{return d(n.symbol)}catch(W){throw Gh(W)&&null!=n.fileName&&null!=n.line&&null!=n.character&&(W.position={fileName:n.fileName,line:n.line,column:n.character}),W}case"class":case"function":return e;case"new":case"call":if((S=t(e,n.expression,r+1,0))instanceof nn){if(S===i.injectionToken||S===i.opaqueToken)return e;var B=n.arguments||[],z=i.conversionMap.get(S);if(z){var H=B.map(function(t){return p(e,t)}).map(function(t){return Bh(t)?void 0:t});return z(e,H)}return function(t,n,l,c){if(n&&"function"==n.__symbolic){s.get(t)&&i.error({message:"Recursion is not supported",summary:"called '"+t.name+"' recursively",value:n},t);try{var u=n.value;if(u&&(0!=r||"error"!=u.__symbolic)){var h=n.parameters,f=n.defaults;l=l.map(function(t){return p(e,t)}).map(function(t){return Bh(t)?void 0:t}),f&&f.length>l.length&&l.push.apply(l,Object(o.g)(f.slice(l.length).map(function(t){return d(t)}))),s.set(t,!0);for(var m=Jh.build(),g=0;g0?new tf(e):t.empty}}},t.missing={},t.empty={resolve:function(e){return t.missing}},t}(),tf=function(t){function e(e){var n=t.call(this)||this;return n.bindings=e,n}return Object(o.c)(e,t),e.prototype.resolve=function(t){return this.bindings.has(t)?this.bindings.get(t):Jh.missing},e}(Jh);function ef(t,e){return{message:""+function(t,e){switch(t){case qh:if(e&&e.className)return"References to a non-exported class are not supported in decorators but "+e.className+" was referenced.";break;case Wh:return"Only initialized variables and constants can be referenced in decorators because the value of this variable is needed by the template compiler";case Yh:return"Referencing an exported destructured variable or constant is not supported in decorators and this value is needed by the template compiler";case Kh:if(e&&e.typeName)return"Could not resolve type "+e.typeName;break;case Qh:return e&&e.name?"Function calls are not supported in decorators but '"+e.name+"' was called":"Function calls are not supported in decorators";case Xh:if(e&&e.name)return"Reference to a local (non-exported) symbols are not supported in decorators but '"+e.name+"' was referenced";break;case Zh:return"Function expressions are not supported in decorators"}return t}(t.message,t.context)+(t.symbol?" in '"+t.symbol.name+"'":""),position:t.position,next:t.next?ef(t.next,e):e?{message:e}:void 0}}function nf(t,e){if(Gh(t)){var n=t.position;return function(t){var e=Ie(Ih(t)+".");return e[Ph]=!0,e.chain=t,e.position=t.position,e}(ef({message:"Error during template compile of '"+e.name+"'",position:n,next:{message:t.message,next:t.chain,context:t.context,symbol:t.symbol}},t.advise||function(t,e){switch(t){case qh:if(e&&e.className)return"Consider exporting '"+e.className+"'";break;case Yh:return"Consider simplifying to avoid destructuring";case Xh:if(e&&e.name)return"Consider exporting '"+e.name+"'";break;case Zh:return"Consider changing the function expression into an exported function"}}(t.message,t.context)))}return t}var rf=function(){function t(t,e){this.host=t,this.staticSymbolCache=e,this.summaryCache=new Map,this.loadedFilePaths=new Map,this.importAs=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.isLibraryFile=function(t){return!this.host.isSourceFile(fd(t))},t.prototype.toSummaryFileName=function(t,e){return this.host.toSummaryFileName(t,e)},t.prototype.fromSummaryFileName=function(t,e){return this.host.fromSummaryFileName(t,e)},t.prototype.resolveSummary=function(t){var e=t.members.length?this.staticSymbolCache.get(t.filePath,t.name):t,n=this.summaryCache.get(e);return n||(this._loadSummaryFile(t.filePath),n=this.summaryCache.get(t)),e===t&&n||null},t.prototype.getSymbolsOf=function(t){return this._loadSummaryFile(t)?Array.from(this.summaryCache.keys()).filter(function(e){return e.filePath===t}):null},t.prototype.getImportAs=function(t){return t.assertNoMembers(),this.importAs.get(t)},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.addSummary=function(t){this.summaryCache.set(t.symbol,t)},t.prototype._loadSummaryFile=function(t){var e=this,n=this.loadedFilePaths.get(t);if(null!=n)return n;var r=null;if(this.isLibraryFile(t)){var i=yd(t);try{r=this.host.loadSummary(i)}catch(c){throw console.error("Error loading summary file "+i),c}}if(n=null!=r,this.loadedFilePaths.set(t,n),r){var o=function(t,e,n,r){return new wh(t,e).deserialize(n,r)}(this.staticSymbolCache,this,t,r),a=o.moduleName,s=o.summaries,l=o.importAs;s.forEach(function(t){return e.summaryCache.set(t.symbol,t)}),a&&this.knownFileNameToModuleNames.set(t,a),l.forEach(function(t){e.importAs.set(t.symbol,t.importAs)})}return n},t}();function of(t){return{resolve:function(e,n){var r=t.resourceNameToFileName(n,e);if(!r)throw Ie("Couldn't resolve resource "+n+" from "+e);return r}}}var af=function(){},sf=function(){function t(){this._summaries=new Map}return t.prototype.isLibraryFile=function(){return!1},t.prototype.toSummaryFileName=function(t){return t},t.prototype.fromSummaryFileName=function(t){return t},t.prototype.resolveSummary=function(t){return this._summaries.get(t)||null},t.prototype.getSymbolsOf=function(){return[]},t.prototype.getImportAs=function(t){return t},t.prototype.getKnownModuleName=function(t){return null},t.prototype.addSummary=function(t){this._summaries.set(t.symbol,t)},t}();function lf(t,e,n,r,i){for(var o=r.createChildWihtLocalVars(),a=0;ai();case nt.BiggerEquals:return r()>=i();default:throw new Error("Unknown operator "+t.operator)}},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.name]},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.index.visitExpression(this,e)]},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e)},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r={};return t.entries.forEach(function(t){return r[t.key]=t.value.visitExpression(n,e)}),r},t.prototype.visitCommaExpr=function(t,e){var n=this.visitAllExpressions(t.parts,e);return n[n.length-1]},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitAllStatements=function(t,e){for(var n=0;n0&&(n=function(t,e){var n=Cf(encodeURI(e)),r=Cf(t);if(null!=n[wf.Scheme])return Of(n);n[wf.Scheme]=r[wf.Scheme];for(var i=wf.Scheme;i<=wf.Port;i++)null==n[i]&&(n[i]=r[i]);if("/"==n[wf.Path][0])return Of(n);var o=r[wf.Path];null==o&&(o="/");var a=o.lastIndexOf("/");return o=o.substring(0,a+1)+n[wf.Path],n[wf.Path]=o,Of(n)}(t,n));var r=Cf(n),i=this._packagePrefix;if(null!=i&&null!=r&&"package"==r[wf.Scheme]){var o=r[wf.Path];return(i=i.replace(/\/+$/,""))+"/"+(o=o.replace(/^\/+/,""))}return n},t}();var wf,xf=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Cf(t){return t.match(xf)}function Of(t){var e,n,r,i,o,a,s,l,c=t[wf.Path];return c=null==c?"":function(t){if("/"==t)return"/";for(var e="/"==t[0]?"/":"",n="/"===t[t.length-1]?"/":"",r=t.split("/"),i=[],o=0,a=0;a0?i.pop():o++;break;default:i.push(s)}}if(""==e){for(;o-- >0;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+n}(c),t[wf.Path]=c,e=t[wf.Scheme],n=t[wf.UserInfo],r=t[wf.Domain],i=t[wf.Port],o=c,a=t[wf.QueryData],s=t[wf.Fragment],l=[],null!=e&&l.push(e+":"),null!=r&&(l.push("//"),null!=n&&l.push(n+"@"),l.push(r),null!=i&&l.push(":"+i)),null!=o&&l.push(o),null!=a&&l.push("?"+a),null!=s&&l.push("#"+s),l.join("")}!function(t){t[t.Scheme=1]="Scheme",t[t.UserInfo=2]="UserInfo",t[t.Domain=3]="Domain",t[t.Port=4]="Port",t[t.Path=5]="Path",t[t.QueryData=6]="QueryData",t[t.Fragment=7]="Fragment"}(wf||(wf={}));(function(){function t(t,e,n,r){this.host=t,this.staticSymbolResolver=e,this.messageBundle=n,this.metadataResolver=r}t.prototype.extract=function(t){var e=this,n=kh(t,this.host,this.staticSymbolResolver,this.metadataResolver),r=n.files,i=n.ngModules;return Promise.all(i.map(function(t){return e.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=[];if(r.forEach(function(n){var r=[];n.directives.forEach(function(t){var n=e.metadataResolver.getDirectiveMetadata(t);n&&n.isComponent&&r.push(n)}),r.forEach(function(n){var r=n.template.template,i=n.template.templateUrl,a=Co.fromArray(n.template.interpolation);t.push.apply(t,Object(o.g)(e.messageBundle.updateFromTemplate(r,i,a)))})}),t.length)throw new Error(t.map(function(t){return t.toString()}).join("\n"));return e.messageBundle})},t.create=function(e,n){var r=new Js,i=of(e),o=new rn,a=new rf(e,o),s=new mh(e,o,a),l=new zh(a,s),c=new Ep({defaultEncapsulation:v.Emulated,useJit:!1}),u=new kp({get:function(t){return e.loadResource(t)}},i,r,c),p=new ru,d=new Ed(c,r,new Vd(l),new Dp(l),new zd(l),a,p,u,console,o,l),h=new sh(r,[],{},n);return{extractor:new t(e,s,h,d),staticReflector:l}}})(),function(){function t(t){this.directiveMatcher=t}t.prototype.bind=function(t){if(!t.template)throw new Error("Binding without a template not yet supported");var e=Ef.apply(t.template),n=Sf.apply(t.template,this.directiveMatcher),r=n.directives,i=n.bindings,o=n.references,a=kf.apply(t.template,e),s=a.expressions,l=a.symbols,c=a.nestingLevel,u=a.usedPipes;return new jf(t,r,i,o,s,l,c,u)}}();var Ef=function(){function t(t){this.parentScope=t,this.namedEntities=new Map,this.childScopes=new Map}return t.apply=function(e){var n=new t;return n.ingest(e),n},t.prototype.ingest=function(t){var e=this;t instanceof Sr?(t.variables.forEach(function(t){return e.visitVariable(t)}),t.children.forEach(function(t){return t.visit(e)})):t.forEach(function(t){return t.visit(e)})},t.prototype.visitElement=function(t){var e=this;t.references.forEach(function(t){return e.visitReference(t)}),t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitTemplate=function(e){var n=this;e.references.forEach(function(t){return n.visitReference(t)});var r=new t(this);r.ingest(e),this.childScopes.set(e,r)},t.prototype.visitVariable=function(t){this.maybeDeclare(t)},t.prototype.visitReference=function(t){this.maybeDeclare(t)},t.prototype.visitContent=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitText=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitIcu=function(t){},t.prototype.maybeDeclare=function(t){this.namedEntities.has(t.name)||this.namedEntities.set(t.name,t)},t.prototype.lookup=function(t){return this.namedEntities.has(t)?this.namedEntities.get(t):void 0!==this.parentScope?this.parentScope.lookup(t):null},t.prototype.getChildScope=function(t){var e=this.childScopes.get(t);if(void 0===e)throw new Error("Assertion error: child scope for "+t+" not found");return e},t}(),Sf=function(){function t(t,e,n,r){this.matcher=t,this.directives=e,this.bindings=n,this.references=r}return t.apply=function(e,n){var r=new Map,i=new Map,o=new Map;return new t(n,r,i,o).ingest(e),{directives:r,bindings:i,references:o}},t.prototype.ingest=function(t){var e=this;t.forEach(function(t){return t.visit(e)})},t.prototype.visitElement=function(t){this.visitElementOrTemplate(t.name,t)},t.prototype.visitTemplate=function(t){this.visitElementOrTemplate("ng-template",t)},t.prototype.visitElementOrTemplate=function(t,e){var n=this,r=new w;r.setElement(t);var i=oo(e);Object.getOwnPropertyNames(i).forEach(function(t){var e=i[t];(r.addAttribute(t,e),"class"===t.toLowerCase())&&e.trim().split(/\s+/g).forEach(function(t){return r.addClassName(t)})});var o=[];this.matcher.match(r,function(t,e){return o.push(e)}),o.length>0&&this.directives.set(e,o),e.references.forEach(function(t){var r=null;if(""===t.value.trim())r=o.find(function(t){return t.isComponent})||null;else if(null===(r=o.find(function(e){return null!==e.exportAs&&e.exportAs.some(function(e){return e===t.value})})||null))throw new Error("Assertion error: failed to find directive with exportAs: "+t.value);null!==r?n.references.set(t,{directive:r,node:e}):n.references.set(t,e)});var a=function(t){var r=o.find(function(e){return e.inputs.hasOwnProperty(t.name)});void 0!==r?n.bindings.set(t,r):n.bindings.set(t,e)};e.attributes.forEach(a),e.inputs.forEach(a),e.outputs.forEach(a),e instanceof Sr&&e.templateAttrs.forEach(a),e.children.forEach(function(t){return t.visit(n)})},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundAttributeOrEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){},t}(),kf=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this)||this;return l.bindings=e,l.symbols=n,l.usedPipes=r,l.nestingLevel=i,l.scope=o,l.template=a,l.level=s,l.pipesUsed=[],l.visitNode=function(t){return t.visit(l)},l}return Object(o.c)(e,t),e.apply=function(t,n){var r=new Map,i=new Map,o=new Map,a=new Set;return new e(r,i,a,o,n,t instanceof Sr?t:null,0).ingest(t),{expressions:r,symbols:i,nestingLevel:o,usedPipes:a}},e.prototype.ingest=function(t){t instanceof Sr?(t.variables.forEach(this.visitNode),t.children.forEach(this.visitNode),this.nestingLevel.set(t,this.level)):t.forEach(this.visitNode)},e.prototype.visitElement=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.children.forEach(this.visitNode)},e.prototype.visitTemplate=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.templateAttrs.forEach(this.visitNode),t.references.forEach(this.visitNode);var n=this.scope.getChildScope(t);new e(this.bindings,this.symbols,this.usedPipes,this.nestingLevel,n,t,this.level+1).ingest(t)},e.prototype.visitVariable=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitReference=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitText=function(t){},e.prototype.visitContent=function(t){},e.prototype.visitTextAttribute=function(t){},e.prototype.visitIcu=function(t){},e.prototype.visitBoundAttribute=function(t){t.value.visit(this)},e.prototype.visitBoundEvent=function(t){t.handler.visit(this)},e.prototype.visitBoundText=function(t){t.value.visit(this)},e.prototype.visitPipe=function(e,n){return this.usedPipes.add(e.name),t.prototype.visitPipe.call(this,e,n)},e.prototype.visitPropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyRead.call(this,e,n)},e.prototype.visitSafePropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafePropertyRead.call(this,e,n)},e.prototype.visitPropertyWrite=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyWrite.call(this,e,n)},e.prototype.visitMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitMethodCall.call(this,e,n)},e.prototype.visitSafeMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafeMethodCall.call(this,e,n)},e.prototype.maybeMap=function(t,e,n){if(e.receiver instanceof $o){var r=this.scope.lookup(n);null!==r&&this.bindings.set(e,r)}},e}(_a),jf=function(){function t(t,e,n,r,i,o,a,s){this.target=t,this.directives=e,this.bindings=n,this.references=r,this.exprTargets=i,this.symbols=o,this.nestingLevel=a,this.usedPipes=s}return t.prototype.getDirectivesOfNode=function(t){return this.directives.get(t)||null},t.prototype.getReferenceTarget=function(t){return this.references.get(t)||null},t.prototype.getConsumerOfBinding=function(t){return this.bindings.get(t)||null},t.prototype.getExpressionTarget=function(t){return this.exprTargets.get(t)||null},t.prototype.getTemplateOfSymbol=function(t){return this.symbols.get(t)||null},t.prototype.getNestingLevel=function(t){return this.nestingLevel.get(t)||0},t.prototype.getUsedDirectives=function(){var t=new Set;return this.directives.forEach(function(e){return e.forEach(function(e){return t.add(e)})}),Array.from(t.values())},t.prototype.getUsedPipes=function(){return Array.from(this.usedPipes)},t}();!function(t){(t.ng||(t.ng={})).ɵcompilerFacade=new pp}(qe);var Af,Df=n("Ip0R"),Tf=n("ZYjt"),Pf=((Af=new Map).set(Je.ANALYZE_FOR_ENTRY_COMPONENTS,i.a),Af.set(Je.ElementRef,i.u),Af.set(Je.NgModuleRef,i.O),Af.set(Je.ViewContainerRef,i.pb),Af.set(Je.ChangeDetectorRef,i.k),Af.set(Je.Renderer2,i.Z),Af.set(Je.QueryList,i.X),Af.set(Je.TemplateRef,i.jb),Af.set(Je.CodegenComponentFactoryResolver,i.Cb),Af.set(Je.ComponentFactoryResolver,i.p),Af.set(Je.ComponentFactory,i.o),Af.set(Je.ComponentRef,i.q),Af.set(Je.NgModuleFactory,i.M),Af.set(Je.createModuleFactory,i.Ob),Af.set(Je.moduleDef,i.bc),Af.set(Je.moduleProviderDef,i.cc),Af.set(Je.RegisterModuleFactoryFn,i.lc),Af.set(Je.Injector,i.F),Af.set(Je.ViewEncapsulation,i.qb),Af.set(Je.ChangeDetectionStrategy,i.j),Af.set(Je.SecurityContext,i.db),Af.set(Je.LOCALE_ID,i.J),Af.set(Je.TRANSLATIONS_FORMAT,i.ib),Af.set(Je.inlineInterpolate,i.Vb),Af.set(Je.interpolate,i.Wb),Af.set(Je.EMPTY_ARRAY,i.Eb),Af.set(Je.EMPTY_MAP,i.Fb),Af.set(Je.Renderer,i.Y),Af.set(Je.viewDef,i.pc),Af.set(Je.elementDef,i.Rb),Af.set(Je.anchorDef,i.Mb),Af.set(Je.textDef,i.nc),Af.set(Je.directiveDef,i.Qb),Af.set(Je.providerDef,i.jc),Af.set(Je.queryDef,i.kc),Af.set(Je.pureArrayDef,i.fc),Af.set(Je.pureObjectDef,i.hc),Af.set(Je.purePipeDef,i.ic),Af.set(Je.pipeDef,i.gc),Af.set(Je.nodeValue,i.ec),Af.set(Je.ngContentDef,i.dc),Af.set(Je.unwrapValue,i.oc),Af.set(Je.createRendererType2,i.Pb),Af.set(Je.createComponentFactory,i.Nb),Af),If=function(){function t(){this.reflectionCapabilities=new i.Ib}return t.prototype.componentModuleUrl=function(t,e){var n,r=e.moduleId;if("string"==typeof r)return(n=Cf(r))&&n[wf.Scheme]||""?r:"package:"+r;if(null!=r)throw Ie('moduleId should be a string in "'+Object(i.mc)(t)+"\". See https://goo.gl/wIDDiL for more information.\nIf you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");return"./"+Object(i.mc)(t)},t.prototype.parameters=function(t){return this.reflectionCapabilities.parameters(t)},t.prototype.tryAnnotations=function(t){return this.annotations(t)},t.prototype.annotations=function(t){return this.reflectionCapabilities.annotations(t)},t.prototype.shallowAnnotations=function(t){throw new Error("Not supported in JIT mode")},t.prototype.propMetadata=function(t){return this.reflectionCapabilities.propMetadata(t)},t.prototype.hasLifecycleHook=function(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)},t.prototype.guards=function(t){return this.reflectionCapabilities.guards(t)},t.prototype.resolveExternalReference=function(t){return Pf.get(t)||t.runtime},t}();var Rf=new i.E("ErrorCollector"),Mf={provide:i.T,useValue:"/"},Nf={get:function(t){throw new Error("No ResourceLoader implementation has been provided. Can't read the url \""+t+'"')}},Ff=new i.E("HtmlParser"),Lf=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this._metadataResolver=e,this._delegate=new mf(e,n,r,i,o,a,s,l,c,u,this.getExtraNgModuleProviders.bind(this)),this.injector=t}return t.prototype.getExtraNgModuleProviders=function(){return[this._metadataResolver.getProviderMetadata(new Cn(i.l,{useValue:this}))]},t.prototype.compileModuleSync=function(t){return this._delegate.compileModuleSync(t)},t.prototype.compileModuleAsync=function(t){return this._delegate.compileModuleAsync(t)},t.prototype.compileModuleAndAllComponentsSync=function(t){var e=this._delegate.compileModuleAndAllComponentsSync(t);return{ngModuleFactory:e.ngModuleFactory,componentFactories:e.componentFactories}},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._delegate.compileModuleAndAllComponentsAsync(t).then(function(t){return{ngModuleFactory:t.ngModuleFactory,componentFactories:t.componentFactories}})},t.prototype.loadAotSummaries=function(t){this._delegate.loadAotSummaries(t)},t.prototype.hasAotSummary=function(t){return this._delegate.hasAotSummary(t)},t.prototype.getComponentFactory=function(t){return this._delegate.getComponentFactory(t)},t.prototype.clearCache=function(){this._delegate.clearCache()},t.prototype.clearCacheFor=function(t){this._delegate.clearCacheFor(t)},t.prototype.getModuleId=function(t){var e=this._metadataResolver.getNgModuleMetadata(t);return e&&e.id||void 0},t}(),Vf=[{provide:bf,useValue:new If},{provide:up,useValue:Nf},{provide:sf,deps:[]},{provide:af,useExisting:sf},{provide:i.Db,deps:[]},{provide:Tc,deps:[]},{provide:qc,deps:[Tc]},{provide:Ff,useClass:Js,deps:[]},{provide:od,useFactory:function(t,e,n,r,o){var a=(e=e||"")?r.missingTranslation:i.K.Ignore;return new od(t,e,n,a,o)},deps:[Ff,[new i.R,new i.C(i.hb)],[new i.R,new i.C(i.ib)],[Ep],[i.Db]]},{provide:Js,useExisting:od},{provide:pc,deps:[Ep,bf,qc,Xc,od,i.Db]},{provide:Bo,useClass:Bo,deps:[]},{provide:kp,deps:[up,_f,Js,Ep]},{provide:Ed,deps:[Ep,Js,Vd,Dp,zd,af,Xc,kp,i.Db,[i.R,rn],bf,[i.R,Rf]]},Mf,{provide:xs,deps:[_f]},{provide:Yd,deps:[bf]},{provide:Ld,deps:[bf]},{provide:Ep,useValue:new Ep},{provide:i.l,useClass:Lf,deps:[i.F,Ed,pc,xs,Yd,Ld,af,bf,Bo,Ep,i.Db]},{provide:ru,deps:[]},{provide:Xc,useExisting:ru},{provide:_f,deps:[i.T]},{provide:Dp,deps:[bf]},{provide:zd,deps:[bf]},{provide:Vd,deps:[bf]}],Bf=function(){function t(t){var e={useJit:!0,defaultEncapsulation:i.qb.Emulated,missingTranslation:i.K.Warning};this._defaultOptions=Object(o.g)([e],t)}return t.prototype.createCompiler=function(t){void 0===t&&(t=[]);var e,n={useJit:zf((e=this._defaultOptions.concat(t)).map(function(t){return t.useJit})),defaultEncapsulation:zf(e.map(function(t){return t.defaultEncapsulation})),providers:Hf(e.map(function(t){return t.providers})),missingTranslation:zf(e.map(function(t){return t.missingTranslation})),preserveWhitespaces:zf(e.map(function(t){return t.preserveWhitespaces}))};return i.F.create([Vf,{provide:Ep,useFactory:function(){return new Ep({useJit:n.useJit,jitDevMode:Object(i.yb)(),defaultEncapsulation:n.defaultEncapsulation,missingTranslation:n.missingTranslation,preserveWhitespaces:n.preserveWhitespaces})},deps:[]},n.providers]).get(i.l)},t}();function zf(t){for(var e=t.length-1;e>=0;e--)if(void 0!==t[e])return t[e]}function Hf(t){var e=[];return t.forEach(function(t){return t&&e.push.apply(e,Object(o.g)(t))}),e}var Uf=Object(i.sb)(i.zb,"coreDynamic",[{provide:i.i,useValue:{},multi:!0},{provide:i.m,useClass:Bf,deps:[i.i]}]),Gf=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.get=function(t){var e,n,r=new Promise(function(t,r){e=t,n=r}),i=new XMLHttpRequest;return i.open("GET",t,!0),i.responseType="text",i.onload=function(){var r=i.response||i.responseText,o=1223===i.status?204:i.status;0===o&&(o=r?200:0),200<=o&&o<=300?e(r):n("Failed to load "+t)},i.onerror=function(){n("Failed to load "+t)},i.send(),r},e=Object(o.b)([Object(i.D)()],e)}(up),qf={providers:[{provide:up,useClass:Gf,deps:[]}]},Wf=Df.s,Yf=[Tf.g,{provide:i.i,useValue:qf,multi:!0},{provide:i.U,useValue:Wf}],Kf=(function(t){function e(){var e=t.call(this)||this;if(e._cache=i.Ub.$templateCache,null==e._cache)throw new Error("CachedResourceLoader: Template cache was not found in $templateCache.");return e}Object(o.c)(e,t),e.prototype.get=function(t){return this._cache.hasOwnProperty(t)?Promise.resolve(this._cache[t]):Promise.reject("CachedResourceLoader: Did not find cached template for "+t)}}(up),new i.mb("8.2.6"),Object(i.sb)(Uf,"browserDynamic",Yf)),Qf=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Xf=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Zf=function(t){return t&&t.__esModule?t:{default:t}},$f=function(){function t(){}return t=Qf([Object(i.n)({selector:"app-root",template:Zf(n("VzVu")).default,styles:[Zf(n("ynWL")).default]}),Xf("design:paramtypes",[])],t)}(),Jf=n("ZYCi"),tm=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},em=[{path:"auth",loadChildren:function(){return Promise.all([n.e(1),n.e(6)]).then(n.bind(null,"Yj9t")).then(function(t){return t.AuthModule})}},{path:"login",loadChildren:function(){return Promise.all([n.e(1),n.e(7)]).then(n.bind(null,"F4UR")).then(function(t){return t.LoginModule})}},{path:"**",redirectTo:"auth/minions"}],nm=function(){function t(){}return t=tm([Object(i.L)({imports:[Jf.b.forRoot(em,{useHash:!0})],exports:[Jf.b]})],t)}(),rm=n("wFw1"),im=n("pKmL"),om=n("t/Na"),am=n("NZXM"),sm=n("Onty"),lm=n("v6lC"),cm=n("q9mj"),um=n("geZN"),pm=n("35e8"),dm=n("WU0F"),hm=n("pnyO"),fm=n("fICr"),mm=n("Asny"),gm=n("0FJh"),ym=n("o3x0"),vm=n("d2mR"),bm=n("kWGw"),_m=n("b716"),wm=n("seP3"),xm=n("gIcY"),Cm=n("UodH"),Om=n("lLAP"),Em=n("Fzqc"),Sm=n("n6gG"),km=n("YSh2"),jm=n("K9Ia"),Am=n("F/XL"),Dm=n("p0Sj"),Tm=n("ny24"),Pm=function(){function t(t){this.template=t}return t.decorators=[{type:i.t,args:[{selector:"[cdkStepLabel]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t}(),Im=function(){function t(t){this._elementRef=t}return t.prototype.focus=function(){this._elementRef.nativeElement.focus()},t.decorators=[{type:i.t,args:[{selector:"[cdkStepHeader]",host:{role:"tab"}}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Rm=0,Mm="number",Nm="edit",Fm="done",Lm="error",Vm=new i.E("STEPPER_GLOBAL_OPTIONS"),Bm=function(){function t(t,e){this._stepper=t,this.interacted=!1,this._editable=!0,this._optional=!1,this._customCompleted=null,this._customError=null,this._stepperOptions=e||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType,this._showError=!!this._stepperOptions.showError}return Object.defineProperty(t.prototype,"editable",{get:function(){return this._editable},set:function(t){this._editable=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"optional",{get:function(){return this._optional},set:function(t){this._optional=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"completed",{get:function(){return null==this._customCompleted?this._getDefaultCompleted():this._customCompleted},set:function(t){this._customCompleted=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultCompleted=function(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted},Object.defineProperty(t.prototype,"hasError",{get:function(){return null==this._customError?this._getDefaultError():this._customError},set:function(t){this._customError=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultError=function(){return this.stepControl&&this.stepControl.invalid&&this.interacted},t.prototype.select=function(){this._stepper.selected=this},t.prototype.reset=function(){this.interacted=!1,null!=this._customCompleted&&(this._customCompleted=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()},t.prototype.ngOnChanges=function(){this._stepper._stateChanged()},t.decorators=[{type:i.n,args:[{selector:"cdk-step",exportAs:"cdkStep",template:"",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:zm,decorators:[{type:i.C,args:[Object(i.vb)(function(){return zm})]}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},t.propDecorators={stepLabel:[{type:i.r,args:[Pm]}],content:[{type:i.nb,args:[i.jb]}],stepControl:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],ariaLabel:[{type:i.G,args:["aria-label"]}],ariaLabelledby:[{type:i.G,args:["aria-labelledby"]}],state:[{type:i.G}],editable:[{type:i.G}],optional:[{type:i.G}],completed:[{type:i.G}],hasError:[{type:i.G}]},t}(),zm=function(){function t(t,e,n,r){this._dir=t,this._changeDetectorRef=e,this._elementRef=n,this._destroyed=new jm.a,this._linear=!1,this._selectedIndex=0,this.selectionChange=new i.x,this._orientation="horizontal",this._groupId=Rm++,this._document=r}return Object.defineProperty(t.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"linear",{get:function(){return this._linear},set:function(t){this._linear=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){var e=Object(Sm.f)(t);if(this.steps){if(e<0||e>this.steps.length-1)throw Error("cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.");this._selectedIndex!=e&&!this._anyControlsInvalidOrPending(e)&&(e>=this._selectedIndex||this.steps.toArray()[e].editable)&&this._updateSelectedItemIndex(t)}else this._selectedIndex=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0},set:function(t){this.selectedIndex=this.steps?this.steps.toArray().indexOf(t):-1},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this._keyManager=new Om.d(this._stepHeader).withWrap().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:Object(Am.a)()).pipe(Object(Dm.a)(this._layoutDirection()),Object(Tm.a)(this._destroyed)).subscribe(function(e){return t._keyManager.withHorizontalOrientation(e)}),this._keyManager.updateActiveItemIndex(this._selectedIndex),this.steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe(function(){t.selected||(t._selectedIndex=Math.max(t._selectedIndex-1,0))})},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype.next=function(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)},t.prototype.previous=function(){this.selectedIndex=Math.max(this._selectedIndex-1,0)},t.prototype.reset=function(){this._updateSelectedItemIndex(0),this.steps.forEach(function(t){return t.reset()}),this._stateChanged()},t.prototype._getStepLabelId=function(t){return"cdk-step-label-"+this._groupId+"-"+t},t.prototype._getStepContentId=function(t){return"cdk-step-content-"+this._groupId+"-"+t},t.prototype._stateChanged=function(){this._changeDetectorRef.markForCheck()},t.prototype._getAnimationDirection=function(t){var e=t-this._selectedIndex;return e<0?"rtl"===this._layoutDirection()?"next":"previous":e>0?"rtl"===this._layoutDirection()?"previous":"next":"current"},t.prototype._getIndicatorType=function(t,e){void 0===e&&(e=Mm);var n=this.steps.toArray()[t],r=this._isCurrentStep(t);return n._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(n,r):this._getGuidelineLogic(n,r,e)},t.prototype._getDefaultIndicatorLogic=function(t,e){return t._showError&&t.hasError&&!e?Lm:!t.completed||e?Mm:t.editable?Nm:Fm},t.prototype._getGuidelineLogic=function(t,e,n){return void 0===n&&(n=Mm),t._showError&&t.hasError&&!e?Lm:t.completed&&!e?Fm:t.completed&&e?n:t.editable&&e?Nm:n},t.prototype._isCurrentStep=function(t){return this._selectedIndex===t},t.prototype._getFocusIndex=function(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex},t.prototype._updateSelectedItemIndex=function(t){var e=this.steps.toArray();this.selectionChange.emit({selectedIndex:t,previouslySelectedIndex:this._selectedIndex,selectedStep:e[t],previouslySelectedStep:e[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(t):this._keyManager.updateActiveItemIndex(t),this._selectedIndex=t,this._stateChanged()},t.prototype._onKeydown=function(t){var e=Object(km.s)(t),n=t.keyCode,r=this._keyManager;null==r.activeItemIndex||e||n!==km.n&&n!==km.f?n===km.h?(r.setFirstItemActive(),t.preventDefault()):n===km.e?(r.setLastItemActive(),t.preventDefault()):r.onKeydown(t):(this.selectedIndex=r.activeItemIndex,t.preventDefault())},t.prototype._anyControlsInvalidOrPending=function(t){var e=this.steps.toArray();return e[this._selectedIndex].interacted=!0,!!(this._linear&&t>=0)&&e.slice(0,t).some(function(t){var e=t.stepControl;return(e?e.invalid||e.pending||!t.interacted:!t.completed)&&!t.optional})},t.prototype._layoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._containsFocus=function(){if(!this._document||!this._elementRef)return!1;var t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)},t.decorators=[{type:i.t,args:[{selector:"[cdkStepper]",exportAs:"cdkStepper"}]}],t.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={_steps:[{type:i.s,args:[Bm]}],_stepHeader:[{type:i.s,args:[Im]}],linear:[{type:i.G}],selectedIndex:[{type:i.G}],selected:[{type:i.G}],selectionChange:[{type:i.S}]},t}(),Hm=function(){function t(t){this._stepper=t,this.type="submit"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Um=function(){function t(t){this._stepper=t,this.type="button"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Gm=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Em.a,Df.b],exports:[Bm,zm,Im,Pm,Hm,Um],declarations:[Bm,zm,Im,Pm,Hm,Um]}]}],t}(),qm=n("ihYY"),Wm=n("Wf4p"),Ym=n("ad02"),Km=n("4c35"),Qm=n("SMsm"),Xm=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"[matStepLabel]"}]}],e}(Pm),Zm=function(){function t(){this.changes=new jm.a,this.optionalLabel="Optional"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}();var $m={provide:Zm,deps:[[new i.R,new i.fb,Zm]],useFactory:function(t){return t||new Zm}},Jm=function(t){function e(e,n,r,i){var o=t.call(this,r)||this;return o._intl=e,o._focusMonitor=n,n.monitor(r,!0),o._intlSubscription=e.changes.subscribe(function(){return i.markForCheck()}),o}return Object(o.c)(e,t),e.prototype.ngOnDestroy=function(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)},e.prototype._stringLabel=function(){return this.label instanceof Xm?null:this.label},e.prototype._templateLabel=function(){return this.label instanceof Xm?this.label:null},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._getIconContext=function(){return{index:this.index,active:this.active,optional:this.optional}},e.prototype._getDefaultTextForState=function(t){return"number"==t?""+(this.index+1):"edit"==t?"create":"error"==t?"warning":t},e.decorators=[{type:i.n,args:[{selector:"mat-step-header",template:'
      {{_getDefaultTextForState(state)}}{{_getDefaultTextForState(state)}}
      {{label}}
      {{_intl.optionalLabel}}
      {{errorMessage}}
      ',styles:[".mat-step-header{overflow:hidden;outline:0;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:transparent}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon .mat-icon,.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],host:{class:"mat-step-header",role:"tab"},encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Zm},{type:Om.e},{type:i.u},{type:i.k}]},e.propDecorators={state:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],iconOverrides:[{type:i.G}],index:[{type:i.G}],selected:[{type:i.G}],active:[{type:i.G}],optional:[{type:i.G}]},e}(Im),tg={horizontalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({transform:"none",visibility:"visible"})),Object(qm.k)("next",Object(qm.l)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),Object(qm.m)("* => *",Object(qm.e)("500ms cubic-bezier(0.35, 0, 0.25, 1)"))]),verticalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("next",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({height:"*",visibility:"visible"})),Object(qm.m)("* <=> current",Object(qm.e)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])},eg=function(){function t(t){this.templateRef=t}return t.decorators=[{type:i.t,args:[{selector:"ng-template[matStepperIcon]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t.propDecorators={name:[{type:i.G,args:["matStepperIcon"]}]},t}(),ng=function(t){function e(e,n,r){var i=t.call(this,e,r)||this;return i._errorStateMatcher=n,i}return Object(o.c)(e,t),e.prototype.isErrorState=function(t,e){var n=this._errorStateMatcher.isErrorState(t,e),r=!!(t&&t.invalid&&this.interacted);return n||r},e.decorators=[{type:i.n,args:[{selector:"mat-step",template:"",providers:[{provide:Wm.b,useExisting:e}],encapsulation:i.qb.None,exportAs:"matStep",changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:rg,decorators:[{type:i.C,args:[Object(i.vb)(function(){return rg})]}]},{type:Wm.b,decorators:[{type:i.fb}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},e.propDecorators={stepLabel:[{type:i.r,args:[Xm]}]},e}(Bm),rg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.animationDone=new i.x,e._iconOverrides={},e._animationDone=new jm.a,e}return Object(o.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._icons.forEach(function(e){var n=e.name,r=e.templateRef;return t._iconOverrides[n]=r}),this._steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe(function(){return t._stateChanged()}),this._animationDone.pipe(Object(Ym.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState}),Object(Tm.a)(this._destroyed)).subscribe(function(e){"current"===e.toState&&t.animationDone.emit()})},e.decorators=[{type:i.t,args:[{selector:"[matStepper]"}]}],e.propDecorators={_stepHeader:[{type:i.ob,args:[Jm]}],_steps:[{type:i.s,args:[ng]}],_icons:[{type:i.s,args:[eg]}],animationDone:[{type:i.S}]},e}(zm),ig=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelPosition="end",e}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-horizontal-stepper",exportAs:"matHorizontalStepper",template:'
      ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-horizontal","[class.mat-stepper-label-position-end]":'labelPosition == "end"',"[class.mat-stepper-label-position-bottom]":'labelPosition == "bottom"',"aria-orientation":"horizontal",role:"tablist"},animations:[tg.horizontalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.propDecorators={labelPosition:[{type:i.G}]},e}(rg),og=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o._orientation="vertical",o}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-vertical-stepper",exportAs:"matVerticalStepper",template:'
      ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-vertical","aria-orientation":"vertical",role:"tablist"},animations:[tg.verticalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},e}(rg),ag=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Hm),sg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Um),lg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Wm.h,Df.b,Km.h,Cm.b,Gm,Qm.a,Wm.q],exports:[Wm.h,ig,og,ng,Xm,rg,ag,sg,Jm,eg],declarations:[ig,og,ng,Xm,rg,ag,sg,Jm,eg],providers:[$m,Wm.b]}]}],t}(),cg=n("uGex"),ug=n("bse0"),pg=n("v9Dh"),dg=n("u7R8"),hg=n("w+lc"),fg=n("BHnd"),mg=n("pugT"),gg=n("p0ib"),yg=n("t9fZ"),vg=n("VnD/"),bg=n("eDkP");function _g(t){return Error("MatDatepicker: No provider found for "+t+". You must import one of the following modules at your application root: MatNativeDateModule, MatMomentDateModule, or provide a custom implementation.")}var wg=function(){function t(){this.changes=new jm.a,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 20 years",this.nextMultiYearLabel="Next 20 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),xg=function(t,e,n,r,i){this.value=t,this.displayValue=e,this.ariaLabel=n,this.enabled=r,this.cssClasses=i},Cg=function(){function t(t,e){this._elementRef=t,this._ngZone=e,this.numCols=7,this.activeCell=0,this.cellAspectRatio=1,this.selectedValueChange=new i.x}return t.prototype._cellClicked=function(t){t.enabled&&this.selectedValueChange.emit(t.value)},t.prototype.ngOnChanges=function(t){var e=t.numCols,n=this.rows,r=this.numCols;(t.rows||e)&&(this._firstRowOffset=n&&n.length&&n[0].length?r-n[0].length:0),(t.cellAspectRatio||e||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/r+"%"),!e&&this._cellWidth||(this._cellWidth=100/r+"%")},t.prototype._isActiveCell=function(t,e){var n=t*this.numCols+e;return t&&(n-=this._firstRowOffset),n==this.activeCell},t.prototype._focusActiveCell=function(){var t=this;this._ngZone.runOutsideAngular(function(){t._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe(function(){var e=t._elementRef.nativeElement.querySelector(".mat-calendar-body-active");e&&e.focus()})})},t.decorators=[{type:i.n,args:[{selector:"[mat-calendar-body]",template:'{{label}}{{_firstRowOffset >= labelMinRequiredCells ? label : \'\'}}
      {{item.displayValue}}
      ',styles:[".mat-calendar-body{min-width:224px}.mat-calendar-body-label{height:0;line-height:0;text-align:left;padding-left:4.71429%;padding-right:4.71429%}.mat-calendar-body-cell{position:relative;height:0;line-height:0;text-align:center;outline:0;cursor:pointer}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px}@media (-ms-high-contrast:active){.mat-calendar-body-cell-content{border:none}}@media (-ms-high-contrast:active){.mat-calendar-body-selected,.mat-datepicker-popup:not(:empty){outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}}[dir=rtl] .mat-calendar-body-label{text-align:right}"],host:{class:"mat-calendar-body",role:"grid","aria-readonly":"true"},exportAs:"matCalendarBody",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Q}]},t.propDecorators={label:[{type:i.G}],rows:[{type:i.G}],todayValue:[{type:i.G}],selectedValue:[{type:i.G}],labelMinRequiredCells:[{type:i.G}],numCols:[{type:i.G}],activeCell:[{type:i.G}],cellAspectRatio:[{type:i.G}],selectedValueChange:[{type:i.S}]},t}(),Og=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this._userSelection=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");var o=this._dateAdapter.getFirstDayOfWeek(),a=this._dateAdapter.getDayOfWeekNames("narrow"),s=this._dateAdapter.getDayOfWeekNames("long").map(function(t,e){return{long:t,narrow:a[e]}});this._weekdays=s.slice(o).concat(s.slice(0,o)),this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._hasSameMonthAndYear(e,this._activeDate)||this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedDate=this._getDateInCurrentMonth(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._dateSelected=function(t){if(this._selectedDate!=t){var e=this._dateAdapter.getYear(this.activeDate),n=this._dateAdapter.getMonth(this.activeDate),r=this._dateAdapter.createDate(e,n,t);this.selectedChange.emit(r)}this._userSelection.emit()},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case km.d:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case km.h:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case km.l:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case km.k:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case km.f:case km.n:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected(this._dateAdapter.getDate(this._activeDate)),this._userSelection.emit(),t.preventDefault()));default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){this._selectedDate=this._getDateInCurrentMonth(this.selected),this._todayDate=this._getDateInCurrentMonth(this._dateAdapter.today()),this._monthLabel=this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();var t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(t)-this._dateAdapter.getFirstDayOfWeek())%7,this._createWeekCells(),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createWeekCells=function(){var t=this._dateAdapter.getNumDaysInMonth(this.activeDate),e=this._dateAdapter.getDateNames();this._weeks=[[]];for(var n=0,r=this._firstWeekOffset;n=0)&&(!this.maxDate||this._dateAdapter.compareDate(t,this.maxDate)<=0)},t.prototype._getDateInCurrentMonth=function(t){return t&&this._hasSameMonthAndYear(t,this.activeDate)?this._dateAdapter.getDate(t):null},t.prototype._hasSameMonthAndYear=function(t,e){return!(!t||!e||this._dateAdapter.getMonth(t)!=this._dateAdapter.getMonth(e)||this._dateAdapter.getYear(t)!=this._dateAdapter.getYear(e))},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},t.decorators=[{type:i.n,args:[{selector:"mat-month-view",template:'
      {{day.narrow}}
      ',exportAs:"matMonthView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],_userSelection:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Eg=function(){function t(t,e,n){if(this._changeDetectorRef=t,this._dateAdapter=e,this._dir=n,this.selectedChange=new i.x,this.yearSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),Math.floor(this._dateAdapter.getYear(e)/24)!=Math.floor(this._dateAdapter.getYear(this._activeDate)/24)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedYear=this._selected&&this._dateAdapter.getYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._init=function(){var t=this;this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());var e=this._dateAdapter.getYear(this._activeDate),n=e%24;this._years=[];for(var r=0,i=[];r<24;r++)i.push(e-n+r),4==i.length&&(this._years.push(i.map(function(e){return t._createCellForYear(e)})),i=[]);this._changeDetectorRef.markForCheck()},t.prototype._yearSelected=function(t){this.yearSelected.emit(this._dateAdapter.createDate(t,0,1));var e=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(t,e,1));this.selectedChange.emit(this._dateAdapter.createDate(t,e,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-this._dateAdapter.getYear(this._activeDate)%24);break;case km.e:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-this._dateAdapter.getYear(this._activeDate)%24-1);break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-240:-24);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?240:24);break;case km.f:case km.n:this._yearSelected(this._dateAdapter.getYear(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._getActiveCell=function(){return this._dateAdapter.getYear(this.activeDate)%24},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createCellForYear=function(t){var e=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1));return new xg(t,e,e,this._shouldEnableYear(t))},t.prototype._shouldEnableYear=function(t){if(null==t||this.maxDate&&t>this._dateAdapter.getYear(this.maxDate)||this.minDate&&t',exportAs:"matMultiYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Sg=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this.monthSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._dateAdapter.getYear(e)!==this._dateAdapter.getYear(this._activeDate)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedMonth=this._getMonthInCurrentYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._monthSelected=function(t){var e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(e);var n=this._dateAdapter.getNumDaysInMonth(e);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-10:-1);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?10:1);break;case km.f:case km.n:this._monthSelected(this._dateAdapter.getMonth(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){var t=this;this._selectedMonth=this._getMonthInCurrentYear(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);var e=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(function(n){return n.map(function(n){return t._createCellForMonth(n,e[n])})}),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._getMonthInCurrentYear=function(t){return t&&this._dateAdapter.getYear(t)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(t):null},t.prototype._createCellForMonth=function(t,e){var n=this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1),this._dateFormats.display.monthYearA11yLabel);return new xg(t,e.toLocaleUpperCase(),n,this._shouldEnableMonth(t))},t.prototype._shouldEnableMonth=function(t){var e=this._dateAdapter.getYear(this.activeDate);if(null==t||this._isYearAndMonthAfterMaxDate(e,t)||this._isYearAndMonthBeforeMinDate(e,t))return!1;if(!this.dateFilter)return!0;for(var n=this._dateAdapter.createDate(e,t,1);this._dateAdapter.getMonth(n)==t;n=this._dateAdapter.addCalendarDays(n,1))if(this.dateFilter(n))return!0;return!1},t.prototype._isYearAndMonthAfterMaxDate=function(t,e){if(this.maxDate){var n=this._dateAdapter.getYear(this.maxDate),r=this._dateAdapter.getMonth(this.maxDate);return t>n||t===n&&e>r}return!1},t.prototype._isYearAndMonthBeforeMinDate=function(t,e){if(this.minDate){var n=this._dateAdapter.getYear(this.minDate),r=this._dateAdapter.getMonth(this.minDate);return t',exportAs:"matYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],monthSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),kg=function(){function t(t,e,n,r,i){this._intl=t,this.calendar=e,this._dateAdapter=n,this._dateFormats=r,this.calendar.stateChanges.subscribe(function(){return i.markForCheck()})}return Object.defineProperty(t.prototype,"periodButtonText",{get:function(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);var t=this._dateAdapter.getYear(this.calendar.activeDate);return this._dateAdapter.getYearName(this._dateAdapter.createDate(t-t%24,0,1))+" – "+this._dateAdapter.getYearName(this._dateAdapter.createDate(t+24-1-t%24,0,1))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"periodButtonLabel",{get:function(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"prevButtonLabel",{get:function(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nextButtonLabel",{get:function(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),t.prototype.currentPeriodClicked=function(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"},t.prototype.previousClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)},t.prototype.nextClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)},t.prototype.previousEnabled=function(){return!this.calendar.minDate||(!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate))},t.prototype.nextEnabled=function(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)},t.prototype._isSameView=function(t,e){return"month"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e)&&this._dateAdapter.getMonth(t)==this._dateAdapter.getMonth(e):"year"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e):Math.floor(this._dateAdapter.getYear(t)/24)==Math.floor(this._dateAdapter.getYear(e)/24)},t.decorators=[{type:i.n,args:[{selector:"mat-calendar-header",template:'
      ',exportAs:"matCalendarHeader",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:jg,decorators:[{type:i.C,args:[Object(i.vb)(function(){return jg})]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t}(),jg=function(){function t(t,e,n,r){var o=this;if(this._dateAdapter=e,this._dateFormats=n,this._changeDetectorRef=r,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new i.x,this.yearSelected=new i.x,this.monthSelected=new i.x,this._userSelection=new i.x,this.stateChanges=new jm.a,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._intlChanges=t.changes.subscribe(function(){r.markForCheck(),o.stateChanges.next()})}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._clampedActiveDate},set:function(t){this._clampedActiveDate=this._dateAdapter.clampDate(t,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentView",{get:function(){return this._currentView},set:function(t){this._currentView=t,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._calendarHeaderPortal=new Km.d(this.headerComponent||kg),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView},t.prototype.ngAfterViewChecked=function(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())},t.prototype.ngOnDestroy=function(){this._intlChanges.unsubscribe(),this.stateChanges.complete()},t.prototype.ngOnChanges=function(t){var e=t.minDate||t.maxDate||t.dateFilter;if(e&&!e.firstChange){var n=this._getCurrentViewComponent();n&&(this._changeDetectorRef.detectChanges(),n._init())}this.stateChanges.next()},t.prototype.focusActiveCell=function(){this._getCurrentViewComponent()._focusActiveCell()},t.prototype.updateTodaysDate=function(){("month"==this.currentView?this.monthView:"year"==this.currentView?this.yearView:this.multiYearView).ngAfterContentInit()},t.prototype._dateSelected=function(t){this._dateAdapter.sameDate(t,this.selected)||this.selectedChange.emit(t)},t.prototype._yearSelectedInMultiYearView=function(t){this.yearSelected.emit(t)},t.prototype._monthSelectedInYearView=function(t){this.monthSelected.emit(t)},t.prototype._userSelected=function(){this._userSelection.emit()},t.prototype._goToDateInView=function(t,e){this.activeDate=t,this.currentView=e},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._getCurrentViewComponent=function(){return this.monthView||this.yearView||this.multiYearView},t.decorators=[{type:i.n,args:[{selector:"mat-calendar",template:'
      ',styles:[".mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:0}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-next-button,.mat-calendar-previous-button{position:relative}.mat-calendar-next-button::after,.mat-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-next-button,[dir=rtl] .mat-calendar-previous-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}"],host:{class:"mat-calendar"},exportAs:"matCalendar",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t.propDecorators={headerComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],_userSelection:[{type:i.S}],monthView:[{type:i.nb,args:[Og]}],yearView:[{type:i.nb,args:[Sg]}],multiYearView:[{type:i.nb,args:[Eg]}]},t}(),Ag={transformPanel:Object(qm.n)("transformPanel",[Object(qm.k)("void",Object(qm.l)({opacity:0,transform:"scale(1, 0.8)"})),Object(qm.m)("void => enter",Object(qm.e)("120ms cubic-bezier(0, 0, 0.2, 1)",Object(qm.l)({opacity:1,transform:"scale(1, 1)"}))),Object(qm.m)("* => void",Object(qm.e)("100ms linear",Object(qm.l)({opacity:0})))]),fadeInCalendar:Object(qm.n)("fadeInCalendar",[Object(qm.k)("void",Object(qm.l)({opacity:0})),Object(qm.k)("enter",Object(qm.l)({opacity:1})),Object(qm.m)("void => *",Object(qm.e)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},Dg=0,Tg=new i.E("mat-datepicker-scroll-strategy");var Pg={provide:Tg,deps:[bg.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},Ig=function(t){this._elementRef=t},Rg=function(t){function e(e){return t.call(this,e)||this}return Object(o.c)(e,t),e.prototype.ngAfterViewInit=function(){this._calendar.focusActiveCell()},e.decorators=[{type:i.n,args:[{selector:"mat-datepicker-content",template:'',styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation:landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation:portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}"],host:{class:"mat-datepicker-content","[@transformPanel]":'"enter"',"[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[Ag.transformPanel,Ag.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.qb.None,changeDetection:i.j.OnPush,inputs:["color"]}]}],e.ctorParameters=function(){return[{type:i.u}]},e.propDecorators={_calendar:[{type:i.nb,args:[jg]}]},e}(Object(Wm.u)(Ig)),Mg=function(){function t(t,e,n,r,o,a,s,l){if(this._dialog=t,this._overlay=e,this._ngZone=n,this._viewContainerRef=r,this._dateAdapter=a,this._dir=s,this._document=l,this.startView="month",this._touchUi=!1,this.yearSelected=new i.x,this.monthSelected=new i.x,this.openedStream=new i.x,this.closedStream=new i.x,this._opened=!1,this.id="mat-datepicker-"+Dg++,this._validSelected=null,this._focusedElementBeforeOpen=null,this._inputSubscription=mg.a.EMPTY,this._disabledChange=new jm.a,this._selectedChanged=new jm.a,!this._dateAdapter)throw _g("DateAdapter");this._scrollStrategy=o}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt||(this._datepickerInput?this._datepickerInput.value:null)},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){return this._color||(this._datepickerInput?this._datepickerInput._getThemePalette():void 0)},set:function(t){this._color=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touchUi",{get:function(){return this._touchUi},set:function(t){this._touchUi=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this._datepickerInput?this._datepickerInput.disabled:!!this._disabled},set:function(t){var e=Object(Sm.c)(t);e!==this._disabled&&(this._disabled=e,this._disabledChange.next(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){t?this.open():this.close()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_selected",{get:function(){return this._validSelected},set:function(t){this._validSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_minDate",{get:function(){return this._datepickerInput&&this._datepickerInput.min},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_maxDate",{get:function(){return this._datepickerInput&&this._datepickerInput.max},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_dateFilter",{get:function(){return this._datepickerInput&&this._datepickerInput._dateFilter},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.close(),this._inputSubscription.unsubscribe(),this._disabledChange.complete(),this._popupRef&&(this._popupRef.dispose(),this._popupComponentRef=null)},t.prototype.select=function(t){var e=this._selected;this._selected=t,this._dateAdapter.sameDate(e,this._selected)||this._selectedChanged.next(t)},t.prototype._selectYear=function(t){this.yearSelected.emit(t)},t.prototype._selectMonth=function(t){this.monthSelected.emit(t)},t.prototype._registerInput=function(t){var e=this;if(this._datepickerInput)throw Error("A MatDatepicker can only be associated with a single input.");this._datepickerInput=t,this._inputSubscription=this._datepickerInput._valueChange.subscribe(function(t){return e._selected=t})},t.prototype.open=function(){if(!this._opened&&!this.disabled){if(!this._datepickerInput)throw Error("Attempted to open an MatDatepicker with no associated input.");this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit()}},t.prototype.close=function(){var t=this;if(this._opened){this._popupRef&&this._popupRef.hasAttached()&&this._popupRef.detach(),this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null),this._calendarPortal&&this._calendarPortal.isAttached&&this._calendarPortal.detach();var e=function(){t._opened&&(t._opened=!1,t.closedStream.emit(),t._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(e)):e()}},t.prototype._openAsDialog=function(){var t=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(Rg,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog"}),this._dialogRef.afterClosed().subscribe(function(){return t.close()}),this._dialogRef.componentInstance.datepicker=this,this._setColor()},t.prototype._openAsPopup=function(){var t=this;this._calendarPortal||(this._calendarPortal=new Km.d(Rg,this._viewContainerRef)),this._popupRef||this._createPopup(),this._popupRef.hasAttached()||(this._popupComponentRef=this._popupRef.attach(this._calendarPortal),this._popupComponentRef.instance.datepicker=this,this._setColor(),this._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe(function(){t._popupRef.updatePosition()}))},t.prototype._createPopup=function(){var t=this,e=new bg.c({positionStrategy:this._createPopupPositionStrategy(),hasBackdrop:!0,backdropClass:"mat-overlay-transparent-backdrop",direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(e),this._popupRef.overlayElement.setAttribute("role","dialog"),Object(gg.a)(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(Object(vg.a)(function(e){return e.keyCode===km.g||t._datepickerInput&&e.altKey&&e.keyCode===km.p}))).subscribe(function(){return t.close()})},t.prototype._createPopupPositionStrategy=function(){return this._overlay.position().flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition().withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"}])},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._setColor=function(){var t=this.color;this._popupComponentRef&&(this._popupComponentRef.instance.color=t),this._dialogRef&&(this._dialogRef.componentInstance.color=t)},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],t.ctorParameters=function(){return[{type:ym.b},{type:bg.b},{type:i.Q},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[Tg]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Df.c]}]}]},t.propDecorators={calendarHeaderComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],color:[{type:i.G}],touchUi:[{type:i.G}],disabled:[{type:i.G}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],panelClass:[{type:i.G}],dateClass:[{type:i.G}],openedStream:[{type:i.S,args:["opened"]}],closedStream:[{type:i.S,args:["closed"]}],opened:[{type:i.G}]},t}(),Ng={provide:xm.g,useExisting:Object(i.vb)(function(){return Vg}),multi:!0},Fg={provide:xm.f,useExisting:Object(i.vb)(function(){return Vg}),multi:!0},Lg=function(t,e){this.target=t,this.targetElement=e,this.value=this.target.value},Vg=function(){function t(t,e,n,r){var o=this;if(this._elementRef=t,this._dateAdapter=e,this._dateFormats=n,this._formField=r,this.dateChange=new i.x,this.dateInput=new i.x,this._valueChange=new i.x,this._disabledChange=new i.x,this._onTouched=function(){},this._cvaOnChange=function(){},this._validatorOnChange=function(){},this._datepickerSubscription=mg.a.EMPTY,this._localeSubscription=mg.a.EMPTY,this._parseValidator=function(){return o._lastValueValid?null:{matDatepickerParse:{text:o._elementRef.nativeElement.value}}},this._minValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.min||!e||o._dateAdapter.compareDate(o.min,e)<=0?null:{matDatepickerMin:{min:o.min,actual:e}}},this._maxValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.max||!e||o._dateAdapter.compareDate(o.max,e)>=0?null:{matDatepickerMax:{max:o.max,actual:e}}},this._filterValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return o._dateFilter&&e&&!o._dateFilter(e)?{matDatepickerFilter:!0}:null},this._validator=xm.k.compose([this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]),this._lastValueValid=!1,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._localeSubscription=e.localeChanges.subscribe(function(){o.value=o.value})}return Object.defineProperty(t.prototype,"matDatepicker",{set:function(t){var e=this;t&&(this._datepicker=t,this._datepicker._registerInput(this),this._datepickerSubscription.unsubscribe(),this._datepickerSubscription=this._datepicker._selectedChanged.subscribe(function(t){e.value=t,e._cvaOnChange(t),e._onTouched(),e.dateInput.emit(new Lg(e,e._elementRef.nativeElement)),e.dateChange.emit(new Lg(e,e._elementRef.nativeElement))}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"matDatepickerFilter",{set:function(t){this._dateFilter=t,this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=!t||this._dateAdapter.isValid(t),t=this._getValidDateOrNull(t);var e=this.value;this._value=t,this._formatValue(t),this._dateAdapter.sameDate(e,t)||this._valueChange.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return this._min},set:function(t){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return this._max},set:function(t){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return!!this._disabled},set:function(t){var e=Object(Sm.c)(t),n=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this._disabledChange.emit(e)),e&&n.blur&&n.blur()},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._datepickerSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()},t.prototype.registerOnValidatorChange=function(t){this._validatorOnChange=t},t.prototype.validate=function(t){return this._validator?this._validator(t):null},t.prototype.getPopupConnectionElementRef=function(){return this.getConnectedOverlayOrigin()},t.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},t.prototype.writeValue=function(t){this.value=t},t.prototype.registerOnChange=function(t){this._cvaOnChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._onKeydown=function(t){var e=t.altKey&&t.keyCode===km.d;this._datepicker&&e&&!this._elementRef.nativeElement.readOnly&&(this._datepicker.open(),t.preventDefault())},t.prototype._onInput=function(t){var e=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=!e||this._dateAdapter.isValid(e),e=this._getValidDateOrNull(e),this._dateAdapter.sameDate(e,this._value)?this._validatorOnChange():(this._value=e,this._cvaOnChange(e),this._valueChange.emit(e),this.dateInput.emit(new Lg(this,this._elementRef.nativeElement)))},t.prototype._onChange=function(){this.dateChange.emit(new Lg(this,this._elementRef.nativeElement))},t.prototype._getThemePalette=function(){return this._formField?this._formField.color:void 0},t.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},t.prototype._formatValue=function(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.decorators=[{type:i.t,args:[{selector:"input[matDatepicker]",providers:[Ng,Fg,{provide:_m.a,useExisting:t}],host:{"[attr.aria-haspopup]":"true","[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],t.ctorParameters=function(){return[{type:i.u},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:wm.a,decorators:[{type:i.R}]}]},t.propDecorators={matDatepicker:[{type:i.G}],matDatepickerFilter:[{type:i.G}],value:[{type:i.G}],min:[{type:i.G}],max:[{type:i.G}],disabled:[{type:i.G}],dateChange:[{type:i.S}],dateInput:[{type:i.S}]},t}(),Bg=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[matDatepickerToggleIcon]"}]}],t}(),zg=function(){function t(t,e,n){this._intl=t,this._changeDetectorRef=e,this._stateChanges=mg.a.EMPTY;var r=Number(n);this.tabIndex=r||0===r?r:null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(t){this._disabled=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){t.datepicker&&this._watchStateChanges()},t.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},t.prototype.ngAfterContentInit=function(){this._watchStateChanges()},t.prototype._open=function(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())},t.prototype._watchStateChanges=function(){var t=this,e=this.datepicker?this.datepicker._disabledChange:Object(Am.a)(),n=this.datepicker&&this.datepicker._datepickerInput?this.datepicker._datepickerInput._disabledChange:Object(Am.a)(),r=this.datepicker?Object(gg.a)(this.datepicker.openedStream,this.datepicker.closedStream):Object(Am.a)();this._stateChanges.unsubscribe(),this._stateChanges=Object(gg.a)(this._intl.changes,e,n,r).subscribe(function(){return t._changeDetectorRef.markForCheck()})},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker-toggle",template:'',styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}"],host:{class:"mat-datepicker-toggle","[attr.tabindex]":"-1","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"(focus)":"_button.focus()"},exportAs:"matDatepickerToggle",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:i.k},{type:String,decorators:[{type:i.h,args:["tabindex"]}]}]},t.propDecorators={datepicker:[{type:i.G,args:["for"]}],tabIndex:[{type:i.G}],disabled:[{type:i.G}],disableRipple:[{type:i.G}],_customIcon:[{type:i.r,args:[Bg]}],_button:[{type:i.nb,args:["button"]}]},t}(),Hg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Df.b,Cm.b,ym.d,bg.e,Om.a,Km.h],exports:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],declarations:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],providers:[wg,Pg],entryComponents:[Rg,kg]}]}],t}(),Ug=function(){function t(){}return t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-header",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-header{position:relative;display:block;overflow:hidden;padding:15px;text-align:center}"]}]}],t}(),Gg=function(){function t(t,e,n,r,o){this.animationBuilder=t,this.elementRef=e,this.renderer=n,this.changeDetectorRef=r,this.document=o,this._expanded=!1,this._alternate=!1,this._mobile=!1,this._size=50,this.animationDone=new i.x,this.clazz="primary"}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"alternate",{get:function(){return this._alternate},set:function(t){this._alternate=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{get:function(){return this._mobile},set:function(t){this._mobile=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle()},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.initialStyle=this.document.defaultView.getComputedStyle(this.elementRef.nativeElement),this.setStyle(),this.changeDetectorRef.detectChanges()},t.prototype.getCollapsedStyle=function(){return{top:"50%",left:this.alternate||this.mobile?"-5px":"calc(100% + 5px)",width:this.size+"px",height:this.size+"px",opacity:1,transform:"translateY(-50%) translateX(-50%)",boxShadow:this.initialStyle&&this.initialStyle.boxShadow,borderRadius:"100px"}},t.prototype.getTransitionStyle=function(){return Object(o.a)({},this.getCollapsedStyle(),{left:"50%",opacity:.5,boxShadow:"none"})},t.prototype.getExpandedStyle=function(){return Object(o.a)({},this.getTransitionStyle(),{left:"0",transform:"translateX(0) translateY(-50%)",width:"100%",height:"100%",opacity:1,borderRadius:0})},t.prototype.animate=function(){var t=this;this.destroyAnimation(),this.expanded?(this.animation=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("200ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone(function(){return t.animationDone.emit({toState:"expanded"})}),this.animation.play()):(this.animationBuilder,this.animation=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("100ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone(function(){return t.animationDone.emit({toState:"collapsed"})}),this.animation.play())},t.prototype.setStyle=function(){var t=this;this.destroyAnimation();var e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach(function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])})},t.prototype.destroyAnimation=function(){this.animation&&(this.animation.destroy(),delete this.animation)},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-dot",template:"\n",encapsulation:i.qb.None,styles:["mgl-timeline-entry-dot{display:block;position:absolute}"]}]}],t.ctorParameters=function(){return[{type:qm.b},{type:i.u},{type:i.Y},{type:i.k},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={clazz:[{type:i.G,args:["class"]},{type:i.z,args:["class"]}],size:[{type:i.G}]},t}(),qg=function(){function t(t,e,n){this.elementRef=t,this.animationBuilder=e,this.renderer=n,this.animationDone=new i.x,this._expanded=!1}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this.contentHeight=this.elementRef.nativeElement.scrollHeight;var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.contentHeight=this.elementRef.nativeElement.scrollHeight,this.setStyle()},t.prototype.getCollapsedStyle=function(){return{height:"0px"}},t.prototype.getExpandedStyle=function(){return{height:this.contentHeight+"px"}},t.prototype.animate=function(){var t,e=this;this.expanded?((t=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement)).onDone(function(){return e.animationDone.emit({toState:"expanded"})}),t.play()):(this.animationBuilder,(t=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement)).onDone(function(){return e.animationDone.emit({toState:"collapsed"})}),t.play())},t.prototype.setStyle=function(){var t=this,e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach(function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])})},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-content",template:"
      ",encapsulation:i.qb.None,styles:["mgl-timeline-entry-content{position:relative;display:block;overflow:hidden}mgl-timeline-entry-content>div{padding:10px}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:qm.b},{type:i.Y}]},t}(),Wg=function(){function t(t){this.elementRef=t}return Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-side",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-side{position:absolute;top:0;left:100%;width:100%;text-align:center}mgl-timeline-entry-side.alternate{left:-100%}mgl-timeline-entry-side.mobile{display:none}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Yg=function(){function t(t){this.elementRef=t,this.subscriptions=[],this.focusOnOpen=!1,this._mobile=!1,this.changed=new i.x,this.animationDone=new i.x}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this.dot?this.dot.expanded&&this.content.expanded:this.content.expanded},set:function(t){this.dot&&t?this.dot.expanded=t:this.content.expanded=t,this.changed.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t),this.dot&&(this.dot.mobile=t),this.side&&(this.side.mobile=t)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this.dot&&this.subscriptions.push(this.dot.animationDone.subscribe(function(e){"expanded"===e.toState?t.content.expanded=!0:t.animationDone.emit(e)})),this.content&&this.subscriptions.push(this.content.animationDone.subscribe(function(e){t.dot&&"collapsed"===e.toState?t.dot.expanded=!1:(t.focusOnOpen&&t.elementRef.nativeElement.scrollIntoView({behavior:"smooth"}),t.animationDone.emit(e))}))},Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t),this.dot&&(this.dot.alternate=t),this.side&&(this.side.alternate=t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.collapse=function(){this.expanded=!1},t.prototype.expand=function(){this.expanded=!0},t.prototype.toggle=function(t){var e=this.containsInPath(t,"mgl-timeline-entry-header"),n=this.containsInPath(t,"mgl-timeline-entry-dot");(e||n)&&(this.expanded=!this.expanded)},t.prototype.containsInPath=function(t,e){for(var n=t.target;n;){if(n.localName===e)return!0;n=n.parentElement}return!1},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry",template:'\n
      \n
      \n \n \n
      \n \n
      ',encapsulation:i.qb.None,styles:["mgl-timeline-entry{display:block;position:relative;margin-bottom:50px;width:calc(50% - 5px)}mgl-timeline-entry.alternate{margin-left:calc(50% + 5px)}mgl-timeline-entry.mobile{width:calc(100% - 30px);margin-left:30px}mgl-timeline-entry .mgl-timeline-entry-card{background-color:#f0f0f0}mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header{position:relative;background-color:#e6e6e6}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t.propDecorators={expanded:[{type:i.z,args:["class.expanded"]}],changed:[{type:i.S,args:["expand"]}],animationDone:[{type:i.S}],content:[{type:i.r,args:[qg]}],header:[{type:i.r,args:[Ug]}],dot:[{type:i.r,args:[Gg]}],side:[{type:i.r,args:[Wg]}]},t}(),Kg=function(){function t(t,e){this.elementRef=t,this.changeDetectorRef=e,this.toggle=!0,this.mobileWidthThreshold=640,this.alternate=!0,this.side="left",this._focusOnOpen=!1,this.subscriptions=[]}return Object.defineProperty(t.prototype,"mobile",{get:function(){return this.elementRef.nativeElement.classList.contains("mobile")},set:function(t){this.content&&this.content.forEach(function(e){return e.mobile=t}),this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focusOnOpen",{get:function(){return this._focusOnOpen},set:function(t){this.content&&this.content.forEach(function(e){return e.focusOnOpen=t}),this._focusOnOpen=t},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){this.updateContent()},t.prototype.ngOnDestroy=function(){this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.ngAfterViewInit=function(){var t=this;this.mobile=this.elementRef.nativeElement.clientWidth\n',encapsulation:i.qb.None,styles:["mgl-timeline{position:relative;display:block;padding:50px 0}mgl-timeline .mgl-timeline-line{position:absolute;top:0;height:100%;background-color:#a0a0a0;left:50%;width:10px;-webkit-transform:translateX(-50%);transform:translateX(-50%)}mgl-timeline.mobile .mgl-timeline-line{left:20px;-webkit-transform:none;transform:none}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.k}]},t.propDecorators={toggle:[{type:i.G}],mobileWidthThreshold:[{type:i.G}],alternate:[{type:i.G}],side:[{type:i.G}],focusOnOpen:[{type:i.G}],content:[{type:i.s,args:[Yg]}],onResize:[{type:i.A,args:["window:resize",["$event"]]}]},t}(),Qg=function(){function t(){}return t.decorators=[{type:i.L,args:[{declarations:[Kg,Yg,Ug,Wg,qg,Gg],exports:[Kg,Yg,Ug,Wg,qg,Gg]}]}],t}(),Xg=n("Gwao"),Zg=n("dO5I"),$g=n("X2iB"),Jg=n("sB9w"),ty=n("6nr9"),ey=n("6Qg2"),ny=n("lGQG"),ry=n("lYZG"),iy=n("XlPw"),oy=n("bne5"),ay=n("dEwP"),sy=n("6blF"),ly=n("+umK"),cy=new sy.a(ly.a);var uy=n("67Y/"),py=n("15JJ"),dy=n("xlPZ");var hy=n("xMyE"),fy=n("vubp"),my="Service workers are disabled or not supported by this browser";var gy=function(){function t(t){if(this.serviceWorker=t,t){var e=Object(oy.a)(t,"controllerchange").pipe(Object(uy.a)(function(){return t.controller})),n=Object(ry.a)(function(){return Object(Am.a)(t.controller)}),r=Object(ay.a)(n,e);this.worker=r.pipe(Object(vg.a)(function(t){return!!t})),this.registration=this.worker.pipe(Object(py.a)(function(){return t.getRegistration()}));var i=Object(oy.a)(t,"message").pipe(Object(uy.a)(function(t){return t.data})).pipe(Object(vg.a)(function(t){return t&&t.type})).pipe(o?Object(dy.a)(function(){return new jm.a},o):Object(dy.a)(new jm.a));i.connect(),this.events=i}else this.worker=this.events=this.registration=(a=my,Object(ry.a)(function(){return Object(iy.a)(new Error(a))}));var o,a}return t.prototype.postMessage=function(t,e){return this.worker.pipe(Object(yg.a)(1),Object(hy.a)(function(n){n.postMessage(Object(o.a)({action:t},e))})).toPromise().then(function(){})},t.prototype.postMessageWithStatus=function(t,e,n){var r=this.waitForStatus(n),i=this.postMessage(t,e);return Promise.all([r,i]).then(function(){})},t.prototype.generateNonce=function(){return Math.round(1e7*Math.random())},t.prototype.eventsOfType=function(t){return this.events.pipe(Object(vg.a)(function(e){return e.type===t}))},t.prototype.nextEventOfType=function(t){return this.eventsOfType(t).pipe(Object(yg.a)(1))},t.prototype.waitForStatus=function(t){return this.eventsOfType("STATUS").pipe(Object(vg.a)(function(e){return e.nonce===t}),Object(yg.a)(1),Object(uy.a)(function(t){if(!t.status)throw new Error(t.error)})).toPromise()},Object.defineProperty(t.prototype,"isEnabled",{get:function(){return!!this.serviceWorker},enumerable:!0,configurable:!0}),t}(),yy=function(){function t(t){if(this.sw=t,this.subscriptionChanges=new jm.a,!t.isEnabled)return this.messages=cy,this.notificationClicks=cy,void(this.subscription=cy);this.messages=this.sw.eventsOfType("PUSH").pipe(Object(uy.a)(function(t){return t.data})),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Object(uy.a)(function(t){return t.data})),this.pushManager=this.sw.registration.pipe(Object(uy.a)(function(t){return t.pushManager}));var e=this.pushManager.pipe(Object(py.a)(function(t){return t.getSubscription()}));this.subscription=Object(gg.a)(e,this.subscriptionChanges)}return Object.defineProperty(t.prototype,"isEnabled",{get:function(){return this.sw.isEnabled},enumerable:!0,configurable:!0}),t.prototype.requestSubscription=function(t){var e=this;if(!this.sw.isEnabled)return Promise.reject(new Error(my));for(var n={userVisibleOnly:!0},r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),i=new Uint8Array(new ArrayBuffer(r.length)),o=0;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Sy=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},ky=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(),this.stateChanges.next()))},e.prototype._focusInput=function(){this._chipInput&&this._chipInput.focus()},e.prototype._keydown=function(t){var e=t.target;t.keyCode===o.b&&this._isInputEmpty(e)?(this._keyManager.setLastItemActive(),t.preventDefault()):e&&e.classList.contains("mat-chip")&&(t.keyCode===o.h?(this._keyManager.setFirstItemActive(),t.preventDefault()):t.keyCode===o.e?(this._keyManager.setLastItemActive(),t.preventDefault()):this._keyManager.onKeydown(t),this.stateChanges.next())},e.prototype._updateTabIndex=function(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)},e.prototype._updateFocusForDestroyedChips=function(){if(null!=this._lastDestroyedChipIndex&&this.chips.length){var t=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(t)}this._lastDestroyedChipIndex=null},e.prototype._isValidIndex=function(t){return t>=0&&t',exportAs:"matChipList",host:{"[attr.tabindex]":"disabled ? null : _tabIndex","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-required]":"required.toString()","[attr.aria-disabled]":"disabled.toString()","[attr.aria-invalid]":"errorState","[attr.aria-multiselectable]":"multiple","[attr.role]":"role","[class.mat-chip-list-disabled]":"disabled","[class.mat-chip-list-invalid]":"errorState","[class.mat-chip-list-required]":"required","[attr.aria-orientation]":"ariaOrientation",class:"mat-chip-list","(focus)":"focus()","(blur)":"_blur()","(keydown)":"_keydown($event)","[id]":"_uid"},providers:[{provide:v.b,useExisting:e}],styles:[".mat-chip{position:relative;overflow:hidden;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}.mat-standard-chip .mat-chip-remove.mat-icon{width:18px;height:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:'';pointer-events:none;transition:opacity .2s cubic-bezier(.35,0,.25,1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:0}.mat-standard-chip:focus::after{opacity:.16}@media (-ms-high-contrast:active){.mat-standard-chip{outline:solid 1px}.mat-standard-chip:focus{outline:dotted 2px}}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper .mat-standard-chip,.mat-chip-list-wrapper input.mat-input-element{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}"],encapsulation:s.qb.None,changeDetection:s.j.OnPush}]}],e.ctorParameters=function(){return[{type:s.u},{type:s.k},{type:m.b,decorators:[{type:s.R}]},{type:y.i,decorators:[{type:s.R}]},{type:y.d,decorators:[{type:s.R}]},{type:l.b},{type:y.h,decorators:[{type:s.R},{type:s.eb}]}]},e.propDecorators={errorStateMatcher:[{type:s.G}],multiple:[{type:s.G}],compareWith:[{type:s.G}],value:[{type:s.G}],required:[{type:s.G}],placeholder:[{type:s.G}],disabled:[{type:s.G}],ariaOrientation:[{type:s.G,args:["aria-orientation"]}],selectable:[{type:s.G}],tabIndex:[{type:s.G}],change:[{type:s.S}],valueChange:[{type:s.S}],chips:[{type:s.s,args:[O]}]},e}(j),P=0,I=function(){function t(t,e){this._elementRef=t,this._defaultOptions=e,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new s.x,this.placeholder="",this.id="mat-chip-list-input-"+P++,this._disabled=!1,this._inputElement=this._elementRef.nativeElement}return Object.defineProperty(t.prototype,"chipList",{set:function(t){t&&(this._chipList=t,this._chipList.registerInput(this))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"addOnBlur",{get:function(){return this._addOnBlur},set:function(t){this._addOnBlur=Object(i.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled||this._chipList&&this._chipList.disabled},set:function(t){this._disabled=Object(i.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return!this._inputElement.value},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._chipList.stateChanges.next()},t.prototype._keydown=function(t){this._emitChipEnd(t)},t.prototype._blur=function(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()},t.prototype._focus=function(){this.focused=!0,this._chipList.stateChanges.next()},t.prototype._emitChipEnd=function(t){!this._inputElement.value&&t&&this._chipList._keydown(t),t&&!this._isSeparatorKey(t)||(this.chipEnd.emit({input:this._inputElement,value:this._inputElement.value}),t&&t.preventDefault())},t.prototype._onInput=function(){this._chipList.stateChanges.next()},t.prototype.focus=function(){this._inputElement.focus()},t.prototype._isSeparatorKey=function(t){if(Object(o.s)(t))return!1;var e=this.separatorKeyCodes,n=t.keyCode;return Array.isArray(e)?e.indexOf(n)>-1:e.has(n)},t.decorators=[{type:s.t,args:[{selector:"input[matChipInputFor]",exportAs:"matChipInput, matChipInputFor",host:{class:"mat-chip-input mat-input-element","(keydown)":"_keydown($event)","(blur)":"_blur()","(focus)":"_focus()","(input)":"_onInput()","[id]":"id","[attr.disabled]":"disabled || null","[attr.placeholder]":"placeholder || null","[attr.aria-invalid]":"_chipList && _chipList.ngControl ? _chipList.ngControl.invalid : null"}}]}],t.ctorParameters=function(){return[{type:s.u},{type:void 0,decorators:[{type:s.C,args:[S]}]}]},t.propDecorators={chipList:[{type:s.G,args:["matChipInputFor"]}],addOnBlur:[{type:s.G,args:["matChipInputAddOnBlur"]}],separatorKeyCodes:[{type:s.G,args:["matChipInputSeparatorKeyCodes"]}],chipEnd:[{type:s.S,args:["matChipInputTokenEnd"]}],placeholder:[{type:s.G}],id:[{type:s.G}],disabled:[{type:s.G}]},t}(),R=[T,O,I,E,x,C],M={separatorKeyCodes:[o.f]},N=function(){function t(){}return t.decorators=[{type:s.L,args:[{exports:R,declarations:R,providers:[l.b,{provide:S,useValue:M}]}]}],t}()},0:function(t,e,n){t.exports=n("zUnb")},"0/Q6":function(t,e,n){"use strict";n.d(e,"a",function(){return R});var r=n("mrSG"),i=n("CcnG"),o=n("Wf4p"),a=n("K9Ia"),s=n("pugT"),l=n("ny24"),c=n("lLAP"),u=n("n6gG"),p=n("YlbQ"),d=n("YSh2"),h=n("gIcY"),f=n("Ip0R"),m=n("LC5p"),g=function(){},y=Object(o.v)(g),v=function(){},b=Object(o.v)(v),_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._stateChanges=new a.a,e}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(){this._stateChanges.next()},e.prototype.ngOnDestroy=function(){this._stateChanges.complete()},e.decorators=[{type:i.n,args:[{selector:"mat-nav-list",exportAs:"matNavList",host:{role:"navigation",class:"mat-nav-list mat-list-base"},template:"",styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],inputs:["disableRipple"],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e}(y),w=function(t){function e(e){var n=t.call(this)||this;return n._elementRef=e,n._stateChanges=new a.a,"action-list"===n._getListType()&&e&&e.nativeElement.classList.add("mat-action-list"),n}return Object(r.c)(e,t),e.prototype._getListType=function(){var t=this._elementRef;if(t){var e=t.nativeElement.nodeName.toLowerCase();if("mat-list"===e)return"list";if("mat-action-list"===e)return"action-list"}return null},e.prototype.ngOnChanges=function(){this._stateChanges.next()},e.prototype.ngOnDestroy=function(){this._stateChanges.complete()},e.decorators=[{type:i.n,args:[{selector:"mat-list, mat-action-list",exportAs:"matList",template:"",host:{class:"mat-list mat-list-base"},styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],inputs:["disableRipple"],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u}]},e}(y),x=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-list-avatar], [matListAvatar]",host:{class:"mat-list-avatar"}}]}],t}(),C=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-list-icon], [matListIcon]",host:{class:"mat-list-icon"}}]}],t}(),O=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[mat-subheader], [matSubheader]",host:{class:"mat-subheader"}}]}],t}(),E=function(t){function e(e,n,r,i){var o=t.call(this)||this;o._element=e,o._isInteractiveList=!1,o._destroyed=new a.a,o._isInteractiveList=!!(n||r&&"action-list"===r._getListType()),o._list=n||r;var s=o._getHostElement();return"button"!==s.nodeName.toLowerCase()||s.hasAttribute("type")||s.setAttribute("type","button"),o._list&&i&&o._list._stateChanges.pipe(Object(l.a)(o._destroyed)).subscribe(function(){i.markForCheck()}),o}return Object(r.c)(e,t),e.prototype.ngAfterContentInit=function(){Object(o.z)(this._lines,this._element)},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._isRippleDisabled=function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)},e.prototype._getHostElement=function(){return this._element.nativeElement},e.decorators=[{type:i.n,args:[{selector:"mat-list-item, a[mat-list-item], button[mat-list-item]",exportAs:"matListItem",host:{class:"mat-list-item","[class.mat-list-item-avatar]":"_avatar || _icon","[class.mat-list-item-with-avatar]":"_avatar || _icon"},inputs:["disableRipple"],template:'
      ',encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:_,decorators:[{type:i.R}]},{type:w,decorators:[{type:i.R}]},{type:i.k}]},e.propDecorators={_lines:[{type:i.s,args:[o.i]}],_avatar:[{type:i.r,args:[x]}],_icon:[{type:i.r,args:[C]}]},e}(b),S=function(){},k=Object(o.v)(S),j=function(){},A=Object(o.v)(j),D={provide:h.g,useExisting:Object(i.vb)(function(){return I}),multi:!0},T=function(t,e){this.source=t,this.option=e},P=function(t){function e(e,n,r){var i=t.call(this)||this;return i._element=e,i._changeDetector=n,i.selectionList=r,i._selected=!1,i._disabled=!1,i._hasFocus=!1,i.checkboxPosition="after",i}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){this.selected&&t!==this.value&&(this.selected=!1),this._value=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.selectionList&&this.selectionList.disabled},set:function(t){var e=Object(u.c)(t);e!==this._disabled&&(this._disabled=e,this._changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.selectionList.selectedOptions.isSelected(this)},set:function(t){var e=Object(u.c)(t);e!==this._selected&&(this._setSelected(e),this.selectionList._reportValueChange())},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this,e=this._selected;Promise.resolve().then(function(){(t._selected||e)&&(t.selected=!0,t._changeDetector.markForCheck())})},e.prototype.ngAfterContentInit=function(){Object(o.z)(this._lines,this._element)},e.prototype.ngOnDestroy=function(){var t=this;this.selected&&Promise.resolve().then(function(){return t.selected=!1});var e=this._hasFocus,n=this.selectionList._removeOptionFromList(this);e&&n&&n.focus()},e.prototype.toggle=function(){this.selected=!this.selected},e.prototype.focus=function(){this._element.nativeElement.focus()},e.prototype.getLabel=function(){return this._text&&this._text.nativeElement.textContent||""},e.prototype._isRippleDisabled=function(){return this.disabled||this.disableRipple||this.selectionList.disableRipple},e.prototype._handleClick=function(){this.disabled||(this.toggle(),this.selectionList._emitChangeEvent(this))},e.prototype._handleFocus=function(){this.selectionList._setFocusedOption(this),this._hasFocus=!0},e.prototype._handleBlur=function(){this.selectionList._onTouched(),this._hasFocus=!1},e.prototype._getHostElement=function(){return this._element.nativeElement},e.prototype._setSelected=function(t){return t!==this._selected&&(this._selected=t,t?this.selectionList.selectedOptions.select(this):this.selectionList.selectedOptions.deselect(this),this._changeDetector.markForCheck(),!0)},e.prototype._markForCheck=function(){this._changeDetector.markForCheck()},e.decorators=[{type:i.n,args:[{selector:"mat-list-option",exportAs:"matListOption",inputs:["disableRipple"],host:{role:"option",class:"mat-list-item mat-list-option","(focus)":"_handleFocus()","(blur)":"_handleBlur()","(click)":"_handleClick()",tabindex:"-1","[class.mat-list-item-disabled]":"disabled","[class.mat-list-item-with-avatar]":"_avatar || _icon","[attr.aria-selected]":"selected.toString()","[attr.aria-disabled]":"disabled.toString()"},template:'
      ',encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:i.k},{type:I,decorators:[{type:i.C,args:[Object(i.vb)(function(){return I})]}]}]},e.propDecorators={_avatar:[{type:i.r,args:[x]}],_icon:[{type:i.r,args:[C]}],_lines:[{type:i.s,args:[o.i]}],_text:[{type:i.nb,args:["text"]}],checkboxPosition:[{type:i.G}],value:[{type:i.G}],disabled:[{type:i.G}],selected:[{type:i.G}]},e}(A),I=function(t){function e(e,n){var r=t.call(this)||this;return r._element=e,r.selectionChange=new i.x,r.tabIndex=0,r._disabled=!1,r.selectedOptions=new p.c(!0),r._onChange=function(t){},r._modelChanges=s.a.EMPTY,r._onTouched=function(){},r.tabIndex=parseInt(n)||0,r}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(u.c)(t),this._markOptionsForCheck()},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._keyManager=new c.d(this.options).withWrap().withTypeAhead().skipPredicate(function(){return!1}).withAllowedModifierKeys(["shiftKey"]),this._tempValues&&(this._setOptionsFromValues(this._tempValues),this._tempValues=null),this._modelChanges=this.selectedOptions.onChange.subscribe(function(t){if(t.added)for(var e=0,n=t.added;e-1&&this._keyManager.activeItemIndex===e&&(e>0?this._keyManager.updateActiveItem(e-1):0===e&&this.options.length>1&&this._keyManager.updateActiveItem(Math.min(e+1,this.options.length-1))),this._keyManager.activeItem},e.prototype._keydown=function(t){var e=t.keyCode,n=this._keyManager,r=n.activeItemIndex,i=Object(d.s)(t);switch(e){case d.n:case d.f:i||(this._toggleFocusedOption(),t.preventDefault());break;case d.h:case d.e:i||(e===d.h?n.setFirstItemActive():n.setLastItemActive(),t.preventDefault());break;case d.a:Object(d.s)(t,"ctrlKey")&&(this.options.find(function(t){return!t.selected})?this.selectAll():this.deselectAll(),t.preventDefault());break;default:n.onKeydown(t)}e!==d.p&&e!==d.d||!t.shiftKey||n.activeItemIndex===r||this._toggleFocusedOption()},e.prototype._reportValueChange=function(){this.options&&this._onChange(this._getSelectedOptionValues())},e.prototype._emitChangeEvent=function(t){this.selectionChange.emit(new T(this,t))},e.prototype.writeValue=function(t){this.options?this._setOptionsFromValues(t||[]):this._tempValues=t},e.prototype.setDisabledState=function(t){this.disabled=t},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype._setOptionsFromValues=function(t){var e=this;this.options.forEach(function(t){return t._setSelected(!1)}),t.forEach(function(t){var n=e.options.find(function(n){return!n.selected&&(e.compareWith?e.compareWith(n.value,t):n.value===t)});n&&n._setSelected(!0)})},e.prototype._getSelectedOptionValues=function(){return this.options.filter(function(t){return t.selected}).map(function(t){return t.value})},e.prototype._toggleFocusedOption=function(){var t=this._keyManager.activeItemIndex;if(null!=t&&this._isValidIndex(t)){var e=this.options.toArray()[t];e&&!e.disabled&&(e.toggle(),this._emitChangeEvent(e))}},e.prototype._setAllOptionsSelected=function(t){var e=!1;this.options.forEach(function(n){n._setSelected(t)&&(e=!0)}),e&&this._reportValueChange()},e.prototype._isValidIndex=function(t){return t>=0&&t
      ",styles:[".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:0}mat-action-list button{background:0 0;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:0}@media (-ms-high-contrast:active){.mat-selection-list:focus{outline-style:dotted}.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover,mat-action-list .mat-list-item:focus,mat-action-list .mat-list-item:hover{outline:dotted 1px}}@media (hover:none){.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-list-option:not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover{background:0 0}}"],encapsulation:i.qb.None,providers:[D],changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:i.u},{type:String,decorators:[{type:i.h,args:["tabindex"]}]}]},e.propDecorators={options:[{type:i.s,args:[P,{descendants:!0}]}],selectionChange:[{type:i.S}],tabIndex:[{type:i.G}],compareWith:[{type:i.G}],disabled:[{type:i.G}]},e}(k),R=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[o.j,o.q,o.h,o.o,f.b],exports:[w,_,E,x,o.j,o.h,C,O,o.o,I,P,m.a],declarations:[w,_,E,x,C,O,I,P]}]}],t}()},"0/uQ":function(t,e,n){"use strict";var r=n("6blF"),i=n("Fxb1"),o=n("pugT"),a=n("xTla");var s=n("JF+6"),l=n("En8+");var c=n("/WYv"),u=n("2ePl");function p(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[a.a]}(t))return function(t,e){return new r.a(function(n){var r=new o.a;return r.add(e.schedule(function(){var i=t[a.a]();r.add(i.subscribe({next:function(t){r.add(e.schedule(function(){return n.next(t)}))},error:function(t){r.add(e.schedule(function(){return n.error(t)}))},complete:function(){r.add(e.schedule(function(){return n.complete()}))}}))})),r})}(t,e);if(Object(c.a)(t))return function(t,e){return new r.a(function(n){var r=new o.a;return r.add(e.schedule(function(){return t.then(function(t){r.add(e.schedule(function(){n.next(t),r.add(e.schedule(function(){return n.complete()}))}))},function(t){r.add(e.schedule(function(){return n.error(t)}))})})),r})}(t,e);if(Object(u.a)(t))return Object(s.a)(t,e);if(function(t){return t&&"function"==typeof t[l.a]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new o.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(function(){r=t[l.a](),i.add(e.schedule(function(){if(!n.closed){var t,e;try{var i=r.next();t=i.value,e=i.done}catch(o){return void n.error(o)}e?n.complete():(n.next(t),this.schedule())}}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function d(t,e){return e?p(t,e):t instanceof r.a?t:new r.a(Object(i.a)(t))}n.d(e,"a",function(){return d})},"0FJh":function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("o3x0"),o=n("Gwao"),a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e,n){this.minionsService=t,this.dialogRef=e,this.timeline=[],this.retriveTimeline()}return t.prototype.ngOnInit=function(){},t.prototype.isToday=function(t){var e=new Date;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()},t.prototype.retriveTimeline=function(){return c(this,void 0,void 0,function(){var t,e,n,r,i,o,a,s,l,c,p,h;return u(this,function(u){switch(u.label){case 0:return this.loading=!0,[4,this.minionsService.getTimeline()];case 1:if(!(t=u.sent()))return[2];this.timeline=[];try{for(e=d(t),n=e.next();!n.done;n=e.next())r=n.value,i=r.minionId,o=r.timestamp,a=new Date(o),(s=this.minionsService.getMinion(i))||(s={name:"--"}),l=a.toLocaleTimeString(),this.isToday(a)||(l+=" "+a.toLocaleDateString()),c=[],r.status[s.minionType]&&(c=Object.entries(r.status[s.minionType]).map(function(t){return{name:t[0],value:t[1]}}).sort(function(t,e){return t\r\n \r\n {{menu.icon}} \r\n

      {{ menu.name }}

      \r\n \r\n {{menu?.chip?.value}} \r\n \r\n \r\n expand_more\r\n
      \r\n\r\n \x3c!-- RTL --\x3e\r\n \r\n {{menu.icon}} \r\n

      {{ menu.name | translate }}

      \r\n
      \r\n\r\n \x3c!-- LTR --\x3e\r\n \r\n {{menu.icon}} \r\n

      {{ menu.name | translate }}

      \r\n
      \r\n\r\n \r\n \r\n\r\n\r\n'},"2ePl":function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t}},"35e8":function(t,e,n){"use strict";n.d(e,"a",function(){return g});var r=n("CcnG"),i=n("BHnd"),o=n("o3x0"),a=n("gIcY"),s=n("Gwao"),l=n("dO5I"),c=n("WU0F"),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t,e){return function(n,r){e(n,r,t)}},h=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},f=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]` elements explicitly or just place content inside of a `` for a single row.")}())},e.decorators=[{type:a.n,args:[{selector:"mat-toolbar",exportAs:"matToolbar",template:'',styles:["@media (-ms-high-contrast:active){.mat-toolbar{outline:solid 1px}}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}"],inputs:["color"],host:{class:"mat-toolbar","[class.mat-toolbar-multiple-rows]":"_toolbarRows.length > 0","[class.mat-toolbar-single-row]":"_toolbarRows.length === 0"},changeDetection:a.j.OnPush,encapsulation:a.qb.None}]}],e.ctorParameters=function(){return[{type:a.u},{type:i.a},{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},e.propDecorators={_toolbarRows:[{type:a.s,args:[u]}]},e}(c);var d=function(){function t(){}return t.decorators=[{type:a.L,args:[{imports:[s.h],exports:[p,u,s.h],declarations:[p,u]}]}],t}()},"9YZV":function(t,e,n){"use strict";n.r(e),e.default=""},"9Z1F":function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("MGBS"),o=n("rPjj"),a=n("zotm");function s(t){return function(e){var n=new l(t),r=e.lift(n);return n.caught=r}}var l=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.selector,this.caught))},t}(),c=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.selector=n,i.caught=r,i}return r.c(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle();var r=new o.a(this,void 0,void 0);this.add(r),Object(a.a)(this,n,void 0,void 0,r)}},e}(i.a)},Asny:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("6Qg2"),s=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e){return function(n,r){e(n,r,t)}},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]18?this.passwordControl.setErrors({strlength:"The Password length should be between 6 to 18"}):(this.passwordControl.setErrors({strlength:null}),this.passwordControl.updateValueAndValidity())},t.prototype.checkPasswordsMatch=function(){this.passwordSecControl.value===this.passwordControl.value?(this.passwordSecControl.setErrors({unsame:null}),this.passwordSecControl.updateValueAndValidity()):this.passwordSecControl.setErrors({unsame:"The Password not match other"})},t.prototype.ngOnInit=function(){},t.prototype.createUser=function(){return u(this,void 0,void 0,function(){return p(this,function(t){switch(t.label){case 0:return[4,this.usersService.createUser({email:this.emailControl.value,displayName:this.displayNameControl.value,ignoreTfa:"allow"===this.ignoreTfaControl.value,password:this.passwordControl.value,scope:this.scopeControl.value})];case 1:return t.sent(),this.dialogRef.close(),[2]}})})},t.ctorParameters=function(){return[{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=s([Object(r.n)({selector:"app-create-user-dialog",template:d(n("YMlP")).default,styles:[d(n("SO0w")).default]}),c(2,Object(r.C)(i.a)),l("design:paramtypes",[a.a,i.e,Object])],t)}())},AytR:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r={production:!0,baseUrl:"/API"}},BHnd:function(t,e,n){"use strict";var r=n("mrSG"),i=n("n6gG"),o=n("CcnG"),a=n("YlbQ"),s=n("Ip0R"),l=n("K9Ia"),c=n("26FU"),u=n("6blF"),p=n("F/XL"),d=n("ny24"),h=n("Fzqc"),f=n("dWZg");function m(t){return function(t){function e(){for(var e=[],n=0;n",E=function(){function t(t,e){this.template=t,this._differs=e}return t.prototype.ngOnChanges=function(t){if(!this._columnsDiffer){var e=t.columns&&t.columns.currentValue||[];this._columnsDiffer=this._differs.find(e).create(),this._columnsDiffer.diff(e)}},t.prototype.getColumnsDiff=function(){return this._columnsDiffer.diff(this.columns)},t.prototype.extractCellTemplate=function(t){return this instanceof S?t.headerCell.template:this instanceof k?t.footerCell.template:t.cell.template},t}(),S=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(e){t.prototype.ngOnChanges.call(this,e)},e.decorators=[{type:o.t,args:[{selector:"[cdkHeaderRowDef]",inputs:["columns: cdkHeaderRowDef","sticky: cdkHeaderRowDefSticky"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(m(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(E))),k=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(e){t.prototype.ngOnChanges.call(this,e)},e.decorators=[{type:o.t,args:[{selector:"[cdkFooterRowDef]",inputs:["columns: cdkFooterRowDef","sticky: cdkFooterRowDefSticky"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(m(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(E))),j=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(r.c)(e,t),e.decorators=[{type:o.t,args:[{selector:"[cdkRowDef]",inputs:["columns: cdkRowDefColumns","when: cdkRowDefWhen"]}]}],e.ctorParameters=function(){return[{type:o.jb},{type:o.H}]},e}(E),A=function(){function t(e){this._viewContainer=e,t.mostRecentCellOutlet=this}return t.prototype.ngOnDestroy=function(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)},t.mostRecentCellOutlet=null,t.decorators=[{type:o.t,args:[{selector:"[cdkCellOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb}]},t}(),D=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-header-row, tr[cdk-header-row]",template:O,host:{class:"cdk-header-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}(),T=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-footer-row, tr[cdk-footer-row]",template:O,host:{class:"cdk-footer-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}(),P=function(){function t(){}return t.decorators=[{type:o.n,args:[{selector:"cdk-row, tr[cdk-row]",template:O,host:{class:"cdk-row",role:"row"},changeDetection:o.j.OnPush,encapsulation:o.qb.None}]}],t}();function I(t){return Error('Could not find column with id "'+t+'".')}var R=["top","bottom","left","right"],M=function(){function t(t,e,n,r){void 0===r&&(r=!0),this.isNativeHtmlTable=t,this.stickCellCss=e,this.direction=n,this._isBrowser=r}return t.prototype.clearStickyPositioning=function(t,e){for(var n=0,r=t;n0;i--)e[i]&&(n[i]=r,r+=t[i]);return n},t}(),N=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[rowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),F=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[headerRowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),L=function(){function t(t,e){this.viewContainer=t,this.elementRef=e}return t.decorators=[{type:o.t,args:[{selector:"[footerRowOutlet]"}]}],t.ctorParameters=function(){return[{type:o.pb},{type:o.u}]},t}(),V='\n \n \n \n \n',B=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}Object(r.c)(e,t)}(o.v),function(){function t(t,e,n,r,i,o,a){this._differs=t,this._changeDetectorRef=e,this._elementRef=n,this._dir=i,this._platform=a,this._onDestroy=new l.a,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this._multiTemplateDataRows=!1,this.viewChange=new c.a({start:0,end:Number.MAX_VALUE}),r||this._elementRef.nativeElement.setAttribute("role","grid"),this._document=o,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}return Object.defineProperty(t.prototype,"trackBy",{get:function(){return this._trackByFn},set:function(t){Object(o.yb)()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(t)+"."),this._trackByFn=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dataSource",{get:function(){return this._dataSource},set:function(t){this._dataSource!==t&&this._switchDataSource(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"multiTemplateDataRows",{get:function(){return this._multiTemplateDataRows},set:function(t){this._multiTemplateDataRows=Object(i.c)(t),this._rowOutlet.viewContainer.length&&this._forceRenderDataRows()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create(function(e,n){return t.trackBy?t.trackBy(n.dataIndex,n.data):n})},t.prototype.ngAfterContentChecked=function(){if(this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&!this._rowDefs.length)throw Error("Missing definitions for header, footer, and row; cannot determine which columns should be rendered.");this._renderUpdatedColumns(),this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription&&this._observeRenderChanges(),this._checkStickyStates()},t.prototype.ngOnDestroy=function(){this._rowOutlet.viewContainer.clear(),this._headerRowOutlet.viewContainer.clear(),this._footerRowOutlet.viewContainer.clear(),this._cachedRenderRowsMap.clear(),this._onDestroy.next(),this._onDestroy.complete(),Object(a.e)(this.dataSource)&&this.dataSource.disconnect(this)},t.prototype.renderRows=function(){var t=this;this._renderRows=this._getAllRenderRows();var e=this._dataDiffer.diff(this._renderRows);if(e){var n=this._rowOutlet.viewContainer;e.forEachOperation(function(e,r,i){if(null==e.previousIndex)t._insertRow(e.item,i);else if(null==i)n.remove(r);else{var o=n.get(r);n.move(o,i)}}),this._updateRowIndexContext(),e.forEachIdentityChange(function(t){n.get(t.currentIndex).context.$implicit=t.item.data}),this.updateStickyColumnStyles()}},t.prototype.setHeaderRowDef=function(t){this._customHeaderRowDefs=new Set([t]),this._headerRowDefChanged=!0},t.prototype.setFooterRowDef=function(t){this._customFooterRowDefs=new Set([t]),this._footerRowDefChanged=!0},t.prototype.addColumnDef=function(t){this._customColumnDefs.add(t)},t.prototype.removeColumnDef=function(t){this._customColumnDefs.delete(t)},t.prototype.addRowDef=function(t){this._customRowDefs.add(t)},t.prototype.removeRowDef=function(t){this._customRowDefs.delete(t)},t.prototype.addHeaderRowDef=function(t){this._customHeaderRowDefs.add(t),this._headerRowDefChanged=!0},t.prototype.removeHeaderRowDef=function(t){this._customHeaderRowDefs.delete(t),this._headerRowDefChanged=!0},t.prototype.addFooterRowDef=function(t){this._customFooterRowDefs.add(t),this._footerRowDefChanged=!0},t.prototype.removeFooterRowDef=function(t){this._customFooterRowDefs.delete(t),this._footerRowDefChanged=!0},t.prototype.updateStickyHeaderRowStyles=function(){var t=this._getRenderedRows(this._headerRowOutlet),e=this._elementRef.nativeElement.querySelector("thead");e&&(e.style.display=t.length?"":"none");var n=this._headerRowDefs.map(function(t){return t.sticky});this._stickyStyler.clearStickyPositioning(t,["top"]),this._stickyStyler.stickRows(t,n,"top"),this._headerRowDefs.forEach(function(t){return t.resetStickyChanged()})},t.prototype.updateStickyFooterRowStyles=function(){var t=this._getRenderedRows(this._footerRowOutlet),e=this._elementRef.nativeElement.querySelector("tfoot");e&&(e.style.display=t.length?"":"none");var n=this._footerRowDefs.map(function(t){return t.sticky});this._stickyStyler.clearStickyPositioning(t,["bottom"]),this._stickyStyler.stickRows(t,n,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,n),this._footerRowDefs.forEach(function(t){return t.resetStickyChanged()})},t.prototype.updateStickyColumnStyles=function(){var t=this,e=this._getRenderedRows(this._headerRowOutlet),n=this._getRenderedRows(this._rowOutlet),r=this._getRenderedRows(this._footerRowOutlet);this._stickyStyler.clearStickyPositioning(e.concat(n,r),["left","right"]),e.forEach(function(e,n){t._addStickyColumnStyles([e],t._headerRowDefs[n])}),this._rowDefs.forEach(function(e){for(var r=[],i=0;i1)throw Error("There can only be one default row without a when predicate function.");this._defaultRowDef=t[0]},t.prototype._renderUpdatedColumns=function(){var t=function(t,e){return t||!!e.getColumnsDiff()};this._rowDefs.reduce(t,!1)&&this._forceRenderDataRows(),this._headerRowDefs.reduce(t,!1)&&this._forceRenderHeaderRows(),this._footerRowDefs.reduce(t,!1)&&this._forceRenderFooterRows()},t.prototype._switchDataSource=function(t){this._data=[],Object(a.e)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),t||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=t},t.prototype._observeRenderChanges=function(){var t=this;if(this.dataSource){var e;if(Object(a.e)(this.dataSource)?e=this.dataSource.connect(this):this.dataSource instanceof u.a?e=this.dataSource:Array.isArray(this.dataSource)&&(e=Object(p.a)(this.dataSource)),void 0===e)throw Error("Provided data source did not match an array, Observable, or DataSource");this._renderChangeSubscription=e.pipe(Object(d.a)(this._onDestroy)).subscribe(function(e){t._data=e||[],t.renderRows()})}},t.prototype._forceRenderHeaderRows=function(){var t=this;this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach(function(e,n){return t._renderRow(t._headerRowOutlet,e,n)}),this.updateStickyHeaderRowStyles(),this.updateStickyColumnStyles()},t.prototype._forceRenderFooterRows=function(){var t=this;this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach(function(e,n){return t._renderRow(t._footerRowOutlet,e,n)}),this.updateStickyFooterRowStyles(),this.updateStickyColumnStyles()},t.prototype._addStickyColumnStyles=function(t,e){var n=this,r=Array.from(e.columns||[]).map(function(t){var e=n._columnDefsByName.get(t);if(!e)throw I(t);return e}),i=r.map(function(t){return t.sticky}),o=r.map(function(t){return t.stickyEnd});this._stickyStyler.updateStickyColumns(t,i,o)},t.prototype._getRenderedRows=function(t){for(var e=[],n=0;na?s=1:o0)){var r=Math.ceil(n.length/n.pageSize)-1||0,i=Math.min(n.pageIndex,r);i!==n.pageIndex&&(n.pageIndex=i,e._internalPageChanges.next())}})},e.prototype.connect=function(){return this._renderData},e.prototype.disconnect=function(){},e}(a.b)},CQyT:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
      \r\n {{ \'SELECT_OPERATION\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{operation.operationName}}\r\n \r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'SELECT_TIMING_TYPE\' | translate}}\r\n \r\n \r\n --\r\n {{ \'dailySunTrigger\' | translate}}\r\n {{ \'dailyTimeTrigger\' | translate}}\r\n {{ \'once\' | translate}}\r\n {{ \'timeout\' | translate}}\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'SET_PROPERTIES\' | translate}}\r\n\r\n \x3c!-- dailySunTrigger --\x3e\r\n \r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n {{ \'DURATION_MUST_BE_ON_SAME_CALENDERY_DAY\' | translate}} \r\n \r\n\r\n \r\n {{ \'SUN_TRIGGER\' | translate}}\r\n \r\n {{ \'SUNRISE\' | translate}}\r\n {{ \'SUNSET\' | translate}}\r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- dailyTimeTrigger --\x3e\r\n \r\n\r\n \r\n {{ \'DAYS\' | translate}}\r\n \r\n {{ \'SUNDAY\' | translate}}\r\n {{ \'MONDAY\' | translate}}\r\n {{ \'TUESDAY\' | translate}}\r\n {{ \'WEDNSDAY\' | translate}}\r\n {{ \'THURSDAY\' | translate}}\r\n {{ \'FRIDAY\' | translate}}\r\n {{ \'SATURDAY\' | translate}}\r\n \r\n \r\n\r\n \x3c!-- TODO: use time picker --\x3e\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- once --\x3e\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \x3c!-- timeout --\x3e\r\n \r\n\r\n \r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_TIMING_MESSAGE\' | translate}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      '},CS9Q:function(t,e,n){"use strict";var r=n("mrSG"),i=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=function(){return Date.now()},t}();n.d(e,"a",function(){return o});var o=function(t){function e(n,r){void 0===r&&(r=i.now);var o=t.call(this,n,function(){return e.delegate&&e.delegate!==o?e.delegate.now():r()})||this;return o.actions=[],o.active=!1,o.scheduled=void 0,o}return r.c(e,t),e.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),e.delegate&&e.delegate!==this?e.delegate.schedule(n,r,i):t.prototype.schedule.call(this,n,r,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(i)},CXDn:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
      \r\n {{ \'CREATE_ACTIVITIES\' | translate}}\r\n\r\n \r\n
      \r\n \r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- status Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
      \r\n \r\n {{ \'PROPERTIES\' | translate}} \r\n
        \r\n
      • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
      • \r\n
      \r\n
      {{ \'STATUS\' | translate}} {{ element.status | translate}} {{ \'NAME\' | translate}} {{ element.name }}
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_OPERATION_MESSAGE\' | translate}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      '},CcnG:function(t,e,n){"use strict";n.d(e,"g",function(){return fd}),n.d(e,"sb",function(){return ud}),n.d(e,"P",function(){return cd}),n.d(e,"ub",function(){return Vr}),n.d(e,"yb",function(){return Lr}),n.d(e,"c",function(){return vp}),n.d(e,"T",function(){return Ep}),n.d(e,"V",function(){return xp}),n.d(e,"U",function(){return Cp}),n.d(e,"b",function(){return Op}),n.d(e,"d",function(){return gp}),n.d(e,"e",function(){return yp}),n.d(e,"wb",function(){return Fd}),n.d(e,"kb",function(){return ed}),n.d(e,"Ab",function(){return rd}),n.d(e,"hb",function(){return jp}),n.d(e,"ib",function(){return Ap}),n.d(e,"J",function(){return kp}),n.d(e,"K",function(){return wp}),n.d(e,"f",function(){return Hd}),n.d(e,"lb",function(){return ca}),n.d(e,"x",function(){return Ju}),n.d(e,"w",function(){return Mr}),n.d(e,"cb",function(){return fi}),n.d(e,"db",function(){return Kr}),n.d(e,"h",function(){return x}),n.d(e,"a",function(){return hs}),n.d(e,"r",function(){return gs}),n.d(e,"s",function(){return ms}),n.d(e,"nb",function(){return vs}),n.d(e,"ob",function(){return ys}),n.d(e,"n",function(){return op}),n.d(e,"t",function(){return ip}),n.d(e,"z",function(){return cp}),n.d(e,"A",function(){return up}),n.d(e,"G",function(){return sp}),n.d(e,"S",function(){return lp}),n.d(e,"W",function(){return ap}),n.d(e,"L",function(){return fp}),n.d(e,"qb",function(){return ct}),n.d(e,"mb",function(){return vl}),n.d(e,"tc",function(){return O}),n.d(e,"tb",function(){return E}),n.d(e,"vb",function(){return I}),n.d(e,"D",function(){return wa}),n.d(e,"F",function(){return Fa}),n.d(e,"uc",function(){return tt}),n.d(e,"xb",function(){return et}),n.d(e,"B",function(){return U}),n.d(e,"E",function(){return H}),n.d(e,"C",function(){return y}),n.d(e,"R",function(){return v}),n.d(e,"eb",function(){return b}),n.d(e,"fb",function(){return _}),n.d(e,"y",function(){return w}),n.d(e,"Q",function(){return Kp}),n.d(e,"Y",function(){return fl}),n.d(e,"Z",function(){return gl}),n.d(e,"ab",function(){return ml}),n.d(e,"bb",function(){return pl}),n.d(e,"i",function(){return Vp}),n.d(e,"l",function(){return Lp}),n.d(e,"m",function(){return Bp}),n.d(e,"o",function(){return rl}),n.d(e,"q",function(){return nl}),n.d(e,"p",function(){return sl}),n.d(e,"u",function(){return dl}),n.d(e,"M",function(){return pt}),n.d(e,"O",function(){return ut}),n.d(e,"N",function(){return gd}),n.d(e,"X",function(){return ep}),n.d(e,"gb",function(){return bd}),n.d(e,"jb",function(){return Nl}),n.d(e,"pb",function(){return Ll}),n.d(e,"v",function(){return wd}),n.d(e,"j",function(){return st}),n.d(e,"k",function(){return aa}),n.d(e,"H",function(){return Dl}),n.d(e,"I",function(){return Tl}),n.d(e,"rb",function(){return Os}),n.d(e,"zb",function(){return Vd}),n.d(e,"Xb",function(){return Es}),n.d(e,"Db",function(){return Sp}),n.d(e,"Bb",function(){return Ca}),n.d(e,"Cb",function(){return ll}),n.d(e,"Ib",function(){return ma}),n.d(e,"Jb",function(){return di}),n.d(e,"Kb",function(){return yi}),n.d(e,"Lb",function(){return Ur}),n.d(e,"Ub",function(){return B}),n.d(e,"ac",function(){return xs}),n.d(e,"mc",function(){return T}),n.d(e,"Yb",function(){return Bs}),n.d(e,"Zb",function(){return Vs}),n.d(e,"Tb",function(){return Gu}),n.d(e,"Sb",function(){return qu}),n.d(e,"Gb",function(){return zu}),n.d(e,"Hb",function(){return Bu}),n.d(e,"sc",function(){return Pt}),n.d(e,"qc",function(){return bs}),n.d(e,"wc",function(){return ks}),n.d(e,"vc",function(){return js}),n.d(e,"rc",function(){return As}),n.d(e,"xc",function(){return Is}),n.d(e,"lc",function(){return Qu}),n.d(e,"Eb",function(){return Ic}),n.d(e,"Fb",function(){return Rc}),n.d(e,"Mb",function(){return Ud}),n.d(e,"Nb",function(){return Kc}),n.d(e,"Ob",function(){return gf}),n.d(e,"Pb",function(){return rc}),n.d(e,"Qb",function(){return vu}),n.d(e,"Rb",function(){return Gd}),n.d(e,"Vb",function(){return Tc}),n.d(e,"Wb",function(){return Dc}),n.d(e,"bc",function(){return Bc}),n.d(e,"cc",function(){return Vc}),n.d(e,"dc",function(){return th}),n.d(e,"ec",function(){return ou}),n.d(e,"gc",function(){return bu}),n.d(e,"jc",function(){return _u}),n.d(e,"fc",function(){return rh}),n.d(e,"hc",function(){return ih}),n.d(e,"ic",function(){return nh}),n.d(e,"kc",function(){return Qd}),n.d(e,"nc",function(){return ah}),n.d(e,"oc",function(){return tc}),n.d(e,"pc",function(){return ch});var r=n("mrSG"),i=n("pugT"),o=n("K9Ia"),a=n("6blF"),s=n("p0ib"),l=n("S1nX"),c="__annotations__",u="__parameters__",p="__prop__metadata__";function d(t,e,n,i,o){var a=h(e);function s(){for(var t,e=[],n=0;n ");else if("object"==typeof e){var o=[];for(var a in e)if(e.hasOwnProperty(a)){var s=e[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):T(s)))}i="{"+o.join(", ")+"}"}return n+(r?"("+r+")":"")+"["+i+"]: "+t.replace(Y,"\n ")}var st,lt,ct,ut=function(){},pt=function(){};function dt(t,e){void 0===e&&(e=t);for(var n=0;n=t.length?t.push(n):t.splice(e,0,n)}function mt(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function gt(t,e){null==t&&yt(e)}function yt(t){throw new Error("ASSERTION ERROR: "+t)}function vt(t){return""+{toString:t}}(function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"})(st||(st={})),function(t){t[t.CheckOnce=0]="CheckOnce",t[t.Checked=1]="Checked",t[t.CheckAlways=2]="CheckAlways",t[t.Detached=3]="Detached",t[t.Errored=4]="Errored",t[t.Destroyed=5]="Destroyed"}(lt||(lt={})),function(t){t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(ct||(ct={}));var bt={},_t=[];var wt=C({ngComponentDef:C}),xt=C({ngDirectiveDef:C}),Ct=C({ngPipeDef:C}),Ot=C({ngModuleDef:C}),Et=C({ngLocaleIdDef:C}),St=(C({ngBaseDef:C}),C({__NG_ELEMENT_ID__:C})),kt=0;function jt(t){var e=t.type,n=e.prototype,r={},i={type:e,providersResolver:null,consts:t.consts,vars:t.vars,factory:t.factory,template:t.template||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,contentQueries:t.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:t.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:t.changeDetection===st.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||ct.Emulated,id:"c",styles:t.styles||_t,_:null,setInput:null,schemas:t.schemas||null,tView:null};return i._=vt(function(){var n=t.directives,o=t.features,a=t.pipes;i.id+=kt++,i.inputs=Tt(t.inputs,r),i.outputs=Tt(t.outputs),o&&o.forEach(function(t){return t(i)}),i.directiveDefs=n?function(){return("function"==typeof n?n():n).map(At)}:null,i.pipeDefs=a?function(){return("function"==typeof a?a():a).map(Dt)}:null,e.hasOwnProperty(A)||(e[A]=O({token:e,factory:t.factory}))}),i}function At(t){var e=It(t)||Rt(t);return e}function Dt(t){var e=Mt(t);return e}function Tt(t,e){if(null==t)return bt;var n={};for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],o=i;Array.isArray(i)&&(o=i[1],i=i[0]),n[i]=r,e&&(e[i]=o)}return n}var Pt=jt;function It(t){return t[wt]||null}function Rt(t){return t[xt]||null}function Mt(t){return t[Ct]||null}function Nt(t,e){var n=t[Ot]||null;if(!n&&!0===e)throw new Error("Type "+T(t)+" does not have 'ngModuleDef' property.");return n}var Ft=0,Lt=1,Vt=2,Bt=3,zt=4,Ht=5,Ut=6,Gt=7,qt=8,Wt=9,Yt=10,Kt=11,Qt=12,Xt=13,Zt=14,$t=15,Jt=16,te=17,ee=18,ne=19,re=1,ie=2,oe=5,ae=7,se=9;function le(t){return Array.isArray(t)&&"object"==typeof t[re]}function ce(t){return Array.isArray(t)&&!0===t[re]}function ue(t){return 1==(1&t.flags)}function pe(t){return null!==t.template}function de(t){return 0!=(512&t[Vt])}var he=8,fe=8,me=9,ge=-1,ye=function(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n};function ve(t,e,n,r,i,o){var a=e.onChanges,s=e.onInit,l=e.doCheck;i>=0&&(!n.preOrderHooks||i===n.preOrderHooks.length)&&(a||s||l)&&(n.preOrderHooks||(n.preOrderHooks=[])).push(r),o>=0&&(!n.preOrderCheckHooks||o===n.preOrderCheckHooks.length)&&(a||l)&&(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(r),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,a)),s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-t,s),l&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,l),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,l))}function be(t,e){if(t.firstTemplatePass)for(var n=e.directiveStart,r=e.directiveEnd;n=r)break}else e[s]<0&&(t[ee]+=65536),(a>10>16&&(3&t[Vt])===e&&(t[Vt]+=1024,o.call(a)):o.call(a)}var Ce=null,Oe=new Map,Ee=null,Se=1,ke=0;function je(t,e){return Ee&&t===Ee||(Ee=t,e&&(Ce=Oe.get(t)||null),Ce=Ce||{classesBitMask:ke,classesIndex:Se,stylesBitMask:ke,stylesIndex:Se}),Ce}function Ae(){Ce=null,Ee=null}var De="__ngContext__";function Te(t){for(;Array.isArray(t);)t=t[Ft];return t}function Pe(t,e){var n=Te(e[t.index]);return n}function Ie(t,e){var n=t.index,r=-1==n?null:Te(e[n]);return r}function Re(t,e){return e[Lt].data[t+ne]}function Me(t,e){var n=e[t];return le(n)?n:n[Ft]}function Ne(t){return t[De]}function Fe(t){var e=Ne(t);return e?Array.isArray(e)?e:e.lView:null}function Le(t){t[ee]=0}var Ve=null;function Be(t){Ve=t}function ze(){return Ge}var He,Ue,Ge,qe=1,We=qe,Ye=0,Ke=0;function Qe(t){void 0===t&&(t=null),pn!==t&&(hn(null==t?-1:t),We=null==t?0:qe,Ye=0,Ke=0)}function Xe(){We+=1+Ke,Ye=0,Ke=0}function Ze(){return He}function $e(t,e){He=t,Ue=e}function Je(t,e){He=t,Ge=e}function tn(){return Ue}function en(t){return void 0===t&&(t=Ge),4==(4&t[Vt])}var nn=!1;function rn(){return nn}function on(t){nn=t}function an(t){t}function sn(t){t}function ln(t,e){var n=Ge;if(t){var r=t[Lt];r.bindingStartIndex}return He=e,Ue=!0,Ge=t,n}function cn(){Ue=!1,He=null,0,!0,yn(null),Ae(),Oe.clear()}function un(t,e){var n=Ge[Lt];if(en(Ge))Ge[Vt]&=-5;else try{Le(Ge),e&&we(Ge,n.viewHooks,n.viewCheckHooks,nn,2,void 0)}finally{Ge[Vt]&=-73,Ge[Gt]=n.bindingStartIndex}ln(t,null)}var pn=-1;function dn(){return pn}function hn(t){pn=t,Ae()}var fn,mn=null;function gn(){mn=null}function yn(t){fn=t}function vn(){return fn}function bn(t,e){return!(t!=t&&e!=e)&&t!==e}function _n(t){return"string"==typeof t?t:null==t?"":""+t}function wn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():_n(t)}var xn=("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(B);var Cn="�";function On(t){return t.indexOf(Cn)>=0}function En(t){return t instanceof Function?t():t}var Sn,kn="--MAP--",jn=0;function An(t,e){e===jn?t[2]>jn&&function(t){Tn(t,2|Dn(t))}(t):t[2]=e}function Dn(t){return t[1]}function Tn(t,e){t[1]=e}function Pn(t,e){return t[e+2]}function In(t,e){return 1&t[e+0]}function Rn(t,e){return(1&In(t,e))>0}function Mn(t,e){return t[e+0]>>1}function Nn(t,e,n){var r=In(t,e),i=n<<1;t[e+0]=r|i}function Fn(t,e){return t[e+1]}function Ln(t,e,n){return t[e+3+n]}function Vn(t,e){return t[e+3+Fn(t,e)-1]}function Bn(t,e){return!(!t||e!==t[2])}function zn(t){return(1&Dn(t))>0}function Hn(t){return(2&Dn(t))>0}function Un(t){return 6+t[4]}function Gn(t,e){var n=Array.isArray(t)?t[0]:t,r=Array.isArray(e)?e[0]:e;return n instanceof String&&(n=n.toString()),r instanceof String&&(r=r.toString()),bn(n,r)}function qn(t){return null!=t&&""!==t}function Wn(t,e,n){return void 0===n&&(n=" "),t+(e.length&&t.length?n:"")+e}function Yn(t){return t.replace(/[a-z][A-Z]/g,function(t){return t.charAt(0)+"-"+t.charAt(1)}).toLowerCase()}function Kn(t){return Qn(t)?t[0]:t}function Qn(t){return Array.isArray(t)&&t.length>=6&&"string"!=typeof t[1]}function Xn(t){var e=Kn(t);return e&&e[0]||""}function Zn(t){return 0!=(8&t.flags)}function $n(t){return 0!=(16&t.flags)}function Jn(t,e){return t[e+0]}function tr(t,e,n){t[e+1]=n}function er(t,e){return t[e+1]}function nr(t){return!!t.listen}!function(t){t[t.Important=1]="Important",t[t.DashCase=2]="DashCase"}(Sn||(Sn={}));var rr={createRenderer:function(t,e){return document}};function ir(t){return t!==ge}function or(t){return 32767&t}function ar(t){return t>>16}function sr(t,e){for(var n=ar(t),r=e;n>0;)r=r[Jt],n--;return r}function lr(t){var e=t[Bt];return ce(e)?e[Bt]:e}function cr(t){for(var e=le(t)?t:Fe(t);e&&!(512&e[Vt]);)e=lr(e);return e}function ur(t){for(var e=t[Ut];null!==e&&2===e.type;)e=(t=t[Jt])[Ut];return t}function pr(t){var e=cr(t);return e[Wt]}var dr=!0;function hr(t){var e=dr;return dr=t,e}var fr=255,mr=0;function gr(t,e){var n=vr(t,e);if(-1!==n)return n;var r=e[Lt];r.firstTemplatePass&&(t.injectorIndex=e.length,yr(r.data,t),yr(e,null),yr(r.blueprint,null));var i=br(t,e),o=or(i),a=sr(i,e),s=t.injectorIndex;if(ir(i))for(var l=a[Lt].data,c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c];return e[s+fe]=i,s}function yr(t,e){t.push(0,0,0,0,0,0,0,0,e)}function vr(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null==e[t.injectorIndex+fe]?-1:t.injectorIndex}function br(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;for(var n=e[Ut],r=1;n&&-1===n.injectorIndex;)n=(e=e[Jt])?e[Ut]:null,r++;return n?n.injectorIndex|r<<16:-1}function _r(t,e,n){!function(t,e,n){var r="string"!=typeof n?n[St]:n.charCodeAt(0)||0;null==r&&(r=n[St]=mr++);var i=r&fr,o=1<0?e&fr:e}(n);if("function"==typeof o){var a=Ze(),s=ze();Je(t,e);try{var l=o();if(null!=l||r&g.Optional)return l;throw new Error("No provider for "+wn(n)+"!")}finally{Je(a,s)}}else if("number"==typeof o){if(-1===o)return new jr(t,e);var c=null,u=vr(t,e),p=ge,d=r&g.Host?ur(e)[Ut]:null;for((-1===u||r&g.SkipSelf)&&(p=-1===u?br(t,e):e[u+fe],kr(r,!1)?(c=e[Lt],u=or(p),e=sr(p,e)):u=-1);-1!==u;){p=e[u+fe];var h=e[Lt];if(Sr(o,u,h.data)){var f=Cr(u,e,n,c,r,d);if(f!==xr)return f}kr(r,e[Lt].data[u+he]===d)&&Sr(o,u,e)?(c=h,u=or(p),e=sr(p,e)):u=-1}}}if(r&g.Optional&&void 0===i&&(i=null),0==(r&(g.Self|g.Host))){var m=e[Yt],y=J(void 0);try{return m?m.get(n,i,r&g.Optional):nt(n,i,r&g.Optional)}finally{J(y)}}if(r&g.Optional)return i;throw new Error("NodeInjector: NOT_FOUND ["+wn(n)+"]")}var xr={};function Cr(t,e,n,r,i,o){var a=e[Lt],s=a.data[t+he],l=Or(s,a,n,null==r?ue(s)&&dr:r!=a&&3===s.type,i&g.Host&&o===s);return null!==l?Er(a.data,e,l,s):xr}function Or(t,e,n,r,i){for(var o=t.providerIndexes,a=e.data,s=65535&o,l=t.directiveStart,c=t.directiveEnd,u=o>>16,p=i?s+u:c,d=r?s:s+u;d=l&&h.type===n)return d}if(i){var f=a[l];if(f&&pe(f)&&f.type===n)return l}return null}function Er(t,e,n,r){var i,o=e[n];if(null!==(i=o)&&"object"==typeof i&&Object.getPrototypeOf(i)==ye.prototype){var a=o;if(a.resolving)throw new Error("Circular dep for "+wn(t[n]));var s=hr(a.canSeeViewProviders);a.resolving=!0;var l=void 0;a.injectImpl&&(l=J(a.injectImpl));var c=Ze(),u=ze();Je(r,e);try{o=e[n]=a.factory(void 0,t,e,r)}finally{a.injectImpl&&J(l),hr(s),a.resolving=!1,Je(c,u)}}return o}function Sr(t,e,n){var r=1<',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='

      ',this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement=this.getInertBodyElement_DOMParser:this.getInertBodyElement=this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}return t.prototype.getInertBodyElement_XHR=function(t){t=""+t+"";try{t=encodeURI(t)}catch(r){return null}var e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(void 0);var n=e.response.body;return n.removeChild(n.firstChild),n},t.prototype.getInertBodyElement_DOMParser=function(t){t=""+t+"";try{var e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(n){return null}},t.prototype.getInertBodyElement_InertDocument=function(t){var e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)},t.prototype.stripCustomNsAttrs=function(t){for(var e=t.attributes,n=e.length-1;0"),!0},t.prototype.endElement=function(t){var e=t.nodeName.toLowerCase();ei.hasOwnProperty(e)&&!Qr.hasOwnProperty(e)&&(this.buf.push(""))},t.prototype.chars=function(t){this.buf.push(pi(t))},t.prototype.checkClobberedElement=function(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: "+t.outerHTML);return e},t}(),ci=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ui=/([^\#-~ |!])/g;function pi(t){return t.replace(/&/g,"&").replace(ci,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(ui,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}function di(t,e){var n=null;try{Yr=Yr||new Br(t);var r=e?String(e):"";n=Yr.getInertBodyElement(r);var i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=n.innerHTML,n=Yr.getInertBodyElement(r)}while(r!==o);var a=new li,s=a.sanitizeChildren(hi(n)||n);return Lr()&&a.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n)for(var l=hi(n)||n;l.firstChild;)l.removeChild(l.firstChild)}}function hi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}!function(t){t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL"}(Kr||(Kr={}));var fi=function(){},mi=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),gi=/^url\(([^)]+)\)$/;function yi(t){if(!(t=String(t).trim()))return"";var e=t.match(gi);return e&&Ur(e[1])===e[1]||t.match(mi)&&function(t){for(var e=!0,n=!0,r=0;r=0){var f;Ci(f=Te(r[h]),l=xi(r,h,f)),n=l;break}}}return n||null}function xi(t,e,n){return{lView:t,nodeIndex:e,native:n,component:void 0,directives:void 0,localRefs:void 0}}function Ci(t,e){t[De]=e}function Oi(t,e){for(var n=t[Lt].firstChild;n;){if(Ie(n,t)===e)return n.index;n=Ei(n)}return-1}function Ei(t){if(t.child)return t.child;if(t.next)return t.next;for(;t.parent&&!t.parent.next;)t=t.parent;return t.parent&&t.parent.next}function Si(t,e){var n=t[Lt].components;if(n)for(var r=0;rke}(r,o))?(Ui(r,t,e,n,o,a,s),!0):i}function Ui(t,e,n,r,i,o,a){for(var s=function(t){return!0===t?-1:!1===t?0:t}(i),l=Gi,c=(s&Mn(t,3))>0?1:0,u=Un(t);u=to.length&&to.push(1);return to[t]}(c);ml,v=!y&&g===l,b=er(f,m),_=qn(b),w=y?s:$i(s,_,v),x=y?l:g,C=t(e,n,r,i,o,a,w,x,c+1,u);if(y){p||(p=C);break}if(!C&&Ji(s,v)){var O=v&&!_,E=O?u:b,S=O?h:null,k=a?a(g,E,3):E;o(n,r,g,k,S),C=!0}p=C&&v,m+=2}if(j=m,to[c]=j,1===f.length||!l)return t(e,n,r,i,o,a,s,l,c+1,u)}var j;return p}(t,e,n,r,i,o,a,s||null,0,l||null)),p&&function(){for(var t=0;t0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}var to=[];function eo(t,e,n,r){for(var i=1;i0&&Zi();var e=this._isClassBased?null:this._sanitizer||vn();Ui(this.context,null,{},this._data,!0,function(e,n,r,i,o){t(r,i,o||null)},e)},t}();!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h,f,m,g,y,v,b,_,w,x,C){this.tView_=t,this.type=e,this.index=n,this.injectorIndex=r,this.directiveStart=i,this.directiveEnd=o,this.propertyMetadataStartIndex=a,this.propertyMetadataEndIndex=s,this.flags=l,this.providerIndexes=c,this.tagName=u,this.attrs=p,this.localNames=d,this.initialInputs=h,this.inputs=f,this.outputs=m,this.tViews=g,this.next=y,this.projectionNext=v,this.child=b,this.parent=_,this.projection=w,this.styles=x,this.classes=C}Object.defineProperty(t.prototype,"type_",{get:function(){switch(this.type){case 0:return"TNodeType.Container";case 3:return"TNodeType.Element";case 4:return"TNodeType.ElementContainer";case 5:return"TNodeType.IcuContainer";case 1:return"TNodeType.Projection";case 2:return"TNodeType.View";default:return"TNodeType.???"}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flags_",{get:function(){var t=[];return 8&this.flags&&t.push("TNodeFlags.hasClassInput"),4&this.flags&&t.push("TNodeFlags.hasContentQuery"),16&this.flags&&t.push("TNodeFlags.hasStyleInput"),1&this.flags&&t.push("TNodeFlags.isComponent"),32&this.flags&&t.push("TNodeFlags.isDetached"),2&this.flags&&t.push("TNodeFlags.isProjected"),t.join("|")},enumerable:!0,configurable:!0})}();function io(t){if(t){var e=t.debug;return gt(e,"Object does not have a debug representation."),e}return t}function oo(t,e){void 0===e&&(e=!1);var n=Te(t);if(n){var r=n.nodeType===Node.TEXT_NODE,i=(r?n.textContent:n.outerHTML)||"";if(e||r)return i;var o=n.innerHTML;return i.split(o)[0]||null}return null}!function(){function t(t){this._raw_lView=t}Object.defineProperty(t.prototype,"flags",{get:function(){var t=this._raw_lView[Vt];return{__raw__flags__:t,initPhaseState:3&t,creationMode:!!(4&t),firstViewPass:!!(8&t),checkAlways:!!(16&t),dirty:!!(64&t),attached:!!(128&t),destroyed:!!(256&t),isRoot:!!(512&t),indexWithinInitPhase:t>>10}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return io(this._raw_lView[Bt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return oo(this._raw_lView[Ft],!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._raw_lView[Wt]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nodes",{get:function(){var t=this._raw_lView;return function t(e,n){if(e){for(var r=[],i=e;i;){var o=n[e.index],a=Te(o),s=io(ao(o)),l=Qn(e.styles)?new ro(e.styles,n):null,c=Qn(e.classes)?new ro(e.classes,n,!0):null;r.push({html:oo(a),native:a,styles:l,classes:c,nodes:t(e.child,n),component:s}),i=i.next}return r}return null}(t[Lt].firstChild,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{tView:this._raw_lView[Lt],cleanup:this._raw_lView[qt],injector:this._raw_lView[Yt],rendererFactory:this._raw_lView[Kt],renderer:this._raw_lView[Qt],sanitizer:this._raw_lView[Xt],childHead:io(this._raw_lView[Zt]),next:io(this._raw_lView[zt]),childTail:io(this._raw_lView[$t]),declarationView:io(this._raw_lView[Jt]),queries:null,tHost:this._raw_lView[Ut],bindingIndex:this._raw_lView[Gt]}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"childViews",{get:function(){for(var t=[],e=this.__other__.childHead;e;)t.push(e),e=e.__other__.next;return t},enumerable:!0,configurable:!0})}();!function(){function t(t){this._raw_lContainer=t}Object.defineProperty(t.prototype,"activeIndex",{get:function(){return this._raw_lContainer[ie]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"views",{get:function(){return this._raw_lContainer.slice(se).map(io)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return io(this._raw_lContainer[Bt])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"movedViews",{get:function(){return this._raw_lContainer[oe]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"host",{get:function(){return this._raw_lContainer[Ft]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"native",{get:function(){return this._raw_lContainer[ae]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"__other__",{get:function(){return{next:io(this._raw_lContainer[zt])}},enumerable:!0,configurable:!0})}();function ao(t){for(;Array.isArray(t);){if(t.length>=ne-1)return t;t=t[Ft]}return null}var so=function(){function t(t,e,n,r){this.__raw_opCode=t,this._lView=e,this.nodeIndex=n,this.type=r}return Object.defineProperty(t.prototype,"tNode",{get:function(){return Re(this.nodeIndex,this._lView)},enumerable:!0,configurable:!0}),t}();(function(){function t(t,e){this.__raw_opCodes=t,this.__lView=e}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=[],r=0;r>>17,"AppendChild");break;case 0:o=new so(i,t,i>>>3,"Select");break;case 5:var a=i>>>3;o=new so(i,t,a,"ElementEnd");break;case 4:(o=new so(i,t,a=i>>>3,"Attr")).attrName=e[++r],o.attrValue=e[++r]}if(!o)switch(i){case Qi:o={__raw_opCode:i,type:"COMMENT_MARKER",commentValue:e[++r],nodeIndex:e[++r]};break;case Ki:o={__raw_opCode:i,type:"ELEMENT_MARKER"}}o||(o={__raw_opCode:i,type:"Unknown Op Code",code:i}),n.push(o)}return n},enumerable:!0,configurable:!0})})(),function(){function t(t,e,n){this.__raw_opCodes=t,this.icus=e,this.__lView=n}Object.defineProperty(t.prototype,"operations",{get:function(){for(var t=this.__lView,e=this.__raw_opCodes,n=this.icus,r=[],i=0;i>>2,p=void 0,d=void 0;switch(3&c){case 1:var h=e[++l],f=e[++l];r.push({__raw_opCode:c,checkBit:o,type:"Attr",attrValue:s,attrName:h,sanitizeFn:f});break;case 0:r.push({__raw_opCode:c,checkBit:o,type:"Text",nodeIndex:u,text:s});break;case 2:d=n[p=e[++l]];var m=new so(c,t,u,"IcuSwitch");m.tIcuIndex=p,m.checkBit=o,m.mainBinding=s,m.tIcu=d,r.push(m);break;case 3:d=n[p=e[++l]],(m=new so(c,t,u,"IcuUpdate")).tIcuIndex=p,m.checkBit=o,m.tIcu=d,r.push(m)}}}i+=a}return r},enumerable:!0,configurable:!0})}();function lo(t,e){_e(t,t[Lt],rn(),e),hn(e)}var co=Promise.resolve(null);function uo(t){var e=t[Lt],n=en(t);if(e.firstTemplatePass=!1,t[Gt]=e.bindingStartIndex,!n){var r=rn();_e(t,e,r,void 0),function(t){for(var e=t[Zt];null!==e;e=e[zt])if(-1===e[ie]&&ce(e))for(var n=se;n=0?n[s]():n[-s].unsubscribe(),r+=2}else{var l=n[e[r+1]];e[r].call(l)}t[qt]=null}}(t);var e=t[Ut];e&&3===e.type&&nr(t[Qt])&&t[Qt].destroy();var n=t[te];if(null!==n&&ce(t[Bt])){n!==t[Bt]&&Yo(n,t);var r=t[Ht];null!==r&&r.detachView(t[Lt])}}}function Zo(t,e,n,r){nr(t)?t.insertBefore(e,n,r):e.insertBefore(n,r,!0)}function $o(t,e){return nr(t)?t.parentNode(e):e.parentNode}function Jo(t,e,n){var r=$o(t,e);r&&function(t,e,n,r){nr(t)?t.removeChild(e,n,r):e.removeChild(n)}(t,r,e,n)}function ta(t,e,n,r,i){for(var o=n[Lt],a=o.node.child;null!==a;)ea(t,e,n,a,r,i),a=a.next}function ea(t,e,n,r,i,o){var a=r.type;32&r.flags||(4===a||5===a?function(t,e,n,r,i,o){Wo(e,t,i,n[r.index],o);for(var a=r.child;a;)ea(t,e,n,a,i,o),a=a.next}(t,e,n,r,i,o):1===a?function(t,e,n,r,i,o){var a=ur(n),s=a[Ut],l=s.projection[r.projection];if(void 0!==l)if(Array.isArray(l))for(var c=0;c-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Ko(this._lView)},t.prototype.onDestroy=function(t){var e,n;e=this._lView,n=t,zo(e).push(n),e[Lt].firstTemplatePass&&Ho(e).push(e[qt].length-1,null)},t.prototype.markForCheck=function(){Io(this._lView)},t.prototype.detach=function(){this._lView[Vt]&=-129},t.prototype.reattach=function(){this._lView[Vt]|=128},t.prototype.detectChanges=function(){Mo(this._lView,this.context)},t.prototype.checkNoChanges=function(){Fo(this._lView,this.context)},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t.prototype.detachFromAppRef=function(){this._appRef=null,function(t){ta(t[Qt],1,t,null,null)}(this._lView)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype._lookUpContext=function(){return this._context=lr(this._lView)[this._componentIndex]},t}(),ia=function(t){function e(e){var n=t.call(this,e,null,-1)||this;return n._view=e,n}return Object(r.c)(e,t),e.prototype.detectChanges=function(){No(this._view)},e.prototype.checkNoChanges=function(){!function(t){on(!0);try{No(t)}finally{on(!1)}}(this._view)},Object.defineProperty(e.prototype,"context",{get:function(){return null},enumerable:!0,configurable:!0}),e}(ra);function oa(t,e,n){return na||(na=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(t)),new na(Pe(e,n))}var aa=function(){function t(){}return t.__NG_ELEMENT_ID__=function(){return la()},t}(),sa=function(){for(var t=[],e=0;e0){var n=new Array(e).fill("?");throw new Error("Can't resolve all parameters for "+T(t)+": ("+n.join(", ")+").")}var r=(i=t,i&&i[A]?(console.warn('DEPRECATED: DI is instantiating a token "'+i.name+'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "'+i.name+'" class.'),i[A]):null);var i;return null!==r?function(){return r.factory(t)}:function(){return new t}}(t);throw new Error("unreachable")}function Pa(t,e,n){var i,o=void 0;if(Ma(t))return Ta(R(t));if(Ra(t))o=function(){return R(t.useValue)};else if((i=t)&&i.useExisting)o=function(){return tt(R(t.useExisting))};else if(function(t){return!(!t||!t.useFactory)}(t))o=function(){return t.useFactory.apply(t,Object(r.g)(rt(t.deps||[])))};else{var a=R(t&&(t.useClass||t.provide));if(a||function(t,e,n){var r="";throw t&&e&&(r=" - only instances of Provider and Type are allowed, got: ["+e.map(function(t){return t==n?"?"+n+"?":"..."}).join(", ")+"]"),new Error("Invalid provider for the NgModule '"+T(t)+"'"+r)}(e,n,t),!function(t){return!!t.deps}(t))return Ta(a);o=function(){return new(a.bind.apply(a,Object(r.g)([void 0],rt(t.deps))))}}return o}function Ia(t,e,n){return void 0===n&&(n=!1),{factory:t,value:e,multi:n?[]:void 0}}function Ra(t){return null!==t&&"object"==typeof t&&X in t}function Ma(t){return"function"==typeof t}var Na=function(t,e,n){return new Ua(t,e,n)},Fa=function(){function t(){}return t.create=function(t,e){return Array.isArray(t)?Na(t,e,""):Na(t.providers,t.parent,t.name||"")},t.THROW_IF_NOT_FOUND=G,t.NULL=new it,t.ngInjectableDef=O({token:t,providedIn:"any",factory:function(){return tt(U)}}),t.__NG_ELEMENT_ID__=-1,t}(),La=function(t){return t},Va=[],Ba=La,za=function(){return Array.prototype.slice.call(arguments)},Ha="ɵ",Ua=function(){function t(t,e,n){void 0===e&&(e=Fa.NULL),void 0===n&&(n=null),this.parent=e,this.source=n;var r=this._records=new Map;r.set(Fa,{token:Fa,fn:La,deps:Va,value:this,useNew:!1}),r.set(U,{token:U,fn:La,deps:Va,value:this,useNew:!1}),function t(e,n){if(n)if((n=R(n))instanceof Array)for(var r=0;r1?" ("+function(t){for(var e=[],n=0;n-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(function(t){return T(t.token)}).join(" -> ")+")":""}function Ka(t,e,n,r){var i=[e],o=n(i),a=r?function(t,e){var n=t+" caused by: "+(e instanceof Error?e.message:e),r=Error(n);return r[Dr]=e,r}(o,r):Error(o);return a.addKey=Qa,a.keys=i,a.injectors=[t],a.constructResolvingMessage=n,a[Dr]=r,a}function Qa(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function Xa(t,e){for(var n=[],r=0,i=e.length;r=this._providers.length)throw function(t){return Error("Index "+t+" is out-of-bounds.")}(t);return this._providers[t]},t.prototype._new=function(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw e=this,n=t.key,Ka(e,n,function(t){return"Cannot instantiate cyclic dependency!"+Ya(t)});var e,n;return this._instantiateProvider(t)},t.prototype._getMaxNumberOfObjects=function(){return this.objs.length},t.prototype._instantiateProvider=function(t){if(t.multiProvider){for(var e=new Array(t.resolvedFactories.length),n=0;n=2&&r[i-2]===e.hostBindings?r[i-1]=r[i-1]+n:r.push(e.hostBindings,n)}(n,Ve,t),function(t,e,n){for(var r=0;r0&&(r=n?Wn(t,((i=e)&&"string"!=typeof i&&(i=Object.keys(i).join(" ")),i||"")):Wn(t,function(t){var e="";if(t)for(var n=Object.keys(t),r=0;r0}function Vs(t){return!!t&&"function"==typeof t.then}function Bs(t){return!!t&&"function"==typeof t.subscribe}function zs(t){var e=Ys(t);return void 0===e.component&&(e.component=function(t,e){var n=e[Lt].data[t],r=n.directiveStart;return 1&n.flags?e[r]:null}(e.nodeIndex,e.lView)),e.component}function Hs(t){return Ys(t).lView[Wt]}function Us(t){for(var e,n=qs(t).lView;null===n[Ft]&&(e=lr(n));)n=e;return 512&n[Vt]?null:n[Wt]}function Gs(t){var e=qs(t),n=e.lView[Lt].data[e.nodeIndex];return new jr(n,e.lView)}function qs(t,e){void 0===e&&(e=!0);var n=wi(t);if(!n&&e)throw new Error("Invalid ng target");return n}function Ws(t){var e=qs(t);return void 0===e.localRefs&&(e.localRefs=function(t,e){var n=t[Lt].data[e];if(n&&n.localNames){for(var r={},i=n.index+1,o=0;o=0)&&null;t==u&&o.push({element:t,name:c,callback:p,useCapture:h})}}return o.sort(Xs),o}function Xs(t,e){return t.name==e.name?0:t.name-1}(r,i.providedIn)||"root"===i.providedIn&&r._def.isRoot))){var u=t._providers.length;return t._def.providers[u]=t._def.providersByKey[e.tokenKey]={flags:5120,value:l.factory,deps:[],index:u,token:e.token},t._providers[u]=Mc,t._providers[u]=Hc(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{$(o)}}function Hc(t,e){var n;switch(201347067&e.flags){case 512:n=function(t,e,n){var i=n.length;switch(i){case 0:return new e;case 1:return new e(zc(t,n[0]));case 2:return new e(zc(t,n[0]),zc(t,n[1]));case 3:return new e(zc(t,n[0]),zc(t,n[1]),zc(t,n[2]));default:for(var o=new Array(i),a=0;a0?i[n-1]:null,r)}function Gc(t,e){var n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,mt(n,e),Xl.dirtyParentQueries(r),Wc(r),r}function qc(t,e,n){var r=e?hc(e,e.def.lastRenderRootNode):t.renderElement,i=n.renderer.parentNode(r),o=n.renderer.nextSibling(r);xc(n,2,i,o,void 0)}function Wc(t){xc(t,3,null,null,void 0)}var Yc=new Object;function Kc(t,e,n,r,i,o){return new Qc(t,e,n,r,i,o)}var Qc=function(t){function e(e,n,r,i,o,a){var s=t.call(this)||this;return s.selector=e,s.componentType=n,s._inputs=i,s._outputs=o,s.ngContentSelectors=a,s.viewDefFactory=r,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"inputs",{get:function(){var t=[],e=this._inputs;for(var n in e){var r=e[n];t.push({propName:n,templateName:r})}return t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"outputs",{get:function(){var t=[];for(var e in this._outputs){var n=this._outputs[e];t.push({propName:e,templateName:n})}return t},enumerable:!0,configurable:!0}),e.prototype.create=function(t,e,n,r){if(!r)throw new Error("ngModule should be provided");var i=wc(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,a=Xl.createRootView(t,e||[],n,i,r,Yc),s=Yl(a,o).instance;return n&&a.renderer.setAttribute(Wl(a,0).renderElement,"ng-version",bl.full),new Xc(a,new tu(a),s)},e}(rl),Xc=function(t){function e(e,n,r){var i=t.call(this)||this;return i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new dl(Wl(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new iu(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._viewRef.destroy()},e.prototype.onDestroy=function(t){this._viewRef.onDestroy(t)},e}(nl);function Zc(t,e,n){return new $c(t,e,n)}var $c=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}return Object.defineProperty(t.prototype,"element",{get:function(){return new dl(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new iu(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){for(var t=this._view,e=this._elDef.parent;!e&&t;)e=dc(t),t=t.parent;return t?new iu(t,e):new iu(this._view,null)},enumerable:!0,configurable:!0}),t.prototype.clear=function(){for(var t=this._embeddedViews.length-1;t>=0;t--){var e=Gc(this._data,t);Xl.destroyView(e)}},t.prototype.get=function(t){var e=this._embeddedViews[t];if(e){var n=new tu(e);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(t.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;i||t instanceof cl||(i=o.get(ut));var a=t.create(o,r,void 0,i);return this.insert(a.hostView,e),a},t.prototype.insert=function(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n=t,r=n._view;return Uc(this._view,this._data,e,r),n.attachToViewContainerRef(this),t},t.prototype.move=function(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,o,a,s=this._embeddedViews.indexOf(t._view);return n=this._data,r=s,i=e,o=n.viewContainer._embeddedViews,a=o[r],mt(o,r),null==i&&(i=o.length),ft(o,i,a),Xl.dirtyParentQueries(a),Wc(a),qc(n,i>0?o[i-1]:null,a),t},t.prototype.indexOf=function(t){return this._embeddedViews.indexOf(t._view)},t.prototype.remove=function(t){var e=Gc(this._data,t);e&&Xl.destroyView(e)},t.prototype.detach=function(t){var e=Gc(this._data,t);return e?new tu(e):null},t}();function Jc(t){return new tu(t)}var tu=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(t.prototype,"rootNodes",{get:function(){return xc(this._view,0,void 0,void 0,t=[]),t;var t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){lc(this._view)},t.prototype.detach=function(){this._view.state&=-5},t.prototype.detectChanges=function(){var t=this._view.root.rendererFactory;t.begin&&t.begin();try{Xl.checkAndUpdateView(this._view)}finally{t.end&&t.end()}},t.prototype.checkNoChanges=function(){Xl.checkNoChangesView(this._view)},t.prototype.reattach=function(){this._view.state|=4},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Xl.destroyView(this._view)},t.prototype.detachFromAppRef=function(){this._appRef=null,Wc(this._view),Xl.dirtyParentQueries(this._view)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t}();function eu(t,e){return new nu(t,e)}var nu=function(t){function e(e,n){var r=t.call(this)||this;return r._parentView=e,r._def=n,r}return Object(r.c)(e,t),e.prototype.createEmbeddedView=function(t){return new tu(Xl.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new dl(Wl(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),e}(Nl);function ru(t,e){return new iu(t,e)}var iu=function(){function t(t,e){this.view=t,this.elDef=e}return t.prototype.get=function(t,e){void 0===e&&(e=Fa.THROW_IF_NOT_FOUND);var n=!!this.elDef&&0!=(33554432&this.elDef.flags);return Xl.resolveDep(this.view,this.elDef,n,{flags:0,token:t,tokenKey:Jl(t)},e)},t}();function ou(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=Wl(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return ql(t,n.nodeIndex).renderText;if(20240&n.flags)return Yl(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function au(t){return new su(t.renderer)}var su=function(){function t(t){this.delegate=t}return t.prototype.selectRootElement=function(t){return this.delegate.selectRootElement(t)},t.prototype.createElement=function(t,e){var n=Object(r.f)(jc(e),2),i=n[0],o=n[1],a=this.delegate.createElement(o,i);return t&&this.delegate.appendChild(t,a),a},t.prototype.createViewRoot=function(t){return t},t.prototype.createTemplateAnchor=function(t){var e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e},t.prototype.createText=function(t,e){var n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n},t.prototype.projectNodes=function(t,e){for(var n=0;n0,r=ku(t,e.parent,n,e.provider.value,e.provider.deps);if(e.outputs.length)for(var i=0;i0,i=e.provider;switch(201347067&e.flags){case 512:return ku(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,o){var a=o.length;switch(a){case 0:return i();case 1:return i(Au(t,e,n,o[0]));case 2:return i(Au(t,e,n,o[0]),Au(t,e,n,o[1]));case 3:return i(Au(t,e,n,o[0]),Au(t,e,n,o[1]),Au(t,e,n,o[2]));default:for(var s=Array(a),l=0;l0&&(i=setTimeout(function(){r._callbacks=r._callbacks.filter(function(t){return t.timeoutId!==i}),t(r._didWork,r.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})},t.prototype.whenStable=function(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findProviders=function(t,e,n){return[]},t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Kp])],t)}(),nd=function(){function t(){this._applications=new Map,od.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.unregisterApplication=function(t){this._applications.delete(t)},t.prototype.unregisterAllApplications=function(){this._applications.clear()},t.prototype.getTestability=function(t){return this._applications.get(t)||null},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),od.findTestabilityInTree(this,t,e)},t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[])],t)}();function rd(t){od=t}var id,od=new(function(){function t(){}return t.prototype.addToWindow=function(t){},t.prototype.findTestabilityInTree=function(t,e,n){return null},t}()),ad=function(t,e,n){return t.get(Bp).createCompiler([e]).compileModuleAsync(n)};var sd=function(t){return t instanceof cl};var ld=new H("AllowMultipleToken"),cd=function(t,e){this.name=t,this.token=e};function ud(t,e,n){void 0===n&&(n=[]);var r="Platform: "+e,i=new H(r);return function(e){void 0===e&&(e=[]);var o=pd();if(!o||o.injector.get(ld,!1))if(t)t(n.concat(e).concat({provide:i,useValue:!0}));else{var a=n.concat(e).concat({provide:i,useValue:!0});!function(t){if(id&&!id.destroyed&&!id.injector.get(ld,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");id=t.get(dd);var e=t.get(xp,null);e&&e.forEach(function(t){return t()})}(Fa.create({providers:a,name:r}))}return function(t){var e=pd();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(i)}}function pd(){return id&&!id.destroyed?id:null}var dd=function(){function t(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return t.prototype.bootstrapModuleFactory=function(t,e){var n=this,r=function(t){var e;e="noop"===t?new td:("zone.js"===t?void 0:t)||new Kp({enableLongStackTrace:Lr()});return e}(e?e.ngZone:void 0),i=[{provide:Kp,useValue:r}];return r.run(function(){var e=Fa.create({providers:i,parent:n.injector,name:t.moduleType.name}),o=t.create(e),a=o.injector.get(Mr,null);if(!a)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");Dp&&Yu(o.injector.get(kp,Wu)||Wu);return o.onDestroy(function(){return md(n._modules,o)}),r.runOutsideAngular(function(){return r.onError.subscribe({next:function(t){a.handleError(t)}})}),function(t,e,n){try{var r=n();return Vs(r)?r.catch(function(n){throw e.runOutsideAngular(function(){return t.handleError(n)}),n}):r}catch(i){throw e.runOutsideAngular(function(){return t.handleError(i)}),i}}(a,r,function(){var t=o.injector.get(yp);return t.runInitializers(),t.donePromise.then(function(){return n._moduleDoBootstrap(o),o})})})},t.prototype.bootstrapModule=function(t,e){var n=this;void 0===e&&(e=[]);var r=hd({},e);return ad(this.injector,r,t).then(function(t){return n.bootstrapModuleFactory(t,r)})},t.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(fd);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+T(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Fa])],t)}();function hd(t,e){return t=Array.isArray(e)?e.reduce(hd,t):Object(r.a)({},t,e)}var fd=function(){function t(t,e,n,r,i,o){var c=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=Lr(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run(function(){c.tick()})}});var u=new a.a(function(t){c._stable=c._zone.isStable&&!c._zone.hasPendingMacrotasks&&!c._zone.hasPendingMicrotasks,c._zone.runOutsideAngular(function(){t.next(c._stable),t.complete()})}),p=new a.a(function(t){var e;c._zone.runOutsideAngular(function(){e=c._zone.onStable.subscribe(function(){Kp.assertNotInAngularZone(),Yp(function(){c._stable||c._zone.hasPendingMacrotasks||c._zone.hasPendingMicrotasks||(c._stable=!0,t.next(!0))})})});var n=c._zone.onUnstable.subscribe(function(){Kp.assertInAngularZone(),c._stable&&(c._stable=!1,c._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(s.a)(u,p.pipe(Object(l.a)()))}var e;return e=t,t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof rl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=sd(n)?null:this._injector.get(ut),o=e||n.selector,a=n.create(Fa.NULL,[],o,i);a.onDestroy(function(){r._unloadComponent(a)});var s=a.injector.get(ed,null);return s&&a.injector.get(nd).registerApplication(a.location.nativeElement,s),this._loadComponent(a),Lr()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),a},t.prototype.tick=function(){var t,n,i,o,a=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var s=e._tickScope();try{this._runningTick=!0;try{for(var l=Object(r.h)(this._views),c=l.next();!c.done;c=l.next()){c.value.detectChanges()}}catch(d){t={error:d}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}if(this._enforceNoNewChanges)try{for(var u=Object(r.h)(this._views),p=u.next();!p.done;p=u.next()){p.value.checkNoChanges()}}catch(h){i={error:h}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(i)throw i.error}}}catch(f){this._zone.runOutsideAngular(function(){return a._exceptionHandler.handleError(f)})}finally{this._runningTick=!1,qp(s)}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;md(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Op,[]).concat(this._bootstrapListeners).forEach(function(e){return e(t)})},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),md(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t._tickScope=Gp("ApplicationRef#tick()"),t=e=Object(r.b)([wa(),Object(r.d)("design:paramtypes",[Kp,Sp,Fa,Mr,sl,yp])],t)}();function md(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var gd=function(){};var yd=function(){},vd={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},bd=function(){function t(t,e){this._compiler=t,this._config=e||vd}return t.prototype.load=function(t){return!Dp&&this._compiler instanceof Lp?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,i=Object(r.f)(t.split("#"),2),o=i[0],a=i[1];return void 0===a&&(a="default"),n("crnd")(o).then(function(t){return t[a]}).then(function(t){return _d(t,o,a)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=Object(r.f)(t.split("#"),2),i=e[0],o=e[1],a="NgFactory";return void 0===o&&(o="default",a=""),n("crnd")(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then(function(t){return t[o+a]}).then(function(t){return _d(t,i,o)})},t=Object(r.b)([wa(),Object(r.e)(1,v()),Object(r.d)("design:paramtypes",[Lp,yd])],t)}();function _d(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var wd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e}(aa)),xd=function(t,e){this.name=t,this.callback=e},Cd=function(){function t(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof Od&&e.addChild(this)}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),t}(),Od=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e,i}return Object(r.c)(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n,i=this,o=this.childNodes.indexOf(t);-1!==o&&((n=this.childNodes).splice.apply(n,Object(r.g)([o+1,0],e)),e.forEach(function(e){e.parent&&e.parent.removeChild(e),t.parent=i}))},e.prototype.insertBefore=function(t,e){var n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))},e.prototype.query=function(t){return this.queryAll(t)[0]||null},e.prototype.queryAll=function(t){var e=[];return Ed(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return Sd(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(Cd);function Ed(t,e,n){t.childNodes.forEach(function(t){t instanceof Od&&(e(t)&&n.push(t),Ed(t,e,n))})}function Sd(t,e,n){t instanceof Od&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Od&&Sd(t,e,n)})}var kd=function(){function t(t){this.nativeNode=t}return Object.defineProperty(t.prototype,"parent",{get:function(){var t=this.nativeNode.parentNode;return t?new jd(t):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return Gs(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){var t=this.nativeNode;return t&&(zs(t)||Us(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return zs(this.nativeNode)||Hs(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"listeners",{get:function(){return Qs(this.nativeNode).filter(Ks)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return Ws(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return function(t){var e=qs(t,!1);if(!e)return[];for(var n,r=e.lView[Lt],i=r.data[e.nodeIndex],o=[],a=65535&i.providerIndexes,s=i.directiveEnd,l=a;l0)c=m,uh(m)||(u=m);else for(;c&&f===c.nodeIndex+c.childCount;){var b=c.parent;b&&(b.childFlags|=c.childFlags,b.childMatchedQueries|=c.childMatchedQueries),u=(c=b)&&uh(c)?c.renderParent:c}}return{factory:null,nodeFlags:a,rootNodeFlags:s,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||Zl,updateRenderer:r||Zl,handleEvent:function(t,n,r,i){return e[n].element.handleEvent(t,r,i)},bindingCount:i,outputCount:o,lastRenderRootNode:h}}function uh(t){return 0!=(1&t.flags)&&null===t.element.name}function ph(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function dh(t,e,n,r){var i=mh(t.root,t.renderer,t,e,n);return gh(i,t.component,r),yh(i),i}function hh(t,e,n){var r=mh(t,t.renderer,null,null,e);return gh(r,n,n),yh(r),r}function fh(t,e,n,r){var i,o=e.element.componentRendererType;return i=o?t.root.rendererFactory.createRenderer(r,o):t.root.renderer,mh(t.root,i,t,e.element.componentProvider,n)}function mh(t,e,n,r,i){var o=new Array(i.nodes.length),a=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:a,initIndex:-1}}function gh(t,e,n){t.component=e,t.context=n}function yh(t){var e;if(fc(t)){var n=t.parentNodeDef;e=Wl(t.parent,n.parent.nodeIndex).renderElement}for(var r=t.def,i=t.nodes,o=0;o0&&Kd(t,e,0,n)&&(h=!0),d>1&&Kd(t,e,1,r)&&(h=!0),d>2&&Kd(t,e,2,i)&&(h=!0),d>3&&Kd(t,e,3,o)&&(h=!0),d>4&&Kd(t,e,4,a)&&(h=!0),d>5&&Kd(t,e,5,s)&&(h=!0),d>6&&Kd(t,e,6,l)&&(h=!0),d>7&&Kd(t,e,7,c)&&(h=!0),d>8&&Kd(t,e,8,u)&&(h=!0),d>9&&Kd(t,e,9,p)&&(h=!0),h}(t,e,n,r,i,o,a,s,l,c,u,p);case 2:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=!1,h=e.bindings,f=h.length;if(f>0&&ac(t,e,0,n)&&(d=!0),f>1&&ac(t,e,1,r)&&(d=!0),f>2&&ac(t,e,2,i)&&(d=!0),f>3&&ac(t,e,3,o)&&(d=!0),f>4&&ac(t,e,4,a)&&(d=!0),f>5&&ac(t,e,5,s)&&(d=!0),f>6&&ac(t,e,6,l)&&(d=!0),f>7&&ac(t,e,7,c)&&(d=!0),f>8&&ac(t,e,8,u)&&(d=!0),f>9&&ac(t,e,9,p)&&(d=!0),d){var m=e.text.prefix;f>0&&(m+=lh(n,h[0])),f>1&&(m+=lh(r,h[1])),f>2&&(m+=lh(i,h[2])),f>3&&(m+=lh(o,h[3])),f>4&&(m+=lh(a,h[4])),f>5&&(m+=lh(s,h[5])),f>6&&(m+=lh(l,h[6])),f>7&&(m+=lh(c,h[7])),f>8&&(m+=lh(u,h[8])),f>9&&(m+=lh(p,h[9]));var g=ql(t,e.nodeIndex).renderText;t.renderer.setValue(g,m)}return d}(t,e,n,r,i,o,a,s,l,c,u,p);case 16384:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=Yl(t,e.nodeIndex),h=d.instance,f=!1,m=void 0,g=e.bindings.length;return g>0&&oc(t,e,0,n)&&(f=!0,m=Tu(t,d,e,0,n,m)),g>1&&oc(t,e,1,r)&&(f=!0,m=Tu(t,d,e,1,r,m)),g>2&&oc(t,e,2,i)&&(f=!0,m=Tu(t,d,e,2,i,m)),g>3&&oc(t,e,3,o)&&(f=!0,m=Tu(t,d,e,3,o,m)),g>4&&oc(t,e,4,a)&&(f=!0,m=Tu(t,d,e,4,a,m)),g>5&&oc(t,e,5,s)&&(f=!0,m=Tu(t,d,e,5,s,m)),g>6&&oc(t,e,6,l)&&(f=!0,m=Tu(t,d,e,6,l,m)),g>7&&oc(t,e,7,c)&&(f=!0,m=Tu(t,d,e,7,c,m)),g>8&&oc(t,e,8,u)&&(f=!0,m=Tu(t,d,e,8,u,m)),g>9&&oc(t,e,9,p)&&(f=!0,m=Tu(t,d,e,9,p,m)),m&&h.ngOnChanges(m),65536&e.flags&&Gl(t,256,e.nodeIndex)&&h.ngOnInit(),262144&e.flags&&h.ngDoCheck(),f}(t,e,n,r,i,o,a,s,l,c,u,p);case 32:case 64:case 128:return function(t,e,n,r,i,o,a,s,l,c,u,p){var d=e.bindings,h=!1,f=d.length;if(f>0&&ac(t,e,0,n)&&(h=!0),f>1&&ac(t,e,1,r)&&(h=!0),f>2&&ac(t,e,2,i)&&(h=!0),f>3&&ac(t,e,3,o)&&(h=!0),f>4&&ac(t,e,4,a)&&(h=!0),f>5&&ac(t,e,5,s)&&(h=!0),f>6&&ac(t,e,6,l)&&(h=!0),f>7&&ac(t,e,7,c)&&(h=!0),f>8&&ac(t,e,8,u)&&(h=!0),f>9&&ac(t,e,9,p)&&(h=!0),h){var m=Kl(t,e.nodeIndex),g=void 0;switch(201347067&e.flags){case 32:g=new Array(d.length),f>0&&(g[0]=n),f>1&&(g[1]=r),f>2&&(g[2]=i),f>3&&(g[3]=o),f>4&&(g[4]=a),f>5&&(g[5]=s),f>6&&(g[6]=l),f>7&&(g[7]=c),f>8&&(g[8]=u),f>9&&(g[9]=p);break;case 64:g={},f>0&&(g[d[0].name]=n),f>1&&(g[d[1].name]=r),f>2&&(g[d[2].name]=i),f>3&&(g[d[3].name]=o),f>4&&(g[d[4].name]=a),f>5&&(g[d[5].name]=s),f>6&&(g[d[6].name]=l),f>7&&(g[d[7].name]=c),f>8&&(g[d[8].name]=u),f>9&&(g[d[9].name]=p);break;case 128:var y=n;switch(f){case 1:g=y.transform(n);break;case 2:g=y.transform(r);break;case 3:g=y.transform(r,i);break;case 4:g=y.transform(r,i,o);break;case 5:g=y.transform(r,i,o,a);break;case 6:g=y.transform(r,i,o,a,s);break;case 7:g=y.transform(r,i,o,a,s,l);break;case 8:g=y.transform(r,i,o,a,s,l,c);break;case 9:g=y.transform(r,i,o,a,s,l,c,u);break;case 10:g=y.transform(r,i,o,a,s,l,c,u,p)}}m.value=g}return h}(t,e,n,r,i,o,a,s,l,c,u,p);default:throw"unreachable"}}(t,e,i,o,a,s,l,c,u,p,d,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){for(var r=!1,i=0;i0&&sc(t,e,0,n);d>1&&sc(t,e,1,r);d>2&&sc(t,e,2,i);d>3&&sc(t,e,3,o);d>4&&sc(t,e,4,a);d>5&&sc(t,e,5,s);d>6&&sc(t,e,6,l);d>7&&sc(t,e,7,c);d>8&&sc(t,e,8,u);d>9&&sc(t,e,9,p)}(t,e,r,i,o,a,s,l,c,u,p,d):function(t,e,n){for(var r=0;r0){var o=new Set(t.modules);Uh.forEach(function(e,n){if(o.has(k(n).providedIn)){var i={token:n,flags:e.flags|(r?4096:0),deps:vc(e.deps),value:e.value,index:t.providers.length};t.providers.push(i),t.providersByKey[Jl(n)]=i}})}}(t=t.factory(function(){return Zl})),t}(r))}var Lh,Vh,Bh,zh,Hh=new Map,Uh=new Map,Gh=new Map;function qh(t){var e;Hh.set(t.token,t),"function"==typeof t.token&&(e=k(t.token))&&"function"==typeof e.providedIn&&Uh.set(t.token,t)}function Wh(t,e){var n=wc(e.viewDefFactory),r=wc(n.nodes[0].element.componentView);Gh.set(t,r)}function Yh(){Hh.clear(),Uh.clear(),Gh.clear()}function Kh(t){if(0===Hh.size)return t;var e=function(t){for(var e=[],n=null,r=0;r\r\n \r\n \r\n --\r\n \r\n {{minion.name}}\r\n \r\n \r\n \r\n

      \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n {{ \'SET_STATUS\' | translate}}\r\n \r\n \r\n --\r\n {{ \'ON\' | translate }}\r\n {{ \'OFF\' | translate }}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'SET_PROPERTIES\' | translate}}\r\n\r\n \x3c!-- AC properties --\x3e\r\n \r\n \r\n \r\n {{ \'HOT\' | translate}} \r\n {{ \'COLD\' | translate}} \r\n {{ \'DRY\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n \r\n \r\n {{ \'MED\' | translate}} \r\n {{ \'HIGH\' | translate}} \r\n {{ \'LOW\' | translate}} \r\n {{ \'AUTO\' | translate}} \r\n \r\n \r\n

      {{\'TEMERATURE\' | translate}}: {{temperature}}°

      \r\n \r\n \r\n
      \r\n\r\n \x3c!-- light properties --\x3e\r\n \r\n

      {{\'BRIGTNESS\' | translate}}: {{brightness}}%

      \r\n \r\n \r\n
      \r\n\r\n \x3c!-- temperature light properties --\x3e\r\n \r\n

      {{\'BRIGTNESS\' | translate}}: {{brightness}}%

      \r\n \r\n \r\n

      {{\'TEMERATURE\' | translate}}: {{temperature}}%

      \r\n \r\n \r\n
      \r\n\r\n \x3c!-- color light properties --\x3e\r\n \r\n

      {{\'BRIGTNESS\' | translate}}: {{brightness}}%

      \r\n \r\n \r\n

      {{\'TEMERATURE\' | translate}}: {{temperature}}%

      \r\n \r\n \r\n

      {{\'RED\' | translate}}: {{red}}

      \r\n \r\n \r\n

      {{\'GREEN\' | translate}}: {{green}}

      \r\n \r\n \r\n

      {{\'BLUE\' | translate}}: {{blue}}

      \r\n \r\n \r\n
      \r\n\r\n \x3c!-- roller properties --\x3e\r\n \r\n \r\n \r\n arrow_upward\r\n \r\n \r\n arrow_downward\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_ACTIVITY_MESSAGE\' | translate}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n'},Fxb1:function(t,e,n){"use strict";var r=n("+tJ4"),i=n("DKTb"),o=n("En8+"),a=n("xTla"),s=n("2ePl"),l=n("/WYv"),c=n("McSo");n.d(e,"a",function(){return u});var u=function(t){if(t&&"function"==typeof t[a.a])return u=t,function(t){var e=u[a.a]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Object(s.a)(t))return Object(r.a)(t);if(Object(l.a)(t))return n=t,function(t){return n.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,i.a),t};if(t&&"function"==typeof t[o.a])return e=t,function(t){for(var n=e[o.a]();;){var r=n.next();if(r.done){t.complete();break}if(t.next(r.value),t.closed)break}return"function"==typeof n.return&&t.add(function(){n.return&&n.return()}),t};var e,n,u,p=Object(c.a)(t)?"an invalid object":"'"+t+"'";throw new TypeError("You provided "+p+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")}},Fzqc:function(t,e,n){"use strict";n.d(e,"b",function(){return a}),n.d(e,"a",function(){return l});var r=n("Ip0R"),i=n("CcnG"),o=new i.E("cdk-dir-doc",{providedIn:"root",factory:function(){return Object(i.xb)(r.c)}});var a=function(){function t(t){if(this.value="ltr",this.change=new i.x,t){var e=t.body?t.body.dir:null,n=t.documentElement?t.documentElement.dir:null,r=e||n;this.value="ltr"===r||"rtl"===r?r:"ltr"}}return t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.R},{type:i.C,args:[o]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(o,8))},token:t,providedIn:"root"}),t}(),s=function(){function t(){this._dir="ltr",this._isInitialized=!1,this.change=new i.x}return Object.defineProperty(t.prototype,"dir",{get:function(){return this._dir},set:function(t){var e=this._dir,n=t?t.toLowerCase():t;this._rawDir=t,this._dir="ltr"===n||"rtl"===n?n:"ltr",e!==this._dir&&this._isInitialized&&this.change.emit(this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.dir},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._isInitialized=!0},t.prototype.ngOnDestroy=function(){this.change.complete()},t.decorators=[{type:i.t,args:[{selector:"[dir]",providers:[{provide:a,useExisting:t}],host:{"[attr.dir]":"_rawDir"},exportAs:"dir"}]}],t.propDecorators={change:[{type:i.S,args:["dirChange"]}],dir:[{type:i.G}]},t}(),l=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[s],declarations:[s]}]}],t}()},G5J1:function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return o});var r=n("6blF"),i=new r.a(function(t){return t.complete()});function o(t){return t?function(t){return new r.a(function(e){return t.schedule(function(){return e.complete()})})}(t):i}},Gi3i:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("mrSG"),i=n("FFOo"),o=n("T1DM");function a(t,e){return void 0===e&&(e=o.a),function(n){return n.lift(new s(t,e))}}var s=function(){function t(t,e){this.dueTime=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.dueTime,this.scheduler))},t}(),l=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.dueTime=n,i.scheduler=r,i.debouncedSubscription=null,i.lastValue=null,i.hasValue=!1,i}return r.c(e,t),e.prototype._next=function(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(c,this.dueTime,this))},e.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},e.prototype.debouncedNext=function(){if(this.clearDebounce(),this.hasValue){var t=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}},e.prototype.clearDebounce=function(){var t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)},e}(i.a);function c(t){t.debouncedNext()}},Gwao:function(t,e,n){"use strict";n.d(e,"a",function(){return f});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},f=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isMinionsRetrived=!1,this.minions=[],this.minionsFeed=new i.a(this.minions),this.retriveData()}return t.prototype.getCommandsRepoAvailableDevices=function(){return p(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/rf/devices",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[2,null];case 3:return[2]}})})},t.prototype.fetchDeviceCommandsToMinion=function(t,e){return p(this,void 0,void 0,function(){return d(this,function(n){switch(n.label){case 0:return[4,this.httpClient.put(l.a.baseUrl+"/rf/fetch-commands/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[2]}})})},t.prototype.recordCommand=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/record/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.generateCommand=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/rf/generate/"+t.minionId,e,{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.refreshMinions=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:this.minionsServerFeed&&this.minionsServerFeed.close(),this.minions=[],n.label=1;case 1:return n.trys.push([1,5,,6]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan",{},{params:(new o.c).set("scanNetwork",t),withCredentials:!0}).toPromise()];case 2:return n.sent(),[4,this.waitForMinionsScanning()];case 3:return n.sent(),[4,this.loadMinions()];case 4:return n.sent(),[3,6];case 5:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,6];case 6:return[2]}})})},t.prototype.waitForMinionsScanning=function(){return p(this,void 0,void 0,function(){var t,e;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,5,,6]),t="inProgress",n.label=1;case 1:return"inProgress"!==t?[3,4]:[4,this.httpClient.get(l.a.baseUrl+"/minions/rescan",{withCredentials:!0}).toPromise()];case 2:return e=n.sent(),t=e.scaningStatus,[4,this.sleep(5e3)];case 3:return n.sent(),[3,1];case 4:return[2,t];case 5:return n.sent(),[3,6];case 6:return[2]}})})},t.prototype.sleep=function(t){return new Promise(function(e,n){setTimeout(function(){e()},t)})},t.prototype.refreshMinion=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions/rescan/"+t.minionId,{},{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[4,this.patchMinions()];case 4:return n.sent(),[2]}})})},t.prototype.getMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.patchMinions=function(){return p(this,void 0,void 0,function(){var t,e,n,r,i,o,s;return d(this,function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions",{withCredentials:!0}).toPromise()];case 1:t=c.sent(),this.minions=t;try{for(e=h(this.minions),n=e.next();!n.done;n=e.next())r=n.value,this.loadDefaultStatusValues(r)}catch(u){o={error:u}}finally{try{n&&!n.done&&(s=e.return)&&s.call(e)}finally{if(o)throw o.error}}return this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:return i=c.sent(),this.isMinionsRetrived=!1,this.toastrAndErrorsService.OnHttpError(i),[3,3];case 3:return[2]}})})},t.prototype.loadMinions=function(){return p(this,void 0,void 0,function(){var t=this;return d(this,function(e){switch(e.label){case 0:return[4,this.patchMinions()];case 1:return e.sent(),this.minionsServerFeed&&this.minionsServerFeed.close(),this.minionsServerFeed=new EventSource(l.a.baseUrl+"/feed/minions",{withCredentials:!0}),this.minionsServerFeed.onmessage=function(e){t.OnMinionFeedUpdate(e)},[2]}})})},t.prototype.loadDefaultStatusValues=function(t){t.minionStatus[t.minionType]&&"{}"!==JSON.stringify(t.minionStatus[t.minionType])||(t.minionStatus={airConditioning:{fanStrength:"auto",mode:"auto",status:"off",temperature:16},colorLight:{blue:1,brightness:1,green:1,red:1,status:"off",temperature:1},light:{brightness:1,status:"off"},switch:{status:"off"},roller:{status:"off",direction:"up"},temperatureLight:{brightness:1,status:"off",temperature:1},toggle:{status:"off"}})},t.prototype.retriveMinions=function(){return p(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return this.isMinionsRetrived?[3,2]:(this.isMinionsRetrived=!0,[4,this.loadMinions()]);case 1:t.sent(),t.label=2;case 2:return[2]}})})},t.prototype.OnMinionFeedUpdate=function(t){if('"init"'!==t.data){var e=JSON.parse(t.data);switch(e.event){case"update":this.loadDefaultStatusValues(e.minion),(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1),this.minions.push(e.minion);break;case"created":this.loadDefaultStatusValues(e.minion),this.minions.push(e.minion);break;case"removed":var n;(n=this.findMinion(e.minion.minionId))&&this.minions.splice(this.minions.indexOf(n),1)}this.minionsFeed.next(Object(a.a)(this.minions))}},t.prototype.findMinion=function(t){var e,n;try{for(var r=h(this.minions),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.minionId===t)return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.setStatus=function(t){return p(this,void 0,void 0,function(){var e,n;return d(this,function(r){switch(r.label){case 0:e=this.findMinion(t.minionId),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.httpClient.put(l.a.baseUrl+"/minions/"+t.minionId,t.minionStatus,{withCredentials:!0}).toPromise()];case 2:return r.sent(),e.isProperlyCommunicated=!0,e.minionStatus=Object(a.a)(t.minionStatus),[3,4];case 3:return n=r.sent(),e.isProperlyCommunicated=!1,this.toastrAndErrorsService.OnHttpError(n),[3,4];case 4:return this.minionsFeed.next(Object(a.a)(this.minions)),[2]}})})},t.prototype.deleteMinion=function(t){return p(this,void 0,void 0,function(){var e,n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.delete(l.a.baseUrl+"/minions/"+t.minionId,{withCredentials:!0}).toPromise()];case 1:return r.sent(),(e=this.findMinion(t.minionId))&&this.minions.splice(this.minions.indexOf(e),1),this.minionsFeed.next(Object(a.a)(this.minions)),[3,3];case 2:throw n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),n;case 3:return[2]}})})},t.prototype.createMinion=function(t){return p(this,void 0,void 0,function(){var e;return d(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.post(l.a.baseUrl+"/minions",t,{withCredentials:!0}).toPromise()];case 1:return n.sent(),[3,3];case 2:return e=n.sent(),this.toastrAndErrorsService.OnHttpError(e),[3,3];case 3:return[2]}})})},t.prototype.setAutoTimeout=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/timeout/"+t.minionId,{setAutoTurnOffMS:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.setCalibrate=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/calibrate/"+t.minionId,{calibrationCycleMinutes:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.renameMinion=function(t,e){return p(this,void 0,void 0,function(){var n;return d(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,this.httpClient.put(l.a.baseUrl+"/minions/rename/"+t.minionId,{name:e},{withCredentials:!0}).toPromise()];case 1:return r.sent(),[3,3];case 2:return n=r.sent(),this.toastrAndErrorsService.OnHttpError(n),[3,3];case 3:return[2]}})})},t.prototype.getTimeline=function(){return p(this,void 0,void 0,function(){var t;return d(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.httpClient.get(l.a.baseUrl+"/minions/timeline",{withCredentials:!0}).toPromise()];case 1:return[2,e.sent()];case 2:return t=e.sent(),this.toastrAndErrorsService.OnHttpError(t),[3,3];case 3:return[2]}})})},t.prototype.refreshData=function(){return p(this,void 0,void 0,function(){return d(this,function(t){switch(t.label){case 0:return[4,this.loadMinions()];case 1:return t.sent(),[2]}})})},t.prototype.cleanUp=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.isMinionsRetrived=!1,this.minions=[],this.minionsServerFeed&&(this.minionsServerFeed.close(),this.minionsServerFeed=null),[2]})})},t.prototype.retriveData=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.retriveMinions(),[2]})})},t.ctorParameters=function(){return[{type:s.a},{type:o.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,o.a])],t)}()},HlIG:function(t,e,n){"use strict";n.r(e),e.default='

      {{ \'EDIT\' | translate }} {{minion.name}} {{ \'CALIBRATION\' | translate }}

      \r\n
      \r\n

      {{ \'DEFINE_CALIBRATION\' | translate }}

      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      '},IUTb:function(t,e,n){"use strict";n.d(e,"a",function(){return a});var r=n("6blF"),i=n("+tJ4"),o=n("JF+6");function a(t,e){return e?Object(o.a)(t,e):new r.a(Object(i.a)(t))}},Ip0R:function(t,e,n){"use strict";n.d(e,"t",function(){return ft}),n.d(e,"b",function(){return Pe}),n.d(e,"h",function(){return Ot}),n.d(e,"i",function(){return zt}),n.d(e,"c",function(){return Re}),n.d(e,"s",function(){return Me}),n.d(e,"m",function(){return Fe}),n.d(e,"n",function(){return Le}),n.d(e,"l",function(){return Ve}),n.d(e,"p",function(){return xt}),n.d(e,"o",function(){return wt}),n.d(e,"r",function(){return Vt}),n.d(e,"q",function(){return Lt}),n.d(e,"k",function(){return o}),n.d(e,"e",function(){return a}),n.d(e,"g",function(){return s}),n.d(e,"a",function(){return l}),n.d(e,"d",function(){return v}),n.d(e,"j",function(){return b}),n.d(e,"f",function(){return c});var r=n("CcnG"),i=n("mrSG"),o=function(){},a=new r.E("Location Initialized"),s=function(){},l=new r.E("appBaseHref"),c=function(){function t(t,n){var i=this;this._subject=new r.x,this._urlChangeListeners=[],this._platformStrategy=t;var o=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=e.stripTrailingSlash(u(o)),this._platformStrategy.onPopState(function(t){i._subject.emit({url:i.path(!0),pop:!0,state:t.state,type:t.type})})}var e;return e=t,t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.getState=function(){return this._platformLocation.getState()},t.prototype.isCurrentPathEqualTo=function(t,n){return void 0===n&&(n=""),this.path()==this.normalize(t+e.normalizeQueryParams(n))},t.prototype.normalize=function(t){return e.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,u(t)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.pushState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.replaceState=function(t,n,r){void 0===n&&(n=""),void 0===r&&(r=null),this._platformStrategy.replaceState(r,"",t,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+e.normalizeQueryParams(n)),r)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.onUrlChange=function(t){var e=this;this._urlChangeListeners.push(t),this.subscribe(function(t){e._notifyUrlChangeListeners(t.url,t.state)})},t.prototype._notifyUrlChangeListeners=function(t,e){void 0===t&&(t=""),this._urlChangeListeners.forEach(function(n){return n(t,e)})},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length,r=n-("/"===t[n-1]?1:0);return t.slice(0,r)+t.slice(n)},t=e=Object(i.b)([Object(r.D)(),Object(i.d)("design:paramtypes",[s,o])],t)}();function u(t){return t.replace(/\/index.html$/,"")}var p,d,h,f,m,g,y,v=function(t){function e(e,n){var r=t.call(this)||this;return r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n),r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e},e.prototype.prepareExternalUrl=function(t){var e=c.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),b=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return Object(i.c)(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return c.joinWithSlash(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e=Object(i.b)([Object(r.D)(),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(l)),Object(i.d)("design:paramtypes",[o,String])],e)}(s),_={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,0],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",0],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",0],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",0],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",0],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",0],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",0],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,0],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UZS:[void 0,void 0,0],VEF:[void 0,"Bs"],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};function w(t,e){return j(Object(r.Sb)(t)[r.Hb.DateFormat],e)}function x(t,e){return j(Object(r.Sb)(t)[r.Hb.TimeFormat],e)}function C(t,e){return j(Object(r.Sb)(t)[r.Hb.DateTimeFormat],e)}function O(t,e){var n=Object(r.Sb)(t),i=n[r.Hb.NumberSymbols][e];if(void 0===i){if(e===g.CurrencyDecimal)return n[r.Hb.NumberSymbols][g.Decimal];if(e===g.CurrencyGroup)return n[r.Hb.NumberSymbols][g.Group]}return i}function E(t,e){return Object(r.Sb)(t)[r.Hb.NumberFormats][e]}!function(t){t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific"}(p||(p={})),function(t){t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other"}(d||(d={})),function(t){t[t.Format=0]="Format",t[t.Standalone=1]="Standalone"}(h||(h={})),function(t){t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short"}(f||(f={})),function(t){t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full"}(m||(m={})),function(t){t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t[1/0]=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup"}(g||(g={})),function(t){t[t.Sunday=0]="Sunday",t[t.Monday=1]="Monday",t[t.Tuesday=2]="Tuesday",t[t.Wednesday=3]="Wednesday",t[t.Thursday=4]="Thursday",t[t.Friday=5]="Friday",t[t.Saturday=6]="Saturday"}(y||(y={}));var S=r.Tb;function k(t){if(!t[r.Hb.ExtraData])throw new Error('Missing extra locale data for the locale "'+t[r.Hb.LocaleId]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function j(t,e){for(var n=e;n>-1;n--)if(void 0!==t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function A(t){var e=Object(i.f)(t.split(":"),2);return{hours:+e[0],minutes:+e[1]}}function D(t,e,n){void 0===n&&(n="en");var i=function(t){return Object(r.Sb)(t)[r.Hb.Currencies]}(n)[t]||_[t]||[],o=i[1];return"narrow"===e&&"string"==typeof o?o:i[0]||t}var T=2;var P,I,R,M=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,N={},F=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function L(t,e,n,o){var a=function(t){if(X(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();var e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var n=Object(i.f)(t.split("-").map(function(t){return+t}),3),r=n[0],o=n[1],a=n[2];return new Date(r,o-1,a)}var s;if(s=t.match(M))return Q(s)}var l=new Date(t);if(!X(l))throw new Error('Unable to convert "'+t+'" into a date');return l}(t);e=function t(e,n){var i=function(t){return Object(r.Sb)(t)[r.Hb.LocaleId]}(e);N[i]=N[i]||{};if(N[i][n])return N[i][n];var o="";switch(n){case"shortDate":o=w(e,m.Short);break;case"mediumDate":o=w(e,m.Medium);break;case"longDate":o=w(e,m.Long);break;case"fullDate":o=w(e,m.Full);break;case"shortTime":o=x(e,m.Short);break;case"mediumTime":o=x(e,m.Medium);break;case"longTime":o=x(e,m.Long);break;case"fullTime":o=x(e,m.Full);break;case"short":var a=t(e,"shortTime"),s=t(e,"shortDate");o=V(C(e,m.Short),[a,s]);break;case"medium":var l=t(e,"mediumTime"),c=t(e,"mediumDate");o=V(C(e,m.Medium),[l,c]);break;case"long":var u=t(e,"longTime"),p=t(e,"longDate");o=V(C(e,m.Long),[u,p]);break;case"full":var d=t(e,"fullTime"),h=t(e,"fullDate");o=V(C(e,m.Full),[d,h])}o&&(N[i][n]=o);return o}(n,e)||e;for(var s,l=[];e;){if(!(s=F.exec(e))){l.push(e);break}var c=(l=l.concat(s.slice(1))).pop();if(!c)break;e=c}var u=a.getTimezoneOffset();o&&(u=K(o,u),a=function(t,e,n){var r=n?-1:1,i=t.getTimezoneOffset(),o=K(e,i);return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,r*(o-i))}(a,o,!0));var p="";return l.forEach(function(t){var e=function(t){if(Y[t])return Y[t];var e;switch(t){case"G":case"GG":case"GGG":e=H(R.Eras,f.Abbreviated);break;case"GGGG":e=H(R.Eras,f.Wide);break;case"GGGGG":e=H(R.Eras,f.Narrow);break;case"y":e=z(I.FullYear,1,0,!1,!0);break;case"yy":e=z(I.FullYear,2,0,!0,!0);break;case"yyy":e=z(I.FullYear,3,0,!1,!0);break;case"yyyy":e=z(I.FullYear,4,0,!1,!0);break;case"M":case"L":e=z(I.Month,1,1);break;case"MM":case"LL":e=z(I.Month,2,1);break;case"MMM":e=H(R.Months,f.Abbreviated);break;case"MMMM":e=H(R.Months,f.Wide);break;case"MMMMM":e=H(R.Months,f.Narrow);break;case"LLL":e=H(R.Months,f.Abbreviated,h.Standalone);break;case"LLLL":e=H(R.Months,f.Wide,h.Standalone);break;case"LLLLL":e=H(R.Months,f.Narrow,h.Standalone);break;case"w":e=W(1);break;case"ww":e=W(2);break;case"W":e=W(1,!0);break;case"d":e=z(I.Date,1);break;case"dd":e=z(I.Date,2);break;case"E":case"EE":case"EEE":e=H(R.Days,f.Abbreviated);break;case"EEEE":e=H(R.Days,f.Wide);break;case"EEEEE":e=H(R.Days,f.Narrow);break;case"EEEEEE":e=H(R.Days,f.Short);break;case"a":case"aa":case"aaa":e=H(R.DayPeriods,f.Abbreviated);break;case"aaaa":e=H(R.DayPeriods,f.Wide);break;case"aaaaa":e=H(R.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":e=H(R.DayPeriods,f.Abbreviated,h.Standalone,!0);break;case"bbbb":e=H(R.DayPeriods,f.Wide,h.Standalone,!0);break;case"bbbbb":e=H(R.DayPeriods,f.Narrow,h.Standalone,!0);break;case"B":case"BB":case"BBB":e=H(R.DayPeriods,f.Abbreviated,h.Format,!0);break;case"BBBB":e=H(R.DayPeriods,f.Wide,h.Format,!0);break;case"BBBBB":e=H(R.DayPeriods,f.Narrow,h.Format,!0);break;case"h":e=z(I.Hours,1,-12);break;case"hh":e=z(I.Hours,2,-12);break;case"H":e=z(I.Hours,1);break;case"HH":e=z(I.Hours,2);break;case"m":e=z(I.Minutes,1);break;case"mm":e=z(I.Minutes,2);break;case"s":e=z(I.Seconds,1);break;case"ss":e=z(I.Seconds,2);break;case"S":e=z(I.FractionalSeconds,1);break;case"SS":e=z(I.FractionalSeconds,2);break;case"SSS":e=z(I.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=U(P.Short);break;case"ZZZZZ":e=U(P.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=U(P.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=U(P.Long);break;default:return null}return Y[t]=e,e}(t);p+=e?e(a,n,u):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),p}function V(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,function(t,n){return null!=e&&n in e?e[n]:t})),t}function B(t,e,n,r,i){void 0===n&&(n="-");var o="";(t<0||i&&t<=0)&&(i?t=1-t:(t=-t,o=n));for(var a=String(t);a.length0||l>-n)&&(l+=n),t===I.Hours)0===l&&-12===n&&(l=12);else if(t===I.FractionalSeconds)return s=e,B(l,3).substr(0,s);var c=O(a,g.MinusSign);return B(l,e,c,r,i)}}function H(t,e,n,i){return void 0===n&&(n=h.Format),void 0===i&&(i=!1),function(o,a){return function(t,e,n,i,o,a){switch(n){case R.Months:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.MonthsFormat],i[r.Hb.MonthsStandalone]],e);return j(o,n)}(e,o,i)[t.getMonth()];case R.Days:return function(t,e,n){var i=Object(r.Sb)(t),o=j([i[r.Hb.DaysFormat],i[r.Hb.DaysStandalone]],e);return j(o,n)}(e,o,i)[t.getDay()];case R.DayPeriods:var s=t.getHours(),l=t.getMinutes();if(a){var c,u=function(t){var e=Object(r.Sb)(t);return k(e),(e[r.Hb.ExtraData][2]||[]).map(function(t){return"string"==typeof t?A(t):[A(t[0]),A(t[1])]})}(e),p=function(t,e,n){var i=Object(r.Sb)(t);k(i);var o=j([i[r.Hb.ExtraData][0],i[r.Hb.ExtraData][1]],e)||[];return j(o,n)||[]}(e,o,i);if(u.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=n.hours,i=n.minutes,o=t[1],a=o.hours,u=o.minutes;s>=r&&l>=i&&(s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case P.Short:return(i>=0?"+":"")+B(a,2,o)+B(Math.abs(i%60),2,o);case P.ShortGMT:return"GMT"+(i>=0?"+":"")+B(a,1,o);case P.Long:return"GMT"+(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);case P.Extended:return 0===r?"Z":(i>=0?"+":"")+B(a,2,o)+":"+B(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}!function(t){t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended"}(P||(P={})),function(t){t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day"}(I||(I={})),function(t){t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras"}(R||(R={}));var G=0,q=4;function W(t,e){return void 0===e&&(e=!1),function(n,r){var i,o,a,s;if(e){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,c=n.getDate();i=1+Math.floor((c+l)/7)}else{var u=(a=n.getFullYear(),s=new Date(a,G,1).getDay(),new Date(a,0,1+(s<=q?q:q+7)-s)),p=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(q-o.getDay()))).getTime()-u.getTime();i=1+Math.round(p/6048e5)}return B(i,t,O(r,g.MinusSign))}}var Y={};function K(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function Q(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),r=Number(t[9]+t[11])),i.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));var a=Number(t[4]||0)-n,s=Number(t[5]||0)-r,l=Number(t[6]||0),c=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,a,s,l,c),e}function X(t){return t instanceof Date&&!isNaN(t.valueOf())}var Z=/^(\d+)?\.((\d+)(-(\d+))?)?$/,$=22,J=".",tt="0",et=";",nt=",",rt="#",it="¤",ot="%";function at(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s="",l=!1;if(isFinite(t)){var c=function(t){var e,n,r,i,o,a=Math.abs(t)+"",s=0;(n=a.indexOf(J))>-1&&(a=a.replace(J,""));(r=a.search(/e/i))>0?(n<0&&(n=r),n+=+a.slice(r+1),a=a.substring(0,r)):n<0&&(n=a.length);for(r=0;a.charAt(r)===tt;r++);if(r===(o=a.length))e=[0],n=1;else{for(o--;a.charAt(o)===tt;)o--;for(n-=r,e=[],i=0;r<=o;r++,i++)e[i]=Number(a.charAt(r))}n>$&&(e=e.splice(0,$-1),s=n-1,n=1);return{digits:e,exponent:s,integerLen:n}}(t);a&&(c=function(t){if(0===t.digits[0])return t;var e=t.digits.length-t.integerLen;t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2);return t}(c));var u=e.minInt,p=e.minFrac,d=e.maxFrac;if(o){var h=o.match(Z);if(null===h)throw new Error(o+" is not a valid digit info");var f=h[1],m=h[3],y=h[5];null!=f&&(u=ct(f)),null!=m&&(p=ct(m)),null!=y?d=ct(y):null!=m&&p>d&&(d=p)}!function(t,e,n){if(e>n)throw new Error("The minimum number of digits after fraction ("+e+") is higher than the maximum ("+n+").");var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(e,i),n),a=o+t.integerLen,s=r[a];if(a>0){r.splice(Math.max(t.integerLen,a));for(var l=a;l=5)if(a-1<0){for(var u=0;u>a;u--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[a-1]++;for(;i=d?r.pop():p=!1),e>=10?1:0},0);h&&(r.unshift(h),t.integerLen++)}(c,p,d);var v=c.digits,b=c.integerLen,_=c.exponent,w=[];for(l=v.every(function(t){return!t});b0?w=v.splice(b,v.length):(w=v,v=[0]);var x=[];for(v.length>=e.lgSize&&x.unshift(v.splice(-e.lgSize,v.length).join(""));v.length>e.gSize;)x.unshift(v.splice(-e.gSize,v.length).join(""));v.length&&x.unshift(v.join("")),s=x.join(O(n,r)),w.length&&(s+=O(n,i)+w.join("")),_&&(s+=O(n,g.Exponential)+"+"+_)}else s=O(n,g.Infinity);return s=t<0&&!l?e.negPre+s+e.negSuf:e.posPre+s+e.posSuf}function st(t,e,n,r,i){var o=lt(E(e,p.Currency),O(e,g.MinusSign));return o.minFrac=function(t){var e,n=_[t];return n&&(e=n[2]),"number"==typeof e?e:T}(r),o.maxFrac=o.minFrac,at(t,o,e,g.CurrencyGroup,g.CurrencyDecimal,i).replace(it,n).replace(it,"")}function lt(t,e){void 0===e&&(e="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(et),i=r[0],o=r[1],a=-1!==i.indexOf(J)?i.split(J):[i.substring(0,i.lastIndexOf(tt)+1),i.substring(i.lastIndexOf(tt)+1)],s=a[0],l=a[1]||"";n.posPre=s.substr(0,s.indexOf(rt));for(var c=0;c-1)return i;if(i=n.getPluralCategory(t,r),e.indexOf(i)>-1)return i;if(e.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+t+'"')}var ht=function(t){function e(e,n){var r=t.call(this)||this;return r.locale=e,r.deprecatedPluralFn=n,r}return Object(i.c)(e,t),e.prototype.getPluralCategory=function(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):S(e||this.locale)(t)){case d.Zero:return"zero";case d.One:return"one";case d.Two:return"two";case d.Few:return"few";case d.Many:return"many";default:return"other"}},e=Object(i.b)([Object(r.D)(),Object(i.e)(0,Object(r.C)(r.J)),Object(i.e)(1,Object(r.R)()),Object(i.e)(1,Object(r.C)(ut)),Object(i.d)("design:paramtypes",[String,Object])],e)}(pt);function ft(t,e){var n,r;e=encodeURIComponent(e);try{for(var o=Object(i.h)(t.split(";")),a=o.next();!a.done;a=o.next()){var s=a.value,l=s.indexOf("="),c=Object(i.f)(-1==l?[s,""]:[s.slice(0,l),s.slice(l+1)],2),u=c[0],p=c[1];if(u.trim()===e)return decodeURIComponent(p)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return null}var mt=function(){function t(t,e){this._name=t,this._options=e,this.value=null,this._lastSetValue=null,this._lastSetValueType=0,this._lastSetValueIdentityChange=!1}return t.prototype.setValue=function(t){if(Array.isArray(t))this._lastSetValueType=4;else if(t instanceof Set)this._lastSetValueType=8;else if(t&&"string"==typeof t){if(!(4&this._options))throw new Error(this._name+" string values are not allowed");this._lastSetValueType=1}else this._lastSetValueType=t?2:0;this._lastSetValueIdentityChange=!0,this._lastSetValue=t||null},t.prototype.hasValueChanged=function(){var t=this._lastSetValueIdentityChange;if(!(t||14&this._lastSetValueType))return!1;var e=null,n=!!(1&this._options),r=!!(8&this._options),i=!!(2&this._options);switch(this._lastSetValueType){case 1:var o=this._lastSetValue.split(/\s+/g);16&this._options?(e={},o.forEach(function(t,n){return e[t]=!0})):e=o.reduce(function(t,e,n){return t+(n?" ":"")+e});break;case 2:var a=this._lastSetValue,s=Object.keys(a);t||(t=!this.value||function(t,e,n){var r=Object.keys(e),i=t;if(!_t(r,i))return!0;for(var o=0;o0)for(var o=e.split(/\s+/g),a=0;a0){var r=t.substr(n+1);t=t.substring(0,n),null!=e&&(e+=r)}return{key:t,value:e}}(e,n);n=i.value,e=i.key}t[e]=n}function _t(t,e){if(t&&e){if(t.length!==e.length)return!1;for(var n=0;n1?"short":"narrow":"long",n}function re(t){return t.reduce(function(t,e){return Object(i.a)({},t,e)},{})}function ie(t){return function(e,n){return $t(e,n,t)}}var oe=new Map;var ae=function(){function t(){}return t.format=function(t,e,n){return function(t,e,n){var r=Kt[t];if(r)return r(e,n);var i=t,o=oe.get(i);if(!o){o=[];var a=void 0;Yt.exec(t);for(var s=t;s;)(a=Yt.exec(s))?s=(o=o.concat(a.slice(1))).pop():(o.push(s),s=null);oe.set(i,o)}return o.reduce(function(t,r){var i=Qt[r];return t+(i?i(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(r))},"")}(n,t,e)},t}(),se=function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;var r;if("string"==typeof t&&(t=t.trim()),le(t))r=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var o=Object(i.f)(t.split("-").map(function(t){return parseInt(t,10)}),3),a=o[0],s=o[1],l=o[2];r=new Date(a,s-1,l)}else r=new Date(t);else r=new Date(parseFloat(t));if(!le(r)){var c=void 0;if("string"!=typeof t||!(c=t.match(M)))throw Gt(e,t);r=Q(c)}return ae.format(r,this._locale,e._ALIASES[n]||n)},t._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t=e=Object(i.b)([Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}();function le(t){return t instanceof Date&&!isNaN(t.valueOf())}function ce(t,e,n,r,i,o,a){if(void 0===o&&(o=null),void 0===a&&(a=!1),null==n)return null;if("number"!=typeof(n="string"!=typeof n||isNaN(+n-parseFloat(n))?n:+n))throw Gt(t,n);var s,l,c;if(r!==p.Currency&&(s=1,l=0,c=3),i){var u=i.match(Z);if(null===u)throw new Error(i+" is not a valid digit info for number pipes");null!=u[1]&&(s=ct(u[1])),null!=u[3]&&(l=ct(u[3])),null!=u[5]&&(c=ct(u[5]))}return Wt.format(n,e,r,{minimumIntegerDigits:s,minimumFractionDigits:l,maximumFractionDigits:c,currency:o,currencyAsSymbol:a})}var ue=[function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Decimal,n)},t=e=Object(i.b)([Object(r.W)({name:"number"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n){return ce(e,this._locale,t,p.Percent,n)},t=e=Object(i.b)([Object(r.W)({name:"percent"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),function(){function t(t){this._locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){return void 0===n&&(n="USD"),void 0===r&&(r=!1),ce(e,this._locale,t,p.Currency,i,n,r)},t=e=Object(i.b)([Object(r.W)({name:"currency"}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),se],pe=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),de=new(function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(t){},t.prototype.onDestroy=function(t){},t}()),he=new pe,fe=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}var e;return e=t,t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):Object(r.ac)(this._latestValue,this._latestReturnedValue)?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,r.rb.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(t){if(Object(r.Zb)(t))return de;if(Object(r.Yb)(t))return he;throw Gt(e,t)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"async",pure:!1}),Object(i.d)("design:paramtypes",[r.k])],t)}(),me=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toLowerCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"lowercase"})],t)}(),ge=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g,ye=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.replace(ge,function(t){return t[0].toUpperCase()+t.substr(1).toLowerCase()})},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"titlecase"})],t)}(),ve=function(){function t(){}var e;return e=t,t.prototype.transform=function(t){if(!t)return t;if("string"!=typeof t)throw Gt(e,t);return t.toUpperCase()},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"uppercase"})],t)}(),be=function(){function t(t){this.locale=t}var e;return e=t,t.prototype.transform=function(t,n,r,i){if(void 0===n&&(n="mediumDate"),null==t||""===t||t!=t)return null;try{return L(t,n,i||this.locale,r)}catch(o){throw Gt(e,o.message)}},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"date",pure:!0}),Object(i.e)(0,Object(r.C)(r.J)),Object(i.d)("design:paramtypes",[String])],t)}(),_e=/#/g,we=function(){function t(t){this._localization=t}var e;return e=t,t.prototype.transform=function(t,n,r){if(null==t)return"";if("object"!=typeof n||null===n)throw Gt(e,n);return n[dt(t,Object.keys(n),this._localization,r)].replace(_e,t.toString())},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nPlural",pure:!0}),Object(i.d)("design:paramtypes",[pt])],t)}(),xe=function(){function t(){}var e;return e=t,t.prototype.transform=function(t,n){if(null==t)return"";if("object"!=typeof n||"string"!=typeof t)throw Gt(e,n);return n.hasOwnProperty(t)?n[t]:n.hasOwnProperty("other")?n.other:""},t=e=Object(i.b)([Object(r.D)(),Object(r.W)({name:"i18nSelect",pure:!0})],t)}(),Ce=function(){function t(){}return t.prototype.transform=function(t){return JSON.stringify(t,null,2)},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"json",pure:!1})],t)}();var Oe=function(){function t(t){this.differs=t,this.keyValues=[]}return t.prototype.transform=function(t,e){var n=this;if(void 0===e&&(e=Ee),!t||!(t instanceof Map)&&"object"!=typeof t)return null;this.differ||(this.differ=this.differs.find(t).create());var r=this.differ.diff(t);return r&&(this.keyValues=[],r.forEachItem(function(t){var e,r;n.keyValues.push((e=t.key,r=t.currentValue,{key:e,value:r}))}),this.keyValues.sort(e)),this.keyValues},t=Object(i.b)([Object(r.D)(),Object(r.W)({name:"keyvalue",pure:!1}),Object(i.d)("design:paramtypes",[r.I])],t)}();function Ee(t,e){var n=t.key,r=e.key;if(n===r)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(null===n)return 1;if(null===r)return-1;if("string"==typeof n&&"string"==typeof r)return n=0&&n<=1?d.One:d.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===n?d.One:d.Other;case"ar":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:n%100===Math.floor(n%100)&&n%100>=3&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=99?d.Many:d.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?d.One:d.Other;case"be":return n%10==1&&n%100!=11?d.One:n%10===Math.floor(n%10)&&n%10>=2&&n%10<=4&&!(n%100>=12&&n%100<=14)?d.Few:n%10==0||n%10===Math.floor(n%10)&&n%10>=5&&n%10<=9||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=14?d.Many:d.Other;case"br":return n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?d.One:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?d.Two:n%10===Math.floor(n%10)&&(n%10>=3&&n%10<=4||n%10==9)&&!(n%100>=10&&n%100<=19||n%100>=70&&n%100<=79||n%100>=90&&n%100<=99)?d.Few:0!==n&&n%1e6==0?d.Many:d.Other;case"bs":case"hr":case"sr":return 0===o&&i%10==1&&i%100!=11||a%10==1&&a%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)||a%10===Math.floor(a%10)&&a%10>=2&&a%10<=4&&!(a%100>=12&&a%100<=14)?d.Few:d.Other;case"cs":case"sk":return 1===i&&0===o?d.One:i===Math.floor(i)&&i>=2&&i<=4&&0===o?d.Few:0!==o?d.Many:d.Other;case"cy":return 0===n?d.Zero:1===n?d.One:2===n?d.Two:3===n?d.Few:6===n?d.Many:d.Other;case"da":return 1===n||0!==s&&(0===i||1===i)?d.One:d.Other;case"dsb":case"hsb":return 0===o&&i%100==1||a%100==1?d.One:0===o&&i%100==2||a%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||a%100===Math.floor(a%100)&&a%100>=3&&a%100<=4?d.Few:d.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?d.One:d.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!=4&&i%10!=6&&i%10!=9||0!==o&&a%10!=4&&a%10!=6&&a%10!=9?d.One:d.Other;case"ga":return 1===n?d.One:2===n?d.Two:n===Math.floor(n)&&n>=3&&n<=6?d.Few:n===Math.floor(n)&&n>=7&&n<=10?d.Many:d.Other;case"gd":return 1===n||11===n?d.One:2===n||12===n?d.Two:n===Math.floor(n)&&(n>=3&&n<=10||n>=13&&n<=19)?d.Few:d.Other;case"gv":return 0===o&&i%10==1?d.One:0===o&&i%10==2?d.Two:0!==o||i%100!=0&&i%100!=20&&i%100!=40&&i%100!=60&&i%100!=80?0!==o?d.Many:d.Other:d.Few;case"he":return 1===i&&0===o?d.One:2===i&&0===o?d.Two:0!==o||n>=0&&n<=10||n%10!=0?d.Other:d.Many;case"is":return 0===s&&i%10==1&&i%100!=11||0!==s?d.One:d.Other;case"ksh":return 0===n?d.Zero:1===n?d.One:d.Other;case"kw":case"naq":case"se":case"smn":return 1===n?d.One:2===n?d.Two:d.Other;case"lag":return 0===n?d.Zero:0!==i&&1!==i||0===n?d.Other:d.One;case"lt":return n%10!=1||n%100>=11&&n%100<=19?n%10===Math.floor(n%10)&&n%10>=2&&n%10<=9&&!(n%100>=11&&n%100<=19)?d.Few:0!==a?d.Many:d.Other:d.One;case"lv":case"prg":return n%10==0||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19||2===o&&a%100===Math.floor(a%100)&&a%100>=11&&a%100<=19?d.Zero:n%10==1&&n%100!=11||2===o&&a%10==1&&a%100!=11||2!==o&&a%10==1?d.One:d.Other;case"mk":return 0===o&&i%10==1||a%10==1?d.One:d.Other;case"mt":return 1===n?d.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&n%100<=10?d.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19?d.Many:d.Other;case"pl":return 1===i&&0===o?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&i%10<=1||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&i%100<=14?d.Many:d.Other;case"pt":return n===Math.floor(n)&&n>=0&&n<=2&&2!==n?d.One:d.Other;case"ro":return 1===i&&0===o?d.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&n%100<=19?d.Few:d.Other;case"ru":case"uk":return 0===o&&i%10==1&&i%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&i%10==0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=14?d.Many:d.Other;case"shi":return 0===i||1===n?d.One:n===Math.floor(n)&&n>=2&&n<=10?d.Few:d.Other;case"si":return 0===n||1===n||0===i&&1===a?d.One:d.Other;case"sl":return 0===o&&i%100==1?d.One:0===o&&i%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||0!==o?d.Few:d.Other;case"tzm":return n===Math.floor(n)&&n>=0&&n<=1||n===Math.floor(n)&&n>=11&&n<=99?d.One:d.Other;default:return d.Other}},Re=(function(){function t(){}t=Object(i.b)([Object(r.L)({declarations:[ue],exports:[ue],providers:[{provide:ut,useValue:Ie}]})],t)}(),new r.E("DocumentToken")),Me="browser",Ne="server";function Fe(t){return t===Me}function Le(t){return t===Ne}new r.mb("8.2.6");var Ve=function(){function t(){}return t.ngInjectableDef=Object(r.tc)({token:t,providedIn:"root",factory:function(){return new Be(Object(r.uc)(Re),window,Object(r.uc)(r.w))}}),t}(),Be=function(){function t(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=function(){return[0,0]}}return t.prototype.setOffset=function(t){Array.isArray(t)?this.offset=function(){return t}:this.offset=t},t.prototype.getScrollPosition=function(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]},t.prototype.scrollToPosition=function(t){this.supportScrollRestoration()&&this.window.scrollTo(t[0],t[1])},t.prototype.scrollToAnchor=function(t){if(this.supportScrollRestoration()){t=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(t):t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{var e=this.document.querySelector("#"+t);if(e)return void this.scrollToElement(e);var n=this.document.querySelector("[name='"+t+"']");if(n)return void this.scrollToElement(n)}catch(r){this.errorHandler.handleError(r)}}},t.prototype.setHistoryScrollRestoration=function(t){if(this.supportScrollRestoration()){var e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}},t.prototype.scrollToElement=function(t){var e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],r-i[1])},t.prototype.supportScrollRestoration=function(){try{return!!this.window&&!!this.window.scrollTo}catch(t){return!1}},t}();!function(){function t(){}t.prototype.setOffset=function(t){},t.prototype.getScrollPosition=function(){return[0,0]},t.prototype.scrollToPosition=function(t){},t.prototype.scrollToAnchor=function(t){},t.prototype.setHistoryScrollRestoration=function(t){}}()},Iwuw:function(t,e,n){"use strict";n.r(e),e.default='\r\n \r\n
      \r\n {{ \'SELECT_A_DEVICE\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{device.display}}\r\n \r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'SELECT_A_BRAND\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{brand}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'SELECT_A_MODEL\' | translate}}\r\n \r\n \r\n --\r\n \r\n {{model}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'ENTER_TOKEN\' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'ENTER_ID\' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ \'ENTER_NAME\' | translate}}\r\n \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n {{ \'DONE\' | translate}}\r\n {{ \'DONE_MINION_MESSAGE\' | translate}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      '},"JF+6":function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("6blF"),i=n("pugT");function o(t,e){return new r.a(function(n){var r=new i.a,o=0;return r.add(e.schedule(function(){o!==t.length?(n.next(t[o++]),n.closed||r.add(this.schedule())):n.complete()})),r})}},JYZP:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- Spinner loading animation --\x3e\r\n\x3c!-- \r\n \r\n --\x3e\r\n\x3c!-- Casanet loading logo animation --\x3e\r\n'},K9Ia:function(t,e,n){"use strict";n.d(e,"b",function(){return u}),n.d(e,"a",function(){return p});var r=n("mrSG"),i=n("6blF"),o=n("FFOo"),a=n("pugT"),s=n("8g8A"),l=n("uMaO"),c=n("L/V9"),u=function(t){function e(e){var n=t.call(this,e)||this;return n.destination=e,n}return r.c(e,t),e}(o.a),p=function(t){function e(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return r.c(e,t),e.prototype[c.a]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new s.a;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),i=0;i0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=a(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(s(n),e.scheduled=void 0)},e}(n("h9Dq").a),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r",inputs:["disabled"],changeDetection:r.j.OnPush,encapsulation:r.qb.None,exportAs:"matTab"}]}],e.ctorParameters=function(){return[{type:r.pb}]},e.propDecorators={templateLabel:[{type:r.r,args:[j]}],_explicitContent:[{type:r.r,args:[k,{read:r.jb}]}],_implicitContent:[{type:r.nb,args:[r.jb]}],textLabel:[{type:r.G,args:["label"]}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}]},e}(Object(a.w)(A)),T={translateTab:Object(h.n)("translateTab",[Object(h.k)("center, void, left-origin-center, right-origin-center",Object(h.l)({transform:"none"})),Object(h.k)("left",Object(h.l)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),Object(h.k)("right",Object(h.l)({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),Object(h.m)("* => left, * => right, left => center, right => center",Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Object(h.m)("void => left-origin-center",[Object(h.l)({transform:"translate3d(-100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Object(h.m)("void => right-origin-center",[Object(h.l)({transform:"translate3d(100%, 0, 0)"}),Object(h.e)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])},P=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i._host=r,i._centeringSub=l.a.EMPTY,i._leavingSub=l.a.EMPTY,i}return Object(i.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this._centeringSub=this._host._beforeCentering.pipe(Object(m.a)(this._host._isCenterPosition(this._host._position))).subscribe(function(t){t&&!e.hasAttached()&&e.attach(e._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(function(){e.detach()})},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()},e.decorators=[{type:r.t,args:[{selector:"[matTabBodyHost]"}]}],e.ctorParameters=function(){return[{type:r.p},{type:r.pb},{type:I,decorators:[{type:r.C,args:[Object(r.vb)(function(){return I})]}]}]},e}(o.c),I=function(){function t(t,e,n){var i=this;this._elementRef=t,this._dir=e,this._dirChangeSubscription=l.a.EMPTY,this._translateTabComplete=new s.a,this._onCentering=new r.x,this._beforeCentering=new r.x,this._afterLeavingCenter=new r.x,this._onCentered=new r.x(!0),this.animationDuration="500ms",this._dir&&n&&(this._dirChangeSubscription=this._dir.change.subscribe(function(t){i._computePositionAnimationState(t),n.markForCheck()})),this._translateTabComplete.pipe(Object(g.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})).subscribe(function(t){i._isCenterPosition(t.toState)&&i._isCenterPosition(i._position)&&i._onCentered.emit(),i._isCenterPosition(t.fromState)&&!i._isCenterPosition(i._position)&&i._afterLeavingCenter.emit()})}return Object.defineProperty(t.prototype,"position",{set:function(t){this._positionIndex=t,this._computePositionAnimationState()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin())},t.prototype.ngOnDestroy=function(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()},t.prototype._onTranslateTabStarted=function(t){var e=this._isCenterPosition(t.toState);this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)},t.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._isCenterPosition=function(t){return"center"==t||"left-origin-center"==t||"right-origin-center"==t},t.prototype._computePositionAnimationState=function(t){void 0===t&&(t=this._getLayoutDirection()),this._positionIndex<0?this._position="ltr"==t?"left":"right":this._positionIndex>0?this._position="ltr"==t?"right":"left":this._position="center"},t.prototype._computePositionFromOrigin=function(){var t=this._getLayoutDirection();return"ltr"==t&&this.origin<=0||"rtl"==t&&this.origin>0?"left-origin-center":"right-origin-center"},t.decorators=[{type:r.n,args:[{selector:"mat-tab-body",template:'
      ',styles:[".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,animations:[T.translateTab],host:{class:"mat-tab-body"}}]}],t.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.k}]},t.propDecorators={_onCentering:[{type:r.S}],_beforeCentering:[{type:r.S}],_afterLeavingCenter:[{type:r.S}],_onCentered:[{type:r.S}],_portalHost:[{type:r.nb,args:[o.f]}],_content:[{type:r.G,args:["content"]}],origin:[{type:r.G}],animationDuration:[{type:r.G}],position:[{type:r.G}]},t}(),R=function(){},M=function(t){function e(e){var n=t.call(this)||this;return n.elementRef=e,n}return Object(i.c)(e,t),e.prototype.focus=function(){this.elementRef.nativeElement.focus()},e.prototype.getOffsetLeft=function(){return this.elementRef.nativeElement.offsetLeft},e.prototype.getOffsetWidth=function(){return this.elementRef.nativeElement.offsetWidth},e.decorators=[{type:r.t,args:[{selector:"[matTabLabelWrapper]",inputs:["disabled"],host:{"[class.mat-tab-disabled]":"disabled","[attr.aria-disabled]":"!!disabled"}}]}],e.ctorParameters=function(){return[{type:r.u}]},e}(Object(a.w)(R)),N=Object(x.f)({passive:!0}),F=function(){},L=function(t){function e(e,n,i,o,a,l){var u=t.call(this)||this;u._elementRef=e,u._changeDetectorRef=n,u._viewportRuler=i,u._dir=o,u._ngZone=a,u._platform=l,u._scrollDistance=0,u._selectedIndexChanged=!1,u._destroyed=new s.a,u._showPaginationControls=!1,u._disableScrollAfter=!0,u._disableScrollBefore=!0,u._stopScrolling=new s.a,u._selectedIndex=0,u.selectFocusedIndex=new r.x,u.indexFocused=new r.x;var p=e.nativeElement,d=function(){Object(c.a)(p,"mouseleave").pipe(Object(y.a)(u._destroyed)).subscribe(function(){u._stopInterval()})};return a?a.runOutsideAngular(d):d(),u}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){t=Object(v.f)(t),this._selectedIndexChanged=this._selectedIndex!=t,this._selectedIndex=t,this._keyManager&&this._keyManager.updateActiveItemIndex(t)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){this._tabLabelCount!=this._labelWrappers.length&&(this.updatePagination(),this._tabLabelCount=this._labelWrappers.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())},e.prototype._handleKeydown=function(t){if(!Object(b.s)(t))switch(t.keyCode){case b.h:this._keyManager.setFirstItemActive(),t.preventDefault();break;case b.e:this._keyManager.setLastItemActive(),t.preventDefault();break;case b.f:case b.n:this.selectFocusedIndex.emit(this.focusIndex),t.preventDefault();break;default:this._keyManager.onKeydown(t)}},e.prototype.ngAfterContentInit=function(){var t=this,e=this._dir?this._dir.change:Object(u.a)(null),n=this._viewportRuler.change(150),r=function(){t.updatePagination(),t._alignInkBarToSelectedTab()};this._keyManager=new w.d(this._labelWrappers).withHorizontalOrientation(this._getLayoutDirection()).withWrap(),this._keyManager.updateActiveItem(0),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(r):r(),Object(p.a)(e,n).pipe(Object(y.a)(this._destroyed)).subscribe(function(){r(),t._keyManager.withHorizontalOrientation(t._getLayoutDirection())}),this._keyManager.change.pipe(Object(y.a)(this._destroyed)).subscribe(function(e){t.indexFocused.emit(e),t._setTabFocus(e)})},e.prototype.ngAfterViewInit=function(){var t=this;Object(c.a)(this._previousPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe(function(){t._handlePaginatorPress("before")}),Object(c.a)(this._nextPaginator.nativeElement,"touchstart",N).pipe(Object(y.a)(this._destroyed)).subscribe(function(){t._handlePaginatorPress("after")})},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()},e.prototype._onContentChanges=function(){var t=this,e=this._elementRef.nativeElement.textContent;if(e!==this._currentTextContent){this._currentTextContent=e;var n=function(){t.updatePagination(),t._alignInkBarToSelectedTab(),t._changeDetectorRef.markForCheck()};this._ngZone?this._ngZone.run(n):n()}},e.prototype.updatePagination=function(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()},Object.defineProperty(e.prototype,"focusIndex",{get:function(){return this._keyManager?this._keyManager.activeItemIndex:0},set:function(t){this._isValidIndex(t)&&this.focusIndex!==t&&this._keyManager&&this._keyManager.setActiveItem(t)},enumerable:!0,configurable:!0}),e.prototype._isValidIndex=function(t){if(!this._labelWrappers)return!0;var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;return!!e&&!e.disabled},e.prototype._setTabFocus=function(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._labelWrappers&&this._labelWrappers.length){this._labelWrappers.toArray()[t].focus();var e=this._tabListContainer.nativeElement,n=this._getLayoutDirection();e.scrollLeft="ltr"==n?0:e.scrollWidth-e.offsetWidth}},e.prototype._getLayoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},e.prototype._updateTabScrollPosition=function(){var t=this.scrollDistance,e=this._platform,n="ltr"===this._getLayoutDirection()?-t:t;this._tabList.nativeElement.style.transform="translateX("+Math.round(n)+"px)",e&&(e.TRIDENT||e.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)},Object.defineProperty(e.prototype,"scrollDistance",{get:function(){return this._scrollDistance},set:function(t){this._scrollTo(t)},enumerable:!0,configurable:!0}),e.prototype._scrollHeader=function(t){var e=("before"==t?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3;return this._scrollTo(this._scrollDistance+e)},e.prototype._handlePaginatorClick=function(t){this._stopInterval(),this._scrollHeader(t)},e.prototype._scrollToLabel=function(t){var e=this._labelWrappers?this._labelWrappers.toArray()[t]:null;if(e){var n,r,i=this._tabListContainer.nativeElement.offsetWidth;"ltr"==this._getLayoutDirection()?r=(n=e.getOffsetLeft())+e.getOffsetWidth():n=(r=this._tabList.nativeElement.offsetWidth-e.getOffsetLeft())-e.getOffsetWidth();var o=this.scrollDistance,a=this.scrollDistance+i;na&&(this.scrollDistance+=r-a+60)}},e.prototype._checkPaginationEnabled=function(){var t=this._tabList.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;t||(this.scrollDistance=0),t!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=t},e.prototype._checkScrollingControls=function(){this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck()},e.prototype._getMaxScrollDistance=function(){return this._tabList.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0},e.prototype._alignInkBarToSelectedTab=function(){var t=this._labelWrappers&&this._labelWrappers.length?this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement:null;this._inkBar.alignToElement(t)},e.prototype._stopInterval=function(){this._stopScrolling.next()},e.prototype._handlePaginatorPress=function(t){var e=this;this._stopInterval(),Object(d.a)(650,100).pipe(Object(y.a)(Object(p.a)(this._stopScrolling,this._destroyed))).subscribe(function(){var n=e._scrollHeader(t),r=n.maxScrollDistance,i=n.distance;(0===i||i>=r)&&e._stopInterval()})},e.prototype._scrollTo=function(t){var e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}},e.decorators=[{type:r.n,args:[{selector:"mat-tab-header",template:'
      ',styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-pagination-after,.mat-tab-header-rtl .mat-tab-header-pagination-before{padding-right:4px}.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:'';height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-labels{display:flex}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],inputs:["disableRipple"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,host:{class:"mat-tab-header","[class.mat-tab-header-pagination-controls-enabled]":"_showPaginationControls","[class.mat-tab-header-rtl]":"_getLayoutDirection() == 'rtl'"}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:_.f},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:x.a}]},e.propDecorators={_labelWrappers:[{type:r.s,args:[M]}],_inkBar:[{type:r.nb,args:[S]}],_tabListContainer:[{type:r.nb,args:["tabListContainer"]}],_tabList:[{type:r.nb,args:["tabList"]}],_nextPaginator:[{type:r.nb,args:["nextPaginator"]}],_previousPaginator:[{type:r.nb,args:["previousPaginator"]}],selectedIndex:[{type:r.G}],selectFocusedIndex:[{type:r.S}],indexFocused:[{type:r.S}]},e}(Object(a.v)(F)),V=0,B=function(){},z=new r.E("MAT_TABS_CONFIG"),H=function(t){this._elementRef=t},U=function(t){function e(e,n,i){var o=t.call(this,e)||this;return o._changeDetectorRef=n,o._indexToSelect=0,o._tabBodyWrapperHeight=0,o._tabsSubscription=l.a.EMPTY,o._tabLabelSubscription=l.a.EMPTY,o._dynamicHeight=!1,o._selectedIndex=null,o.headerPosition="above",o.selectedIndexChange=new r.x,o.focusChange=new r.x,o.animationDone=new r.x,o.selectedTabChange=new r.x(!0),o._groupId=V++,o.animationDuration=i&&i.animationDuration?i.animationDuration:"500ms",o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"dynamicHeight",{get:function(){return this._dynamicHeight},set:function(t){this._dynamicHeight=Object(v.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){this._indexToSelect=Object(v.f)(t,null)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationDuration",{get:function(){return this._animationDuration},set:function(t){this._animationDuration=/^\d+$/.test(t)?t+"ms":t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentChecked=function(){var t=this,e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){var n=null==this._selectedIndex;n||this.selectedTabChange.emit(this._createChangeEvent(e)),Promise.resolve().then(function(){t._tabs.forEach(function(t,n){return t.isActive=n===e}),n||t.selectedIndexChange.emit(e)})}this._tabs.forEach(function(n,r){n.position=r-e,null==t._selectedIndex||0!=n.position||n.origin||(n.origin=e-t._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._changeDetectorRef.markForCheck())},e.prototype.ngAfterContentInit=function(){var t=this;this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(function(){if(t._clampTabIndex(t._indexToSelect)===t._selectedIndex)for(var e=t._tabs.toArray(),n=0;n
      ',styles:[".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{padding:0 12px}}@media (max-width:959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height .5s cubic-bezier(.35,0,.25,1)}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["color","disableRipple"],host:{class:"mat-tab-group","[class.mat-tab-group-dynamic-height]":"dynamicHeight","[class.mat-tab-group-inverted-header]":'headerPosition === "below"'}}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.C,args:[z]},{type:r.R}]}]},e.propDecorators={_tabs:[{type:r.s,args:[D]}],_tabBodyWrapper:[{type:r.nb,args:["tabBodyWrapper"]}],_tabHeader:[{type:r.nb,args:["tabHeader"]}],dynamicHeight:[{type:r.G}],selectedIndex:[{type:r.G}],headerPosition:[{type:r.G}],animationDuration:[{type:r.G}],backgroundColor:[{type:r.G}],selectedIndexChange:[{type:r.S}],focusChange:[{type:r.S}],animationDone:[{type:r.S}],selectedTabChange:[{type:r.S}]},e}(Object(a.u)(Object(a.v)(H),"primary")),G=function(t){this._elementRef=t},q=function(t){function e(e,n,r,i,o){var a=t.call(this,e)||this;return a._dir=n,a._ngZone=r,a._changeDetectorRef=i,a._viewportRuler=o,a._onDestroy=new s.a,a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){var e=this._elementRef.nativeElement;e.classList.remove("mat-background-"+this.backgroundColor),t&&e.classList.add("mat-background-"+t),this._backgroundColor=t},enumerable:!0,configurable:!0}),e.prototype.updateActiveLink=function(t){this._activeLinkChanged=!!t,this._changeDetectorRef.markForCheck()},e.prototype.ngAfterContentInit=function(){var t=this;this._ngZone.runOutsideAngular(function(){var e=t._dir?t._dir.change:Object(u.a)(null);return Object(p.a)(e,t._viewportRuler.change(10)).pipe(Object(y.a)(t._onDestroy)).subscribe(function(){return t._alignInkBar()})})},e.prototype.ngAfterContentChecked=function(){if(this._activeLinkChanged){var t=this._tabLinks.find(function(t){return t.active});this._activeLinkElement=t?t._elementRef:null,this._alignInkBar(),this._activeLinkChanged=!1}},e.prototype.ngOnDestroy=function(){this._onDestroy.next(),this._onDestroy.complete()},e.prototype._alignInkBar=function(){this._activeLinkElement?(this._inkBar.show(),this._inkBar.alignToElement(this._activeLinkElement.nativeElement)):this._inkBar.hide()},e.decorators=[{type:r.n,args:[{selector:"[mat-tab-nav-bar]",exportAs:"matTabNavBar, matTabNav",inputs:["color","disableRipple"],template:'',styles:[".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.mat-tab-link{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],host:{class:"mat-tab-nav-bar"},encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:f.b,decorators:[{type:r.R}]},{type:r.Q},{type:r.k},{type:_.f}]},e.propDecorators={_inkBar:[{type:r.nb,args:[S]}],_tabLinks:[{type:r.s,args:[Object(r.vb)(function(){return Y}),{descendants:!0}]}],backgroundColor:[{type:r.G}]},e}(Object(a.v)(Object(a.u)(G,"primary"))),W=function(){},Y=function(t){function e(e,n,r,i,o,s,l){var c=t.call(this)||this;return c._tabNavBar=e,c._elementRef=n,c._focusMonitor=l,c._isActive=!1,c._tabLinkRipple=new a.r(c,r,n,i),c._tabLinkRipple.setupTriggerEvents(n.nativeElement),c.rippleConfig=o||{},c.tabIndex=parseInt(s)||0,l&&l.monitor(n),c}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"active",{get:function(){return this._isActive},set:function(t){t!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink(this._elementRef))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rippleDisabled",{get:function(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._tabLinkRipple._removeTriggerEvents(),this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef)},e.decorators=[{type:r.t,args:[{selector:"[mat-tab-link], [matTabLink]",exportAs:"matTabLink",inputs:["disabled","disableRipple","tabIndex"],host:{class:"mat-tab-link","[attr.aria-current]":"active","[attr.aria-disabled]":"disabled.toString()","[attr.tabIndex]":"tabIndex","[class.mat-tab-disabled]":"disabled","[class.mat-tab-label-active]":"active"}}]}],e.ctorParameters=function(){return[{type:q},{type:r.u},{type:r.Q},{type:x.a},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[a.g]}]},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:w.e}]},e.propDecorators={active:[{type:r.G}]},e}(Object(a.y)(Object(a.v)(Object(a.w)(W)))),K=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[O.b,a.h,o.h,a.q,C.b,w.a],exports:[a.h,U,j,D,q,Y,k],declarations:[U,j,D,S,M,q,Y,I,P,L,k]}]}],t}()},LhV3:function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {{ clock }}\r\n \r\n \r\n \r\n\r\n \x3c!-- --\x3e\r\n \x3c!-- --\x3e\r\n\r\n \r\n\r\n \x3c!-- Liveliness area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- Remote connection status area --\x3e\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n'},M2Lx:function(t,e,n){"use strict";n.d(e,"a",function(){return c}),n.d(e,"b",function(){return p});var r=n("n6gG"),i=n("CcnG"),o=n("6blF"),a=n("K9Ia"),s=n("Gi3i"),l=function(){function t(){}return t.prototype.create=function(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),c=function(){function t(t){this._mutationObserverFactory=t,this._observedElements=new Map}return t.prototype.ngOnDestroy=function(){var t=this;this._observedElements.forEach(function(e,n){return t._cleanupObserver(n)})},t.prototype.observe=function(t){var e=this,n=Object(r.e)(t);return new o.a(function(t){var r=e._observeElement(n).subscribe(t);return function(){r.unsubscribe(),e._unobserveElement(n)}})},t.prototype._observeElement=function(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{var e=new a.a,n=this._mutationObserverFactory.create(function(t){return e.next(t)});n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream},t.prototype._unobserveElement=function(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))},t.prototype._cleanupObserver=function(t){if(this._observedElements.has(t)){var e=this._observedElements.get(t),n=e.observer,r=e.stream;n&&n.disconnect(),r.complete(),this._observedElements.delete(t)}},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:l}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(l))},token:t,providedIn:"root"}),t}(),u=function(){function t(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new i.x,this._disabled=!1,this._currentSubscription=null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(r.c)(t),this._disabled?this._unsubscribe():this._subscribe()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"debounce",{get:function(){return this._debounce},set:function(t){this._debounce=Object(r.f)(t),this._subscribe()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._currentSubscription||this.disabled||this._subscribe()},t.prototype.ngOnDestroy=function(){this._unsubscribe()},t.prototype._subscribe=function(){var t=this;this._unsubscribe();var e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){t._currentSubscription=(t.debounce?e.pipe(Object(s.a)(t.debounce)):e).subscribe(t.event)})},t.prototype._unsubscribe=function(){this._currentSubscription&&this._currentSubscription.unsubscribe()},t.decorators=[{type:i.t,args:[{selector:"[cdkObserveContent]",exportAs:"cdkObserveContent"}]}],t.ctorParameters=function(){return[{type:c},{type:i.u},{type:i.Q}]},t.propDecorators={event:[{type:i.S,args:["cdkObserveContent"]}],disabled:[{type:i.G,args:["cdkObserveContentDisabled"]}],debounce:[{type:i.G}]},t}(),p=function(){function t(){}return t.decorators=[{type:i.L,args:[{exports:[u],declarations:[u],providers:[l]}]}],t}()},MGBS:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.c(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(n("FFOo").a)},McSo:function(t,e,n){"use strict";function r(t){return null!==t&&"object"==typeof t}n.d(e,"a",function(){return r})},NZXM:function(t,e,n){"use strict";n.d(e,"a",function(){return c});var r=n("CcnG"),i=n("t/Na"),o=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},l=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] open-instant",Object(r.e)("0ms")),Object(r.m)("void <=> open, open-instant => void",Object(r.e)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])};function S(t){throw Error("A drawer was already declared for 'position=\""+t+"\"'")}var k=new d.E("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function(){return!1}});var j=function(t){function e(e,n,r,i,o){var a=t.call(this,r,i,o)||this;return a._changeDetectorRef=e,a._container=n,a}return Object(i.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._container._contentMarginChanges.subscribe(function(){t._changeDetectorRef.markForCheck()})},e.decorators=[{type:d.n,args:[{selector:"mat-drawer-content",template:"",host:{class:"mat-drawer-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:D,decorators:[{type:d.C,args:[Object(d.vb)(function(){return D})]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(u.a),A=function(){function t(t,e,n,r,i,o){var a=this;this._elementRef=t,this._focusTrapFactory=e,this._focusMonitor=n,this._platform=r,this._ngZone=i,this._doc=o,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._autoFocus=!0,this._animationStarted=new h.a,this._animationEnd=new h.a,this._animationState="void",this.openedChange=new d.x(!0),this._destroyed=new h.a,this.onPositionChanged=new d.x,this._modeChanged=new h.a,this._opened=!1,this.openedChange.subscribe(function(t){t?(a._doc&&(a._elementFocusedBeforeDrawerWasOpened=a._doc.activeElement),a._isFocusTrapEnabled&&a._focusTrap&&a._trapFocus()):a._restoreFocus()}),this._ngZone.runOutsideAngular(function(){Object(f.a)(a._elementRef.nativeElement,"keydown").pipe(Object(g.a)(function(t){return t.keyCode===l.g&&!a.disableClose}),Object(y.a)(a._destroyed)).subscribe(function(t){return a._ngZone.run(function(){a.close(),t.stopPropagation()})})}),this._animationEnd.pipe(Object(v.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState})).subscribe(function(t){var e=t.fromState,n=t.toState;(0===n.indexOf("open")&&"void"===e||"void"===n&&0===e.indexOf("open"))&&a.openedChange.emit(a._opened)})}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){(t="end"===t?"end":"start")!=this._position&&(this._position=t,this.onPositionChanged.emit())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mode",{get:function(){return this._mode},set:function(t){this._mode=t,this._modeChanged.next()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableClose",{get:function(){return this._disableClose},set:function(t){this._disableClose=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoFocus",{get:function(){return this._autoFocus},set:function(t){this._autoFocus=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_openedStream",{get:function(){return this.openedChange.pipe(Object(g.a)(function(t){return t}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState&&0===t.toState.indexOf("open")}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_closedStream",{get:function(){return this.openedChange.pipe(Object(g.a)(function(t){return!t}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"closedStart",{get:function(){return this._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState&&"void"===t.toState}),Object(b.a)(function(){}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_isFocusTrapEnabled",{get:function(){return this.opened&&"side"!==this.mode},enumerable:!0,configurable:!0}),t.prototype._trapFocus=function(){var t=this;this.autoFocus&&this._focusTrap.focusInitialElementWhenReady().then(function(e){e||"function"!=typeof t._elementRef.nativeElement.focus||t._elementRef.nativeElement.focus()})},t.prototype._restoreFocus=function(){if(this.autoFocus){var t=this._doc&&this._doc.activeElement;t&&this._elementRef.nativeElement.contains(t)&&(this._elementFocusedBeforeDrawerWasOpened instanceof HTMLElement?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,this._openedVia):this._elementRef.nativeElement.blur()),this._elementFocusedBeforeDrawerWasOpened=null,this._openedVia=null}},t.prototype.ngAfterContentInit=function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._focusTrap.enabled=this._isFocusTrapEnabled},t.prototype.ngAfterContentChecked=function(){this._platform.isBrowser&&(this._enableAnimations=!0)},t.prototype.ngOnDestroy=function(){this._focusTrap&&this._focusTrap.destroy(),this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()},Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){this.toggle(Object(s.c)(t))},enumerable:!0,configurable:!0}),t.prototype.open=function(t){return this.toggle(!0,t)},t.prototype.close=function(){return this.toggle(!1)},t.prototype.toggle=function(t,e){var n=this;return void 0===t&&(t=!this.opened),void 0===e&&(e="program"),this._opened=t,t?(this._animationState=this._enableAnimations?"open":"open-instant",this._openedVia=e):(this._animationState="void",this._restoreFocus()),this._focusTrap&&(this._focusTrap.enabled=this._isFocusTrapEnabled),new Promise(function(t){n.openedChange.pipe(Object(_.a)(1)).subscribe(function(e){return t(e?"open":"close")})})},Object.defineProperty(t.prototype,"_width",{get:function(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0},enumerable:!0,configurable:!0}),t.decorators=[{type:d.n,args:[{selector:"mat-drawer",exportAs:"matDrawer",template:'
      ',animations:[E.transformDrawer],host:{class:"mat-drawer","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',tabIndex:"-1"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:d.u},{type:o.f},{type:o.e},{type:c.a},{type:d.Q},{type:void 0,decorators:[{type:d.R},{type:d.C,args:[p.c]}]}]},t.propDecorators={position:[{type:d.G}],mode:[{type:d.G}],disableClose:[{type:d.G}],autoFocus:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],openedStart:[{type:d.S}],_closedStream:[{type:d.S,args:["closed"]}],closedStart:[{type:d.S}],onPositionChanged:[{type:d.S,args:["positionChanged"]}],opened:[{type:d.G}]},t}(),D=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=!1);var s=this;this._dir=t,this._element=e,this._ngZone=n,this._changeDetectorRef=r,this._animationMode=o,this.backdropClick=new d.x,this._destroyed=new h.a,this._doCheckSubject=new h.a,this._contentMargins={left:null,right:null},this._contentMarginChanges=new h.a,t&&t.change.pipe(Object(y.a)(this._destroyed)).subscribe(function(){s._validateDrawers(),s._updateContentMargins()}),a&&a.change().pipe(Object(y.a)(this._destroyed)).subscribe(function(){return s._updateContentMargins()}),this._autosize=i}return Object.defineProperty(t.prototype,"start",{get:function(){return this._start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this._end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autosize",{get:function(){return this._autosize},set:function(t){this._autosize=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride},set:function(t){this._backdropOverride=null==t?null:Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollable",{get:function(){return this._userContent||this._content},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this._drawers.changes.pipe(Object(w.a)(null)).subscribe(function(){t._validateDrawers(),t._drawers.forEach(function(e){t._watchDrawerToggle(e),t._watchDrawerPosition(e),t._watchDrawerMode(e)}),(!t._drawers.length||t._isDrawerOpen(t._start)||t._isDrawerOpen(t._end))&&t._updateContentMargins(),t._changeDetectorRef.markForCheck()}),this._doCheckSubject.pipe(Object(x.a)(10),Object(y.a)(this._destroyed)).subscribe(function(){return t._updateContentMargins()})},t.prototype.ngOnDestroy=function(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._destroyed.next(),this._destroyed.complete()},t.prototype.open=function(){this._drawers.forEach(function(t){return t.open()})},t.prototype.close=function(){this._drawers.forEach(function(t){return t.close()})},t.prototype.ngDoCheck=function(){var t=this;this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(function(){return t._doCheckSubject.next()})},t.prototype._watchDrawerToggle=function(t){var e=this;t._animationStarted.pipe(Object(g.a)(function(t){return t.fromState!==t.toState}),Object(y.a)(this._drawers.changes)).subscribe(function(t){"open-instant"!==t.toState&&"NoopAnimations"!==e._animationMode&&e._element.nativeElement.classList.add("mat-drawer-transition"),e._updateContentMargins(),e._changeDetectorRef.markForCheck()}),"side"!==t.mode&&t.openedChange.pipe(Object(y.a)(this._drawers.changes)).subscribe(function(){return e._setContainerClass(t.opened)})},t.prototype._watchDrawerPosition=function(t){var e=this;t&&t.onPositionChanged.pipe(Object(y.a)(this._drawers.changes)).subscribe(function(){e._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(_.a)(1)).subscribe(function(){e._validateDrawers()})})},t.prototype._watchDrawerMode=function(t){var e=this;t&&t._modeChanged.pipe(Object(y.a)(Object(m.a)(this._drawers.changes,this._destroyed))).subscribe(function(){e._updateContentMargins(),e._changeDetectorRef.markForCheck()})},t.prototype._setContainerClass=function(t){t?this._element.nativeElement.classList.add("mat-drawer-opened"):this._element.nativeElement.classList.remove("mat-drawer-opened")},t.prototype._validateDrawers=function(){var t=this;this._start=this._end=null,this._drawers.forEach(function(e){"end"==e.position?(null!=t._end&&S("end"),t._end=e):(null!=t._start&&S("start"),t._start=e)}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)},t.prototype._isPushed=function(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode},t.prototype._onBackdropClicked=function(){this.backdropClick.emit(),this._closeModalDrawer()},t.prototype._closeModalDrawer=function(){var t=this;[this._start,this._end].filter(function(e){return e&&!e.disableClose&&t._canHaveBackdrop(e)}).forEach(function(t){return t.close()})},t.prototype._isShowingBackdrop=function(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)},t.prototype._canHaveBackdrop=function(t){return"side"!==t.mode||!!this._backdropOverride},t.prototype._isDrawerOpen=function(t){return null!=t&&t.opened},t.prototype._updateContentMargins=function(){var t=this,e=0,n=0;if(this._left&&this._left.opened)if("side"==this._left.mode)e+=this._left._width;else if("push"==this._left.mode){e+=r=this._left._width,n-=r}if(this._right&&this._right.opened)if("side"==this._right.mode)n+=this._right._width;else if("push"==this._right.mode){var r;n+=r=this._right._width,e-=r}n=n||null,(e=e||null)===this._contentMargins.left&&n===this._contentMargins.right||(this._contentMargins={left:e,right:n},this._ngZone.run(function(){return t._contentMarginChanges.next(t._contentMargins)}))},t.decorators=[{type:d.n,args:[{selector:"mat-drawer-container",exportAs:"matDrawerContainer",template:'
      ',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],t.ctorParameters=function(){return[{type:a.b,decorators:[{type:d.R}]},{type:d.u},{type:d.Q},{type:d.k},{type:void 0,decorators:[{type:d.C,args:[k]}]},{type:String,decorators:[{type:d.R},{type:d.C,args:[C.a]}]},{type:u.f,decorators:[{type:d.R}]}]},t.propDecorators={_drawers:[{type:d.s,args:[A]}],_content:[{type:d.r,args:[j]}],_userContent:[{type:d.nb,args:[j]}],autosize:[{type:d.G}],hasBackdrop:[{type:d.G}],backdropClick:[{type:d.S}]},t}(),T=function(t){function e(e,n,r,i,o){return t.call(this,e,n,r,i,o)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-content",template:"",host:{class:"mat-drawer-content mat-sidenav-content","[style.margin-left.px]":"_container._contentMargins.left","[style.margin-right.px]":"_container._contentMargins.right"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.ctorParameters=function(){return[{type:d.k},{type:I,decorators:[{type:d.C,args:[Object(d.vb)(function(){return I})]}]},{type:d.u},{type:u.c},{type:d.Q}]},e}(j),P=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._fixedInViewport=!1,e._fixedTopGap=0,e._fixedBottomGap=0,e}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"fixedInViewport",{get:function(){return this._fixedInViewport},set:function(t){this._fixedInViewport=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedTopGap",{get:function(){return this._fixedTopGap},set:function(t){this._fixedTopGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fixedBottomGap",{get:function(){return this._fixedBottomGap},set:function(t){this._fixedBottomGap=Object(s.f)(t)},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav",exportAs:"matSidenav",template:'
      ',animations:[E.transformDrawer],host:{class:"mat-drawer mat-sidenav",tabIndex:"-1","[@transform]":"_animationState","(@transform.start)":"_animationStarted.next($event)","(@transform.done)":"_animationEnd.next($event)","[attr.align]":"null","[class.mat-drawer-end]":'position === "end"',"[class.mat-drawer-over]":'mode === "over"',"[class.mat-drawer-push]":'mode === "push"',"[class.mat-drawer-side]":'mode === "side"',"[class.mat-sidenav-fixed]":"fixedInViewport","[style.top.px]":"fixedInViewport ? fixedTopGap : null","[style.bottom.px]":"fixedInViewport ? fixedBottomGap : null"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={fixedInViewport:[{type:d.G}],fixedTopGap:[{type:d.G}],fixedBottomGap:[{type:d.G}]},e}(A),I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.decorators=[{type:d.n,args:[{selector:"mat-sidenav-container",exportAs:"matSidenavContainer",template:'
      ',styles:[".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-opened{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}@media (-ms-high-contrast:active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}@media (-ms-high-contrast:active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media (-ms-high-contrast:active){.mat-drawer.mat-drawer-end,[dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}"],host:{class:"mat-drawer-container mat-sidenav-container","[class.mat-drawer-container-explicit-backdrop]":"_backdropOverride"},changeDetection:d.j.OnPush,encapsulation:d.qb.None}]}],e.propDecorators={_drawers:[{type:d.s,args:[P]}],_content:[{type:d.r,args:[T]}]},e}(D),R=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[p.b,O.h,u.d,c.b],exports:[O.h,A,D,j,P,I,T],declarations:[A,D,j,P,I,T]}]}],t}()},Onty:function(t,e,n){"use strict";n.d(e,"a",function(){return p});var r=n("CcnG"),i=n("PSD3"),o=n.n(i),a=n("ZYCi"),s=n("NZXM"),l=n("eKg/"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(){function t(t,e){this.translateService=t,this.router=e,this.translatePipe=new l.a(this.translateService),this.genericToast=o.a.mixin({toast:!0,position:"top-start",confirmButtonText:this.translatePipe.transform("CLOSE"),showConfirmButton:!0,timer:2e4})}return t.prototype.OnHttpError=function(t){if(403!==t.status&&401!==t.status)if(0!==t.status&&504!==t.status)if(t.error)if(void 0===t.error.responseCode)this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(t.status,!0)});else{var e=t.error;this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(e.responseCode,!0)})}else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL")});else this.genericToast({type:"error",title:this.translatePipe.transform("REQUEST_FAIL"),text:this.translatePipe.transform(0,!0)});else this.router.navigate(["/login"])},t.ctorParameters=function(){return[{type:s.a},{type:a.a}]},t=c([Object(r.D)({providedIn:"root"}),u("design:paramtypes",[s.a,a.a])],t)}()},OzfB:function(t,e,n){"use strict";n.d(e,"c",function(){return x}),n.d(e,"d",function(){return E}),n.d(e,"e",function(){return S}),n.d(e,"h",function(){return k}),n.d(e,"a",function(){return j}),n.d(e,"b",function(){return R}),n.d(e,"g",function(){return rt}),n.d(e,"j",function(){return ot}),n.d(e,"i",function(){return at}),n.d(e,"k",function(){return st}),n.d(e,"f",function(){return ct});var r=n("CcnG"),i=n("Ip0R"),o=n("mrSG"),a=n("K9Ia"),s=n("26FU"),l=n("6blF"),c=n("p0ib"),u=n("KQya"),p=n("F/XL"),d=n("bne5"),h=n("VnD/"),f=n("67Y/"),m=n("Gi3i"),g=n("15JJ"),y=n("ny24"),v=n("t9fZ"),b=n("xMyE");var _={provide:r.b,useFactory:function(t,e){return function(){if(Object(i.m)(e)){var n=Array.from(t.querySelectorAll("[class*="+w+"]")),r=/\bflex-layout-.+?\b/g;n.forEach(function(t){t.classList.contains(w+"ssr")&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(r,"")})}}},deps:[i.c,r.U],multi:!0},w="flex-layout-",x=function(){function t(){}return t.decorators=[{type:r.L,args:[{providers:[_]}]}],t}(),C=function(){function t(t,e,n,r,i){void 0===t&&(t=!1),void 0===e&&(e="all"),void 0===n&&(n=""),void 0===r&&(r=""),void 0===i&&(i=0),this.matches=t,this.mediaQuery=e,this.mqAlias=n,this.suffix=r,this.priority=i,this.property=""}return t.prototype.clone=function(){return new t(this.matches,this.mediaQuery,this.mqAlias,this.suffix)},t}(),O=function(){function t(){this.stylesheet=new Map}return t.prototype.addStyleToElement=function(t,e,n){var r=this.stylesheet.get(t);r?r.set(e,n):this.stylesheet.set(t,new Map([[e,n]]))},t.prototype.clearStyles=function(){this.stylesheet.clear()},t.prototype.getStyleForElement=function(t,e){var n=this.stylesheet.get(t),r="";if(n){var i=n.get(e);"number"!=typeof i&&"string"!=typeof i||(r=i+"")}return r},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tc)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),E={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},S=new r.E("Flex Layout token, config options for the library",{providedIn:"root",factory:function(){return E}}),k=new r.E("FlexLayoutServerLoaded",{providedIn:"root",factory:function(){return!1}}),j=new r.E("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:function(){return null}});function A(t,e){return t=t?t.clone():new C,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}var D="inline",T=["row","column","row-reverse","column-reverse"];function P(t){var e=function(t){var e=(t=t?t.toLowerCase():"").split(" "),n=e[0],r=e[1],i=e[2];T.find(function(t){return t===n})||(n=T[0]);r===D&&(r=i!==D?i:"",i=D);return[n,I(r),!!i]}(t);return function(t,e,n){void 0===e&&(e=null);void 0===n&&(n=!1);return{display:n?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e[0],e[1],e[2])}function I(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var R=function(){function t(t,e,n,r){this.elementRef=t,this.styleBuilder=e,this.styler=n,this.marshal=r,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new a.a,this.styleCache=new Map}return Object.defineProperty(t.prototype,"parentElement",{get:function(){return this.elementRef.nativeElement.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activatedValue",{get:function(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)},set:function(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){var e=this;Object.keys(t).forEach(function(n){if(-1!==e.inputs.indexOf(n)){var r=n.split(".").slice(1).join("."),i=t[n].currentValue;e.setValue(i,r)}})},t.prototype.ngOnDestroy=function(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)},t.prototype.init=function(t){void 0===t&&(t=[]),this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)},t.prototype.addStyles=function(t,e){var n=this.styleBuilder,r=n.shouldCache,i=this.styleCache.get(t);i&&r||(i=n.buildStyles(t,e),r&&this.styleCache.set(t,i)),this.mru=Object(o.a)({},i),this.applyStyleToElement(i),n.sideEffect(t,i,e)},t.prototype.clearStyles=function(){var t=this;Object.keys(this.mru).forEach(function(e){t.mru[e]=""}),this.applyStyleToElement(this.mru),this.mru={}},t.prototype.triggerUpdate=function(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)},t.prototype.getFlexFlowDirection=function(t,e){if(void 0===e&&(e=!1),t){var n=this.styler.getFlowDirection(t),r=n[0];if(!n[1]&&e){var i=P(r),o=[t];this.styler.applyStyleToElements(i,o)}return r.trim()}return"row"},t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=this.nativeElement),this.styler.applyStyleToElement(n,t,e)},t.prototype.setValue=function(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)},t.prototype.updateWithValue=function(t){this.addStyles(t)},t}(),M=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.9px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.9px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.9px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.9px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.9px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.9px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.9px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.9px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.9px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],N="(orientation: portrait) and (min-width: 600px) and (max-width: 839.9px)",F="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.9px)",L="(orientation: portrait) and (min-width: 840px)",V="(orientation: landscape) and (min-width: 1280px)",B={HANDSET:"(orientation: portrait) and (max-width: 599.9px), (orientation: landscape) and (max-width: 959.9px)",TABLET:N+" , "+F,WEB:L+", "+V+" ",HANDSET_PORTRAIT:"(orientation: portrait) and (max-width: 599.9px)",TABLET_PORTRAIT:N+" ",WEB_PORTRAIT:""+L,HANDSET_LANDSCAPE:"(orientation: landscape) and (max-width: 959.9px)]",TABLET_LANDSCAPE:""+F,WEB_LANDSCAPE:""+V},z=[{alias:"handset",priority:2e3,mediaQuery:B.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:B.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:B.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:B.TABLET},{alias:"tablet.portrait",priority:2100,mediaQuery:B.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:B.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:B.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:B.WEB_PORTRAIT,overlapping:!0}];var H=/(\.|-|_)/g;function U(t){var e=t.length>0?t.charAt(0):"",n=t.length>1?t.slice(1):"";return e.toUpperCase()+n}function G(t){return t.forEach(function(t){t.suffix||(t.suffix=t.alias.replace(H,"|").split("|").map(U).join(""),t.overlapping=!!t.overlapping)}),t}function q(t,e){void 0===e&&(e=[]);var n={};return t.forEach(function(t){n[t.alias]=t}),e.forEach(function(t){n[t.alias]?function(t){for(var e=[],n=1;n-1})),i=new l.a(function(e){var r=n.registerQuery(t);if(r.length){var i=r.pop();r.forEach(function(t){e.next(t)}),n.source.next(i)}e.complete()});return Object(c.a)(i,r)}return this._observable$},t.prototype.registerQuery=function(t){var e=this,n=Array.isArray(t)?t:[t],r=[];return function(t,e){var n=t.filter(function(t){return!Z[t]});if(n.length>0){var r=n.join(", ");try{var i=e.createElement("style");if(i.setAttribute("type","text/css"),!i.styleSheet){var o="\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media "+r+" {.fx-query-test{ }}\n";i.appendChild(e.createTextNode(o))}e.head.appendChild(i),n.forEach(function(t){return Z[t]=i})}catch(a){console.error(a)}}}(n,this._document),n.forEach(function(t){var n=e.registry.get(t);n||((n=e.buildMQL(t)).addListener(function(n){e._zone.run(function(){return e.source.next(new C(n.matches,t))})}),e.registry.set(t,n)),n.matches&&r.push(new C(!0,t))}),r},t.prototype.buildMQL=function(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}(t,Object(i.m)(this._platformId))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(r.Q),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"}),t}(),Z={};!function(t){function e(e,n,r,i){var o=t.call(this,e,n,r)||this;return o._breakpoints=i,o.autoRegisterQueries=!0,o.useOverlaps=!1,o}Object(o.c)(e,t),e.prototype.clearAll=function(){this.registry.forEach(function(t){t.destroy()}),this.registry.clear(),this.useOverlaps=!1},e.prototype.activate=function(t,e){return void 0===e&&(e=!1),e=e||this.useOverlaps,t=this._validateQuery(t),!e&&this.isActive(t)||(this._deactivateAll(),this._registerMediaQuery(t),this._activateWithOverlaps(t,e)),this.hasActivated},e.prototype._validateQuery=function(t){var e=this._breakpoints.findByAlias(t);return e&&e.mediaQuery||t},e.prototype._activateWithOverlaps=function(t,e){if(e){var n=this._breakpoints.findByQuery(t),r=n?n.alias:"unknown";switch(r){case"lg":this._activateByAlias("lt-xl");break;case"md":this._activateByAlias("lt-xl, lt-lg");break;case"sm":this._activateByAlias("lt-xl, lt-lg, lt-md");break;case"xs":this._activateByAlias("lt-xl, lt-lg, lt-md, lt-sm")}switch(r){case"xl":this._activateByAlias("gt-lg, gt-md, gt-sm, gt-xs");break;case"lg":this._activateByAlias("gt-md, gt-sm, gt-xs");break;case"md":this._activateByAlias("gt-sm, gt-xs");break;case"sm":this._activateByAlias("gt-xs")}}return this._activateByQuery(t)},e.prototype._activateByAlias=function(t){var e=this;t.split(",").forEach(function(t){return function(t){var n=e._breakpoints.findByAlias(t);e._activateByQuery(n?n.mediaQuery:t)}(t.trim())})},e.prototype._activateByQuery=function(t){var e=this.registry.get(t);return e&&!this.isActive(t)&&this.registry.set(t,e.activate()),this.hasActivated},e.prototype._deactivateAll=function(){return this.registry.forEach(function(t){t.deactivate()}),this},e.prototype._registerMediaQuery=function(t){!this.registry.has(t)&&this.autoRegisterQueries&&this.registerQuery(t)},e.prototype.buildMQL=function(t){return new $(t)},Object.defineProperty(e.prototype,"hasActivated",{get:function(){return this.activations.length>0},enumerable:!0,configurable:!0}),e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:r.Q},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]},{type:Q}]}}(X);var $=function(){function t(t){this._mediaQuery=t,this._isActive=!1,this._listeners=[],this.onchange=null}return Object.defineProperty(t.prototype,"matches",{get:function(){return this._isActive},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"media",{get:function(){return this._mediaQuery},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this.deactivate(),this._listeners=[]},t.prototype.activate=function(){var t=this;return this._isActive||(this._isActive=!0,this._listeners.forEach(function(e){e.call(null,t)})),this},t.prototype.deactivate=function(){var t=this;return this._isActive&&(this._isActive=!1,this._listeners.forEach(function(e){e.call(null,t)})),this},t.prototype.addListener=function(t){(-1===this._listeners.indexOf(t)&&this._listeners.push(t),this._isActive)&&t.call(null,this)},t.prototype.removeListener=function(t){},t.prototype.addEventListener=function(t,e,n){},t.prototype.removeEventListener=function(t,e,n){},t.prototype.dispatchEvent=function(t){return!1},t}(),J="print",tt={alias:J,mediaQuery:J,priority:1e3},et=function(){function t(t,e){this.breakpoints=t,this.layoutConfig=e,this.isPrinting=!1,this.queue=new nt,this.deactivations=[]}return t.prototype.withPrintQuery=function(t){return t.concat([J])},t.prototype.isPrintEvent=function(t){return t.mediaQuery.startsWith(J)},Object.defineProperty(t.prototype,"printAlias",{get:function(){return this.layoutConfig.printWithBreakpoints||[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"printBreakPoints",{get:function(){var t=this;return this.printAlias.map(function(e){return t.breakpoints.findByAlias(e)}).filter(function(t){return null!==t})},enumerable:!0,configurable:!0}),t.prototype.getEventBreakpoints=function(t){var e=t.mediaQuery,n=this.breakpoints.findByQuery(e);return(n?this.printBreakPoints.concat([n]):this.printBreakPoints).sort(Y)},t.prototype.updateEvent=function(t){var e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),A(t,e)},t.prototype.interceptEvents=function(t){var e=this;return function(n){e.isPrintEvent(n)?n.matches&&!e.isPrinting?(e.startPrinting(t,e.getEventBreakpoints(n)),t.updateStyles()):!n.matches&&e.isPrinting&&(e.stopPrinting(t),t.updateStyles()):e.collectActivations(n)}},t.prototype.blockPropagation=function(){var t=this;return function(e){return!(t.isPrinting||t.isPrintEvent(e))}},t.prototype.startPrinting=function(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)},t.prototype.stopPrinting=function(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1},t.prototype.collectActivations=function(t){if(!this.isPrinting)if(t.matches)this.deactivations=[];else{var e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(Y))}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),nt=function(){function t(){this.printBreakpoints=[]}return t.prototype.addPrintBreakpoints=function(t){var e=this;return t.push(tt),t.sort(Y),t.forEach(function(t){return e.addBreakpoint(t)}),this.printBreakpoints},t.prototype.addBreakpoint=function(t){t&&(void 0===this.printBreakpoints.find(function(e){return e.mediaQuery===t.mediaQuery})&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith(J)}(t)?[t].concat(this.printBreakpoints):this.printBreakpoints.concat([t])))},t.prototype.clear=function(){this.printBreakpoints=[]},t}();var rt=function(){function t(t,e,n){this.breakpoints=t,this.matchMedia=e,this.hook=n,this.filterOverlaps=!1,this.destroyed$=new a.a,this._media$=this.watchActivations(),this.media$=this._media$.pipe(Object(h.a)(function(t){return t.length>0}),Object(f.a)(function(t){return t[0]}))}return t.prototype.ngOnDestroy=function(){this.destroyed$.next(),this.destroyed$.complete()},t.prototype.asObservable=function(){return this._media$},t.prototype.isActive=function(t){var e=this;return function(t){return Array.isArray(t)?t:[t]}(t).map(function(t){return t.split(",")}).reduce(function(t,e){return t.concat(e)}).map(function(t){return t.trim()}).some(function(t){var n=function(t,e){var n=e.findByAlias(t)||e.findByQuery(t);return n?n.mediaQuery:t}(t,e.breakpoints);return e.matchMedia.isActive(n)})},t.prototype.watchActivations=function(){var t=this.breakpoints.items.map(function(t){return t.mediaQuery});return this.buildObservable(t)},t.prototype.buildObservable=function(t){var e=this;return this.matchMedia.observe(this.hook.withPrintQuery(t)).pipe(Object(h.a)(function(t){return t.matches}),Object(m.a)(0,u.a),Object(g.a)(function(t){return Object(p.a)(e.findAllActivations())}),Object(f.a)(function(t){return e.filterOverlaps?t.filter(function(t){var n=e.breakpoints.findByQuery(t.mediaQuery);return!n||!n.overlapping}):t}),Object(h.a)(function(t){return t.filter(function(t){return t.mediaQuery.length>0}).length>0}),Object(y.a)(this.destroyed$))},t.prototype.findAllActivations=function(){var t=this;return this.matchMedia.activations.map(function(t){return new C(!0,t)}).map(function(e){return t.hook.isPrintEvent(e)?t.hook.updateEvent(e):e}).map(function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))}).sort(Y)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:et}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(et))},token:t,providedIn:"root"}),t}();!function(){function t(t,e,n,r,i){this.breakpoints=t,this.matchMedia=e,this.layoutConfig=n,this._platformId=r,this._document=i,this.hasCachedRegistryMatches=!1,this.originalActivations=[],this.originalRegistry=new Map}t.prototype.activate=function(t){t=t.map(function(t){return t.trim()}),this.saveActivations(),this.deactivateAll(),this.setActivations(t),this.prepareAutoRestore()},t.prototype.restore=function(){if(this.hasCachedRegistryMatches){var t=this.originalActivations.map(function(t){return t.mediaQuery});try{this.deactivateAll(),this.restoreRegistryMatches(),this.setActivations(t)}finally{this.originalActivations=[],this.resizeSubscription&&this.resizeSubscription.unsubscribe()}}},t.prototype.prepareAutoRestore=function(){if(Object(i.m)(this._platformId)&&this._document&&this.layoutConfig.mediaTriggerAutoRestore){var t=Object(d.a)(window,"resize").pipe(Object(v.a)(1));this.resizeSubscription=t.subscribe(this.restore.bind(this))}},t.prototype.deactivateAll=function(){var t=this.currentActivations;this.forceRegistryMatches(t,!1),this.simulateMediaChanges(t,!1)},t.prototype.saveActivations=function(){var t=this;if(!this.hasCachedRegistryMatches){this.originalActivations=this.currentActivations.map(function(t){return new C(!0,t)}).map(function(e){return A(e,t.breakpoints.findByQuery(e.mediaQuery))}).sort(Y),this.cacheRegistryMatches()}},t.prototype.setActivations=function(t){this.originalRegistry&&this.forceRegistryMatches(t,!0),this.simulateMediaChanges(t)},t.prototype.simulateMediaChanges=function(t,e){var n=this;void 0===e&&(e=!0);t.map(function(t){var e=n.breakpoints,r=e.findByAlias(t)||e.findByQuery(t);return r?r.mediaQuery:t}).forEach(function(t){return n.emitChangeEvent(e,t)})},t.prototype.forceRegistryMatches=function(t,e){var n=new Map;t.forEach(function(t){n.set(t,{matches:e})}),this.matchMedia.registry=n},t.prototype.cacheRegistryMatches=function(){var t=this.originalRegistry;t.clear(),this.matchMedia.registry.forEach(function(e,n){t.set(n,e)}),this.hasCachedRegistryMatches=!0},t.prototype.restoreRegistryMatches=function(){var t=this.matchMedia.registry;t.clear(),this.originalRegistry.forEach(function(e,n){t.set(n,e)}),this.originalRegistry.clear(),this.hasCachedRegistryMatches=!1},t.prototype.emitChangeEvent=function(t,e){this.matchMedia.source.next(new C(t,e))},Object.defineProperty(t.prototype,"currentActivations",{get:function(){return this.matchMedia.activations},enumerable:!0,configurable:!0}),t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Q},{type:X},{type:void 0,decorators:[{type:r.C,args:[S]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[i.c]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(Q),Object(r.uc)(X),Object(r.uc)(S),Object(r.uc)(r.U),Object(r.uc)(i.c))},token:t,providedIn:"root"})}();function it(t){for(var e in t){var n=t[e]||"";switch(e){case"display":t.display="flex"===n?["-webkit-flex","flex"]:"inline-flex"===n?["-webkit-inline-flex","inline-flex"]:n;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=n;break;case"flex-direction":n=n||"row",t["-webkit-flex-direction"]=n,t["flex-direction"]=n;break;case"order":t.order=t["-webkit-"+e]=isNaN(+n)?"0":n}}return t}var ot=function(){function t(t,e,n,r){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=n,this.layoutConfig=r}return t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=null);var r={};"string"==typeof e&&(r[e]=n,e=r),r=this.layoutConfig.disableVendorPrefixes?e:it(e),this._applyMultiValueStyleToElement(r,t)},t.prototype.applyStyleToElements=function(t,e){var n=this;void 0===e&&(e=[]);var r=this.layoutConfig.disableVendorPrefixes?t:it(t);e.forEach(function(t){n._applyMultiValueStyleToElement(r,t)})},t.prototype.getFlowDirection=function(t){var e=this.lookupStyle(t,"flex-direction");return[e||"row",this.lookupInlineStyle(t,"flex-direction")||Object(i.n)(this._platformId)&&this._serverModuleLoaded?e:""]},t.prototype.lookupAttributeValue=function(t,e){return t.getAttribute(e)||""},t.prototype.lookupInlineStyle=function(t,e){return Object(i.m)(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)},t.prototype.lookupStyle=function(t,e,n){void 0===n&&(n=!1);var r="";t&&((r=this.lookupInlineStyle(t,e))||(Object(i.m)(this._platformId)?n||(r=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(r=this._serverStylesheet.getStyleForElement(t,e))));return r?r.trim():""},t.prototype._applyMultiValueStyleToElement=function(t,e){var n=this;Object.keys(t).sort().forEach(function(r){var o=t[r],a=Array.isArray(o)?o:[o];a.sort();for(var s=0,l=a;s0){var a=o.indexOf(":");if(-1===a)throw new Error("Invalid CSS style: "+o);e[o.substr(0,a).trim()]=o.substr(a+1).trim()}}return e},t.prototype._writeStyleAttribute=function(t,e){var n="";for(var r in e){e[r]&&(n+=r+":"+e[r]+";")}t.setAttribute("style",n)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:O,decorators:[{type:r.R}]},{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[k]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:void 0,decorators:[{type:r.C,args:[S]}]}]},t.ngInjectableDef=Object(r.tc)({factory:function(){return new t(Object(r.uc)(O,8),Object(r.uc)(k,8),Object(r.uc)(r.U),Object(r.uc)(S))},token:t,providedIn:"root"}),t}(),at=function(){function t(){this.shouldCache=!0}return t.prototype.sideEffect=function(t,e,n){},t}();function st(t,e,n){void 0===e&&(e="1"),void 0===n&&(n="1");var r=[e,n,t],i=t.indexOf("calc");if(i>0)r[2]=lt(t.substring(i).trim()),2==(o=t.substr(0,i).trim().split(" ")).length&&(r[0]=o[0],r[1]=o[1]);else if(0==i)r[2]=lt(t.trim());else{var o;r=3===(o=t.split(" ")).length?o:[e,n,t]}return r}function lt(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}var ct=function(){function t(t,e,n){this.matchMedia=t,this.breakpoints=e,this.hook=n,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new a.a,this.observeActivations()}return Object.defineProperty(t.prototype,"activatedAlias",{get:function(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""},enumerable:!0,configurable:!0}),t.prototype.onMediaChange=function(t){var e=this.findByQuery(t.mediaQuery);e&&((t=A(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(Y),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(Y),this.updateStyles()))},t.prototype.init=function(t,e,n,r,i){void 0===i&&(i=[]),ut(this.updateMap,t,e,n),ut(this.clearMap,t,e,r),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,i)},t.prototype.getValue=function(t,e,n){var r=this.elementMap.get(t);if(r){var i=void 0!==n?r.get(n):this.getActivatedValues(r,e);if(i)return i.get(e)}},t.prototype.hasValue=function(t,e){var n=this.elementMap.get(t);if(n){var r=this.getActivatedValues(n,e);if(r)return void 0!==r.get(e)||!1}return!1},t.prototype.setValue=function(t,e,n,r){var i=this.elementMap.get(t);if(i){var o=(i.get(r)||new Map).set(e,n);i.set(r,o),this.elementMap.set(t,i)}else i=(new Map).set(r,(new Map).set(e,n)),this.elementMap.set(t,i);var a=this.getValue(t,e);void 0!==a&&this.updateElement(t,e,a)},t.prototype.trackValue=function(t,e){return this.subject.asObservable().pipe(Object(h.a)(function(n){return n.element===t&&n.key===e}))},t.prototype.updateStyles=function(){var t=this;this.elementMap.forEach(function(e,n){var r=new Set(t.elementKeyMap.get(n)),i=t.getActivatedValues(e);i&&i.forEach(function(e,i){t.updateElement(n,i,e),r.delete(i)}),r.forEach(function(r){if(i=t.getActivatedValues(e,r)){var o=i.get(r);t.updateElement(n,r,o)}else t.clearElement(n,r)})})},t.prototype.clearElement=function(t,e){var n=this.clearMap.get(t);if(n){var r=n.get(e);r&&(r(),this.subject.next({element:t,key:e,value:""}))}},t.prototype.updateElement=function(t,e,n){var r=this.updateMap.get(t);if(r){var i=r.get(e);i&&(i(n),this.subject.next({element:t,key:e,value:n}))}},t.prototype.releaseElement=function(t){var e=this.watcherMap.get(t);e&&(e.forEach(function(t){return t.unsubscribe()}),this.watcherMap.delete(t));var n=this.elementMap.get(t);n&&(n.forEach(function(t,e){return n.delete(e)}),this.elementMap.delete(t))},t.prototype.triggerUpdate=function(t,e){var n=this,r=this.elementMap.get(t);if(r){var i=this.getActivatedValues(r,e);i&&(e?this.updateElement(t,e,i.get(e)):i.forEach(function(e,r){return n.updateElement(t,r,e)}))}},t.prototype.buildElementKeyMap=function(t,e){var n=this.elementKeyMap.get(t);n||(n=new Set,this.elementKeyMap.set(t,n)),n.add(e)},t.prototype.watchExtraTriggers=function(t,e,n){var r=this;if(n&&n.length){var i=this.watcherMap.get(t);if(i||(i=new Map,this.watcherMap.set(t,i)),!i.get(e)){var o=c.a.apply(void 0,n).subscribe(function(){var n=r.getValue(t,e);r.updateElement(t,e,n)});i.set(e,o)}}},t.prototype.findByQuery=function(t){return this.breakpoints.findByQuery(t)},t.prototype.getActivatedValues=function(t,e){for(var n=0;n(e=parseInt(e.getAttribute("tabindex")))?1:t\n
      \n
        \n
        \n \n
        \n
        \n ?\n
        \n
        \n !\n
        \n
        \n i\n
        \n
        \n
        \n \n
        \n
        \n
        \n \n

        \n \n
        \n
        \n
        \n \n \n
        \n \n \n
        \n \n
        \n \n \n
        \n
        \n
        \n \n \n
        \n
        \n
        \n \n').replace(/(^|\n)\s*/g,""),$=function(t){var e=I();if(e&&(e.parentNode.removeChild(e),j([document.documentElement,document.body],[w["no-backdrop"],w["toast-shown"],w["has-column"]])),!X()){var n=document.createElement("div");n.className=w.container,n.innerHTML=Z;var r="string"==typeof t.target?document.querySelector(t.target):t.target;r.appendChild(n);var i,o=M(),a=L(),s=A(a,w.input),l=A(a,w.file),c=a.querySelector(".".concat(w.range," input")),u=a.querySelector(".".concat(w.range," output")),p=A(a,w.select),d=a.querySelector(".".concat(w.checkbox," input")),h=A(a,w.textarea);o.setAttribute("role",t.toast?"alert":"dialog"),o.setAttribute("aria-live",t.toast?"polite":"assertive"),t.toast||o.setAttribute("aria-modal","true"),"rtl"===window.getComputedStyle(r).direction&&k(I(),w.rtl);var m=function(t){Vt.isVisible()&&i!==t.target.value&&Vt.resetValidationMessage(),i=t.target.value};return s.oninput=m,l.onchange=m,p.onchange=m,d.onchange=m,h.oninput=m,c.oninput=function(t){m(t),u.value=c.value},c.onchange=function(t){m(t),c.nextSibling.value=c.value},o}f("SweetAlert2 requires document to initialize")},J=function(e,n){if(!e)return T(n);if(e instanceof HTMLElement)n.appendChild(e);else if("object"===t(e))if(n.innerHTML="",0 in e)for(var r=0;r in e;r++)n.appendChild(e[r].cloneNode(!0));else n.appendChild(e.cloneNode(!0));else e&&(n.innerHTML=e);D(n)},tt=function(){if(X())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(e.hasOwnProperty(n)&&void 0!==t.style[n])return e[n];return!1}(),et=function(t){var e=G(),n=H(),r=U();if(t.showConfirmButton||t.showCancelButton?D(e):T(e),t.showCancelButton?r.style.display="inline-block":T(r),t.showConfirmButton?n.style.removeProperty("display"):T(n),n.innerHTML=t.confirmButtonText,r.innerHTML=t.cancelButtonText,n.setAttribute("aria-label",t.confirmButtonAriaLabel),r.setAttribute("aria-label",t.cancelButtonAriaLabel),n.className=w.confirm,k(n,t.confirmButtonClass),r.className=w.cancel,k(r,t.cancelButtonClass),t.buttonsStyling){k([n,r],w.styled),t.confirmButtonColor&&(n.style.backgroundColor=t.confirmButtonColor),t.cancelButtonColor&&(r.style.backgroundColor=t.cancelButtonColor);var i=window.getComputedStyle(n).getPropertyValue("background-color");n.style.borderLeftColor=i,n.style.borderRightColor=i}else j([n,r],w.styled),n.style.backgroundColor=n.style.borderLeftColor=n.style.borderRightColor="",r.style.backgroundColor=r.style.borderLeftColor=r.style.borderRightColor=""},nt=function(t){var e=L().querySelector("#"+w.content);t.html?J(t.html,e):t.text?(e.textContent=t.text,D(e)):T(e)},rt=function(t){for(var e=N(),n=0;n=t.progressSteps.length&&h("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),t.progressSteps.forEach(function(r,i){var o=document.createElement("li");if(k(o,w.progresscircle),o.innerHTML=r,i===n&&k(o,w.activeprogressstep),e.appendChild(o),i!==t.progressSteps.length-1){var a=document.createElement("li");k(a,w.progressline),t.progressStepsDistance&&(a.style.width=t.progressStepsDistance),e.appendChild(a)}})):T(e)},at=function(t){var e=F();t.titleText?e.innerText=t.titleText:t.title&&("string"==typeof t.title&&(t.title=t.title.split("\n").join("
        ")),J(t.title,e))},st=function(){null===C.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(C.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=C.previousBodyPadding+function(){if("ontouchstart"in window||navigator.msMaxTouchPoints)return 0;var t=document.createElement("div");t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e}()+"px")},lt=function(){return!!window.MSInputMethodContext&&!!document.documentMode},ct=function(){var t=I(),e=M();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")},ut={},pt=function(t,e){var n=I(),r=M();if(r){null!==t&&"function"==typeof t&&t(r),j(r,w.show),k(r,w.hide);var i=function(){Q()?dt(e):(new Promise(function(t){var e=window.scrollX,n=window.scrollY;ut.restoreFocusTimeout=setTimeout(function(){ut.previousActiveElement&&ut.previousActiveElement.focus?(ut.previousActiveElement.focus(),ut.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)}).then(function(){return dt(e)}),ut.keydownTarget.removeEventListener("keydown",ut.keydownHandler,{capture:ut.keydownListenerCapture}),ut.keydownHandlerAdded=!1),n.parentNode&&n.parentNode.removeChild(n),j([document.documentElement,document.body],[w.shown,w["height-auto"],w["no-backdrop"],w["toast-shown"],w["toast-column"]]),K()&&(null!==C.previousBodyPadding&&(document.body.style.paddingRight=C.previousBodyPadding,C.previousBodyPadding=null),function(){if(O(document.body,w.iosfix)){var t=parseInt(document.body.style.top,10);j(document.body,w.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),"undefined"!=typeof window&<()&&window.removeEventListener("resize",ct),p(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")}))};tt&&!O(r,w.noanimation)?r.addEventListener(tt,function t(){r.removeEventListener(tt,t),O(r,w.hide)&&i()}):i()}},dt=function(t){null!==t&&"function"==typeof t&&setTimeout(function(){t()})};function ht(t){var e=function t(){for(var e=arguments.length,n=new Array(e),r=0;r.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-top-left,body.swal2-no-backdrop .swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-top-end,body.swal2-no-backdrop .swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-left,body.swal2-no-backdrop .swal2-shown.swal2-center-start{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-end,body.swal2-no-backdrop .swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom-left,body.swal2-no-backdrop .swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-bottom-end,body.swal2-no-backdrop .swal2-shown.swal2-bottom-right{right:0;bottom:0}.swal2-container{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:10px;background-color:transparent;z-index:1060;overflow-x:hidden;-webkit-overflow-scrolling:touch}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{display:none;position:relative;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem;box-sizing:border-box}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-header{display:flex;flex-direction:column;align-items:center}.swal2-popup .swal2-title{display:block;position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-popup .swal2-actions{flex-wrap:wrap;align-items:center;justify-content:center;margin:1.25em auto 0;z-index:1}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm{width:2.5em;height:2.5em;margin:.46875em;padding:0;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent;cursor:default;box-sizing:border-box;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;width:15px;height:15px;margin-left:5px;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff;content:'';-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{margin:.3125em;padding:.625em 2em;font-weight:500;box-shadow:none}.swal2-popup .swal2-styled:not([disabled]){cursor:pointer}.swal2-popup .swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-popup .swal2-styled:focus{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-styled::-moz-focus-inner{border:0}.swal2-popup .swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-popup .swal2-image{max-width:100%;margin:1.25em auto}.swal2-popup .swal2-close{position:absolute;top:0;right:0;justify-content:center;width:1.2em;height:1.2em;padding:0;transition:color .1s ease-out;border:none;border-radius:0;outline:initial;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer;overflow:hidden}.swal2-popup .swal2-close:hover{-webkit-transform:none;transform:none;color:#f27474}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{justify-content:center;margin:0;padding:0;color:#545454;font-size:1.125em;font-weight:300;line-height:normal;z-index:1;word-wrap:break-word}.swal2-popup #swal2-content{text-align:center}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:1em auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;font-size:1.125em;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-sizing:border-box}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{width:80%}.swal2-popup .swal2-range output{width:20%;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:2.625em;margin:1em auto;padding:0;font-size:1.125em;line-height:2.625em}.swal2-popup .swal2-input{height:2.625em;padding:0 .75em}.swal2-popup .swal2-input[type=number]{max-width:10em}.swal2-popup .swal2-file{font-size:1.125em}.swal2-popup .swal2-textarea{height:6.75em;padding:.75em}.swal2-popup .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;color:#545454;font-size:1.125em}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-radio{align-items:center;justify-content:center}.swal2-popup .swal2-checkbox label,.swal2-popup .swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-radio input{margin:0 .4em}.swal2-popup .swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;background:#f0f0f0;color:#666;font-size:1em;font-weight:300;overflow:hidden}.swal2-popup .swal2-validation-message::before{display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center;content:'!';zoom:normal}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}.swal2-icon{position:relative;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;line-height:5em;cursor:default;box-sizing:content-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;zoom:normal}.swal2-icon-text{font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:3.75em 3.75em;transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 3.75em;transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;top:-.25em;left:-.25em;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%;z-index:2;box-sizing:content-box}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;top:.5em;left:1.625em;width:.4375em;height:5.625em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);z-index:1}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;height:.3125em;border-radius:.125em;background-color:#a5dc86;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.875em;width:1.5625em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{align-items:center;margin:0 0 1.25em;padding:0;font-weight:600}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{width:2.5em;height:.4em;margin:0 -1px;background:#3085d6;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-animate-success-icon .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-animate-success-icon .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-animate-error-icon{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-animate-error-icon .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}@-webkit-keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:initial!important}}")},Phjn:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("psW0");function i(t,e){return Object(r.a)(t,e,1)}},PuKC:function(t,e,n){"use strict";n.r(e),e.default=".search {\n width: 0;\n overflow: hidden;\n opacity: 0;\n visibility: hidden;\n transition: all 0.4s cubic-bezier(0.35, 0, 0.25, 1);\n margin-top: 7px; }\n\n.search.search-open {\n width: 250px;\n visibility: visible;\n opacity: 1;\n margin-top: 11px; }\n"},Rney:function(t,e,n){"use strict";var r=n("T1DM"),i=n("mrSG"),o=n("MGBS"),a=n("zotm");var s=function(){function t(t){this.durationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.durationSelector))},t}(),l=function(t){function e(e,n){var r=t.call(this,e)||this;return r.durationSelector=n,r.hasValue=!1,r}return i.c(e,t),e.prototype._next=function(t){if(this.value=t,this.hasValue=!0,!this.throttled){var e=void 0;try{e=(0,this.durationSelector)(t)}catch(r){return this.destination.error(r)}var n=Object(a.a)(this,e);!n||n.closed?this.clearThrottle():this.add(this.throttled=n)}},e.prototype.clearThrottle=function(){var t=this.value,e=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))},e.prototype.notifyNext=function(t,e,n,r){this.clearThrottle()},e.prototype.notifyComplete=function(){this.clearThrottle()},e}(o.a),c=n("gI3B");function u(t,e){return void 0===e&&(e=r.a),n=function(){return Object(c.a)(t,e)},function(t){return t.lift(new s(n))};var n}n.d(e,"a",function(){return u})},S1nX:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("xlPZ"),i=n("yGWI"),o=n("K9Ia");function a(){return new o.a}function s(){return function(t){return Object(i.a)()(Object(r.a)(a)(t))}}},SMsm:function(t,e,n){"use strict";n.d(e,"a",function(){return I});var r=n("Ip0R"),i=n("t/Na"),o=n("CcnG"),a=n("ZYjt"),s=n("F/XL"),l=n("XlPw"),c=n("VNr4"),u=n("xMyE"),p=n("67Y/"),d=n("9Z1F"),h=n("2WpN"),f=n("S1nX"),m=n("t9fZ"),g=n("mrSG"),y=n("Wf4p"),v=n("n6gG");function b(t){return Error('Unable to find icon with the name "'+t+'"')}function _(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \""+t+'".')}function w(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \""+t+'".')}var x=function(t){t.nodeName?this.svgElement=t:this.url=t},C=function(){function t(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}return t.prototype.addSvgIcon=function(t,e){return this.addSvgIconInNamespace("",t,e)},t.prototype.addSvgIconLiteral=function(t,e){return this.addSvgIconLiteralInNamespace("",t,e)},t.prototype.addSvgIconInNamespace=function(t,e,n){return this._addSvgIconConfig(t,e,new x(n))},t.prototype.addSvgIconLiteralInNamespace=function(t,e,n){var r=this._sanitizer.sanitize(o.db.HTML,n);if(!r)throw w(n);var i=this._createSvgElementForSingleIcon(r);return this._addSvgIconConfig(t,e,new x(i))},t.prototype.addSvgIconSet=function(t){return this.addSvgIconSetInNamespace("",t)},t.prototype.addSvgIconSetLiteral=function(t){return this.addSvgIconSetLiteralInNamespace("",t)},t.prototype.addSvgIconSetInNamespace=function(t,e){return this._addSvgIconSetConfig(t,new x(e))},t.prototype.addSvgIconSetLiteralInNamespace=function(t,e){var n=this._sanitizer.sanitize(o.db.HTML,e);if(!n)throw w(e);var r=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new x(r))},t.prototype.registerFontClassAlias=function(t,e){return void 0===e&&(e=t),this._fontCssClassesByAlias.set(t,e),this},t.prototype.classNameForFontAlias=function(t){return this._fontCssClassesByAlias.get(t)||t},t.prototype.setDefaultFontSetClass=function(t){return this._defaultFontSetClass=t,this},t.prototype.getDefaultFontSetClass=function(){return this._defaultFontSetClass},t.prototype.getSvgIconFromUrl=function(t){var e=this,n=this._sanitizer.sanitize(o.db.RESOURCE_URL,t);if(!n)throw _(t);var r=this._cachedIconsByUrl.get(n);return r?Object(s.a)(O(r)):this._loadSvgIconFromConfig(new x(t)).pipe(Object(u.a)(function(t){return e._cachedIconsByUrl.set(n,t)}),Object(p.a)(function(t){return O(t)}))},t.prototype.getNamedSvgIcon=function(t,e){void 0===e&&(e="");var n=E(e,t),r=this._svgIconConfigs.get(n);if(r)return this._getSvgFromConfig(r);var i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):Object(l.a)(b(n))},t.prototype.ngOnDestroy=function(){this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()},t.prototype._getSvgFromConfig=function(t){return t.svgElement?Object(s.a)(O(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Object(u.a)(function(e){return t.svgElement=e}),Object(p.a)(function(t){return O(t)}))},t.prototype._getSvgFromIconSetConfigs=function(t,e){var n=this,r=this._extractIconWithNameFromAnySet(t,e);if(r)return Object(s.a)(r);var i=e.filter(function(t){return!t.svgElement}).map(function(t){return n._loadSvgIconSetFromConfig(t).pipe(Object(d.a)(function(e){var r=n._sanitizer.sanitize(o.db.RESOURCE_URL,t.url);return console.error("Loading icon set URL: "+r+" failed: "+e.message),Object(s.a)(null)}))});return Object(c.a)(i).pipe(Object(p.a)(function(){var r=n._extractIconWithNameFromAnySet(t,e);if(!r)throw b(t);return r}))},t.prototype._extractIconWithNameFromAnySet=function(t,e){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.svgElement){var i=this._extractSvgIconFromSet(r.svgElement,t);if(i)return i}}return null},t.prototype._loadSvgIconFromConfig=function(t){var e=this;return this._fetchUrl(t.url).pipe(Object(p.a)(function(t){return e._createSvgElementForSingleIcon(t)}))},t.prototype._loadSvgIconSetFromConfig=function(t){var e=this;return t.svgElement?Object(s.a)(t.svgElement):this._fetchUrl(t.url).pipe(Object(p.a)(function(n){return t.svgElement||(t.svgElement=e._svgElementFromString(n)),t.svgElement}))},t.prototype._createSvgElementForSingleIcon=function(t){var e=this._svgElementFromString(t);return this._setSvgAttributes(e),e},t.prototype._extractSvgIconFromSet=function(t,e){var n=t.querySelector("#"+e);if(!n)return null;var r=n.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r));var i=this._svgElementFromString("");return i.appendChild(r),this._setSvgAttributes(i)},t.prototype._svgElementFromString=function(t){var e=this._document.createElement("DIV");e.innerHTML=t;var n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n},t.prototype._toSvgElement=function(t){for(var e=this._svgElementFromString(""),n=0;n
        ",selector:"mat-icon",exportAs:"matIcon",styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],inputs:["color"],host:{role:"img",class:"mat-icon notranslate","[class.mat-icon-inline]":"inline","[class.mat-icon-no-color]":'color !== "primary" && color !== "accent" && color !== "warn"'},encapsulation:o.qb.None,changeDetection:o.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.u},{type:C},{type:String,decorators:[{type:o.h,args:["aria-hidden"]}]},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[j]}]}]},e.propDecorators={inline:[{type:o.G}],svgIcon:[{type:o.G}],fontSet:[{type:o.G}],fontIcon:[{type:o.G}]},e}(k),I=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[y.h],exports:[P,y.h],declarations:[P]}]}],t}()},SO0w:function(t,e,n){"use strict";n.r(e),e.default=""},T1DM:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("h9Dq"),i=new(n("CS9Q").a)(r.a)},TMTi:function(t,e,n){"use strict";n.r(e),e.default='

        {{ \'EDIT\' | translate }} {{minion.name}}

        \r\n
        \r\n

        {{ \'USE_AUTO_TURNOFF_TIMEOUT\' | translate }}

        \r\n \r\n \r\n
        \r\n
        \r\n\r\n \x3c!--
        --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n \x3c!--
        --\x3e\r\n
        \r\n
        \r\n \r\n \r\n
        '},Txjg:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("Zn8D");function i(){return Object(r.a)(1)}},UodH:function(t,e,n){"use strict";n.d(e,"b",function(){return m}),n.d(e,"a",function(){return h});var r=n("mrSG"),i=n("lLAP"),o=n("dWZg"),a=n("CcnG"),s=n("Wf4p"),l=n("wFw1"),c=n("Ip0R"),u="accent",p=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],d=function(t){this._elementRef=t},h=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;o._focusMonitor=r,o._animationMode=i,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");for(var a=0,s=p;a
        ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],inputs:["disabled","disableRipple","color"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:a.u},{type:o.a},{type:i.e},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={ripple:[{type:a.nb,args:[s.p]}]},e}(Object(s.u)(Object(s.w)(Object(s.v)(d)))),f=function(t){function e(e,n,r,i){return t.call(this,r,e,n,i)||this}return Object(r.c)(e,t),e.prototype._haltDisabledEvents=function(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())},e.decorators=[{type:a.n,args:[{selector:"a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab],\n a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]",exportAs:"matButton, matAnchor",host:{"[attr.tabindex]":"disabled ? -1 : (tabIndex || 0)","[attr.disabled]":"disabled || null","[attr.aria-disabled]":"disabled.toString()","(click)":"_haltDisabledEvents($event)","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},inputs:["disabled","disableRipple","color"],template:'
        ',styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:.04}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:#fff}}@media (-ms-high-contrast:black-on-white){.mat-button-focus-overlay{background-color:#000}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],encapsulation:a.qb.None,changeDetection:a.j.OnPush}]}],e.ctorParameters=function(){return[{type:o.a},{type:i.e},{type:a.u},{type:String,decorators:[{type:a.R},{type:a.C,args:[l.a]}]}]},e.propDecorators={tabIndex:[{type:a.G}]},e}(h),m=function(){function t(){}return t.decorators=[{type:a.L,args:[{imports:[c.b,s.q,s.h],exports:[h,f,s.h],declarations:[h,f]}]}],t}()},"V9q+":function(t,e,n){"use strict";var r=n("CcnG"),i=n("mrSG"),o=n("Ip0R"),a=n("OzfB"),s=n("n6gG"),l=n("ny24"),c=n("ZYjt"),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{content:t?"url("+t+")":""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),p=function(t){function e(e,n,r,i,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="img-src",l.defaultSrc="",l.styleCache=d,l.init(),l.setValue(l.nativeElement.getAttribute("src")||"",""),Object(o.n)(l.platformId)&&l.serverModuleLoaded&&l.nativeElement.setAttribute("src",""),l}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"src",{set:function(t){this.defaultSrc=t,this.setValue(this.defaultSrc,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){var e=t||this.defaultSrc;Object(o.n)(this.platformId)&&this.serverModuleLoaded?this.addStyles(e):this.nativeElement.setAttribute("src",e)},e.decorators=[{type:r.t,args:[{selector:"img-src-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:u},{type:a.j},{type:a.f},{type:Object,decorators:[{type:r.C,args:[r.U]}]},{type:Boolean,decorators:[{type:r.C,args:[a.h]}]}]},e.propDecorators={src:[{type:r.G,args:["src"]}]},e}(a.b),d=new Map,h=["src.xs","src.sm","src.md","src.lg","src.xl","src.lt-sm","src.lt-md","src.lt-lg","src.lt-xl","src.gt-xs","src.gt-sm","src.gt-md","src.gt-lg"],f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=h,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n img[src.xs], img[src.sm], img[src.md], img[src.lg], img[src.xl],\n img[src.lt-sm], img[src.lt-md], img[src.lt-lg], img[src.lt-xl],\n img[src.gt-xs], img[src.gt-sm], img[src.gt-md], img[src.gt-lg]\n",inputs:h}]}],e}(p),m=function(t){function e(e,n,r,i,a){var s=t.call(this,e,null,n,r)||this;return s.elementRef=e,s.styler=n,s.marshal=r,s.delegate=i,s.ngClassInstance=a,s.DIRECTIVE_KEY="ngClass",s.ngClassInstance||(s.ngClassInstance=new o.h(s.delegate)),s.init(),s.setValue("",""),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"klass",{set:function(t){this.ngClassInstance.klass=t,this.setValue(t,"")},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.ngClassInstance.ngClass=t,this.ngClassInstance.ngDoCheck()},e.prototype.ngDoCheck=function(){this.ngClassInstance.ngDoCheck()},e.decorators=[{type:r.t,args:[{selector:"class-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:a.f},{type:o.o},{type:o.h,decorators:[{type:r.R},{type:r.eb}]}]},e.propDecorators={klass:[{type:r.G,args:["class"]}]},e}(a.b),g=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"],y={provide:o.o,useClass:o.p},v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=g,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl],\n [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl],\n [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]\n",inputs:g,providers:[y]}]}],e}(m),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:"true"===t?e.display:"none"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),_=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this,e,n,r,i)||this;return l.elementRef=e,l.styleBuilder=n,l.styler=r,l.marshal=i,l.layoutConfig=o,l.platformId=a,l.serverModuleLoaded=s,l.DIRECTIVE_KEY="show-hide",l.display="",l.hasLayout=!1,l.hasFlexChild=!1,l}return Object(i.c)(e,t),e.prototype.ngAfterViewInit=function(){this.trackExtraTriggers();for(var t=Array.from(this.nativeElement.children),e=0;e-1}function z(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return i=V(t),e=i[0],n=i[1],r=i[2],void 0===n&&(n=null),void 0===r&&(r=!1),{display:r?"inline-flex":"flex","box-sizing":"border-box","flex-direction":e,"flex-wrap":n||null};var e,n,r,i},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),U=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"],G=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout",o.styleCache=W,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"layout-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:H,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),q=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=U,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],\n [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],\n [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],\n [fxLayout.gt-md], [fxLayout.gt-lg]\n",inputs:U}]}],e}(G),W=new Map,Y={"margin-left":null,"margin-right":null,"margin-top":null,"margin-bottom":null},K=function(t){function e(e){var n=t.call(this)||this;return n._styler=e,n}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return t.endsWith(nt)?function(t,e){var n="0px",r="0px";"rtl"===e?r="-"+t:n="-"+t;return{margin:"0px "+n+" -"+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),e.directionality):{}},e.prototype.sideEffect=function(t,e,n){var r=n.items;if(t.endsWith(nt)){var o=function(t,e){var n="0px",r="0px";"rtl"===e?r=t:n=t;return{padding:"0px "+n+" "+t+" "+r}}(t=t.slice(0,t.indexOf(nt)),n.directionality);this._styler.applyStyleToElements(o,n.items)}else{var a=r.pop(),s=function(t,e){var n=rt(e.directionality,e.layout),r=Object(i.a)({},Y);return r[n]=t,r}(t,n);this._styler.applyStyleToElements(s,r),this._styler.applyStyleToElements(Y,[a])}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:a.j}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.j))},token:e,providedIn:"root"}),e}(a.i),Q=["fxLayoutGap","fxLayoutGap.xs","fxLayoutGap.sm","fxLayoutGap.md","fxLayoutGap.lg","fxLayoutGap.xl","fxLayoutGap.lt-sm","fxLayoutGap.lt-md","fxLayoutGap.lt-lg","fxLayoutGap.lt-xl","fxLayoutGap.gt-xs","fxLayoutGap.gt-sm","fxLayoutGap.gt-md","fxLayoutGap.gt-lg"],X=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e,o,i,a)||this;s.elRef=e,s.zone=n,s.directionality=r,s.styleUtils=i,s.styleBuilder=o,s.marshal=a,s.layout="row",s.DIRECTIVE_KEY="layout-gap",s.observerSubject=new N.a;var c=[s.directionality.change,s.observerSubject.asObservable()];return s.init(c),s.marshal.trackValue(s.nativeElement,"layout").pipe(Object(l.a)(s.destroySubject)).subscribe(s.onLayoutChange.bind(s)),s}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"childrenNodes",{get:function(){for(var t=this.nativeElement.children,e=[],n=t.length;n--;)e[n]=t[n];return e},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this.buildChildObservable(),this.triggerUpdate()},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this.observer&&this.observer.disconnect()},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],L.find(function(t){return t===e.layout})||(this.layout="row"),this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=this,n=this.childrenNodes.filter(function(t){return 1===t.nodeType&&e.willDisplay(t)}).sort(function(t,n){var r=+e.styler.lookupStyle(t,"order"),i=+e.styler.lookupStyle(n,"order");return isNaN(r)||isNaN(i)||r===i?0:r>i?1:-1});if(n.length>0){var r=this.directionality.value,i=this.layout;"row"===i&&"rtl"===r?this.styleCache=$:"row"===i&&"rtl"!==r?this.styleCache=tt:"column"===i&&"rtl"===r?this.styleCache=J:"column"===i&&"rtl"!==r&&(this.styleCache=et),this.addStyles(t,{directionality:r,items:n,layout:i})}},e.prototype.clearStyles=function(){var e,n=Object.keys(this.mru).length>0,r=n?"padding":rt(this.directionality.value,this.layout);n&&t.prototype.clearStyles.call(this),this.styleUtils.applyStyleToElements(((e={})[r]="",e),this.childrenNodes)},e.prototype.willDisplay=function(t){var e=this.marshal.getValue(t,"show-hide");return!0===e||void 0===e&&"none"!==this.styleUtils.lookupStyle(t,"display")},e.prototype.buildChildObservable=function(){var t=this;this.zone.runOutsideAngular(function(){"undefined"!=typeof MutationObserver&&(t.observer=new MutationObserver(function(e){e.some(function(t){return t.addedNodes&&t.addedNodes.length>0||t.removedNodes&&t.removedNodes.length>0})&&t.observerSubject.next()}),t.observer.observe(t.nativeElement,{childList:!0}))})},e.decorators=[{type:r.t,args:[{selector:"layout-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:M.b},{type:a.j},{type:K,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Z=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Q,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],\n [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],\n [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],\n [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]\n",inputs:Q}]}],e}(X),$=new Map,J=new Map,tt=new Map,et=new Map,nt=" grid";function rt(t,e){switch(e){case"column":return"margin-bottom";case"column-reverse":return"margin-top";case"row":return"rtl"===t?"margin-left":"margin-right";case"row-reverse":return"rtl"===t?"margin-right":"margin-left";default:return"rtl"===t?"margin-left":"margin-right"}}function it(t){for(var e=[],n=1;n-1?"column":"row",s=B(a)?"max-width":"max-height",l=B(a)?"min-width":"min-height",c=String(o).indexOf("calc")>-1,u=c||"auto"===o,p=String(o).indexOf("%")>-1&&!c,d=String(o).indexOf("px")>-1||String(o).indexOf("rem")>-1||String(o).indexOf("em")>-1||String(o).indexOf("vw")>-1||String(o).indexOf("vh")>-1,h=c||d;i="0"==i?0:i;var f=!(r="0"==r?0:r)&&!i,m={},g={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(o||""){case"":var y=!1!==this.layoutConfig.useColumnBasisZero;o="row"===a?"0%":y?"0.000000001px":"auto";break;case"initial":case"nogrow":r=0,o="auto";break;case"grow":o="100%";break;case"noshrink":i=0,o="auto";break;case"auto":break;case"none":r=0,i=0,o="auto";break;default:h||p||isNaN(o)||(o+="%"),"0%"===o&&(h=!0),"0px"===o&&(o="0%"),m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":h?o:"100%"}:{flex:r+" "+i+" "+(h?o:"100%")})}return m.flex||m["flex-grow"]||(m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o})),"0%"!==o&&"0px"!==o&&"0.000000001px"!==o&&"auto"!==o&&(m[l]=f||h&&r?o:null,m[s]=f||!u&&i?o:null),m[l]||m[s]?e.hasWrap&&(m[c?"flex-basis":"flex"]=m[s]?c?m[s]:r+" "+i+" "+m[s]:c?m[l]:r+" "+i+" "+m[l]):m=it(g,c?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o}),it(m,{"box-sizing":"border-box"})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.C,args:[a.e]}]}]},e.ngInjectableDef=Object(r.tc)({factory:function(){return new e(Object(r.uc)(a.e))},token:e,providedIn:"root"}),e}(a.i),at=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"],st=function(t){function e(e,n,r,i,o){var a=t.call(this,e,i,n,o)||this;return a.elRef=e,a.styleUtils=n,a.layoutConfig=r,a.styleBuilder=i,a.marshal=o,a.DIRECTIVE_KEY="flex",a.direction="",a.wrap=!1,a.flexGrow="1",a.flexShrink="1",a.init(),a.parentElement&&(a.marshal.trackValue(a.parentElement,"layout").pipe(Object(l.a)(a.destroySubject)).subscribe(a.onLayoutChange.bind(a)),a.marshal.trackValue(a.nativeElement,"layout-align").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerReflow.bind(a))),a}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"shrink",{get:function(){return this.flexShrink},set:function(t){this.flexShrink=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"grow",{get:function(){return this.flexGrow},set:function(t){this.flexGrow=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),e.prototype.onLayoutChange=function(t){var e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()},e.prototype.updateWithValue=function(t){var e=!1!==this.layoutConfig.addFlexToParent;this.direction||(this.direction=this.getFlexFlowDirection(this.parentElement,e));var n=this.direction,r=n.startsWith("row"),i=this.wrap;r&&i?this.styleCache=pt:r&&!i?this.styleCache=ct:!r&&i?this.styleCache=dt:r||i||(this.styleCache=ut);var o=String(t).replace(";",""),s=Object(a.k)(o,this.flexGrow,this.flexShrink);this.addStyles(s.join(" "),{direction:n,hasWrap:i})},e.prototype.triggerReflow=function(){var t=this.activatedValue;if(void 0!==t){var e=Object(a.k)(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}},e.decorators=[{type:r.t,args:[{selector:"flex-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:void 0,decorators:[{type:r.C,args:[a.e]}]},{type:ot},{type:a.f}]},e.propDecorators={shrink:[{type:r.G,args:["fxShrink"]}],grow:[{type:r.G,args:["fxGrow"]}]},e}(a.b),lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=at,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{inputs:at,selector:"\n [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],\n [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],\n [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],\n [fxFlex.gt-md], [fxFlex.gt-lg]\n"}]}],e}(st),ct=new Map,ut=new Map,pt=new Map,dt=new Map,ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{order:t&&parseInt(t,10)||""}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ft=["fxFlexOrder","fxFlexOrder.xs","fxFlexOrder.sm","fxFlexOrder.md","fxFlexOrder.lg","fxFlexOrder.xl","fxFlexOrder.lt-sm","fxFlexOrder.lt-md","fxFlexOrder.lt-lg","fxFlexOrder.lt-xl","fxFlexOrder.gt-xs","fxFlexOrder.gt-sm","fxFlexOrder.gt-md","fxFlexOrder.gt-lg"],mt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-order",o.styleCache=gt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-order-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ht,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),gt=new Map,yt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ft,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\n",inputs:ft}]}],e}(mt),vt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n;""===t&&(t="0");var r=String(t).indexOf("%")>-1;String(t).indexOf("px")>-1||r||isNaN(+t)||(t+="%");var i=e.isRtl?"margin-right":"margin-left";return B(e.layout)?((n={})[i]=""+t,n):{"margin-top":""+t}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),bt=["fxFlexOffset","fxFlexOffset.xs","fxFlexOffset.sm","fxFlexOffset.md","fxFlexOffset.lg","fxFlexOffset.xl","fxFlexOffset.lt-sm","fxFlexOffset.lt-md","fxFlexOffset.lt-lg","fxFlexOffset.lt-xl","fxFlexOffset.gt-xs","fxFlexOffset.gt-sm","fxFlexOffset.gt-md","fxFlexOffset.gt-lg"],_t=function(t){function e(e,n,r,i,o){var a=t.call(this,e,r,o,i)||this;return a.elRef=e,a.directionality=n,a.styleBuilder=r,a.marshal=i,a.styler=o,a.DIRECTIVE_KEY="flex-offset",a.init([a.directionality.change]),a.parentElement&&a.marshal.trackValue(a.parentElement,"layout-gap").pipe(Object(l.a)(a.destroySubject)).subscribe(a.triggerUpdate.bind(a)),a}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){void 0===t&&(t="");var e=this.getFlexFlowDirection(this.parentElement,!0),n="rtl"===this.directionality.value;"row"===e&&n?this.styleCache=xt:"row"!==e||n?"column"===e&&n?this.styleCache=Ct:"column"!==e||n||(this.styleCache=Et):this.styleCache=Ot,this.addStyles(t+"",{layout:e,isRtl:n})},e.decorators=[{type:r.t,args:[{selector:"flex-offset-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:M.b},{type:vt,decorators:[{type:r.R}]},{type:a.f},{type:a.j}]},e}(a.b),wt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=bt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\n",inputs:bt}]}],e}(_t),xt=new Map,Ct=new Map,Ot=new Map,Et=new Map,St=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){var e={};switch(t=t||"stretch"){case"start":e["align-self"]="flex-start";break;case"end":e["align-self"]="flex-end";break;default:e["align-self"]=t}return e},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),kt=["fxFlexAlign","fxFlexAlign.xs","fxFlexAlign.sm","fxFlexAlign.md","fxFlexAlign.lg","fxFlexAlign.xl","fxFlexAlign.lt-sm","fxFlexAlign.lt-md","fxFlexAlign.lt-lg","fxFlexAlign.lt-xl","fxFlexAlign.gt-xs","fxFlexAlign.gt-sm","fxFlexAlign.gt-md","fxFlexAlign.gt-lg"],jt=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="flex-align",o.styleCache=At,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"flex-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:St,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),At=new Map,Dt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=kt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\n",inputs:kt}]}],e}(jt),Tt={margin:0,width:"100%",height:"100%","min-width":"100%","min-height":"100%"},Pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return Tt},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),It=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.styleCache=Rt,o.addStyles(""),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"[fxFill], [fxFlexFill]"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Pt},{type:a.f}]},e}(a.b),Rt=new Map,Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["justify-content"]="center";break;case"space-around":n["justify-content"]="space-around";break;case"space-between":n["justify-content"]="space-between";break;case"space-evenly":n["justify-content"]="space-evenly";break;case"end":case"flex-end":n["justify-content"]="flex-end";break;case"start":case"flex-start":default:n["justify-content"]="flex-start"}switch(o){case"start":case"flex-start":n["align-items"]=n["align-content"]="flex-start";break;case"center":n["align-items"]=n["align-content"]="center";break;case"end":case"flex-end":n["align-items"]=n["align-content"]="flex-end";break;case"space-between":n["align-content"]="space-between",n["align-items"]="stretch";break;case"space-around":n["align-content"]="space-around",n["align-items"]="stretch";break;case"baseline":n["align-content"]="stretch",n["align-items"]="baseline";break;case"stretch":default:n["align-items"]=n["align-content"]="stretch"}return it(n,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===o?B(e.layout)?null:"100%":null,"max-height":"stretch"===o&&B(e.layout)?"100%":null})},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Nt=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"],Ft=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="layout-align",o.layout="row",o.inline=!1,o.init(),o.marshal.trackValue(o.nativeElement,"layout").pipe(Object(l.a)(o.destroySubject)).subscribe(o.onLayoutChange.bind(o)),o}return Object(i.c)(e,t),e.prototype.updateWithValue=function(t){var e=this.layout||"row",n=this.inline;"row"===e&&n?this.styleCache=Ut:"row"!==e||n?"row-reverse"===e&&n?this.styleCache=qt:"row-reverse"!==e||n?"column"===e&&n?this.styleCache=Gt:"column"!==e||n?"column-reverse"===e&&n?this.styleCache=Wt:"column-reverse"!==e||n||(this.styleCache=Ht):this.styleCache=Bt:this.styleCache=zt:this.styleCache=Vt,this.addStyles(t,{layout:e,inline:n})},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],this.inline=t.value.includes("inline"),L.find(function(t){return t===e.layout})||(this.layout="row"),this.triggerUpdate()},e.decorators=[{type:r.t,args:[{selector:"layout-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Mt,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),Lt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Nt,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],\n [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],\n [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],\n [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]\n",inputs:Nt}]}],e}(Ft),Vt=new Map,Bt=new Map,zt=new Map,Ht=new Map,Ut=new Map,Gt=new Map,qt=new Map,Wt=new Map,Yt=[q,Z,Lt,yt,wt,It,Dt,lt,st,jt,_t,mt,G,Ft,X],Kt=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c,M.a],declarations:Yt.slice(),exports:Yt.slice()}]}],t}(),Qt="stretch",Xt="stretch",Zt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return function(t){void 0===t&&(t="");var e={},n=t.split(" "),r=n[0],i=n[1];switch(r){case"end":e["justify-self"]="end";break;case"center":e["justify-self"]="center";break;case"stretch":e["justify-self"]="stretch";break;case"start":e["justify-self"]="start";break;default:e["justify-self"]=Qt}switch(i){case"end":e["align-self"]="end";break;case"center":e["align-self"]="center";break;case"stretch":e["align-self"]="stretch";break;case"start":e["align-self"]="start";break;default:e["align-self"]=Xt}return e}(t||Qt)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),$t=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align",o.styleCache=Jt,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-align-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Zt,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Jt=new Map,te=["gdGridAlign","gdGridAlign.xs","gdGridAlign.sm","gdGridAlign.md","gdGridAlign.lg","gdGridAlign.xl","gdGridAlign.lt-sm","gdGridAlign.lt-md","gdGridAlign.lt-lg","gdGridAlign.lt-xl","gdGridAlign.gt-xs","gdGridAlign.gt-sm","gdGridAlign.gt-md","gdGridAlign.gt-lg"],ee=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=te,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n",inputs:te}]}],e}($t);var ne="start",re="stretch",ie=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":n["align-content"]="center";break;case"space-around":n["align-content"]="space-around";break;case"space-between":n["align-content"]="space-between";break;case"space-evenly":n["align-content"]="space-evenly";break;case"end":n["align-content"]="end";break;case"start":n["align-content"]="start";break;case"stretch":n["align-content"]="stretch";break;default:n["align-content"]=ne}switch(o){case"start":n["align-items"]="start";break;case"center":n["align-items"]="center";break;case"end":n["align-items"]="end";break;case"stretch":n["align-items"]="stretch";break;default:n["align-items"]=re}return n.display=e?"inline-grid":"grid",n}(t||ne+" "+re,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),oe=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?se:ae,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:ie,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),ae=new Map,se=new Map,le=["gdAlignColumns","gdAlignColumns.xs","gdAlignColumns.sm","gdAlignColumns.md","gdAlignColumns.lg","gdAlignColumns.xl","gdAlignColumns.lt-sm","gdAlignColumns.lt-md","gdAlignColumns.lt-lg","gdAlignColumns.lt-xl","gdAlignColumns.gt-xs","gdAlignColumns.gt-sm","gdAlignColumns.gt-md","gdAlignColumns.gt-lg"],ce=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n",inputs:le}]}],e}(oe);var ue="start",pe="stretch",de=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return function(t,e){var n={},r=t.split(" "),i=r[0],o=r[1];switch(i){case"center":case"space-around":case"space-between":case"space-evenly":case"end":case"start":case"stretch":n["justify-content"]=i;break;default:n["justify-content"]=ue}switch(o){case"start":case"center":case"end":case"stretch":n["justify-items"]=o;break;default:n["justify-items"]=pe}return n.display=e?"inline-grid":"grid",n}(t||ue+" "+pe,e.inline)},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),he=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-align-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?me:fe,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-align-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:de,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),fe=new Map,me=new Map,ge=["gdAlignRows","gdAlignRows.xs","gdAlignRows.sm","gdAlignRows.md","gdAlignRows.lg","gdAlignRows.xl","gdAlignRows.lt-sm","gdAlignRows.lt-md","gdAlignRows.lt-lg","gdAlignRows.lt-xl","gdAlignRows.gt-xs","gdAlignRows.gt-sm","gdAlignRows.gt-md","gdAlignRows.gt-lg"],ye=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n",inputs:ge}]}],e}(he);var ve=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-area":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),be=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-area",o.styleCache=_e,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-area-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:ve,decorators:[{type:r.R}]},{type:a.f}]},e}(a.b),_e=new Map,we=["gdArea","gdArea.xs","gdArea.sm","gdArea.md","gdArea.lg","gdArea.xl","gdArea.lt-sm","gdArea.lt-md","gdArea.lt-lg","gdArea.lt-xl","gdArea.gt-xs","gdArea.gt-sm","gdArea.gt-md","gdArea.gt-lg"],xe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=we,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n",inputs:we}]}],e}(be),Ce=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"none").split("|").map(function(t){return'"'+t.trim()+'"'});return{display:e.inline?"inline-grid":"grid","grid-template-areas":n.join(" ")}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Oe=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-areas",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Se:Ee,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-areas-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:Ce,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ee=new Map,Se=new Map,ke=["gdAreas","gdAreas.xs","gdAreas.sm","gdAreas.md","gdAreas.lg","gdAreas.xl","gdAreas.lt-sm","gdAreas.lt-md","gdAreas.lt-lg","gdAreas.lt-xl","gdAreas.gt-xs","gdAreas.gt-sm","gdAreas.gt-md","gdAreas.gt-lg"],je=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ke,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n",inputs:ke}]}],e}(Oe),Ae=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=(t||"initial").split(" "),r=n[0],i=n[1];return"column"!==r&&"row"!==r&&"dense"!==r&&(r="row"),i="dense"===i&&"dense"!==r?" dense":"",{display:e.inline?"inline-grid":"grid","grid-auto-flow":r+i}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),De=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o._inline=!1,o.DIRECTIVE_KEY="grid-auto",o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Pe:Te,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-auto-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Ae,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Te=new Map,Pe=new Map,Ie=["gdAuto","gdAuto.xs","gdAuto.sm","gdAuto.md","gdAuto.lg","gdAuto.xl","gdAuto.lt-sm","gdAuto.lt-md","gdAuto.lt-lg","gdAuto.lt-xl","gdAuto.gt-xs","gdAuto.gt-sm","gdAuto.gt-md","gdAuto.gt-lg"],Re=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ie,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n",inputs:Ie}]}],e}(De),Me=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-column":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ne=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-column",o.styleCache=Fe,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-column-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Me,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),Fe=new Map,Le=["gdColumn","gdColumn.xs","gdColumn.sm","gdColumn.md","gdColumn.lg","gdColumn.xl","gdColumn.lt-sm","gdColumn.lt-md","gdColumn.lt-lg","gdColumn.lt-xl","gdColumn.gt-xs","gdColumn.gt-sm","gdColumn.gt-md","gdColumn.gt-lg"],Ve=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Le,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n",inputs:Le}]}],e}(Ne),Be=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-columns":"","grid-template-columns":""};return r[n?"grid-auto-columns":"grid-template-columns"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),ze=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-columns",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Ue:He,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-columns-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:Be,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),He=new Map,Ue=new Map,Ge=["gdColumns","gdColumns.xs","gdColumns.sm","gdColumns.md","gdColumns.lg","gdColumns.xl","gdColumns.lt-sm","gdColumns.lt-md","gdColumns.lt-lg","gdColumns.lt-xl","gdColumns.gt-xs","gdColumns.gt-sm","gdColumns.gt-md","gdColumns.gt-lg"],qe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Ge,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n",inputs:Ge}]}],e}(ze),We=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){return{display:e.inline?"inline-grid":"grid","grid-gap":t||"0"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Ye=function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.elRef=e,o.styleUtils=n,o.styleBuilder=r,o.marshal=i,o.DIRECTIVE_KEY="grid-gap",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?Qe:Ke,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-gap-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:a.j},{type:We,decorators:[{type:r.R}]},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),Ke=new Map,Qe=new Map,Xe=["gdGap","gdGap.xs","gdGap.sm","gdGap.md","gdGap.lg","gdGap.xl","gdGap.lt-sm","gdGap.lt-md","gdGap.lt-lg","gdGap.lt-xl","gdGap.gt-xs","gdGap.gt-sm","gdGap.gt-md","gdGap.gt-lg"],Ze=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Xe,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n",inputs:Xe}]}],e}(Ye),$e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t){return{"grid-row":t||"auto"}},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),Je=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-row",o.styleCache=tn,o.init(),o}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"grid-row-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:$e,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e}(a.b),tn=new Map,en=["gdRow","gdRow.xs","gdRow.sm","gdRow.md","gdRow.lg","gdRow.xl","gdRow.lt-sm","gdRow.lt-md","gdRow.lt-lg","gdRow.lt-xl","gdRow.gt-xs","gdRow.gt-sm","gdRow.gt-md","gdRow.gt-lg"],nn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=en,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n",inputs:en}]}],e}(Je),rn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype.buildStyles=function(t,e){var n=!1;(t=t||"none").endsWith("!")&&(t=t.substring(0,t.indexOf("!")),n=!0);var r={display:e.inline?"inline-grid":"grid","grid-auto-rows":"","grid-template-rows":""};return r[n?"grid-auto-rows":"grid-template-rows"]=t,r},e.decorators=[{type:r.D,args:[{providedIn:"root"}]}],e.ngInjectableDef=Object(r.tc)({factory:function(){return new e},token:e,providedIn:"root"}),e}(a.i),on=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o.elementRef=e,o.styleBuilder=n,o.styler=r,o.marshal=i,o.DIRECTIVE_KEY="grid-rows",o._inline=!1,o.init(),o}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"inline",{get:function(){return this._inline},set:function(t){this._inline=Object(s.c)(t)},enumerable:!0,configurable:!0}),e.prototype.updateWithValue=function(t){this.styleCache=this.inline?sn:an,this.addStyles(t,{inline:this.inline})},e.decorators=[{type:r.t,args:[{selector:"grid-rows-directive"}]}],e.ctorParameters=function(){return[{type:r.u},{type:rn,decorators:[{type:r.R}]},{type:a.j},{type:a.f}]},e.propDecorators={inline:[{type:r.G,args:["gdInline"]}]},e}(a.b),an=new Map,sn=new Map,ln=["gdRows","gdRows.xs","gdRows.sm","gdRows.md","gdRows.lg","gdRows.xl","gdRows.lt-sm","gdRows.lt-md","gdRows.lt-lg","gdRows.lt-xl","gdRows.gt-xs","gdRows.gt-sm","gdRows.gt-md","gdRows.gt-lg"],cn=[ee,ce,ye,xe,je,Re,Ve,qe,Ze,nn,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=ln,e}return Object(i.c)(e,t),e.decorators=[{type:r.t,args:[{selector:"\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n",inputs:ln}]}],e}(on),oe,he,be,Oe,De,Ne,ze,Ye,$t,Je,on],un=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[a.c],declarations:cn.slice(),exports:cn.slice()}]}],t}();n.d(e,"a",function(){return pn});new r.mb("8.0.0-beta.27");var pn=function(){function t(t,e){Object(o.n)(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}return t.withConfig=function(e,n){return void 0===n&&(n=[]),{ngModule:t,providers:e.serverLoaded?[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0},{provide:a.h,useValue:!0}]:[{provide:a.e,useValue:Object(i.a)({},a.d,e)},{provide:a.a,useValue:n,multi:!0}]}},t.decorators=[{type:r.L,args:[{imports:[Kt,R,un],exports:[Kt,R,un]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[a.h]}]},{type:Object,decorators:[{type:r.C,args:[r.U]}]}]},t}()},VNr4:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n("6blF"),i=n("isby"),o=n("67Y/"),a=n("McSo"),s=n("0/uQ");function l(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e){return function(n,r){e(n,r,t)}},u=function(t){return t&&t.__esModule?t:{default:t}},p=function(){function t(t,e,n,r){var i=this;this.dialog=t,this.minionsService=e,this.dialogRef=n,this.minionPropertiesToSet={},this.minions=[],this.minionsSubscription=e.minionsFeed.subscribe(function(t){i.minions=t})}return t.prototype.ngOnInit=function(){this.minionControl=new o.c("",[o.k.required]),this.setMinionStatus=new o.c("",[o.k.required]),this.setMinionProperties=new o.c("")},t.prototype.onPropertiesSet=function(){this.setMinionProperties.setValue(this.setMinionProperties)},t.prototype.extractStatus=function(){var t=this.minionControl.value,e={};return e[t.minionType]=this.minionPropertiesToSet,e[t.minionType].status=this.setMinionStatus.value,e},t.prototype.isPropertiesOk=function(){var t=this.minionControl.value,e=this.extractStatus();if("airConditioning"===t.minionType){var n=e.airConditioning;return n.mode&&n.fanStrength&&n.temperature}if("light"===t.minionType)return e.light.brightness;if("temperatureLight"===t.minionType){var r=e.temperatureLight;return r.brightness&&r.temperature}if("colorLight"===t.minionType){var i=e.colorLight;return i.brightness&&i.temperature&&i.red&&i.green&&i.blue}return"roller"===t.minionType?e.roller.direction:void 0},t.prototype.createActivity=function(){this.minionsSubscription.unsubscribe();var t={minionId:this.minionControl.value.minionId,minionStatus:this.extractStatus()};this.dialogRef.close(t)},t.ctorParameters=function(){return[{type:i.b},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=s([Object(r.n)({selector:"app-create-activity-dialog",template:u(n("FM+V")).default,styles:[u(n("fBeJ")).default]}),c(3,Object(r.C)(i.a)),l("design:paramtypes",[i.b,a.a,i.e,Object])],t)}()},Wf4p:function(t,e,n){"use strict";n.d(e,"h",function(){return g}),n.d(e,"w",function(){return y}),n.d(e,"u",function(){return v}),n.d(e,"v",function(){return b}),n.d(e,"y",function(){return _}),n.d(e,"x",function(){return w}),n.d(e,"k",function(){return R}),n.d(e,"a",function(){return O}),n.d(e,"d",function(){return E}),n.d(e,"b",function(){return M}),n.d(e,"c",function(){return V}),n.d(e,"z",function(){return z}),n.d(e,"i",function(){return B}),n.d(e,"j",function(){return U}),n.d(e,"n",function(){return ut}),n.d(e,"s",function(){return lt}),n.d(e,"t",function(){return ct}),n.d(e,"f",function(){return at}),n.d(e,"m",function(){return st}),n.d(e,"l",function(){return rt}),n.d(e,"e",function(){return pt}),n.d(e,"q",function(){return $}),n.d(e,"g",function(){return X}),n.d(e,"p",function(){return Z}),n.d(e,"r",function(){return Q}),n.d(e,"o",function(){return tt});var r=n("CcnG"),i=n("ZYjt"),o=n("Fzqc"),a=n("mrSG"),s=n("n6gG"),l=n("K9Ia"),c=(n("6blF"),n("dWZg")),u=n("p0Sj"),p=n("lLAP"),d=n("wFw1"),h=n("YSh2"),f=n("Ip0R"),m=(function(){function t(){}t.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",t.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",t.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",t.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)"}(),function(){function t(){}t.COMPLEX="375ms",t.ENTERING="225ms",t.EXITING="195ms"}(),new r.E("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}));var g=function(){function t(t,e){this._sanityChecksEnabled=t,this._hammerLoader=e,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}return t.prototype._areChecksEnabled=function(){return this._sanityChecksEnabled&&Object(r.yb)()&&!this._isTestEnv()},t.prototype._isTestEnv=function(){var t=this._window;return t&&(t.__karma__||t.jasmine)},t.prototype._checkDoctypeIsDefined=function(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")},t.prototype._checkThemeIsPresent=function(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){var t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);var e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}},t.prototype._checkHammerIsAvailable=function(){!this._hasCheckedHammer&&this._window&&(!this._areChecksEnabled()||this._window.Hammer||this._hammerLoader||console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)},t.decorators=[{type:r.L,args:[{imports:[o.a],exports:[o.a]}]}],t.ctorParameters=function(){return[{type:Boolean,decorators:[{type:r.R},{type:r.C,args:[m]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[i.d]}]}]},t}();function y(t){return function(t){function e(){for(var e=[],n=0;n0?n:t},t}(),E=new r.E("mat-date-formats");try{C="undefined"!=typeof Intl}catch(dt){C=!1}var S={long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],narrow:["J","F","M","A","M","J","J","A","S","O","N","D"]},k=D(31,function(t){return String(t+1)}),j={long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],narrow:["S","M","T","W","T","F","S"]},A=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function D(t,e){for(var n=Array(t),r=0;r11)throw Error('Invalid month index "'+e+'". Month index has to be between 0 and 11.');if(n<1)throw Error('Invalid date "'+n+'". Date has to be greater than 0.');var r=this._createDateWithOverflow(t,e,n);if(r.getMonth()!=e)throw Error('Invalid date "'+n+'" for month with index "'+e+'".');return r},e.prototype.today=function(){return new Date},e.prototype.parse=function(t){return"number"==typeof t?new Date(t):t?new Date(Date.parse(t)):null},e.prototype.format=function(t,e){if(!this.isValid(t))throw Error("NativeDateAdapter: Cannot format invalid date.");if(C){this._clampDate&&(t.getFullYear()<1||t.getFullYear()>9999)&&(t=this.clone(t)).setFullYear(Math.max(1,Math.min(9999,t.getFullYear()))),e=Object(a.a)({},e,{timeZone:"utc"});var n=new Intl.DateTimeFormat(this.locale,e);return this._stripDirectionalityCharacters(this._format(n,t))}return this._stripDirectionalityCharacters(t.toDateString())},e.prototype.addCalendarYears=function(t,e){return this.addCalendarMonths(t,12*e)},e.prototype.addCalendarMonths=function(t,e){var n=this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+e,this.getDate(t));return this.getMonth(n)!=((this.getMonth(t)+e)%12+12)%12&&(n=this._createDateWithOverflow(this.getYear(n),this.getMonth(n),0)),n},e.prototype.addCalendarDays=function(t,e){return this._createDateWithOverflow(this.getYear(t),this.getMonth(t),this.getDate(t)+e)},e.prototype.toIso8601=function(t){return[t.getUTCFullYear(),this._2digit(t.getUTCMonth()+1),this._2digit(t.getUTCDate())].join("-")},e.prototype.deserialize=function(e){if("string"==typeof e){if(!e)return null;if(A.test(e)){var n=new Date(e);if(this.isValid(n))return n}}return t.prototype.deserialize.call(this,e)},e.prototype.isDateInstance=function(t){return t instanceof Date},e.prototype.isValid=function(t){return!isNaN(t.getTime())},e.prototype.invalid=function(){return new Date(NaN)},e.prototype._createDateWithOverflow=function(t,e,n){var r=new Date(t,e,n);return t>=0&&t<100&&r.setFullYear(this.getYear(r)-1900),r},e.prototype._2digit=function(t){return("00"+t).slice(-2)},e.prototype._stripDirectionalityCharacters=function(t){return t.replace(/[\u200e\u200f]/g,"")},e.prototype._format=function(t,e){var n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.format(n)},e.decorators=[{type:r.D}],e.ctorParameters=function(){return[{type:String,decorators:[{type:r.R},{type:r.C,args:[x]}]},{type:c.a}]},e}(O),P=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[c.b],providers:[{provide:O,useClass:T}]}]}],t}(),I={parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}},R=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[P],providers:[{provide:E,useValue:I}]}]}],t}(),M=(function(){function t(){}t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.dirty||e&&e.submitted))},t.decorators=[{type:r.D}]}(),function(){function t(){}return t.prototype.isErrorState=function(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(r.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}()),N=new r.E("MAT_HAMMER_OPTIONS"),F=["longpress","slide","slidestart","slideend","slideright","slideleft"],L={on:function(){},off:function(){}},V=function(t){function e(e,n){var r=t.call(this)||this;return r._hammerOptions=e,r.events=F,n&&n._checkHammerIsAvailable(),r}return Object(a.c)(e,t),e.prototype.buildHammer=function(t){var e="undefined"!=typeof window?window.Hammer:null;if(!e)return L;var n=new e(t,this._hammerOptions||void 0),r=new e.Pan,i=new e.Swipe,o=new e.Press,a=this._createRecognizer(r,{event:"slide",threshold:0},i),s=this._createRecognizer(o,{event:"longpress",time:500});return r.recognizeWith(i),s.recognizeWith(a),n.add([i,o,r,a,s]),n},e.prototype._createRecognizer=function(t,e){for(var n=[],r=2;r3&&H(e,"mat-multi-line",!0)})}function H(t,e,n){var r=t.nativeElement.classList;n?r.add(e):r.remove(e)}var U=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[g],exports:[B,g],declarations:[B]}]}],t}(),G={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};G[G.FADING_IN]="FADING_IN",G[G.VISIBLE]="VISIBLE",G[G.FADING_OUT]="FADING_OUT",G[G.HIDDEN]="HIDDEN";var q=function(){function t(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=G.HIDDEN}return t.prototype.fadeOut=function(){this._renderer.fadeOutRipple(this)},t}(),W={enterDuration:450,exitDuration:400},Y=800,K=Object(c.f)({passive:!0}),Q=function(){function t(t,e,n,r){var i=this;this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this.onMousedown=function(t){var e=Object(p.h)(t),n=i._lastTouchStartEvent&&Date.now(){{ label }}',encapsulation:r.qb.None,changeDetection:r.j.OnPush,inputs:["disabled"],styles:[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"],host:{class:"mat-optgroup",role:"group","[class.mat-optgroup-disabled]":"disabled","[attr.aria-disabled]":"disabled.toString()","[attr.aria-labelledby]":"_labelId"}}]}],e.propDecorators={label:[{type:r.G}]},e}(et),it=0,ot=function(t,e){void 0===e&&(e=!1),this.source=t,this.isUserInput=e},at=new r.E("MAT_OPTION_PARENT_COMPONENT"),st=function(){function t(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+it++,this.onSelectionChange=new r.x,this._stateChanges=new l.a}return Object.defineProperty(t.prototype,"multiple",{get:function(){return this._parent&&this._parent.multiple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.group&&this.group.disabled||this._disabled},set:function(t){this._disabled=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disableRipple",{get:function(){return this._parent&&this._parent.disableRipple},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._active},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewValue",{get:function(){return(this._getHostElement().textContent||"").trim()},enumerable:!0,configurable:!0}),t.prototype.select=function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.deselect=function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())},t.prototype.focus=function(){var t=this._getHostElement();"function"==typeof t.focus&&t.focus()},t.prototype.setActiveStyles=function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())},t.prototype.setInactiveStyles=function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())},t.prototype.getLabel=function(){return this.viewValue},t.prototype._handleKeydown=function(t){t.keyCode!==h.f&&t.keyCode!==h.n||Object(h.s)(t)||(this._selectViaInteraction(),t.preventDefault())},t.prototype._selectViaInteraction=function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))},t.prototype._getAriaSelected=function(){return this.selected||!this.multiple&&null},t.prototype._getTabIndex=function(){return this.disabled?"-1":"0"},t.prototype._getHostElement=function(){return this._element.nativeElement},t.prototype.ngAfterViewChecked=function(){if(this._selected){var t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}},t.prototype.ngOnDestroy=function(){this._stateChanges.complete()},t.prototype._emitSelectionChangeEvent=function(t){void 0===t&&(t=!1),this.onSelectionChange.emit(new ot(this,t))},t.decorators=[{type:r.n,args:[{selector:"mat-option",exportAs:"matOption",host:{role:"option","[attr.tabindex]":"_getTabIndex()","[class.mat-selected]":"selected","[class.mat-option-multiple]":"multiple","[class.mat-active]":"active","[id]":"id","[attr.aria-selected]":"_getAriaSelected()","[attr.aria-disabled]":"disabled.toString()","[class.mat-option-disabled]":"disabled","(click)":"_selectViaInteraction()","(keydown)":"_handleKeydown($event)",class:"mat-option"},styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media (-ms-high-contrast:active){.mat-option .mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],template:'
        ',encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],t.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[at]}]},{type:rt,decorators:[{type:r.R}]}]},t.propDecorators={value:[{type:r.G}],id:[{type:r.G}],disabled:[{type:r.G}],onSelectionChange:[{type:r.S}]},t}();function lt(t,e,n){if(n.length){for(var r=e.toArray(),i=n.toArray(),o=0,a=0;an+r?Math.max(0,i-r+e):n}var ut=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[$,f.b,tt],exports:[st,rt],declarations:[st,rt]}]}],t}(),pt=new r.E("mat-label-global-options")},"Wg1/":function(t,e,n){"use strict";n.r(e),e.default=".spinner {\n margin-top: 40vh;\n -webkit-animation: rotator 1.4s linear infinite;\n animation: rotator 1.4s linear infinite; }\n\n@-webkit-keyframes rotator {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(270deg); } }\n\n@keyframes rotator {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(270deg); } }\n\n.path {\n stroke-dasharray: 187;\n stroke-dashoffset: 0;\n transform-origin: center;\n -webkit-animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;\n animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; }\n\n@-webkit-keyframes colors {\n 0% {\n stroke: #4285F4; }\n 25% {\n stroke: #DE3E35; }\n 50% {\n stroke: #F7C223; }\n 75% {\n stroke: #1B9A59; }\n 100% {\n stroke: #4285F4; } }\n\n@keyframes colors {\n 0% {\n stroke: #4285F4; }\n 25% {\n stroke: #DE3E35; }\n 50% {\n stroke: #F7C223; }\n 75% {\n stroke: #1B9A59; }\n 100% {\n stroke: #4285F4; } }\n\n@-webkit-keyframes dash {\n 0% {\n stroke-dashoffset: 187; }\n 50% {\n stroke-dashoffset: 46.75;\n transform: rotate(135deg); }\n 100% {\n stroke-dashoffset: 187;\n transform: rotate(450deg); } }\n\n@keyframes dash {\n 0% {\n stroke-dashoffset: 187; }\n 50% {\n stroke-dashoffset: 46.75;\n transform: rotate(135deg); }\n 100% {\n stroke-dashoffset: 187;\n transform: rotate(450deg); } }\n"},X2iB:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("l01N"),s=n("Onty"),l=n("AytR"),c=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\r\n \r\n
        \r\n {{ 'ENTER_EMAIL' | translate}}\r\n \r\n \r\n \r\n {{ 'ENTER_VALID_EMAIL' | translate}}\r\n \r\n \r\n
        \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n
        \r\n {{ 'ENTER_NAME' | translate}}\r\n \r\n \r\n \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n
        \r\n {{ 'SELECT_USER_SCOPE' | translate}}\r\n \r\n \r\n {{ 'ADMIN' | translate }}\r\n {{ 'USER' | translate }}\r\n \r\n \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n
        \r\n {{ 'ALLOW_UNMFA_ACCESS' | translate}}\r\n \r\n \r\n {{ 'ALLOW' | translate }}\r\n {{ 'REJECT' | translate }}\r\n \r\n \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n
        \r\n {{ 'PRESS_PASSWORD' | translate}}\r\n \r\n \r\n {{ passwordControl.value.length }} / 18 \r\n \r\n {{ 'PASSWORD_SHULD_BE_6_TO_18_LENGTH' | translate}}\r\n \r\n \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n
        \r\n {{ 'PRESS_PASSWORD_AGINE' | translate}}\r\n \r\n \r\n {{passwordControl.value.length}} / 18\r\n \r\n {{ 'THE_PASSWORDS_NOT_SAME' | translate}}\r\n \r\n \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n \r\n {{ 'DONE' | translate}}\r\n {{ 'DONE_USER_MESSAGE' | translate}}\r\n
        \r\n \r\n \r\n \r\n
        \r\n
        \r\n"},YSh2:function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"o",function(){return i}),n.d(e,"f",function(){return o}),n.d(e,"g",function(){return a}),n.d(e,"n",function(){return s}),n.d(e,"l",function(){return l}),n.d(e,"k",function(){return c}),n.d(e,"e",function(){return u}),n.d(e,"h",function(){return p}),n.d(e,"i",function(){return d}),n.d(e,"p",function(){return h}),n.d(e,"m",function(){return f}),n.d(e,"d",function(){return m}),n.d(e,"c",function(){return g}),n.d(e,"r",function(){return y}),n.d(e,"j",function(){return v}),n.d(e,"a",function(){return b}),n.d(e,"q",function(){return _}),n.d(e,"s",function(){return w});var r=8,i=9,o=13,a=27,s=32,l=33,c=34,u=35,p=36,d=37,h=38,f=39,m=40,g=46,y=48,v=57,b=65,_=90;function w(t){for(var e=[],n=1;n1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}();var d=function(){function t(){this._listeners=[]}return t.prototype.notify=function(t,e){for(var n=0,r=this._listeners;n \r\n \r\n'},ZYCi:function(t,e,n){"use strict";var r=n("mrSG"),i=n("Ip0R"),o=n("CcnG"),a=n("F/XL"),s=n("0/uQ"),l=n("26FU"),c=n("6blF"),u=function(){function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t}(),p=n("dzgT"),d=n("lYZG"),h=n("K9Ia"),f=n("G5J1"),m=n("67Y/"),g=n("Txjg"),y=n("VnD/"),v=n("FFOo"),b=n("b7mW");function _(t){return function(e){return 0===t?Object(f.b)():e.lift(new w(t))}}var w=function(){function t(t){if(this.total=t,this.total<0)throw new b.a}return t.prototype.call=function(t,e){return e.subscribe(new x(t,this.total))},t}(),x=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.ring=new Array,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,r=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(t?Object(y.a)(function(e,n){return t(e,n,r)}):D.a,_(1),n?k(e):C(function(){return new u}))}}var P=n("9Z1F"),I=n("t9fZ");function R(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Object(y.a)(function(e,n){return t(e,n,r)}):D.a,Object(I.a)(1),n?k(e):C(function(){return new u}))}}var M=n("psW0");var N=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new F(t,this.predicate,this.thisArg,this.source))},t}(),F=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.predicate=n,o.thisArg=r,o.source=i,o.index=0,o.thisArg=r||o,o}return r.c(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(v.a),L=n("15JJ"),V=n("p0Sj");function B(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new z(t,e,n))}}var z=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new H(t,this.accumulator,this.seed,this.hasSeed))},t}(),H=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.accumulator=n,o._seed=r,o.hasSeed=i,o.index=0,o}return r.c(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(r){this.destination.error(r)}this.seed=e,this.destination.next(e)},e}(v.a),U=n("Phjn"),G=n("y3By");var q=n("xMyE"),W=n("2WpN"),Y=n("Zn8D"),K=n("ZYjt");n.d(e,"a",function(){return wn}),n.d(e,"b",function(){return Bn});var Q=function(t,e){this.id=t,this.url=e},X=function(t){function e(e,n,r,i){void 0===r&&(r="imperative"),void 0===i&&(i=null);var o=t.call(this,e,n)||this;return o.navigationTrigger=r,o.restoredState=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},e}(Q),Z=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.urlAfterRedirects=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},e}(Q),$=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.reason=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},e}(Q),J=function(t){function e(e,n,r){var i=t.call(this,e,n)||this;return i.error=r,i}return Object(r.c)(e,t),e.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},e}(Q),tt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),et=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),nt=function(t){function e(e,n,r,i,o){var a=t.call(this,e,n)||this;return a.urlAfterRedirects=r,a.state=i,a.shouldActivate=o,a}return Object(r.c)(e,t),e.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},e}(Q),rt=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),it=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;return o.urlAfterRedirects=r,o.state=i,o}return Object(r.c)(e,t),e.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},e}(Q),ot=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},t}(),at=function(){function t(t){this.route=t}return t.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},t}(),st=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),lt=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ct=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),ut=function(){function t(t){this.snapshot=t}return t.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},t}(),pt=function(){function t(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}return t.prototype.toString=function(){var t=this.position?this.position[0]+", "+this.position[1]:null;return"Scroll(anchor: '"+this.anchor+"', position: '"+t+"')"},t}(),dt=function(){function t(){}return t=Object(r.b)([Object(o.n)({template:""})],t)}(),ht="primary",ft=function(){function t(t){this.params=t||{}}return t.prototype.has=function(t){return this.params.hasOwnProperty(t)},t.prototype.get=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e[0]:e}return null},t.prototype.getAll=function(t){if(this.has(t)){var e=this.params[t];return Array.isArray(e)?e:[e]}return[]},Object.defineProperty(t.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),t}();function mt(t){return new ft(t)}var gt="ngNavigationCancelingError";function yt(t){var e=Error("NavigationCancelingError: "+t);return e[gt]=!0,e}function vt(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length0?t[t.length-1]:null}function kt(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function jt(t){return Object(o.Yb)(t)?t:Object(o.Zb)(t)?Object(s.a)(Promise.resolve(t)):Object(a.a)(t)}function At(t,e,n){return n?function(t,e){return Ot(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Rt(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&Dt(t.root,e.root)}function Dt(t,e){return function t(e,n,r){if(e.segments.length>r.length){var i=e.segments.slice(0,r.length);return!!Rt(i,r)&&!n.hasChildren()}if(e.segments.length===r.length){if(!Rt(e.segments,r))return!1;for(var o in n.children){if(!e.children[o])return!1;if(!Dt(e.children[o],n.children[o]))return!1}return!0}var i=r.slice(0,e.segments.length),a=r.slice(e.segments.length);return!!Rt(e.segments,i)&&(!!e.children[ht]&&t(e.children[ht],n,a))}(t,e,e.segments)}var Tt=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Lt.serialize(this)},t}(),Pt=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,kt(e,function(t,e){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return Vt(this)},t}(),It=function(){function t(t,e){this.path=t,this.parameters=e}return Object.defineProperty(t.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=mt(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return qt(this)},t}();function Rt(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function Mt(t,e){var n=[];return kt(t.children,function(t,r){r===ht&&(n=n.concat(e(t,r)))}),kt(t.children,function(t,r){r!==ht&&(n=n.concat(e(t,r)))}),n}var Nt=function(){},Ft=function(){function t(){}return t.prototype.parse=function(t){var e=new Xt(t);return new Tt(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e,n,r;return""+("/"+function t(e,n){if(!e.hasChildren())return Vt(e);if(n){var r=e.children[ht]?t(e.children[ht],!1):"",i=[];return kt(e.children,function(e,n){n!==ht&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}var o=Mt(e,function(n,r){return r===ht?[t(e.children[ht],!1)]:[r+":"+t(n,!1)]});return Vt(e)+"/("+o.join("//")+")"}(t.root,!0))+(e=t.queryParams,(n=Object.keys(e).map(function(t){var n=e[t];return Array.isArray(n)?n.map(function(e){return zt(t)+"="+zt(e)}).join("&"):zt(t)+"="+zt(n)})).length?"?"+n.join("&"):"")+("string"==typeof t.fragment?"#"+(r=t.fragment,encodeURI(r)):"")},t}(),Lt=new Ft;function Vt(t){return t.segments.map(function(t){return qt(t)}).join("/")}function Bt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function zt(t){return Bt(t).replace(/%3B/gi,";")}function Ht(t){return Bt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ut(t){return decodeURIComponent(t)}function Gt(t){return Ut(t.replace(/\+/g,"%20"))}function qt(t){return""+Ht(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Ht(t)+"="+Ht(e[t])}).join(""));var e}var Wt=/^[^\/()?;=#]+/;function Yt(t){var e=t.match(Wt);return e?e[0]:""}var Kt=/^[^=?&#]+/;var Qt=/^[^?&#]+/;var Xt=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Pt([],{}):new Pt([],this.parseChildren())},t.prototype.parseQueryParams=function(){var t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t},t.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null},t.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[ht]=new Pt(t,e)),n},t.prototype.parseSegment=function(){var t=Yt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(t),new It(Ut(t),this.parseMatrixParams())},t.prototype.parseMatrixParams=function(){for(var t={};this.consumeOptional(";");)this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Yt(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=Yt(this.remaining);r&&(n=r,this.capture(n))}t[Ut(e)]=Ut(n)}},t.prototype.parseQueryParam=function(t){var e=function(t){var e=t.match(Kt);return e?e[0]:""}(this.remaining);if(e){this.capture(e);var n="";if(this.consumeOptional("=")){var r=function(t){var e=t.match(Qt);return e?e[0]:""}(this.remaining);r&&(n=r,this.capture(n))}var i=Gt(e),o=Gt(n);if(t.hasOwnProperty(i)){var a=t[i];Array.isArray(a)||(a=[a],t[i]=a),a.push(o)}else t[i]=o}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=Yt(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=ht);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[ht]:new Pt([],o),this.consumeOptional("//")}return e},t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.consumeOptional=function(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)},t.prototype.capture=function(t){if(!this.consumeOptional(t))throw new Error('Expected "'+t+'".')},t}(),Zt=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=$t(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=$t(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=Jt(t,this._root);return e.length<2?[]:e[e.length-2].children.map(function(t){return t.value}).filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return Jt(t,this._root).map(function(t){return t.value})},t}();function $t(t,e){var n,i;if(t===e.value)return e;try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=$t(t,a.value);if(s)return s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return null}function Jt(t,e){var n,i;if(t===e.value)return[e];try{for(var o=Object(r.h)(e.children),a=o.next();!a.done;a=o.next()){var s=Jt(t,a.value);if(s.length)return s.unshift(e),s}}catch(l){n={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return[]}var te=function(){function t(t,e){this.value=t,this.children=e}return t.prototype.toString=function(){return"TreeNode("+this.value+")"},t}();function ee(t){var e={};return t&&t.children.forEach(function(t){return e[t.value.outlet]=t}),e}var ne=function(t){function e(e,n){var r=t.call(this,e)||this;return r.snapshot=n,le(r,e),r}return Object(r.c)(e,t),e.prototype.toString=function(){return this.snapshot.toString()},e}(Zt);function re(t,e){var n=function(t,e){var n=new ae([],{},{},"",{},ht,e,null,t.root,-1,{});return new se("",new te(n,[]))}(t,e),r=new l.a([new It("",{})]),i=new l.a({}),o=new l.a({}),a=new l.a({}),s=new l.a(""),c=new ie(r,i,a,s,o,ht,e,n.root);return c.snapshot=n.root,new ne(new te(c,[]),n)}var ie=function(){function t(t,e,n,r,i,o,a,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this._futureSnapshot=s}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=this.params.pipe(Object(m.a)(function(t){return mt(t)}))),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(m.a)(function(t){return mt(t)}))),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},t}();function oe(t,e){void 0===e&&(e="emptyOnly");var n=t.pathFromRoot,i=0;if("always"!==e)for(i=n.length-1;i>=1;){var o=n[i],a=n[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(a.component)break;i--}}return function(t){return t.reduce(function(t,e){return{params:Object(r.a)({},t.params,e.params),data:Object(r.a)({},t.data,e.data),resolve:Object(r.a)({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(i))}var ae=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this.routeConfig=s,this._urlSegment=l,this._lastPathIndex=c,this._resolve=u}return Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=mt(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=mt(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},t}(),se=function(t){function e(e,n){var r=t.call(this,n)||this;return r.url=e,le(r,n),r}return Object(r.c)(e,t),e.prototype.toString=function(){return ce(this._root)},e}(Zt);function le(t,e){e.value._routerState=t,e.children.forEach(function(e){return le(t,e)})}function ce(t){var e=t.children.length>0?" { "+t.children.map(ce).join(", ")+" } ":"";return""+t.value+e}function ue(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,Ot(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),Ot(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;ni;){if(o-=i,!(r=r.parent))throw new Error("Invalid number of '../'");i=r.segments.length}return new ye(r,!1,i-o)}(n.snapshot._urlSegment,i,t.numberOfDoubleDots)}(a,e,t),l=s.processChildren?_e(s.segmentGroup,s.index,a.commands):be(s.segmentGroup,s.index,a.commands);return me(s.segmentGroup,l,e,i,o)}function fe(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function me(t,e,n,r,i){var o={};return r&&kt(r,function(t,e){o[e]=Array.isArray(t)?t.map(function(t){return""+t}):""+t}),n.root===t?new Tt(e,o,i):new Tt(function t(e,n,r){var i={};kt(e.children,function(e,o){i[o]=e===n?r:t(e,n,r)});return new Pt(e.segments,i)}(n.root,t,e),o,i)}var ge=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&fe(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==St(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}();var ye=function(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n};function ve(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[ht]:""+t}function be(t,e,n){if(t||(t=new Pt([],{})),0===t.segments.length&&t.hasChildren())return _e(t,e,n);var r=function(t,e,n){var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};for(;i=n.length)return o;var a=t.segments[i],s=ve(n[r]),l=r0&&void 0===s)break;if(s&&l&&"object"==typeof l&&void 0===l.outlets){if(!Oe(s,l,a))return o;r+=2}else{if(!Oe(s,{},a))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex0?new Pt([],((r={})[ht]=t,r)):t;return new Tt(i,e,n)},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(Object(m.a)(function(t){return new Pt([],t)})):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return function(t,e){if(0===Object.keys(t).length)return Object(a.a)({});var n=[],r=[],i={};return kt(t,function(t,o){var a=e(o,t).pipe(Object(m.a)(function(t){return i[o]=t}));o===ht?n.push(a):r.push(a)}),a.a.apply(null,n.concat(r)).pipe(Object(g.a)(),T(),Object(m.a)(function(){return i}))}(n.children,function(n,i){return r.expandSegmentGroup(t,e,i,n)})},t.prototype.expandSegment=function(t,e,n,i,o,s){var l=this;return a.a.apply(void 0,Object(r.g)(n)).pipe(Object(m.a)(function(r){return l.expandSegmentAgainstRoute(t,e,n,r,i,o,s).pipe(Object(P.a)(function(t){if(t instanceof Ae)return Object(a.a)(null);throw t}))}),Object(g.a)(),R(function(t){return!!t}),Object(P.a)(function(t,n){if(t instanceof u||"EmptyError"===t.name){if(l.noLeftoversInUrl(e,i,o))return Object(a.a)(new Pt([],{}));throw new Ae(e)}throw t}))},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,a){return Le(r)!==o?Te(e):void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):Te(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Pe(o):this.lineralizeSegments(n,o).pipe(Object(M.a)(function(n){var o=new Pt(n,{});return i.expandSegment(t,o,e,n,r,!1)}))},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var a=this,s=Me(e,r,i),l=s.matched,c=s.consumedSegments,u=s.lastChild,p=s.positionalParamSegments;if(!l)return Te(e);var d=this.applyRedirectCommands(c,r.redirectTo,p);return r.redirectTo.startsWith("/")?Pe(d):this.lineralizeSegments(r,d).pipe(Object(M.a)(function(r){return a.expandSegment(t,e,n,r.concat(i.slice(u)),o,!1)}))},t.prototype.matchSegmentAgainstRoute=function(t,e,n,i){var o=this;if("**"===n.path)return n.loadChildren?this.configLoader.load(t.injector,n).pipe(Object(m.a)(function(t){return n._loadedConfig=t,new Pt(i,{})})):Object(a.a)(new Pt(i,{}));var s=Me(e,n,i),l=s.matched,c=s.consumedSegments,u=s.lastChild;if(!l)return Te(e);var p=i.slice(u);return this.getChildConfig(t,n,i).pipe(Object(M.a)(function(t){var n=t.module,i=t.routes,s=function(t,e,n,i){if(n.length>0&&function(t,e,n){return n.some(function(n){return Fe(t,e,n)&&Le(n)!==ht})}(t,n,i)){return{segmentGroup:Ne(new Pt(e,function(t,e){var n,i,o={};o[ht]=e;try{for(var a=Object(r.h)(t),s=a.next();!s.done;s=a.next()){var l=s.value;""===l.path&&Le(l)!==ht&&(o[Le(l)]=new Pt([],{}))}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return o}(i,new Pt(n,t.children)))),slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(function(n){return Fe(t,e,n)})}(t,n,i)){return{segmentGroup:Ne(new Pt(t.segments,function(t,e,n,i){var o,a,s={};try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;Fe(t,e,u)&&!i[Le(u)]&&(s[Le(u)]=new Pt([],{}))}}catch(p){o={error:p}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return Object(r.a)({},i,s)}(t,n,i,t.children))),slicedSegments:n}}return{segmentGroup:t,slicedSegments:n}}(e,c,p,i),l=s.segmentGroup,u=s.slicedSegments;return 0===u.length&&l.hasChildren()?o.expandChildren(n,i,l).pipe(Object(m.a)(function(t){return new Pt(c,t)})):0===i.length&&0===u.length?Object(a.a)(new Pt(c,{})):o.expandSegment(n,l,i,u,ht,!0).pipe(Object(m.a)(function(t){return new Pt(c.concat(t.segments),t.children)}))}))},t.prototype.getChildConfig=function(t,e,n){var r=this;return e.children?Object(a.a)(new bt(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Object(a.a)(e._loadedConfig):function(t,e,n){var r=e.canLoad;return r&&0!==r.length?Object(s.a)(r).pipe(Object(m.a)(function(r){var i,o=t.get(r);if(function(t){return t&&ke(t.canLoad)}(o))i=o.canLoad(e,n);else{if(!ke(o))throw new Error("Invalid CanLoad guard");i=o(e,n)}return jt(i)})).pipe(Object(g.a)(),function(t,e){return function(n){return n.lift(new N(t,e,n))}}(function(t){return!0===t})):Object(a.a)(!0)}(t.injector,e,n).pipe(Object(M.a)(function(n){return n?r.configLoader.load(t.injector,e).pipe(Object(m.a)(function(t){return e._loadedConfig=t,t})):function(t){return new c.a(function(e){return e.error(yt("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))})}(e)})):Object(a.a)(new bt([],t))},t.prototype.lineralizeSegments=function(t,e){for(var n=[],r=e.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Object(a.a)(n);if(r.numberOfChildren>1||!r.children[ht])return Ie(t.redirectTo);r=r.children[ht]}},t.prototype.applyRedirectCommands=function(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Tt(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return kt(t,function(t,r){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);n[r]=e[i]}else n[r]=t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),a={};return kt(e.children,function(e,o){a[o]=i.createSegmentGroup(t,e,n,r)}),new Pt(o,a)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){var n,i,o=0;try{for(var a=Object(r.h)(e),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.path===t.path)return e.splice(o),l;o++}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return t},t}();function Me(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||vt)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Ne(t){if(1===t.numberOfChildren&&t.children[ht]){var e=t.children[ht];return new Pt(t.segments.concat(e.segments),e.children)}return t}function Fe(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0!==n.redirectTo)}function Le(t){return t.outlet||ht}function Ve(t,e,n,i){return function(o){return o.pipe(Object(L.a)(function(o){return function(t,e,n,r,i){return new Re(t,e,n,r,i).apply()}(t,e,n,o.extractedUrl,i).pipe(Object(m.a)(function(t){return Object(r.a)({},o,{urlAfterRedirects:t})}))}))}}var Be=function(t){this.path=t,this.route=this.path[this.path.length-1]},ze=function(t,e){this.component=t,this.route=e};function He(t,e,n){var r=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Ue(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=ee(e);return t.children.forEach(function(t){!function(t,e,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var o=t.value,a=e?e.value:null,s=n?n.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){var l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Rt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Rt(t.url,e.url)||!Ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!pe(t,e)||!Ot(t.queryParams,e.queryParams);case"paramsChange":default:return!pe(t,e)}}(a,o,o.routeConfig.runGuardsAndResolvers);if(l?i.canActivateChecks.push(new Be(r)):(o.data=a.data,o._resolvedData=a._resolvedData),o.component?Ue(t,e,s?s.children:null,r,i):Ue(t,e,n,r,i),l){var c=s&&s.outlet&&s.outlet.component||null;i.canDeactivateChecks.push(new ze(c,a))}}else a&&Ge(e,s,i),i.canActivateChecks.push(new Be(r)),o.component?Ue(t,null,s?s.children:null,r,i):Ue(t,null,n,r,i)}(t,o[t.value.outlet],n,r.concat([t.value]),i),delete o[t.value.outlet]}),kt(o,function(t,e){return Ge(t,n.getContext(e),i)}),i}function Ge(t,e,n){var r=ee(t),i=t.value;kt(r,function(t,r){i.component?Ge(t,e?e.children.getContext(r):null,n):Ge(t,e,n)}),i.component&&e&&e.outlet&&e.outlet.isActivated?n.canDeactivateChecks.push(new ze(e.outlet.component,i)):n.canDeactivateChecks.push(new ze(null,i))}var qe=Symbol("INITIAL_VALUE");function We(){return Object(L.a)(function(t){return p.a.apply(void 0,Object(r.g)(t.map(function(t){return t.pipe(Object(I.a)(1),Object(V.a)(qe))}))).pipe(B(function(t,e){var n=!1;return e.reduce(function(t,r,i){if(t!==qe)return t;if(r===qe&&(n=!0),!n){if(!1===r)return r;if(i===e.length-1||je(r))return r}return t},t)},qe),Object(y.a)(function(t){return t!==qe}),Object(m.a)(function(t){return je(t)?t:!0===t}),Object(I.a)(1))})}function Ye(t,e){return function(n){return n.pipe(Object(M.a)(function(n){var i=n.targetSnapshot,o=n.currentSnapshot,l=n.guards,c=l.canActivateChecks,u=l.canDeactivateChecks;return 0===u.length&&0===c.length?Object(a.a)(Object(r.a)({},n,{guardsResult:!0})):function(t,e,n,r){return Object(s.a)(t).pipe(Object(M.a)(function(t){return function(t,e,n,r,i){var o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||0===o.length)return Object(a.a)(!0);var s=o.map(function(o){var a,s=He(o,e,i);if(function(t){return t&&ke(t.canDeactivate)}(s))a=jt(s.canDeactivate(t,e,n,r));else{if(!ke(s))throw new Error("Invalid CanDeactivate guard");a=jt(s(t,e,n,r))}return a.pipe(R())});return Object(a.a)(s).pipe(We())}(t.component,t.route,n,e,r)}),R(function(t){return!0!==t},!0))}(u,i,o,t).pipe(Object(M.a)(function(n){return n&&"boolean"==typeof n?function(t,e,n,r){return Object(s.a)(e).pipe(Object(U.a)(function(e){return Object(s.a)([Qe(e.route.parent,r),Ke(e.route,r),Ze(t,e.path,n),Xe(t,e.route,n)]).pipe(Object(g.a)(),R(function(t){return!0!==t},!0))}),R(function(t){return!0!==t},!0))}(i,c,t,e):Object(a.a)(n)}),Object(m.a)(function(t){return Object(r.a)({},n,{guardsResult:t})}))}))}}function Ke(t,e){return null!==t&&e&&e(new ct(t)),Object(a.a)(!0)}function Qe(t,e){return null!==t&&e&&e(new st(t)),Object(a.a)(!0)}function Xe(t,e,n){var r=e.routeConfig?e.routeConfig.canActivate:null;if(!r||0===r.length)return Object(a.a)(!0);var i=r.map(function(r){return Object(d.a)(function(){var i,o=He(r,e,n);if(function(t){return t&&ke(t.canActivate)}(o))i=jt(o.canActivate(e,t));else{if(!ke(o))throw new Error("Invalid CanActivate guard");i=jt(o(e,t))}return i.pipe(R())})});return Object(a.a)(i).pipe(We())}function Ze(t,e,n){var r=e[e.length-1],i=e.slice(0,e.length-1).reverse().map(function(t){return function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)}).filter(function(t){return null!==t}).map(function(e){return Object(d.a)(function(){var i=e.guards.map(function(i){var o,a=He(i,e.node,n);if(function(t){return t&&ke(t.canActivateChild)}(a))o=jt(a.canActivateChild(r,t));else{if(!ke(a))throw new Error("Invalid CanActivateChild guard");o=jt(a(r,t))}return o.pipe(R())});return Object(a.a)(i).pipe(We())})});return Object(a.a)(i).pipe(We())}var $e=function(){};var Je=function(){function t(t,e,n,r,i,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i,this.relativeLinkResolution=o}return t.prototype.recognize=function(){try{var t=nn(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,ht),n=new ae([],Object.freeze({}),Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,{},ht,this.rootComponentType,null,this.urlTree.root,-1,{}),i=new te(n,e),o=new se(this.url,i);return this.inheritParamsAndData(o._root),Object(a.a)(o)}catch(s){return new c.a(function(t){return t.error(s)})}},t.prototype.inheritParamsAndData=function(t){var e=this,n=t.value,r=oe(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheritParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n,r=this,i=Mt(e,function(e,n){return r.processSegmentGroup(t,e,n)});return n={},i.forEach(function(t){var e=n[t.value.outlet];if(e){var r=e.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}n[t.value.outlet]=t.value}),function(t){t.sort(function(t,e){return t.value.outlet===ht?-1:e.value.outlet===ht?1:t.value.outlet.localeCompare(e.value.outlet)})}(i),i},t.prototype.processSegment=function(t,e,n,i){var o,a;try{for(var s=Object(r.h)(t),l=s.next();!l.done;l=s.next()){var c=l.value;try{return this.processSegmentAgainstRoute(c,e,n,i)}catch(u){if(!(u instanceof $e))throw u}}}catch(p){o={error:p}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(o)throw o.error}}if(this.noLeftoversInUrl(e,n,i))return[];throw new $e},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.processSegmentAgainstRoute=function(t,e,n,i){if(t.redirectTo)throw new $e;if((t.outlet||ht)!==i)throw new $e;var o,a=[],s=[];if("**"===t.path){var l=n.length>0?St(n).parameters:{};o=new ae(n,l,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+n.length,sn(t))}else{var c=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new $e;return{consumedSegments:[],lastChild:0,parameters:{}}}var i=(e.matcher||vt)(n,t,e);if(!i)throw new $e;var o={};kt(i.posParams,function(t,e){o[e]=t.path});var a=i.consumed.length>0?Object(r.a)({},o,i.consumed[i.consumed.length-1].parameters):o;return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:a}}(e,t,n);a=c.consumedSegments,s=n.slice(c.lastChild),o=new ae(a,c.parameters,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,an(t),i,t.component,t,tn(e),en(e)+a.length,sn(t))}var u=function(t){if(t.children)return t.children;if(t.loadChildren)return t._loadedConfig.routes;return[]}(t),p=nn(e,a,s,u,this.relativeLinkResolution),d=p.segmentGroup,h=p.slicedSegments;if(0===h.length&&d.hasChildren()){var f=this.processChildren(u,d);return[new te(o,f)]}if(0===u.length&&0===h.length)return[new te(o,[])];var m=this.processSegment(u,d,h,ht);return[new te(o,m)]},t}();function tn(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function en(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0;return n-1}function nn(t,e,n,i,o){if(n.length>0&&function(t,e,n){return n.some(function(n){return rn(t,e,n)&&on(n)!==ht})}(t,n,i)){var a=new Pt(e,function(t,e,n,i){var o,a,s={};s[ht]=i,i._sourceSegment=t,i._segmentIndexShift=e.length;try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;if(""===u.path&&on(u)!==ht){var p=new Pt([],{});p._sourceSegment=t,p._segmentIndexShift=e.length,s[on(u)]=p}}}catch(d){o={error:d}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}return s}(t,e,i,new Pt(n,t.children)));return a._sourceSegment=t,a._segmentIndexShift=e.length,{segmentGroup:a,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(function(n){return rn(t,e,n)})}(t,n,i)){var s=new Pt(t.segments,function(t,e,n,i,o,a){var s,l,c={};try{for(var u=Object(r.h)(i),p=u.next();!p.done;p=u.next()){var d=p.value;if(rn(t,n,d)&&!o[on(d)]){var h=new Pt([],{});h._sourceSegment=t,h._segmentIndexShift="legacy"===a?t.segments.length:e.length,c[on(d)]=h}}}catch(f){s={error:f}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(s)throw s.error}}return Object(r.a)({},o,c)}(t,e,n,i,t.children,o));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:n}}var l=new Pt(t.segments,t.children);return l._sourceSegment=t,l._segmentIndexShift=e.length,{segmentGroup:l,slicedSegments:n}}function rn(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0===n.redirectTo)}function on(t){return t.outlet||ht}function an(t){return t.data||{}}function sn(t){return t.resolve||{}}function ln(t,e,n,i,o){return function(a){return a.pipe(Object(M.a)(function(a){return function(t,e,n,r,i,o){return void 0===i&&(i="emptyOnly"),void 0===o&&(o="legacy"),new Je(t,e,n,r,i,o).recognize()}(t,e,a.urlAfterRedirects,n(a.urlAfterRedirects),i,o).pipe(Object(m.a)(function(t){return Object(r.a)({},a,{targetSnapshot:t})}))}))}}function cn(t,e){return function(n){return n.pipe(Object(M.a)(function(n){var i=n.targetSnapshot,o=n.guards.canActivateChecks;return o.length?Object(s.a)(o).pipe(Object(U.a)(function(n){return function(t,e,n,i){return function(t,e,n,r){var i=Object.keys(t);if(0===i.length)return Object(a.a)({});if(1===i.length){var o=i[0];return un(t[o],e,n,r).pipe(Object(m.a)(function(t){var e;return(e={})[o]=t,e}))}var l={};return Object(s.a)(i).pipe(Object(M.a)(function(i){return un(t[i],e,n,r).pipe(Object(m.a)(function(t){return l[i]=t,t}))})).pipe(T(),Object(m.a)(function(){return l}))}(t._resolve,t,e,i).pipe(Object(m.a)(function(e){return t._resolvedData=e,t.data=Object(r.a)({},t.data,oe(t,n).resolve),null}))}(n.route,i,t,e)}),function(t,e){return arguments.length>=2?function(n){return Object(G.a)(B(t,e),_(1),k(e))(n)}:function(e){return Object(G.a)(B(function(e,n,r){return t(e,n,r+1)}),_(1))(e)}}(function(t,e){return t}),Object(m.a)(function(t){return n})):Object(a.a)(n)}))}}function un(t,e,n,r){var i=He(t,e,r);return i.resolve?jt(i.resolve(e,n)):jt(i(e,n))}function pn(t){return function(e){return e.pipe(Object(L.a)(function(e){var n=t(e);return n?Object(s.a)(n).pipe(Object(m.a)(function(){return e})):Object(s.a)([e])}))}}var dn=function(){},hn=function(){function t(){}return t.prototype.shouldDetach=function(t){return!1},t.prototype.store=function(t,e){},t.prototype.shouldAttach=function(t){return!1},t.prototype.retrieve=function(t){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),fn=new o.E("ROUTES"),mn=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}return t.prototype.load=function(t,e){var n=this;return this.onLoadStartListener&&this.onLoadStartListener(e),this.loadModuleFactory(e.loadChildren).pipe(Object(m.a)(function(r){n.onLoadEndListener&&n.onLoadEndListener(e);var i=r.create(t);return new bt(Et(i.injector.get(fn)).map(Ct),i)}))},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?Object(s.a)(this.loader.load(t)):jt(t()).pipe(Object(M.a)(function(t){return t instanceof o.M?Object(a.a)(t):Object(s.a)(e.compiler.compileModuleAsync(t))}))},t}(),gn=function(){},yn=function(){function t(){}return t.prototype.shouldProcessUrl=function(t){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t,e){return t},t}();function vn(t){throw t}function bn(t,e,n){return e.parse("/")}function _n(t,e){return Object(a.a)(null)}var wn=function(){function t(t,e,n,r,i,a,s,c){var u=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=c,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new h.a,this.errorHandler=vn,this.malformedUriErrorHandler=bn,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:_n,afterPreactivation:_n},this.urlHandlingStrategy=new yn,this.routeReuseStrategy=new hn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy";this.ngModule=i.get(o.O),this.console=i.get(o.Db);var p=i.get(o.Q);this.isNgZoneEnabled=p instanceof o.Q,this.resetConfig(c),this.currentUrlTree=new Tt(new Pt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new mn(a,s,function(t){return u.triggerEvent(new ot(t))},function(t){return u.triggerEvent(new at(t))}),this.routerState=re(this.currentUrlTree,this.rootComponentType),this.transitions=new l.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}return t.prototype.setupNavigations=function(t){var e=this,n=this.events;return t.pipe(Object(y.a)(function(t){return 0!==t.id}),Object(m.a)(function(t){return Object(r.a)({},t,{extractedUrl:e.urlHandlingStrategy.extract(t.rawUrl)})}),Object(L.a)(function(t){var i,o,s,l=!1,c=!1;return Object(a.a)(t).pipe(Object(q.a)(function(t){e.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:e.lastSuccessfulNavigation?Object(r.a)({},e.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(L.a)(function(t){var i=!e.navigated||t.extractedUrl.toString()!==e.browserUrlTree.toString();if(("reload"===e.onSameUrlNavigation||i)&&e.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(a.a)(t).pipe(Object(L.a)(function(t){var r=e.transitions.getValue();return n.next(new X(t.id,e.serializeUrl(t.extractedUrl),t.source,t.restoredState)),r!==e.transitions.getValue()?f.a:[t]}),Object(L.a)(function(t){return Promise.resolve(t)}),Ve(e.ngModule.injector,e.configLoader,e.urlSerializer,e.config),Object(q.a)(function(t){e.currentNavigation=Object(r.a)({},e.currentNavigation,{finalUrl:t.urlAfterRedirects})}),ln(e.rootComponentType,e.config,function(t){return e.serializeUrl(t)},e.paramsInheritanceStrategy,e.relativeLinkResolution),Object(q.a)(function(t){"eager"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)}),Object(q.a)(function(t){var r=new tt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.next(r)}));if(i&&e.rawUrlTree&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){var o=t.id,s=t.extractedUrl,l=t.source,c=t.restoredState,u=t.extras,p=new X(o,e.serializeUrl(s),l,c);n.next(p);var d=re(s,e.rootComponentType).snapshot;return Object(a.a)(Object(r.a)({},t,{targetSnapshot:d,urlAfterRedirects:s,extras:Object(r.a)({},u,{skipLocationChange:!1,replaceUrl:!1})}))}return e.rawUrlTree=t.rawUrl,e.browserUrlTree=t.urlAfterRedirects,t.resolve(null),f.a}),pn(function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.beforePreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})}),Object(q.a)(function(t){var n=new et(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}),Object(m.a)(function(t){return Object(r.a)({},t,{guards:(n=t.targetSnapshot,i=t.currentSnapshot,o=e.rootContexts,a=n._root,Ue(a,i?i._root:null,o,[a.value]))});var n,i,o,a}),Ye(e.ngModule.injector,function(t){return e.triggerEvent(t)}),Object(q.a)(function(t){if(je(t.guardsResult)){var n=yt('Redirecting to "'+e.serializeUrl(t.guardsResult)+'"');throw n.url=t.guardsResult,n}}),Object(q.a)(function(t){var n=new nt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);e.triggerEvent(n)}),Object(y.a)(function(t){if(!t.guardsResult){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"");return n.next(r),t.resolve(!1),!1}return!0}),pn(function(t){if(t.guards.canActivateChecks.length)return Object(a.a)(t).pipe(Object(q.a)(function(t){var n=new rt(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}),cn(e.paramsInheritanceStrategy,e.ngModule.injector),Object(q.a)(function(t){var n=new it(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.triggerEvent(n)}))}),pn(function(t){var n=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,l=a.replaceUrl;return e.hooks.afterPreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!l})}),Object(m.a)(function(t){var n,i,o,a,s=(n=e.routeReuseStrategy,i=t.targetSnapshot,o=t.currentRouterState,a=de(n,i._root,o?o._root:void 0),new ne(a,i));return Object(r.a)({},t,{targetRouterState:s})}),Object(q.a)(function(t){e.currentUrlTree=t.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(e.currentUrlTree,t.rawUrl),e.routerState=t.targetRouterState,"deferred"===e.urlUpdateStrategy&&(t.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),e.browserUrlTree=t.urlAfterRedirects)}),(i=e.rootContexts,o=e.routeReuseStrategy,s=function(t){return e.triggerEvent(t)},Object(m.a)(function(t){return new Ee(o,t.targetRouterState,t.currentRouterState,s).activate(i),t})),Object(q.a)({next:function(){l=!0},complete:function(){l=!0}}),Object(W.a)(function(){if(!l&&!c){e.resetUrlToCurrentUrlTree();var r=new $(t.id,e.serializeUrl(t.extractedUrl),"Navigation ID "+t.id+" is not equal to the current navigation id "+e.navigationId);n.next(r),t.resolve(!1)}e.currentNavigation=null}),Object(P.a)(function(r){if(c=!0,(s=r)&&s[gt]){var i=je(r.url);i||(e.navigated=!0,e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));var o=new $(t.id,e.serializeUrl(t.extractedUrl),r.message);n.next(o),t.resolve(!1),i&&e.navigateByUrl(r.url)}else{e.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);var a=new J(t.id,e.serializeUrl(t.extractedUrl),r);n.next(a);try{t.resolve(e.errorHandler(r))}catch(l){t.reject(l)}}var s;return f.a}))}))},t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType},t.prototype.getTransition=function(){var t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t},t.prototype.setTransition=function(t){this.transitions.next(Object(r.a)({},this.getTransition(),t))},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(function(e){var n=t.parseUrl(e.url),r="popstate"===e.type?"popstate":"hashchange",i=e.state&&e.state.navigationId?e.state:null;setTimeout(function(){t.scheduleNavigation(n,r,i,{replaceUrl:!0})},0)}))},Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),t.prototype.getCurrentNavigation=function(){return this.currentNavigation},t.prototype.triggerEvent=function(t){this.events.next(t)},t.prototype.resetConfig=function(t){_t(t),this.config=t.map(Ct),this.navigated=!1,this.lastSuccessfulId=-1},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){void 0===e&&(e={});var n=e.relativeTo,i=e.queryParams,a=e.fragment,s=e.preserveQueryParams,l=e.queryParamsHandling,c=e.preserveFragment;Object(o.yb)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var u=n||this.routerState.root,p=c?this.currentUrlTree.fragment:a,d=null;if(l)switch(l){case"merge":d=Object(r.a)({},this.currentUrlTree.queryParams,i);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=i||null}else d=s?this.currentUrlTree.queryParams:i||null;return null!==d&&(d=this.removeEmptyProps(d)),he(u,this.currentUrlTree,t,d,p)},t.prototype.navigateByUrl=function(t,e){void 0===e&&(e={skipLocationChange:!1}),Object(o.yb)()&&this.isNgZoneEnabled&&!o.Q.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");var n=je(t)?t:this.parseUrl(t),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),function(t){for(var e=0;e0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r0;l||(l=t[s]=[]);var u=X(e)?Zone.root:Zone.current;if(0===l.length)l.push({zone:u,handler:a});else{for(var p=!1,d=0;d-1},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.e)(1,Object(o.C)(tt)),Object(r.e)(3,Object(o.R)()),Object(r.e)(3,Object(o.C)(et)),Object(r.d)("design:paramtypes",[Object,nt,o.Db,Object])],e)}(A),it=["alt","control","meta","shift"],ot={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},at=function(t){function e(e){return t.call(this,e)||this}var n;return Object(r.c)(e,t),n=e,e.prototype.supports=function(t){return null!=n.parseEventName(t)},e.prototype.addEventListener=function(t,e,r){var i=n.parseEventName(e),o=n.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return s().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var e=t.toLowerCase().split("."),r=e.shift();if(0===e.length||"keydown"!==r&&"keyup"!==r)return null;var i=n._normalizeKey(e.pop()),o="";if(it.forEach(function(t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),o+=t+".")}),o+=i,0!=e.length||0===i.length)return null;var a={};return a.domEventName=r,a.fullKey=o,a},e.getEventFullKey=function(t){var e="",n=s().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),it.forEach(function(r){r!=n&&((0,ot[r])(t)&&(e+=r+"."))}),e+=n},e.eventCallback=function(t,e,r){return function(i){n.getEventFullKey(i)===t&&r.runGuarded(function(){return e(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e=n=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(A),st=function(){},lt=function(t){function e(e){var n=t.call(this)||this;return n._doc=e,n}return Object(r.c)(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case o.db.NONE:return e;case o.db.HTML:return e instanceof ut?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),Object(o.Jb)(this._doc,String(e)));case o.db.STYLE:return e instanceof pt?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),Object(o.Kb)(e));case o.db.SCRIPT:if(e instanceof dt)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case o.db.URL:return e instanceof ft||e instanceof ht?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),Object(o.Lb)(String(e)));case o.db.RESOURCE_URL:if(e instanceof ft)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+t+" (see http://g.co/ng/security#xss)")}},e.prototype.checkNotSafeValue=function(t,e){if(t instanceof ct)throw new Error("Required a safe "+e+", got a "+t.getTypeName()+" (see http://g.co/ng/security#xss)")},e.prototype.bypassSecurityTrustHtml=function(t){return new ut(t)},e.prototype.bypassSecurityTrustStyle=function(t){return new pt(t)},e.prototype.bypassSecurityTrustScript=function(t){return new dt(t)},e.prototype.bypassSecurityTrustUrl=function(t){return new ht(t)},e.prototype.bypassSecurityTrustResourceUrl=function(t){return new ft(t)},e=Object(r.b)([Object(o.D)(),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],e)}(st),ct=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}return t.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},t}(),ut=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"HTML"},e}(ct),pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Style"},e}(ct),dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"Script"},e}(ct),ht=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"URL"},e}(ct),ft=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.getTypeName=function(){return"ResourceURL"},e}(ct),mt=i.s,gt=[{provide:o.U,useValue:mt},{provide:o.V,useValue:function(){f.makeCurrent(),_.init()},multi:!0},{provide:i.k,useClass:y,deps:[i.c]},{provide:i.c,useFactory:function(){return document},deps:[]}],yt=[{provide:o.cb,useExisting:st},{provide:st,useClass:lt,deps:[i.c]}];Object(o.sb)(o.zb,"browser",gt);var vt=[yt,{provide:o.Bb,useValue:!0},{provide:o.w,useFactory:function(){return new o.w},deps:[]},{provide:k,useClass:$,multi:!0,deps:[i.c,o.Q,o.U]},{provide:k,useClass:at,multi:!0,deps:[i.c]},{provide:k,useClass:rt,multi:!0,deps:[i.c,tt,o.Db,[new o.R,et]]},{provide:tt,useClass:nt,deps:[]},{provide:L,useClass:L,deps:[j,T,o.c]},{provide:o.ab,useExisting:L},{provide:D,useExisting:T},{provide:T,useClass:T,deps:[i.c]},{provide:o.kb,useClass:o.kb,deps:[o.Q]},{provide:j,useClass:j,deps:[k,o.Q]},S],bt=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}var e;return e=t,t.withServerTransition=function(t){return{ngModule:e,providers:[{provide:o.c,useValue:t.appId},{provide:v,useExisting:o.c},b]}},t=e=Object(r.b)([Object(o.L)({providers:vt,exports:[i.b,o.f]}),Object(r.e)(0,Object(o.R)()),Object(r.e)(0,Object(o.fb)()),Object(r.e)(0,Object(o.C)(e)),Object(r.d)("design:paramtypes",[Object])],t)}();function _t(){return new wt(Object(o.uc)(i.c))}var wt=function(){function t(t){this._doc=t,this._dom=s()}return t.prototype.addTag=function(t,e){return void 0===e&&(e=!1),t?this._getOrCreateElement(t,e):null},t.prototype.addTags=function(t,e){var n=this;return void 0===e&&(e=!1),t?t.reduce(function(t,r){return r&&t.push(n._getOrCreateElement(r,e)),t},[]):[]},t.prototype.getTag=function(t){return t&&this._dom.querySelector(this._doc,"meta["+t+"]")||null},t.prototype.getTags=function(t){if(!t)return[];var e=this._dom.querySelectorAll(this._doc,"meta["+t+"]");return e?[].slice.call(e):[]},t.prototype.updateTag=function(t,e){if(!t)return null;e=e||this._parseSelector(t);var n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)},t.prototype.removeTag=function(t){this.removeTagElement(this.getTag(t))},t.prototype.removeTagElement=function(t){t&&this._dom.remove(t)},t.prototype._getOrCreateElement=function(t,e){if(void 0===e&&(e=!1),!e){var n=this._parseSelector(t),r=this.getTag(n);if(r&&this._containsAttributes(t,r))return r}var i=this._dom.createElement("meta");this._setMetaElementAttributes(t,i);var o=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(o,i),i},t.prototype._setMetaElementAttributes=function(t,e){var n=this;return Object.keys(t).forEach(function(r){return n._dom.setAttribute(e,r,t[r])}),e},t.prototype._parseSelector=function(t){var e=t.name?"name":"property";return e+'="'+t[e]+'"'},t.prototype._containsAttributes=function(t,e){var n=this;return Object.keys(t).every(function(r){return n._dom.getAttribute(e,r)===t[r]})},t.ngInjectableDef=Object(o.tc)({factory:_t,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:_t,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}();function xt(){return new Ct(Object(o.uc)(i.c))}var Ct=function(){function t(t){this._doc=t}return t.prototype.getTitle=function(){return s().getTitle(this._doc)},t.prototype.setTitle=function(t){s().setTitle(this._doc,t)},t.ngInjectableDef=Object(o.tc)({factory:xt,token:t,providedIn:"root"}),t=Object(r.b)([Object(o.D)({providedIn:"root",useFactory:xt,deps:[]}),Object(r.e)(0,Object(o.C)(i.c)),Object(r.d)("design:paramtypes",[Object])],t)}(),Ot="undefined"!=typeof window&&window||{},Et=function(t,e){this.msPerTick=t,this.numTicks=e};!function(){function t(t){this.appRef=t.injector.get(o.g)}t.prototype.timeChangeDetection=function(t){var e=t&&t.record,n=null!=Ot.console.profile;e&&n&&Ot.console.profile("Change Detection");for(var r=s().performanceNow(),i=0;i<5||s().performanceNow()-r<500;)this.appRef.tick(),i++;var o=s().performanceNow();e&&n&&Ot.console.profileEnd("Change Detection");var a=(o-r)/i;return Ot.console.log("ran "+i+" change detection cycles"),Ot.console.log(a.toFixed(2)+" ms per check"),new Et(a,i)}}();var St=function(){function t(){this.store={},this.onSerializeCallbacks={}}var e;return e=t,t.init=function(t){var n=new e;return n.store=t,n},t.prototype.get=function(t,e){return void 0!==this.store[t]?this.store[t]:e},t.prototype.set=function(t,e){this.store[t]=e},t.prototype.remove=function(t){delete this.store[t]},t.prototype.hasKey=function(t){return this.store.hasOwnProperty(t)},t.prototype.onSerialize=function(t,e){this.onSerializeCallbacks[t]=e},t.prototype.toJson=function(){for(var t in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(t))try{this.store[t]=this.onSerializeCallbacks[t]()}catch(e){console.warn("Exception in onSerialize callback: ",e)}return JSON.stringify(this.store)},t=e=Object(r.b)([Object(o.D)()],t)}();function kt(t,e){var n,r,i=t.getElementById(e+"-state"),o={};if(i&&i.textContent)try{o=JSON.parse((n=i.textContent,r={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"},n.replace(/&[^;]+;/g,function(t){return r[t]})))}catch(a){console.warn("Exception while restoring TransferState for app "+e,a)}return St.init(o)}(function(){function t(){}t=Object(r.b)([Object(o.L)({providers:[{provide:St,useFactory:kt,deps:[i.c,o.c]}]})],t)})(),function(){function t(){}t.all=function(){return function(){return!0}},t.css=function(t){return function(e){return null!=e.nativeElement&&s().elementMatches(e.nativeElement,t)}},t.directive=function(t){return function(e){return-1!==e.providerTokens.indexOf(t)}}}(),new o.mb("8.2.6")},Zn8D:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("psW0"),i=n("mChF");function o(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object(r.a)(i.a,t)}},ad02:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("mrSG"),i=n("FFOo");function o(t,e){return function(n){return n.lift(new a(t,e))}}var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new s(t,this.compare,this.keySelector))},t}(),s=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keySelector=r,i.hasKey=!1,"function"==typeof n&&(i.compare=n),i}return r.c(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e;try{var n=this.keySelector;e=n?n(t):t}catch(i){return this.destination.error(i)}var r=!1;if(this.hasKey)try{r=(0,this.compare)(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;r||(this.key=e,this.destination.next(t))},e}(i.a)},b716:function(t,e,n){"use strict";var r=n("mrSG"),i=n("dWZg"),o=n("CcnG"),a=n("n6gG"),s=n("G5J1"),l=n("K9Ia"),c=n("bne5"),u=n("Rney"),p=n("ny24"),d=Object(i.f)({passive:!0}),h=function(){function t(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}return t.prototype.monitor=function(t){var e=this;if(!this._platform.isBrowser)return s.a;var n=Object(a.e)(t),r=this._monitoredElements.get(n);if(r)return r.subject.asObservable();var i=new l.a,o="cdk-text-field-autofilled",c=function(t){"cdk-text-field-autofill-start"!==t.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===t.animationName&&n.classList.contains(o)&&(n.classList.remove(o),e._ngZone.run(function(){return i.next({target:t.target,isAutofilled:!1})})):(n.classList.add(o),e._ngZone.run(function(){return i.next({target:t.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",c,d),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:i,unlisten:function(){n.removeEventListener("animationstart",c,d)}}),i.asObservable()},t.prototype.stopMonitoring=function(t){var e=Object(a.e)(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))},t.prototype.ngOnDestroy=function(){var t=this;this._monitoredElements.forEach(function(e,n){return t.stopMonitoring(n)})},t.decorators=[{type:o.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a},{type:o.Q}]},t.ngInjectableDef=Object(o.tb)({factory:function(){return new t(Object(o.xb)(i.a),Object(o.xb)(o.Q))},token:t,providedIn:"root"}),t}(),f=function(){function t(t,e){this._elementRef=t,this._autofillMonitor=e,this.cdkAutofill=new o.x}return t.prototype.ngOnInit=function(){var t=this;this._autofillMonitor.monitor(this._elementRef).subscribe(function(e){return t.cdkAutofill.emit(e)})},t.prototype.ngOnDestroy=function(){this._autofillMonitor.stopMonitoring(this._elementRef)},t.decorators=[{type:o.t,args:[{selector:"[cdkAutofill]"}]}],t.ctorParameters=function(){return[{type:o.u},{type:h}]},t.propDecorators={cdkAutofill:[{type:o.S}]},t}(),m=function(){function t(t,e,n){this._elementRef=t,this._platform=e,this._ngZone=n,this._destroyed=new l.a,this._enabled=!0,this._previousMinRows=-1,this._textareaElement=this._elementRef.nativeElement}return Object.defineProperty(t.prototype,"minRows",{get:function(){return this._minRows},set:function(t){this._minRows=t,this._setMinHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxRows",{get:function(){return this._maxRows},set:function(t){this._maxRows=t,this._setMaxHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){t=Object(a.c)(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())},enumerable:!0,configurable:!0}),t.prototype._setMinHeight=function(){var t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)},t.prototype._setMaxHeight=function(){var t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)},t.prototype.ngAfterViewInit=function(){var t=this;this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(function(){Object(c.a)(window,"resize").pipe(Object(u.a)(16),Object(p.a)(t._destroyed)).subscribe(function(){return t.resizeToFitContent(!0)})}))},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype._cacheTextareaLineHeight=function(){if(!this._cachedLineHeight){var t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,this._textareaElement.parentNode.removeChild(t),this._setMinHeight(),this._setMaxHeight()}},t.prototype.ngDoCheck=function(){this._platform.isBrowser&&this.resizeToFitContent()},t.prototype.resizeToFitContent=function(t){var e=this;if(void 0===t&&(t=!1),this._enabled&&(this._cacheTextareaLineHeight(),this._cachedLineHeight)){var n=this._elementRef.nativeElement,r=n.value;if(t||this._minRows!==this._previousMinRows||r!==this._previousValue){var i=n.placeholder;n.classList.add("cdk-textarea-autosize-measuring"),n.placeholder="";var o=n.scrollHeight-4;n.style.height=o+"px",n.classList.remove("cdk-textarea-autosize-measuring"),n.placeholder=i,this._ngZone.runOutsideAngular(function(){"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(function(){return e._scrollToCaretPosition(n)}):setTimeout(function(){return e._scrollToCaretPosition(n)})}),this._previousValue=r,this._previousMinRows=this._minRows}}},t.prototype.reset=function(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)},t.prototype._noopInputHandler=function(){},t.prototype._scrollToCaretPosition=function(t){var e=t.selectionStart,n=t.selectionEnd;this._destroyed.isStopped||document.activeElement!==t||t.setSelectionRange(e,n)},t.decorators=[{type:o.t,args:[{selector:"textarea[cdkTextareaAutosize]",exportAs:"cdkTextareaAutosize",host:{class:"cdk-textarea-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],t.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:o.Q}]},t.propDecorators={minRows:[{type:o.G,args:["cdkAutosizeMinRows"]}],maxRows:[{type:o.G,args:["cdkAutosizeMaxRows"]}],enabled:[{type:o.G,args:["cdkTextareaAutosize"]}]},t}(),g=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[f,m],imports:[i.b],exports:[f,m]}]}],t}(),y=n("gIcY"),v=n("Wf4p"),b=n("seP3"),_=n("Ip0R");n.d(e,"b",function(){return k}),n.d(e,"a",function(){return x});var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"matAutosizeMinRows",{get:function(){return this.minRows},set:function(t){this.minRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosizeMaxRows",{get:function(){return this.maxRows},set:function(t){this.maxRows=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matTextareaAutosize",{get:function(){return this.enabled},set:function(t){this.enabled=t},enumerable:!0,configurable:!0}),e.decorators=[{type:o.t,args:[{selector:"textarea[mat-autosize], textarea[matTextareaAutosize]",exportAs:"matTextareaAutosize",inputs:["cdkAutosizeMinRows","cdkAutosizeMaxRows"],host:{class:"cdk-textarea-autosize mat-autosize",rows:"1","(input)":"_noopInputHandler()"}}]}],e.propDecorators={matAutosizeMinRows:[{type:o.G}],matAutosizeMaxRows:[{type:o.G}],matAutosize:[{type:o.G,args:["mat-autosize"]}],matTextareaAutosize:[{type:o.G}]},e}(m);var x=new o.E("MAT_INPUT_VALUE_ACCESSOR"),C=["button","checkbox","file","hidden","image","radio","range","reset","submit"],O=0,E=function(t,e,n,r){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=r},S=function(t){function e(e,n,r,o,a,s,c,u,p){var d=t.call(this,s,o,a,r)||this;d._elementRef=e,d._platform=n,d.ngControl=r,d._autofillMonitor=u,d._uid="mat-input-"+O++,d._isServer=!1,d._isNativeSelect=!1,d.focused=!1,d.stateChanges=new l.a,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(t){return Object(i.e)().has(t)});var h=d._elementRef.nativeElement;return d._inputValueAccessor=c||h,d._previousNativeValue=d.value,d.id=d.id,n.IOS&&p.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(t){var e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===h.nodeName.toLowerCase(),d._isNativeSelect&&(d.controlType=h.multiple?"mat-native-select-multiple":"mat-native-select"),d}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(t){this._disabled=Object(a.c)(t),this.focused&&(this.focused=!1,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},set:function(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Object(i.e)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._inputValueAccessor.value},set:function(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(t){this._readonly=Object(a.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(e){t.autofilled=e.isAutofilled,t.stateChanges.next()})},e.prototype.ngOnChanges=function(){this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._focusChanged=function(t){t===this.focused||this.readonly&&t||(this.focused=t,this.stateChanges.next())},e.prototype._onInput=function(){},e.prototype._dirtyCheckNativeValue=function(){var t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())},e.prototype._validateType=function(){if(C.indexOf(this._type)>-1)throw t=this._type,Error('Input type "'+t+"\" isn't supported by matInput.");var t},e.prototype._isNeverEmpty=function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1},e.prototype._isBadInput=function(){var t=this._elementRef.nativeElement.validity;return t&&t.badInput},e.prototype._isTextarea=function(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()},Object.defineProperty(e.prototype,"empty",{get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){if(this._isNativeSelect){var t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty},enumerable:!0,configurable:!0}),e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focused||this.focus()},e.decorators=[{type:o.t,args:[{selector:"input[matInput], textarea[matInput], select[matNativeControl],\n input[matNativeControl], textarea[matNativeControl]",exportAs:"matInput",host:{class:"mat-input-element mat-form-field-autofill-control","[class.mat-input-server]":"_isServer","[attr.id]":"id","[attr.placeholder]":"placeholder","[disabled]":"disabled","[required]":"required","[attr.readonly]":"readonly && !_isNativeSelect || null","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-invalid]":"errorState","[attr.aria-required]":"required.toString()","(blur)":"_focusChanged(false)","(focus)":"_focusChanged(true)","(input)":"_onInput()"},providers:[{provide:b.b,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:o.u},{type:i.a},{type:y.h,decorators:[{type:o.R},{type:o.eb}]},{type:y.i,decorators:[{type:o.R}]},{type:y.d,decorators:[{type:o.R}]},{type:v.b},{type:void 0,decorators:[{type:o.R},{type:o.eb},{type:o.C,args:[x]}]},{type:h},{type:o.Q}]},e.propDecorators={disabled:[{type:o.G}],id:[{type:o.G}],placeholder:[{type:o.G}],required:[{type:o.G}],type:[{type:o.G}],errorStateMatcher:[{type:o.G}],value:[{type:o.G}],readonly:[{type:o.G}]},e}(Object(v.x)(E)),k=function(){function t(){}return t.decorators=[{type:o.L,args:[{declarations:[S,w],imports:[_.b,g,b.c],exports:[g,b.c,S,w],providers:[v.b]}]}],t}()},b7mW:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}()},bbBv:function(t,e,n){"use strict";n.r(e),e.default=".content {\n margin-top: 2px; }\n\n.example-margin {\n margin: 0 10px; }\n\n.settings-viewer-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.03);\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12);\n margin: 30px; }\n\n.settings-viewer-title {\n align-content: center;\n align-items: center;\n display: flex;\n justify-content: center;\n padding: 8px 20px;\n color: rgba(0, 0, 0, 0.54);\n background: rgba(0, 0, 0, 0.03); }\n\n.settings-viewer-title-spacer {\n flex: 1 1 auto;\n color: rgba(0, 0, 0, 0.54); }\n\n.settings-viewer-body {\n padding: 30px;\n color: rgba(0, 0, 0, 0.87); }\n\n.form-container {\n display: flex;\n flex-direction: column; }\n\n.setting-button {\n margin: 5px;\n margin-top: 15px; }\n"},bne5:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("6blF"),i=n("isby"),o=n("2Bdj"),a=n("67Y/");function s(t,e,n,l){return Object(o.a)(n)&&(l=n,n=void 0),l?s(t,e,n).pipe(Object(a.a)(function(t){return Object(i.a)(t)?l.apply(void 0,t):l(t)})):new r.a(function(r){!function t(e,n,r,i,o){var a;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){var s=e;e.addEventListener(n,r,o),a=function(){return s.removeEventListener(n,r,o)}}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){var l=e;e.on(n,r),a=function(){return l.off(n,r)}}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){var c=e;e.addListener(n,r),a=function(){return c.removeListener(n,r)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var u=0,p=e.length;u1?r.next(Array.prototype.slice.call(arguments)):r.next(t)},r,n)})}},bse0:function(t,e,n){"use strict";var r=n("K9Ia"),i=n("bne5"),o=n("p0ib"),a=n("Rney"),s=n("ny24"),l=n("ad02"),c=n("mrSG"),u=n("FFOo");function p(t){return function(e){return e.lift(new d(t))}}var d=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.value))},t}(),h=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return c.c(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(u.a),f=n("CcnG"),m=n("Ip0R");function g(t){return getComputedStyle(t)}function y(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r+="px"),t.style[n]=r}return t}function v(t){var e=document.createElement("div");return e.className=t,e}var b="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function _(t,e){if(!b)throw new Error("No element matching method supported");return b.call(t,e)}function w(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function x(t,e){return Array.prototype.filter.call(t.children,function(t){return _(t,e)})}var C={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},O={x:null,y:null};function E(t,e){var n=t.element.classList,r=C.state.scrolling(e);n.contains(r)?clearTimeout(O[e]):n.add(r)}function S(t,e){O[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(C.state.scrolling(e))},t.settings.scrollingThreshold)}var k=function(t){this.element=t,this.handlers={}},j={isEmpty:{configurable:!0}};k.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},k.prototype.unbind=function(t,e){var n=this;this.handlers[t]=this.handlers[t].filter(function(r){return!(!e||r===e)||(n.element.removeEventListener(t,r,!1),!1)})},k.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},j.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(k.prototype,j);var A=function(){this.eventElements=[]};function D(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}A.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new k(t),this.eventElements.push(e)),e},A.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},A.prototype.unbind=function(t,e,n){var r=this.eventElement(t);r.unbind(e,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},A.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},A.prototype.once=function(t,e,n){var r=this.eventElement(t),i=function(t){r.unbind(e,i),n(t)};r.bind(e,i)};var T=function(t,e,n,r,i){var o;if(void 0===r&&(r=!0),void 0===i&&(i=!1),"top"===e)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,n,r,i){var o=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0);void 0===i&&(i=!1);var p=t.element;t.reach[l]=null,p[s]<1&&(t.reach[l]="start");p[s]>t[o]-t[a]-1&&(t.reach[l]="end");e&&(p.dispatchEvent(D("ps-scroll-"+l)),e<0?p.dispatchEvent(D("ps-scroll-"+c)):e>0&&p.dispatchEvent(D("ps-scroll-"+u)),r&&function(t,e){E(t,e),S(t,e)}(t,l));t.reach[l]&&(e||i)&&p.dispatchEvent(D("ps-"+l+"-reach-"+t.reach[l]))}(t,n,o,r,i)};function P(t){return parseInt(t,10)||0}var I={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},R=function(t){var e=t.element,n=Math.floor(e.scrollTop);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(x(e,C.element.rail("x")).forEach(function(t){return w(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(x(e,C.element.rail("y")).forEach(function(t){return w(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var n={width:e.railXWidth},r=Math.floor(t.scrollTop);e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft;e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-r:n.top=e.scrollbarXTop+r;y(e.scrollbarXRail,n);var i={top:r,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?i.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:i.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?i.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:i.left=e.scrollbarYLeft+t.scrollLeft;y(e.scrollbarYRail,i),y(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),y(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(C.state.active("x")):(e.classList.remove(C.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(C.state.active("y")):(e.classList.remove(C.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)};function M(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function N(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],l=e[6],c=e[7],u=e[8],p=t.element,d=null,h=null,f=null;function m(e){p[l]=d+f*(e[i]-h),E(t,c),R(t),e.stopPropagation(),e.preventDefault()}function g(){S(t,c),t[u].classList.remove(C.state.clicking),t.event.unbind(t.ownerDocument,"mousemove",m)}t.event.bind(t[a],"mousedown",function(e){d=p[l],h=e[i],f=(t[r]-t[n])/(t[o]-t[s]),t.event.bind(t.ownerDocument,"mousemove",m),t.event.once(t.ownerDocument,"mouseup",g),t[u].classList.add(C.state.clicking),e.stopPropagation(),e.preventDefault()})}var F={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var n=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;t.element.scrollTop+=n*t.containerHeight,R(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var n=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=n*t.containerWidth,R(t),e.stopPropagation()})},"drag-thumb":function(t){N(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),N(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(_(e,":hover")||_(t.scrollbarX,":focus")||_(t.scrollbarY,":focus"))){var r,i=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(i){if("IFRAME"===i.tagName)i=i.contentDocument.activeElement;else for(;i.shadowRoot;)i=i.shadowRoot.activeElement;if(_(r=i,"input,[contenteditable]")||_(r,"select,[contenteditable]")||_(r,"textarea,[contenteditable]")||_(r,"button,[contenteditable]"))return}var o=0,a=0;switch(n.which){case 37:o=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:a=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:o=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:a=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 32:a=n.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==o||t.settings.suppressScrollY&&0!==a||(e.scrollTop-=a,e.scrollLeft+=o,R(t),function(n,r){var i=Math.floor(e.scrollTop);if(0===n){if(!t.scrollbarYActive)return!1;if(0===i&&r>0||i>=t.contentHeight-t.containerHeight&&r<0)return!t.settings.wheelPropagation}var o=e.scrollLeft;if(0===r){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}(o,a)&&n.preventDefault())}})},wheel:function(t){var e=t.element;function n(n){var r=function(t){var e=t.deltaX,n=-1*t.deltaY;return void 0!==e&&void 0!==n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!=e&&n!=n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}(n),i=r[0],o=r[1];if(!function(t,n,r){if(!I.isWebKit&&e.querySelector("select:focus"))return!0;if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollWidth-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(n.target,i,o)){var a=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(o?e.scrollTop-=o*t.settings.wheelSpeed:e.scrollTop+=i*t.settings.wheelSpeed,a=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(i?e.scrollLeft+=i*t.settings.wheelSpeed:e.scrollLeft-=o*t.settings.wheelSpeed,a=!0):(e.scrollTop-=o*t.settings.wheelSpeed,e.scrollLeft+=i*t.settings.wheelSpeed),R(t),(a=a||function(n,r){var i=Math.floor(e.scrollTop),o=0===e.scrollTop,a=i+e.offsetHeight===e.scrollHeight,s=0===e.scrollLeft,l=e.scrollLeft+e.offsetWidth===e.scrollWidth;return!(Math.abs(r)>Math.abs(n)?o||a:s||l)||!t.settings.wheelPropagation}(i,o))&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?t.event.bind(e,"wheel",n):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",n)},touch:function(t){if(I.supportsTouch||I.supportsIePointer){var e=t.element,n={},r=0,i={},o=null;I.supportsTouch?(t.event.bind(e,"touchstart",c),t.event.bind(e,"touchmove",u),t.event.bind(e,"touchend",p)):I.supportsIePointer&&(window.PointerEvent?(t.event.bind(e,"pointerdown",c),t.event.bind(e,"pointermove",u),t.event.bind(e,"pointerup",p)):window.MSPointerEvent&&(t.event.bind(e,"MSPointerDown",c),t.event.bind(e,"MSPointerMove",u),t.event.bind(e,"MSPointerUp",p)))}function a(n,r){e.scrollTop-=r,e.scrollLeft-=n,R(t)}function s(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return(!t.pointerType||"pen"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function c(t){if(l(t)){var e=s(t);n.pageX=e.pageX,n.pageY=e.pageY,r=(new Date).getTime(),null!==o&&clearInterval(o)}}function u(o){if(l(o)){var c=s(o),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-n.pageX,d=u.pageY-n.pageY;if(function(t,n,r){if(!e.contains(t))return!1;for(var i=t;i&&i!==e;){if(i.classList.contains(C.element.consuming))return!0;var o=g(i);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var a=i.scrollHeight-i.clientHeight;if(a>0&&!(0===i.scrollTop&&r>0||i.scrollTop===a&&r<0))return!0;var s=i.scrollLeft-i.clientWidth;if(s>0&&!(0===i.scrollLeft&&n<0||i.scrollLeft===s&&n>0))return!0}i=i.parentNode}return!1}(o.target,p,d))return;a(p,d),n=u;var h=(new Date).getTime(),f=h-r;f>0&&(i.x=p/f,i.y=d/f,r=h),function(n,r){var i=Math.floor(e.scrollTop),o=e.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&i===t.contentHeight-t.containerHeight||r>0&&0===i)return 0===window.scrollY&&r>0&&I.isChrome}else if(a>s&&(n<0&&o===t.contentWidth-t.containerWidth||n>0&&0===o))return!0;return!0}(p,d)&&o.preventDefault()}}function p(){t.settings.swipeEasing&&(clearInterval(o),o=setInterval(function(){t.isInitialized?clearInterval(o):i.x||i.y?Math.abs(i.x)<.01&&Math.abs(i.y)<.01?clearInterval(o):(a(30*i.x,30*i.y),i.x*=.8,i.y*=.8):clearInterval(o)},10))}}},L=function(t,e){var n=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=t,t.classList.add(C.main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},e)n.settings[r]=e[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var i,o,a=function(){return t.classList.add(C.state.focus)},s=function(){return t.classList.remove(C.state.focus)};this.isRtl="rtl"===g(t).direction,this.isNegativeScroll=(o=t.scrollLeft,t.scrollLeft=-1,i=t.scrollLeft<0,t.scrollLeft=o,i),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new A,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=v(C.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=v(C.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=g(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=P(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=P(l.borderLeftWidth)+P(l.borderRightWidth),y(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=P(l.marginLeft)+P(l.marginRight),y(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=v(C.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=v(C.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=g(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=P(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var e=g(t);return P(e.width)+P(e.paddingLeft)+P(e.paddingRight)+P(e.borderLeftWidth)+P(e.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=P(c.borderTopWidth)+P(c.borderBottomWidth),y(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=P(c.marginTop)+P(c.marginBottom),y(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return F[t](n)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return n.onScroll(t)}),R(this)};L.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,y(this.scrollbarXRail,{display:"block"}),y(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=P(g(this.scrollbarXRail).marginLeft)+P(g(this.scrollbarXRail).marginRight),this.railYMarginHeight=P(g(this.scrollbarYRail).marginTop)+P(g(this.scrollbarYRail).marginBottom),y(this.scrollbarXRail,{display:"none"}),y(this.scrollbarYRail,{display:"none"}),R(this),T(this,"top",0,!1,!0),T(this,"left",0,!1,!0),y(this.scrollbarXRail,{display:""}),y(this.scrollbarYRail,{display:""}))},L.prototype.onScroll=function(t){this.isAlive&&(R(this),T(this,"top",this.element.scrollTop-this.lastScrollTop),T(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},L.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),w(this.scrollbarX),w(this.scrollbarY),w(this.scrollbarXRail),w(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},L.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")};var V=L,B=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some(function(t,r){return t[0]===e&&(n=r,!0)}),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){z&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){z&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;W.some(function(t){return!!~n.indexOf(t)})&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Q=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),st="undefined"!=typeof WeakMap?new WeakMap:new B,lt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=K.getInstance(),r=new at(e,n,this);st.set(this,r)};["observe","unobserve","disconnect"].forEach(function(t){lt.prototype[t]=function(){var e;return(e=st.get(this))[t].apply(e,arguments)}});var ct=void 0!==H.ResizeObserver?H.ResizeObserver:lt;n.d(e,"a",function(){return ut}),n.d(e,"b",function(){return yt});var ut=new f.E("PERFECT_SCROLLBAR_CONFIG"),pt=function(t,e,n,r){this.x=t,this.y=e,this.w=n,this.h=r},dt=function(t,e){this.x=t,this.y=e},ht=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"],ft=function(){function t(t){void 0===t&&(t={}),this.assign(t)}return t.prototype.assign=function(t){for(var e in void 0===t&&(t={}),t)this[e]=t[e]},t}(),mt=function(){function t(t,e,n,i,o){this.zone=t,this.differs=e,this.elementRef=n,this.platformId=i,this.defaults=o,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new r.a,this.disabled=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;if(!this.disabled&&Object(m.m)(this.platformId)){var e=new ft(this.defaults);e.assign(this.config),this.zone.runOutsideAngular(function(){t.instance=new V(t.elementRef.nativeElement,e)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(function(){t.ro=new ct(function(){t.update()}),t.elementRef.nativeElement.children[0]&&t.ro.observe(t.elementRef.nativeElement.children[0]),t.ro.observe(t.elementRef.nativeElement)}),this.zone.runOutsideAngular(function(){ht.forEach(function(e){var n=e.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});Object(i.a)(t.elementRef.nativeElement,n).pipe(Object(a.a)(20),Object(s.a)(t.ngDestroy)).subscribe(function(n){t[e].emit(n)})})})}},t.prototype.ngOnDestroy=function(){var t=this;Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&"undefined"!=typeof window&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(function(){t.instance&&t.instance.destroy()}),this.instance=null)},t.prototype.ngDoCheck=function(){!this.disabled&&this.configDiff&&Object(m.m)(this.platformId)&&(this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit()))},t.prototype.ngOnChanges=function(t){t.disabled&&!t.disabled.isFirstChange()&&Object(m.m)(this.platformId)&&t.disabled.currentValue!==t.disabled.previousValue&&(!0===t.disabled.currentValue?this.ngOnDestroy():!1===t.disabled.currentValue&&this.ngOnInit())},t.prototype.ps=function(){return this.instance},t.prototype.update=function(){var t=this;"undefined"!=typeof window&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(function(){if(!t.disabled&&t.configDiff)try{t.zone.runOutsideAngular(function(){t.instance&&t.instance.update()})}catch(e){}},0))},t.prototype.geometry=function(t){return void 0===t&&(t="scroll"),new pt(this.elementRef.nativeElement[t+"Left"],this.elementRef.nativeElement[t+"Top"],this.elementRef.nativeElement[t+"Width"],this.elementRef.nativeElement[t+"Height"])},t.prototype.position=function(t){return void 0===t&&(t=!1),!t&&this.instance?new dt(this.instance.reach.x||0,this.instance.reach.y||0):new dt(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)},t.prototype.scrollable=function(t){void 0===t&&(t="any");var e=this.elementRef.nativeElement;return"any"===t?e.classList.contains("ps--active-x")||e.classList.contains("ps--active-y"):"both"===t?e.classList.contains("ps--active-x")&&e.classList.contains("ps--active-y"):e.classList.contains("ps--active-"+t)},t.prototype.scrollTo=function(t,e,n){this.disabled||(null==e&&null==n?this.animateScrolling("scrollTop",t,n):(null!=t&&this.animateScrolling("scrollLeft",t,n),null!=e&&this.animateScrolling("scrollTop",e,n)))},t.prototype.scrollToX=function(t,e){this.animateScrolling("scrollLeft",t,e)},t.prototype.scrollToY=function(t,e){this.animateScrolling("scrollTop",t,e)},t.prototype.scrollToTop=function(t,e){this.animateScrolling("scrollTop",t||0,e)},t.prototype.scrollToLeft=function(t,e){this.animateScrolling("scrollLeft",t||0,e)},t.prototype.scrollToRight=function(t,e){var n=this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth;this.animateScrolling("scrollLeft",n-(t||0),e)},t.prototype.scrollToBottom=function(t,e){var n=this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight;this.animateScrolling("scrollTop",n-(t||0),e)},t.prototype.scrollToElement=function(t,e,n){var r=this.elementRef.nativeElement.querySelector(t);if(r){var i=r.getBoundingClientRect(),o=this.elementRef.nativeElement.getBoundingClientRect();if(this.elementRef.nativeElement.classList.contains("ps--active-x")){var a=this.elementRef.nativeElement.scrollLeft,s=i.left-o.left+a;this.animateScrolling("scrollLeft",s+(e||0),n)}if(this.elementRef.nativeElement.classList.contains("ps--active-y")){a=this.elementRef.nativeElement.scrollTop,s=i.top-o.top+a;this.animateScrolling("scrollTop",s+(e||0),n)}}},t.prototype.animateScrolling=function(t,e,n){var r=this;if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),n&&"undefined"!=typeof window){if(e!==this.elementRef.nativeElement[t]){var i=0,o=0,a=performance.now(),s=this.elementRef.nativeElement[t],l=(s-e)/2,c=function(u){o+=Math.PI/(n/(u-a)),i=Math.round(e+l+l*Math.cos(o)),r.elementRef.nativeElement[t]===s&&(o>=Math.PI?r.animateScrolling(t,e,0):(r.elementRef.nativeElement[t]=i,s=r.elementRef.nativeElement[t],a=u,r.animation=window.requestAnimationFrame(c)))};window.requestAnimationFrame(c)}}else this.elementRef.nativeElement[t]=e},t.decorators=[{type:f.t,args:[{selector:"[perfectScrollbar]",exportAs:"ngxPerfectScrollbar"}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.I},{type:f.u},{type:Object,decorators:[{type:f.C,args:[f.U]}]},{type:void 0,decorators:[{type:f.R},{type:f.C,args:[ut]}]}]},t.propDecorators={disabled:[{type:f.G}],config:[{type:f.G,args:["perfectScrollbar"]}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}]},t}(),gt=function(){function t(t,e,n){this.zone=t,this.cdRef=e,this.platformId=n,this.states={},this.indicatorX=!1,this.indicatorY=!1,this.interaction=!1,this.scrollPositionX=0,this.scrollPositionY=0,this.scrollDirectionX=0,this.scrollDirectionY=0,this.usePropagationX=!1,this.usePropagationY=!1,this.allowPropagationX=!1,this.allowPropagationY=!1,this.stateTimeout=null,this.ngDestroy=new r.a,this.stateUpdate=new r.a,this.disabled=!1,this.usePSClass=!0,this.autoPropagation=!1,this.scrollIndicators=!1,this.psScrollY=new f.x,this.psScrollX=new f.x,this.psScrollUp=new f.x,this.psScrollDown=new f.x,this.psScrollLeft=new f.x,this.psScrollRight=new f.x,this.psYReachEnd=new f.x,this.psYReachStart=new f.x,this.psXReachEnd=new f.x,this.psXReachStart=new f.x}return t.prototype.ngOnInit=function(){var t=this;Object(m.m)(this.platformId)&&(this.stateUpdate.pipe(Object(s.a)(this.ngDestroy),Object(l.a)(function(e,n){return e===n&&!t.stateTimeout})).subscribe(function(e){t.stateTimeout&&"undefined"!=typeof window&&(window.clearTimeout(t.stateTimeout),t.stateTimeout=null),"x"===e||"y"===e?(t.interaction=!1,"x"===e?(t.indicatorX=!1,t.states.left=!1,t.states.right=!1,t.autoPropagation&&t.usePropagationX&&(t.allowPropagationX=!1)):"y"===e&&(t.indicatorY=!1,t.states.top=!1,t.states.bottom=!1,t.autoPropagation&&t.usePropagationY&&(t.allowPropagationY=!1))):("left"===e||"right"===e?(t.states.left=!1,t.states.right=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationX&&(t.indicatorX=!0)):"top"!==e&&"bottom"!==e||(t.states.top=!1,t.states.bottom=!1,t.states[e]=!0,t.autoPropagation&&t.usePropagationY&&(t.indicatorY=!0)),t.autoPropagation&&"undefined"!=typeof window&&(t.stateTimeout=window.setTimeout(function(){t.indicatorX=!1,t.indicatorY=!1,t.stateTimeout=null,t.interaction&&(t.states.left||t.states.right)&&(t.allowPropagationX=!0),t.interaction&&(t.states.top||t.states.bottom)&&(t.allowPropagationY=!0),t.cdRef.markForCheck()},500))),t.cdRef.markForCheck(),t.cdRef.detectChanges()}),this.zone.runOutsideAngular(function(){if(t.directiveRef){var e=t.directiveRef.elementRef.nativeElement;Object(i.a)(e,"wheel").pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){if(!t.disabled&&t.autoPropagation){var n=e.deltaX,r=e.deltaY;t.checkPropagation(e,n,r)}}),Object(i.a)(e,"touchmove").pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){if(!t.disabled&&t.autoPropagation){var n=e.touches[0].clientX,r=e.touches[0].clientY,i=n-t.scrollPositionX,o=r-t.scrollPositionY;t.checkPropagation(e,i,o),t.scrollPositionX=n,t.scrollPositionY=r}}),Object(o.a)(Object(i.a)(e,"ps-scroll-x").pipe(p("x")),Object(i.a)(e,"ps-scroll-y").pipe(p("y")),Object(i.a)(e,"ps-x-reach-end").pipe(p("right")),Object(i.a)(e,"ps-y-reach-end").pipe(p("bottom")),Object(i.a)(e,"ps-x-reach-start").pipe(p("left")),Object(i.a)(e,"ps-y-reach-start").pipe(p("top"))).pipe(Object(s.a)(t.ngDestroy)).subscribe(function(e){t.disabled||!t.autoPropagation&&!t.scrollIndicators||t.stateUpdate.next(e)})}}),window.setTimeout(function(){ht.forEach(function(e){t.directiveRef&&(t.directiveRef[e]=t[e])})},0))},t.prototype.ngOnDestroy=function(){Object(m.m)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.unsubscribe(),this.stateTimeout&&"undefined"!=typeof window&&window.clearTimeout(this.stateTimeout))},t.prototype.ngDoCheck=function(){if(Object(m.m)(this.platformId)&&!this.disabled&&this.autoPropagation&&this.directiveRef){var t=this.directiveRef.elementRef.nativeElement;this.usePropagationX=t.classList.contains("ps--active-x"),this.usePropagationY=t.classList.contains("ps--active-y")}},t.prototype.checkPropagation=function(t,e,n){this.interaction=!0;var r=e<0?-1:1,i=n<0?-1:1;(this.usePropagationX&&this.usePropagationY||this.usePropagationX&&(!this.allowPropagationX||this.scrollDirectionX!==r)||this.usePropagationY&&(!this.allowPropagationY||this.scrollDirectionY!==i))&&(t.preventDefault(),t.stopPropagation()),e&&(this.scrollDirectionX=r),n&&(this.scrollDirectionY=i),this.stateUpdate.next("interaction"),this.cdRef.detectChanges()},t.decorators=[{type:f.n,args:[{selector:"perfect-scrollbar",exportAs:"ngxPerfectScrollbar",template:'
        \n
        \n \n
        \n\n
        \n
        \n
        \n
        \n
        \n
        \n
        \n',encapsulation:f.qb.None,styles:["/*\n TODO: Remove important flags after this bug if fixed:\n https://github.com/angular/flex-layout/issues/381\n*/\n\nperfect-scrollbar {\n position: relative;\n\n display: block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n}\n\nperfect-scrollbar[hidden] {\n display: none;\n}\n\nperfect-scrollbar[fxflex] {\n display: flex;\n flex-direction: column;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-direction: column;\n -webkit-box-orient: column;\n}\n\nperfect-scrollbar[fxflex] > .ps {\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n\n -webkit-box-flex: 1;\n}\n\nperfect-scrollbar[fxlayout] > .ps,\nperfect-scrollbar[fxlayout] > .ps > .ps-content {\n display: flex;\n\n -ms-flex: 1 1 auto;\n\n flex: 1 1 auto;\n flex-direction: inherit;\n align-items: inherit;\n align-content: inherit;\n justify-content: inherit;\n width: 100%;\n height: 100%;\n\n -webkit-box-align: inherit;\n -webkit-box-direction: inherit;\n -webkit-box-flex: 1;\n -webkit-box-orient: inherit;\n -webkit-box-pack: inherit;\n}\n\nperfect-scrollbar[fxlayout='row'] > .ps,\nperfect-scrollbar[fxlayout='row'] > .ps > .ps-content, {\n flex-direction: row !important;\n\n -webkit-box-direction: row !important;\n -webkit-box-orient: row !important;\n}\n\nperfect-scrollbar[fxlayout='column'] > .ps,\nperfect-scrollbar[fxlayout='column'] > .ps > .ps-content {\n flex-direction: column !important;\n\n -webkit-box-direction: column !important;\n -webkit-box-orient: column !important;\n}\n\nperfect-scrollbar > .ps {\n position: static;\n\n display: block;\n width: inherit;\n height: inherit;\n max-width: inherit;\n max-height: inherit;\n}\n\nperfect-scrollbar > .ps > .ps-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: block;\n overflow: hidden;\n\n pointer-events: none;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n position: absolute;\n\n opacity: 0;\n\n transition: opacity 300ms ease-in-out;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n left: 0;\n\n min-width: 100%;\n min-height: 24px;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left,\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n top: 0;\n\n min-width: 24px;\n min-height: 100%;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-top {\n top: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-left {\n left: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-right {\n right: 0;\n}\n\nperfect-scrollbar > .ps > .ps-overlay .ps-indicator-bottom {\n bottom: 0;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y {\n top: 0 !important;\n right: 0 !important;\n left: auto !important;\n\n width: 10px;\n\n cursor: default;\n\n transition:\n width 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y:hover,\nperfect-scrollbar > .ps.ps--active-y > .ps__rail-y.ps--clicking {\n width: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x {\n top: auto !important;\n bottom: 0 !important;\n left: 0 !important;\n\n height: 10px;\n\n cursor: default;\n\n transition:\n height 200ms linear,\n opacity 200ms linear,\n background-color 200ms linear;\n}\n\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x:hover,\nperfect-scrollbar > .ps.ps--active-x > .ps__rail-x.ps--clicking {\n height: 15px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-y {\n margin: 0 0 10px;\n}\n\nperfect-scrollbar > .ps.ps--active-x.ps--active-y > .ps__rail-x {\n margin: 0 10px 0 0;\n}\n\nperfect-scrollbar > .ps.ps--scrolling-y > .ps__rail-y,\nperfect-scrollbar > .ps.ps--scrolling-x > .ps__rail-x {\n opacity: 0.9;\n\n background-color: #eee;\n}\n\nperfect-scrollbar.ps-show-always > .ps.ps--active-y > .ps__rail-y,\nperfect-scrollbar.ps-show-always > .ps.ps--active-x > .ps__rail-x {\n opacity: 0.6;\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-top) .ps-indicator-top {\n opacity: 1;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-y > .ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom {\n opacity: 1;\n\n background: linear-gradient(to top, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-left) .ps-indicator-left {\n opacity: 1;\n\n background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active > .ps.ps--active-x > .ps-overlay:not(.ps-at-right) .ps-indicator-right {\n opacity: 1;\n\n background: linear-gradient(to left, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top {\n background: linear-gradient(to bottom, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom {\n background: linear-gradient(to top, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left {\n background: linear-gradient(to right, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right {\n background: linear-gradient(to left, rgba(170, 170, 170, 0.5) 0%, rgba(170, 170, 170, 0) 100%);\n}\n\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-y > .ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,\nperfect-scrollbar.ps-show-active.ps-show-limits > .ps.ps--active-x > .ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show {\n opacity: 1;\n}\n","/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n"]}]}],t.ctorParameters=function(){return[{type:f.Q},{type:f.k},{type:Object,decorators:[{type:f.C,args:[f.U]}]}]},t.propDecorators={disabled:[{type:f.G}],usePSClass:[{type:f.G}],autoPropagation:[{type:f.z,args:["class.ps-show-limits"]},{type:f.G}],scrollIndicators:[{type:f.z,args:["class.ps-show-active"]},{type:f.G}],config:[{type:f.G}],psScrollY:[{type:f.S}],psScrollX:[{type:f.S}],psScrollUp:[{type:f.S}],psScrollDown:[{type:f.S}],psScrollLeft:[{type:f.S}],psScrollRight:[{type:f.S}],psYReachEnd:[{type:f.S}],psYReachStart:[{type:f.S}],psXReachEnd:[{type:f.S}],psXReachStart:[{type:f.S}],directiveRef:[{type:f.nb,args:[mt]}]},t}(),yt=function(){function t(){}return t.decorators=[{type:f.L,args:[{imports:[m.b],declarations:[gt,mt],exports:[m.b,gt,mt]}]}],t}()},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},d2mR:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=n("eKg/"),a=n("NZXM"),s=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},l=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(){function t(t){this.translateService=t,this.translatePipe=new o.a(this.translateService)}return t.prototype.transform=function(t){var e=Math.floor(1667e-8*t)%60;return Math.floor(28e-8*t)+" "+this.translatePipe.transform("HOURS")+" "+e+" "+this.translatePipe.transform("MINUTES")},t.ctorParameters=function(){return[{type:a.a}]},t=s([Object(r.W)({name:"times",pure:!1}),l("design:paramtypes",[a.a])],t)}(),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t){return t&&t.__esModule?t:{default:t}},h=function(){function t(){}return t.prototype.ngOnInit=function(){},t=u([Object(r.n)({selector:"app-loader",template:d(n("JYZP")).default,styles:[d(n("Wg1/")).default]}),p("design:paramtypes",[])],t)}(),f=n("mrSG"),m=n("pugT"),g=n("bne5"),y=n("VnD/"),v=n("wFw1"),b=n("Wf4p"),_=function(t){this._elementRef=t},w=Object(b.u)(_,"primary"),x=new r.E("mat-progress-bar-location",{providedIn:"root",factory:function(){var t=Object(r.xb)(i.c),e=t?t.location:null;return{getPathname:function(){return e?e.pathname+e.search:""}}}});var C=0,O=function(t){function e(e,n,i,o){var a=t.call(this,e)||this;a._elementRef=e,a._ngZone=n,a._animationMode=i,a._isNoopAnimation=!1,a._value=0,a._bufferValue=0,a.animationEnd=new r.x,a._animationEndSubscription=m.a.EMPTY,a.mode="determinate",a.progressbarId="mat-progress-bar-"+C++;var s=o?o.getPathname().split("#")[0]:"";return a._rectangleFillValue="url('"+s+"#"+a.progressbarId+"')",a._isNoopAnimation="NoopAnimations"===i,a}return Object(f.c)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){this._value=E(t||0),this._isNoopAnimation&&this.emitAnimationEnd()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferValue",{get:function(){return this._bufferValue},set:function(t){this._bufferValue=E(t||0)},enumerable:!0,configurable:!0}),e.prototype._primaryTransform=function(){return{transform:"scaleX("+this.value/100+")"}},e.prototype._bufferTransform=function(){if("buffer"===this.mode)return{transform:"scaleX("+this.bufferValue/100+")"}},e.prototype.ngAfterViewInit=function(){var t=this;this._isNoopAnimation||this._ngZone.runOutsideAngular(function(){t._animationEndSubscription=Object(g.a)(t._primaryValueBar.nativeElement,"transitionend").pipe(Object(y.a)(function(e){return e.target===t._primaryValueBar.nativeElement})).subscribe(function(e){return t._ngZone.run(function(){return t.emitAnimationEnd()})})})},e.prototype.ngOnDestroy=function(){this._animationEndSubscription.unsubscribe()},e.prototype.emitAnimationEnd=function(){"determinate"!==this.mode&&"buffer"!==this.mode||this.animationEnd.next({value:this.value})},e.decorators=[{type:r.n,args:[{selector:"mat-progress-bar",exportAs:"matProgressBar",host:{role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","[attr.aria-valuenow]":"value","[attr.mode]":"mode",class:"mat-progress-bar","[class._mat-animation-noopable]":"_isNoopAnimation"},inputs:["color"],template:'
        ',styles:[".mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-background{display:none}}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}@media (-ms-high-contrast:active){.mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:'';display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after{animation:none;transition:none}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.70173,.49582);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);transform:translateX(83.67142%)}100%{transform:translateX(200.61106%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.66148)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:translateX(37.65191%)}48.35%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:translateX(84.38617%)}100%{transform:translateX(160.27778%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.51506,.40969);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.28406,.8,.73371);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.4,.62704,.6,.90203);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}"],changeDetection:r.j.OnPush,encapsulation:r.qb.None}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[v.a]}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[x]}]}]},e.propDecorators={value:[{type:r.G}],bufferValue:[{type:r.G}],_primaryValueBar:[{type:r.nb,args:["primaryValueBar"]}],animationEnd:[{type:r.S}],mode:[{type:r.G}]},e}(w);function E(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=100),Math.max(e,Math.min(n,t))}var S=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[i.b,b.h],exports:[O,b.h],declarations:[O]}]}],t}();n.d(e,"a",function(){return j});var k=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},j=function(){function t(){}return t=k([Object(r.L)({imports:[i.b],declarations:[o.a,c,h],exports:[o.a,c,h,S]})],t)}()},dEwP:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("F/XL"),i=n("Txjg");function o(){for(var t=[],e=0;e=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isOperationsRetrived=!1,this.operations=[],this.operationFeed=new i.a(this.operations),this.retriveData()}return t.prototype.loadOperations=function(){return u(this,void 0,void 0,function(){var t,e;return p(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/operations",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort(function(t,e){return t.operationNamee.height||t.scrollWidth>e.width},t}();function b(){return Error("Scroll strategy has already been attached.")}var _=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=function(){i.disable(),i._overlayRef.hasAttached()&&i._ngZone.run(function(){return i._overlayRef.detach()})}}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),w=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}();function x(t,e){return e.some(function(e){var n=t.bottome.bottom,i=t.righte.right;return n||r||i||o})}function C(t,e){return e.some(function(e){var n=t.tope.bottom,i=t.lefte.right;return n||r||i||o})}var O=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw b();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;x(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}})}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),E=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new w},this.close=function(t){return new _(i._scrollDispatcher,i._ngZone,i._viewportRuler,t)},this.block=function(){return new v(i._viewportRuler,i._document)},this.reposition=function(t){return new O(i._scrollDispatcher,i._viewportRuler,i._ngZone,t)},this._document=r}return t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.c},{type:i.f},{type:a.Q},{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(i.c),Object(a.xb)(i.f),Object(a.xb)(a.Q),Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}(),S=function(t){var e=this;this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t&&Object.keys(t).forEach(function(n){var r=n;void 0!==t[r]&&(e[r]=t[r])})},k=function(t,e,n,r,i){this.offsetX=n,this.offsetY=r,this.panelClass=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY},j=function(){},A=function(){function t(t,e){this.connectionPair=t,this.scrollableViewProperties=e}return t.ctorParameters=function(){return[{type:k},{type:j,decorators:[{type:a.R}]}]},t}();function D(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "top", "bottom" or "center".')}function T(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "start", "end" or "center".')}var P=function(){function t(t){var e=this;this._attachedOverlays=[],this._keydownListener=function(t){for(var n=e._attachedOverlays,r=n.length-1;r>-1;r--)if(n[r]._keydownEventSubscriptions>0){n[r]._keydownEvents.next(t);break}},this._document=t}return t.prototype.ngOnDestroy=function(){this._detach()},t.prototype.add=function(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)},t.prototype.remove=function(t){var e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()},t.prototype._detach=function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var I={provide:P,deps:[[new a.R,new a.fb,P],o.c],useFactory:function(t,e){return t||new P(e)}},R=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t.decorators=[{type:a.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:a.C,args:[o.c]}]}]},t.ngInjectableDef=Object(a.tb)({factory:function(){return new t(Object(a.xb)(o.c))},token:t,providedIn:"root"}),t}();var M={provide:R,deps:[[new a.R,new a.fb,R],o.c],useFactory:function(t,e){return t||new R(e)}},N=function(){function t(t,e,n,r,i,o,a,s){var p=this;this._portalOutlet=t,this._host=e,this._pane=n,this._config=r,this._ngZone=i,this._keyboardDispatcher=o,this._document=a,this._location=s,this._backdropElement=null,this._backdropClick=new l.a,this._attachments=new l.a,this._detachments=new l.a,this._locationChanges=c.a.EMPTY,this._keydownEventsObservable=new u.a(function(t){var e=p._keydownEvents.subscribe(t);return p._keydownEventSubscriptions++,function(){e.unsubscribe(),p._keydownEventSubscriptions--}}),this._keydownEvents=new l.a,this._keydownEventSubscriptions=0,r.scrollStrategy&&r.scrollStrategy.attach(this),this._positionStrategy=r.positionStrategy}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hostElement",{get:function(){return this._host},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,n=this._portalOutlet.attach(t);return this._positionStrategy&&this._positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Object(d.a)(1)).subscribe(function(){e.hasAttached()&&e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&this._location&&(this._locationChanges=this._location.subscribe(function(){return e.dispose()})),n},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEventsObservable},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._positionStrategy&&this._positionStrategy.apply()},t.prototype.updatePositionStrategy=function(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))},t.prototype.updateSize=function(t){this._config=Object(s.a)({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object(s.a)({},this._config,{direction:t}),this._updateElementDirection()},t.prototype.addPanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!0)},t.prototype.removePanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!1)},t.prototype.getDirection=function(){var t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"},t.prototype._updateElementDirection=function(){this._host.setAttribute("dir",this.getDirection())},t.prototype._updateElementSize=function(){var t=this._pane.style;t.width=Object(r.d)(this._config.width),t.height=Object(r.d)(this._config.height),t.minWidth=Object(r.d)(this._config.minWidth),t.minHeight=Object(r.d)(this._config.minHeight),t.maxWidth=Object(r.d)(this._config.maxWidth),t.maxHeight=Object(r.d)(this._config.maxHeight)},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",function(e){return t._backdropClick.next(e)}),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var n,r=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null),t._config.backdropClass&&t._toggleClasses(e,t._config.backdropClass,!1),clearTimeout(n)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(function(){e.addEventListener("transitionend",r)}),e.style.pointerEvents="none",n=this._ngZone.runOutsideAngular(function(){return setTimeout(r,500)})}},t.prototype._toggleClasses=function(t,e,n){var i=t.classList;Object(r.b)(e).forEach(function(t){n?i.add(t):i.remove(t)})},t.prototype._detachContentWhenStable=function(){var t=this;this._ngZone.runOutsideAngular(function(){var e=t._ngZone.onStable.asObservable().pipe(Object(h.a)(Object(p.a)(t._attachments,t._detachments))).subscribe(function(){t._pane&&t._host&&0!==t._pane.children.length||(t._pane&&t._config.panelClass&&t._toggleClasses(t._pane,t._config.panelClass,!1),t._host&&t._host.parentElement&&(t._previousHostParent=t._host.parentElement,t._previousHostParent.removeChild(t._host)),e.unsubscribe())})})},t}(),F=function(){function t(t,e,n,r,i){var o=this;this._viewportRuler=e,this._document=n,this._platform=r,this._overlayContainer=i,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new l.a,this._resizeSubscription=c.a.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this._appliedPanelClasses=[],this.positionChanges=new u.a(function(t){var e=o._positionChanges.subscribe(t);return o._positionChangeSubscriptions++,function(){e.unsubscribe(),o._positionChangeSubscriptions--}}),this.setOrigin(t)}return Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){e._isInitialRender=!0,e.apply()})},t.prototype.apply=function(){if(!(this._isDisposed||this._platform&&!this._platform.isBrowser))if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)this.reapplyLastPosition();else{this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();for(var t,e=this._originRect,n=this._overlayRect,r=this._viewportRect,i=[],o=0,a=this._preferredPositions;od&&(d=g,p=m)}return this._isPushed=!1,void this._applyPosition(p.position,p.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(t.position,t.originPoint);this._applyPosition(t.position,t.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&L(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this.scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var n;if("center"==e.originX)n=t.left+t.width/2;else{var r=this._isRtl()?t.right:t.left,i=this._isRtl()?t.left:t.right;n="start"==e.originX?r:i}return{x:n,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,n){var r,i;return r="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,i="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+r,y:t.y+i}},t.prototype._getOverlayFit=function(t,e,n,r){var i=t.x,o=t.y,a=this._getOffset(r,"x"),s=this._getOffset(r,"y");a&&(i+=a),s&&(o+=s);var l=0-i,c=i+e.width-n.width,u=0-o,p=o+e.height-n.height,d=this._subtractOverflows(e.width,l,c),h=this._subtractOverflows(e.height,u,p),f=d*h;return{visibleArea:f,isCompletelyWithinViewport:e.width*e.height===f,fitsInViewportVertically:h===e.height,fitsInViewportHorizontally:d==e.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,n){if(this._hasFlexibleDimensions){var r=n.bottom-e.y,i=n.right-e.x,o=this._overlayRef.getConfig().minHeight,a=this._overlayRef.getConfig().minWidth,s=t.fitsInViewportVertically||null!=o&&o<=r,l=t.fitsInViewportHorizontally||null!=a&&a<=i;return s&&l}},t.prototype._pushOverlayOnScreen=function(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var r=this._viewportRect,i=Math.max(t.x+e.width-r.right,0),o=Math.max(t.y+e.height-r.bottom,0),a=Math.max(r.top-n.top-t.y,0),s=Math.max(r.left-n.left-t.x,0),l=0,c=0;return l=e.width<=r.width?s||-i:t.x0){var n=this._getScrollVisibility(),r=new A(t,n);this._positionChanges.next(r)}this._isInitialRender=!1},t.prototype._setTransformOrigin=function(t){if(this._transformOriginSelector){var e,n=this._boundingBox.querySelectorAll(this._transformOriginSelector),r=t.overlayY;e="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(var i=0;il&&!this._isInitialRender&&!this._growAfterOpen&&(r=t.y-l/2)}var c,u,p,d="start"===e.overlayX&&!a||"end"===e.overlayX&&a;if("end"===e.overlayX&&!a||"start"===e.overlayX&&a)p=o.right-t.x+this._viewportMargin,c=t.x-o.left;else if(d)u=t.x,c=o.right-t.x;else{s=Math.min(o.right-t.x+o.left,t.x);var h=this._lastBoundingBoxSize.width;c=2*s,u=t.x-s,c>h&&!this._isInitialRender&&!this._growAfterOpen&&(u=t.x-h/2)}return{top:r,left:u,bottom:i,right:p,width:c,height:n}},t.prototype._setBoundingBoxStyles=function(t,e){var n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{var o=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;i.height=Object(r.d)(n.height),i.top=Object(r.d)(n.top),i.bottom=Object(r.d)(n.bottom),i.width=Object(r.d)(n.width),i.left=Object(r.d)(n.left),i.right=Object(r.d)(n.right),"center"===e.overlayX?i.alignItems="center":i.alignItems="end"===e.overlayX?"flex-end":"flex-start","center"===e.overlayY?i.justifyContent="center":i.justifyContent="bottom"===e.overlayY?"flex-end":"flex-start",o&&(i.maxHeight=Object(r.d)(o)),a&&(i.maxWidth=Object(r.d)(a))}this._lastBoundingBoxSize=n,L(this._boundingBox.style,i)},t.prototype._resetBoundingBoxStyles=function(){L(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){L(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var n={};if(this._hasExactPosition()){var r=this._viewportRuler.getViewportScrollPosition();L(n,this._getExactOverlayY(e,t,r)),L(n,this._getExactOverlayX(e,t,r))}else n.position="static";var i="",o=this._getOffset(e,"x"),a=this._getOffset(e,"y");o&&(i+="translateX("+o+"px) "),a&&(i+="translateY("+a+"px)"),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),L(this._pane.style,n)},t.prototype._getExactOverlayY=function(t,e,n){var i={top:null,bottom:null},o=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n));var a=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;if(o.y-=a,"bottom"===t.overlayY){var s=this._document.documentElement.clientHeight;i.bottom=s-(o.y+this._overlayRect.height)+"px"}else i.top=Object(r.d)(o.y);return i},t.prototype._getExactOverlayX=function(t,e,n){var i={left:null,right:null},o=this._getOverlayPoint(e,this._overlayRect,t);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,n)),"right"===(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")){var a=this._document.documentElement.clientWidth;i.right=a-(o.x+this._overlayRect.width)+"px"}else i.left=Object(r.d)(o.x);return i},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(function(t){return t.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:C(t,n),isOriginOutsideView:x(t,n),isOverlayClipped:C(e,n),isOverlayOutsideView:x(e,n)}},t.prototype._subtractOverflows=function(t){for(var e=[],n=1;n=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t){this.translate=t}return t.prototype.transform=function(t,e){return void 0===e&&(e=!1),e?this.translate.data["api-messages"][t.toString()]||this.transform("ERROR")+": "+t:this.translate.data[t]||t},t.ctorParameters=function(){return[{type:i.a}]},t=o([Object(r.W)({name:"translate",pure:!1}),a("design:paramtypes",[i.a])],t)}()},fBeJ:function(t,e,n){"use strict";n.r(e),e.default=""},fHOq:function(t,e,n){"use strict";n.r(e),e.default='
        \r\n
        \r\n
        {{ \'LANGUAGE\' | translate }}
        \r\n \r\n
        \r\n
        \r\n \r\n \r\n English\r\n Hebrew | עברית\r\n \r\n {{ \'SELECT_LANGUAGE\' | translate }}\r\n \r\n
        \r\n
        \r\n\r\n
        \r\n
        \r\n
        {{ \'REMOTE_SERVER\' | translate }}
        \r\n \r\n
        \r\n
        \r\n \r\n \r\n {{ \'REMOTE_STATUS\' | translate }}\r\n \r\n
        \r\n \r\n \r\n {{ \'REMOTE_URI\' | translate }}\r\n \r\n
        \r\n \r\n \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n\r\n\r\n
        \r\n
        \r\n
        {{ \'IFTTT_INTEGRATION\' | translate }}
        \r\n \r\n
        \r\n
        \r\n \r\n \r\n {{ \'IFTTT_STATUS\' | translate }}\r\n \r\n
        \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n\r\n
        \r\n
        \r\n
        {{ \'REDIRECT_TO_THE_LIGHT_VERSION\' | translate }}
        \r\n \r\n
        \r\n
        \r\n\r\n
        \r\n
        \r\n
        {{ \'PWA\' | translate }}
        \r\n \r\n
        \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n\r\n
        \r\n
        \r\n
        \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
        {{ \'VERSION\' | translate }} {{ currentVersionName }}
        {{ \'RELEASE_DATE\' | translate }} {{ currentVersionReleaseDate }}
        \r\n
        \r\n \r\n
        \r\n
        '},fICr:function(t,e,n){"use strict";n.d(e,"a",function(){return f});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("dO5I"),s=n("sB9w"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&void 0!==e.durationMinutes&&e.sunTrigger}if("dailyTimeTrigger"===t){var n=this.timingProperties;return n.hour=void 0!==n.hour?parseInt(n.hour,10):void 0,n.minutes=void 0!==n.minutes?parseInt(n.minutes,10):void 0,n.days&&n.days.length>0&&void 0!==n.hour&&void 0!==n.minutes}if("once"===t){var r=this.timingProperties,i=void 0!==this.timingProperties.hour?parseInt(this.timingProperties.hour,10):void 0,o=void 0!==this.timingProperties.minutes?parseInt(this.timingProperties.minutes,10):void 0;if(r.dateObj){var a=r.dateObj;a.setHours(i||0),a.setMinutes(o||0),r.date=a.getTime()}return r.date&&void 0!==i&&void 0!==o}if("timeout"===t){var s=this.timingProperties;return s.durationInMimutes=s.durationInMimutes?parseFloat(s.durationInMimutes):void 0,s.startDate=(new Date).getTime(),s.durationInMimutes}},t.prototype.createTiming=function(){return p(this,void 0,void 0,function(){var t,e;return d(this,function(n){switch(n.label){case 0:return delete this.timingProperties.dateObj,t={},e=this.timingTypeControl.value,t[e]=this.timingProperties,[4,this.timingsService.createTiming({timingId:"xxx",isActive:!0,timingName:this.nameControl.value,timingType:this.timingTypeControl.value,triggerOperationId:this.selectOperationControl.value.operationId,timingProperties:t})];case 1:return n.sent(),this.operationSubscription.unsubscribe(),this.dialogRef.close(),[2]}})})},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-timing-dialog",template:h(n("CQyT")).default,styles:[h(n("9YZV")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},gI3B:function(t,e,n){"use strict";var r=n("6blF"),i=n("T1DM"),o=n("isby");function a(t){return!Object(o.a)(t)&&t-parseFloat(t)+1>=0}var s=n("nkY7");function l(t,e,n){void 0===t&&(t=0);var o=-1;return a(e)?o=Number(e)<1?1:Number(e):Object(s.a)(e)&&(n=e),Object(s.a)(n)||(n=i.a),new r.a(function(e){var r=a(t)?t:+t-n.now();return n.schedule(c,r,{index:0,period:o,subscriber:e})})}function c(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}}n.d(e,"a",function(){return l})},gIcY:function(t,e,n){"use strict";n.d(e,"g",function(){return c}),n.d(e,"h",function(){return v}),n.d(e,"i",function(){return Ct}),n.d(e,"d",function(){return Lt}),n.d(e,"a",function(){return Qt}),n.d(e,"b",function(){return le}),n.d(e,"c",function(){return vt}),n.d(e,"f",function(){return O}),n.d(e,"k",function(){return k}),n.d(e,"e",function(){return ce}),n.d(e,"j",function(){return ue});var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("VNr4"),s=n("0/uQ"),l=n("67Y/"),c=new i.E("NgValueAccessor"),u={provide:c,useExisting:Object(i.vb)(function(){return p}),multi:!0},p=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[u]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),d={provide:c,useExisting:Object(i.vb)(function(){return f}),multi:!0};var h=new i.E("CompositionEventMode"),f=function(){function t(t,e,n){var r;this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Object(o.h)()?Object(o.h)().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t=Object(r.b)([Object(i.t)({selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[d]}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.C)(h)),Object(r.d)("design:paramtypes",[i.Z,i.u,Boolean])],t)}(),m=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(m);function y(){throw new Error("unimplemented")}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return y()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return y()},enumerable:!0,configurable:!0}),e}(m),b=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),_={"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid","[class.ng-pending]":"ngClassPending"},w=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formControlName],[ngModel],[formControl]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[v])],e)}(b),x=function(t){function e(e){return t.call(this,e)||this}return Object(r.c)(e,t),e=Object(r.b)([Object(i.t)({selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:_}),Object(r.e)(0,Object(i.eb)()),Object(r.d)("design:paramtypes",[g])],e)}(b);function C(t){return null==t||0===t.length}var O=new i.E("NgValidators"),E=new i.E("NgAsyncValidators"),S=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,k=function(){function t(){}return t.min=function(t){return function(e){if(C(e.value)||C(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&nt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return C(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return C(t.value)?null:S.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(C(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(C(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){return D(function(t,e){return e.map(function(e){return e(t)})}(t,e))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){var n=function(t,e){return e.map(function(e){return e(t)})}(t,e).map(A);return Object(a.a)(n).pipe(Object(l.a)(D))}},t}();function j(t){return null!=t}function A(t){var e=Object(i.Zb)(t)?Object(s.a)(t):t;if(!Object(i.Yb)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function D(t){var e=t.reduce(function(t,e){return null!=e?Object(r.a)({},t,e):t},{});return 0===Object.keys(e).length?null:e}function T(t){return t.validate?function(e){return t.validate(e)}:t}function P(t){return t.validate?function(e){return t.validate(e)}:t}var I={provide:c,useExisting:Object(i.vb)(function(){return R}),multi:!0},R=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){var e=null==t?"":t;this._renderer.setProperty(this._elementRef.nativeElement,"value",e)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[I]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),M={provide:c,useExisting:Object(i.vb)(function(){return F}),multi:!0},N=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&(t[0]._parent===e._control._parent&&t[1].name===e.name)},t=Object(r.b)([Object(i.D)()],t)}(),F=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(v),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"name",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"formControlName",void 0),Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"value",void 0),t=Object(r.b)([Object(i.t)({selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[M]}),Object(r.d)("design:paramtypes",[i.Z,i.u,N,i.F])],t)}(),L={provide:c,useExisting:Object(i.vb)(function(){return V}),multi:!0},V=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t=Object(r.b)([Object(i.t)({selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[L]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),B='\n
        \n \n
        \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',z='\n
        \n
        \n \n
        \n
        \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',H='\n
        \n
        \n
        \n \n
        \n
        \n
        \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',U='\n
        \n
        \n \n
        \n
        ',G='\n
        \n \n \n
        \n ',q=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+B)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+z+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+U)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+B)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+z)},t.arrayParentException=function(){throw new Error("formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+H)},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t.ngModelWarning=function(t){console.warn("\n It looks like you're using ngModel on the same form field as "+t+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},t}(),W={provide:c,useExisting:Object(i.vb)(function(){return K}),multi:!0};function Y(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var K=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Y(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){var e,n;try{for(var i=Object(r.h)(Array.from(this._optionMap.keys())),o=i.next();!o.done;o=i.next()){var a=o.value;if(this._compareWith(this._optionMap.get(a),t))return a}}catch(s){e={error:s}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Function),Object(r.d)("design:paramtypes",[Function])],t.prototype,"compareWith",null),t=Object(r.b)([Object(i.t)({selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[W]}),Object(r.d)("design:paramtypes",[i.Z,i.u])],t)}(),Q=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Y(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},Object(r.b)([Object(i.G)("ngValue"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"ngValue",null),Object(r.b)([Object(i.G)("value"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"value",null),t=Object(r.b)([Object(i.t)({selector:"option"}),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.y)()),Object(r.d)("design:paramtypes",[i.u,i.Z,K])],t)}(),X={provide:c,useExisting:Object(i.vb)(function(){return $}),multi:!0};function Z(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var $=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=i.ac}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var r=t.map(function(t){return n._getOptionId(t)});e=function(t,e){t._setSelected(r.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function at(t){return null!=t?k.compose(t.map(T)):null}function st(t){return null!=t?k.composeAsync(t.map(P)):null}function lt(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(i.ac)(e,n.currentValue)}var ct=[p,V,R,K,$,F];function ut(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function pt(t,e){if(!e)return null;Array.isArray(e)||ot(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){var o;e.constructor===f?n=e:(o=e,ct.some(function(t){return o.constructor===t})?(r&&ot(t,"More than one built-in value accessor matches form control with"),r=e):(i&&ot(t,"More than one custom value accessor matches form control with"),i=e))}),i||(r||(n||(ot(t,"No valid value accessor for form control with"),null)))}function dt(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function ht(t,e,n,r){Object(i.yb)()&&"never"!==r&&((null!==r&&"once"!==r||e._ngModelWarningSentOnce)&&("always"!==r||n._ngModelWarningSent)||(q.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}function ft(t){var e=gt(t)?t.validators:t;return Array.isArray(e)?at(e):e||null}function mt(t,e){var n=gt(e)?e.asyncValidators:t;return Array.isArray(n)?st(n):n||null}function gt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var yt=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=ft(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=mt(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(t){return t.markAllAsTouched()})},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(function(e){e.disable(Object(r.a)({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild(function(e){e.enable(Object(r.a)({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object(r.a)({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=A(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(n)),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof bt?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof _t&&t.at(e)||null},t))}(this,t,".")},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new i.x,this.statusChanges=new i.x},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){gt(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){var e=this._parent&&this._parent.dirty;return!t&&e&&!this._parent._anyControlsDirty()},t}(),vt=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,ft(n),mt(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(r.c)(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(yt),bt=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof vt?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(r,i){n=n||e.contains(i)&&t(r)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,r){n=e(n,t,r)}),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(Object.keys(this.controls)),i=n.next();!i.done;i=n.next()){var o=i.value;if(this.controls[o].enabled)return!1}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(yt),_t=function(t){function e(e,n,r){var i=t.call(this,ft(n),mt(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof vt?t.value:t.getRawValue()})},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild(function(t){return t._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=Object(r.h)(this.controls),i=n.next();!i.done;i=n.next()){if(i.value.enabled)return!1}}catch(o){t={error:o}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(yt),wt={provide:g,useExisting:Object(i.vb)(function(){return Ct})},xt=Promise.resolve(null),Ct=function(t){function e(e,n){var r=t.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new i.x,r.form=new bt({},at(e),st(n)),r}return Object(r.c)(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),et(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),dt(e._directives,t)})},e.prototype.addFormGroup=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path),r=new bt({});rt(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})},e.prototype.removeFormGroup=function(t){var e=this;xt.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;xt.then(function(){n.form.get(t.path).setValue(e)})},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},Object(r.b)([Object(i.G)("ngFormOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),e=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([formGroup]),ngForm,ng-form,[ngForm]",providers:[wt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Ot=function(){function t(){}return t.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+B+"\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n "+G)},t.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+z+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+U)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')},t.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+z+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+U)},t.ngFormWarning=function(){console.warn("\n It looks like you're using 'ngForm'.\n\n Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n in Angular v9.\n\n Use 'ng-form' instead.\n\n Before:\n \n\n After:\n \n ")},t}(),Et=new i.E("NgFormSelectorWarning"),St=function(){function t(t){(t&&"once"!==t||e._ngFormWarning)&&"always"!==t||(Ot.ngFormWarning(),e._ngFormWarning=!0)}var e;return e=t,t._ngFormWarning=!1,t=e=Object(r.b)([Object(i.t)({selector:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.C)(Et)),Object(r.d)("design:paramtypes",[Object])],t)}(),kt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(g),jt={provide:g,useExisting:Object(i.vb)(function(){return At})},At=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}var n;return Object(r.c)(e,t),n=e,e.prototype._checkParentType=function(){this._parent instanceof n||this._parent instanceof Ct||Ot.modelGroupParentException()},Object(r.b)([Object(i.G)("ngModelGroup"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[ngModelGroup]",providers:[jt],exportAs:"ngModelGroup"}),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),Dt={provide:v,useExisting:Object(i.vb)(function(){return Pt})},Tt=Promise.resolve(null),Pt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a.control=new vt,a._registered=!1,a.update=new i.x,a._parent=e,a._rawValidators=n||[],a._rawAsyncValidators=r||[],a.valueAccessor=pt(a,o),a}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),lt(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(e.prototype,"path",{get:function(){return this._parent?tt(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},e.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},e.prototype._setUpStandalone=function(){et(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},e.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},e.prototype._checkParentType=function(){!(this._parent instanceof At)&&this._parent instanceof kt?Ot.formGroupNameException():this._parent instanceof At||this._parent instanceof Ct||Ot.modelParentException()},e.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Ot.missingNameException()},e.prototype._updateValue=function(t){var e=this;Tt.then(function(){e.control.setValue(t,{emitViewToModelChange:!1})})},e.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,r=""===n||n&&"false"!==n;Tt.then(function(){r&&!e.control.disabled?e.control.disable():!r&&e.control.disabled&&e.control.enable()})},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean)],e.prototype,"isDisabled",void 0),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.G)("ngModelOptions"),Object(r.d)("design:type",Object)],e.prototype,"options",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=Object(r.b)([Object(i.t)({selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[Dt],exportAs:"ngModel"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.d)("design:paramtypes",[g,Array,Array,Array])],e)}(v),It=function(){function t(){}return t=Object(r.b)([Object(i.t)({selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}})],t)}(),Rt=new i.E("NgModelWithFormControlWarning"),Mt={provide:v,useExisting:Object(i.vb)(function(){return Nt})},Nt=function(t){function e(e,n,r,o){var a=t.call(this)||this;return a._ngModelWarningConfig=o,a.update=new i.x,a._ngModelWarningSent=!1,a._rawValidators=e||[],a._rawAsyncValidators=n||[],a.valueAccessor=pt(a,r),a}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._isControlChanged(t)&&(et(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),lt(t,this.viewModel)&&(ht("formControl",n,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._isControlChanged=function(t){return t.hasOwnProperty("form")},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControl"),Object(r.d)("design:type",vt)],e.prototype,"form",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControl]",providers:[Mt],exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(c)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[Array,Array,Array,Object])],e)}(v),Ft={provide:g,useExisting:Object(i.vb)(function(){return Lt})},Lt=function(t){function e(e,n){var r=t.call(this)||this;return r._validators=e,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new i.x,r}return Object(r.c)(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return et(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){dt(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);rt(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,ut(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(!function(t,e){e.valueAccessor.registerOnChange(function(){return it(e)}),e.valueAccessor.registerOnTouched(function(){return it(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&et(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=at(this._validators);this.form.validator=k.compose([this.form.validator,t]);var e=st(this._asyncValidators);this.form.asyncValidator=k.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||q.missingFormException()},Object(r.b)([Object(i.G)("formGroup"),Object(r.d)("design:type",bt)],e.prototype,"form",void 0),Object(r.b)([Object(i.S)(),Object(r.d)("design:type",Object)],e.prototype,"ngSubmit",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroup]",providers:[Ft],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.eb)()),Object(r.e)(0,Object(i.C)(O)),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(E)),Object(r.d)("design:paramtypes",[Array,Array])],e)}(g),Vt={provide:g,useExisting:Object(i.vb)(function(){return Bt})},Bt=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype._checkParentType=function(){Ut(this._parent)&&q.groupParentException()},Object(r.b)([Object(i.G)("formGroupName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formGroupName]",providers:[Vt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(kt),zt={provide:g,useExisting:Object(i.vb)(function(){return Ht})},Ht=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){Ut(this._parent)&&q.arrayParentException()},Object(r.b)([Object(i.G)("formArrayName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),e=Object(r.b)([Object(i.t)({selector:"[formArrayName]",providers:[zt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.d)("design:paramtypes",[g,Array,Array])],e)}(g);function Ut(t){return!(t instanceof Bt||t instanceof Lt||t instanceof Ht)}var Gt={provide:v,useExisting:Object(i.vb)(function(){return qt})},qt=function(t){function e(e,n,r,o,a){var s=t.call(this)||this;return s._ngModelWarningConfig=a,s._added=!1,s.update=new i.x,s._ngModelWarningSent=!1,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=r||[],s.valueAccessor=pt(s,o),s}var n;return Object(r.c)(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){q.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),lt(t,this.viewModel)&&(ht("formControlName",n,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return tt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return at(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return st(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof Bt)&&this._parent instanceof kt?q.ngModelGroupException():this._parent instanceof Bt||this._parent instanceof Lt||this._parent instanceof Ht||q.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.G)("formControlName"),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.G)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],e.prototype,"isDisabled",null),Object(r.b)([Object(i.G)("ngModel"),Object(r.d)("design:type",Object)],e.prototype,"model",void 0),Object(r.b)([Object(i.S)("ngModelChange"),Object(r.d)("design:type",Object)],e.prototype,"update",void 0),e=n=Object(r.b)([Object(i.t)({selector:"[formControlName]",providers:[Gt]}),Object(r.e)(0,Object(i.R)()),Object(r.e)(0,Object(i.y)()),Object(r.e)(0,Object(i.fb)()),Object(r.e)(1,Object(i.R)()),Object(r.e)(1,Object(i.eb)()),Object(r.e)(1,Object(i.C)(O)),Object(r.e)(2,Object(i.R)()),Object(r.e)(2,Object(i.eb)()),Object(r.e)(2,Object(i.C)(E)),Object(r.e)(3,Object(i.R)()),Object(r.e)(3,Object(i.eb)()),Object(r.e)(3,Object(i.C)(c)),Object(r.e)(4,Object(i.R)()),Object(r.e)(4,Object(i.C)(Rt)),Object(r.d)("design:paramtypes",[g,Array,Array,Array,Object])],e)}(v),Wt={provide:O,useExisting:Object(i.vb)(function(){return Kt}),multi:!0},Yt={provide:O,useExisting:Object(i.vb)(function(){return Qt}),multi:!0},Kt=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?k.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"required",null),t=Object(r.b)([Object(i.t)({selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[Wt],host:{"[attr.required]":'required ? "" : null'}})],t)}(),Qt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.validate=function(t){return this.required?k.requiredTrue(t):null},e=Object(r.b)([Object(i.t)({selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[Yt],host:{"[attr.required]":'required ? "" : null'}})],e)}(Kt),Xt={provide:O,useExisting:Object(i.vb)(function(){return Zt}),multi:!0},Zt=function(){function t(){}return Object.defineProperty(t.prototype,"email",{set:function(t){this._enabled=""===t||!0===t||"true"===t,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this._enabled?k.email(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],t.prototype,"email",null),t=Object(r.b)([Object(i.t)({selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[Xt]})],t)}(),$t={provide:O,useExisting:Object(i.vb)(function(){return Jt}),multi:!0},Jt=function(){function t(){}return t.prototype.ngOnChanges=function(t){"minlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null==this.minlength?null:this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.minLength(parseInt(this.minlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"minlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[$t],host:{"[attr.minlength]":"minlength ? minlength : null"}})],t)}(),te={provide:O,useExisting:Object(i.vb)(function(){return ee}),multi:!0},ee=function(){function t(){}return t.prototype.ngOnChanges=function(t){"maxlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null!=this.maxlength?this._validator(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.maxLength(parseInt(this.maxlength,10))},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",String)],t.prototype,"maxlength",void 0),t=Object(r.b)([Object(i.t)({selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[te],host:{"[attr.maxlength]":"maxlength ? maxlength : null"}})],t)}(),ne={provide:O,useExisting:Object(i.vb)(function(){return re}),multi:!0},re=function(){function t(){}return t.prototype.ngOnChanges=function(t){"pattern"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k.pattern(this.pattern)},Object(r.b)([Object(i.G)(),Object(r.d)("design:type",Object)],t.prototype,"pattern",void 0),t=Object(r.b)([Object(i.t)({selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[ne],host:{"[attr.pattern]":"pattern ? pattern : null"}})],t)}(),ie=[It,Q,J,f,R,V,p,K,$,F,w,x,Kt,Jt,ee,re,Qt,Zt],oe=[Pt,At,Ct,St],ae=[Nt,Lt,qt,Bt,Ht],se=function(){function t(){}return t=Object(r.b)([Object(i.L)({declarations:ie,exports:ie})],t)}();var le=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),r=null,i=null,o=void 0;return null!=e&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validator?e.validator:null,i=null!=e.asyncValidator?e.asyncValidator:null):(r=null!=e.validators?e.validators:null,i=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0)),new bt(n,{asyncValidators:i,updateOn:o,validators:r})},t.prototype.control=function(t,e,n){return new vt(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map(function(t){return r._createControl(t)});return new _t(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){n[r]=e._createControl(t[r])}),n},t.prototype._createControl=function(t){if(t instanceof vt||t instanceof bt||t instanceof _t)return t;if(Array.isArray(t)){var e=t[0],n=t.length>1?t[1]:null,r=t.length>2?t[2]:null;return this.control(e,n,r)}return this.control(t)},t=Object(r.b)([Object(i.D)()],t)}(),ce=(new i.mb("8.2.6"),function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Et,useValue:t.warnOnDeprecatedNgFormSelector}]}},t=e=Object(r.b)([Object(i.L)({declarations:oe,providers:[N],exports:[se,oe]})],t)}()),ue=function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Rt,useValue:t.warnOnNgModelWithFormControl}]}},t=e=Object(r.b)([Object(i.L)({declarations:[ae],providers:[le,N],exports:[se,ae]})],t)}()},geZN:function(t,e,n){"use strict";n.d(e,"a",function(){return m});var r=n("CcnG"),i=n("o3x0"),o=n("gIcY"),a=n("Gwao"),s=n("X2iB"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e){return function(n,r){e(n,r,t)}},p=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},d=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},m=function(){function t(t,e,n,r){this.devicesService=t,this.minionsService=e,this.dialogRef=n,this.requireDeviceId=!1,this.requireToken=!1}return t.prototype.ngOnInit=function(){var t,e,n,r;this.devicesControl=new o.c("",[o.k.required]),this.devices=[];try{for(var i=f(this.devicesService.lanDevices),a=i.next();!a.done;a=i.next()){var s=a.value;this.devices.push({mac:s.mac,display:s.name||s.mac+" "+s.ip+" "+(s.vendor?s.vendor.substr(0,Math.min(s.vendor.length,10)):"")})}}catch(p){t={error:p}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.brandsControl=new o.c("",[o.k.required]),this.brands=[];try{for(var l=f(this.devicesService.devicesKinds),c=l.next();!c.done;c=l.next()){var u=c.value;-1===this.brands.indexOf(u.brand)&&this.brands.push(u.brand)}}catch(d){n={error:d}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}this.modelsControl=new o.c("",[o.k.required]),this.requiredIdControl=new o.c("",[o.k.required]),this.requiredTokenControl=new o.c("",[o.k.required]),this.nameControl=new o.c("",[o.k.required])},t.prototype.onBrandSelected=function(){var t,e;this.models=[];try{for(var n=f(this.devicesService.devicesKinds),r=n.next();!r.done;r=n.next()){var i=r.value;i.brand===this.brandsControl.value&&this.models.push(i.model)}}catch(o){t={error:o}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},t.prototype.onModelSelected=function(){var t,e,n;try{for(var r=f(this.devicesService.devicesKinds),i=r.next();!i.done;i=r.next()){var o=i.value;if(o.brand===this.brandsControl.value&&o.model===this.modelsControl.value){n=o;break}}}catch(a){t={error:a}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}n&&(this.requireToken=n.isTokenRequierd,this.requireDeviceId=n.isIdRequierd)},t.prototype.createMinion=function(){return p(this,void 0,void 0,function(){return d(this,function(t){return this.minionsService.createMinion({minionStatus:{},minionType:"toggle",name:this.nameControl.value,device:{brand:this.brandsControl.value,model:this.modelsControl.value,deviceId:this.requiredIdControl.value,token:this.requiredTokenControl.value,pysicalDevice:{mac:this.devicesControl.value}}}),this.dialogRef.close(),[2]})})},t.ctorParameters=function(){return[{type:s.a},{type:a.a},{type:i.e},{type:void 0,decorators:[{type:r.C,args:[i.a]}]}]},t=l([Object(r.n)({selector:"app-create-minion-dialog",template:h(n("Iwuw")).default,styles:[h(n("jIeE")).default]}),u(3,Object(r.C)(i.a)),c("design:paramtypes",[s.a,a.a,i.e,Object])],t)}()},h73g:function(t,e,n){"use strict";n.r(e),e.default=""},h9Dq:function(t,e,n){"use strict";var r=n("mrSG"),i=function(t){function e(e,n){return t.call(this)||this}return r.c(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n("pugT").a);n.d(e,"a",function(){return o});var o=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return r.c(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(i)},huyo:function(t,e,n){"use strict";n.r(e),e.default=""},i4nH:function(t,e,n){"use strict";n.r(e),e.default='
        \r\n\t\r\n\r\n\r\n\t\r\n
        '},iLxQ:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack;r=t},get useDeprecatedSynchronousErrorHandling(){return r}}},ihYY:function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"c",function(){return i}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return s}),n.d(e,"f",function(){return f}),n.d(e,"g",function(){return l}),n.d(e,"h",function(){return d}),n.d(e,"i",function(){return m}),n.d(e,"j",function(){return c}),n.d(e,"k",function(){return p}),n.d(e,"l",function(){return u}),n.d(e,"m",function(){return h}),n.d(e,"n",function(){return a}),n.d(e,"d",function(){return y}),n.d(e,"p",function(){return b}),n.d(e,"o",function(){return v});var r=function(){},i=function(){},o="*";function a(t,e){return{type:7,name:t,definitions:e,options:{}}}function s(t,e){return void 0===e&&(e=null),{type:4,styles:e,timings:t}}function l(t,e){return void 0===e&&(e=null),{type:3,steps:t,options:e}}function c(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function u(t){return{type:6,styles:t,offset:null}}function p(t,e,n){return{type:0,name:t,styles:e,options:n}}function d(t){return{type:5,steps:t}}function h(t,e,n){return void 0===n&&(n=null),{type:1,expr:t,animation:e,options:n}}function f(t){return void 0===t&&(t=null),{type:9,options:t}}function m(t,e,n){return void 0===n&&(n=null),{type:11,selector:t,animation:e,options:n}}function g(t){Promise.resolve(null).then(t)}var y=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;g(function(){return t._onFinish()})},t.prototype._onStart=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),v=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?g(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this.players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this.players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach(function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})},t.prototype.getPosition=function(){var t=0;return this.players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},t.prototype.beforeDestroy=function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),b="!"},isby:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}()},jIeE:function(t,e,n){"use strict";n.r(e),e.default=""},"k7+O":function(t,e,n){!function(){"use strict";var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,i=function(){for(var t,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,i=n.length,o={};r50;e!==this.checked&&(this.dragChange.emit(),this.defaults.disableDragValue||(this.checked=e,this._emitChangeEvent())),this._ngZone.runOutsideAngular(function(){return setTimeout(function(){t._dragging&&(t._dragging=!1,t._thumbEl.nativeElement.classList.remove("mat-dragging"),t._thumbEl.nativeElement.style.transform="")})})}},e.prototype._onLabelTextChange=function(){this._changeDetectorRef.detectChanges()},e.decorators=[{type:r.n,args:[{selector:"mat-slide-toggle",exportAs:"matSlideToggle",host:{class:"mat-slide-toggle","[id]":"id","[attr.tabindex]":"disabled ? null : -1","[class.mat-checked]":"checked","[class.mat-disabled]":"disabled","[class.mat-slide-toggle-label-before]":'labelPosition == "before"',"[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"(focus)":"_inputElement.nativeElement.focus()"},template:'',styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px,0,0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px,0,0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}.mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-right:8px;margin-left:0}.mat-slide-toggle-label-before .mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0,0,0);transition:all 80ms linear;transition-property:transform;cursor:-webkit-grab;cursor:grab}.mat-slide-toggle-thumb-container.mat-dragging,.mat-slide-toggle-thumb-container:active{cursor:-webkit-grabbing;cursor:grabbing;transition-duration:0s}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media (hover:none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}@media (-ms-high-contrast:active){.mat-slide-toggle-thumb{background:#fff;border:1px solid #000}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#000;border:1px solid #fff}.mat-slide-toggle-bar{background:#fff}.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:1px dotted;outline-offset:5px}}@media (-ms-high-contrast:black-on-white){.mat-slide-toggle-bar{border:1px solid #000}}"],providers:[g],inputs:["disabled","disableRipple","color","tabIndex"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:l.a},{type:o.e},{type:r.k},{type:String,decorators:[{type:r.h,args:["tabindex"]}]},{type:r.Q},{type:void 0,decorators:[{type:r.C,args:[f]}]},{type:String,decorators:[{type:r.R},{type:r.C,args:[p.a]}]},{type:a.b,decorators:[{type:r.R}]}]},e.propDecorators={_thumbEl:[{type:r.nb,args:["thumbContainer"]}],_thumbBarEl:[{type:r.nb,args:["toggleBar"]}],name:[{type:r.G}],id:[{type:r.G}],labelPosition:[{type:r.G}],ariaLabel:[{type:r.G,args:["aria-label"]}],ariaLabelledby:[{type:r.G,args:["aria-labelledby"]}],required:[{type:r.G}],checked:[{type:r.G}],change:[{type:r.S}],toggleChange:[{type:r.S}],dragChange:[{type:r.S}],_inputElement:[{type:r.nb,args:["input"]}]},e}(Object(u.y)(Object(u.u)(Object(u.v)(Object(u.w)(v)),"accent"))),_=function(){function t(){}return t.decorators=[{type:r.L,args:[{imports:[u.q,u.h,d.b],exports:[b,u.h],declarations:[b],providers:[{provide:h.c,useClass:u.c}]}]}],t}()},kkvW:function(t,e,n){"use strict";n.r(e),e.default=''},kwJ1:function(t,e,n){"use strict";n.r(e),e.default='/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n/* Theme for the ripple elements.*/\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n.mat-badge-content {\n font-weight: 600;\n font-size: 12px;\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-badge-small .mat-badge-content {\n font-size: 6px; }\n.mat-badge-large .mat-badge-content {\n font-size: 24px; }\n.mat-h1, .mat-headline, .mat-typography h1 {\n font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h2, .mat-title, .mat-typography h2 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h3, .mat-subheading-2, .mat-typography h3 {\n font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h4, .mat-subheading-1, .mat-typography h4 {\n font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 16px; }\n.mat-h5, .mat-typography h5 {\n font: 400 11.62px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px; }\n.mat-h6, .mat-typography h6 {\n font: 400 9.38px/20px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 12px; }\n.mat-body-strong, .mat-body-2 {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif; }\n.mat-body, .mat-body-1, .mat-typography {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-body p, .mat-body-1 p, .mat-typography p {\n margin: 0 0 12px; }\n.mat-small, .mat-caption {\n font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-display-4, .mat-typography .mat-display-4 {\n font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 56px;\n letter-spacing: -0.05em; }\n.mat-display-3, .mat-typography .mat-display-3 {\n font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.02em; }\n.mat-display-2, .mat-typography .mat-display-2 {\n font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px;\n letter-spacing: -0.005em; }\n.mat-display-1, .mat-typography .mat-display-1 {\n font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;\n margin: 0 0 64px; }\n.mat-bottom-sheet-container {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n.mat-flat-button, .mat-fab, .mat-mini-fab {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-button-toggle {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-card {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-card-title {\n font-size: 24px;\n font-weight: 500; }\n.mat-card-header .mat-card-title {\n font-size: 20px; }\n.mat-card-subtitle,\n.mat-card-content {\n font-size: 14px; }\n.mat-checkbox {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-checkbox-layout .mat-checkbox-label {\n line-height: 24px; }\n.mat-chip {\n font-size: 14px;\n font-weight: 500; }\n.mat-chip .mat-chip-trailing-icon.mat-icon,\n .mat-chip .mat-chip-remove.mat-icon {\n font-size: 18px; }\n.mat-table {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-header-cell {\n font-size: 12px;\n font-weight: 500; }\n.mat-cell, .mat-footer-cell {\n font-size: 14px; }\n.mat-calendar {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-calendar-body {\n font-size: 13px; }\n.mat-calendar-body-label,\n.mat-calendar-period-button {\n font-size: 14px;\n font-weight: 500; }\n.mat-calendar-table-header th {\n font-size: 11px;\n font-weight: 400; }\n.mat-dialog-title {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif; }\n.mat-expansion-panel-header {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 15px;\n font-weight: 400; }\n.mat-expansion-panel-content {\n font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif; }\n.mat-form-field {\n font-size: inherit;\n font-weight: 400;\n line-height: 1.125;\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-form-field-wrapper {\n padding-bottom: 1.34375em; }\n.mat-form-field-prefix .mat-icon,\n.mat-form-field-suffix .mat-icon {\n font-size: 150%;\n line-height: 1.125; }\n.mat-form-field-prefix .mat-icon-button,\n.mat-form-field-suffix .mat-icon-button {\n height: 1.5em;\n width: 1.5em; }\n.mat-form-field-prefix .mat-icon-button .mat-icon,\n .mat-form-field-suffix .mat-icon-button .mat-icon {\n height: 1.125em;\n line-height: 1.125; }\n.mat-form-field-infix {\n padding: 0.5em 0;\n border-top: 0.84375em solid transparent; }\n.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.34375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.34374em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-label-wrapper {\n top: -0.84375em;\n padding-top: 0.84375em; }\n.mat-form-field-label {\n top: 1.34375em; }\n.mat-form-field-underline {\n bottom: 1.34375em; }\n.mat-form-field-subscript-wrapper {\n font-size: 75%;\n margin-top: 0.66666667em;\n top: calc(100% - 1.79166667em); }\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\n padding-bottom: 1.25em; }\n.mat-form-field-appearance-legacy .mat-form-field-infix {\n padding: 0.4375em 0; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n -ms-transform: translateY(-1.28125em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\n -ms-transform: translateY(-1.28124em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\n -ms-transform: translateY(-1.28123em) scale(0.75);\n width: 133.33335333%; }\n.mat-form-field-appearance-legacy .mat-form-field-label {\n top: 1.28125em; }\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n bottom: 1.25em; }\n.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\n margin-top: 0.54166667em;\n top: calc(100% - 1.66666667em); }\n@media print {\n .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28122em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28121em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.2812em) scale(0.75); } }\n.mat-form-field-appearance-fill .mat-form-field-infix {\n padding: 0.25em 0 0.75em 0; }\n.mat-form-field-appearance-fill .mat-form-field-label {\n top: 1.09375em;\n margin-top: -0.5em; }\n.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-0.59375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-0.59374em) scale(0.75);\n width: 133.33334333%; }\n.mat-form-field-appearance-outline .mat-form-field-infix {\n padding: 1em 0 1em 0; }\n.mat-form-field-appearance-outline .mat-form-field-label {\n top: 1.84375em;\n margin-top: -0.25em; }\n.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.59375em) scale(0.75);\n width: 133.33333333%; }\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.59374em) scale(0.75);\n width: 133.33334333%; }\n.mat-grid-tile-header,\n.mat-grid-tile-footer {\n font-size: 14px; }\n.mat-grid-tile-header .mat-line,\n .mat-grid-tile-footer .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-grid-tile-header .mat-line:nth-child(n+2),\n .mat-grid-tile-footer .mat-line:nth-child(n+2) {\n font-size: 12px; }\ninput.mat-input-element {\n margin-top: -0.0625em; }\n.mat-menu-item {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 400; }\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px; }\n.mat-radio-button {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-select {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-select-trigger {\n height: 1.125em; }\n.mat-slide-toggle-content {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-slider-thumb-label-text {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n.mat-stepper-vertical, .mat-stepper-horizontal {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-step-label {\n font-size: 14px;\n font-weight: 400; }\n.mat-step-sub-label-error {\n font-weight: normal; }\n.mat-step-label-error {\n font-size: 14px; }\n.mat-step-label-selected {\n font-size: 14px;\n font-weight: 500; }\n.mat-tab-group {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-tab-label, .mat-tab-link {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-toolbar,\n.mat-toolbar h1,\n.mat-toolbar h2,\n.mat-toolbar h3,\n.mat-toolbar h4,\n.mat-toolbar h5,\n.mat-toolbar h6 {\n font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;\n margin: 0; }\n.mat-tooltip {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 10px;\n padding-top: 6px;\n padding-bottom: 6px; }\n.mat-tooltip-handset {\n font-size: 14px;\n padding-top: 8px;\n padding-bottom: 8px; }\n.mat-list-item {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-list-option {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-list-base .mat-list-item {\n font-size: 16px; }\n.mat-list-base .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 14px; }\n.mat-list-base .mat-list-option {\n font-size: 16px; }\n.mat-list-base .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 14px; }\n.mat-list-base .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n.mat-list-base[dense] .mat-list-item {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-option {\n font-size: 12px; }\n.mat-list-base[dense] .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 12px; }\n.mat-list-base[dense] .mat-subheader {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n.mat-option {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 16px; }\n.mat-optgroup-label {\n font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif; }\n.mat-simple-snackbar {\n font-family: Roboto, "Helvetica Neue", sans-serif;\n font-size: 14px; }\n.mat-simple-snackbar-action {\n line-height: 1;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500; }\n.mat-tree {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\n.mat-tree-node,\n.mat-nested-tree-node {\n font-weight: 400;\n font-size: 14px; }\n.mat-ripple {\n overflow: hidden;\n position: relative; }\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible; }\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale(0); }\n@media (-ms-high-contrast: active) {\n .mat-ripple-element {\n display: none; } }\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none; }\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%; }\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000; }\n.cdk-overlay-container:empty {\n display: none; }\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000; }\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%; }\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0; }\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1; }\n@media screen and (-ms-high-contrast: active) {\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6; } }\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32); }\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0; }\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px; }\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll; }\n@-webkit-keyframes cdk-text-field-autofill-start {\n /*!*/ }\n@keyframes cdk-text-field-autofill-start {\n /*!*/ }\n@-webkit-keyframes cdk-text-field-autofill-end {\n /*!*/ }\n@keyframes cdk-text-field-autofill-end {\n /*!*/ }\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n -webkit-animation-name: cdk-text-field-autofill-start;\n animation-name: cdk-text-field-autofill-start; }\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n -webkit-animation-name: cdk-text-field-autofill-end;\n animation-name: cdk-text-field-autofill-end; }\ntextarea.cdk-textarea-autosize {\n resize: none; }\ntextarea.cdk-textarea-autosize-measuring {\n height: auto !important;\n overflow: hidden !important;\n padding: 2px 0 !important;\n box-sizing: content-box !important; }\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1); }\n.mat-option {\n color: rgba(0, 0, 0, 0.87); }\n.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-option.mat-active {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87); }\n.mat-option.mat-option-disabled {\n color: rgba(0, 0, 0, 0.38); }\n.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #2196f3; }\n.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #ff4081; }\n.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #f44336; }\n.mat-optgroup-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-optgroup-disabled .mat-optgroup-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54); }\n.mat-pseudo-checkbox::after {\n color: #fafafa; }\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0; }\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #ff4081; }\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #2196f3; }\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #f44336; }\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0; }\n.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }\n.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n.mat-theme-loaded-marker {\n display: none; }\n.mat-autocomplete-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-autocomplete-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\n background: white; }\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\n color: rgba(0, 0, 0, 0.87); }\n.mat-badge-content {\n color: white;\n background: #2196f3; }\n@media (-ms-high-contrast: active) {\n .mat-badge-content {\n outline: solid 1px;\n border-radius: 0; } }\n.mat-badge-accent .mat-badge-content {\n background: #ff4081;\n color: white; }\n.mat-badge-warn .mat-badge-content {\n color: white;\n background: #f44336; }\n.mat-badge {\n position: relative; }\n.mat-badge-hidden .mat-badge-content {\n display: none; }\n.mat-badge-disabled .mat-badge-content {\n background: #b9b9b9;\n color: rgba(0, 0, 0, 0.38); }\n.mat-badge-content {\n position: absolute;\n text-align: center;\n display: inline-block;\n border-radius: 50%;\n transition: transform 200ms ease-in-out;\n transform: scale(0.6);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none; }\n.mat-badge-content.mat-badge-active {\n transform: none; }\n.mat-badge-small .mat-badge-content {\n width: 16px;\n height: 16px;\n line-height: 16px; }\n.mat-badge-small.mat-badge-above .mat-badge-content {\n top: -8px; }\n.mat-badge-small.mat-badge-below .mat-badge-content {\n bottom: -8px; }\n.mat-badge-small.mat-badge-before .mat-badge-content {\n left: -16px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-before .mat-badge-content {\n left: auto;\n right: -16px; }\n.mat-badge-small.mat-badge-after .mat-badge-content {\n right: -16px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-after .mat-badge-content {\n right: auto;\n left: -16px; }\n.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -8px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -8px; }\n.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -8px; }\n[dir=\'rtl\'] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -8px; }\n.mat-badge-medium .mat-badge-content {\n width: 22px;\n height: 22px;\n line-height: 22px; }\n.mat-badge-medium.mat-badge-above .mat-badge-content {\n top: -11px; }\n.mat-badge-medium.mat-badge-below .mat-badge-content {\n bottom: -11px; }\n.mat-badge-medium.mat-badge-before .mat-badge-content {\n left: -22px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-before .mat-badge-content {\n left: auto;\n right: -22px; }\n.mat-badge-medium.mat-badge-after .mat-badge-content {\n right: -22px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-after .mat-badge-content {\n right: auto;\n left: -22px; }\n.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -11px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -11px; }\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -11px; }\n[dir=\'rtl\'] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -11px; }\n.mat-badge-large .mat-badge-content {\n width: 28px;\n height: 28px;\n line-height: 28px; }\n.mat-badge-large.mat-badge-above .mat-badge-content {\n top: -14px; }\n.mat-badge-large.mat-badge-below .mat-badge-content {\n bottom: -14px; }\n.mat-badge-large.mat-badge-before .mat-badge-content {\n left: -28px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-before .mat-badge-content {\n left: auto;\n right: -28px; }\n.mat-badge-large.mat-badge-after .mat-badge-content {\n right: -28px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-after .mat-badge-content {\n right: auto;\n left: -28px; }\n.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -14px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -14px; }\n.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -14px; }\n[dir=\'rtl\'] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -14px; }\n.mat-bottom-sheet-container {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-button, .mat-icon-button, .mat-stroked-button {\n color: inherit;\n background: transparent; }\n.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\n color: #2196f3; }\n.mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {\n color: #ff4081; }\n.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {\n color: #f44336; }\n.mat-button.mat-primary[disabled], .mat-button.mat-accent[disabled], .mat-button.mat-warn[disabled], .mat-button[disabled][disabled], .mat-icon-button.mat-primary[disabled], .mat-icon-button.mat-accent[disabled], .mat-icon-button.mat-warn[disabled], .mat-icon-button[disabled][disabled], .mat-stroked-button.mat-primary[disabled], .mat-stroked-button.mat-accent[disabled], .mat-stroked-button.mat-warn[disabled], .mat-stroked-button[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {\n background-color: #2196f3; }\n.mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {\n background-color: #ff4081; }\n.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {\n background-color: #f44336; }\n.mat-button[disabled] .mat-button-focus-overlay, .mat-icon-button[disabled] .mat-button-focus-overlay, .mat-stroked-button[disabled] .mat-button-focus-overlay {\n background-color: transparent; }\n.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {\n opacity: 0.1;\n background-color: currentColor; }\n.mat-button-focus-overlay {\n background: black; }\n.mat-stroked-button:not([disabled]) {\n border-color: rgba(0, 0, 0, 0.12); }\n.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n color: rgba(0, 0, 0, 0.87);\n background-color: white; }\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n color: white; }\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n color: white; }\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n color: white; }\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n background-color: #2196f3; }\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n background-color: #ff4081; }\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n background-color: #f44336; }\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n.mat-stroked-button:not([class*=\'mat-elevation-z\']), .mat-flat-button:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-raised-button:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-raised-button:not([disabled]):active:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n.mat-raised-button[disabled]:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-fab:not([class*=\'mat-elevation-z\']), .mat-mini-fab:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-fab:not([disabled]):active:not([class*=\'mat-elevation-z\']), .mat-mini-fab:not([disabled]):active:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n.mat-fab[disabled]:not([class*=\'mat-elevation-z\']), .mat-mini-fab[disabled]:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-standalone,\n.mat-button-toggle-group {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n box-shadow: none; }\n.mat-button-toggle {\n color: rgba(0, 0, 0, 0.38); }\n.mat-button-toggle .mat-button-toggle-focus-overlay {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87);\n background: white; }\n.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\n background-color: black; }\n.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: solid 1px rgba(0, 0, 0, 0.12); }\n[dir=\'rtl\'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: none;\n border-top: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-button-toggle-checked {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.54); }\n.mat-button-toggle-checked.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87); }\n.mat-button-toggle-disabled {\n color: rgba(0, 0, 0, 0.26);\n background-color: #eeeeee; }\n.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\n background: white; }\n.mat-button-toggle-disabled.mat-button-toggle-checked {\n background-color: #bdbdbd; }\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n border: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-card {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-card:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n.mat-card.mat-card-flat:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-card-subtitle {\n color: rgba(0, 0, 0, 0.54); }\n.mat-checkbox-frame {\n border-color: rgba(0, 0, 0, 0.54); }\n.mat-checkbox-checkmark {\n fill: #fafafa; }\n.mat-checkbox-checkmark-path {\n stroke: #fafafa !important; }\n@media (-ms-high-contrast: black-on-white) {\n .mat-checkbox-checkmark-path {\n stroke: #000 !important; } }\n.mat-checkbox-mixedmark {\n background-color: #fafafa; }\n.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {\n background-color: #2196f3; }\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {\n background-color: #ff4081; }\n.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {\n background-color: #f44336; }\n.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\n background-color: #b0b0b0; }\n.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\n border-color: #b0b0b0; }\n.mat-checkbox-disabled .mat-checkbox-label {\n color: rgba(0, 0, 0, 0.54); }\n@media (-ms-high-contrast: active) {\n .mat-checkbox-disabled {\n opacity: 0.5; } }\n@media (-ms-high-contrast: active) {\n .mat-checkbox-background {\n background: none; } }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element {\n background-color: #2196f3; }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {\n background-color: #ff4081; }\n.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element {\n background-color: #f44336; }\n.mat-chip.mat-standard-chip {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87); }\n.mat-chip.mat-standard-chip .mat-chip-remove {\n color: rgba(0, 0, 0, 0.87);\n opacity: 0.4; }\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\n opacity: 0.54; }\n.mat-chip.mat-standard-chip.mat-chip-disabled {\n opacity: 0.4; }\n.mat-chip.mat-standard-chip::after {\n background: black; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\n background-color: #2196f3;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\n background-color: #f44336;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\n background-color: #ff4081;\n color: white; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\n background: rgba(255, 255, 255, 0.1); }\n.mat-table {\n background: white; }\n.mat-table thead, .mat-table tbody, .mat-table tfoot,\nmat-header-row, mat-row, mat-footer-row,\n[mat-header-row], [mat-row], [mat-footer-row],\n.mat-table-sticky {\n background: inherit; }\nmat-row, mat-header-row, mat-footer-row,\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n.mat-header-cell {\n color: rgba(0, 0, 0, 0.54); }\n.mat-cell, .mat-footer-cell {\n color: rgba(0, 0, 0, 0.87); }\n.mat-calendar-arrow {\n border-top-color: rgba(0, 0, 0, 0.54); }\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54); }\n.mat-calendar-table-header {\n color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12); }\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-calendar-body-cell-content {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent; }\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\n background-color: rgba(0, 0, 0, 0.04); }\n.mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected) {\n border-color: rgba(0, 0, 0, 0.18); }\n.mat-calendar-body-selected {\n background-color: #2196f3;\n color: white; }\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(33, 150, 243, 0.4); }\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #ff4081;\n color: white; }\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 64, 129, 0.4); }\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #f44336;\n color: white; }\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(244, 67, 54, 0.4); }\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n.mat-datepicker-content-touch {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n.mat-datepicker-toggle-active {\n color: #2196f3; }\n.mat-datepicker-toggle-active.mat-accent {\n color: #ff4081; }\n.mat-datepicker-toggle-active.mat-warn {\n color: #f44336; }\n.mat-dialog-container {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-divider {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-divider-vertical {\n border-right-color: rgba(0, 0, 0, 0.12); }\n.mat-expansion-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-expansion-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n.mat-action-row {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']).cdk-keyboard-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']).cdk-program-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=\'true\']):hover {\n background: rgba(0, 0, 0, 0.04); }\n@media (hover: none) {\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=\'true\'])\n.mat-expansion-panel-header:hover {\n background: white; } }\n.mat-expansion-panel-header-title {\n color: rgba(0, 0, 0, 0.87); }\n.mat-expansion-panel-header-description,\n.mat-expansion-indicator::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-expansion-panel-header[aria-disabled=\'true\'] {\n color: rgba(0, 0, 0, 0.26); }\n.mat-expansion-panel-header[aria-disabled=\'true\'] .mat-expansion-panel-header-title,\n .mat-expansion-panel-header[aria-disabled=\'true\'] .mat-expansion-panel-header-description {\n color: inherit; }\n.mat-form-field-label {\n color: rgba(0, 0, 0, 0.6); }\n.mat-hint {\n color: rgba(0, 0, 0, 0.6); }\n.mat-form-field.mat-focused .mat-form-field-label {\n color: #2196f3; }\n.mat-form-field.mat-focused .mat-form-field-label.mat-accent {\n color: #ff4081; }\n.mat-form-field.mat-focused .mat-form-field-label.mat-warn {\n color: #f44336; }\n.mat-focused .mat-form-field-required-marker {\n color: #ff4081; }\n.mat-form-field-ripple {\n background-color: rgba(0, 0, 0, 0.87); }\n.mat-form-field.mat-focused .mat-form-field-ripple {\n background-color: #2196f3; }\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\n background-color: #ff4081; }\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\n background-color: #f44336; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\n color: #2196f3; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\n color: #ff4081; }\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-label {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\n .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\n color: #f44336; }\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\n background-color: #f44336; }\n.mat-error {\n color: #f44336; }\n.mat-form-field-appearance-legacy .mat-form-field-label {\n color: rgba(0, 0, 0, 0.54); }\n.mat-form-field-appearance-legacy .mat-hint {\n color: rgba(0, 0, 0, 0.54); }\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n.mat-form-field-appearance-standard .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n.mat-form-field-appearance-fill .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.04); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.02); }\n.mat-form-field-appearance-fill .mat-form-field-underline::before {\n background-color: rgba(0, 0, 0, 0.42); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\n background-color: transparent; }\n.mat-form-field-appearance-outline .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.12); }\n.mat-form-field-appearance-outline .mat-form-field-outline-thick {\n color: rgba(0, 0, 0, 0.87); }\n.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\n color: #2196f3; }\n.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\n color: #ff4081; }\n.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\n color: #f44336; }\n.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\n color: #f44336; }\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.06); }\n.mat-icon.mat-primary {\n color: #2196f3; }\n.mat-icon.mat-accent {\n color: #ff4081; }\n.mat-icon.mat-warn {\n color: #f44336; }\n.mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-input-element:disabled,\n.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.38); }\n.mat-input-element {\n caret-color: #2196f3; }\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-input-element:-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-accent .mat-input-element {\n caret-color: #ff4081; }\n.mat-warn .mat-input-element,\n.mat-form-field-invalid .mat-input-element {\n caret-color: #f44336; }\n.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n color: #f44336; }\n.mat-list-base .mat-list-item {\n color: rgba(0, 0, 0, 0.87); }\n.mat-list-base .mat-list-option {\n color: rgba(0, 0, 0, 0.87); }\n.mat-list-base .mat-subheader {\n color: rgba(0, 0, 0, 0.54); }\n.mat-list-item-disabled {\n background-color: #eeeeee; }\n.mat-list-option:hover, .mat-list-option:focus,\n.mat-nav-list .mat-list-item:hover,\n.mat-nav-list .mat-list-item:focus,\n.mat-action-list .mat-list-item:hover,\n.mat-action-list .mat-list-item:focus {\n background: rgba(0, 0, 0, 0.04); }\n.mat-menu-panel {\n background: white; }\n.mat-menu-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-menu-item {\n background: transparent;\n color: rgba(0, 0, 0, 0.87); }\n.mat-menu-item[disabled], .mat-menu-item[disabled]::after {\n color: rgba(0, 0, 0, 0.38); }\n.mat-menu-item .mat-icon-no-color,\n.mat-menu-item-submenu-trigger::after {\n color: rgba(0, 0, 0, 0.54); }\n.mat-menu-item:hover:not([disabled]),\n.mat-menu-item.cdk-program-focused:not([disabled]),\n.mat-menu-item.cdk-keyboard-focused:not([disabled]),\n.mat-menu-item-highlighted:not([disabled]) {\n background: rgba(0, 0, 0, 0.04); }\n.mat-paginator {\n background: white; }\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n color: rgba(0, 0, 0, 0.54); }\n.mat-paginator-decrement,\n.mat-paginator-increment {\n border-top: 2px solid rgba(0, 0, 0, 0.54);\n border-right: 2px solid rgba(0, 0, 0, 0.54); }\n.mat-paginator-first,\n.mat-paginator-last {\n border-top: 2px solid rgba(0, 0, 0, 0.54); }\n.mat-icon-button[disabled] .mat-paginator-decrement,\n.mat-icon-button[disabled] .mat-paginator-increment,\n.mat-icon-button[disabled] .mat-paginator-first,\n.mat-icon-button[disabled] .mat-paginator-last {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-progress-bar-background {\n fill: #bbdefb; }\n.mat-progress-bar-buffer {\n background-color: #bbdefb; }\n.mat-progress-bar-fill::after {\n background-color: #2196f3; }\n.mat-progress-bar.mat-accent .mat-progress-bar-background {\n fill: #ff80ab; }\n.mat-progress-bar.mat-accent .mat-progress-bar-buffer {\n background-color: #ff80ab; }\n.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\n background-color: #ff4081; }\n.mat-progress-bar.mat-warn .mat-progress-bar-background {\n fill: #ffcdd2; }\n.mat-progress-bar.mat-warn .mat-progress-bar-buffer {\n background-color: #ffcdd2; }\n.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\n background-color: #f44336; }\n.mat-progress-spinner circle, .mat-spinner circle {\n stroke: #2196f3; }\n.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {\n stroke: #ff4081; }\n.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {\n stroke: #f44336; }\n.mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.54); }\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\n border-color: #2196f3; }\n.mat-radio-button.mat-primary .mat-radio-inner-circle,\n.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\n background-color: #2196f3; }\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\n border-color: #ff4081; }\n.mat-radio-button.mat-accent .mat-radio-inner-circle,\n.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\n background-color: #ff4081; }\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\n border-color: #f44336; }\n.mat-radio-button.mat-warn .mat-radio-inner-circle,\n.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\n background-color: #f44336; }\n.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\n.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\n.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button.mat-radio-disabled .mat-radio-label-content {\n color: rgba(0, 0, 0, 0.38); }\n.mat-radio-button .mat-ripple-element {\n background-color: black; }\n.mat-select-value {\n color: rgba(0, 0, 0, 0.87); }\n.mat-select-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n.mat-select-disabled .mat-select-value {\n color: rgba(0, 0, 0, 0.38); }\n.mat-select-arrow {\n color: rgba(0, 0, 0, 0.54); }\n.mat-select-panel {\n background: white; }\n.mat-select-panel:not([class*=\'mat-elevation-z\']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\n background: rgba(0, 0, 0, 0.12); }\n.mat-form-field.mat-focused.mat-primary .mat-select-arrow {\n color: #2196f3; }\n.mat-form-field.mat-focused.mat-accent .mat-select-arrow {\n color: #ff4081; }\n.mat-form-field.mat-focused.mat-warn .mat-select-arrow {\n color: #f44336; }\n.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\n color: #f44336; }\n.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\n color: rgba(0, 0, 0, 0.38); }\n.mat-drawer-container {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n.mat-drawer {\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n.mat-drawer.mat-drawer-push {\n background-color: white; }\n.mat-drawer:not(.mat-drawer-side) {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n.mat-drawer-side {\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-drawer-side.mat-drawer-end {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n[dir=\'rtl\'] .mat-drawer-side {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n[dir=\'rtl\'] .mat-drawer-side.mat-drawer-end {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n.mat-drawer-backdrop.mat-drawer-shown {\n background-color: rgba(0, 0, 0, 0.6); }\n.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\n background-color: #ff4081; }\n.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(255, 64, 129, 0.54); }\n.mat-slide-toggle.mat-checked .mat-ripple-element {\n background-color: #ff4081; }\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\n background-color: #2196f3; }\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(33, 150, 243, 0.54); }\n.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\n background-color: #2196f3; }\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\n background-color: #f44336; }\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(244, 67, 54, 0.54); }\n.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\n background-color: #f44336; }\n.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\n background-color: black; }\n.mat-slide-toggle-thumb {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n background-color: #fafafa; }\n.mat-slide-toggle-bar {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-primary .mat-slider-track-fill,\n.mat-primary .mat-slider-thumb,\n.mat-primary .mat-slider-thumb-label {\n background-color: #2196f3; }\n.mat-primary .mat-slider-thumb-label-text {\n color: white; }\n.mat-accent .mat-slider-track-fill,\n.mat-accent .mat-slider-thumb,\n.mat-accent .mat-slider-thumb-label {\n background-color: #ff4081; }\n.mat-accent .mat-slider-thumb-label-text {\n color: white; }\n.mat-warn .mat-slider-track-fill,\n.mat-warn .mat-slider-thumb,\n.mat-warn .mat-slider-thumb-label {\n background-color: #f44336; }\n.mat-warn .mat-slider-thumb-label-text {\n color: white; }\n.mat-slider-focus-ring {\n background-color: rgba(255, 64, 129, 0.2); }\n.mat-slider:hover .mat-slider-track-background,\n.cdk-focused .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-disabled .mat-slider-track-background,\n.mat-slider-disabled .mat-slider-track-fill,\n.mat-slider-disabled .mat-slider-thumb {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-disabled:hover .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-min-value .mat-slider-focus-ring {\n background-color: rgba(0, 0, 0, 0.12); }\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.87); }\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26);\n background-color: transparent; }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26); }\n.mat-slider-has-ticks .mat-slider-wrapper::after {\n border-color: rgba(0, 0, 0, 0.7); }\n.mat-slider-horizontal .mat-slider-ticks {\n background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n.mat-slider-vertical .mat-slider-ticks {\n background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {\n background-color: rgba(0, 0, 0, 0.04); }\n@media (hover: none) {\n .mat-step-header:hover {\n background: none; } }\n.mat-step-header .mat-step-label,\n.mat-step-header .mat-step-optional {\n color: rgba(0, 0, 0, 0.54); }\n.mat-step-header .mat-step-icon {\n background-color: rgba(0, 0, 0, 0.54);\n color: white; }\n.mat-step-header .mat-step-icon-selected,\n.mat-step-header .mat-step-icon-state-done,\n.mat-step-header .mat-step-icon-state-edit {\n background-color: #2196f3;\n color: white; }\n.mat-step-header .mat-step-icon-state-error {\n background-color: transparent;\n color: #f44336; }\n.mat-step-header .mat-step-label.mat-step-label-active {\n color: rgba(0, 0, 0, 0.87); }\n.mat-step-header .mat-step-label.mat-step-label-error {\n color: #f44336; }\n.mat-stepper-horizontal, .mat-stepper-vertical {\n background-color: white; }\n.mat-stepper-vertical-line::before {\n border-left-color: rgba(0, 0, 0, 0.12); }\n.mat-horizontal-stepper-header::before,\n.mat-horizontal-stepper-header::after,\n.mat-stepper-horizontal-line {\n border-top-color: rgba(0, 0, 0, 0.12); }\n.mat-sort-header-arrow {\n color: #757575; }\n.mat-tab-nav-bar,\n.mat-tab-header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12); }\n.mat-tab-group-inverted-header .mat-tab-nav-bar,\n.mat-tab-group-inverted-header .mat-tab-header {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none; }\n.mat-tab-label, .mat-tab-link {\n color: rgba(0, 0, 0, 0.87); }\n.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\n color: rgba(0, 0, 0, 0.38); }\n.mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.87); }\n.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.38); }\n.mat-tab-group[class*=\'mat-background-\'] .mat-tab-header,\n.mat-tab-nav-bar[class*=\'mat-background-\'] {\n border-bottom: none;\n border-top: none; }\n.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3); }\n.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {\n background-color: #2196f3; }\n.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3); }\n.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {\n background-color: #ff4081; }\n.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {\n background-color: #f44336; }\n.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar {\n background-color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(187, 222, 251, 0.3); }\n.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links {\n background-color: #2196f3; }\n.mat-tab-group.mat-background-primary .mat-tab-label, .mat-tab-group.mat-background-primary .mat-tab-link, .mat-tab-nav-bar.mat-background-primary .mat-tab-label, .mat-tab-nav-bar.mat-background-primary .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-primary .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 128, 171, 0.3); }\n.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links {\n background-color: #ff4081; }\n.mat-tab-group.mat-background-accent .mat-tab-label, .mat-tab-group.mat-background-accent .mat-tab-link, .mat-tab-nav-bar.mat-background-accent .mat-tab-label, .mat-tab-nav-bar.mat-background-accent .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-accent .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links {\n background-color: #f44336; }\n.mat-tab-group.mat-background-warn .mat-tab-label, .mat-tab-group.mat-background-warn .mat-tab-link, .mat-tab-nav-bar.mat-background-warn .mat-tab-label, .mat-tab-nav-bar.mat-background-warn .mat-tab-link {\n color: white; }\n.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron {\n border-color: white; }\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n.mat-tab-group.mat-background-warn .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n.mat-toolbar {\n background: whitesmoke;\n color: rgba(0, 0, 0, 0.87); }\n.mat-toolbar.mat-primary {\n background: #2196f3;\n color: white; }\n.mat-toolbar.mat-accent {\n background: #ff4081;\n color: white; }\n.mat-toolbar.mat-warn {\n background: #f44336;\n color: white; }\n.mat-toolbar .mat-form-field-underline,\n .mat-toolbar .mat-form-field-ripple,\n .mat-toolbar .mat-focused .mat-form-field-ripple {\n background-color: currentColor; }\n.mat-toolbar .mat-form-field-label,\n .mat-toolbar .mat-focused .mat-form-field-label,\n .mat-toolbar .mat-select-value,\n .mat-toolbar .mat-select-arrow,\n .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\n color: inherit; }\n.mat-toolbar .mat-input-element {\n caret-color: currentColor; }\n.mat-tooltip {\n background: rgba(97, 97, 97, 0.9); }\n.mat-tree {\n background: white; }\n.mat-tree-node,\n.mat-nested-tree-node {\n color: rgba(0, 0, 0, 0.87); }\n.mat-snack-bar-container {\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n.mat-simple-snackbar-action {\n color: #ff4081; }\nmgl-timeline {\n font-family: Roboto, "Helvetica Neue", sans-serif; }\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white !important;\n color: black; }\nmgl-timeline mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header {\n background-color: #f5f5f5 !important; }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.primary {\n background-color: #2196f3; }\nmgl-timeline mgl-timeline-entry mgl-timeline-entry-dot.accent {\n background-color: #ff4081; }\nmd-toolbar {\n margin-bottom: 10px !important; }\nmd-toolbar:not(.mat-primary) .mat-toolbar-row {\n flex-wrap: wrap;\n height: auto;\n padding: 5px 0; }\nmd-toolbar:not(.mat-primary) button {\n margin: 5px !important; }\nmgl-timeline:not(.mobile) {\n padding: 50px 20px; }\nmgl-timeline.mobile {\n padding-right: 20px; }\n'},l01N:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(t){return JSON.parse(JSON.stringify(t))}},l4qL:function(t,e,n){"use strict";n.r(e),e.default="table {\n width: 100%; }\n\n.table-container {\n max-height: 260px;\n overflow: auto;\n margin-top: 30px;\n margin-bottom: 30px; }\n"},lGQG:function(t,e,n){"use strict";n.d(e,"a",function(){return d});var r=n("CcnG"),i=n("t/Na"),o=n("ZYCi"),a=n("26FU"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&n!==e._activeItemIndex&&(e._activeItemIndex=n)}})}return t.prototype.skipPredicate=function(t){return this._skipPredicateFn=t,this},t.prototype.withWrap=function(t){return void 0===t&&(t=!0),this._wrap=t,this},t.prototype.withVerticalOrientation=function(t){return void 0===t&&(t=!0),this._vertical=t,this},t.prototype.withHorizontalOrientation=function(t){return this._horizontal=t,this},t.prototype.withAllowedModifierKeys=function(t){return this._allowedModifierKeys=t,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some(function(t){return"function"!=typeof t.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Object(c.a)(function(t){return e._pressedLetters.push(t)}),Object(u.a)(t),Object(p.a)(function(){return e._pressedLetters.length>0}),Object(d.a)(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),r=1;r-1});switch(n){case l.o:return void this.tabOut.next();case l.d:if(this._vertical&&r){this.setNextItemActive();break}return;case l.p:if(this._vertical&&r){this.setPreviousItemActive();break}return;case l.m:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case l.i:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;default:return void((r||Object(l.s)(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(n>=l.a&&n<=l.q||n>=l.r&&n<=l.j)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItem=function(t){var e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),r=e[n];this._activeItem=null==r?null:r,this._activeItemIndex=n},t.prototype.updateActiveItemIndex=function(t){this.updateActiveItem(t)},t.prototype._setActiveItemByDelta=function(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)},t.prototype._setActiveInWrapMode=function(t){for(var e=this._getItemsArray(),n=1;n<=e.length;n++){var r=(this._activeItemIndex+t*n+e.length)%e.length,i=e[r];if(!this._skipPredicateFn(i))return void this.setActiveItem(r)}},t.prototype._setActiveInDefaultMode=function(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)},t.prototype._setActiveItemByIndex=function(t,e){var n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}},t.prototype._getItemsArray=function(){return this._items instanceof i.X?this._items.toArray():this._items},t}(),E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(f.c)(e,t),e.prototype.setActiveItem=function(e){this.activeItem&&this.activeItem.setInactiveStyles(),t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.setActiveStyles()},e}(O),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._origin="program",e}return Object(f.c)(e,t),e.prototype.setFocusOrigin=function(t){return this._origin=t,this},e.prototype.setActiveItem=function(e){t.prototype.setActiveItem.call(this,e),this.activeItem&&this.activeItem.focus(this._origin)},e}(O),k=function(){function t(t){this._platform=t}return t.prototype.isDisabled=function(t){return t.hasAttribute("disabled")},t.prototype.isVisible=function(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility},t.prototype.isTabbable=function(t){if(!this._platform.isBrowser)return!1;var e,n=function(t){try{return t.frameElement}catch(e){return null}}((e=t).ownerDocument&&e.ownerDocument.defaultView||window);if(n){var r=n&&n.nodeName.toLowerCase();if(-1===A(n))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===r)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(n))return!1}var i=t.nodeName.toLowerCase(),o=A(t);if(t.hasAttribute("contenteditable"))return-1!==o;if("iframe"===i)return!1;if("audio"===i){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===i){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==i||!this._platform.BLINK&&!this._platform.WEBKIT)&&(!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){var e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0)},t.prototype.isFocusable=function(t){return function(t){if(function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t))return!1;return function(t){var e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||j(t)}(t)&&!this.isDisabled(t)&&this.isVisible(t)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:m.a}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(m.a))},token:t,providedIn:"root"}),t}();function j(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;var e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function A(t){if(!j(t))return null;var e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}var D=function(){function t(t,e,n,r,i){void 0===i&&(i=!1);var o=this;this._element=t,this._checker=e,this._ngZone=n,this._document=r,this._hasAttached=!1,this._startAnchorListener=function(){return o.focusLastTabbableElement()},this._endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){var t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this._startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this._endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null},t.prototype.attachAnchors=function(){var t=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){t._startAnchor||(t._startAnchor=t._createAnchor(),t._startAnchor.addEventListener("focus",t._startAnchorListener)),t._endAnchor||(t._endAnchor=t._createAnchor(),t._endAnchor.addEventListener("focus",t._endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)},t.prototype.focusInitialElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusInitialElement())})})},t.prototype.focusFirstTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusFirstTabbableElement())})})},t.prototype.focusLastTabbableElementWhenReady=function(){var t=this;return new Promise(function(e){t._executeOnStable(function(){return e(t.focusLastTabbableElement())})})},t.prototype._getRegionBoundary=function(t){for(var e=this._element.querySelectorAll("[cdk-focus-region-"+t+"], [cdkFocusRegion"+t+"], [cdk-focus-"+t+"]"),n=0;n=0;n--){var r=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(r)return r}return null},t.prototype._createAnchor=function(){var t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t},t.prototype._toggleAnchorTabIndex=function(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},t.prototype._executeOnStable=function(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Object(h.a)(1)).subscribe(t)},t}(),T=function(){function t(t,e,n){this._checker=t,this._ngZone=e,this._document=n}return t.prototype.create=function(t,e){return void 0===e&&(e=!1),new D(t,this._checker,this._ngZone,this._document,e)},t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:k},{type:i.Q},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(k),Object(i.xb)(i.Q),Object(i.xb)(r.c))},token:t,providedIn:"root"}),t}(),P=function(){function t(t,e,n){this._elementRef=t,this._focusTrapFactory=e,this._previouslyFocusedElement=null,this._document=n,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this.focusTrap.enabled},set:function(t){this.focusTrap.enabled=Object(g.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoCapture",{get:function(){return this._autoCapture},set:function(t){this._autoCapture=Object(g.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)},t.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors(),this.autoCapture&&(this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady())},t.prototype.ngDoCheck=function(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()},t.decorators=[{type:i.t,args:[{selector:"[cdkTrapFocus]",exportAs:"cdkTrapFocus"}]}],t.ctorParameters=function(){return[{type:i.u},{type:T},{type:void 0,decorators:[{type:i.C,args:[r.c]}]}]},t.propDecorators={enabled:[{type:i.G,args:["cdkTrapFocus"]}],autoCapture:[{type:i.G,args:["cdkTrapFocusAutoCapture"]}]},t}(),I=new i.E("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});var R=function(){function t(t,e,n){this._ngZone=e,this._document=n,this._liveElement=t||this._createLiveElement()}return t.prototype.announce=function(t){for(var e,n,r=this,i=[],o=1;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a}function s(t,e){return function(n,r){e(n,r,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function p(){for(var t=[],e=0;e enter",Object(r.e)("150ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({transform:"none",opacity:1}))),Object(r.m)("* => void, * => exit",Object(r.e)("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",Object(r.l)({opacity:0})))],w={dialogContainer:Object(r.n)("dialogContainer",_),slideDialog:Object(r.n)("slideDialog",_)};function x(){throw Error("Attempting to attach dialog content after content is already attached")}var C=function(t){function e(e,n,r,i,a){var s=t.call(this)||this;return s._elementRef=e,s._focusTrapFactory=n,s._changeDetectorRef=r,s._document=i,s._config=a,s._elementFocusedBeforeDialogWasOpened=null,s._state="enter",s._animationStateChanged=new o.x,s._ariaLabelledBy=null,s}return Object(i.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached()&&x(),this._savePreviouslyFocusedElement(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._trapFocus=function(){this._focusTrap||(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)),this._config.autoFocus&&this._focusTrap.focusInitialElementWhenReady()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;this._config.restoreFocus&&t&&"function"==typeof t.focus&&t.focus(),this._focusTrap&&this._focusTrap.destroy()},e.prototype._savePreviouslyFocusedElement=function(){var t=this;this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement,this._elementRef.nativeElement.focus&&Promise.resolve().then(function(){return t._elementRef.nativeElement.focus()}))},e.prototype._onAnimationDone=function(t){"enter"===t.toState?this._trapFocus():"exit"===t.toState&&this._restoreFocus(),this._animationStateChanged.emit(t)},e.prototype._onAnimationStart=function(t){this._animationStateChanged.emit(t)},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e.decorators=[{type:o.n,args:[{selector:"mat-dialog-container",template:"",styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}@media (-ms-high-contrast:active){.mat-dialog-container{outline:solid 1px}}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button+.mat-button,.mat-dialog-actions .mat-button+.mat-raised-button,.mat-dialog-actions .mat-raised-button+.mat-button,.mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-button+.mat-raised-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-button,[dir=rtl] .mat-dialog-actions .mat-raised-button+.mat-raised-button{margin-left:0;margin-right:8px}"],encapsulation:o.qb.None,changeDetection:o.j.Default,animations:[w.dialogContainer],host:{class:"mat-dialog-container",tabindex:"-1","aria-modal":"true","[attr.id]":"_id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledBy","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[@dialogContainer]":"_state","(@dialogContainer.start)":"_onAnimationStart($event)","(@dialogContainer.done)":"_onAnimationDone($event)"}}]}],e.ctorParameters=function(){return[{type:o.u},{type:l.f},{type:o.k},{type:void 0,decorators:[{type:o.R},{type:o.C,args:[a.c]}]},{type:b}]},e.propDecorators={_portalOutlet:[{type:o.nb,args:[s.c]}]},e}(s.a),O=0,E=function(){function t(t,e,n,r){void 0===r&&(r="mat-dialog-"+O++);var i=this;this._overlayRef=t,this._containerInstance=e,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new u.a,this._afterClosed=new u.a,this._beforeClosed=new u.a,e._id=r,e._animationStateChanged.pipe(Object(h.a)(function(t){return"done"===t.phaseName&&"enter"===t.toState}),Object(f.a)(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),e._animationStateChanged.pipe(Object(h.a)(function(t){return"done"===t.phaseName&&"exit"===t.toState}),Object(f.a)(1)).subscribe(function(){return i._overlayRef.dispose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(Object(h.a)(function(t){return t.keyCode===c.g&&!i.disableClose})).subscribe(function(){return i.close()})}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(Object(h.a)(function(t){return"start"===t.phaseName}),Object(f.a)(1)).subscribe(function(){e._beforeClosed.next(t),e._beforeClosed.complete(),e._overlayRef.detachBackdrop()}),this._containerInstance._startExitAnimation()},t.prototype.afterOpened=function(){return this._afterOpened.asObservable()},t.prototype.afterClosed=function(){return this._afterClosed.asObservable()},t.prototype.beforeClosed=function(){return this._beforeClosed.asObservable()},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t=""),void 0===e&&(e=""),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype.addPanelClass=function(t){return this._overlayRef.addPanelClass(t),this},t.prototype.removePanelClass=function(t){return this._overlayRef.removePanelClass(t),this},t.prototype.afterOpen=function(){return this.afterOpened()},t.prototype.beforeClose=function(){return this.beforeClosed()},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}(),S=new o.E("MatDialogData"),k=new o.E("mat-dialog-default-options"),j=new o.E("mat-dialog-scroll-strategy");var A={provide:j,deps:[y.b],useFactory:function(t){return function(){return t.scrollStrategies.block()}}},D=function(){function t(t,e,n,r,i,o,a){var s=this;this._overlay=t,this._injector=e,this._location=n,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new u.a,this._afterOpenedAtThisLevel=new u.a,this._ariaHiddenElements=new Map,this.afterAllClosed=Object(p.a)(function(){return s.openDialogs.length?s._afterAllClosed:s._afterAllClosed.pipe(Object(m.a)(void 0))}),this._scrollStrategy=i}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpened",{get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"afterOpen",{get:function(){return this.afterOpened},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_afterAllClosed",{get:function(){var t=this._parentDialog;return t?t._afterAllClosed:this._afterAllClosedAtThisLevel},enumerable:!0,configurable:!0}),t.prototype.open=function(t,e){var n=this;if((e=function(t,e){return Object(i.a)({},e,t)}(e,this._defaultOptions||new b)).id&&this.getDialogById(e.id))throw Error('Dialog with id "'+e.id+'" exists already. The dialog id must be unique.');var r=this._createOverlay(e),o=this._attachDialogContainer(r,e),a=this._attachDialogContent(t,o,r,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.afterClosed().subscribe(function(){return n._removeOpenDialog(a)}),this.afterOpened.next(a),a},t.prototype.closeAll=function(){this._closeDialogs(this.openDialogs)},t.prototype.getDialogById=function(t){return this.openDialogs.find(function(e){return e.id===t})},t.prototype.ngOnDestroy=function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var e=new y.c({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e},t.prototype._attachDialogContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[b,e]])),i=new s.d(C,e.viewContainerRef,r);return t.attach(i).instance},t.prototype._attachDialogContent=function(t,e,n,r){var i=new E(n,e,this._location,r.id);if(r.hasBackdrop&&n.backdropClick().subscribe(function(){i.disableClose||i.close()}),t instanceof o.jb)e.attachTemplatePortal(new s.i(t,null,{$implicit:r.data,dialogRef:i}));else{var a=this._createInjector(r,i,e),l=e.attachComponentPortal(new s.d(t,void 0,a));i.componentInstance=l.instance}return i.updateSize(r.width,r.height).updatePosition(r.position),i},t.prototype._createInjector=function(t,e,n){var r=t&&t.viewContainerRef&&t.viewContainerRef.injector,i=new WeakMap([[C,n],[S,t.data],[E,e]]);return!t.direction||r&&r.get(g.b,null)||i.set(g.b,{value:t.direction,change:Object(d.a)()}),new s.g(r||this._injector,i)},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._afterAllClosed.next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,n=e.length-1;n>-1;n--){var r=e[n];r===t||"SCRIPT"===r.nodeName||"STYLE"===r.nodeName||r.hasAttribute("aria-live")||(this._ariaHiddenElements.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}},t.prototype._closeDialogs=function(t){for(var e=t.length;e--;)t[e].close()},t.decorators=[{type:o.D}],t.ctorParameters=function(){return[{type:y.b},{type:o.F},{type:a.f,decorators:[{type:o.R}]},{type:b,decorators:[{type:o.R},{type:o.C,args:[k]}]},{type:void 0,decorators:[{type:o.C,args:[j]}]},{type:t,decorators:[{type:o.R},{type:o.fb}]},{type:y.d}]},t}();var T=0,P=function(){function t(t,e,n){this.dialogRef=t,this._elementRef=e,this._dialog=n}return t.prototype.ngOnInit=function(){this.dialogRef||(this.dialogRef=N(this._elementRef,this._dialog.openDialogs))},t.prototype.ngOnChanges=function(t){var e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)},t.decorators=[{type:o.t,args:[{selector:"button[mat-dialog-close], button[matDialogClose]",exportAs:"matDialogClose",host:{"(click)":"dialogRef.close(dialogResult)","[attr.aria-label]":"ariaLabel || null",type:"button"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={ariaLabel:[{type:o.G,args:["aria-label"]}],dialogResult:[{type:o.G,args:["mat-dialog-close"]}],_matDialogClose:[{type:o.G,args:["matDialogClose"]}]},t}(),I=function(){function t(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+T++}return t.prototype.ngOnInit=function(){var t=this;this._dialogRef||(this._dialogRef=N(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var e=t._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=t.id)})},t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",host:{class:"mat-dialog-title","[id]":"id"}}]}],t.ctorParameters=function(){return[{type:E,decorators:[{type:o.R}]},{type:o.u},{type:D}]},t.propDecorators={id:[{type:o.G}]},t}(),R=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-dialog-content"}}]}],t}(),M=function(){function t(){}return t.decorators=[{type:o.t,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",host:{class:"mat-dialog-actions"}}]}],t}();function N(t,e){for(var n=t.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(function(t){return t.id===n.id}):null}var F=function(){function t(){}return t.decorators=[{type:o.L,args:[{imports:[a.b,y.e,s.h,v.h],exports:[C,P,I,R,M,v.h],declarations:[C,P,I,M,R],providers:[D,A],entryComponents:[C]}]}],t}()},p0Sj:function(t,e,n){"use strict";n.d(e,"a",function(){return o});var r=n("dEwP"),i=n("nkY7");function o(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===s&&1===t.length&&t[0]instanceof r.a?t[0]:Object(o.a)(n)(Object(a.a)(t,s))}},pKmL:function(t,e,n){"use strict";var r=n("CcnG"),i=n("Ip0R"),o=[{name:"MINIONS",icon:"wb_incandescent",link:"minions",open:!1},{name:"OPERATIONS",icon:"assignment",link:"operations",open:!1},{name:"TIMINGS",icon:"alarm",link:"timings",open:!1},{name:"DEVICES",icon:"devices",link:"devices",open:!1},{name:"USERS",icon:"supervised_user_circle",link:"users",open:!1,admin:!0}],a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t){return t&&t.__esModule?t:{default:t}},c=function(){function t(){this.iconOnly=!1,this.menus=o}return t.prototype.ngOnInit=function(){},a([Object(r.G)(),s("design:type",Object)],t.prototype,"iconOnly",void 0),t=a([Object(r.n)({selector:"cdk-sidemenu",template:l(n("qO/w")).default,styles:[l(n("685l")).default]}),s("design:paramtypes",[])],t)}(),u=n("ZYCi"),p=n("lGQG"),d=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},h=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},f=function(t){return t&&t.__esModule?t:{default:t}},m=function(){function t(t,e){var n=this;this.router=t,this.authService=e,this.secondaryMenu=!1,this.currentUrl="",this.userProfile={},this.currentUrl=this.router.url,t.events.subscribe(function(t){n.currentUrl=n.router.url}),this.userProfileSubscription=this.authService.userProfile.subscribe(function(t){n.userProfile=t})}return t.prototype.ngOnInit=function(){},t.prototype.openLink=function(){this.menu.open=this.menu.open},t.prototype.ngOnDestroy=function(){this.userProfileSubscription.unsubscribe()},t.prototype.chechForChildMenu=function(){return!(!this.menu||!this.menu.sub)},t.ctorParameters=function(){return[{type:u.a},{type:p.a}]},d([Object(r.G)(),h("design:type",Object)],t.prototype,"menu",void 0),d([Object(r.G)(),h("design:type",Boolean)],t.prototype,"iconOnly",void 0),d([Object(r.G)(),h("design:type",Object)],t.prototype,"secondaryMenu",void 0),t=d([Object(r.n)({selector:"cdk-sidemenu-item",template:f(n("2bPH")).default,styles:[f(n("+tlQ")).default]}),h("design:paramtypes",[u.a,p.a])],t)}(),g=n("0/Q6"),y=n("UodH"),v=n("b716"),b=n("SMsm"),_=n("8mMr"),w=n("/dO6"),x=n("seP3"),C=n("La40"),O=n("bse0"),E=n("V9q+"),S={notifications:[{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"},{id:"id",title:"Mail 5",lastTime:"23 Minutes ago",state:"state"}],currentUser:{currentUserName:"ישראל ישראלי"}},k=n("6nr9"),j=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},A=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},D=function(t){return t&&t.__esModule?t:{default:t}},T=function(){function t(t,e,n){this.changeDetectorRef=t,this.settingsService=e,this.authService=n,this.searchOpen=!1,this.toolbarHelpers=S,this.clock="--:--:--",this.clockActivation()}return t.prototype.ngOnInit=function(){var t=this;this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe(function(e){t.remoteConnection=e,t.changeDetectorRef.detectChanges()}),this.livelinessSubscription=this.settingsService.onlineFeed.subscribe(function(e){t.liveliness=e,t.changeDetectorRef.detectChanges()})},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.livelinessSubscription.unsubscribe()},t.prototype.clockActivation=function(){var t=this;setInterval(function(){t.clock=(new Date).toLocaleTimeString()},1e3)},t.ctorParameters=function(){return[{type:r.k},{type:k.a},{type:p.a}]},j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidenav",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"sidebar",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"drawer",void 0),j([Object(r.G)(),A("design:type",Object)],t.prototype,"matDrawerShow",void 0),t=j([Object(r.n)({selector:"cdk-toolbar",template:D(n("LhV3")).default,styles:[D(n("vrO4")).default]}),A("design:paramtypes",[r.k,k.a,p.a])],t)}(),P=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},I=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},R=function(t){return t&&t.__esModule?t:{default:t}},M=function(){function t(){}return t.prototype.ngOnInit=function(){},P([Object(r.G)(),I("design:type",Object)],t.prototype,"open",void 0),t=P([Object(r.n)({selector:"cdk-search-bar",template:R(n("Z2YD")).default,styles:[R(n("PuKC")).default]}),I("design:paramtypes",[])],t)}(),N=n("k7+O"),F=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},L=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},V=function(t){return t&&t.__esModule?t:{default:t}},B=function(){function t(){this.isFullscreen=!1}return t.prototype.ngOnInit=function(){},t.prototype.toggleFullscreen=function(){N.enabled&&(N.toggle(),this.isFullscreen=!this.isFullscreen)},t=F([Object(r.n)({selector:"cdk-fullscreen",template:V(n("kkvW")).default,styles:[V(n("wxl/")).default]}),L("design:paramtypes",[])],t)}(),z=n("PSD3"),H=n.n(z),U=n("o3x0"),G=n("NZXM"),q=n("pnyO"),W=n("eKg/"),Y=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},K=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Q=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},X=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},J=function(){function t(t,e,n,r){var i=this;this.settingsService=t,this.authService=e,this.dialog=n,this.translateService=r,this.userProfile={},this.translatePipe=new W.a(this.translateService),this.remoteConnectionSubscription=this.settingsService.remoteStatusFeed.subscribe(function(t){i.remoteConnection=t}),this.userProfileSubscription=this.authService.userProfile.subscribe(function(t){i.userProfile=t}),this.loadRemoteHostName(),this.loadIftttIntegration(),this.loadCurrentVersion()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.remoteConnectionSubscription.unsubscribe(),this.userProfileSubscription.unsubscribe()},t.prototype.loadCurrentVersion=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.settingsService.getCurrentVersion()];case 1:return t=e.sent(),this.currentVersionName=t.version+" ("+t.commintHash+")",this.currentVersionReleaseDate=new Date(t.timestamp).toLocaleDateString(),[3,3];case 2:return e.sent(),this.currentVersionName="unknown",this.currentVersionReleaseDate="unknown",[3,3];case 3:return[2]}})})},t.prototype.loadRemoteHostName=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.getRemoteHostname()];case 1:return t.remoteHostname=e.sent(),[2]}})})},t.prototype.loadIftttIntegration=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return t=this,[4,this.settingsService.isIftttIntegrationEnabled()];case 1:return t.iftttIntegration=e.sent(),[2]}})})},t.prototype.disconnectRemoteServer=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disconnectRemote()];case 2:return e.sent(),[4,this.loadRemoteHostName()];case 3:return e.sent(),[2]}})})},t.prototype.showMacAddress=function(){return Q(this,void 0,void 0,function(){var t,e=this;return X(this,function(n){switch(n.label){case 0:return t="",[4,H()({title:this.translatePipe.transform("READING_MAC"),timer:2e3,onBeforeOpen:function(){return Q(e,void 0,void 0,function(){return X(this,function(e){switch(e.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.getLocalServerMac()];case 1:return t=e.sent(),H.a.resumeTimer(),[2]}})})}})];case 1:return n.sent(),[4,H()({type:"info",title:this.translatePipe.transform("MAC"),html:t,confirmButtonText:"OK"})];case 2:return n.sent(),[2]}})})},t.prototype.showRegisteredUsers=function(){this.dialog.open(q.a,{data:{}})},t.prototype.setRemoteServer=function(){return Q(this,void 0,void 0,function(){var t=this;return X(this,function(e){switch(e.label){case 0:return[4,H.a.mixin({input:"text",confirmButtonText:this.translatePipe.transform("NEXT"),showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),progressSteps:["1","2"]}).queue([{title:this.translatePipe.transform("REMOTE_URI"),text:this.translatePipe.transform("FORMAT")+": [ws/wss]://[hostname]",onOpen:function(){H.a.disableConfirmButton(),H.a.getInput().addEventListener("input",function(t){if(t.target.value){var e=t.target.value,n=-1!==e.indexOf("wss"),r=-1!==e.indexOf("ws");if(!n&&!r)return void H.a.disableConfirmButton();var i="http"+e.slice(n?3:2);try{new URL(i);H.a.enableConfirmButton()}catch(o){H.a.disableConfirmButton()}}else H.a.disableConfirmButton()})}},this.translatePipe.transform("API_KEY")]).then(function(e){return Q(t,void 0,void 0,function(){var t=this;return X(this,function(n){switch(n.label){case 0:return e.value?[4,H()({title:this.translatePipe.transform("SETTING_REMOTE_SERVER"),timer:15e3,onBeforeOpen:function(){return Q(t,void 0,void 0,function(){var t;return X(this,function(n){switch(n.label){case 0:return H.a.showLoading(),H.a.stopTimer(),t={host:e.value[0],connectionKey:e.value[1]},[4,this.settingsService.setRemoteSettings(t)];case 1:return n.sent(),[4,this.loadRemoteHostName()];case 2:return n.sent(),H.a.resumeTimer(),[2]}})})}})]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})})];case 1:return e.sent(),[2]}})})},t.prototype.disableIfttt=function(){return Q(this,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return[4,H()({type:"question",title:this.translatePipe.transform("SURE")+"?",showCancelButton:!0,confirmButtonColor:"red",cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("DISCONNECT")})];case 1:return!(t=e.sent()).value||t.dismiss?[2]:[4,this.settingsService.disableIftttIntegration()];case 2:return e.sent(),[4,this.loadIftttIntegration()];case 3:return e.sent(),[2]}})})},t.prototype.setIfttt=function(){return Q(this,void 0,void 0,function(){var t,e,n=this;return X(this,function(r){switch(r.label){case 0:return[4,H()({title:this.translatePipe.transform("PRESS_IFTTT_API_KEY"),input:"text",showCancelButton:!0,cancelButtonText:this.translatePipe.transform("CANCEL"),confirmButtonText:this.translatePipe.transform("SUBMIT")})];case 1:return!(t=r.sent()).value||t.dismiss?[2]:(e=t.value,[4,H()({title:this.translatePipe.transform("SETTING_IFTTT"),timer:2e3,onBeforeOpen:function(){return Q(n,void 0,void 0,function(){return X(this,function(t){switch(t.label){case 0:return H.a.showLoading(),H.a.stopTimer(),[4,this.settingsService.enableIftttInterration(e)];case 1:return t.sent(),[4,this.loadIftttIntegration()];case 2:return t.sent(),H.a.resumeTimer(),[2]}})})}})]);case 2:return r.sent(),[2]}})})},t.prototype.updateVertionToLast=function(){return Q(this,void 0,void 0,function(){var t,e=this;return X(this,function(n){switch(n.label){case 0:return[4,H()({imageUrl:"./assets/icons/baseline_system_update_black_48dp.png",title:this.translatePipe.transform("UPDATE_TO_THE_LAST_VERSION"),text:this.translatePipe.transform("UPDATING_WARNING"),showLoaderOnConfirm:!0,confirmButtonText:this.translatePipe.transform("UPDATE"),showCancelButton:!1,allowOutsideClick:function(){return!H.a.isLoading()},preConfirm:function(){return Q(e,void 0,void 0,function(){var t;return X(this,function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,this.settingsService.updateToLastVersion()];case 1:return(t=e.sent()).alreadyUpToDate?[2,t]:[4,this.settingsService.waitForVersionUpdate()];case 2:return[2,e.sent()];case 3:return e.sent(),[2,!1];case 4:return[2]}})})}})];case 1:return!(t=n.sent()).value||t.dismiss?[2]:t.value.alreadyUpToDate?[4,H()({type:"info",title:""+this.translatePipe.transform("SYSTEM_ALREADY_UP_TO_DATE"),confirmButtonText:"OK"})]:[3,3];case 2:return n.sent(),[2];case 3:return"fail"!==t.value?[3,5]:[4,H()({type:"error",title:""+this.translatePipe.transform("UPDATE_SYSTEM_FAIL"),text:""+this.translatePipe.transform("CONTACT_SUPPORT_OR_CHECK_LOCAL_SERVER_HEALTH"),confirmButtonText:"OK"})];case 4:return n.sent(),[2];case 5:return[4,this.loadCurrentVersion()];case 6:return n.sent(),[4,H()({type:"success",title:this.translatePipe.transform("SUCCESSFULLY_UPDATED_TO")+" "+this.currentVersionName,text:this.translatePipe.transform("RESTART_REQUIRED_FOR_THE_VERSION_UPDATE_COMPLETE"),confirmButtonText:"OK"})];case 7:return n.sent(),[2]}})})},t.prototype.setLang=function(t){return Q(this,void 0,void 0,function(){return X(this,function(e){switch(e.label){case 0:return[4,this.translateService.setLeng(t)];case 1:return e.sent(),[2]}})})},t.prototype.installPWA=function(){return Q(this,void 0,void 0,function(){return X(this,function(t){return localStorage.setItem("use-sw","true"),window.location.reload(),[2]})})},t.prototype.uninstallPWA=function(){return Q(this,void 0,void 0,function(){var t,e,n,r,i;return X(this,function(o){switch(o.label){case 0:return localStorage.setItem("use-sw","false"),[4,navigator.serviceWorker.getRegistrations()];case 1:t=o.sent();try{for(e=$(t),n=e.next();!n.done;n=e.next())n.value.unregister()}catch(a){r={error:a}}finally{try{n&&!n.done&&(i=e.return)&&i.call(e)}finally{if(r)throw r.error}}return[2]}})})},t.ctorParameters=function(){return[{type:k.a},{type:p.a},{type:U.b},{type:G.a}]},t=Y([Object(r.n)({selector:"cdk-sidebar",template:Z(n("fHOq")).default,styles:[Z(n("bbBv")).default]}),K("design:paramtypes",[k.a,p.a,U.b,G.a])],t)}(),tt=n("vARd"),et=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},nt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},rt=function(t){return t&&t.__esModule?t:{default:t}},it=function(){function t(){}return t.prototype.ngOnInit=function(){},t=et([Object(r.n)({selector:"app-about-dialog",template:rt(n("qyWd")).default,styles:[rt(n("wQ0+")).default]}),nt("design:paramtypes",[])],t)}(),ot=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},at=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},st=function(t){return t&&t.__esModule?t:{default:t}},lt=function(){function t(){}return t.prototype.ngOnInit=function(){},t=ot([Object(r.n)({selector:"app-help-dialog",template:st(n("/En5")).default,styles:[st(n("1s2u")).default]}),at("design:paramtypes",[])],t)}(),ct=n("Gwao"),ut=n("X2iB"),pt=n("dO5I"),dt=n("sB9w"),ht=n("6Qg2"),ft=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},mt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},gt=function(t){return t&&t.__esModule?t:{default:t}},yt=function(){function t(t,e,n,r,i,o,a,s,l,c,u){var p=this;this.elementRef=t,this.snackBar=e,this.dialog=n,this.router=r,this.authService=i,this.minionsService=o,this.devicesService=a,this.operationService=s,this.timingsService=l,this.usersService=c,this.translateService=u,this.isOpen=!1,this.currentUser=null,this.translatePipe=new W.a(this.translateService),i.userProfile.subscribe(function(t){p.profile=t})}return t.prototype.onClick=function(t,e){e&&(this.elementRef.nativeElement.contains(e)||(this.isOpen=!1))},t.prototype.ngOnInit=function(){},t.prototype.onLogout=function(){var t=this;this.authService.logout().then(function(){t.minionsService.cleanUp(),t.operationService.cleanUp(),t.devicesService.cleanUp(),t.timingsService.cleanUp(),t.usersService.cleanUp(),t.snackBar.open(t.translatePipe.transform("LOGOUT_SUCCESSFULLY"),t.translatePipe.transform("SUBMIT"),{duration:2e3})}).catch((function(){t.snackBar.open(t.translatePipe.transform("LOGOUT_FAIL"),t.translatePipe.transform("SUBMIT"),{duration:2e3})}).bind(this))},t.prototype.openHelpDialog=function(){var t=new U.c;this.dialog.open(lt,t)},t.prototype.openAboutDialog=function(){var t=new U.c;t.autoFocus=!0,this.dialog.open(it,t)},t.ctorParameters=function(){return[{type:r.u},{type:tt.a},{type:U.b},{type:u.a},{type:p.a},{type:ct.a},{type:ut.a},{type:pt.a},{type:dt.a},{type:ht.a},{type:G.a}]},ft([Object(r.G)(),mt("design:type",Object)],t.prototype,"currentUser",void 0),ft([Object(r.A)("document:click",["$event","$event.target"]),mt("design:type",Function),mt("design:paramtypes",[MouseEvent,HTMLElement]),mt("design:returntype",void 0)],t.prototype,"onClick",null),t=ft([Object(r.n)({selector:"cdk-user-menu",template:gt(n("i4nH")).default,styles:[gt(n("F2zX")).default]}),mt("design:paramtypes",[r.u,tt.a,U.b,u.a,p.a,ct.a,ut.a,pt.a,dt.a,ht.a,G.a])],t)}(),vt=n("Nsh5"),bt=n("w+lc"),_t=n("v9Dh"),wt=n("uGex"),xt=n("d2mR");n.d(e,"a",function(){return Ot});var Ct=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Ot=function(){function t(){}return t=Ct([Object(r.L)({declarations:[c,m,T,M,B,J,yt,it,lt],imports:[xt.a,i.b,g.a,_t.a,y.b,v.b,b.a,w.a,u.b,O.b,E.a,_.a,x.c,vt.a,C.a,bt.a,tt.b,U.d,wt.a],exports:[c,m,T,M,B,J,yt,it,lt],providers:[],entryComponents:[it,lt]})],t)}()},pnyO:function(t,e,n){"use strict";n.d(e,"a",function(){return g});var r=n("CcnG"),i=n("o3x0"),o=n("6Qg2"),a=n("PSD3"),s=n.n(a),l=n("NZXM"),c=n("eKg/"),u=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},d=function(t,e){return function(n,r){e(n,r,t)}},h=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},f=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.a)},pugT:function(t,e,n){"use strict";var r=n("isby"),i=n("McSo"),o=n("2Bdj"),a=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}();n.d(e,"a",function(){return s});var s=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var e;if(!this.closed){var n=this._parentOrParents,s=this._unsubscribe,c=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(var u=0;u=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(function(){return e.flush(null)})))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(cancelAnimationFrame(n),e.scheduled=void 0)},e}(u.a),d=n("CS9Q"),h=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(u.a),S=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.c(e,t),e}(d.a))(E),k=n("pugT"),j=n("60iU");var A=function(t){function e(e,n,r){void 0===r&&(r=0);var i=t.call(this,e)||this;return i.scheduler=n,i.delay=r,i}return c.c(e,t),e.dispatch=function(t){var e=t.notification,n=t.destination;e.observe(n),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.destination.add(this.scheduler.schedule(e.dispatch,this.delay,new D(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(j.a.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(j.a.createError(t)),this.unsubscribe()},e.prototype._complete=function(){this.scheduleMessage(j.a.createComplete()),this.unsubscribe()},e}(w.a),D=function(){return function(t,e){this.notification=t,this.destination=e}}(),T=n("8g8A"),P=n("uMaO"),I=function(t){function e(e,n,r){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var i=t.call(this)||this;return i.scheduler=r,i._events=[],i._infiniteTimeWindow=!1,i._bufferSize=e<1?1:e,i._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(i._infiniteTimeWindow=!0,i.next=i.nextInfiniteTimeWindow):i.next=i.nextTimeWindow,i}return c.c(e,t),e.prototype.nextInfiniteTimeWindow=function(e){var n=this._events;n.push(e),n.length>this._bufferSize&&n.shift(),t.prototype.next.call(this,e)},e.prototype.nextTimeWindow=function(e){this._events.push(new R(this._getNow(),e)),this._trimBufferThenGetEvents(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,o=r.length;if(this.closed)throw new T.a;if(this.isStopped||this.hasError?e=k.a.EMPTY:(this.observers.push(t),e=new P.a(this,t)),i&&t.add(t=new A(t,i)),n)for(var a=0;ae&&(o=Math.max(o,i-e)),o>0&&r.splice(0,o),r},e}(o.a),R=function(){return function(t,e){this.time=t,this.value=e}}();function M(t,e,n){var r;return r=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},function(t){return t.lift(function(t){var e,n,r=t.bufferSize,i=void 0===r?Number.POSITIVE_INFINITY:r,o=t.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=t.refCount,l=t.scheduler,c=0,u=!1,p=!1;return function(t){c++,e&&!u||(u=!1,e=new I(i,a,l),n=t.subscribe({next:function(t){e.next(t)},error:function(t){u=!0,e.error(t)},complete:function(){p=!0,e.complete()}}));var r=e.subscribe(this);this.add(function(){c--,r.unsubscribe(),n&&!p&&s&&0===c&&(n.unsubscribe(),n=void 0,e=void 0)})}}(r))}}var N=n("dWZg"),F=n("Fzqc"),L=n("YlbQ");n.d(e,"c",function(){return U}),n.d(e,"a",function(){return G}),n.d(e,"d",function(){return Q}),n.d(e,"b",function(){return X}),n.d(e,"f",function(){return Z}),n.d(e,"e",function(){return $});var V=new r.E("VIRTUAL_SCROLL_STRATEGY"),B=function(){function t(t,e,n){this._scrolledIndexChange=new o.a,this.scrolledIndexChange=this._scrolledIndexChange.pipe(Object(g.a)()),this._viewport=null,this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=n}return t.prototype.attach=function(t){this._viewport=t,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},t.prototype.updateItemAndBufferSize=function(t,e,n){if(n0&&(r.end=Math.min(o,r.end+c),r.start=Math.max(0,Math.floor(e-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(r),this._viewport.setRenderedContentOffset(this._itemSize*r.start),this._scrolledIndexChange.next(Math.floor(e))}},t}();function z(t){return t._scrollStrategy}var H=function(){function t(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new B(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(t.prototype,"itemSize",{get:function(){return this._itemSize},set:function(t){this._itemSize=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(t){this._minBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(t){this._maxBufferPx=Object(i.f)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},t.decorators=[{type:r.t,args:[{selector:"cdk-virtual-scroll-viewport[itemSize]",providers:[{provide:V,useFactory:z,deps:[Object(r.vb)(function(){return t})]}]}]}],t.propDecorators={itemSize:[{type:r.G}],minBufferPx:[{type:r.G}],maxBufferPx:[{type:r.G}]},t}(),U=function(){function t(t,e){this._ngZone=t,this._platform=e,this._scrolled=new o.a,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(function(){return e._scrolled.next(t)}))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new s.a(function(n){e._globalSubscription||e._addGlobalListener();var r=t>0?e._scrolled.pipe(Object(y.a)(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):Object(a.a)()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(e,n){return t.deregister(n)}),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(Object(v.a)(function(t){return!t||n.indexOf(t)>-1}))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach(function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)}),n},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Object(l.a)(window.document,"scroll").subscribe(function(){return t._scrolled.next()})})},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Q},{type:N.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(r.Q),Object(r.xb)(N.a))},token:t,providedIn:"root"}),t}();new r.R,new r.fb,r.Q,N.a;var G=function(){function t(t,e,n,r){var i=this;this.elementRef=t,this.scrollDispatcher=e,this.ngZone=n,this.dir=r,this._destroyed=new o.a,this._elementScrolled=new s.a(function(t){return i.ngZone.runOutsideAngular(function(){return Object(l.a)(i.elementRef.nativeElement,"scroll").pipe(Object(b.a)(i._destroyed)).subscribe(t)})})}return t.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},t.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},t.prototype.elementScrolled=function(){return this._elementScrolled},t.prototype.getElementRef=function(){return this.elementRef},t.prototype.scrollTo=function(t){var e=this.elementRef.nativeElement,n=this.dir&&"rtl"==this.dir.value;t.left=null==t.left?n?t.end:t.start:t.left,t.right=null==t.right?n?t.start:t.end:t.right,null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),n&&Object(N.d)()!=N.c.NORMAL?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),Object(N.d)()==N.c.INVERTED?t.left=t.right:Object(N.d)()==N.c.NEGATED&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)},t.prototype._applyScrollToOptions=function(t){var e=this.elementRef.nativeElement;Object(N.g)()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))},t.prototype.measureScrollOffset=function(t){var e=this.elementRef.nativeElement;if("top"==t)return e.scrollTop;if("bottom"==t)return e.scrollHeight-e.clientHeight-e.scrollTop;var n=this.dir&&"rtl"==this.dir.value;return"start"==t?t=n?"right":"left":"end"==t&&(t=n?"left":"right"),n&&Object(N.d)()==N.c.INVERTED?"left"==t?e.scrollWidth-e.clientWidth-e.scrollLeft:e.scrollLeft:n&&Object(N.d)()==N.c.NEGATED?"left"==t?e.scrollLeft+e.scrollWidth-e.clientWidth:-e.scrollLeft:"left"==t?e.scrollLeft:e.scrollWidth-e.clientWidth-e.scrollLeft},t.decorators=[{type:r.t,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],t.ctorParameters=function(){return[{type:r.u},{type:U},{type:r.Q},{type:F.b,decorators:[{type:r.R}]}]},t}();var q="undefined"!=typeof requestAnimationFrame?h:f.a,W=function(t){function e(e,n,r,i,a,l){var c=t.call(this,e,l,r,a)||this;if(c.elementRef=e,c._changeDetectorRef=n,c._scrollStrategy=i,c._detachedSubject=new o.a,c._renderedRangeSubject=new o.a,c.orientation="vertical",c.scrolledIndexChange=new s.a(function(t){return c._scrollStrategy.scrolledIndexChange.subscribe(function(e){return Promise.resolve().then(function(){return c.ngZone.run(function(){return t.next(e)})})})}),c.renderedRangeStream=c._renderedRangeSubject.asObservable(),c._totalContentSizeTransform="",c._totalContentSize=0,c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],!i)throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');return c}return Object(c.c)(e,t),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){e._measureViewportSize(),e._scrollStrategy.attach(e),e.elementScrolled().pipe(Object(_.a)(null),Object(y.a)(0,q)).subscribe(function(){return e._scrollStrategy.onContentScrolled()}),e._markChangeDetectionNeeded()})})},e.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),t.prototype.ngOnDestroy.call(this)},e.prototype.attach=function(t){var e=this;if(this._forOf)throw Error("CdkVirtualScrollViewport is already attached.");this.ngZone.runOutsideAngular(function(){e._forOf=t,e._forOf.dataStream.pipe(Object(b.a)(e._detachedSubject)).subscribe(function(t){var n=t.length;n!==e._dataLength&&(e._dataLength=n,e._scrollStrategy.onDataLengthChanged()),e._doChangeDetection()})})},e.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},e.prototype.getDataLength=function(){return this._dataLength},e.prototype.getViewportSize=function(){return this._viewportSize},e.prototype.getRenderedRange=function(){return this._renderedRange},e.prototype.setTotalContentSize=function(t){if(this._totalContentSize!==t){this._totalContentSize=t;var e="horizontal"==this.orientation?"X":"Y";this._totalContentSizeTransform="scale"+e+"("+this._totalContentSize+")",this._markChangeDetectionNeeded()}},e.prototype.setRenderedRange=function(t){var e,n,r=this;e=this._renderedRange,n=t,(e.start!=n.start||e.end!=n.end)&&(this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded(function(){return r._scrollStrategy.onContentRendered()}))},e.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},e.prototype.setRenderedContentOffset=function(t,e){var n=this;void 0===e&&(e="to-start");var r=this.dir&&"rtl"==this.dir.value,i="horizontal"==this.orientation,o=i?"X":"Y",a="translate"+o+"("+Number((i&&r?-1:1)*t)+"px)";this._renderedContentOffset=t,"to-end"===e&&(a+=" translate"+o+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=a&&(this._renderedContentTransform=a,this._markChangeDetectionNeeded(function(){n._renderedContentOffsetNeedsRewrite?(n._renderedContentOffset-=n.measureRenderedContentSize(),n._renderedContentOffsetNeedsRewrite=!1,n.setRenderedContentOffset(n._renderedContentOffset)):n._scrollStrategy.onRenderedOffsetChanged()}))},e.prototype.scrollToOffset=function(t,e){void 0===e&&(e="auto");var n={behavior:e};"horizontal"===this.orientation?n.start=t:n.top=t,this.scrollTo(n)},e.prototype.scrollToIndex=function(t,e){void 0===e&&(e="auto"),this._scrollStrategy.scrollToIndex(t,e)},e.prototype.measureScrollOffset=function(e){return t.prototype.measureScrollOffset.call(this,e||("horizontal"===this.orientation?"start":"top"))},e.prototype.measureRenderedContentSize=function(){var t=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?t.offsetWidth:t.offsetHeight},e.prototype.measureRangeSize=function(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0},e.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},e.prototype._measureViewportSize=function(){var t=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?t.clientWidth:t.clientHeight},e.prototype._markChangeDetectionNeeded=function(t){var e=this;t&&this._runAfterChangeDetection.push(t),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){e._doChangeDetection()})}))},e.prototype._doChangeDetection=function(){var t=this;this._isChangeDetectionPending=!1,this.ngZone.run(function(){return t._changeDetectorRef.markForCheck()}),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform;var e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(var n=0,r=e;n
        ',styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:0}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:0}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}"],host:{class:"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":'orientation === "horizontal"',"[class.cdk-virtual-scroll-orientation-vertical]":'orientation !== "horizontal"'},encapsulation:r.qb.None,changeDetection:r.j.OnPush,providers:[{provide:G,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:r.Q},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[V]}]},{type:F.b,decorators:[{type:r.R}]},{type:U}]},e.propDecorators={orientation:[{type:r.G}],scrolledIndexChange:[{type:r.S}],_contentWrapper:[{type:r.nb,args:["contentWrapper"]}]},e}(G);function Y(t,e){var n=e;if(!n.getBoundingClientRect)return 0;var r=n.getBoundingClientRect();return"horizontal"==t?r.width:r.height}var K=function(){function t(t,e,n,r,i){var a=this;this._viewContainerRef=t,this._template=e,this._differs=n,this._viewport=r,this.viewChange=new o.a,this._dataSourceChanges=new o.a,this.cdkVirtualForTemplateCacheSize=20,this.dataStream=this._dataSourceChanges.pipe(Object(_.a)(null),function(t){return t.lift(new x)},Object(O.a)(function(t){var e=t[0],n=t[1];return a._changeDataSource(e,n)}),M(1)),this._differ=null,this._templateCache=[],this._needsUpdate=!1,this._destroyed=new o.a,this.dataStream.subscribe(function(t){a._data=t,a._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(Object(b.a)(this._destroyed)).subscribe(function(t){a._renderedRange=t,i.run(function(){return a.viewChange.next(a._renderedRange)}),a._onRenderedDataChange()}),this._viewport.attach(this)}return Object.defineProperty(t.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(t){this._cdkVirtualForOf=t;var e=Object(L.e)(t)?t:new L.a(t instanceof s.a?t:Array.prototype.slice.call(t||[]));this._dataSourceChanges.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(t){var e=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?function(n,r){return t(n+(e._renderedRange?e._renderedRange.start:0),r)}:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplate",{set:function(t){t&&(this._needsUpdate=!0,this._template=t)},enumerable:!0,configurable:!0}),t.prototype.measureRangeSize=function(t,e){if(t.start>=t.end)return 0;if(t.startthis._renderedRange.end)throw Error("Error: attempted to measure an item that isn't rendered.");for(var n=t.start-this._renderedRange.start,r=0,i=t.end-t.start;i--;)for(var o=this._viewContainerRef.get(i+n),a=o?o.rootNodes.length:0;a--;)r+=Y(e,o.rootNodes[a]);return r},t.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}},t.prototype.ngOnDestroy=function(){this._viewport.detach(),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete();for(var t=0,e=this._templateCache;t0?this._change.pipe(Object(y.a)(t)):this._change},t.prototype._updateViewportSize=function(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:N.a},{type:r.Q}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(N.a),Object(r.xb)(r.Q))},token:t,providedIn:"root"}),t}();var $={provide:Z,deps:[[new r.R,new r.fb,Z],N.a,r.Q],useFactory:function(t,e,n){return t||new Z(e,n)}}},"qO/w":function(t,e,n){"use strict";n.r(e),e.default='\x3c!-- --\x3e\r\n
        \r\n \x3c!--
        \r\n \r\n
        --\x3e\r\n \x3c!--
        \r\n \r\n
        --\x3e\r\n \r\n \r\n
        \r\n\r\n\x3c!--
        --\x3e'},qyWd:function(t,e,n){"use strict";n.r(e),e.default='

        CASAnet project

        \r\n
        \r\n

        Made with ❤️ by Kastnet

        \r\n Casanet on GitHub\r\n
        '},rOSL:function(t,e,n){"use strict";n.r(e),e.default='
        \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{entry.minionName}}\r\n
        \r\n {{entry.date}}\r\n
        \r\n \r\n
          \r\n
        • \r\n {{ property.name | translate}}: {{ property.value | translate}}\r\n
        • \r\n
        \r\n
        \r\n \r\n \r\n
        \r\n
        \r\n
        \r\n
        '},rPjj:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(e,n,r){var i=t.call(this)||this;return i.parent=e,i.outerValue=n,i.outerIndex=r,i.index=0,i}return r.c(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n("FFOo").a)},sB9w:function(t,e,n){"use strict";n.d(e,"a",function(){return h});var r=n("CcnG"),i=n("26FU"),o=n("t/Na"),a=n("Onty"),s=n("AytR"),l=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},p=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},h=function(){function t(t,e){this.toastrAndErrorsService=t,this.httpClient=e,this.isTimingsRetrived=!1,this.timings=[],this.timingsFeed=new i.a(this.timings),this.timingActivatedFeed=new i.a(void 0),this.retriveData()}return t.prototype.loadTimings=function(){return u(this,void 0,void 0,function(){var t,e;return p(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get(s.a.baseUrl+"/timings",{withCredentials:!0}).toPromise()];case 1:return(t=n.sent()).sort(function(t,e){return t.timingName enter",[Object(i.l)({opacity:0,transform:"translateY(-100%)"}),Object(i.e)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},x=function(){};function C(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var O=0,E=function(){function t(){this.align="start",this.id="mat-hint-"+O++}return t.decorators=[{type:r.t,args:[{selector:"mat-hint",host:{class:"mat-hint","[class.mat-right]":'align == "end"',"[attr.id]":"id","[attr.align]":"null"}}]}],t.propDecorators={align:[{type:r.G}],id:[{type:r.G}]},t}(),S=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-label"}]}],t}(),k=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"mat-placeholder"}]}],t}(),j=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matPrefix]"}]}],t}(),A=function(){function t(){}return t.decorators=[{type:r.t,args:[{selector:"[matSuffix]"}]}],t}(),D=0,T=function(t){this._elementRef=t},P=Object(l.u)(T,"primary"),I=new r.E("MAT_FORM_FIELD_DEFAULT_OPTIONS"),R=function(t){function e(e,n,r,i,o,a,s,l){var u=t.call(this,e)||this;return u._elementRef=e,u._changeDetectorRef=n,u._dir=i,u._defaults=o,u._platform=a,u._ngZone=s,u._outlineGapCalculationNeededImmediately=!1,u._outlineGapCalculationNeededOnStable=!1,u._destroyed=new c.a,u._showAlwaysAnimate=!1,u._subscriptAnimationState="",u._hintLabel="",u._hintLabelId="mat-hint-"+D++,u._labelId="mat-form-field-label-"+D++,u._labelOptions=r||{},u.floatLabel=u._labelOptions.float||"auto",u._animationsEnabled="NoopAnimations"!==l,u.appearance=o&&o.appearance?o.appearance:"legacy",u}return Object(o.c)(e,t),Object.defineProperty(e.prototype,"appearance",{get:function(){return this._appearance},set:function(t){var e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&this._updateOutlineGapOnStable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_canLabelFloat",{get:function(){return"never"!==this.floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatLabel",{get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._connectionContainerRef||this._elementRef},e.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild();var e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+e.controlType),e.stateChanges.pipe(Object(d.a)(null)).subscribe(function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Object(h.a)(this._destroyed)).subscribe(function(){return t._changeDetectorRef.markForCheck()});var n=this._ngZone;n&&n.runOutsideAngular(function(){n.onStable.asObservable().pipe(Object(h.a)(t._destroyed)).subscribe(function(){t._outlineGapCalculationNeededOnStable&&t.updateOutlineGap()})}),Object(u.a)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){t._updateOutlineGapOnStable(),t._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Object(d.a)(null)).subscribe(function(){t._processHints(),t._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Object(d.a)(null)).subscribe(function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Object(h.a)(this._destroyed)).subscribe(function(){return t.updateOutlineGap()})},e.prototype.ngAfterContentChecked=function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()},e.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},e.prototype._hasPlaceholder=function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)},e.prototype._hasLabel=function(){return!!this._labelChild},e.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)},e.prototype._hideControlPlaceholder=function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()},e.prototype._hasFloatingLabel=function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()},e.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},e.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,Object(p.a)(this._label.nativeElement,"transitionend").pipe(Object(f.a)(1)).subscribe(function(){t._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())},e.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},e.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},e.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach(function(r){if("start"===r.align){if(t||n.hintLabel)throw C("start");t=r}else if("end"===r.align){if(e)throw C("end");e=r}})},e.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find(function(t){return"start"===t.align}):null,n=this._hintChildren?this._hintChildren.find(function(t){return"end"===t.align}):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(function(t){return t.id}));this._control.setDescribedByIds(t)}},e.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},e.prototype.updateOutlineGap=function(){var t=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&(!this._platform||this._platform.isBrowser))if(document.documentElement.contains(this._elementRef.nativeElement)){var e=0,n=0,r=this._connectionContainerRef.nativeElement,i=r.querySelectorAll(".mat-form-field-outline-start"),o=r.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=r.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),l=this._getStartEnd(t.children[0].getBoundingClientRect()),c=0,u=0,p=t.children;u0?.75*c+10:0}for(var d=0;d
        {{hintLabel}}
        ',styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none} .mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button,.mat-input-element::-webkit-inner-spin-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:0 0}@media (-ms-high-contrast:active){.mat-focused select.mat-input-element::-ms-value{color:inherit}}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px} .mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px} .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none} .mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}"],animations:[w.transitionMessages],host:{class:"mat-form-field","[class.mat-form-field-appearance-standard]":'appearance == "standard"',"[class.mat-form-field-appearance-fill]":'appearance == "fill"',"[class.mat-form-field-appearance-outline]":'appearance == "outline"',"[class.mat-form-field-appearance-legacy]":'appearance == "legacy"',"[class.mat-form-field-invalid]":"_control.errorState","[class.mat-form-field-can-float]":"_canLabelFloat","[class.mat-form-field-should-float]":"_shouldLabelFloat()","[class.mat-form-field-has-label]":"_hasFloatingLabel()","[class.mat-form-field-hide-placeholder]":"_hideControlPlaceholder()","[class.mat-form-field-disabled]":"_control.disabled","[class.mat-form-field-autofilled]":"_control.autofilled","[class.mat-focused]":"_control.focused","[class.mat-accent]":'color == "accent"',"[class.mat-warn]":'color == "warn"',"[class.ng-untouched]":'_shouldForward("untouched")',"[class.ng-touched]":'_shouldForward("touched")',"[class.ng-pristine]":'_shouldForward("pristine")',"[class.ng-dirty]":'_shouldForward("dirty")',"[class.ng-valid]":'_shouldForward("valid")',"[class.ng-invalid]":'_shouldForward("invalid")',"[class.ng-pending]":'_shouldForward("pending")',"[class._mat-animation-noopable]":"!_animationsEnabled"},inputs:["color"],encapsulation:r.qb.None,changeDetection:r.j.OnPush}]}],e.ctorParameters=function(){return[{type:r.u},{type:r.k},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[l.e]}]},{type:a.b,decorators:[{type:r.R}]},{type:void 0,decorators:[{type:r.R},{type:r.C,args:[I]}]},{type:m.a},{type:r.Q},{type:String,decorators:[{type:r.R},{type:r.C,args:[g.a]}]}]},e.propDecorators={appearance:[{type:r.G}],hideRequiredMarker:[{type:r.G}],hintLabel:[{type:r.G}],floatLabel:[{type:r.G}],underlineRef:[{type:r.nb,args:["underline"]}],_connectionContainerRef:[{type:r.nb,args:["connectionContainer"]}],_inputContainerRef:[{type:r.nb,args:["inputContainer"]}],_label:[{type:r.nb,args:["label"]}],_control:[{type:r.r,args:[x]}],_placeholderChild:[{type:r.r,args:[k]}],_labelChild:[{type:r.r,args:[S]}],_errorChildren:[{type:r.s,args:[_]}],_hintChildren:[{type:r.s,args:[E]}],_prefixChildren:[{type:r.s,args:[j]}],_suffixChildren:[{type:r.s,args:[A]}]},e}(P),M=function(){function t(){}return t.decorators=[{type:r.L,args:[{declarations:[_,R,E,S,k,j,A],imports:[y.b,v.b],exports:[_,R,E,S,k,j,A]}]}],t}()},"t/Na":function(t,e,n){"use strict";n.d(e,"a",function(){return k}),n.d(e,"b",function(){return Y}),n.d(e,"c",function(){return g});var r=n("mrSG"),i=n("CcnG"),o=n("F/XL"),a=n("6blF"),s=n("Phjn"),l=n("VnD/"),c=n("67Y/"),u=n("Ip0R"),p=function(){},d=function(){},h=function(){function t(t){var e=this;this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?function(){e.headers=new Map,t.split("\n").forEach(function(t){var n=t.indexOf(":");if(n>0){var r=t.slice(0,n),i=r.toLowerCase(),o=t.slice(n+1).trim();e.maybeSetNormalizedName(r,i),e.headers.has(i)?e.headers.get(i).push(o):e.headers.set(i,[o])}})}:function(){e.headers=new Map,Object.keys(t).forEach(function(n){var r=t[n],i=n.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(e.headers.set(i,r),e.maybeSetNormalizedName(n,i))})}:this.headers=new Map}return t.prototype.has=function(t){return this.init(),this.headers.has(t.toLowerCase())},t.prototype.get=function(t){this.init();var e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null},t.prototype.keys=function(){return this.init(),Array.from(this.normalizedNames.values())},t.prototype.getAll=function(t){return this.init(),this.headers.get(t.toLowerCase())||null},t.prototype.append=function(t,e){return this.clone({name:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({name:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({name:t,value:e,op:"d"})},t.prototype.maybeSetNormalizedName=function(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)},t.prototype.init=function(){var e=this;this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(t){return e.applyUpdate(t)}),this.lazyUpdate=null))},t.prototype.copyFrom=function(t){var e=this;t.init(),Array.from(t.headers.keys()).forEach(function(n){e.headers.set(n,t.headers.get(n)),e.normalizedNames.set(n,t.normalizedNames.get(n))})},t.prototype.clone=function(e){var n=new t;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([e]),n},t.prototype.applyUpdate=function(t){var e=t.name.toLowerCase();switch(t.op){case"a":case"s":var n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);var i=("a"===t.op?this.headers.get(e):void 0)||[];i.push.apply(i,Object(r.g)(n)),this.headers.set(e,i);break;case"d":var o=t.value;if(o){var a=this.headers.get(e);if(!a)return;0===(a=a.filter(function(t){return-1===o.indexOf(t)})).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}},t.prototype.forEach=function(t){var e=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return t(e.normalizedNames.get(n),e.headers.get(n))})},t}(),f=function(){function t(){}return t.prototype.encodeKey=function(t){return m(t)},t.prototype.encodeValue=function(t){return m(t)},t.prototype.decodeKey=function(t){return decodeURIComponent(t)},t.prototype.decodeValue=function(t){return decodeURIComponent(t)},t}();function m(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var g=function(){function t(t){var e,n,i,o=this;if(void 0===t&&(t={}),this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=(e=t.fromString,n=this.encoder,i=new Map,e.length>0&&e.split("&").forEach(function(t){var e=t.indexOf("="),o=Object(r.f)(-1==e?[n.decodeKey(t),""]:[n.decodeKey(t.slice(0,e)),n.decodeValue(t.slice(e+1))],2),a=o[0],s=o[1],l=i.get(a)||[];l.push(s),i.set(a,l)}),i)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(function(e){var n=t.fromObject[e];o.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}return t.prototype.has=function(t){return this.init(),this.map.has(t)},t.prototype.get=function(t){this.init();var e=this.map.get(t);return e?e[0]:null},t.prototype.getAll=function(t){return this.init(),this.map.get(t)||null},t.prototype.keys=function(){return this.init(),Array.from(this.map.keys())},t.prototype.append=function(t,e){return this.clone({param:t,value:e,op:"a"})},t.prototype.set=function(t,e){return this.clone({param:t,value:e,op:"s"})},t.prototype.delete=function(t,e){return this.clone({param:t,value:e,op:"d"})},t.prototype.toString=function(){var t=this;return this.init(),this.keys().map(function(e){var n=t.encoder.encodeKey(e);return t.map.get(e).map(function(e){return n+"="+t.encoder.encodeValue(e)}).join("&")}).join("&")},t.prototype.clone=function(e){var n=new t({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat([e]),n},t.prototype.init=function(){var t=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(e){return t.map.set(e,t.cloneFrom.map.get(e))}),this.updates.forEach(function(e){switch(e.op){case"a":case"s":var n=("a"===e.op?t.map.get(e.param):void 0)||[];n.push(e.value),t.map.set(e.param,n);break;case"d":if(void 0===e.value){t.map.delete(e.param);break}var r=t.map.get(e.param)||[],i=r.indexOf(e.value);-1!==i&&r.splice(i,1),r.length>0?t.map.set(e.param,r):t.map.delete(e.param)}}),this.cloneFrom=this.updates=null)},t}();function y(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function b(t){return"undefined"!=typeof FormData&&t instanceof FormData}var _,w=function(){function t(t,e,n,r){var i;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.params&&(this.params=i.params)),this.headers||(this.headers=new h),this.params){var o=this.params.toString();if(0===o.length)this.urlWithParams=e;else{var a=e.indexOf("?"),s=-1===a?"?":a=200&&this.status<300},C=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.ResponseHeader,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),O=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.type=_.Response,n.body=void 0!==e.body?e.body:null,n}return Object(r.c)(e,t),e.prototype.clone=function(t){return void 0===t&&(t={}),new e({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})},e}(x),E=function(t){function e(e){var n=t.call(this,e,0,"Unknown Error")||this;return n.name="HttpErrorResponse",n.ok=!1,n.status>=200&&n.status<300?n.message="Http failure during parsing for "+(e.url||"(unknown url)"):n.message="Http failure response for "+(e.url||"(unknown url)")+": "+e.status+" "+e.statusText,n.error=e.error||null,n}return Object(r.c)(e,t),e}(x);function S(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}var k=function(){function t(t){this.handler=t}return t.prototype.request=function(t,e,n){var r,i=this;if(void 0===n&&(n={}),t instanceof w)r=t;else{var a=void 0;a=n.headers instanceof h?n.headers:new h(n.headers);var u=void 0;n.params&&(u=n.params instanceof g?n.params:new g({fromObject:n.params})),r=new w(t,e,void 0!==n.body?n.body:null,{headers:a,params:u,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}var p=Object(o.a)(r).pipe(Object(s.a)(function(t){return i.handler.handle(t)}));if(t instanceof w||"events"===n.observe)return p;var d=p.pipe(Object(l.a)(function(t){return t instanceof O}));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return d.pipe(Object(c.a)(function(t){if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return d.pipe(Object(c.a)(function(t){return t.body}))}case"response":return d;default:throw new Error("Unreachable: unhandled observe type "+n.observe+"}")}},t.prototype.delete=function(t,e){return void 0===e&&(e={}),this.request("DELETE",t,e)},t.prototype.get=function(t,e){return void 0===e&&(e={}),this.request("GET",t,e)},t.prototype.head=function(t,e){return void 0===e&&(e={}),this.request("HEAD",t,e)},t.prototype.jsonp=function(t,e){return this.request("JSONP",t,{params:(new g).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})},t.prototype.options=function(t,e){return void 0===e&&(e={}),this.request("OPTIONS",t,e)},t.prototype.patch=function(t,e,n){return void 0===n&&(n={}),this.request("PATCH",t,S(n,e))},t.prototype.post=function(t,e,n){return void 0===n&&(n={}),this.request("POST",t,S(n,e))},t.prototype.put=function(t,e,n){return void 0===n&&(n={}),this.request("PUT",t,S(n,e))},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[p])],t)}(),j=function(){function t(t,e){this.next=t,this.interceptor=e}return t.prototype.handle=function(t){return this.interceptor.intercept(t,this.next)},t}(),A=new i.E("HTTP_INTERCEPTORS"),D=function(){function t(){}return t.prototype.intercept=function(t,e){return e.handle(t)},t=Object(r.b)([Object(i.D)()],t)}(),T=0,P=function(){},I=function(){function t(t,e){this.callbackMap=t,this.document=e}return t.prototype.nextCallback=function(){return"ng_jsonp_callback_"+T++},t.prototype.handle=function(t){var e=this;if("JSONP"!==t.method)throw new Error("JSONP requests must use JSONP request method.");if("json"!==t.responseType)throw new Error("JSONP requests must use Json response type.");return new a.a(function(n){var r=e.nextCallback(),i=t.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/,"="+r+"$1"),o=e.document.createElement("script");o.src=i;var a=null,s=!1,l=!1;e.callbackMap[r]=function(t){delete e.callbackMap[r],l||(a=t,s=!0)};var c=function(){o.parentNode&&o.parentNode.removeChild(o),delete e.callbackMap[r]},u=function(t){l||(c(),s?(n.next(new O({body:a,status:200,statusText:"OK",url:i})),n.complete()):n.error(new E({url:i,status:0,statusText:"JSONP Error",error:new Error("JSONP injected script did not invoke callback.")})))},p=function(t){l||(c(),n.error(new E({error:t,status:0,statusText:"JSONP Error",url:i})))};return o.addEventListener("load",u),o.addEventListener("error",p),e.document.body.appendChild(o),n.next({type:_.Sent}),function(){l=!0,o.removeEventListener("load",u),o.removeEventListener("error",p),c()}})},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(u.c)),Object(r.d)("design:paramtypes",[P,Object])],t)}(),R=function(){function t(t){this.jsonp=t}return t.prototype.intercept=function(t,e){return"JSONP"===t.method?this.jsonp.handle(t):e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[I])],t)}(),M=/^\)\]\}',?\n/;var N=function(){},F=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[])],t)}(),L=function(){function t(t){this.xhrFactory=t}return t.prototype.handle=function(t){var e=this;if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new a.a(function(n){var r=e.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach(function(t,e){return r.setRequestHeader(t,e.join(","))}),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){var i=t.detectContentTypeHeader();null!==i&&r.setRequestHeader("Content-Type",i)}if(t.responseType){var o=t.responseType.toLowerCase();r.responseType="json"!==o?o:"text"}var a=t.serializeBody(),s=null,l=function(){if(null!==s)return s;var e=1223===r.status?204:r.status,n=r.statusText||"OK",i=new h(r.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(r)||t.url;return s=new C({headers:i,status:e,statusText:n,url:o})},c=function(){var e=l(),i=e.headers,o=e.status,a=e.statusText,s=e.url,c=null;204!==o&&(c=void 0===r.response?r.responseText:r.response),0===o&&(o=c?200:0);var u=o>=200&&o<300;if("json"===t.responseType&&"string"==typeof c){var p=c;c=c.replace(M,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=p,u&&(u=!1,c={error:d,text:c})}}u?(n.next(new O({body:c,headers:i,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new E({error:c,headers:i,status:o,statusText:a,url:s||void 0}))},u=function(t){var e=l().url,i=new E({error:t,status:r.status||0,statusText:r.statusText||"Unknown Error",url:e||void 0});n.error(i)},p=!1,d=function(e){p||(n.next(l()),p=!0);var i={type:_.DownloadProgress,loaded:e.loaded};e.lengthComputable&&(i.total=e.total),"text"===t.responseType&&r.responseText&&(i.partialText=r.responseText),n.next(i)},f=function(t){var e={type:_.UploadProgress,loaded:t.loaded};t.lengthComputable&&(e.total=t.total),n.next(e)};return r.addEventListener("load",c),r.addEventListener("error",u),t.reportProgress&&(r.addEventListener("progress",d),null!==a&&r.upload&&r.upload.addEventListener("progress",f)),r.send(a),n.next({type:_.Sent}),function(){r.removeEventListener("error",u),r.removeEventListener("load",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==a&&r.upload&&r.upload.removeEventListener("progress",f)),r.abort()}})},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[N])],t)}(),V=new i.E("XSRF_COOKIE_NAME"),B=new i.E("XSRF_HEADER_NAME"),z=function(){},H=function(){function t(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return t.prototype.getToken=function(){if("server"===this.platform)return null;var t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Object(u.t)(t,this.cookieName),this.lastCookieString=t),this.lastToken},t=Object(r.b)([Object(i.D)(),Object(r.e)(0,Object(i.C)(u.c)),Object(r.e)(1,Object(i.C)(i.U)),Object(r.e)(2,Object(i.C)(V)),Object(r.d)("design:paramtypes",[Object,String,String])],t)}(),U=function(){function t(t,e){this.tokenService=t,this.headerName=e}return t.prototype.intercept=function(t,e){var n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);var r=this.tokenService.getToken();return null===r||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,r)})),e.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(B)),Object(r.d)("design:paramtypes",[z,String])],t)}(),G=function(){function t(t,e){this.backend=t,this.injector=e,this.chain=null}return t.prototype.handle=function(t){if(null===this.chain){var e=this.injector.get(A,[]);this.chain=e.reduceRight(function(t,e){return new j(t,e)},this.backend)}return this.chain.handle(t)},t=Object(r.b)([Object(i.D)(),Object(r.d)("design:paramtypes",[d,i.F])],t)}();function q(){return"object"==typeof window?window:{}}var W=function(){function t(){}var e;return e=t,t.disable=function(){return{ngModule:e,providers:[{provide:U,useClass:D}]}},t.withOptions=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[t.cookieName?{provide:V,useValue:t.cookieName}:[],t.headerName?{provide:B,useValue:t.headerName}:[]]}},t=e=Object(r.b)([Object(i.L)({providers:[U,{provide:A,useExisting:U,multi:!0},{provide:z,useClass:H},{provide:V,useValue:"XSRF-TOKEN"},{provide:B,useValue:"X-XSRF-TOKEN"}]})],t)}(),Y=function(){function t(){}return t=Object(r.b)([Object(i.L)({imports:[W.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})],providers:[k,{provide:p,useClass:G},L,{provide:d,useExisting:L},F,{provide:N,useExisting:F}]})],t)}();!function(){function t(){}t=Object(r.b)([Object(i.L)({providers:[I,{provide:P,useFactory:q},{provide:A,useClass:R,multi:!0}]})],t)}()},t9fZ:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("FFOo"),o=n("b7mW"),a=n("G5J1");function s(t){return function(e){return 0===t?Object(a.b)():e.lift(new l(t))}}var l=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.total))},t}(),c=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return r.c(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(i.a)},u7R8:function(t,e,n){"use strict";n.d(e,"a",function(){return v});var r=n("mrSG"),i=n("lLAP"),o=n("n6gG"),a=n("YlbQ"),s=n("CcnG"),l=n("gIcY"),c=n("Wf4p"),u=new s.E("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),p={provide:l.g,useExisting:Object(s.vb)(function(){return m}),multi:!0},d=function(){},h=0,f=function(t,e){this.source=t,this.value=e},m=function(){function t(t,e){this._changeDetector=t,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=function(){},this._onTouched=function(){},this._name="mat-button-toggle-group-"+h++,this.valueChange=new s.x,this.change=new s.x,this.appearance=e&&e.appearance?e.appearance:"standard"}return Object.defineProperty(t.prototype,"name",{get:function(){return this._name},set:function(t){var e=this;this._name=t,this._buttonToggles&&this._buttonToggles.forEach(function(t){t.name=e._name,t._markForCheck()})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){var t=this._selectionModel?this._selectionModel.selected:[];return this.multiple?t.map(function(t){return t.value}):t[0]?t[0].value:void 0},set:function(t){this._setSelectionByValue(t),this.valueChange.emit(this.value)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){var t=this._selectionModel.selected;return this.multiple?t:t[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"multiple",{get:function(){return this._multiple},set:function(t){this._multiple=Object(o.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(o.c)(t),this._buttonToggles&&this._buttonToggles.forEach(function(t){return t._markForCheck()})},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._selectionModel=new a.c(this.multiple,void 0,!1)},t.prototype.ngAfterContentInit=function(){var t;(t=this._selectionModel).select.apply(t,this._buttonToggles.filter(function(t){return t.checked}))},t.prototype.writeValue=function(t){this.value=t,this._changeDetector.markForCheck()},t.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._emitChangeEvent=function(){var t=this.selected,e=Array.isArray(t)?t[t.length-1]:t,n=new f(e,this.value);this._controlValueAccessorChangeFn(n.value),this.change.emit(n)},t.prototype._syncButtonToggle=function(t,e,n){void 0===n&&(n=!1),this.multiple||!this.selected||t.checked||(this.selected.checked=!1),e?this._selectionModel.select(t):this._selectionModel.deselect(t),n&&this._emitChangeEvent(),this.valueChange.emit(this.value)},t.prototype._isSelected=function(t){return this._selectionModel.isSelected(t)},t.prototype._isPrechecked=function(t){return void 0!==this._rawValue&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(function(e){return null!=t.value&&e===t.value}):t.value===this._rawValue)},t.prototype._setSelectionByValue=function(t){var e=this;if(this._rawValue=t,this._buttonToggles)if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._clearSelection(),t.forEach(function(t){return e._selectValue(t)})}else this._clearSelection(),this._selectValue(t)},t.prototype._clearSelection=function(){this._selectionModel.clear(),this._buttonToggles.forEach(function(t){return t.checked=!1})},t.prototype._selectValue=function(t){var e=this._buttonToggles.find(function(e){return null!=e.value&&e.value===t});e&&(e.checked=!0,this._selectionModel.select(e))},t.decorators=[{type:s.t,args:[{selector:"mat-button-toggle-group",providers:[p,{provide:d,useExisting:t}],host:{role:"group",class:"mat-button-toggle-group","[attr.aria-disabled]":"disabled","[class.mat-button-toggle-vertical]":"vertical","[class.mat-button-toggle-group-appearance-standard]":'appearance === "standard"'},exportAs:"matButtonToggleGroup"}]}],t.ctorParameters=function(){return[{type:s.k},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},t.propDecorators={_buttonToggles:[{type:s.s,args:[Object(s.vb)(function(){return y})]}],appearance:[{type:s.G}],name:[{type:s.G}],vertical:[{type:s.G}],value:[{type:s.G}],valueChange:[{type:s.S}],multiple:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},t}(),g=function(){},y=function(t){function e(e,n,r,i,o,a){var l=t.call(this)||this;l._changeDetectorRef=n,l._elementRef=r,l._focusMonitor=i,l._isSingleSelector=!1,l._checked=!1,l.ariaLabelledby=null,l._disabled=!1,l.change=new s.x;var c=Number(o);return l.tabIndex=c||0===c?c:null,l.buttonToggleGroup=e,l.appearance=a&&a.appearance?a.appearance:"standard",l}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"buttonId",{get:function(){return this.id+"-button"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"appearance",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance},set:function(t){this._appearance=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"checked",{get:function(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked},set:function(t){var e=Object(o.c)(t);e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled},set:function(t){this._disabled=Object(o.c)(t)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._isSingleSelector=this.buttonToggleGroup&&!this.buttonToggleGroup.multiple,this._type=this._isSingleSelector?"radio":"checkbox",this.id=this.id||"mat-button-toggle-"+h++,this._isSingleSelector&&(this.name=this.buttonToggleGroup.name),this.buttonToggleGroup&&this.buttonToggleGroup._isPrechecked(this)&&(this.checked=!0),this._focusMonitor.monitor(this._elementRef,!0)},e.prototype.ngOnDestroy=function(){var t=this,e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&Promise.resolve().then(function(){return e._syncButtonToggle(t,!1)})},e.prototype.focus=function(){this._buttonElement.nativeElement.focus()},e.prototype._onButtonClick=function(){var t=!!this._isSingleSelector||!this._checked;t!==this._checked&&(this._checked=t,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new f(this,this.value))},e.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},e.decorators=[{type:s.n,args:[{selector:"mat-button-toggle",template:'
        ',styles:[".mat-button-toggle-group,.mat-button-toggle-standalone{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:transparent}@media (-ms-high-contrast:active){.mat-button-toggle-group,.mat-button-toggle-standalone{outline:solid 1px}}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border-radius:4px}@media (-ms-high-contrast:active){.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}@media (-ms-high-contrast:active){.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media (-ms-high-contrast:active){.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.5}}@media (hover:none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px;padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px}@media (-ms-high-contrast:active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0}}@media (-ms-high-contrast:active){.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 48px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:0 0;color:inherit;padding:0;margin:0;font:inherit;outline:0;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:s.qb.None,exportAs:"matButtonToggle",changeDetection:s.j.OnPush,inputs:["disableRipple"],host:{"[class.mat-button-toggle-standalone]":"!buttonToggleGroup","[class.mat-button-toggle-checked]":"checked","[class.mat-button-toggle-disabled]":"disabled","[class.mat-button-toggle-appearance-standard]":'appearance === "standard"',class:"mat-button-toggle","[attr.tabindex]":"-1","[attr.id]":"id","(focus)":"focus()"}}]}],e.ctorParameters=function(){return[{type:m,decorators:[{type:s.R}]},{type:s.k},{type:s.u},{type:i.e},{type:String,decorators:[{type:s.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:s.R},{type:s.C,args:[u]}]}]},e.propDecorators={ariaLabel:[{type:s.G,args:["aria-label"]}],ariaLabelledby:[{type:s.G,args:["aria-labelledby"]}],_buttonElement:[{type:s.nb,args:["button"]}],id:[{type:s.G}],name:[{type:s.G}],value:[{type:s.G}],tabIndex:[{type:s.G}],appearance:[{type:s.G}],checked:[{type:s.G}],disabled:[{type:s.G}],change:[{type:s.S}]},e}(Object(c.v)(g)),v=function(){function t(){}return t.decorators=[{type:s.L,args:[{imports:[c.h,c.q],exports:[c.h,m,y],declarations:[m,y]}]}],t}()},uGex:function(t,e,n){"use strict";n.d(e,"a",function(){return F});var r=n("ihYY"),i=n("mrSG"),o=n("lLAP"),a=n("Fzqc"),s=n("n6gG"),l=n("YlbQ"),c=n("YSh2"),u=n("eDkP"),p=n("qAlS"),d=n("CcnG"),h=n("gIcY"),f=n("Wf4p"),m=n("seP3"),g=n("K9Ia"),y=n("lYZG"),v=n("p0ib"),b=n("t9fZ"),_=n("15JJ"),w=n("VnD/"),x=n("67Y/"),C=n("ad02"),O=n("ny24"),E=n("p0Sj"),S=n("Ip0R"),k={transformPanelWrap:Object(r.n)("transformPanelWrap",[Object(r.m)("* => void",Object(r.i)("@transformPanel",[Object(r.f)()],{optional:!0}))]),transformPanel:Object(r.n)("transformPanel",[Object(r.k)("void",Object(r.l)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),Object(r.k)("showing",Object(r.l)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),Object(r.k)("showing-multiple",Object(r.l)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Object(r.m)("void => *",Object(r.e)("120ms cubic-bezier(0, 0, 0.2, 1)")),Object(r.m)("* => void",Object(r.e)("100ms 25ms linear",Object(r.l)({opacity:0})))]),fadeInContent:Object(r.n)("fadeInContent",[Object(r.k)("showing",Object(r.l)({opacity:1})),Object(r.m)("void => showing",[Object(r.l)({opacity:0}),Object(r.e)("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};k.transformPanel,k.fadeInContent;var j=0,A=0,D=new d.E("mat-select-scroll-strategy");var T={provide:D,deps:[u.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},P=function(t,e){this.source=t,this.value=e},I=function(t,e,n,r,i){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=r,this.ngControl=i},R=Object(f.v)(Object(f.y)(Object(f.w)(Object(f.x)(I)))),M=function(){function t(){}return t.decorators=[{type:d.t,args:[{selector:"mat-select-trigger"}]}],t}(),N=function(t){function e(e,n,r,i,o,a,s,l,c,u,p,h,f){var m=t.call(this,o,i,s,l,u)||this;return m._viewportRuler=e,m._changeDetectorRef=n,m._ngZone=r,m._dir=a,m._parentFormField=c,m.ngControl=u,m._liveAnnouncer=f,m._panelOpen=!1,m._required=!1,m._scrollTop=0,m._multiple=!1,m._compareWith=function(t,e){return t===e},m._uid="mat-select-"+j++,m._destroy=new g.a,m._triggerFontSize=0,m._onChange=function(){},m._onTouched=function(){},m._optionIds="",m._transformOrigin="top",m._panelDoneAnimatingStream=new g.a,m._offsetY=0,m._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],m._disableOptionCentering=!1,m._focused=!1,m.controlType="mat-select",m.ariaLabel="",m.optionSelectionChanges=Object(y.a)(function(){return m.options?v.a.apply(void 0,m.options.map(function(t){return t.onSelectionChange})):m._ngZone.onStable.asObservable().pipe(Object(b.a)(1),Object(_.a)(function(){return m.optionSelectionChanges}))}),m.openedChange=new d.x,m._openedStream=m.openedChange.pipe(Object(w.a)(function(t){return t}),Object(x.a)(function(){})),m._closedStream=m.openedChange.pipe(Object(w.a)(function(t){return!t}),Object(x.a)(function(){})),m.selectionChange=new d.x,m.valueChange=new d.x,m.ngControl&&(m.ngControl.valueAccessor=m),m._scrollStrategyFactory=h,m._scrollStrategy=m._scrollStrategyFactory(),m.tabIndex=parseInt(p)||0,m.id=m.id,m}return Object(i.c)(e,t),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused||this._panelOpen},set:function(t){this._focused=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=Object(s.c)(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disableOptionCentering",{get:function(){return this._disableOptionCentering},set:function(t){this._disableOptionCentering=Object(s.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._selectionModel=new l.c(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Object(C.a)(),Object(O.a)(this._destroy)).subscribe(function(){t.panelOpen?(t._scrollTop=0,t.openedChange.emit(!0)):(t.openedChange.emit(!1),t.overlayDir.offsetX=0,t._changeDetectorRef.markForCheck())})},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this._selectionModel.onChange.pipe(Object(O.a)(this._destroy)).subscribe(function(t){t.added.forEach(function(t){return t.select()}),t.removed.forEach(function(t){return t.deselect()})}),this.options.changes.pipe(Object(E.a)(null),Object(O.a)(this._destroy)).subscribe(function(){t._resetOptions(),t._initializeSelection()})},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next()},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&!this._panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Object(b.a)(1)).subscribe(function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")}))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map(function(t){return t.viewValue});return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p||e===c.i||e===c.m,r=e===c.f||e===c.n,i=this._keyManager;if(r&&!Object(c.s)(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;e===c.h||e===c.e?(e===c.h?i.setFirstItemActive():i.setLastItemActive(),t.preventDefault()):i.onKeydown(t),this._liveAnnouncer&&o!==this.selected&&this._liveAnnouncer.announce(this.selected.viewValue)}},e.prototype._handleOpenKeydown=function(t){var e=t.keyCode,n=e===c.d||e===c.p,r=this._keyManager;if(e===c.h||e===c.e)t.preventDefault(),e===c.h?r.setFirstItemActive():r.setLastItemActive();else if(n&&t.altKey)t.preventDefault(),this.close();else if(e!==c.f&&e!==c.n||!r.activeItem||Object(c.s)(t))if(this._multiple&&e===c.a&&t.ctrlKey){t.preventDefault();var i=this.options.some(function(t){return!t.disabled&&!t.selected});this.options.forEach(function(t){t.disabled||(i?t.select():t.deselect())})}else{var o=r.activeItemIndex;r.onKeydown(t),this._multiple&&n&&t.shiftKey&&r.activeItem&&r.activeItemIndex!==o&&r.activeItem._selectViaInteraction()}else t.preventDefault(),r.activeItem._selectViaInteraction()},e.prototype._onFocus=function(){this.disabled||(this._focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Object(b.a)(1)).subscribe(function(){t._setPseudoCheckboxPaddingSize(),t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop})},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},e.prototype._setPseudoCheckboxPaddingSize=function(){if(!A&&this.multiple){var t=this.panel.nativeElement.querySelector(".mat-pseudo-checkbox");t&&(A=24+t.offsetWidth)}},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then(function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value),t.stateChanges.next()})},e.prototype._setSelectionByValue=function(t){var e=this;if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._selectionModel.clear(),t.forEach(function(t){return e._selectValue(t)}),this._sortValues()}else{this._selectionModel.clear();var n=this._selectValue(t);n&&this._keyManager.setActiveItem(n)}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t){var e=this,n=this.options.find(function(n){try{return null!=n.value&&e._compareWith(n.value,t)}catch(r){return Object(d.yb)()&&console.warn(r),!1}});return n&&this._selectionModel.select(n),n},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new o.b(this.options).withTypeAhead().withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Object(O.a)(this._destroy)).subscribe(function(){t.focus(),t.close()}),this._keyManager.change.pipe(Object(O.a)(this._destroy)).subscribe(function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()})},e.prototype._resetOptions=function(){var t=this,e=Object(v.a)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Object(O.a)(e)).subscribe(function(e){t._onSelect(e.source,e.isUserInput),e.isUserInput&&!t.multiple&&t._panelOpen&&(t.close(),t.focus())}),v.a.apply(void 0,this.options.map(function(t){return t._stateChanges})).pipe(Object(O.a)(e)).subscribe(function(){t._changeDetectorRef.markForCheck(),t.stateChanges.next()}),this._setOptionIds()},e.prototype._onSelect=function(t,e){var n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()},e.prototype._sortValues=function(){var t=this;if(this.multiple){var e=this.options.toArray();this._selectionModel.sort(function(n,r){return t.sortComparator?t.sortComparator(n,r,e):e.indexOf(n)-e.indexOf(r)}),this.stateChanges.next()}},e.prototype._propagateChanges=function(t){var e=null;e=this.multiple?this.selected.map(function(t){return t.value}):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new P(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map(function(t){return t.id}).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))},e.prototype._scrollActiveOptionIntoView=function(){var t=this._keyManager.activeItemIndex||0,e=Object(f.s)(t,this.options,this.optionGroups);this.panel.nativeElement.scrollTop=Object(f.t)(t+e,this._getItemHeight(),this.panel.nativeElement.scrollTop,256)},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._getOptionIndex=function(t){return this.options.reduce(function(e,n,r){return void 0===e?t===n?r:void 0:e},void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=Object(f.s)(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight(),i=r*t-e+r/2;return Math.min(Math.max(0,i),n)},e.prototype._getAriaLabel=function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},e.prototype._getAriaLabelledby=function(){return this.ariaLabelledby?this.ariaLabelledby:this._parentFormField&&this._parentFormField._hasFloatingLabel()&&!this._getAriaLabel()&&this._parentFormField._labelId||null},e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?A+16:32;if(this.multiple)t=A;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var a=0-(e.left+t-(r?i:0)),s=e.right+t-n.width+(r?0:i);a>0?t+=a+8:s>0&&(t-=s+8),this.overlayDir.offsetX=Math.round(t),this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r,i=this._getItemHeight(),o=(i-this._triggerRect.height)/2,a=Math.floor(256/i);if(this._disableOptionCentering)return 0;if(0===this._scrollTop)r=t*i;else if(this._scrollTop===n){r=(t-(this._getItemCount()-a))*i+(i-(this._getItemCount()*i-256)%i)}else r=e-i/2;return Math.round(-1*r-o)},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;a>i?this._adjustPanelUp(a,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e.decorators=[{type:d.n,args:[{selector:"mat-select",exportAs:"matSelect",template:'
        ',styles:[".mat-select{display:inline-block;width:100%;outline:0}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform .4s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px}@media (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}"],inputs:["disabled","disableRipple","tabIndex"],encapsulation:d.qb.None,changeDetection:d.j.OnPush,host:{role:"listbox","[attr.id]":"id","[attr.tabindex]":"tabIndex","[attr.aria-label]":"_getAriaLabel()","[attr.aria-labelledby]":"_getAriaLabelledby()","[attr.aria-required]":"required.toString()","[attr.aria-disabled]":"disabled.toString()","[attr.aria-invalid]":"errorState","[attr.aria-owns]":"panelOpen ? _optionIds : null","[attr.aria-multiselectable]":"multiple","[attr.aria-describedby]":"_ariaDescribedby || null","[attr.aria-activedescendant]":"_getAriaActiveDescendant()","[class.mat-select-disabled]":"disabled","[class.mat-select-invalid]":"errorState","[class.mat-select-required]":"required","[class.mat-select-empty]":"empty",class:"mat-select","(keydown)":"_handleKeydown($event)","(focus)":"_onFocus()","(blur)":"_onBlur()"},animations:[k.transformPanelWrap,k.transformPanel],providers:[{provide:m.b,useExisting:e},{provide:f.f,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:p.f},{type:d.k},{type:d.Q},{type:f.b},{type:d.u},{type:a.b,decorators:[{type:d.R}]},{type:h.i,decorators:[{type:d.R}]},{type:h.d,decorators:[{type:d.R}]},{type:m.a,decorators:[{type:d.R}]},{type:h.h,decorators:[{type:d.eb},{type:d.R}]},{type:String,decorators:[{type:d.h,args:["tabindex"]}]},{type:void 0,decorators:[{type:d.C,args:[D]}]},{type:o.g}]},e.propDecorators={trigger:[{type:d.nb,args:["trigger"]}],panel:[{type:d.nb,args:["panel"]}],overlayDir:[{type:d.nb,args:[u.a]}],options:[{type:d.s,args:[f.m,{descendants:!0}]}],optionGroups:[{type:d.s,args:[f.l]}],panelClass:[{type:d.G}],customTrigger:[{type:d.r,args:[M]}],placeholder:[{type:d.G}],required:[{type:d.G}],multiple:[{type:d.G}],disableOptionCentering:[{type:d.G}],compareWith:[{type:d.G}],value:[{type:d.G}],ariaLabel:[{type:d.G,args:["aria-label"]}],ariaLabelledby:[{type:d.G,args:["aria-labelledby"]}],errorStateMatcher:[{type:d.G}],sortComparator:[{type:d.G}],id:[{type:d.G}],openedChange:[{type:d.S}],_openedStream:[{type:d.S,args:["opened"]}],_closedStream:[{type:d.S,args:["closed"]}],selectionChange:[{type:d.S}],valueChange:[{type:d.S}]},e}(R),F=function(){function t(){}return t.decorators=[{type:d.L,args:[{imports:[S.b,u.e,f.n,f.h],exports:[m.c,N,M,f.n,f.h],declarations:[N,M],providers:[T]}]}],t}()},uMaO:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("mrSG"),i=function(t){function e(e,n){var r=t.call(this)||this;return r.subject=e,r.subscriber=n,r.closed=!1,r}return r.c(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(n("pugT").a)},v6lC:function(t,e,n){"use strict";n.d(e,"a",function(){return d});var r=n("CcnG"),i=n("o3x0"),o=n("Gwao"),a=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},s=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(t,e){return function(n,r){e(n,r,t)}},c=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},u=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] visible",Object(r.e)("200ms cubic-bezier(0, 0, 0.2, 1)",Object(r.h)([Object(r.l)({opacity:0,transform:"scale(0)",offset:0}),Object(r.l)({opacity:.5,transform:"scale(0.99)",offset:.5}),Object(r.l)({opacity:1,transform:"scale(1)",offset:1})]))),Object(r.m)("* => hidden",Object(r.e)("100ms cubic-bezier(0, 0, 0.2, 1)",Object(r.l)({opacity:0})))])},x=20;function C(t){return Error('Tooltip position "'+t+'" is invalid.')}var O=new y.E("mat-tooltip-scroll-strategy");var E={provide:O,deps:[p.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition({scrollThrottle:x})}}},S=new y.E("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});var k=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){var d=this;this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=r,this._ngZone=i,this._ariaDescriber=a,this._focusMonitor=s,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new v.a,this._scrollStrategy=l;var h=e.nativeElement,f=h.style,g="undefined"==typeof window||window.Hammer||p;o.IOS||o.ANDROID?g||this._manualListeners.set("touchstart",function(){return d.show()}):this._manualListeners.set("mouseenter",function(){return d.show()}).set("mouseleave",function(){return d.hide()}),this._manualListeners.forEach(function(t,e){return h.addEventListener(e,t)}),"INPUT"!==h.nodeName&&"TEXTAREA"!==h.nodeName||(f.webkitUserSelect=f.userSelect=f.msUserSelect=""),h.draggable&&"none"===f.webkitUserDrag&&(f.webkitUserDrag=""),s.monitor(e).pipe(Object(m.a)(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&i.run(function(){return d.show()}):i.run(function(){return d.hide(0)})}),u&&u.position&&(this.position=u.position)}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=Object(s.c)(t),this._disabled&&this.hide(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){return this._message},set:function(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?(""+t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipClass",{get:function(){return this._tooltipClass},set:function(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){var t=this;this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._manualListeners.forEach(function(e,n){t._elementRef.nativeElement.removeEventListener(n,e)}),this._manualListeners.clear(),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef)},t.prototype.show=function(t){var e=this;if(void 0===t&&(t=this.showDelay),!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new f.d(j,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(Object(m.a)(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}},t.prototype.hide=function(t){void 0===t&&(t=this.hideDelay),this._tooltipInstance&&this._tooltipInstance.hide(t)},t.prototype.toggle=function(){this._isTooltipVisible()?this.hide():this.show()},t.prototype._isTooltipVisible=function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()},t.prototype._handleKeydown=function(t){this._isTooltipVisible()&&t.keyCode===l.g&&(t.stopPropagation(),this.hide(0))},t.prototype._handleTouchend=function(){this.hide(this._defaultOptions.touchendHideDelay)},t.prototype._createOverlay=function(){var t=this;if(this._overlayRef)return this._overlayRef;var e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8).withScrollableContainers(e);return n.positionChanges.pipe(Object(m.a)(this._destroyed)).subscribe(function(e){t._tooltipInstance&&e.scrollableViewProperties.isOverlayClipped&&t._tooltipInstance.isVisible()&&t._ngZone.run(function(){return t.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"mat-tooltip-panel",scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(Object(m.a)(this._destroyed)).subscribe(function(){return t._detach()}),this._overlayRef},t.prototype._detach=function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null},t.prototype._updatePosition=function(){var t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object(i.a)({},e.main,n.main),Object(i.a)({},e.fallback,n.fallback)])},t.prototype._getOrigin=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n||"below"==n)t={originX:"center",originY:"above"==n?"top":"bottom"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={originX:"start",originY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={originX:"end",originY:"center"}}var r=this._invertPosition(t.originX,t.originY);return{main:t,fallback:{originX:r.x,originY:r.y}}},t.prototype._getOverlayPosition=function(){var t,e=!this._dir||"ltr"==this._dir.value,n=this.position;if("above"==n)t={overlayX:"center",overlayY:"bottom"};else if("below"==n)t={overlayX:"center",overlayY:"top"};else if("before"==n||"left"==n&&e||"right"==n&&!e)t={overlayX:"end",overlayY:"center"};else{if(!("after"==n||"right"==n&&e||"left"==n&&!e))throw C(n);t={overlayX:"start",overlayY:"center"}}var r=this._invertPosition(t.overlayX,t.overlayY);return{main:t,fallback:{overlayX:r.x,overlayY:r.y}}},t.prototype._updateTooltipMessage=function(){var t=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(g.a)(1),Object(m.a)(this._destroyed)).subscribe(function(){t._tooltipInstance&&t._overlayRef.updatePosition()}))},t.prototype._setTooltipClass=function(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())},t.prototype._invertPosition=function(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}},t.decorators=[{type:y.t,args:[{selector:"[matTooltip]",exportAs:"matTooltip",host:{"(longpress)":"show()","(keydown)":"_handleKeydown($event)","(touchend)":"_handleTouchend()"}}]}],t.ctorParameters=function(){return[{type:p.b},{type:y.u},{type:d.c},{type:y.pb},{type:y.Q},{type:h.a},{type:o.c},{type:o.e},{type:void 0,decorators:[{type:y.C,args:[O]}]},{type:a.b,decorators:[{type:y.R}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[S]}]},{type:void 0,decorators:[{type:y.R},{type:y.C,args:[u.d]}]}]},t.propDecorators={position:[{type:y.G,args:["matTooltipPosition"]}],disabled:[{type:y.G,args:["matTooltipDisabled"]}],showDelay:[{type:y.G,args:["matTooltipShowDelay"]}],hideDelay:[{type:y.G,args:["matTooltipHideDelay"]}],message:[{type:y.G,args:["matTooltip"]}],tooltipClass:[{type:y.G,args:["matTooltipClass"]}]},t}(),j=function(){function t(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new v.a,this._isHandset=this._breakpointObserver.observe(c.b.Handset)}return t.prototype.show=function(t){var e=this;this._hideTimeoutId&&(clearTimeout(this._hideTimeoutId),this._hideTimeoutId=null),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){e._visibility="visible",e._showTimeoutId=null,e._markForCheck()},t)},t.prototype.hide=function(t){var e=this;this._showTimeoutId&&(clearTimeout(this._showTimeoutId),this._showTimeoutId=null),this._hideTimeoutId=setTimeout(function(){e._visibility="hidden",e._hideTimeoutId=null,e._markForCheck()},t)},t.prototype.afterHidden=function(){return this._onHide.asObservable()},t.prototype.isVisible=function(){return"visible"===this._visibility},t.prototype.ngOnDestroy=function(){this._onHide.complete()},t.prototype._animationStart=function(){this._closeOnInteraction=!1},t.prototype._animationDone=function(t){var e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)},t.prototype._handleBodyInteraction=function(){this._closeOnInteraction&&this.hide(0)},t.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},t.decorators=[{type:y.n,args:[{selector:"mat-tooltip-component",template:'
        {{message}}
        ',styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],encapsulation:y.qb.None,changeDetection:y.j.OnPush,animations:[w.tooltipState],host:{"[style.zoom]":'_visibility === "visible" ? 1 : null',"(body:click)":"this._handleBodyInteraction()","aria-hidden":"true"}}]}],t.ctorParameters=function(){return[{type:y.k},{type:c.a}]},t}(),A=function(){function t(){}return t.decorators=[{type:y.L,args:[{imports:[o.a,b.b,p.e,_.h],exports:[k,j,_.h],declarations:[k,j],entryComponents:[j],providers:[E,{provide:u.c,useClass:_.c}]}]}],t}()},vARd:function(t,e,n){"use strict";n.d(e,"b",function(){return x}),n.d(e,"a",function(){return O});var r=n("K9Ia"),i=n("CcnG"),o=n("ihYY"),a=n("mrSG"),s=n("4c35"),l=n("t9fZ"),c=n("ny24"),u=n("eDkP"),p=n("Ip0R"),d=n("Wf4p"),h=n("UodH"),f=n("lLAP"),m=n("vGXY"),g=function(){function t(t,e){var n=this;this._overlayRef=e,this._afterDismissed=new r.a,this._afterOpened=new r.a,this._onAction=new r.a,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(function(){return n.dismiss()}),t._onExit.subscribe(function(){return n._finishDismiss()})}return t.prototype.dismiss=function(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)},t.prototype.dismissWithAction=function(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete())},t.prototype.closeWithAction=function(){this.dismissWithAction()},t.prototype._dismissAfter=function(t){var e=this;this._durationTimeoutId=setTimeout(function(){return e.dismiss()},t)},t.prototype._open=function(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1},t.prototype.afterDismissed=function(){return this._afterDismissed.asObservable()},t.prototype.afterOpened=function(){return this.containerInstance._onEnter},t.prototype.onAction=function(){return this._onAction.asObservable()},t}(),y=new i.E("MatSnackBarData"),v=function(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"},b=function(){function t(t,e){this.snackBarRef=t,this.data=e}return t.prototype.action=function(){this.snackBarRef.dismissWithAction()},Object.defineProperty(t.prototype,"hasAction",{get:function(){return!!this.data.action},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"simple-snack-bar",template:'{{data.message}}
        ',styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;height:100%;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}"],encapsulation:i.qb.None,changeDetection:i.j.OnPush,host:{class:"mat-simple-snackbar"}}]}],t.ctorParameters=function(){return[{type:g},{type:void 0,decorators:[{type:i.C,args:[y]}]}]},t}(),_={snackBarState:Object(o.n)("state",[Object(o.k)("void, hidden",Object(o.l)({transform:"scale(0.8)",opacity:0})),Object(o.k)("visible",Object(o.l)({transform:"scale(1)",opacity:1})),Object(o.m)("* => visible",Object(o.e)("150ms cubic-bezier(0, 0, 0.2, 1)")),Object(o.m)("* => void, * => hidden",Object(o.e)("75ms cubic-bezier(0.4, 0.0, 1, 1)",Object(o.l)({opacity:0})))])},w=function(t){function e(e,n,i,o){var a=t.call(this)||this;return a._ngZone=e,a._elementRef=n,a._changeDetectorRef=i,a.snackBarConfig=o,a._destroyed=!1,a._onExit=new r.a,a._onEnter=new r.a,a._animationState="void","assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?a._role=null:a._role="status":a._role="alert",a}return Object(a.c)(e,t),e.prototype.attachComponentPortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)},e.prototype.onAnimationEnd=function(t){var e=t.fromState,n=t.toState;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){var r=this._onEnter;this._ngZone.run(function(){r.next(),r.complete()})}},e.prototype.enter=function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges())},e.prototype.exit=function(){return this._animationState="hidden",this._onExit},e.prototype.ngOnDestroy=function(){this._destroyed=!0,this._completeExit()},e.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(Object(l.a)(1)).subscribe(function(){t._onExit.next(),t._onExit.complete()})},e.prototype._applySnackBarClasses=function(){var t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(function(e){return t.classList.add(e)}):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")},e.prototype._assertNotAttached=function(){if(this._portalOutlet.hasAttached())throw Error("Attempting to attach snack bar content after content is already attached")},e.decorators=[{type:i.n,args:[{selector:"snack-bar-container",template:"",styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}@media (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],changeDetection:i.j.Default,encapsulation:i.qb.None,animations:[_.snackBarState],host:{"[attr.role]":"_role",class:"mat-snack-bar-container","[@state]":"_animationState","(@state.done)":"onAnimationEnd($event)"}}]}],e.ctorParameters=function(){return[{type:i.Q},{type:i.u},{type:i.k},{type:v}]},e.propDecorators={_portalOutlet:[{type:i.nb,args:[s.c]}]},e}(s.a),x=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[u.e,s.h,p.b,h.b,d.h],exports:[w,d.h],declarations:[w,b],entryComponents:[w,b]}]}],t}(),C=new i.E("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new v}});var O=function(){function t(t,e,n,r,i,o){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=r,this._parentSnackBar=i,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackBarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,e){return this._attach(t,e)},t.prototype.openFromTemplate=function(t,e){return this._attach(t,e)},t.prototype.open=function(t,e,n){void 0===e&&(e="");var r=Object(a.a)({},this._defaultConfig,n);return r.data={message:t,action:e},r.announcementMessage||(r.announcementMessage=t),this.openFromComponent(b,r)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=new s.g(n||this._injector,new WeakMap([[v,e]])),i=new s.d(w,e.viewContainerRef,r),o=t.attach(i);return o.instance.snackBarConfig=e,o.instance},t.prototype._attach=function(t,e){var n=Object(a.a)({},new v,this._defaultConfig,e),r=this._createOverlay(n),o=this._attachSnackBarContainer(r,n),u=new g(o,r);if(t instanceof i.jb){var p=new s.i(t,null,{$implicit:n.data,snackBarRef:u});u.instance=o.attachTemplatePortal(p)}else{var d=this._createInjector(n,u),h=(p=new s.d(t,void 0,d),o.attachComponentPortal(p));u.instance=h.instance}return this._breakpointObserver.observe(m.b.Handset).pipe(Object(c.a)(r.detachments().pipe(Object(l.a)(1)))).subscribe(function(t){t.matches?r.overlayElement.classList.add("mat-snack-bar-handset"):r.overlayElement.classList.remove("mat-snack-bar-handset")}),this._animateSnackBar(u,n),this._openedSnackBarRef=u,this._openedSnackBarRef},t.prototype._animateSnackBar=function(t,e){var n=this;t.afterDismissed().subscribe(function(){n._openedSnackBarRef==t&&(n._openedSnackBarRef=null),e.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(function(){return t._dismissAfter(e.duration)}),e.announcementMessage&&this._live.announce(e.announcementMessage,e.politeness)},t.prototype._createOverlay=function(t){var e=new u.c;e.direction=t.direction;var n=this._overlay.position().global(),r="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new s.g(n||this._injector,new WeakMap([[g,e],[y,t.data]]))},t.decorators=[{type:i.D,args:[{providedIn:x}]}],t.ctorParameters=function(){return[{type:u.b},{type:f.g},{type:i.F},{type:m.a},{type:t,decorators:[{type:i.R},{type:i.fb}]},{type:v,decorators:[{type:i.C,args:[C]}]}]},t.ngInjectableDef=Object(i.tb)({factory:function(){return new t(Object(i.xb)(u.b),Object(i.xb)(f.g),Object(i.xb)(i.B),Object(i.xb)(m.a),Object(i.xb)(t,12),Object(i.xb)(C))},token:t,providedIn:x}),t}()},vGXY:function(t,e,n){"use strict";var r=n("CcnG"),i=n("dWZg"),o=n("K9Ia"),a=n("dzgT"),s=n("KQya"),l=n("6blF"),c=n("isby"),u=n("2Bdj"),p=n("67Y/");var d=n("Gi3i"),h=n("p0Sj"),f=n("ny24"),m=n("n6gG");n.d(e,"a",function(){return _}),n.d(e,"b",function(){return x});!function(){function t(){}t.decorators=[{type:r.L,args:[{}]}]}();var g,y=new Set,v=function(){function t(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):b}return t.prototype.matchMedia=function(t){return this.platform.WEBKIT&&function(t){if(y.has(t))return;try{g||((g=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(g)),g.sheet&&(g.sheet.insertRule("@media "+t+" {.fx-query-test{ }}",0),y.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)},t.decorators=[{type:r.D,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.a}]},t.ngInjectableDef=Object(r.tb)({factory:function(){return new t(Object(r.xb)(i.a))},token:t,providedIn:"root"}),t}();function b(t){return{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}var _=function(){function t(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new o.a}return t.prototype.ngOnDestroy=function(){this._destroySubject.next(),this._destroySubject.complete()},t.prototype.isMatched=function(t){var e=this;return w(Object(m.b)(t)).some(function(t){return e._registerQuery(t).mql.matches})},t.prototype.observe=function(t){var e=this,n=w(Object(m.b)(t)).map(function(t){return e._registerQuery(t).observable});return Object(a.a)(n).pipe(Object(d.a)(0,s.a),Object(p.a)(function(t){var e={matches:!1,breakpoints:{}};return t.forEach(function(t){e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))},t.prototype._registerQuery=function(t){var e=this;if(this._queries.has(t))return this._queries.get(t);var n,r=this.mediaMatcher.matchMedia(t),i={observable:function t(e,n,r){return r?t(e,n).pipe(Object(p.a)(function(t){return Object(c.a)(t)?r.apply(void 0,t):r(t)})):new l.a(function(t){var r,i=function(){for(var e=[],n=0;n0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var o=Math.max(0,n[0].time-r.now());this.schedule(t,o)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.destination.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.a.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.scheduleNotification(a.a.createComplete()),this.unsubscribe()},e}(o.a),u=function(){return function(t,e){this.time=t,this.notification=e}}()},"w+lc":function(t,e,n){"use strict";n.d(e,"a",function(){return b});var r=n("mrSG"),i=n("lLAP"),o=n("Fzqc"),a=n("n6gG"),s=n("YSh2"),l=n("CcnG"),c=n("gIcY"),u=n("Wf4p"),p=n("wFw1"),d=n("pugT"),h=n("Ip0R"),f=n("ZYjt"),m={provide:c.g,useExisting:Object(l.vb)(function(){return v}),multi:!0},g=function(){},y=function(t){this._elementRef=t},v=function(t){function e(e,n,r,i,o,a){var s=t.call(this,e)||this;return s._focusMonitor=n,s._changeDetectorRef=r,s._dir=i,s._animationMode=a,s._invert=!1,s._max=100,s._min=0,s._step=1,s._thumbLabel=!1,s._tickInterval=0,s._value=null,s._vertical=!1,s.change=new l.x,s.input=new l.x,s.valueChange=new l.x,s.onTouched=function(){},s._percent=0,s._isSliding=!1,s._isActive=!1,s._tickIntervalPercent=0,s._sliderDimensions=null,s._controlValueAccessorChangeFn=function(){},s._dirChangeSubscription=d.a.EMPTY,s.tabIndex=parseInt(o)||0,s}return Object(r.c)(e,t),Object.defineProperty(e.prototype,"invert",{get:function(){return this._invert},set:function(t){this._invert=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(t){this._max=Object(a.f)(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(t){this._min=Object(a.f)(t,this._min),null===this._value&&(this.value=this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"step",{get:function(){return this._step},set:function(t){this._step=Object(a.f)(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"thumbLabel",{get:function(){return this._thumbLabel},set:function(t){this._thumbLabel=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tickInterval",{get:function(){return this._tickInterval},set:function(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Object(a.f)(t,this._tickInterval):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return null===this._value&&(this.value=this._min),this._value},set:function(t){if(t!==this._value){var e=Object(a.f)(t);this._roundToDecimal&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=Object(a.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"displayValue",{get:function(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this._focusHostElement()},e.prototype.blur=function(){this._blurHostElement()},Object.defineProperty(e.prototype,"percent",{get:function(){return this._clamp(this._percent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_invertAxis",{get:function(){return this.vertical?!this.invert:this.invert},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_isMinValue",{get:function(){return 0===this.percent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbGap",{get:function(){return this.disabled?7:this._isMinValue&&!this.thumbLabel?this._isActive?10:7:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackBackgroundStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+(1-this.percent)+", 1":1-this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"-":"")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_trackFillStyles",{get:function(){var t=this.vertical?"Y":"X",e=this.vertical?"1, "+this.percent+", 1":this.percent+", 1, 1";return{transform:"translate"+t+"("+(this._shouldInvertMouseCoords()?"":"-")+this._thumbGap+"px) scale3d("+e+")"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"-":"")+this._tickIntervalPercent/2*100+"%)"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_ticksStyles",{get:function(){var t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?"2px "+t+"%":t+"% 2px",transform:"translateZ(0) translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"":"-")+t/2+"%)"+(this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)")};this._isMinValue&&this._thumbGap&&(e["padding"+(this.vertical?this._invertAxis?"Bottom":"Top":this._invertAxis?"Right":"Left")]=this._thumbGap+"px");return e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_thumbContainerStyles",{get:function(){return{transform:"translate"+(this.vertical?"Y":"X")+"(-"+100*(("rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis)?this.percent:1-this.percent)+"%)"}},enumerable:!0,configurable:!0}),e.prototype._shouldInvertMouseCoords=function(){return"rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis},e.prototype._getDirection=function(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"},e.prototype.ngOnInit=function(){var t=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(e){t._isActive=!!e&&"keyboard"!==e,t._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(function(){t._changeDetectorRef.markForCheck()}))},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()},e.prototype._onMouseenter=function(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())},e.prototype._onMousedown=function(t){if(!this.disabled&&0===t.button){var e=this.value;this._isSliding=!1,this._focusHostElement(),this._updateValueFromPosition({x:t.clientX,y:t.clientY}),e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent())}},e.prototype._onSlide=function(t){if(!this.disabled){this._isSliding||this._onSlideStart(null),t.preventDefault();var e=this.value;this._updateValueFromPosition({x:t.center.x,y:t.center.y}),e!=this.value&&this._emitInputEvent()}},e.prototype._onSlideStart=function(t){this.disabled||this._isSliding||(this._onMouseenter(),this._isSliding=!0,this._focusHostElement(),this._valueOnSlideStart=this.value,t&&(this._updateValueFromPosition({x:t.center.x,y:t.center.y}),t.preventDefault()))},e.prototype._onSlideEnd=function(){this._isSliding=!1,this._valueOnSlideStart==this.value||this.disabled||this._emitChangeEvent(),this._valueOnSlideStart=null},e.prototype._onFocus=function(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()},e.prototype._onBlur=function(){this.onTouched()},e.prototype._onKeydown=function(t){if(!this.disabled&&!Object(s.s)(t)){var e=this.value;switch(t.keyCode){case s.l:this._increment(10);break;case s.k:this._increment(-10);break;case s.e:this.value=this.max;break;case s.h:this.value=this.min;break;case s.i:this._increment("rtl"==this._getDirection()?1:-1);break;case s.p:this._increment(1);break;case s.m:this._increment("rtl"==this._getDirection()?-1:1);break;case s.d:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding=!0,t.preventDefault()}},e.prototype._onKeyup=function(){this._isSliding=!1},e.prototype._increment=function(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)},e.prototype._updateValueFromPosition=function(t){if(this._sliderDimensions){var e=this.vertical?this._sliderDimensions.top:this._sliderDimensions.left,n=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,r=this.vertical?t.y:t.x,i=this._clamp((r-e)/n);if(this._shouldInvertMouseCoords()&&(i=1-i),0===i)this.value=this.min;else if(1===i)this.value=this.max;else{var o=this._calculateValue(i),a=Math.round((o-this.min)/this.step)*this.step+this.min;this.value=this._clamp(a,this.min,this.max)}}},e.prototype._emitChangeEvent=function(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())},e.prototype._emitInputEvent=function(){this.input.emit(this._createChangeEvent())},e.prototype._updateTickIntervalPercent=function(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){var t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=t*this.step/(this.max-this.min),n=Math.ceil(30/e)*this.step;this._tickIntervalPercent=n/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)},e.prototype._createChangeEvent=function(t){void 0===t&&(t=this.value);var e=new g;return e.source=this,e.value=t,e},e.prototype._calculatePercentage=function(t){return((t||0)-this.min)/(this.max-this.min)},e.prototype._calculateValue=function(t){return this.min+t*(this.max-this.min)},e.prototype._clamp=function(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),Math.max(e,Math.min(t,n))},e.prototype._getSliderDimensions=function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null},e.prototype._focusHostElement=function(){this._elementRef.nativeElement.focus()},e.prototype._blurHostElement=function(){this._elementRef.nativeElement.blur()},e.prototype.writeValue=function(t){this.value=t},e.prototype.registerOnChange=function(t){this._controlValueAccessorChangeFn=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t},e.decorators=[{type:l.n,args:[{selector:"mat-slider",exportAs:"matSlider",providers:[m],host:{"(focus)":"_onFocus()","(blur)":"_onBlur()","(mousedown)":"_onMousedown($event)","(keydown)":"_onKeydown($event)","(keyup)":"_onKeyup()","(mouseenter)":"_onMouseenter()","(slide)":"_onSlide($event)","(slideend)":"_onSlideEnd()","(slidestart)":"_onSlideStart($event)",class:"mat-slider",role:"slider","[tabIndex]":"tabIndex","[attr.aria-disabled]":"disabled","[attr.aria-valuemax]":"max","[attr.aria-valuemin]":"min","[attr.aria-valuenow]":"value","[attr.aria-orientation]":'vertical ? "vertical" : "horizontal"',"[class.mat-slider-disabled]":"disabled","[class.mat-slider-has-ticks]":"tickInterval","[class.mat-slider-horizontal]":"!vertical","[class.mat-slider-axis-inverted]":"_invertAxis","[class.mat-slider-sliding]":"_isSliding","[class.mat-slider-thumb-label-showing]":"thumbLabel","[class.mat-slider-vertical]":"vertical","[class.mat-slider-min-value]":"_isMinValue","[class.mat-slider-hide-last-tick]":"disabled || _isMinValue && _thumbGap && _invertAxis","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"'},template:'
        {{displayValue}}
        ',styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],inputs:["disabled","color","tabIndex"],encapsulation:l.qb.None,changeDetection:l.j.OnPush}]}],e.ctorParameters=function(){return[{type:l.u},{type:i.e},{type:l.k},{type:o.b,decorators:[{type:l.R}]},{type:String,decorators:[{type:l.h,args:["tabindex"]}]},{type:String,decorators:[{type:l.R},{type:l.C,args:[p.a]}]}]},e.propDecorators={invert:[{type:l.G}],max:[{type:l.G}],min:[{type:l.G}],step:[{type:l.G}],thumbLabel:[{type:l.G}],tickInterval:[{type:l.G}],value:[{type:l.G}],displayWith:[{type:l.G}],vertical:[{type:l.G}],change:[{type:l.S}],input:[{type:l.S}],valueChange:[{type:l.S}],_sliderWrapper:[{type:l.nb,args:["sliderWrapper"]}]},e}(Object(u.y)(Object(u.u)(Object(u.w)(y),"accent"))),b=function(){function t(){}return t.decorators=[{type:l.L,args:[{imports:[h.b,u.h],exports:[v,u.h],declarations:[v],providers:[{provide:f.c,useClass:u.c}]}]}],t}()},wFw1:function(t,e,n){"use strict";var r=n("mrSG"),i=n("CcnG"),o=n("ZYjt"),a=n("ihYY");function s(){return"undefined"!=typeof process}function l(t){switch(t.length){case 0:return new a.d;case 1:return t[0];default:return new a.o(t)}}function c(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(t){var n=t.offset,r=n==c,p=r&&u||{};Object.keys(t).forEach(function(n){var r=n,l=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),l){case a.p:l=i[n];break;case a.a:l=o[n];break;default:l=e.normalizeStyleValue(n,r,l,s)}p[r]=l}),r||l.push(p),u=p,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function u(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&p(n,"start",t))});break;case"done":t.onDone(function(){return r(n&&p(n,"done",t))});break;case"destroy":t.onDestroy(function(){return r(n&&p(n,"destroy",t))})}}function p(t,e,n){var r=n.totalTime,i=!!n.disabled,o=d(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==r?t.totalTime:r,i),a=t._data;return null!=a&&(o._data=a),o}function d(t,e,n,r,i,o,a){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o,disabled:!!a}}function h(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function f(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var m=function(t,e){return!1},g=function(t,e){return!1},y=function(t,e,n){return[]},v=s();(v||"undefined"!=typeof Element)&&(m=function(t,e){return t.contains(e)},g=function(){if(v||Element.prototype.matches)return function(t,e){return t.matches(e)};var t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?function(t,n){return e.apply(t,[n])}:g}(),y=function(t,e,n){var i=[];if(n)i.push.apply(i,Object(r.g)(t.querySelectorAll(e)));else{var o=t.querySelector(e);o&&i.push(o)}return i});var b=null,_=!1;function w(t){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},_=!!b.style&&"WebkitAppearance"in b.style);var e=!0;b.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&(!(e=t in b.style)&&_&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in b.style));return e}var x=g,C=m,O=y;function E(t){var e={};return Object.keys(t).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[r]=t[n]}),e}var S=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===o&&(o=[]),new a.d(n,r)},t=Object(r.b)([Object(i.D)()],t)}(),k=function(){function t(){}return t.NOOP=new S,t}(),j=1e3,A=".ng-trigger",D=".ng-animating";function T(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:P(parseFloat(e[1]),e[2])}function P(t,e){switch(e){case"s":return t*j;default:return t}}function I(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=P(parseFloat(a[1]),a[2]);var s=a[3];null!=s&&(i=P(parseFloat(s),a[4]));var l=a[5];l&&(o=l)}else r=t;if(!n){var c=!1,u=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&e.splice(u,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function R(t,e){return void 0===e&&(e={}),Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function M(t){var e={};return Array.isArray(t)?t.forEach(function(t){return N(t,!1,e)}):N(t,!1,e),e}function N(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else R(t,n);return n}function F(t,e,n){return n?e+":"+n+";":""}function L(t){for(var e="",n=0;n *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],a=i[2],s=i[3];e.push(nt(o,s));var l=o==$&&s==$;"<"!=a[0]||l||e.push(nt(s,o))}(t,n,e)}):n.push(t),n}var tt=new Set(["true","1"]),et=new Set(["false","0"]);function nt(t,e){var n=tt.has(t)||et.has(t),r=tt.has(e)||et.has(e);return function(i,o){var a=t==$||t==i,s=e==$||e==o;return!a&&n&&"boolean"==typeof i&&(a=i?tt.has(t):et.has(t)),!s&&r&&"boolean"==typeof o&&(s=o?tt.has(e):et.has(e)),a&&s}}var rt=":self",it=new RegExp("s*"+rt+"s*,?","g");function ot(t,e,n){return new at(t).build(e,n)}var at=function(){function t(t){this._driver=t}return t.prototype.build=function(t,e){var n=new st(e);return this._resetContextStyleTimingState(n),X(this,z(t),n)},t.prototype._resetContextStyleTimingState=function(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0},t.prototype.visitTrigger=function(t,e){var n=this,r=e.queryCount=0,i=e.depCount=0,o=[],a=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(function(t){if(n._resetContextStyleTimingState(e),0==t.type){var s=t,l=s.name;l.toString().split(/\s*,\s*/).forEach(function(t){s.name=t,o.push(n.visitState(s,e))}),s.name=l}else if(1==t.type){var c=n.visitTransition(t,e);r+=c.queryCount,i+=c.depCount,a.push(c)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:o,transitions:a,queryCount:r,depCount:i,options:null}},t.prototype.visitState=function(t,e){var n=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(n.containsDynamicStyles){var i=new Set,o=r||{};if(n.styles.forEach(function(t){if(lt(t)){var e=t;Object.keys(e).forEach(function(t){U(e[t]).forEach(function(t){o.hasOwnProperty(t)||i.add(t)})})}}),i.size){var a=q(i.values());e.errors.push('state("'+t.name+'", ...) must define default values for all the following style substitutions: '+a.join(", "))}}return{type:0,name:t.name,style:n,options:r?{params:r}:null}},t.prototype.visitTransition=function(t,e){e.queryCount=0,e.depCount=0;var n=X(this,z(t.animation),e);return{type:1,matchers:J(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:ct(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map(function(t){return X(n,t,e)}),options:ct(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map(function(t){e.currentTime=r;var o=X(n,t,e);return i=Math.max(i,e.currentTime),o});return e.currentTime=i,{type:3,steps:o,options:ct(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t){return ut(I(t,e).duration,0,"")}var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=ut(0,0,"");return i.dynamic=!0,i.strValue=r,i}return ut((n=n||I(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:Object(a.l)({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var l={};r.easing&&(l.easing=r.easing),o=Object(a.l)(l)}e.currentTime+=r.duration+r.delay;var c=this.visitStyle(o,e);c.isEmptyStep=s,n=c}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach(function(t){"string"==typeof t?t==a.a?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)}):n.push(t.styles);var r=!1,i=null;return n.forEach(function(t){if(lt(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e){if(e[o].toString().indexOf("{{")>=0){r=!0;break}}}}),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(r){if(n._driver.validateStyleProperty(r)){var a,s,l,c,u,p=e.collectedStyles[e.currentQuerySelector],d=p[r],h=!0;d&&(o!=i&&o>=d.startTime&&i<=d.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+d.startTime+'ms" and "'+d.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),h=!1),o=d.startTime),h&&(p[r]={startTime:o,endTime:i}),e.options&&(a=t[r],s=e.options,l=e.errors,c=s.params||{},(u=U(a)).length&&u.forEach(function(t){c.hasOwnProperty(t)||l.push("Unable to resolve the local animation param "+t+" in the given list of values")}))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],a=!1,s=!1,l=0,c=t.steps.map(function(t){var r=n._makeStyleAst(t,e),c=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(lt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),u=0;return null!=c&&(i++,u=r.offset=c),s=s||u<0||u>1,a=a||u0&&i0?i==d?1:p*i:o[i],s=a*m;e.currentTime=h+f.delay+s,f.duration=s,n._validateStyleAst(t,e),t.offset=a,r.styles.push(t)}),r},t.prototype.visitReference=function(t,e){return{type:8,animation:X(this,z(t.animation),e),options:ct(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:ct(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ct(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;var o=Object(r.f)(function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return t==rt});e&&(t=t.replace(it,""));return[t=t.replace(/@\*/g,A).replace(/@\w+/g,function(t){return A+"-"+t.substr(1)}).replace(/:animating/g,D),e]}(t.selector),2),a=o[0],s=o[1];e.currentQuerySelector=n.length?n+" "+a:a,h(e.collectedStyles,e.currentQuerySelector,{});var l=X(this,z(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:a,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:l,originalSelector:t.selector,options:ct(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:I(t.timings,e.errors,!0);return{type:12,animation:X(this,z(t.animation),e),timings:n,options:null}},t}();var st=function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function lt(t){return!Array.isArray(t)&&"object"==typeof t}function ct(t){var e;return t?(t=R(t)).params&&(t.params=(e=t.params)?R(e):null):t={},t}function ut(t,e,n){return{duration:t,delay:e,easing:n}}function pt(t,e,n,r,i,o,a,s){return void 0===a&&(a=null),void 0===s&&(s=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:a,subTimeline:s}}var dt=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,Object(r.g)(e))},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),ht=new RegExp(":enter","g"),ft=new RegExp(":leave","g");function mt(t,e,n,r,i,o,a,s,l,c){return void 0===o&&(o={}),void 0===a&&(a={}),void 0===c&&(c=[]),(new gt).buildKeyframes(t,e,n,r,i,o,a,s,l,c)}var gt=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,a,s,l,c){void 0===c&&(c=[]),l=l||new dt;var u=new vt(t,e,l,r,i,c,[]);u.options=s,u.currentTimeline.setStyles([o],null,u.errors,s),X(this,n,u);var p=u.timelines.filter(function(t){return t.containsAnimation()});if(p.length&&Object.keys(a).length){var d=p[p.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,u.errors,s)}return p.length?p.map(function(t){return t.buildKeyframes()}):[pt(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?T(n.duration):null,o=null!=n.delay?T(n.delay):null;return 0!==i&&t.forEach(function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)}),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),X(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=yt);var a=T(o.delay);i.delayNextStep(a)}t.steps.length&&(t.steps.forEach(function(t){return X(n,t,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?T(t.options.delay):0;t.steps.forEach(function(a){var s=e.createSubContext(t.options);o&&s.delayNextStep(o),X(n,a,s),i=Math.max(i,s.currentTimeline.currentTime),r.push(s.currentTimeline)}),r.forEach(function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)}),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return I(e.params?G(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(function(t){var n=t.offset||0;o.forwardTime(n*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?T(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=yt);var a=r,s=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=s.length;var l=null;s.forEach(function(r,i){e.currentQueryIndex=i;var s=e.createSubContext(t.options,r);o&&s.delayNextStep(o),r===e.element&&(l=s.currentTimeline),X(n,t.animation,s),s.currentTimeline.applyStylesToKeyframe();var c=s.currentTimeline.currentTime;a=Math.max(a,c)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),a=o*(e.currentQueryTotal-1),s=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var l=e.currentTimeline;s&&l.delayNextStep(s);var c=l.currentTime;X(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-c+(r.startTime-n.currentTimeline.startTime)},t}(),yt={},vt=function(){function t(t,e,n,r,i,o,a,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=yt,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new bt(this._driver,e,0),a.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=T(r.duration)),null!=r.delay&&(i.delay=T(r.delay));var o=r.params;if(o){var a=i.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(t){e&&a.hasOwnProperty(t)||(a[t]=G(o[t],a,n.errors))})}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach(function(t){n[t]=e[t]})}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=yt,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new _t(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,i,o,a){var s=[];if(i&&s.push(this.element),t.length>0){t=(t=t.replace(ht,"."+this._enterClassName)).replace(ft,"."+this._leaveClassName);var l=1!=n,c=this._driver.query(this.element,t,l);0!==n&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),s.push.apply(s,Object(r.g)(c))}return o||0!=s.length||a.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),bt=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(t){e._backFill[t]=e._globalTimelineStyles[t]||a.a,e._currentKeyframe[t]=a.a}),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach(function(t){"*"===t?(n=n||Object.keys(e)).forEach(function(t){r[t]=a.a}):N(t,!1,r)}),r}(t,this._globalTimelineStyles);Object.keys(s).forEach(function(t){var e=G(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:a.a),i._updateStyle(t,e)})},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){var r=e[n];t._currentKeyframe[n]=r}),Object.keys(this._localTimelineStyles).forEach(function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])}))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)})},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach(function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)})},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach(function(o,s){var l=N(o,!0);Object.keys(l).forEach(function(t){var r=l[t];r==a.p?e.add(t):r==a.a&&n.add(t)}),r||(l.offset=s/t.duration),i.push(l)});var o=e.size?q(e.values()):[],s=n.size?q(n.values()):[];if(r){var l=i[0],c=R(l);l.offset=0,c.offset=1,i=[l,c]}return pt(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),_t=function(t){function e(e,n,r,i,o,a,s){void 0===s&&(s=!1);var l=t.call(this,e,n,a.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=s,l.timings={duration:a.duration,delay:a.delay,easing:a.easing},l}return Object(r.c)(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=r+n,s=n/a,l=N(t[0],!1);l.offset=0,o.push(l);var c=N(t[0],!1);c.offset=wt(s),o.push(c);for(var u=t.length-1,p=1;p<=u;p++){var d=N(t[p],!1),h=n+d.offset*r;d.offset=wt(h/a),o.push(d)}r=a,n=0,i="",t=o}return pt(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(bt);function wt(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}!function(){function t(t,e){this._driver=t;var n=[],r=ot(t,e,n);if(n.length){var i="animation validation failed:\n"+n.join("\n");throw new Error(i)}this._animationAst=r}t.prototype.buildTimelines=function(t,e,n,r,i){var o=Array.isArray(e)?M(e):e,a=Array.isArray(n)?M(n):n,s=[];i=i||new dt;var l=mt(this._driver,t,this._animationAst,"ng-enter","ng-leave",o,a,r,i,s);if(s.length){var c="animation building failed:\n"+s.join("\n");throw new Error(c)}return l}}();var xt,Ct,Ot=function(){},Et=(function(){function t(){}t.prototype.normalizePropertyName=function(t,e){return t},t.prototype.normalizeStyleValue=function(t,e,n,r){return n}}(),function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.c)(e,t),e.prototype.normalizePropertyName=function(t,e){return Y(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(St[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(Ot)),St=(xt="width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","),Ct={},xt.forEach(function(t){return Ct[t]=!0}),Ct);function kt(t,e,n,r,i,o,a,s,l,c,u,p,d){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:a,timelines:s,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:p,errors:d}}var jt={},At=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e,n,r){return function(t,e,n,r,i){return t.some(function(t){return t(e,n,r,i)})}(this.ast.matchers,t,e,n,r)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,i,o,a,s,l,c,u){var p=[],d=this.ast.options&&this.ast.options.params||jt,f=s&&s.params||jt,m=this.buildStyles(n,f,p),g=l&&l.params||jt,y=this.buildStyles(i,g,p),v=new Set,b=new Map,_=new Map,w="void"===i,x={params:Object(r.a)({},d,g)},C=u?[]:mt(t,e,this.ast.animation,o,a,m,y,x,c,p),O=0;if(C.forEach(function(t){O=Math.max(t.duration+t.delay,O)}),p.length)return kt(e,this._triggerName,n,i,w,m,y,[],[],b,_,O,p);C.forEach(function(t){var n=t.element,r=h(b,n,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=h(_,n,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),n!==e&&v.add(n)});var E=q(v.values());return kt(e,this._triggerName,n,i,w,m,y,C,E,b,_,O)},t}();var Dt=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=R(this.defaultParams);return Object.keys(t).forEach(function(e){var n=t[e];null!=n&&(r[e]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach(function(t){var o=i[t];o.length>1&&(o=G(o,r,e)),n[t]=o})}}),n},t}();var Tt=function(){function t(t,e){var n,r,i=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){var e=t.options&&t.options.params||{};i.states[t.name]=new Dt(t.style,e)}),Pt(this.states,"true","1"),Pt(this.states,"false","0"),e.transitions.forEach(function(e){i.transitionFactories.push(new At(t,e,i.states))}),this.fallbackTransition=(n=t,r=this.states,new At(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},r))}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e,n,r){return this.transitionFactories.find(function(i){return i.match(t,e,n,r)})||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function Pt(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var It=new dt,Rt=function(){function t(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=ot(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=c(this._driver,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[],!0)},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],c=new Map;if(s?(i=mt(this._driver,e,s,"ng-enter","ng-leave",{},{},n,It,o)).forEach(function(t){var e=h(c,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));c.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=r._driver.computeStyle(e,n,a.a)})});var u=l(i.map(function(t){var e=c.get(t.element);return r._buildPlayer(t,{},e)}));return this._playersById[t]=u,u.onDestroy(function(){return r.destroy(t)}),this.players.push(u),u},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=d(e,"","","");return u(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else{var o=r[0]||{};this.create(t,e,o)}else this.register(t,r[0])},t}(),Mt=[],Nt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ft={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Lt="__ng_removed",Vt=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n=t&&t.hasOwnProperty("value"),r=n?t.value:t;if(this.value=function(t){return null!=t?t:null}(r),n){var i=R(t);delete i.value,this.options=i}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach(function(t){null==n[t]&&(n[t]=e[t])})}},t}(),Bt=new Vt("void"),zt=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Qt(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var a=h(this._elementListeners,t,[]),s={name:e,phase:n,callback:r};a.push(s);var l=h(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),l[e]=Bt),function(){o._engine.afterFlush(function(){var t=a.indexOf(s);t>=0&&a.splice(t,1),o._triggers[e]||delete l[e]})}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),a=new Ut(this.id,e,t),s=this._engine.statesByElement.get(t);s||(Qt(t,"ng-trigger"),Qt(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,s={}));var l=s[e],c=new Vt(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),s[e]=c,l||(l=Bt),"void"===c.value||l.value!==c.value){var u=h(this._engine.playersByElement,t,[]);u.forEach(function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()});var p=o.matchTransition(l.value,c.value,t,c.params),d=!1;if(!p){if(!r)return;p=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:p,fromState:l,toState:c,player:a,isFallbackTransition:d}),d||(Qt(t,"ng-animate-queued"),a.onStart(function(){Xt(t,"ng-animate-queued")})),a.onDone(function(){var e=i.players.indexOf(a);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),u.push(a),a}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--){var o=this._namespaceList[i];if(this.driver.containsElement(o.hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(e)})}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0&&this.collectedLeaveElements.splice(o,1)}if(t){var a=this._fetchNamespace(t);a&&a.insertNode(e,n)}r&&this.collectEnterElement(e)}},t.prototype.collectEnterElement=function(t){this.collectedEnterElements.push(t)},t.prototype.markElementAsDisabled=function(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Qt(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Xt(t,"ng-animate-disabled"))},t.prototype.removeNode=function(t,e,n,r){if(Gt(e)){var i=t?this._fetchNamespace(t):null;if(i?i.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),n){var o=this.namespacesByHostElement.get(e);o&&o.id!==t&&o.removeNode(e,r)}}else this._onRemovalComplete(e,r)},t.prototype.markElementAsRemoved=function(t,e,n,r){this.collectedLeaveElements.push(e),e[Lt]={namespaceId:t,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}},t.prototype.listen=function(t,e,n,r,i){return Gt(e)?this._fetchNamespace(t).listen(e,n,r,i):function(){}},t.prototype._buildInstruction=function(t,e,n,r,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,r,t.fromState.options,t.toState.options,e,i)},t.prototype.destroyInnerAnimations=function(t){var e=this,n=this.driver.query(t,A,!0);n.forEach(function(t){return e.destroyActiveAnimationsForElement(t)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(t,D,!0)).forEach(function(t){return e.finishActiveQueriedAnimationOnElement(t)})},t.prototype.destroyActiveAnimationsForElement=function(t){var e=this.playersByElement.get(t);e&&e.forEach(function(t){t.queued?t.markedForDestroy=!0:t.destroy()})},t.prototype.finishActiveQueriedAnimationOnElement=function(t){var e=this.playersByQueriedElement.get(t);e&&e.forEach(function(t){return t.finish()})},t.prototype.whenRenderingDone=function(){var t=this;return new Promise(function(e){if(t.players.length)return l(t.players).onDone(function(){return e()});e()})},t.prototype.processLeaveNode=function(t){var e=this,n=t[Lt];if(n&&n.setForRemoval){if(t[Lt]=Nt,n.namespaceId){this.destroyInnerAnimations(t);var r=this._fetchNamespace(n.namespaceId);r&&r.clearElementCache(t)}this._onRemovalComplete(t,n.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(function(t){e.markElementAsDisabled(t,!1)})},t.prototype.flush=function(t){var e=this;void 0===t&&(t=-1);var n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var r=0;r=0;j--){this._namespaceList[j].drainQueuedTransitions(e).forEach(function(t){var e=t.player,r=t.element;if(S.push(e),n.collectedEnterElements.length){var a=r[Lt];if(a&&a.setForMove)return void e.destroy()}var s=!m||!n.driver.containsElement(m,r),l=O.get(r),f=v.get(r),g=n._buildInstruction(t,i,f,l,s);if(g.errors&&g.errors.length)k.push(g);else{if(s)return e.onStart(function(){return B(r,g.fromStyles)}),e.onDestroy(function(){return V(r,g.toStyles)}),void o.push(e);if(t.isFallbackTransition)return e.onStart(function(){return B(r,g.fromStyles)}),e.onDestroy(function(){return V(r,g.toStyles)}),void o.push(e);g.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),i.append(r,g.timelines);var y={instruction:g,player:e,element:r};c.push(y),g.queriedElements.forEach(function(t){return h(u,t,[]).push(e)}),g.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=p.get(e);r||p.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),g.postStyleProps.forEach(function(t,e){var n=Object.keys(t),r=d.get(e);r||d.set(e,r=new Set),n.forEach(function(t){return r.add(t)})})}})}if(k.length){var A=[];k.forEach(function(t){A.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return A.push("- "+t+"\n")})}),S.forEach(function(t){return t.destroy()}),this.reportError(A)}var T=new Map,P=new Map;c.forEach(function(t){var e=t.element;i.has(e)&&(P.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,T))}),o.forEach(function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){h(T,e,[]).push(t),t.destroy()})});var I=_.filter(function(t){return $t(t,p,d)}),R=new Map;Wt(R,this.driver,x,d,a.a).forEach(function(t){$t(t,p,d)&&I.push(t)});var M=new Map;y.forEach(function(t,e){Wt(M,n.driver,new Set(t),p,a.p)}),I.forEach(function(t){var e=R.get(t),n=M.get(t);R.set(t,Object(r.a)({},e,n))});var N=[],F=[],L={};c.forEach(function(t){var e=t.element,r=t.player,a=t.instruction;if(i.has(e)){if(f.has(e))return r.onDestroy(function(){return V(e,a.toStyles)}),r.disabled=!0,r.overrideTotalTime(a.totalTime),void o.push(r);var c=L;if(P.size>1){for(var u=e,p=[];u=u.parentNode;){var d=P.get(u);if(d){c=d;break}p.push(u)}p.forEach(function(t){return P.set(t,c)})}var h=n._buildAnimation(r.namespaceId,a,T,s,M,R);if(r.setRealPlayer(h),c===L)N.push(r);else{var m=n.playersByElement.get(c);m&&m.length&&(r.parentPlayer=l(m)),o.push(r)}}else B(e,a.fromStyles),r.onDestroy(function(){return V(e,a.toStyles)}),F.push(r),f.has(e)&&o.push(r)}),F.forEach(function(t){var e=s.get(t.element);if(e&&e.length){var n=l(e);t.setRealPlayer(n)}}),o.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var z=0;z<_.length;z++){var H,U=(H=_[z])[Lt];if(Xt(H,"ng-leave"),!U||!U.hasAnimation){var G=[];if(u.size){var q=u.get(H);q&&q.length&&G.push.apply(G,Object(r.g)(q));for(var W=this.driver.query(H,D,!0),Y=0;Y0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new a.d(t.duration,t.delay)},t}(),Ut=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new a.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(n){e._queuedCallbacks[n].forEach(function(e){return u(t,n,void 0,e)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.overrideTotalTime=function(t){this.totalTime=t},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart(function(){return n.triggerCallback("start")}),t.onDone(function(){return e.finish()}),t.onDestroy(function(){return e.destroy()})},t.prototype._queueEvent=function(t,e){h(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function Gt(t){return t&&1===t.nodeType}function qt(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function Wt(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(qt(t))});var a=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Lt]=Ft,a.push(r))}),t.set(r,o)});var s=0;return n.forEach(function(t){return qt(t,o[s++])}),a}function Yt(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=1,i=new Set(e),o=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return r;var a=o.get(e);if(a)return a;var s=e.parentNode;return a=n.has(s)?s:i.has(s)?r:t(s),o.set(e,a),a}(t);e!==r&&n.get(e).push(t)}),n}var Kt="$$classes";function Qt(t,e){if(t.classList)t.classList.add(e);else{var n=t[Kt];n||(n=t[Kt]={}),n[e]=!0}}function Xt(t,e){if(t.classList)t.classList.remove(e);else{var n=t[Kt];n&&delete n[e]}}function Zt(t,e,n){l(n).onDone(function(){return t.processLeaveNode(e)})}function $t(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var Jt=function(){function t(t,e,n){var r=this;this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Ht(t,e,n),this._timelineEngine=new Rt(t,e,n),this._transitionEngine.onRemovalComplete=function(t,e){return r.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,a=this._triggerCache[o];if(!a){var s=[],l=ot(this._driver,i,s);if(s.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+s.join("\n - "));a=function(t,e){return new Tt(t,e)}(r,l),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(e,r,a)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n,r){this._transitionEngine.removeNode(t,e,r||!1,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,i){if("@"==n.charAt(0)){var o=Object(r.f)(f(n),2),a=o[0],s=o[1],l=i;this._timelineEngine.command(a,e,s,l)}else this._transitionEngine.trigger(t,e,n,i)},t.prototype.listen=function(t,e,n,i,o){if("@"==n.charAt(0)){var a=Object(r.f)(f(n),2),s=a[0],l=a[1];return this._timelineEngine.listen(s,e,l,o)}return this._transitionEngine.listen(t,e,n,i,o)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}();function te(t,e){var n=null,r=null;return Array.isArray(e)&&e.length?(n=ne(e[0]),e.length>1&&(r=ne(e[e.length-1]))):e&&(n=ne(e)),n||r?new ee(t,n,r):null}var ee=function(){function t(e,n,r){this._element=e,this._startStyles=n,this._endStyles=r,this._state=0;var i=t.initialStylesByElement.get(e);i||t.initialStylesByElement.set(e,i={}),this._initialStyles=i}return t.prototype.start=function(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)},t.prototype.finish=function(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)},t.prototype.destroy=function(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(B(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(B(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)},t.initialStylesByElement=new WeakMap,t}();function ne(t){for(var e=null,n=Object.keys(t),r=0;r=this._delay&&n>=this._duration&&this.finish()},t.prototype.finish=function(){this._finished||(this._finished=!0,this._onDoneFn(),ue(this._element,this._eventFn,!0))},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){var n=de(t,"").split(","),r=ce(n,e);if(r>=0){n.splice(r,1);var i=n.join(",");pe(t,"",i)}}(this._element,this._name))},t}();function se(t,e,n){pe(t,"PlayState",n,le(t,e))}function le(t,e){var n=de(t,"");return n.indexOf(",")>0?ce(n.split(","),e):ce([n],e)}function ce(t,e){for(var n=0;n=0)return n;return-1}function ue(t,e,n){n?t.removeEventListener(oe,e):t.addEventListener(oe,e)}function pe(t,e,n,r){var i=ie+e;if(null!=r){var o=t.style[i];if(o.length){var a=o.split(",");a[r]=n,n=a.join(",")}}t.style[i]=n}function de(t,e){return t.style[ie+e]}var he="linear",fe=function(){function t(t,e,n,r,i,o,a,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=a,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||he,this.totalTime=r+i,this._buildStyler()}return t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.destroy=function(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype._flushDoneFns=function(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]},t.prototype._flushStartFns=function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]},t.prototype.finish=function(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())},t.prototype.setPosition=function(t){this._styler.setPosition(t)},t.prototype.getPosition=function(){return this._styler.getPosition()},t.prototype.hasStarted=function(){return this._state>=2},t.prototype.init=function(){if(!(this._state>=1)){this._state=1;this.element;this._styler.apply(),this._delay&&this._styler.pause()}},t.prototype.play=function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()},t.prototype.pause=function(){this.init(),this._styler.pause()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.reset=function(){this._styler.destroy(),this._buildStyler(),this._styler.apply()},t.prototype._buildStyler=function(){var t=this;this._styler=new ae(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return t.finish()})},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t.prototype.beforeDestroy=function(){var t=this;this.init();var e={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(r){"offset"!=r&&(e[r]=n?t._finalStyles[r]:Z(t.element,r))})}this.currentSnapshot=e},t}(),me=function(t){function e(e,n){var r=t.call(this)||this;return r.element=e,r._startingStyles={},r.__initialized=!1,r._styles=E(n),r}return Object(r.c)(e,t),e.prototype.init=function(){var e=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(function(t){e._startingStyles[t]=e.element.style[t]}),t.prototype.init.call(this))},e.prototype.play=function(){var e=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(function(t){return e.element.style.setProperty(t,e._styles[t])}),t.prototype.play.call(this))},e.prototype.destroy=function(){var e=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach(function(t){var n=e._startingStyles[t];n?e.element.style.setProperty(t,n):e.element.style.removeProperty(t)}),this._startingStyles=null,t.prototype.destroy.call(this))},e}(a.d),ge=function(){function t(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.buildKeyframeElement=function(t,e,n){n=n.map(function(t){return E(t)});var r="@keyframes "+e+" {\n",i="";n.forEach(function(t){i=" ";var e=parseFloat(t.offset);r+=""+i+100*e+"% {\n",i+=" ",Object.keys(t).forEach(function(e){var n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(r+=i+"animation-timing-function: "+n+";\n"));default:return void(r+=""+i+e+": "+n+";\n")}}),r+=i+"}\n"}),r+="}\n";var o=document.createElement("style");return o.innerHTML=r,o},t.prototype.animate=function(t,e,n,r,i,o,a){void 0===o&&(o=[]),a&&this._notifyFaultyScrubber();var s=o.filter(function(t){return t instanceof fe}),l={};K(n,r)&&s.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var c=function(t){var e={};if(t){(Array.isArray(t)?t:[t]).forEach(function(t){Object.keys(t).forEach(function(n){"offset"!=n&&"easing"!=n&&(e[n]=t[n])})})}return e}(e=Q(t,e,l));if(0==n)return new me(t,c);var u="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(p);var d=te(t,e),h=new fe(t,e,u,n,r,i,c,d);return h.onDestroy(function(){var t;(t=p).parentNode.removeChild(t)}),h},t.prototype._notifyFaultyScrubber=function(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)},t}();var ye=function(){function t(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._buildPlayer(),this._preparePlayerBeforeStart()},t.prototype._buildPlayer=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",function(){return t._onFinish()})}},t.prototype._preparePlayerBeforeStart=function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.play=function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()},t.prototype.pause=function(){this.init(),this.domPlayer.pause()},t.prototype.finish=function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this.domPlayer&&this.domPlayer.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])},t.prototype.setPosition=function(t){this.domPlayer.currentTime=t*this.time},t.prototype.getPosition=function(){return this.domPlayer.currentTime/this.time},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._delay+this._duration},enumerable:!0,configurable:!0}),t.prototype.beforeDestroy=function(){var t=this,e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:Z(t.element,n))}),this.currentSnapshot=e},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(function(t){return t()}),e.length=0},t}(),ve=function(){function t(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(be().toString()),this._cssKeyframesDriver=new ge}return t.prototype.validateStyleProperty=function(t){return w(t)},t.prototype.matchesElement=function(t,e){return x(t,e)},t.prototype.containsElement=function(t,e){return C(t,e)},t.prototype.query=function(t,e,n){return O(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.overrideWebAnimationsSupport=function(t){this._isNativeImpl=t},t.prototype.animate=function(t,e,n,r,i,o,a){if(void 0===o&&(o=[]),!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,r,i,o);var s={duration:n,delay:r,fill:0==r?"both":"forwards"};i&&(s.easing=i);var l={},c=o.filter(function(t){return t instanceof ye});K(n,r)&&c.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var u=te(t,e=Q(t,e=e.map(function(t){return N(t,!1)}),l));return new ye(t,e,s,u)},t}();function be(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}var _e=n("Ip0R");n.d(e,"b",function(){return Ie}),n.d(e,"a",function(){return Ae});var we=function(t){function e(e,n){var r=t.call(this)||this;r._nextAnimationId=0;var o={id:"0",encapsulation:i.qb.None,styles:[],data:{animation:[]}};return r._renderer=e.createRenderer(n.body,o),r}return Object(r.c)(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?Object(a.j)(t):t;return Oe(this._renderer,null,e,"register",[n]),new xe(e,this._renderer)},e=Object(r.b)([Object(i.D)(),Object(r.e)(1,Object(i.C)(_e.c)),Object(r.d)("design:paramtypes",[i.ab,Object])],e)}(a.b),xe=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return Object(r.c)(e,t),e.prototype.create=function(t,e){return new Ce(this._id,t,e||{},this._renderer)},e}(a.c),Ce=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&t\r\n\r\n \x3c!--- Note that these columns can be defined in any order.\r\n The actual rendered columns are set as a property on the row definition" --\x3e\r\n\r\n \x3c!-- properties Column --\x3e\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- name Column --\x3e\r\n \r\n {{ \'REGISTERED_USERS\' | translate }} \r\n {{ element }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n'},xMyE:function(t,e,n){"use strict";n.d(e,"a",function(){return s});var r=n("mrSG"),i=n("FFOo"),o=n("+umK"),a=n("2Bdj");function s(t,e,n){return function(r){return r.lift(new l(t,e,n))}}var l=function(){function t(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.nextOrObserver,this.error,this.complete))},t}(),c=function(t){function e(e,n,r,i){var s=t.call(this,e)||this;return s._tapNext=o.a,s._tapError=o.a,s._tapComplete=o.a,s._tapError=r||o.a,s._tapComplete=i||o.a,Object(a.a)(n)?(s._context=s,s._tapNext=n):n&&(s._context=n,s._tapNext=n.next||o.a,s._tapError=n.error||o.a,s._tapComplete=n.complete||o.a),s}return r.c(e,t),e.prototype._next=function(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)},e.prototype._error=function(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()},e}(i.a)},xTla:function(t,e,n){"use strict";n.d(e,"a",function(){return r});var r=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}()},xlPZ:function(t,e,n){"use strict";var r=n("mrSG"),i=n("K9Ia"),o=n("6blF"),a=n("FFOo"),s=n("pugT"),l=n("yGWI"),c=function(t){function e(e,n){var r=t.call(this)||this;return r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return r.c(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new s.a).add(this.source.subscribe(new p(this.getSubject(),this))),t.closed&&(this._connection=null,t=s.a.EMPTY)),t},e.prototype.refCount=function(){return Object(l.a)()(this)},e}(o.a),u=function(){var t=c.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}}(),p=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return r.c(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(i.b);a.a;function d(t,e){return function(n){var r;if(r="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new h(r,e));var i=Object.create(n,u);return i.source=n,i.subjectFactory=r,i}}n.d(e,"a",function(){return d});var h=function(){function t(t,e){this.subjectFactory=t,this.selector=e}return t.prototype.call=function(t,e){var n=this.selector,r=this.subjectFactory(),i=n(r).subscribe(t);return i.add(e.subscribe(r)),i},t}()},y3By:function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return o});var r=n("+umK");function i(){for(var t=[],e=0;e1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(i.a)},yLV6:function(t,e,n){var r;!function(i,o,a,s){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=o.createElement("div"),p="function",d=Math.round,h=Math.abs,f=Date.now;function m(t,e,n){return setTimeout(x(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(y(t,n[e],n),!0)}function y(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function A(t){return t.trim().split(/\s+/g)}function D(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;rn[e]}):r.sort()),r}function I(t,e){for(var n,r,i=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=nt(e):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,l=a?a.center:o.center,c=e.center=rt(r);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=st(l,c),e.distance=at(l,c),function(t,e){var n=e.center,r=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==B&&o.eventType!==H||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y});e.deltaX=i.x+(n.x-r.x),e.deltaY=i.y+(n.y-r.y)}(n,e),e.offsetDirection=ot(e.deltaX,e.deltaY);var u=it(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=h(u.x)>h(u.y)?u.x:u.y,e.scale=a?(p=a.pointers,d=r,at(d[0],d[1],J)/at(p[0],p[1],J)):1,e.rotation=a?function(t,e){return st(e[1],e[0],J)+st(t[1],t[0],J)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,i,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=U&&(l>V||a.velocity===s)){var c=e.deltaX-a.deltaX,u=e.deltaY-a.deltaY,p=it(l,c,u);r=p.x,i=p.y,n=h(p.x)>h(p.y)?p.x:p.y,o=ot(c,u),t.lastInterval=e}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=i,e.direction=o}(n,e);var p,d;var m=t.element;k(e.srcEvent.target,m)&&(m=e.srcEvent.target);e.target=m}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function nt(t){for(var e=[],n=0;n=h(e)?t<0?q:W:e<0?Y:K}function at(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(r*r+i*i)}function st(t,e,n){n||(n=$);var r=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,r)/Math.PI}tt.prototype={handler:function(){},init:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(M(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(M(this.element),this.evWin,this.domHandler)}};var lt={mousedown:B,mousemove:z,mouseup:H},ct="mousedown",ut="mousemove mouseup";function pt(){this.evEl=ct,this.evWin=ut,this.pressed=!1,tt.apply(this,arguments)}w(pt,tt,{handler:function(t){var e=lt[t.type];e&B&&0===t.button&&(this.pressed=!0),e&z&&1!==t.which&&(e=H),this.pressed&&(e&H&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var dt={pointerdown:B,pointermove:z,pointerup:H,pointercancel:U,pointerout:U},ht={2:"touch",3:"pen",4:"mouse",5:"kinect"},ft="pointerdown",mt="pointermove pointerup pointercancel";function gt(){this.evEl=ft,this.evWin=mt,tt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}i.MSPointerEvent&&!i.PointerEvent&&(ft="MSPointerDown",mt="MSPointerMove MSPointerUp MSPointerCancel"),w(gt,tt,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),i=dt[r],o=ht[t.pointerType]||t.pointerType,a="touch"==o,s=D(e,t.pointerId,"pointerId");i&B&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):i&(H|U)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var yt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},vt="touchstart",bt="touchstart touchmove touchend touchcancel";function _t(){this.evTarget=vt,this.evWin=bt,this.started=!1,tt.apply(this,arguments)}w(_t,tt,{handler:function(t){var e=yt[t.type];if(e===B&&(this.started=!0),this.started){var n=(function(t,e){var n=T(t.touches),r=T(t.changedTouches);e&(H|U)&&(n=P(n.concat(r),"identifier",!0));return[n,r]}).call(this,t,e);e&(H|U)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:"touch",srcEvent:t})}}});var wt={touchstart:B,touchmove:z,touchend:H,touchcancel:U},xt="touchstart touchmove touchend touchcancel";function Ct(){this.evTarget=xt,this.targetIds={},tt.apply(this,arguments)}w(Ct,tt,{handler:function(t){var e=wt[t.type],n=(function(t,e){var n=T(t.touches),r=this.targetIds;if(e&(B|z)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=T(t.changedTouches),s=[],l=this.target;if(o=n.filter(function(t){return k(t.target,l)}),e===B)for(i=0;i-1&&r.splice(t,1)},Ot)}}w(St,tt,{handler:function(t,e,n){var r="touch"==n.pointerType,i="mouse"==n.pointerType;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)(function(t,e){t&B?(this.primaryTouch=e.changedPointers[0].identifier,kt.call(this,e)):t&(H|U)&&kt.call(this,e)}).call(this,e,n);else if(i&&(function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n=Bt&&r(e.options.event+Gt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return Yt.prototype.attrTest.call(this,t)&&(this.state&Lt||!(this.state&Lt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=qt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(Qt,Yt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Pt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Lt)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),w(Xt,Ut,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Dt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distancee.time;if(this._input=t,!r||!n||t.eventType&(H|U)&&!i)this.reset();else if(t.eventType&B)this.reset(),this._timer=m(function(){this.state=zt,this.tryEmit()},e.time,this);else if(t.eventType&H)return zt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===zt&&(t&&t.eventType&H?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(Zt,Yt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Pt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Lt)}}),w($t,Yt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Q|X,pointers:1},getTouchAction:function(){return Kt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Q|X)?e=t.overallVelocity:n&Q?e=t.overallVelocityX:n&X&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&h(e)>this.options.velocity&&t.eventType&H},emit:function(t){var e=qt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(Jt,Ut,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Tt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞",int:"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"},h="";d.ngsp=h;var f,m,g=function(){function t(t){var e=this,n=void 0===t?{}:t,i=n.closedByChildren,o=n.implicitNamespacePrefix,a=n.contentType,s=void 0===a?r.PARSABLE_DATA:a,l=n.closedByParent,c=void 0!==l&&l,u=n.isVoid,p=void 0!==u&&u,d=n.ignoreFirstLf,h=void 0!==d&&d;this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach(function(t){return e.closedByChildren[t]=!0}),this.isVoid=p,this.closedByParent=c||p,this.implicitNamespacePrefix=o||null,this.contentType=s,this.ignoreFirstLf=h}return t.prototype.isClosedByChild=function(t){return this.isVoid||t.toLowerCase()in this.closedByChildren},t}();function y(t){return m||(f=new g,m={base:new g({isVoid:!0}),meta:new g({isVoid:!0}),area:new g({isVoid:!0}),embed:new g({isVoid:!0}),link:new g({isVoid:!0}),img:new g({isVoid:!0}),input:new g({isVoid:!0}),param:new g({isVoid:!0}),hr:new g({isVoid:!0}),br:new g({isVoid:!0}),source:new g({isVoid:!0}),track:new g({isVoid:!0}),wbr:new g({isVoid:!0}),p:new g({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new g({closedByChildren:["tbody","tfoot"]}),tbody:new g({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new g({closedByChildren:["tbody"],closedByParent:!0}),tr:new g({closedByChildren:["tr"],closedByParent:!0}),td:new g({closedByChildren:["td","th"],closedByParent:!0}),th:new g({closedByChildren:["td","th"],closedByParent:!0}),col:new g({isVoid:!0}),svg:new g({implicitNamespacePrefix:"svg"}),math:new g({implicitNamespacePrefix:"math"}),li:new g({closedByChildren:["li"],closedByParent:!0}),dt:new g({closedByChildren:["dt","dd"]}),dd:new g({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new g({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new g({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new g({closedByChildren:["optgroup"],closedByParent:!0}),option:new g({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new g({ignoreFirstLf:!0}),listing:new g({ignoreFirstLf:!0}),style:new g({contentType:r.RAW_TEXT}),script:new g({contentType:r.RAW_TEXT}),title:new g({contentType:r.ESCAPABLE_RAW_TEXT}),textarea:new g({contentType:r.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),m[t.toLowerCase()]||f}var v,b,_=new RegExp("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-.\\w*]+)(?:=([\"']?)([^\\]\"']*)\\5)?\\])|(\\))|(\\s*,\\s*)","g"),w=function(){function t(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return t.parse=function(e){var n,r=[],i=function(t,e){e.notSelectors.length>0&&!e.element&&0==e.classNames.length&&0==e.attrs.length&&(e.element="*"),t.push(e)},o=new t,a=o,s=!1;for(_.lastIndex=0;n=_.exec(e);){if(n[1]){if(s)throw new Error("Nesting :not is not allowed in a selector");s=!0,a=new t,o.notSelectors.push(a)}if(n[2]&&a.setElement(n[2]),n[3]&&a.addClassName(n[3]),n[4]&&a.addAttribute(n[4],n[6]),n[7]&&(s=!1,a=o),n[8]){if(s)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=a=new t}}return i(r,o),r},t.prototype.isElementSelector=function(){return this.hasElementSelector()&&0==this.classNames.length&&0==this.attrs.length&&0===this.notSelectors.length},t.prototype.hasElementSelector=function(){return!!this.element},t.prototype.setElement=function(t){void 0===t&&(t=null),this.element=t},t.prototype.getMatchingElementTemplate=function(){for(var t=this.element||"div",e=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r":"<"+t+e+n+">"},t.prototype.getAttrs=function(){var t=[];return this.classNames.length>0&&t.push("class",this.classNames.join(" ")),t.concat(this.attrs)},t.prototype.addAttribute=function(t,e){void 0===e&&(e=""),this.attrs.push(t,e&&e.toLowerCase()||"")},t.prototype.addClassName=function(t){this.classNames.push(t.toLowerCase())},t.prototype.toString=function(){var t=this.element||"";if(this.classNames&&this.classNames.forEach(function(e){return t+="."+e}),this.attrs)for(var e=0;e1&&(n=new C(t),this._listContexts.push(n));for(var r=0;r0)||this.listContext&&this.listContext.alreadyMatched||(n=!x.createNotMatcher(this.notSelectors).match(t,null));return!n||!e||this.listContext&&this.listContext.alreadyMatched||(this.listContext&&(this.listContext.alreadyMatched=!0),e(this.selector,this.cbContext)),n},t}(),E=X("Inject",function(t){return{token:t}}),S=X("InjectionToken",function(t){return{_desc:t,ngInjectableDef:void 0}}),k=X("Attribute",function(t){return{attributeName:t}}),j=X("ContentChildren",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!1,descendants:!1},e)}),A=X("ContentChild",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!0,isViewQuery:!1,descendants:!0},e)}),D=X("ViewChildren",function(t,e){return void 0===e&&(e={}),Object(o.a)({selector:t,first:!1,isViewQuery:!0,descendants:!0},e)}),T=X("ViewChild",function(t,e){return Object(o.a)({selector:t,first:!0,isViewQuery:!0,descendants:!0},e)}),P=X("Directive",function(t){return void 0===t&&(t={}),t});!function(t){t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(v||(v={})),function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"}(b||(b={}));var I,R,M=X("Component",function(t){return void 0===t&&(t={}),Object(o.a)({changeDetection:b.Default},t)}),N=X("Pipe",function(t){return Object(o.a)({pure:!0},t)}),F=X("Input",function(t){return{bindingPropertyName:t}}),L=X("Output",function(t){return{bindingPropertyName:t}}),V=X("HostBinding",function(t){return{hostPropertyName:t}}),B=X("HostListener",function(t,e){return{eventName:t,args:e}}),z=X("NgModule",function(t){return t}),H=X("Injectable",function(t){return void 0===t&&(t={}),t}),U={name:"custom-elements"},G={name:"no-errors-schema"},q=X("Optional"),W=X("Self"),Y=X("SkipSelf"),K=X("Host"),Q=Function;function X(t,e){function n(){for(var n=[],r=0;r=55296&&r<=56319&&t.length>n+1){var i=t.charCodeAt(n+1);i>=56320&&i<=57343&&(n++,r=(r-55296<<10)+i-56320+65536)}r<=127?e+=String.fromCharCode(r):r<=2047?e+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?e+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(e+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return e}function Ve(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(Ve).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;if(!t.toString)return"object";var e=t.toString();if(null==e)return""+e;var n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function Be(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t}function ze(t){return!!t&&"function"==typeof t.then}var He=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")},Ue="undefined"!=typeof window&&window,Ge="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,qe="undefined"!=typeof global&&global||Ue||Ge,We={},Ye=function(t){function e(e){var n=t.call(this,e.type)||this;return n.resolved=e,n.original=e,n}return Object(o.c)(e,t),e.prototype.visitExpression=function(t,e){return e===We?this.original.visitExpression(t,e):this.resolved.visitExpression(t,e)},e.prototype.isEquivalent=function(t){return t instanceof e&&this.resolved.isEquivalent(t.resolved)},e.prototype.isConstant=function(){return!0},e.prototype.fixup=function(t){this.resolved=t,this.shared=!0},e}(mt),Ke=function(){function t(){this.statements=[],this.literals=new Map,this.literalFactories=new Map,this.injectorDefinitions=new Map,this.directiveDefinitions=new Map,this.componentDefinitions=new Map,this.pipeDefinitions=new Map,this.nextNameIndex=0}return t.prototype.getConstLiteral=function(t,e){if(t instanceof kt||t instanceof Ye)return t;var n=this.keyOf(t),r=this.literals.get(n),i=!1;if(r||(r=new Ye(t),this.literals.set(n,r),i=!0),!i&&!r.shared||i&&e){var o=this.freshName();this.statements.push(de(o).set(t).toDeclStmt(lt,[Ct.Final])),r.fixup(de(o))}return r},t.prototype.getDefinition=function(t,e,n,r){void 0===r&&(r=!1);var i=this.definitionsOf(e),o=i.get(t),a=!1;if(!o){var s=this.propertyNameOf(e);o=new Ye(n.importExpr(t).prop(s)),i.set(t,o),a=!0}if(!a&&!o.shared||a&&r){var l=this.freshName();this.statements.push(de(l).set(o.resolved).toDeclStmt(lt,[Ct.Final])),o.fixup(de(l))}return o},t.prototype.getLiteralFactory=function(t){if(t instanceof Vt){var e=t.entries.map(function(t){return t.isConstant()?t:_e(null)}),n=this.keyOf(ge(e));return this._getLiteralFactory(n,t.entries,function(t){return ge(t)})}var r=ye(t.entries.map(function(t){return{key:t.key,value:t.value.isConstant()?t.value:_e(null),quoted:t.quoted}}));n=this.keyOf(r);return this._getLiteralFactory(n,t.entries.map(function(t){return t.value}),function(e){return ye(e.map(function(e,n){return{key:t.entries[n].key,value:e,quoted:t.entries[n].quoted}}))})},t.prototype._getLiteralFactory=function(t,e,n){var r=this,i=this.literalFactories.get(t),o=e.filter(function(t){return!t.isConstant()});if(!i){var a=e.map(function(t,e){return t.isConstant()?r.getConstLiteral(t,!0):de("a"+e)}),s=ve(a.filter(Ze).map(function(t){return new Rt(t.name,st)}),[new Qt(n(a))],lt),l=this.freshName();this.statements.push(de(l).set(s).toDeclStmt(lt,[Ct.Final])),i=de(l),this.literalFactories.set(t,i)}return{literalFactory:i,literalFactoryArguments:o}},t.prototype.uniqueName=function(t){return""+t+this.nextNameIndex++},t.prototype.definitionsOf=function(t){switch(t){case 2:return this.componentDefinitions;case 1:return this.directiveDefinitions;case 0:return this.injectorDefinitions;case 3:return this.pipeDefinitions}return Pe("Unknown definition kind "+t),this.componentDefinitions},t.prototype.propertyNameOf=function(t){switch(t){case 2:return"ngComponentDef";case 1:return"ngDirectiveDef";case 0:return"ngInjectorDef";case 3:return"ngPipeDef"}return Pe("Unknown definition kind "+t),""},t.prototype.freshName=function(){return this.uniqueName("_c")},t.prototype.keyOf=function(t){return t.visitExpression(new Qe,We)},t}(),Qe=function(){function t(){this.visitWrappedNodeExpr=Xe,this.visitWriteVarExpr=Xe,this.visitWriteKeyExpr=Xe,this.visitWritePropExpr=Xe,this.visitInvokeMethodExpr=Xe,this.visitInvokeFunctionExpr=Xe,this.visitInstantiateExpr=Xe,this.visitConditionalExpr=Xe,this.visitNotExpr=Xe,this.visitAssertNotNullExpr=Xe,this.visitCastExpr=Xe,this.visitFunctionExpr=Xe,this.visitBinaryOperatorExpr=Xe,this.visitReadPropExpr=Xe,this.visitReadKeyExpr=Xe,this.visitCommaExpr=Xe}return t.prototype.visitLiteralExpr=function(t){return""+("string"==typeof t.value?'"'+t.value+'"':t.value)},t.prototype.visitLiteralArrayExpr=function(t,e){var n=this;return"["+t.entries.map(function(t){return t.visitExpression(n,e)}).join(",")+"]"},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return"{"+t.entries.map(function(t){return function(t){var e=t.quoted?'"':"";return""+e+t.key+e}(t)+":"+t.value.visitExpression(n,e)}).join(",")},t.prototype.visitExternalExpr=function(t){return t.value.moduleName?"EX:"+t.value.moduleName+":"+t.value.name:"EX:"+t.value.runtime.name},t.prototype.visitReadVarExpr=function(t){return"VAR:"+t.name},t.prototype.visitTypeofExpr=function(t,e){return"TYPEOF:"+t.expr.visitExpression(this,e)},t}();function Xe(t){throw new Error("Invalid state: Visitor "+this.constructor.name+" doesn't handle "+t.constructor.name)}function Ze(t){return t instanceof yt}var $e="@angular/core",Je=function(){function t(){}return t.ANALYZE_FOR_ENTRY_COMPONENTS={name:"ANALYZE_FOR_ENTRY_COMPONENTS",moduleName:$e},t.ElementRef={name:"ElementRef",moduleName:$e},t.NgModuleRef={name:"NgModuleRef",moduleName:$e},t.ViewContainerRef={name:"ViewContainerRef",moduleName:$e},t.ChangeDetectorRef={name:"ChangeDetectorRef",moduleName:$e},t.QueryList={name:"QueryList",moduleName:$e},t.TemplateRef={name:"TemplateRef",moduleName:$e},t.Renderer2={name:"Renderer2",moduleName:$e},t.CodegenComponentFactoryResolver={name:"ɵCodegenComponentFactoryResolver",moduleName:$e},t.ComponentFactoryResolver={name:"ComponentFactoryResolver",moduleName:$e},t.ComponentFactory={name:"ComponentFactory",moduleName:$e},t.ComponentRef={name:"ComponentRef",moduleName:$e},t.NgModuleFactory={name:"NgModuleFactory",moduleName:$e},t.createModuleFactory={name:"ɵcmf",moduleName:$e},t.moduleDef={name:"ɵmod",moduleName:$e},t.moduleProviderDef={name:"ɵmpd",moduleName:$e},t.RegisterModuleFactoryFn={name:"ɵregisterModuleFactory",moduleName:$e},t.inject={name:"ɵɵinject",moduleName:$e},t.INJECTOR={name:"INJECTOR",moduleName:$e},t.Injector={name:"Injector",moduleName:$e},t.ɵɵdefineInjectable={name:"ɵɵdefineInjectable",moduleName:$e},t.InjectableDef={name:"ɵɵInjectableDef",moduleName:$e},t.ViewEncapsulation={name:"ViewEncapsulation",moduleName:$e},t.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleName:$e},t.SecurityContext={name:"SecurityContext",moduleName:$e},t.LOCALE_ID={name:"LOCALE_ID",moduleName:$e},t.TRANSLATIONS_FORMAT={name:"TRANSLATIONS_FORMAT",moduleName:$e},t.inlineInterpolate={name:"ɵinlineInterpolate",moduleName:$e},t.interpolate={name:"ɵinterpolate",moduleName:$e},t.EMPTY_ARRAY={name:"ɵEMPTY_ARRAY",moduleName:$e},t.EMPTY_MAP={name:"ɵEMPTY_MAP",moduleName:$e},t.Renderer={name:"Renderer",moduleName:$e},t.viewDef={name:"ɵvid",moduleName:$e},t.elementDef={name:"ɵeld",moduleName:$e},t.anchorDef={name:"ɵand",moduleName:$e},t.textDef={name:"ɵted",moduleName:$e},t.directiveDef={name:"ɵdid",moduleName:$e},t.providerDef={name:"ɵprd",moduleName:$e},t.queryDef={name:"ɵqud",moduleName:$e},t.pureArrayDef={name:"ɵpad",moduleName:$e},t.pureObjectDef={name:"ɵpod",moduleName:$e},t.purePipeDef={name:"ɵppd",moduleName:$e},t.pipeDef={name:"ɵpid",moduleName:$e},t.nodeValue={name:"ɵnov",moduleName:$e},t.ngContentDef={name:"ɵncd",moduleName:$e},t.unwrapValue={name:"ɵunv",moduleName:$e},t.createRendererType2={name:"ɵcrt",moduleName:$e},t.RendererType2={name:"RendererType2",moduleName:$e},t.ViewDefinition={name:"ɵViewDefinition",moduleName:$e},t.createComponentFactory={name:"ɵccf",moduleName:$e},t.setClassMetadata={name:"ɵsetClassMetadata",moduleName:$e},t}();function tn(t){return{identifier:{reference:t}}}function en(t,e){return tn(t.resolveExternalReference(e))}var nn=function(){function t(t,e,n){this.filePath=t,this.name=e,this.members=n}return t.prototype.assertNoMembers=function(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got "+JSON.stringify(this)+".")},t}(),rn=function(){function t(){this.cache=new Map}return t.prototype.get=function(t,e,n){var r='"'+t+'".'+e+((n=n||[]).length?"."+n.join("."):""),i=this.cache.get(r);return i||(i=new nn(t,e,n),this.cache.set(r,i)),i},t}(),on=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function an(t){return t.replace(/\W/g,"_")}var sn,ln=0;function cn(t){if(!t||!t.reference)return null;var e=t.reference;if(e instanceof nn)return e.name;if(e.__anonymousType)return e.__anonymousType;var n=Ve(e);return n.indexOf("(")>=0?(n="anonymous_"+ln++,e.__anonymousType=n):n=an(n),n}function un(t){var e=t.reference;return e instanceof nn?e.filePath:"./"+Ve(e)}function pn(t,e){return"View_"+cn({reference:t})+"_"+e}function dn(t){return"RenderType_"+cn({reference:t})}function hn(t){return cn({reference:t})+"NgFactory"}function fn(t){return null!=t.value?an(t.value):cn(t.identifier)}function mn(t){return null!=t.identifier?t.identifier.reference:t.value}!function(t){t[t.Pipe=0]="Pipe",t[t.Directive=1]="Directive",t[t.NgModule=2]="NgModule",t[t.Injectable=3]="Injectable"}(sn||(sn={}));var gn=function(t){var e=void 0===t?{}:t,n=e.moduleUrl,r=e.styles,i=e.styleUrls;this.moduleUrl=n||null,this.styles=xn(r),this.styleUrls=xn(i)},yn=function(){function t(t){var e=t.encapsulation,n=t.template,r=t.templateUrl,i=t.htmlAst,o=t.styles,a=t.styleUrls,s=t.externalStylesheets,l=t.animations,c=t.ngContentSelectors,u=t.interpolation,p=t.isInline,d=t.preserveWhitespaces;if(this.encapsulation=e,this.template=n,this.templateUrl=r,this.htmlAst=i,this.styles=xn(o),this.styleUrls=xn(a),this.externalStylesheets=xn(s),this.animations=l?On(l):[],this.ngContentSelectors=c||[],u&&2!=u.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=u,this.isInline=p,this.preserveWhitespaces=d}return t.prototype.toSummary=function(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}},t}(),vn=function(){function t(t){var e=t.isHost,n=t.type,r=t.isComponent,i=t.selector,o=t.exportAs,a=t.changeDetection,s=t.inputs,l=t.outputs,c=t.hostListeners,u=t.hostProperties,p=t.hostAttributes,d=t.providers,h=t.viewProviders,f=t.queries,m=t.guards,g=t.viewQueries,y=t.entryComponents,v=t.template,b=t.componentViewType,_=t.rendererType,w=t.componentFactory;this.isHost=!!e,this.type=n,this.isComponent=r,this.selector=i,this.exportAs=o,this.changeDetection=a,this.inputs=s,this.outputs=l,this.hostListeners=c,this.hostProperties=u,this.hostAttributes=p,this.providers=xn(d),this.viewProviders=xn(h),this.queries=xn(f),this.guards=m,this.viewQueries=xn(g),this.entryComponents=xn(y),this.template=v,this.componentViewType=b,this.rendererType=_,this.componentFactory=w}return t.create=function(e){var n=e.isHost,r=e.type,i=e.isComponent,o=e.selector,a=e.exportAs,s=e.changeDetection,l=e.inputs,c=e.outputs,u=e.host,p=e.providers,d=e.viewProviders,h=e.queries,f=e.guards,m=e.viewQueries,g=e.entryComponents,y=e.template,v=e.componentViewType,b=e.rendererType,_=e.componentFactory,w={},x={},C={};null!=u&&Object.keys(u).forEach(function(t){var e=u[t],n=t.match(on);null===n?C[t]=e:null!=n[1]?x[n[1]]=e:null!=n[2]&&(w[n[2]]=e)});var O={};null!=l&&l.forEach(function(t){var e=Ce(t,[t,t]);O[e[0]]=e[1]});var E={};return null!=c&&c.forEach(function(t){var e=Ce(t,[t,t]);E[e[0]]=e[1]}),new t({isHost:n,type:r,isComponent:!!i,selector:o,exportAs:a,changeDetection:s,inputs:O,outputs:E,hostListeners:w,hostProperties:x,hostAttributes:C,providers:p,viewProviders:d,queries:h,guards:f,viewQueries:m,entryComponents:g,template:y,componentViewType:v,rendererType:b,componentFactory:_})},t.prototype.toSummary=function(){return{summaryKind:sn.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}},t}(),bn=function(){function t(t){var e=t.type,n=t.name,r=t.pure;this.type=e,this.name=n,this.pure=!!r}return t.prototype.toSummary=function(){return{summaryKind:sn.Pipe,type:this.type,name:this.name,pure:this.pure}},t}(),_n=function(){function t(t){var e=t.type,n=t.providers,r=t.declaredDirectives,i=t.exportedDirectives,o=t.declaredPipes,a=t.exportedPipes,s=t.entryComponents,l=t.bootstrapComponents,c=t.importedModules,u=t.exportedModules,p=t.schemas,d=t.transitiveModule,h=t.id;this.type=e||null,this.declaredDirectives=xn(r),this.exportedDirectives=xn(i),this.declaredPipes=xn(o),this.exportedPipes=xn(a),this.providers=xn(n),this.entryComponents=xn(s),this.bootstrapComponents=xn(l),this.importedModules=xn(c),this.exportedModules=xn(u),this.schemas=xn(p),this.id=h||null,this.transitiveModule=d||null}return t.prototype.toSummary=function(){var t=this.transitiveModule;return{summaryKind:sn.NgModule,type:this.type,entryComponents:t.entryComponents,providers:t.providers,modules:t.modules,exportedDirectives:t.exportedDirectives,exportedPipes:t.exportedPipes}},t}(),wn=function(){function t(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}return t.prototype.addProvider=function(t,e){this.providers.push({provider:t,module:e})},t.prototype.addDirective=function(t){this.directivesSet.has(t.reference)||(this.directivesSet.add(t.reference),this.directives.push(t))},t.prototype.addExportedDirective=function(t){this.exportedDirectivesSet.has(t.reference)||(this.exportedDirectivesSet.add(t.reference),this.exportedDirectives.push(t))},t.prototype.addPipe=function(t){this.pipesSet.has(t.reference)||(this.pipesSet.add(t.reference),this.pipes.push(t))},t.prototype.addExportedPipe=function(t){this.exportedPipesSet.has(t.reference)||(this.exportedPipesSet.add(t.reference),this.exportedPipes.push(t))},t.prototype.addModule=function(t){this.modulesSet.has(t.reference)||(this.modulesSet.add(t.reference),this.modules.push(t))},t.prototype.addEntryComponent=function(t){this.entryComponentsSet.has(t.componentType)||(this.entryComponentsSet.add(t.componentType),this.entryComponents.push(t))},t}();function xn(t){return t||[]}var Cn=function(t,e){var n=e.useClass,r=e.useValue,i=e.useExisting,o=e.useFactory,a=e.deps,s=e.multi;this.token=t,this.useClass=n||null,this.useValue=r,this.useExisting=i,this.useFactory=o||null,this.dependencies=a||null,this.multi=!!s};function On(t){return t.reduce(function(t,e){var n=Array.isArray(e)?On(e):e;return t.concat(n)},[])}function En(t){return t.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function Sn(t,e,n){var r;return r=n.isInline?e.type.reference instanceof nn?e.type.reference.filePath+"."+e.type.reference.name+".html":cn(t)+"/"+cn(e.type)+".html":n.templateUrl,e.type.reference instanceof nn?r:En(r)}var kn="@angular/core",jn=function(){function t(){}return t.NEW_METHOD="factory",t.TRANSFORM_METHOD="transform",t.PATCH_DEPS="patchedDeps",t.namespaceHTML={name:"ɵɵnamespaceHTML",moduleName:kn},t.namespaceMathML={name:"ɵɵnamespaceMathML",moduleName:kn},t.namespaceSVG={name:"ɵɵnamespaceSVG",moduleName:kn},t.element={name:"ɵɵelement",moduleName:kn},t.elementStart={name:"ɵɵelementStart",moduleName:kn},t.elementEnd={name:"ɵɵelementEnd",moduleName:kn},t.select={name:"ɵɵselect",moduleName:kn},t.updateSyntheticHostBinding={name:"ɵɵupdateSyntheticHostBinding",moduleName:kn},t.componentHostSyntheticListener={name:"ɵɵcomponentHostSyntheticListener",moduleName:kn},t.attribute={name:"ɵɵattribute",moduleName:kn},t.attributeInterpolate1={name:"ɵɵattributeInterpolate1",moduleName:kn},t.attributeInterpolate2={name:"ɵɵattributeInterpolate2",moduleName:kn},t.attributeInterpolate3={name:"ɵɵattributeInterpolate3",moduleName:kn},t.attributeInterpolate4={name:"ɵɵattributeInterpolate4",moduleName:kn},t.attributeInterpolate5={name:"ɵɵattributeInterpolate5",moduleName:kn},t.attributeInterpolate6={name:"ɵɵattributeInterpolate6",moduleName:kn},t.attributeInterpolate7={name:"ɵɵattributeInterpolate7",moduleName:kn},t.attributeInterpolate8={name:"ɵɵattributeInterpolate8",moduleName:kn},t.attributeInterpolateV={name:"ɵɵattributeInterpolateV",moduleName:kn},t.classProp={name:"ɵɵclassProp",moduleName:kn},t.elementContainerStart={name:"ɵɵelementContainerStart",moduleName:kn},t.elementContainerEnd={name:"ɵɵelementContainerEnd",moduleName:kn},t.elementContainer={name:"ɵɵelementContainer",moduleName:kn},t.styling={name:"ɵɵstyling",moduleName:kn},t.styleMap={name:"ɵɵstyleMap",moduleName:kn},t.classMap={name:"ɵɵclassMap",moduleName:kn},t.classMapInterpolate1={name:"ɵɵclassMapInterpolate1",moduleName:kn},t.classMapInterpolate2={name:"ɵɵclassMapInterpolate2",moduleName:kn},t.classMapInterpolate3={name:"ɵɵclassMapInterpolate3",moduleName:kn},t.classMapInterpolate4={name:"ɵɵclassMapInterpolate4",moduleName:kn},t.classMapInterpolate5={name:"ɵɵclassMapInterpolate5",moduleName:kn},t.classMapInterpolate6={name:"ɵɵclassMapInterpolate6",moduleName:kn},t.classMapInterpolate7={name:"ɵɵclassMapInterpolate7",moduleName:kn},t.classMapInterpolate8={name:"ɵɵclassMapInterpolate8",moduleName:kn},t.classMapInterpolateV={name:"ɵɵclassMapInterpolateV",moduleName:kn},t.styleProp={name:"ɵɵstyleProp",moduleName:kn},t.stylePropInterpolate1={name:"ɵɵstylePropInterpolate1",moduleName:kn},t.stylePropInterpolate2={name:"ɵɵstylePropInterpolate2",moduleName:kn},t.stylePropInterpolate3={name:"ɵɵstylePropInterpolate3",moduleName:kn},t.stylePropInterpolate4={name:"ɵɵstylePropInterpolate4",moduleName:kn},t.stylePropInterpolate5={name:"ɵɵstylePropInterpolate5",moduleName:kn},t.stylePropInterpolate6={name:"ɵɵstylePropInterpolate6",moduleName:kn},t.stylePropInterpolate7={name:"ɵɵstylePropInterpolate7",moduleName:kn},t.stylePropInterpolate8={name:"ɵɵstylePropInterpolate8",moduleName:kn},t.stylePropInterpolateV={name:"ɵɵstylePropInterpolateV",moduleName:kn},t.stylingApply={name:"ɵɵstylingApply",moduleName:kn},t.styleSanitizer={name:"ɵɵstyleSanitizer",moduleName:kn},t.elementHostAttrs={name:"ɵɵelementHostAttrs",moduleName:kn},t.containerCreate={name:"ɵɵcontainer",moduleName:kn},t.nextContext={name:"ɵɵnextContext",moduleName:kn},t.templateCreate={name:"ɵɵtemplate",moduleName:kn},t.text={name:"ɵɵtext",moduleName:kn},t.textBinding={name:"ɵɵtextBinding",moduleName:kn},t.enableBindings={name:"ɵɵenableBindings",moduleName:kn},t.disableBindings={name:"ɵɵdisableBindings",moduleName:kn},t.allocHostVars={name:"ɵɵallocHostVars",moduleName:kn},t.getCurrentView={name:"ɵɵgetCurrentView",moduleName:kn},t.textInterpolate={name:"ɵɵtextInterpolate",moduleName:kn},t.textInterpolate1={name:"ɵɵtextInterpolate1",moduleName:kn},t.textInterpolate2={name:"ɵɵtextInterpolate2",moduleName:kn},t.textInterpolate3={name:"ɵɵtextInterpolate3",moduleName:kn},t.textInterpolate4={name:"ɵɵtextInterpolate4",moduleName:kn},t.textInterpolate5={name:"ɵɵtextInterpolate5",moduleName:kn},t.textInterpolate6={name:"ɵɵtextInterpolate6",moduleName:kn},t.textInterpolate7={name:"ɵɵtextInterpolate7",moduleName:kn},t.textInterpolate8={name:"ɵɵtextInterpolate8",moduleName:kn},t.textInterpolateV={name:"ɵɵtextInterpolateV",moduleName:kn},t.restoreView={name:"ɵɵrestoreView",moduleName:kn},t.pureFunction0={name:"ɵɵpureFunction0",moduleName:kn},t.pureFunction1={name:"ɵɵpureFunction1",moduleName:kn},t.pureFunction2={name:"ɵɵpureFunction2",moduleName:kn},t.pureFunction3={name:"ɵɵpureFunction3",moduleName:kn},t.pureFunction4={name:"ɵɵpureFunction4",moduleName:kn},t.pureFunction5={name:"ɵɵpureFunction5",moduleName:kn},t.pureFunction6={name:"ɵɵpureFunction6",moduleName:kn},t.pureFunction7={name:"ɵɵpureFunction7",moduleName:kn},t.pureFunction8={name:"ɵɵpureFunction8",moduleName:kn},t.pureFunctionV={name:"ɵɵpureFunctionV",moduleName:kn},t.pipeBind1={name:"ɵɵpipeBind1",moduleName:kn},t.pipeBind2={name:"ɵɵpipeBind2",moduleName:kn},t.pipeBind3={name:"ɵɵpipeBind3",moduleName:kn},t.pipeBind4={name:"ɵɵpipeBind4",moduleName:kn},t.pipeBindV={name:"ɵɵpipeBindV",moduleName:kn},t.hostProperty={name:"ɵɵhostProperty",moduleName:kn},t.property={name:"ɵɵproperty",moduleName:kn},t.propertyInterpolate={name:"ɵɵpropertyInterpolate",moduleName:kn},t.propertyInterpolate1={name:"ɵɵpropertyInterpolate1",moduleName:kn},t.propertyInterpolate2={name:"ɵɵpropertyInterpolate2",moduleName:kn},t.propertyInterpolate3={name:"ɵɵpropertyInterpolate3",moduleName:kn},t.propertyInterpolate4={name:"ɵɵpropertyInterpolate4",moduleName:kn},t.propertyInterpolate5={name:"ɵɵpropertyInterpolate5",moduleName:kn},t.propertyInterpolate6={name:"ɵɵpropertyInterpolate6",moduleName:kn},t.propertyInterpolate7={name:"ɵɵpropertyInterpolate7",moduleName:kn},t.propertyInterpolate8={name:"ɵɵpropertyInterpolate8",moduleName:kn},t.propertyInterpolateV={name:"ɵɵpropertyInterpolateV",moduleName:kn},t.i18n={name:"ɵɵi18n",moduleName:kn},t.i18nAttributes={name:"ɵɵi18nAttributes",moduleName:kn},t.i18nExp={name:"ɵɵi18nExp",moduleName:kn},t.i18nStart={name:"ɵɵi18nStart",moduleName:kn},t.i18nEnd={name:"ɵɵi18nEnd",moduleName:kn},t.i18nApply={name:"ɵɵi18nApply",moduleName:kn},t.i18nPostprocess={name:"ɵɵi18nPostprocess",moduleName:kn},t.i18nLocalize={name:"ɵɵi18nLocalize",moduleName:kn},t.load={name:"ɵɵload",moduleName:kn},t.pipe={name:"ɵɵpipe",moduleName:kn},t.projection={name:"ɵɵprojection",moduleName:kn},t.projectionDef={name:"ɵɵprojectionDef",moduleName:kn},t.reference={name:"ɵɵreference",moduleName:kn},t.inject={name:"ɵɵinject",moduleName:kn},t.injectAttribute={name:"ɵɵinjectAttribute",moduleName:kn},t.injectPipeChangeDetectorRef={name:"ɵɵinjectPipeChangeDetectorRef",moduleName:kn},t.directiveInject={name:"ɵɵdirectiveInject",moduleName:kn},t.templateRefExtractor={name:"ɵɵtemplateRefExtractor",moduleName:kn},t.resolveWindow={name:"ɵɵresolveWindow",moduleName:kn},t.resolveDocument={name:"ɵɵresolveDocument",moduleName:kn},t.resolveBody={name:"ɵɵresolveBody",moduleName:kn},t.defineBase={name:"ɵɵdefineBase",moduleName:kn},t.BaseDef={name:"ɵɵBaseDef",moduleName:kn},t.defineComponent={name:"ɵɵdefineComponent",moduleName:kn},t.setComponentScope={name:"ɵɵsetComponentScope",moduleName:kn},t.ComponentDefWithMeta={name:"ɵɵComponentDefWithMeta",moduleName:kn},t.defineDirective={name:"ɵɵdefineDirective",moduleName:kn},t.DirectiveDefWithMeta={name:"ɵɵDirectiveDefWithMeta",moduleName:kn},t.InjectorDef={name:"ɵɵInjectorDef",moduleName:kn},t.defineInjector={name:"ɵɵdefineInjector",moduleName:kn},t.NgModuleDefWithMeta={name:"ɵɵNgModuleDefWithMeta",moduleName:kn},t.defineNgModule={name:"ɵɵdefineNgModule",moduleName:kn},t.setNgModuleScope={name:"ɵɵsetNgModuleScope",moduleName:kn},t.PipeDefWithMeta={name:"ɵɵPipeDefWithMeta",moduleName:kn},t.definePipe={name:"ɵɵdefinePipe",moduleName:kn},t.queryRefresh={name:"ɵɵqueryRefresh",moduleName:kn},t.viewQuery={name:"ɵɵviewQuery",moduleName:kn},t.staticViewQuery={name:"ɵɵstaticViewQuery",moduleName:kn},t.staticContentQuery={name:"ɵɵstaticContentQuery",moduleName:kn},t.loadViewQuery={name:"ɵɵloadViewQuery",moduleName:kn},t.contentQuery={name:"ɵɵcontentQuery",moduleName:kn},t.loadContentQuery={name:"ɵɵloadContentQuery",moduleName:kn},t.NgOnChangesFeature={name:"ɵɵNgOnChangesFeature",moduleName:kn},t.InheritDefinitionFeature={name:"ɵɵInheritDefinitionFeature",moduleName:kn},t.ProvidersFeature={name:"ɵɵProvidersFeature",moduleName:kn},t.listener={name:"ɵɵlistener",moduleName:kn},t.getFactoryOf={name:"ɵɵgetFactoryOf",moduleName:kn},t.getInheritedFactory={name:"ɵɵgetInheritedFactory",moduleName:kn},t.sanitizeHtml={name:"ɵɵsanitizeHtml",moduleName:kn},t.sanitizeStyle={name:"ɵɵsanitizeStyle",moduleName:kn},t.defaultStyleSanitizer={name:"ɵɵdefaultStyleSanitizer",moduleName:kn},t.sanitizeResourceUrl={name:"ɵɵsanitizeResourceUrl",moduleName:kn},t.sanitizeScript={name:"ɵɵsanitizeScript",moduleName:kn},t.sanitizeUrl={name:"ɵɵsanitizeUrl",moduleName:kn},t.sanitizeUrlOrResourceUrl={name:"ɵɵsanitizeUrlOrResourceUrl",moduleName:kn},t}(),An=0,Dn=9,Tn=10,Pn=11,In=12,Rn=13,Mn=32,Nn=34,Fn=36,Ln=39,Vn=43,Bn=45,zn=47,Hn=59,Un=61,Gn=62,qn=48,Wn=55,Yn=57,Kn=65,Qn=69,Xn=70,Zn=90,$n=95,Jn=97,tr=101,er=102,nr=110,rr=114,ir=116,or=118,ar=122,sr=160,lr=96;function cr(t){return t>=Dn&&t<=Mn||t==sr}function ur(t){return qn<=t&&t<=Yn}function pr(t){return t>=Jn&&t<=ar||t>=Kn&&t<=Zn}function dr(t){return t===Tn||t===Rn}function hr(t){return qn<=t&&t<=Wn}var fr,mr=function(){function t(t,e,n,r){this.file=t,this.offset=e,this.line=n,this.col=r}return t.prototype.toString=function(){return null!=this.offset?this.file.url+"@"+this.line+":"+this.col:this.file.url},t.prototype.moveBy=function(e){for(var n=this.file.content,r=n.length,i=this.offset,o=this.line,a=this.col;i>0&&e<0;){if(i--,e++,(l=n.charCodeAt(i))==Tn){o--;var s=n.substr(0,i-1).lastIndexOf(String.fromCharCode(Tn));a=s>0?i-s:i}else a--}for(;i0;){var l=n.charCodeAt(i);i++,e--,l==Tn?(o++,a=0):a++}return new t(this.file,i,o,a)},t.prototype.getContext=function(t,e){var n=this.file.content,r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);for(var i=r,o=0,a=0;o0&&(o++,"\n"!=n[--r]||++a!=e););for(o=0,a=0;o]"+t.after+'")':this.msg},t.prototype.toString=function(){var t=this.span.details?", "+this.span.details:"";return this.contextualMessage()+": "+this.span.start+t},t}();var _r=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t){return t.visitText(this)},t}(),wr=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t){return t.visitBoundText(this)},t}(),xr=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t){return t.visitTextAttribute(this)},t}(),Cr=function(){function t(t,e,n,r,i,o,a,s){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.valueSpan=a,this.i18n=s}return t.fromBoundElementProperty=function(e,n){return new t(e.name,e.type,e.securityContext,e.value,e.unit,e.sourceSpan,e.valueSpan,n)},t.prototype.visit=function(t){return t.visitBoundAttribute(this)},t}(),Or=function(){function t(t,e,n,r,i,o,a){this.name=t,this.type=e,this.handler=n,this.target=r,this.phase=i,this.sourceSpan=o,this.handlerSpan=a}return t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,e.type,e.handler,n,r,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t){return t.visitBoundEvent(this)},t}(),Er=function(){function t(t,e,n,r,i,o,a,s,l,c){this.name=t,this.attributes=e,this.inputs=n,this.outputs=r,this.children=i,this.references=o,this.sourceSpan=a,this.startSourceSpan=s,this.endSourceSpan=l,this.i18n=c,0===i.length&&s&&l&&(this.sourceSpan=new yr(a.start,l.end))}return t.prototype.visit=function(t){return t.visitElement(this)},t}(),Sr=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this.tagName=t,this.attributes=e,this.inputs=n,this.outputs=r,this.templateAttrs=i,this.children=o,this.references=a,this.variables=s,this.sourceSpan=l,this.startSourceSpan=c,this.endSourceSpan=u,this.i18n=p}return t.prototype.visit=function(t){return t.visitTemplate(this)},t}(),kr=function(){function t(t,e,n,r){this.selector=t,this.attributes=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitContent(this)},t}(),jr=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitVariable(this)},t}(),Ar=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t){return t.visitReference(this)},t}(),Dr=function(){function t(t,e,n,r){this.vars=t,this.placeholders=e,this.sourceSpan=n,this.i18n=r}return t.prototype.visit=function(t){return t.visitIcu(this)},t}();(function(){function t(){}t.prototype.visitElement=function(t){},t.prototype.visitTemplate=function(t){},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}})(),function(){function t(){}t.prototype.visitElement=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references)},t.prototype.visitTemplate=function(t){Tr(this,t.attributes),Tr(this,t.children),Tr(this,t.references),Tr(this,t.variables)},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){}}(),function(){function t(){}t.prototype.visitElement=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.children),o=Pr(this,t.references);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.children||o!=t.references?new Er(t.name,e,n,r,i,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitTemplate=function(t){var e=Pr(this,t.attributes),n=Pr(this,t.inputs),r=Pr(this,t.outputs),i=Pr(this,t.templateAttrs),o=Pr(this,t.children),a=Pr(this,t.references),s=Pr(this,t.variables);return e!=t.attributes||n!=t.inputs||r!=t.outputs||i!=t.templateAttrs||o!=t.children||a!=t.references||s!=t.variables?new Sr(t.tagName,e,n,r,i,o,a,s,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):t},t.prototype.visitContent=function(t){return t},t.prototype.visitVariable=function(t){return t},t.prototype.visitReference=function(t){return t},t.prototype.visitTextAttribute=function(t){return t},t.prototype.visitBoundAttribute=function(t){return t},t.prototype.visitBoundEvent=function(t){return t},t.prototype.visitText=function(t){return t},t.prototype.visitBoundText=function(t){return t},t.prototype.visitIcu=function(t){return t}}();function Tr(t,e){var n,r,i,a,s=[];if(t.visit)try{for(var l=Object(o.h)(e),c=l.next();!c.done;c=l.next())var u=c.value,p=t.visit(u)||u.visit(t)}catch(f){n={error:f}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}else try{for(var d=Object(o.h)(e),h=d.next();!h.done;h=d.next()){(p=(u=h.value).visit(t))&&s.push(p)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}return s}function Pr(t,e){var n,r,i=[],a=!1;try{for(var s=Object(o.h)(e),l=s.next();!l.done;l=s.next()){var c=l.value,u=c.visit(t);u&&i.push(u),a=a||u!=c}}catch(p){n={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a?i:e}var Ir=function(t,e,n,r,i,o){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=r,this.description=i,this.id=o,t.length?this.sources=[{filePath:t[0].sourceSpan.start.file.url,startLine:t[0].sourceSpan.start.line+1,startCol:t[0].sourceSpan.start.col+1,endLine:t[t.length-1].sourceSpan.end.line+1,endCol:t[0].sourceSpan.start.col+1}]:this.sources=[]},Rr=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Mr=function(){function t(t,e){this.children=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitContainer(this,e)},t}(),Nr=function(){function t(t,e,n,r){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitIcu(this,e)},t}(),Fr=function(){function t(t,e,n,r,i,o,a){this.tag=t,this.attrs=e,this.startName=n,this.closeName=r,this.children=i,this.isVoid=o,this.sourceSpan=a}return t.prototype.visit=function(t,e){return t.visitTagPlaceholder(this,e)},t}(),Lr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitPlaceholder(this,e)},t}(),Vr=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitIcuPlaceholder(this,e)},t}(),Br=function(){function t(){}return t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitContainer=function(t,e){var n=this,r=t.children.map(function(t){return t.visit(n,e)});return new Mr(r,t.sourceSpan)},t.prototype.visitIcu=function(t,e){var n=this,r={};Object.keys(t.cases).forEach(function(i){return r[i]=t.cases[i].visit(n,e)});var i=new Nr(t.expression,t.type,r,t.sourceSpan);return i.expressionPlaceholder=t.expressionPlaceholder,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=t.children.map(function(t){return t.visit(n,e)});return new Fr(t.tag,t.attrs,t.startName,t.closeName,r,t.isVoid,t.sourceSpan)},t.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,t.name,t.sourceSpan)},t.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,t.name,t.sourceSpan)},t}(),zr=function(){function t(){}return t.prototype.visitText=function(t,e){},t.prototype.visitContainer=function(t,e){var n=this;t.children.forEach(function(t){return t.visit(n)})},t.prototype.visitIcu=function(t,e){var n=this;Object.keys(t.cases).forEach(function(e){t.cases[e].visit(n)})},t.prototype.visitTagPlaceholder=function(t,e){var n=this;t.children.forEach(function(t){return t.visit(n)})},t.prototype.visitPlaceholder=function(t,e){},t.prototype.visitIcuPlaceholder=function(t,e){},t}();function Hr(t){return t.id||function(t){var e,n,r=Le(t),i=function(t,e){for(var n=Array(t.length+3>>>2),r=0;r>5]|=128<<24-a%32,i[15+(a+64>>9<<4)]=a;for(var f=0;f>>4).toString(16)+(15&r).toString(16)}return e.toLowerCase()}(ii([c,u,p,d,h]))}((e=t.nodes,e.map(function(t){return t.visit(qr,null)})).join("")+"["+t.meaning+"]");var e}function Ur(t){if(t.id)return t.id;var e=new Yr;return function(t,e){var n,r=Object(o.f)(Qr(t),2),i=r[0],a=r[1];if(e){var s=Object(o.f)(Qr(e),2),l=s[0],c=s[1];n=Object(o.f)(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1],a=Object(o.f)(e,2),s=a[0],l=a[1],c=Object(o.f)(Jr(i,l),2),u=c[0],p=c[1];return[$r($r(r,s),u),p]}(function(t,e){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r<>>32-e,i<>>32-e]}([i,a],1),[l,c]),2),i=n[0],a=n[1]}return function(t){for(var e="",n="1",r=t.length-1;r>=0;r--)e=oi(e,ai(ni(t,r),n)),n=ai(256,n);return e.split("").reverse().join("")}(ii([2147483647&i,a]))}(t.nodes.map(function(t){return t.visit(e,null)}).join(""),t.meaning)}var Gr=function(){function t(){}return t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return"["+t.children.map(function(t){return t.visit(n)}).join(", ")+"]"},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+t.expression+", "+t.type+", "+r.join(", ")+"}"},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?'':''+t.children.map(function(t){return t.visit(n)}).join(", ")+''},t.prototype.visitPlaceholder=function(t,e){return t.value?''+t.value+"":''},t.prototype.visitIcuPlaceholder=function(t,e){return''+t.value.visit(this)+""},t}(),qr=new Gr;var Wr,Yr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+t.type+", "+r.join(", ")+"}"},e}(Gr);function Kr(t,e,n,r){return t<20?[e&n|~e&r,1518500249]:t<40?[e^n^r,1859775393]:t<60?[e&n|e&r|n&r,2400959708]:[e^n^r,3395469782]}function Qr(t){var e=Le(t),n=Object(o.f)([Xr(e,0),Xr(e,102072)],2),r=n[0],i=n[1];return 0!=r||0!=i&&1!=i||(r^=319790063,i^=-1801410264),[r,i]}function Xr(t,e){var n,r,i=Object(o.f)([2654435769,2654435769],2),a=i[0],s=i[1],l=t.length;for(r=0;r+12<=l;r+=12)a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,ri(t,r+8,Wr.Little)),a=(n=Object(o.f)(Zr([a,s,e]),3))[0],s=n[1],e=n[2];return a=$r(a,ri(t,r,Wr.Little)),s=$r(s,ri(t,r+4,Wr.Little)),e=$r(e,l),Zr([a,s,e=$r(e,ri(t,r+8,Wr.Little)<<8)])[2]}function Zr(t){var e=Object(o.f)(t,3),n=e[0],r=e[1],i=e[2];return n=ti(n,r),n=ti(n,i),n^=i>>>13,r=ti(r,i),r=ti(r,n),r^=n<<8,i=ti(i,n),i=ti(i,r),i^=r>>>13,n=ti(n,r),n=ti(n,i),n^=i>>>12,r=ti(r,i),r=ti(r,n),r^=n<<16,i=ti(i,n),i=ti(i,r),i^=r>>>5,n=ti(n,r),n=ti(n,i),n^=i>>>3,r=ti(r,i),r=ti(r,n),r^=n<<10,i=ti(i,n),i=ti(i,r),[n,r,i^=r>>>15]}function $r(t,e){return Jr(t,e)[1]}function Jr(t,e){var n=(65535&t)+(65535&e),r=(t>>>16)+(e>>>16)+(n>>>16);return[r>>>16,r<<16|65535&n]}function ti(t,e){var n=(65535&t)-(65535&e);return(t>>16)-(e>>16)+(n>>16)<<16|65535&n}function ei(t,e){return t<>>32-e}function ni(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function ri(t,e,n){var r=0;if(n===Wr.Big)for(var i=0;i<4;i++)r+=ni(t,e+i)<<24-8*i;else for(i=0;i<4;i++)r+=ni(t,e+i)<<8*i;return r}function ii(t){return t.reduce(function(t,e){return t+function(t){for(var e="",n=0;n<4;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}(e)},"")}function oi(t,e){for(var n="",r=Math.max(t.length,e.length),i=0,o=0;i=10?(o=1,n+=a-10):(o=0,n+=a)}return n}function ai(t,e){for(var n="",r=e;0!==t;t>>>=1)1&t&&(n=oi(n,r)),r=oi(r,r);return n}!function(t){t[t.Little=0]="Little",t[t.Big=1]="Big"}(Wr||(Wr={}));var si=function(){function t(){}return t.prototype.createNameMapper=function(t){return null},t}(),li=function(t){function e(e,n){var r=t.call(this)||this;return r.mapName=n,r.internalToPublic={},r.publicToNextId={},r.publicToInternal={},e.nodes.forEach(function(t){return t.visit(r)}),r}return Object(o.c)(e,t),e.prototype.toPublicName=function(t){return this.internalToPublic.hasOwnProperty(t)?this.internalToPublic[t]:null},e.prototype.toInternalName=function(t){return this.publicToInternal.hasOwnProperty(t)?this.publicToInternal[t]:null},e.prototype.visitText=function(t,e){return null},e.prototype.visitTagPlaceholder=function(e,n){this.visitPlaceholderName(e.startName),t.prototype.visitTagPlaceholder.call(this,e,n),this.visitPlaceholderName(e.closeName)},e.prototype.visitPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitIcuPlaceholder=function(t,e){this.visitPlaceholderName(t.name)},e.prototype.visitPlaceholderName=function(t){if(t&&!this.internalToPublic.hasOwnProperty(t)){var e=this.mapName(t);if(this.publicToInternal.hasOwnProperty(e)){var n=this.publicToNextId[e];this.publicToNextId[e]=n+1,e=e+"_"+n}else this.publicToNextId[e]=1;this.internalToPublic[t]=e,this.publicToInternal[e]=t}},e}(zr),ci=new(function(){function t(){}return t.prototype.visitTag=function(t){var e=this,n=this._serializeAttributes(t.attrs);if(0==t.children.length)return"<"+t.name+n+"/>";var r=t.children.map(function(t){return t.visit(e)});return"<"+t.name+n+">"+r.join("")+""},t.prototype.visitText=function(t){return t.value},t.prototype.visitDeclaration=function(t){return""},t.prototype._serializeAttributes=function(t){var e=Object.keys(t).map(function(e){return e+'="'+t[e]+'"'}).join(" ");return e.length>0?" "+e:""},t.prototype.visitDoctype=function(t){return""},t}());function ui(t){return t.map(function(t){return t.visit(ci)}).join("")}var pi=function(){function t(t){var e=this;this.attrs={},Object.keys(t).forEach(function(n){e.attrs[n]=yi(t[n])})}return t.prototype.visit=function(t){return t.visitDeclaration(this)},t}(),di=function(){function t(t,e){this.rootTag=t,this.dtd=e}return t.prototype.visit=function(t){return t.visitDoctype(this)},t}(),hi=function(){function t(t,e,n){var r=this;void 0===e&&(e={}),void 0===n&&(n=[]),this.name=t,this.children=n,this.attrs={},Object.keys(e).forEach(function(t){r.attrs[t]=yi(e[t])})}return t.prototype.visit=function(t){return t.visitTag(this)},t}(),fi=function(){function t(t){this.value=yi(t)}return t.prototype.visit=function(t){return t.visitText(this)},t}(),mi=function(t){function e(e){return void 0===e&&(e=0),t.call(this,"\n"+new Array(e+1).join(" "))||this}return Object(o.c)(e,t),e}(fi),gi=[[/&/g,"&"],[/"/g,"""],[/'/g,"'"],[//g,">"]];function yi(t){return gi.reduce(function(t,e){return t.replace(e[0],e[1])},t)}var vi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new wi,r=new bi,i=new hi("messagebundle");return t.forEach(function(t){var e={id:t.id};t.description&&(e.desc=t.description),t.meaning&&(e.meaning=t.meaning);var n=[];t.sources.forEach(function(t){n.push(new hi("source",{},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))}),i.children.push(new mi(2),new hi("msg",e,Object(o.g)(n,r.serialize(t.nodes))))}),i.children.push(new mi),ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,new di("messagebundle",'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'),new mi,n.addDefaultExamples(i),new mi])},e.prototype.load=function(t,e){throw new Error("Unsupported")},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si),bi=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=new fi("<"+t.tag+">"),r=new hi("ex",{},[n]),i=new hi("ph",{name:t.startName},[r,n]);if(t.isVoid)return[i];var a=new fi(""),s=new hi("ex",{},[a]),l=new hi("ph",{name:t.closeName},[s,a]);return Object(o.g)([i],this.serialize(t.children),[l])},t.prototype.visitPlaceholder=function(t,e){var n=new fi("{{"+t.value+"}}"),r=new hi("ex",{},[n]);return[new hi("ph",{name:t.name},[r,n])]},t.prototype.visitIcuPlaceholder=function(t,e){var n=t.value.expression,r=t.value.type,i=Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" "),o=new fi("{"+n+", "+r+", "+i+"}"),a=new hi("ex",{},[o]);return[new hi("ph",{name:t.name},[a,o])]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}();function _i(t){return Ur(t)}var wi=function(){function t(){}return t.prototype.addDefaultExamples=function(t){return t.visit(this),t},t.prototype.visitTag=function(t){var e=this;if("ph"===t.name){if(!t.children||0==t.children.length){var n=new fi(t.attrs.name||"...");t.children=[new hi("ex",{},[n])]}}else t.children&&t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitText=function(t){},t.prototype.visitDeclaration=function(t){},t.prototype.visitDoctype=function(t){},t}();function xi(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function Ci(t,e){return void 0===e&&(e=!1),ye(Object.keys(t).map(function(n){return{key:n,quoted:e,value:t[n]}}))}var Oi="MSG_",Ei="goog.getMsg",Si="ngI18nClosureMode",ki="|",ji="@@",Ai="i18n",Di="i18n-",Ti="�";function Pi(t,e,n,r,i){var o=[];o.push(new Wt(t.name,void 0,lt,null,t.sourceSpan));var a=[_e(n)];i&&Object.keys(i).length&&a.push(Ci(i,!0));var s=function(t){var e=[];t.description&&e.push({tagName:"desc",text:t.description});t.meaning&&e.push({tagName:"meaning",text:t.meaning});return 0==e.length?null:new ne(e)}(r),l=s?[s]:[],c=de(Ei).callFn(a);l.push(e.set(c).toConstDecl()),l.push(new Kt(t.set(e)));var u=he(jn.i18nLocalize).callFn(a),p=[new Kt(t.set(u))];return o.push(be(de(Si),l,p)),o}function Ii(t){return t===Ai||t.startsWith(Di)}function Ri(t){return t instanceof Ir}function Mi(t){return Ri(t)&&1===t.nodes.length&&t.nodes[0]instanceof Nr}function Ni(t,e){return void 0===e&&(e=null),{id:"string"==typeof e?e:t.id||"",meaning:t.meaning||"",description:t.description||""}}function Fi(t){return t.nodes[0]}function Li(t,e){return void 0===e&&(e=0),""+Ti+t+(e>0?":"+e:"")+Ti}function Vi(t){void 0===t&&(t=0);var e=t;return function(){return e++}}function Bi(t){var e={};return t.forEach(function(t,n){e[n]=_e(t.length>1?"["+t.join("|")+"]":t[0])}),e}function zi(t,e){for(var n=[],r=2;r0?function(t,e){return ye(Object.getOwnPropertyNames(t).map(function(n){var r,i,a,s,l,c=t[n];return Array.isArray(c)?(s=(r=Object(o.f)(c,2))[0],a=r[1]):(a=(i=Object(o.f)(Ce(n,[n,c]),2))[0],s=i[1]),{key:l=a,quoted:qi.test(l),value:e&&s!==a?ge([$i(s),$i(a)]):$i(s)}}))}(t,e):null}function to(t){for(;(e=t[t.length-1])instanceof kt&&null===e.value;)t.pop();var e;return t}function eo(t,e){if(Array.isArray(t.predicate)){var n=[];return t.predicate.forEach(function(t){var e=t.split(",").map(function(t){return _e(t.trim())});n.push.apply(n,Object(o.g)(e))}),e.getConstLiteral(ge(n),!0)}return t.predicate}var no,ro,io=function(){function t(){this.values=[]}return t.prototype.set=function(t,e){e&&this.values.push({key:t,value:e,quoted:!1})},t.prototype.toLiteralMap=function(){return ye(this.values)},t}();function oo(t){var e={};return t instanceof Sr&&"ng-template"!==t.tagName?t.templateAttrs.forEach(function(t){return e[t.name]=""}):(t.attributes.forEach(function(t){Ii(t.name)||(e[t.name]=t.value)}),t.inputs.forEach(function(t){e[t.name]=""}),t.outputs.forEach(function(t){e[t.name]=""})),e}function ao(t,e,n){var r=he(t,null,n);if(e.length>0)for(var i=0;i0){n=[];for(var r=0;r]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xo(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error("Expected '"+t+"' to be an array, [start, end].");if(null!=e){var n=e[0],r=e[1];wo.forEach(function(t){if(t.test(n)||t.test(r))throw new Error("['"+n+"', '"+r+"'] contains unusable interpolation symbol.")})}}var Co=function(){function t(t,e){this.start=t,this.end=e}return t.fromArray=function(e){return e?(xo("interpolation",e),new t(e[0],e[1])):Oo},t}(),Oo=new Co("{{","}}"),Eo=function(){function t(t){void 0===t&&(t=null),this.file=t,this.sourcesContent=new Map,this.lines=[],this.lastCol0=0,this.hasMappings=!1}return t.prototype.addSource=function(t,e){return void 0===e&&(e=null),this.sourcesContent.has(t)||this.sourcesContent.set(t,e),this},t.prototype.addLine=function(){return this.lines.push([]),this.lastCol0=0,this},t.prototype.addMapping=function(t,e,n,r){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(null!=e&&!this.sourcesContent.has(e))throw new Error('Unknown source file "'+e+'"');if(null==t)throw new Error("The column in the generated code must be provided");if(t>2),e+=jo((3&r)<<4|(isNaN(i)?0:i>>4)),e+=isNaN(i)?"=":jo((15&i)<<2|o>>6),e+=isNaN(i)||isNaN(o)?"=":jo(63&o)}return e}(JSON.stringify(this,null,0)):""},t}();function So(t){t=t<0?1+(-t<<1):t<<1;var e="";do{var n=31&t;(t>>=5)>0&&(n|=32),e+=jo(n)}while(t>0);return e}var ko="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function jo(t){if(t<0||t>=64)throw new Error("Can only encode value in the range [0, 63]");return ko[t]}var Ao=/'|\\|\n|\r|\$/g,Do=/^[$A-Z_][0-9A-Z_$]*$/i,To=" ",Po=de("error",null,null),Io=de("stack",null,null),Ro=function(t){this.indent=t,this.partsLength=0,this.parts=[],this.srcSpans=[]},Mo=function(){function t(t){this._indent=t,this._classes=[],this._preambleLineCount=0,this._lines=[new Ro(t)]}return t.createRoot=function(){return new t(0)},Object.defineProperty(t.prototype,"_currentLine",{get:function(){return this._lines[this._lines.length-1]},enumerable:!0,configurable:!0}),t.prototype.println=function(t,e){void 0===e&&(e=""),this.print(t||null,e,!0)},t.prototype.lineIsEmpty=function(){return 0===this._currentLine.parts.length},t.prototype.lineLength=function(){return this._currentLine.indent*To.length+this._currentLine.partsLength},t.prototype.print=function(t,e,n){void 0===n&&(n=!1),e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(t&&t.sourceSpan||null)),n&&this._lines.push(new Ro(this._indent))},t.prototype.removeEmptyLastLine=function(){this.lineIsEmpty()&&this._lines.pop()},t.prototype.incIndent=function(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.decIndent=function(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)},t.prototype.pushClass=function(t){this._classes.push(t)},t.prototype.popClass=function(){return this._classes.pop()},Object.defineProperty(t.prototype,"currentClass",{get:function(){return this._classes.length>0?this._classes[this._classes.length-1]:null},enumerable:!0,configurable:!0}),t.prototype.toSource=function(){return this.sourceLines.map(function(t){return t.parts.length>0?Lo(t.indent)+t.parts.join(""):""}).join("\n")},t.prototype.toSourceMapGenerator=function(t,e){void 0===e&&(e=0);for(var n=new Eo(t),r=!1,i=function(){r||(n.addSource(t," ").addMapping(0,t,0,0),r=!0)},o=0;or)return n.srcSpans[i];r-=o.length}return null},Object.defineProperty(t.prototype,"sourceLines",{get:function(){return this._lines.length&&0===this._lines[this._lines.length-1].parts.length?this._lines.slice(0,-1):this._lines},enumerable:!0,configurable:!0}),t}(),No=function(){function t(t){this._escapeDollarInStrings=t}return t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitReturnStmt=function(t,e){return e.print(t,"return "),t.value.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitIfStmt=function(t,e){e.print(t,"if ("),t.condition.visitExpression(this,e),e.print(t,") {");var n=null!=t.falseCase&&t.falseCase.length>0;return t.trueCase.length<=1&&!n?(e.print(t," "),this.visitAllStatements(t.trueCase,e),e.removeEmptyLastLine(),e.print(t," ")):(e.println(),e.incIndent(),this.visitAllStatements(t.trueCase,e),e.decIndent(),n&&(e.println(t,"} else {"),e.incIndent(),this.visitAllStatements(t.falseCase,e),e.decIndent())),e.println(t,"}"),null},t.prototype.visitThrowStmt=function(t,e){return e.print(t,"throw "),t.error.visitExpression(this,e),e.println(t,";"),null},t.prototype.visitCommentStmt=function(t,e){return t.multiline?e.println(t,"/* "+t.comment+" */"):t.comment.split("\n").forEach(function(n){e.println(t,"// "+n)}),null},t.prototype.visitJSDocCommentStmt=function(t,e){return e.println(t,"/*"+t.toString()+"*/"),null},t.prototype.visitWriteVarExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),e.print(t,t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWriteKeyExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"] = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitWritePropExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print(t,"("),t.receiver.visitExpression(this,e),e.print(t,"."+t.name+" = "),t.value.visitExpression(this,e),n||e.print(t,")"),null},t.prototype.visitInvokeMethodExpr=function(t,e){t.receiver.visitExpression(this,e);var n=t.name;return null!=t.builtin&&null==(n=this.getBuiltinMethodName(t.builtin))?null:(e.print(t,"."+n+"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null)},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")},t.prototype.visitTypeofExpr=function(t,e){e.print(t,"typeof "),t.expr.visitExpression(this,e)},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(null!=t.builtin)switch(t.builtin){case ft.Super:n="super";break;case ft.This:n="this";break;case ft.CatchError:n=Po.name;break;case ft.CatchStack:n=Io.name;break;default:throw new Error("Unknown builtin variable "+t.builtin)}return e.print(t,n),null},t.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),t.classExpr.visitExpression(this,e),e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},t.prototype.visitLiteralExpr=function(t,e){var n=t.value;return"string"==typeof n?e.print(t,Fo(n,this._escapeDollarInStrings)):e.print(t,""+n),null},t.prototype.visitConditionalExpr=function(t,e){return e.print(t,"("),t.condition.visitExpression(this,e),e.print(t,"? "),t.trueCase.visitExpression(this,e),e.print(t,": "),t.falseCase.visitExpression(this,e),e.print(t,")"),null},t.prototype.visitNotExpr=function(t,e){return e.print(t,"!"),t.condition.visitExpression(this,e),null},t.prototype.visitAssertNotNullExpr=function(t,e){return t.condition.visitExpression(this,e),null},t.prototype.visitBinaryOperatorExpr=function(t,e){var n;switch(t.operator){case nt.Equals:n="==";break;case nt.Identical:n="===";break;case nt.NotEquals:n="!=";break;case nt.NotIdentical:n="!==";break;case nt.And:n="&&";break;case nt.BitwiseAnd:n="&";break;case nt.Or:n="||";break;case nt.Plus:n="+";break;case nt.Minus:n="-";break;case nt.Divide:n="/";break;case nt.Multiply:n="*";break;case nt.Modulo:n="%";break;case nt.Lower:n="<";break;case nt.LowerEquals:n="<=";break;case nt.Bigger:n=">";break;case nt.BiggerEquals:n=">=";break;default:throw new Error("Unknown operator "+t.operator)}return t.parens&&e.print(t,"("),t.lhs.visitExpression(this,e),e.print(t," "+n+" "),t.rhs.visitExpression(this,e),t.parens&&e.print(t,")"),null},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"."),e.print(t,t.name),null},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print(t,"["),t.index.visitExpression(this,e),e.print(t,"]"),null},t.prototype.visitLiteralArrayExpr=function(t,e){return e.print(t,"["),this.visitAllExpressions(t.entries,e,","),e.print(t,"]"),null},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return e.print(t,"{"),this.visitAllObjects(function(r){e.print(t,Fo(r.key,n._escapeDollarInStrings,r.quoted)+":"),r.value.visitExpression(n,e)},t.entries,e,","),e.print(t,"}"),null},t.prototype.visitCommaExpr=function(t,e){return e.print(t,"("),this.visitAllExpressions(t.parts,e,","),e.print(t,")"),null},t.prototype.visitAllExpressions=function(t,e,n){var r=this;this.visitAllObjects(function(t){return t.visitExpression(r,e)},t,e,n)},t.prototype.visitAllObjects=function(t,e,n,r){for(var i=!1,o=0;o0&&(n.lineLength()>80?(n.print(null,r,!0),i||(n.incIndent(),n.incIndent(),i=!0)):n.print(null,r,!1)),t(e[o]);i&&(n.decIndent(),n.decIndent())},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}();function Fo(t,e,n){if(void 0===n&&(n=!0),null==t)return null;var r=t.replace(Ao,function(){for(var t=[],n=0;n0&&(e.println(t,"var self = this;"),this.visitAllStatements(t.constructorMethod.body,e)),e.decIndent(),e.println(t,"}")},e.prototype._visitClassGetter=function(t,e,n){n.println(t,"Object.defineProperty("+t.name+".prototype, '"+e.name+"', { get: function() {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"}});")},e.prototype._visitClassMethod=function(t,e,n){n.print(t,t.name+".prototype."+e.name+" = function("),this._visitParams(e.params,n),n.println(t,") {"),n.incIndent(),e.body.length>0&&(n.println(t,"var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println(t,"};")},e.prototype.visitWrappedNodeExpr=function(t,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")},e.prototype.visitReadVarExpr=function(e,n){if(e.builtin===ft.This)n.print(e,"self");else{if(e.builtin===ft.Super)throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");t.prototype.visitReadVarExpr.call(this,e,n)}return null},e.prototype.visitDeclareVarStmt=function(t,e){return e.print(t,"var "+t.name),t.value&&(e.print(t," = "),t.value.visitExpression(this,e)),e.println(t,";"),null},e.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),null},e.prototype.visitInvokeFunctionExpr=function(e,n){var r=e.fn;return r instanceof yt&&r.builtin===ft.Super?(n.currentClass.parent.visitExpression(this,n),n.print(e,".call(this"),e.args.length>0&&(n.print(e,", "),this.visitAllExpressions(e.args,n,",")),n.print(e,")")):t.prototype.visitInvokeFunctionExpr.call(this,e,n),null},e.prototype.visitFunctionExpr=function(t,e){return e.print(t,"function"+(t.name?" "+t.name:"")+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack")).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype._visitParams=function(t,e){this.visitAllObjects(function(t){return e.print(null,t.name)},t,e,",")},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e}(No),Bo=function(){function t(){}return t.prototype.evaluateStatements=function(t,e,n,r){var i=new zo(n),a=Mo.createRoot();return e.length>0&&!e[0].isEquivalent(_e("use strict").toStmt())&&(e=Object(o.g)([_e("use strict").toStmt()],e)),i.visitAllStatements(e,a),i.createReturnStmt(a),this.evaluateCode(t,a,i.getArgs(),r)},t.prototype.evaluateCode=function(t,e,n,r){var i='"use strict";'+e.toSource()+"\n//# sourceURL="+t,a=[],s=[];for(var l in n)s.push(n[l]),a.push(l);if(r){var c=(new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat("return null;"))))).toString(),u=c.slice(0,c.indexOf("return null;")).split("\n").length-1;i+="\n"+e.toSourceMapGenerator(t,u).toJsComment()}var p=new(Function.bind.apply(Function,Object(o.g)([void 0],a.concat(i))));return this.executeFunction(p,s)},t.prototype.executeFunction=function(t,e){return t.apply(void 0,Object(o.g)(e))},t}(),zo=function(t){function e(e){var n=t.call(this)||this;return n.reflector=e,n._evalArgNames=[],n._evalArgValues=[],n._evalExportedVars=[],n}return Object(o.c)(e,t),e.prototype.createReturnStmt=function(t){new Qt(new zt(this._evalExportedVars.map(function(t){return new Bt(t,de(t),!1)}))).visitStatement(this,t)},e.prototype.getArgs=function(){for(var t={},e=0;e0?me(ge(e)):pt}function qo(t,e){var n=ge(t.map(function(t){return t.value}));return e?ve([],[new Qt(n)]):n}function Wo(t){var e=[];e.push({key:"name",value:_e(t.pipeName),quoted:!1}),e.push({key:"type",value:t.type,quoted:!1});var n=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.directiveInject},!0);return e.push({key:"factory",value:n.factory,quoted:!1}),e.push({key:"pure",value:_e(t.pure),quoted:!1}),{expression:he(jn.definePipe).callFn([ye(e)]),type:new it(he(jn.PipeDefWithMeta,[go(t.type,t.typeArgumentCount),new it(new kt(t.pipeName))])),statements:n.statements}}var Yo=function(t,e,n,r){this.input=e,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: "+t+" "+n+" ["+e+"] in "+r},Ko=function(t,e){this.start=t,this.end=e},Qo=function(){function t(t){this.span=t}return t.prototype.visit=function(t,e){return void 0===e&&(e=null),null},t.prototype.toString=function(){return"AST"},t}(),Xo=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.prefix=n,o.uninterpretedExpression=r,o.location=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitQuote(this,e)},e.prototype.toString=function(){return"Quote"},e}(Qo),Zo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){void 0===e&&(e=null)},e}(Qo),$o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitImplicitReceiver(this,e)},e}(Qo),Jo=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitChain(this,e)},e}(Qo),ta=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.condition=n,o.trueExp=r,o.falseExp=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitConditional(this,e)},e}(Qo),ea=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyRead(this,e)},e}(Qo),na=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyWrite(this,e)},e}(Qo),ra=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.receiver=n,i.name=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafePropertyRead(this,e)},e}(Qo),ia=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.obj=n,i.key=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedRead(this,e)},e}(Qo),oa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.obj=n,o.key=r,o.value=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedWrite(this,e)},e}(Qo),aa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.exp=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPipe(this,e)},e}(Qo),sa=function(t){function e(e,n){var r=t.call(this,e)||this;return r.value=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralPrimitive(this,e)},e}(Qo),la=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expressions=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralArray(this,e)},e}(Qo),ca=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.keys=n,i.values=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralMap(this,e)},e}(Qo),ua=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.strings=n,i.expressions=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitInterpolation(this,e)},e}(Qo),pa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.operation=n,o.left=r,o.right=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitBinary(this,e)},e}(Qo),da=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPrefixNot(this,e)},e}(Qo),ha=function(t){function e(e,n){var r=t.call(this,e)||this;return r.expression=n,r}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitNonNullAssert(this,e)},e}(Qo),fa=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitMethodCall(this,e)},e}(Qo),ma=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o.receiver=n,o.name=r,o.args=i,o}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafeMethodCall(this,e)},e}(Qo),ga=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.target=n,i.args=r,i}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitFunctionCall(this,e)},e}(Qo),ya=function(t,e){this.start=t,this.end=e},va=function(t){function e(e,n,r,i,o){var a=t.call(this,new Ko(0,null==n?0:n.length))||this;return a.ast=e,a.source=n,a.location=r,a.errors=o,a.sourceSpan=new ya(i,i+a.span.end),a}return Object(o.c)(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)},e.prototype.toString=function(){return this.source+" in "+this.location},e}(Qo),ba=function(t,e,n,r,i){this.span=t,this.key=e,this.keyIsVar=n,this.name=r,this.expression=i},_a=(function(){function t(){}t.prototype.visitBinary=function(t,e){},t.prototype.visitChain=function(t,e){},t.prototype.visitConditional=function(t,e){},t.prototype.visitFunctionCall=function(t,e){},t.prototype.visitImplicitReceiver=function(t,e){},t.prototype.visitInterpolation=function(t,e){},t.prototype.visitKeyedRead=function(t,e){},t.prototype.visitKeyedWrite=function(t,e){},t.prototype.visitLiteralArray=function(t,e){},t.prototype.visitLiteralMap=function(t,e){},t.prototype.visitLiteralPrimitive=function(t,e){},t.prototype.visitMethodCall=function(t,e){},t.prototype.visitPipe=function(t,e){},t.prototype.visitPrefixNot=function(t,e){},t.prototype.visitNonNullAssert=function(t,e){},t.prototype.visitPropertyRead=function(t,e){},t.prototype.visitPropertyWrite=function(t,e){},t.prototype.visitQuote=function(t,e){},t.prototype.visitSafeMethodCall=function(t,e){},t.prototype.visitSafePropertyRead=function(t,e){}}(),function(){function t(){}return t.prototype.visitBinary=function(t,e){return t.left.visit(this,e),t.right.visit(this,e),null},t.prototype.visitChain=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return t.condition.visit(this,e),t.trueExp.visit(this,e),t.falseExp.visit(this,e),null},t.prototype.visitPipe=function(t,e){return t.exp.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitFunctionCall=function(t,e){return t.target.visit(this,e),this.visitAll(t.args,e),null},t.prototype.visitImplicitReceiver=function(t,e){return null},t.prototype.visitInterpolation=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitKeyedRead=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),null},t.prototype.visitKeyedWrite=function(t,e){return t.obj.visit(this,e),t.key.visit(this,e),t.value.visit(this,e),null},t.prototype.visitLiteralArray=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitLiteralMap=function(t,e){return this.visitAll(t.values,e)},t.prototype.visitLiteralPrimitive=function(t,e){return null},t.prototype.visitMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitPrefixNot=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitNonNullAssert=function(t,e){return t.expression.visit(this,e),null},t.prototype.visitPropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitPropertyWrite=function(t,e){return t.receiver.visit(this,e),t.value.visit(this,e),null},t.prototype.visitSafePropertyRead=function(t,e){return t.receiver.visit(this,e),null},t.prototype.visitSafeMethodCall=function(t,e){return t.receiver.visit(this,e),this.visitAll(t.args,e)},t.prototype.visitAll=function(t,e){var n=this;return t.forEach(function(t){return t.visit(n,e)}),null},t.prototype.visitQuote=function(t,e){return null},t}()),wa=function(){function t(){}return t.prototype.visitImplicitReceiver=function(t,e){return t},t.prototype.visitInterpolation=function(t,e){return new ua(t.span,t.strings,this.visitAll(t.expressions))},t.prototype.visitLiteralPrimitive=function(t,e){return new sa(t.span,t.value)},t.prototype.visitPropertyRead=function(t,e){return new ea(t.span,t.receiver.visit(this),t.name)},t.prototype.visitPropertyWrite=function(t,e){return new na(t.span,t.receiver.visit(this),t.name,t.value.visit(this))},t.prototype.visitSafePropertyRead=function(t,e){return new ra(t.span,t.receiver.visit(this),t.name)},t.prototype.visitMethodCall=function(t,e){return new fa(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitSafeMethodCall=function(t,e){return new ma(t.span,t.receiver.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitFunctionCall=function(t,e){return new ga(t.span,t.target.visit(this),this.visitAll(t.args))},t.prototype.visitLiteralArray=function(t,e){return new la(t.span,this.visitAll(t.expressions))},t.prototype.visitLiteralMap=function(t,e){return new ca(t.span,t.keys,this.visitAll(t.values))},t.prototype.visitBinary=function(t,e){return new pa(t.span,t.operation,t.left.visit(this),t.right.visit(this))},t.prototype.visitPrefixNot=function(t,e){return new da(t.span,t.expression.visit(this))},t.prototype.visitNonNullAssert=function(t,e){return new ha(t.span,t.expression.visit(this))},t.prototype.visitConditional=function(t,e){return new ta(t.span,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))},t.prototype.visitPipe=function(t,e){return new aa(t.span,t.exp.visit(this),t.name,this.visitAll(t.args))},t.prototype.visitKeyedRead=function(t,e){return new ia(t.span,t.obj.visit(this),t.key.visit(this))},t.prototype.visitKeyedWrite=function(t,e){return new oa(t.span,t.obj.visit(this),t.key.visit(this),t.value.visit(this))},t.prototype.visitAll=function(t){for(var e=new Array(t.length),n=0;n=0;r--)n.unshift(La(e,r))}(s.temporaryCount,r,l),s.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var c=l.length-1,u=null;if(c>=0){var p=function(t){if(t instanceof Kt)return t.expr;if(t instanceof Qt)return t.value;return null}(l[c]);p&&(u=function(t){return de("pd_"+t)}(r),l[c]=u.set(p.cast(st).notIdentical(_e(!1))).toDeclStmt(null,[Ct.Final]))}return new Aa(l,u)}function Ta(t,e){return function(t,e){var n=new za(t);return e.visit(n)}(t,e)}var Pa,Ia,Ra=function(t,e){this.stmts=t,this.currValExpr=e};function Ma(t,e,n,r,i,o){t||(t=new Ua);var a=function(t){return de("currVal_"+t)}(r),s=new Ha(t,e,r,o),l=n.visit(s,Ia.Expression),c=Na(s,r);return s.usesImplicitReceiver&&t.notifyImplicitReceiverUse(),0===s.temporaryCount&&i==Pa.TrySimple?new Ra([],l):(c.push(a.set(l).toDeclStmt(st,[Ct.Final])),new Ra(c,a))}function Na(t,e){for(var n=[],r=0;r":n=nt.Bigger;break;case"<=":n=nt.LowerEquals;break;case">=":n=nt.BiggerEquals;break;default:throw new Error("Unsupported operation "+t.operation)}return Ba(e,new Nt(n,this._visit(t.left,Ia.Expression),this._visit(t.right,Ia.Expression),void 0,this.convertSourceSpan(t.span)))},t.prototype.visitChain=function(t,e){return function(t,e){if(t!==Ia.Statement)throw new Error("Expected a statement, but saw "+e)}(e,t),this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){return Ba(e,this._visit(t.condition,Ia.Expression).conditional(this._visit(t.trueExp,Ia.Expression),this._visit(t.falseExp,Ia.Expression),this.convertSourceSpan(t.span)))},t.prototype.visitPipe=function(t,e){throw new Error("Illegal state: Pipes should have been converted into functions. Pipe: "+t.name)},t.prototype.visitFunctionCall=function(t,e){var n=this.visitAll(t.args,Ia.Expression);return Ba(e,t instanceof Ga?t.converter(n):this._visit(t.target,Ia.Expression).callFn(n,this.convertSourceSpan(t.span)))},t.prototype.visitImplicitReceiver=function(t,e){return Va(e,t),this.usesImplicitReceiver=!0,this._implicitReceiver},t.prototype.visitInterpolation=function(t,e){Va(e,t);for(var n=[_e(t.expressions.length)],r=0;r-1?this._colonHostPartReplacer(t,e,n):t+e+n+", "+e+" "+t+n},t.prototype._colonHostPartReplacer=function(t,e,n){return t+e.replace(Xa,"")+n},t.prototype._convertShadowDOMSelectors=function(t){return rs.reduce(function(t,e){return t.replace(e," ")},t)},t.prototype._scopeSelectors=function(t,e,n){var r,i,o,a=this;return r=function(t){var r=t.selector,i=t.content;return"@"!=t.selector[0]?r=a._scopeSelector(t.selector,e,n,a.strictStyling):(t.selector.startsWith("@media")||t.selector.startsWith("@supports")||t.selector.startsWith("@page")||t.selector.startsWith("@document"))&&(i=a._scopeSelectors(t.content,e,n)),new gs(r,i)},i=function(t){for(var e=t.split(ds),n=[],r=[],i=0,o=[],a=0;a0?o.push(s):(o.length>0&&(r.push(o.join("")),n.push(ms),o=[]),n.push(s)),s==hs&&i++}return o.length>0&&(r.push(o.join("")),n.push(ms)),new ys(n.join(""),r)}(t),o=0,i.escapedString.replace(ps,function(){for(var t=[],e=0;e-1)r=i._applySimpleSelectorScope(t,e,n);else{var a=t.replace(as,"");if(a.length>0){var s=a.match(/([^:]*)(:*)(.*)/);s&&(r=s[1]+o+s[2]+s[3])}}return r},s=new Wa(t),l="",c=0,u=/( |>|\+|~(?!=))\s*/g,p=!((t=s.content()).indexOf(es)>-1);null!==(r=u.exec(t));){var d=r[1],h=t.slice(c,r.index).trim();l+=((p=p||h.indexOf(es)>-1)?a(h):h)+" "+d+" ",c=u.lastIndex}var f=t.substring(c);return l+=(p=p||f.indexOf(es)>-1)?a(f):f,s.restore(l)},t.prototype._insertPolyfillHostInCssText=function(t){return t.replace(ls,Za).replace(ss,Xa)},t}(),Wa=function(){function t(t){var e=this;this.placeholders=[],this.index=0,t=t.replace(/(\[[^\]]*\])/g,function(t,n){var r="__ph-"+e.index+"__";return e.placeholders.push(n),e.index++,r}),this._content=t.replace(/(:nth-[-\w]+)(\([^)]+\))/g,function(t,n,r){var i="__ph-"+e.index+"__";return e.placeholders.push(r),e.index++,n+i})}return t.prototype.restore=function(t){var e=this;return t.replace(/__ph-(\d+)__/g,function(t,n){return e.placeholders[+n]})},t.prototype.content=function(){return this._content},t}(),Ya=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Ka=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Qa=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Xa="-shadowcsshost",Za="-shadowcsscontext",$a=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",Ja=new RegExp("("+Xa+$a,"gim"),ts=new RegExp("("+Za+$a,"gim"),es=Xa+"-no-combinator",ns=/-shadowcsshost-no-combinator([^\s]*)/,rs=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],is=/(?:>>>)|(?:\/deep\/)|(?:::ng-deep)/g,os="([>\\s~+[.,{:][\\s\\S]*)?$",as=/-shadowcsshost/gim,ss=/:host/gim,ls=/:host-context/gim,cs=/\/\*\s*[\s\S]*?\*\//g;var us=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;var ps=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,ds=/([{}])/g,hs="{",fs="}",ms="%BLOCK%",gs=function(t,e){this.selector=t,this.content=e};var ys=function(t,e){this.escapedString=t,this.blocks=e};var vs="_nghost-%COMP%",bs="_ngcontent-%COMP%",_s=function(t,e,n){this.name=t,this.moduleUrl=e,this.setValue=n},ws=function(t,e,n,r,i){this.outputCtx=t,this.stylesVar=e,this.dependencies=n,this.isShimmed=r,this.meta=i},xs=function(){function t(t){this._urlResolver=t,this._shadowCss=new qa}return t.prototype.compileComponent=function(t,e){var n=e.template;return this._compileStyles(t,e,new gn({styles:n.styles,styleUrls:n.styleUrls,moduleUrl:un(e.type)}),this.needsStyleShim(e),!0)},t.prototype.compileStyles=function(t,e,n,r){return void 0===r&&(r=this.needsStyleShim(e)),this._compileStyles(t,e,n,r,!1)},t.prototype.needsStyleShim=function(t){return t.template.encapsulation===v.Emulated},t.prototype._compileStyles=function(t,e,n,r,i){var o=this,a=n.styles.map(function(t){return _e(o._shimIfNeeded(t,r))}),s=[];n.styleUrls.forEach(function(e){var n=a.length;a.push(null),s.push(new _s(Cs(null),e,function(e){return a[n]=t.importExpr(e)}))});var l=Cs(i?e:null),c=de(l).set(ge(a,new ot(st,[J.Const]))).toDeclStmt(null,i?[Ct.Final]:[Ct.Final,Ct.Exported]);return t.statements.push(c),new ws(t,l,s,r,n)},t.prototype._shimIfNeeded=function(t,e){return e?this._shadowCss.shimCssText(t,bs,vs):t},t}();function Cs(t){var e="styles";return t&&(e+="_"+cn(t.type)),e}!function(){function t(t,e){void 0===e&&(e=-1),this.path=t,this.position=e}Object.defineProperty(t.prototype,"empty",{get:function(){return!this.path||!this.path.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"head",{get:function(){return this.path[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tail",{get:function(){return this.path[this.path.length-1]},enumerable:!0,configurable:!0}),t.prototype.parentOf=function(t){return t&&this.path[this.path.indexOf(t)-1]},t.prototype.childOf=function(t){return this.path[this.path.indexOf(t)+1]},t.prototype.first=function(t){for(var e=this.path.length-1;e>=0;e--){var n=this.path[e];if(n instanceof t)return n}},t.prototype.push=function(t){this.path.push(t)},t.prototype.pop=function(){return this.path.pop()}}();var Os=function(){function t(t,e,n){this.value=t,this.sourceSpan=e,this.i18n=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Es=function(){function t(t,e,n,r,i,o){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=i,this.i18n=o}return t.prototype.visit=function(t,e){return t.visitExpansion(this,e)},t}(),Ss=function(){function t(t,e,n,r,i){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansionCase(this,e)},t}(),ks=function(){function t(t,e,n,r,i){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r,this.i18n=i}return t.prototype.visit=function(t,e){return t.visitAttribute(this,e)},t}(),js=function(){function t(t,e,n,r,i,o,a){void 0===i&&(i=null),void 0===o&&(o=null),this.name=t,this.attrs=e,this.children=n,this.sourceSpan=r,this.startSourceSpan=i,this.endSourceSpan=o,this.i18n=a}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),As=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitComment(this,e)},t}();function Ds(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}var Ts;!function(){function t(){}t.prototype.visitElement=function(t,e){this.visitChildren(e,function(e){e(t.attrs),e(t.children)})},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){return this.visitChildren(e,function(e){e(t.cases)})},t.prototype.visitExpansionCase=function(t,e){},t.prototype.visitChildren=function(t,e){var n=[],r=this;return e(function(e){e&&n.push(Ds(r,e,t))}),Array.prototype.concat.apply([],n)}}();!function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE=14]="DOC_TYPE",t[t.EXPANSION_FORM_START=15]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=16]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=17]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=18]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=19]="EXPANSION_FORM_END",t[t.EOF=20]="EOF"}(Ts||(Ts={}));var Ps=function(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n},Is=function(t){function e(e,n,r){var i=t.call(this,r,e)||this;return i.tokenType=n,i}return Object(o.c)(e,t),e}(br),Rs=function(t,e){this.tokens=t,this.errors=e};var Ms=/\r\n?/g;function Ns(t){return'Unexpected character "'+(t===An?"EOF":String.fromCharCode(t))+'"'}function Fs(t){return'Unknown entity "'+t+'" - use the "&#;" or "&#x;" syntax'}var Ls=function(t){this.error=t},Vs=function(){function t(t,e,n){this._getTagDefinition=e,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||Oo,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map(function(t){return t.codePointAt(0)||0});var r=n.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new Ws(t,r):new qs(t,r);try{this._cursor.init()}catch(i){this.handleError(i)}}return t.prototype._processCarriageReturns=function(t){return t.replace(Ms,"\n")},t.prototype.tokenize=function(){for(;this._cursor.peek()!==An;){var t=this._cursor.clone();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(t):this._attemptCharCode(Bn)?this._consumeComment(t):this._consumeDocType(t):this._attemptCharCode(zn)?this._consumeTagClose(t):this._consumeTagOpen(t):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(Ts.EOF),this._endToken([]),new Rs(function(t){for(var e=[],n=void 0,r=0;r")}),this._beginToken(Ts.CDATA_END),this._requireStr("]]>"),this._endToken([])},t.prototype._consumeDocType=function(t){this._beginToken(Ts.DOC_TYPE,t);var e=this._cursor.clone();this._attemptUntilChar(Gn);var n=this._cursor.getChars(e);this._cursor.advance(),this._endToken([n])},t.prototype._consumePrefixAndName=function(){for(var t,e,n=this._cursor.clone(),r="";58!==this._cursor.peek()&&!(((t=this._cursor.peek())Yn));)this._cursor.advance();return 58===this._cursor.peek()?(r=this._cursor.getChars(n),this._cursor.advance(),e=this._cursor.clone()):e=n,this._requireCharCodeUntilFn(zs,""===r?0:1),[r,this._cursor.getChars(e)]},t.prototype._consumeTagOpen=function(t){var e,n,i,o=this.tokens.length,a=this._cursor.clone();try{if(!pr(this._cursor.peek()))throw this._createError(Ns(this._cursor.peek()),this._cursor.getSpan(t));for(n=(i=this._consumeTagOpenStart(t)).parts[0],e=i.parts[1],this._attemptCharCodeUntilFn(Bs);this._cursor.peek()!==zn&&this._cursor.peek()!==Gn;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(Bs),this._attemptCharCode(Un)&&(this._attemptCharCodeUntilFn(Bs),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(Bs);this._consumeTagOpenEnd()}catch(l){if(l instanceof Ls)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(Ts.TEXT,t),void this._endToken(["<"]);throw l}var s=this._getTagDefinition(e).contentType;s===r.RAW_TEXT?this._consumeRawTextWithTagClose(n,e,!1):s===r.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,e,!0)},t.prototype._consumeRawTextWithTagClose=function(t,e,n){var r=this;this._consumeRawText(n,function(){return!!r._attemptCharCode(60)&&(!!r._attemptCharCode(zn)&&(r._attemptCharCodeUntilFn(Bs),!!r._attemptStrCaseInsensitive(e)&&(r._attemptCharCodeUntilFn(Bs),r._attemptCharCode(Gn))))});this._beginToken(Ts.TAG_CLOSE),this._requireCharCodeUntilFn(function(t){return t===Gn},3),this._cursor.advance(),this._endToken([t,e])},t.prototype._consumeTagOpenStart=function(t){this._beginToken(Ts.TAG_OPEN_START,t);var e=this._consumePrefixAndName();return this._endToken(e)},t.prototype._consumeAttributeName=function(){var t=this._cursor.peek();if(t===Ln||t===Nn)throw this._createError(Ns(t),this._cursor.getSpan());this._beginToken(Ts.ATTR_NAME);var e=this._consumePrefixAndName();this._endToken(e)},t.prototype._consumeAttributeValue=function(){var t;if(this._cursor.peek()===Ln||this._cursor.peek()===Nn){this._beginToken(Ts.ATTR_QUOTE);var e=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(e)]),this._beginToken(Ts.ATTR_VALUE);for(var n=[];this._cursor.peek()!==e;)n.push(this._readChar(!0));t=n.join(""),this._endToken([this._processCarriageReturns(t)]),this._beginToken(Ts.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(e)])}else{this._beginToken(Ts.ATTR_VALUE);var r=this._cursor.clone();this._requireCharCodeUntilFn(zs,1),t=this._cursor.getChars(r),this._endToken([this._processCarriageReturns(t)])}},t.prototype._consumeTagOpenEnd=function(){var t=this._attemptCharCode(zn)?Ts.TAG_OPEN_END_VOID:Ts.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(Gn),this._endToken([])},t.prototype._consumeTagClose=function(t){this._beginToken(Ts.TAG_CLOSE,t),this._attemptCharCodeUntilFn(Bs);var e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Bs),this._requireCharCode(Gn),this._endToken(e)},t.prototype._consumeExpansionFormStart=function(){this._beginToken(Ts.EXPANSION_FORM_START),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(Ts.EXPANSION_FORM_START),this._beginToken(Ts.RAW_TEXT);var t=this._readUntil(44);this._endToken([t]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.RAW_TEXT);var e=this._readUntil(44);this._endToken([e]),this._requireCharCode(44),this._attemptCharCodeUntilFn(Bs)},t.prototype._consumeExpansionCaseStart=function(){this._beginToken(Ts.EXPANSION_CASE_VALUE);var t=this._readUntil(123).trim();this._endToken([t]),this._attemptCharCodeUntilFn(Bs),this._beginToken(Ts.EXPANSION_CASE_EXP_START),this._requireCharCode(123),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.push(Ts.EXPANSION_CASE_EXP_START)},t.prototype._consumeExpansionCaseEnd=function(){this._beginToken(Ts.EXPANSION_CASE_EXP_END),this._requireCharCode(125),this._endToken([]),this._attemptCharCodeUntilFn(Bs),this._expansionCaseStack.pop()},t.prototype._consumeExpansionFormEnd=function(){this._beginToken(Ts.EXPANSION_FORM_END),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()},t.prototype._consumeText=function(){var t=this._cursor.clone();this._beginToken(Ts.TEXT,t);var e=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])},t.prototype._isTextEnd=function(){if(60===this._cursor.peek()||this._cursor.peek()===An)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(125===this._cursor.peek()&&this._isInExpansionCase())return!0}return!1},t.prototype._readUntil=function(t){var e=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(e)},t.prototype._isInExpansionCase=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_CASE_EXP_START},t.prototype._isInExpansionForm=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===Ts.EXPANSION_FORM_START},t.prototype.isExpansionFormStart=function(){if(123!==this._cursor.peek())return!1;if(this._interpolationConfig){var t=this._cursor.clone(),e=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!e}return!0},t}();function Bs(t){return!cr(t)||t===An}function zs(t){return cr(t)||t===Gn||t===zn||t===Ln||t===Nn||t===Un}function Hs(t){return t==Hn||t==An||!function(t){return t>=Jn&&t<=er||t>=Kn&&t<=Xn||ur(t)}(t)}function Us(t){return t==Hn||t==An||!pr(t)}function Gs(t){return t>=Jn&&t<=ar?t-Jn+Kn:t}var qs=function(){function t(e,n){if(e instanceof t)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object(o.a)({},e.state);else{if(!n)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=n.endPos,this.state={peek:-1,offset:n.startPos,line:n.startLine,column:n.startCol}}}return t.prototype.clone=function(){return new t(this)},t.prototype.peek=function(){return this.state.peek},t.prototype.charsLeft=function(){return this.end-this.state.offset},t.prototype.diff=function(t){return this.state.offset-t.state.offset},t.prototype.advance=function(){this.advanceState(this.state)},t.prototype.init=function(){this.updatePeek(this.state)},t.prototype.getSpan=function(t,e){if(t=t||this,e)for(t=t.clone();this.diff(t)>0&&-1!==e.indexOf(t.peek());)t.advance();return new yr(new mr(t.file,t.state.offset,t.state.line,t.state.column),new mr(this.file,this.state.offset,this.state.line,this.state.column))},t.prototype.getChars=function(t){return this.input.substring(t.state.offset,this.state.offset)},t.prototype.charAt=function(t){return this.input.charCodeAt(t)},t.prototype.advanceState=function(t){if(t.offset>=this.end)throw this.state=t,new Ys('Unexpected character "EOF"',this);var e=this.charAt(t.offset);e===Tn?(t.line++,t.column=0):dr(e)||t.column++,t.offset++,this.updatePeek(t)},t.prototype.updatePeek=function(t){t.peek=t.offset>=this.end?An:this.charAt(t.offset)},t}(),Ws=function(t){function e(n,r){var i=this;return n instanceof e?(i=t.call(this,n)||this).internalState=Object(o.a)({},n.internalState):(i=t.call(this,n,r)||this).internalState=i.state,i}return Object(o.c)(e,t),e.prototype.advance=function(){this.state=this.internalState,t.prototype.advance.call(this),this.processEscapeSequence()},e.prototype.init=function(){t.prototype.init.call(this),this.processEscapeSequence()},e.prototype.clone=function(){return new e(this)},e.prototype.getChars=function(t){for(var e=t.clone(),n="";e.internalState.offset0)return this._errors=this._errors.concat(o.errors),null;var a=new yr(e.sourceSpan.start,i.sourceSpan.end),s=new yr(n.sourceSpan.start,i.sourceSpan.end);return new Ss(e.parts[0],o.rootNodes,a,e.sourceSpan,s)},t.prototype._collectExpansionExpTokens=function(t){for(var e=[],n=[Ts.EXPANSION_CASE_EXP_START];;){if(this._peek.type!==Ts.EXPANSION_FORM_START&&this._peek.type!==Ts.EXPANSION_CASE_EXP_START||n.push(this._peek.type),this._peek.type===Ts.EXPANSION_CASE_EXP_END){if(!$s(n,Ts.EXPANSION_CASE_EXP_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0==n.length)return e}if(this._peek.type===Ts.EXPANSION_FORM_END){if(!$s(n,Ts.EXPANSION_FORM_START))return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===Ts.EOF)return this._errors.push(Ks.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}},t.prototype._consumeText=function(t){var e=t.parts[0];if(e.length>0&&"\n"==e[0]){var n=this._getParentElement();null!=n&&0==n.children.length&&this.getTagDefinition(n.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new Os(e,t.sourceSpan))},t.prototype._closeVoidElement=function(){var t=this._getParentElement();t&&this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()},t.prototype._consumeStartTag=function(t){for(var e=t.parts[0],n=t.parts[1],r=[];this._peek.type===Ts.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var i=this._getElementFullName(e,n,this._getParentElement()),o=!1;if(this._peek.type===Ts.TAG_OPEN_END_VOID){this._advance(),o=!0;var a=this.getTagDefinition(i);a.canSelfClose||null!==u(i)||a.isVoid||this._errors.push(Ks.create(i,t.sourceSpan,'Only void and foreign elements can be self closed "'+t.parts[1]+'"'))}else this._peek.type===Ts.TAG_OPEN_END&&(this._advance(),o=!1);var s=this._peek.sourceSpan.start,l=new yr(t.sourceSpan.start,s),c=new js(i,r,[],l,l,void 0);this._pushElement(c),o&&(this._popElement(i),c.endSourceSpan=l)},t.prototype._pushElement=function(t){var e=this._getParentElement();e&&this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop(),this._addToParent(t),this._elementStack.push(t)},t.prototype._consumeEndTag=function(t){var e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid)this._errors.push(Ks.create(e,t.sourceSpan,'Void elements do not have end tags "'+t.parts[1]+'"'));else if(!this._popElement(e)){var n='Unexpected closing tag "'+e+'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags';this._errors.push(Ks.create(e,t.sourceSpan,n))}},t.prototype._popElement=function(t){for(var e=this._elementStack.length-1;e>=0;e--){var n=this._elementStack[e];if(n.name==t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1},t.prototype._consumeAttr=function(t){var e=p(t.parts[0],t.parts[1]),n=t.sourceSpan.end,r="",i=void 0;if(this._peek.type===Ts.ATTR_QUOTE&&this._advance(),this._peek.type===Ts.ATTR_VALUE){var o=this._advance();r=o.parts[0],n=o.sourceSpan.end,i=o.sourceSpan}this._peek.type===Ts.ATTR_QUOTE&&(n=this._advance().sourceSpan.end);return new ks(e,r,new yr(t.sourceSpan.start,n),i)},t.prototype._getParentElement=function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null},t.prototype._getParentElementSkippingContainers=function(){for(var t=null,e=this._elementStack.length-1;e>=0;e--){if(!s(this._elementStack[e].name))return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:null,container:t}},t.prototype._addToParent=function(t){var e=this._getParentElement();null!=e?e.children.push(t):this._rootNodes.push(t)},t.prototype._insertBeforeContainer=function(t,e,n){if(e){if(t){var r=t.children.indexOf(e);t.children[r]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)},t.prototype._getElementFullName=function(t,e,n){return""===t&&""===(t=this.getTagDefinition(e).implicitNamespacePrefix||"")&&null!=n&&(t=u(n.name)),p(t,e)},t}();function $s(t,e){return t.length>0&&t[t.length-1]===e}var Js=function(t){function e(){return t.call(this,y)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),tl="ngPreserveWhitespaces",el=new Set(["pre","template","textarea","script","style"]),nl=" \f\n\r\t\v ᠎ - \u2028\u2029   \ufeff",rl=new RegExp("[^"+nl+"]"),il=new RegExp("["+nl+"]{2,}","g");function ol(t){return t.replace(new RegExp(h,"g")," ")}var al=function(){function t(){}return t.prototype.visitElement=function(t,e){return el.has(t.name)||t.attrs.some(function(t){return t.name===tl})?new js(t.name,Ds(this,t.attrs),t.children,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n):new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)},t.prototype.visitAttribute=function(t,e){return t.name!==tl?t:null},t.prototype.visitText=function(t,e){return t.value.match(rl)?new Os(ol(t.value).replace(il," "),t.sourceSpan,t.i18n):null},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();function sl(t){return new Qs(Ds(new al,t.rootNodes),t.errors)}var ll=["zero","one","two","few","many","other"];function cl(t){var e=new hl;return new pl(Ds(e,t),e.isExpanded,e.errors)}var ul,pl=function(t,e,n){this.nodes=t,this.expanded=e,this.errors=n},dl=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),hl=function(){function t(){this.isExpanded=!1,this.errors=[]}return t.prototype.visitElement=function(t,e){return new js(t.name,t.attrs,Ds(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitText=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansion=function(t,e){return this.isExpanded=!0,"plural"==t.type?(n=t,r=this.errors,i=n.cases.map(function(t){-1!=ll.indexOf(t.value)||t.value.match(/^=\d+$/)||r.push(new dl(t.valueSourceSpan,'Plural cases should be "=" or one of '+ll.join(", ")));var e=cl(t.expression);return r.push.apply(r,Object(o.g)(e.errors)),new js("ng-template",[new ks("ngPluralCase",""+t.value,t.valueSourceSpan)],e.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),a=new ks("[ngPlural]",n.switchValue,n.switchValueSourceSpan),new js("ng-container",[a],i,n.sourceSpan,n.sourceSpan,n.sourceSpan)):function(t,e){var n=t.cases.map(function(t){var n=cl(t.expression);return e.push.apply(e,Object(o.g)(n.errors)),"other"===t.value?new js("ng-template",[new ks("ngSwitchDefault","",t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan):new js("ng-template",[new ks("ngSwitchCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ks("[ngSwitch]",t.switchValue,t.switchValueSourceSpan);return new js("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}(t,this.errors);var n,r,i,a},t.prototype.visitExpansionCase=function(t,e){throw new Error("Should not be reached")},t}();var fl,ml=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),gl=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitBoundText(this,e)},t}(),yl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitAttr(this,e)},t}(),vl=((ul={})[4]=4,ul[1]=1,ul[2]=2,ul[0]=0,ul[3]=3,ul),bl=function(){function t(t,e,n,r,i,o){this.name=t,this.type=e,this.securityContext=n,this.value=r,this.unit=i,this.sourceSpan=o,this.isAnimation=4===this.type}return t.fromBoundProperty=function(e){var n=vl[e.type];return new t(e.name,n,e.securityContext,e.value,e.unit,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitElementProperty(this,e)},t}(),_l=function(){function t(e,n,r,i,o,a){this.name=e,this.target=n,this.phase=r,this.handler=i,this.sourceSpan=o,this.handlerSpan=a,this.fullName=t.calcFullName(this.name,this.target,this.phase),this.isAnimation=!!this.phase}return t.calcFullName=function(t,e,n){return e?e+":"+t:n?"@"+t+"."+n:t},t.fromParsedEvent=function(e){var n=0===e.type?e.targetOrPhase:null,r=1===e.type?e.targetOrPhase:null;return new t(e.name,n,r,e.handler,e.sourceSpan,e.handlerSpan)},t.prototype.visit=function(t,e){return t.visitEvent(this,e)},t}(),wl=function(){function t(t,e,n,r){this.name=t,this.value=e,this.originalValue=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitReference(this,e)},t}(),xl=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.fromParsedVariable=function(e){return new t(e.name,e.value,e.sourceSpan)},t.prototype.visit=function(t,e){return t.visitVariable(this,e)},t}(),Cl=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d){this.name=t,this.attrs=e,this.inputs=n,this.outputs=r,this.references=i,this.directives=o,this.providers=a,this.hasViewContainer=s,this.queryMatches=l,this.children=c,this.ngContentIndex=u,this.sourceSpan=p,this.endSourceSpan=d}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Ol=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.attrs=t,this.outputs=e,this.references=n,this.variables=r,this.directives=i,this.providers=o,this.hasViewContainer=a,this.queryMatches=s,this.children=l,this.ngContentIndex=c,this.sourceSpan=u}return t.prototype.visit=function(t,e){return t.visitEmbeddedTemplate(this,e)},t}(),El=function(){function t(t,e,n,r){this.directiveName=t,this.templateName=e,this.value=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitDirectiveProperty(this,e)},t}(),Sl=function(){function t(t,e,n,r,i,o){this.directive=t,this.inputs=e,this.hostProperties=n,this.hostEvents=r,this.contentQueryStartId=i,this.sourceSpan=o}return t.prototype.visit=function(t,e){return t.visitDirective(this,e)},t}(),kl=function(){function t(t,e,n,r,i,o,a,s){this.token=t,this.multiProvider=e,this.eager=n,this.providers=r,this.providerType=i,this.lifecycleHooks=o,this.sourceSpan=a,this.isModule=s}return t.prototype.visit=function(t,e){return null},t}();!function(t){t[t.PublicService=0]="PublicService",t[t.PrivateService=1]="PrivateService",t[t.Component=2]="Component",t[t.Directive=3]="Directive",t[t.Builtin=4]="Builtin"}(fl||(fl={}));var jl=function(){function t(t,e,n){this.index=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitNgContent(this,e)},t}();!function(t){function e(){return t.call(this)||this}Object(o.c)(e,t),e.prototype.visitEmbeddedTemplate=function(t,e){return this.visitChildren(e,function(e){e(t.attrs),e(t.references),e(t.variables),e(t.directives),e(t.providers),e(t.children)})},e.prototype.visitElement=function(t,e){return this.visitChildren(e,function(e){e(t.attrs),e(t.inputs),e(t.outputs),e(t.references),e(t.directives),e(t.providers),e(t.children)})},e.prototype.visitDirective=function(t,e){return this.visitChildren(e,function(e){e(t.inputs),e(t.hostProperties),e(t.hostEvents)})},e.prototype.visitChildren=function(t,e){var n=[],r=this;return e(function(e){e&&e.length&&n.push(Al(r,e,t))}),Array.prototype.concat.apply([],n)}}(function(){function t(){}return t.prototype.visitNgContent=function(t,e){},t.prototype.visitEmbeddedTemplate=function(t,e){},t.prototype.visitElement=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t.prototype.visitBoundText=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t}());function Al(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}var Dl=function(t){function e(e,n){return t.call(this,n,e)||this}return Object(o.c)(e,t),e}(br),Tl=function(t,e){var n=this;this.reflector=t,this.component=e,this.errors=[],this.viewQueries=function(t){var e=1,n=new Map;return t.viewQueries&&t.viewQueries.forEach(function(t){return Fl(n,{meta:t,queryId:e++})}),n}(e),this.viewProviders=new Map,e.viewProviders.forEach(function(t){null==n.viewProviders.get(mn(t.token))&&n.viewProviders.set(mn(t.token),!0)})},Pl=function(){function t(t,e,n,r,i,o,a,s,l){var c=this;this.viewContext=t,this._parent=e,this._isViewRoot=n,this._directiveAsts=r,this._sourceSpan=l,this._transformedProviders=new Map,this._seenProviders=new Map,this._queriedTokens=new Map,this.transformedHasViewContainer=!1,this._attrs={},i.forEach(function(t){return c._attrs[t.name]=t.value});var u,p,d,h,f=r.map(function(t){return t.directive});if(this._allProviders=(u=f,p=l,d=t.errors,h=new Map,u.forEach(function(t){Nl([{token:{identifier:t.type},useClass:t.type}],t.isComponent?fl.Component:fl.Directive,!0,p,d,h,!1)}),u.filter(function(t){return t.isComponent}).concat(u.filter(function(t){return!t.isComponent})).forEach(function(t){Nl(t.providers,fl.PublicService,!1,p,d,h,!1),Nl(t.viewProviders,fl.PrivateService,!1,p,d,h,!1)}),h),this._contentQueries=function(t,e){var n=t,r=new Map;return e.forEach(function(t,e){t.queries&&t.queries.forEach(function(t){return Fl(r,{meta:t,queryId:n++})})}),r}(s,f),Array.from(this._allProviders.values()).forEach(function(t){c._addQueryReadsTo(t.token,t.token,c._queriedTokens)}),a){var m=en(this.viewContext.reflector,Je.TemplateRef);this._addQueryReadsTo(m,m,this._queriedTokens)}o.forEach(function(t){var e=t.value||en(c.viewContext.reflector,Je.ElementRef);c._addQueryReadsTo({value:t.name},e,c._queriedTokens)}),this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef))&&(this.transformedHasViewContainer=!0),Array.from(this._allProviders.values()).forEach(function(t){(t.eager||c._queriedTokens.get(mn(t.token)))&&c._getOrCreateLocalProvider(t.providerType,t.token,!0)})}return t.prototype.afterElement=function(){var t=this;Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.providerType,e.token,!1)})},Object.defineProperty(t.prototype,"transformProviders",{get:function(){var t=[],e=[];return this._transformedProviders.forEach(function(n){n.eager?e.push(n):t.push(n)}),t.concat(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedDirectiveAsts",{get:function(){var t=this.transformProviders.map(function(t){return t.token.identifier}),e=this._directiveAsts.slice();return e.sort(function(e,n){return t.indexOf(e.directive.type)-t.indexOf(n.directive.type)}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queryMatches",{get:function(){var t=[];return this._queriedTokens.forEach(function(e){t.push.apply(t,Object(o.g)(e))}),t},enumerable:!0,configurable:!0}),t.prototype._addQueryReadsTo=function(t,e,n){this._getQueriesFor(t).forEach(function(t){var r=t.meta.read||e,i=mn(r),o=n.get(i);o||(o=[],n.set(i,o)),o.push({queryId:t.queryId,value:r})})},t.prototype._getQueriesFor=function(t){for(var e,n=[],r=this,i=0;null!==r;)(e=r._contentQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e.filter(function(t){return t.meta.descendants||i<=1}))),r._directiveAsts.length>0&&i++,r=r._parent;return(e=this.viewContext.viewQueries.get(mn(t)))&&n.push.apply(n,Object(o.g)(e)),n},t.prototype._getOrCreateLocalProvider=function(t,e,n){var r=this,i=this._allProviders.get(mn(e));if(!i||(t===fl.Directive||t===fl.PublicService)&&i.providerType===fl.PrivateService||(t===fl.PrivateService||t===fl.PublicService)&&i.providerType===fl.Builtin)return null;var o=this._transformedProviders.get(mn(e));if(o)return o;if(null!=this._seenProviders.get(mn(e)))return this.viewContext.errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(e),this._sourceSpan)),null;this._seenProviders.set(mn(e),!0);var a=i.providers.map(function(t){var e=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=r._getDependency(i.providerType,{token:t.useExisting},n);null!=s.token?o=s.token:(o=null,e=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map(function(t){return r._getDependency(i.providerType,t,n)})}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map(function(t){return r._getDependency(i.providerType,t,n)})}return Rl(t,{useExisting:o,useValue:e,deps:a})});return o=Ml(i,{eager:n,providers:a}),this._transformedProviders.set(mn(e),o),o},t.prototype._getLocalDependency=function(t,e,n){if(void 0===n&&(n=!1),e.isAttribute){var r=this._attrs[e.token.value];return{isValue:!0,value:null==r?null:r}}if(null!=e.token){if(t===fl.Directive||t===fl.Component){if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Renderer)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ElementRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ChangeDetectorRef)||mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.TemplateRef))return e;mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.ViewContainerRef)&&(this.transformedHasViewContainer=!0)}if(mn(e.token)===this.viewContext.reflector.resolveExternalReference(Je.Injector))return e;if(null!=this._getOrCreateLocalProvider(t,e.token,n))return e}return null},t.prototype._getDependency=function(t,e,n){void 0===n&&(n=!1);var r=this,i=n,o=null;if(e.isSkipSelf||(o=this._getLocalDependency(t,e,n)),e.isSelf)!o&&e.isOptional&&(o={isValue:!0,value:null});else{for(;!o&&r._parent;){var a=r;r=r._parent,a._isViewRoot&&(i=!1),o=r._getLocalDependency(fl.PublicService,e,i)}o||(o=!e.isHost||this.viewContext.component.isHost||this.viewContext.component.type.reference===mn(e.token)||null!=this.viewContext.viewProviders.get(mn(e.token))?e:e.isOptional?{isValue:!0,value:null}:null)}return o||this.viewContext.errors.push(new Dl("No provider for "+fn(e.token),this._sourceSpan)),o},t}(),Il=function(){function t(t,e,n,r){var i=this;this.reflector=t,this._transformedProviders=new Map,this._seenProviders=new Map,this._errors=[],this._allProviders=new Map,e.transitiveModule.modules.forEach(function(t){Nl([{token:{identifier:t},useClass:t}],fl.PublicService,!0,r,i._errors,i._allProviders,!0)}),Nl(e.transitiveModule.providers.map(function(t){return t.provider}).concat(n),fl.PublicService,!1,r,this._errors,this._allProviders,!1)}return t.prototype.parse=function(){var t=this;if(Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.token,e.eager)}),this._errors.length>0){var e=this._errors.join("\n");throw new Error("Provider parse errors:\n"+e)}var n=[],r=[];return this._transformedProviders.forEach(function(t){t.eager?r.push(t):n.push(t)}),n.concat(r)},t.prototype._getOrCreateLocalProvider=function(t,e){var n=this,r=this._allProviders.get(mn(t));if(!r)return null;var i=this._transformedProviders.get(mn(t));if(i)return i;if(null!=this._seenProviders.get(mn(t)))return this._errors.push(new Dl("Cannot instantiate cyclic dependency! "+fn(t),r.sourceSpan)),null;this._seenProviders.set(mn(t),!0);var o=r.providers.map(function(t){var i=t.useValue,o=t.useExisting,a=void 0;if(null!=t.useExisting){var s=n._getDependency({token:t.useExisting},e,r.sourceSpan);null!=s.token?o=s.token:(o=null,i=s.value)}else if(t.useFactory){a=(t.deps||t.useFactory.diDeps).map(function(t){return n._getDependency(t,e,r.sourceSpan)})}else if(t.useClass){a=(t.deps||t.useClass.diDeps).map(function(t){return n._getDependency(t,e,r.sourceSpan)})}return Rl(t,{useExisting:o,useValue:i,deps:a})});return i=Ml(r,{eager:e,providers:o}),this._transformedProviders.set(mn(t),i),i},t.prototype._getDependency=function(t,e,n){void 0===e&&(e=!1);return t.isSkipSelf||null==t.token||(mn(t.token)===this.reflector.resolveExternalReference(Je.Injector)||mn(t.token)===this.reflector.resolveExternalReference(Je.ComponentFactoryResolver)?!0:null!=this._getOrCreateLocalProvider(t.token,e)&&!0),t},t}();function Rl(t,e){var n=e.useExisting,r=e.useValue,i=e.deps;return{token:t.token,useClass:t.useClass,useExisting:n,useFactory:t.useFactory,useValue:r,deps:i,multi:t.multi}}function Ml(t,e){var n=e.eager,r=e.providers;return new kl(t.token,t.multiProvider,t.eager||n,r,t.providerType,t.lifecycleHooks,t.sourceSpan,t.isModule)}function Nl(t,e,n,r,i,o,a){t.forEach(function(t){var s=o.get(mn(t.token));if(null!=s&&!!s.multiProvider!=!!t.multi&&i.push(new Dl("Mixing multi and non multi provider is not possible for token "+fn(s.token),r)),s)t.multi||(s.providers.length=0),s.providers.push(t);else{var l=t.token.identifier&&t.token.identifier.lifecycleHooks?t.token.identifier.lifecycleHooks:[],c=!(t.useClass||t.useExisting||t.useFactory);s=new kl(t.token,!!t.multi,n||c,[t],e,l,r,a),o.set(mn(t.token),s)}})}function Fl(t,e){e.meta.selectors.forEach(function(n){var r=t.get(mn(n));r||(r=[],t.set(mn(n),r)),r.push(e)})}var Ll=function(t,e){this.style=t,this.styleUrls=e};function Vl(t){if(null==t||0===t.length||"/"==t[0])return!1;var e=t.match(Hl);return null===e||"package"==e[1]||"asset"==e[1]}var Bl=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,zl=/\/\*(?!#\s*(?:sourceURL|sourceMappingURL)=)[\s\S]+?\*\//g,Hl=/^([^:\/?#]+):/,Ul=function(){function t(t,e,n,r,i){if(this._exprParser=t,this._interpolationConfig=e,this._schemaRegistry=n,this.errors=i,this.pipesByName=null,this._usedPipes=new Map,r){var o=new Map;r.forEach(function(t){return o.set(t.name,t)}),this.pipesByName=o}}return Object.defineProperty(t.prototype,"interpolationConfig",{get:function(){return this._interpolationConfig},enumerable:!0,configurable:!0}),t.prototype.getUsedPipes=function(){return Array.from(this._usedPipes.values())},t.prototype.createBoundHostProperties=function(t,e){var n=this;if(t.hostProperties){var r=[];return Object.keys(t.hostProperties).forEach(function(i){var o=t.hostProperties[i];"string"==typeof o?n.parsePropertyBinding(i,o,!0,e,e.start.offset,void 0,[],r):n._reportError('Value of the host property binding "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}return null},t.prototype.createDirectiveHostPropertyAsts=function(t,e,n){var r=this,i=this.createBoundHostProperties(t,n);return i&&i.map(function(t){return r.createBoundElementProperty(e,t)})},t.prototype.createDirectiveHostEventAsts=function(t,e){var n=this;if(t.hostListeners){var r=[];return Object.keys(t.hostListeners).forEach(function(i){var o=t.hostListeners[i];"string"==typeof o?n.parseEvent(i,o,e,e,[],r):n._reportError('Value of the host listener "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}return null},t.prototype.parseInterpolation=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseInterpolation(t,n,e.start.offset,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),this._checkPipes(r,e),r}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,e.start.offset)}},t.prototype.parseInlineTemplateBinding=function(t,e,n,r,i,o,a){for(var s=this._parseTemplateBindings(t,e,n),l=0;l1)if("attr"==s[0]){a=s[1],n||this._validatePropertyOrAttributeName(a,e.sourceSpan,!0),l=Wl(this._schemaRegistry,t,a,!0);var c=a.indexOf(":");if(c>-1){var u=a.substring(0,c),d=a.substring(c+1);a=p(u,d)}o=1}else"class"==s[0]?(a=s[1],o=2,l=[I.NONE]):"style"==s[0]&&(i=s.length>2?s[2]:null,a=s[1],o=3,l=[I.STYLE]);if(null===a){var h=this._schemaRegistry.getMappedPropName(e.name);a=r?h:e.name,l=Wl(this._schemaRegistry,t,h,!1),o=0,n||this._validatePropertyOrAttributeName(h,e.sourceSpan,!1)}return new ka(a,o,l[0],e.expression,i,e.sourceSpan,e.valueSpan)},t.prototype.parseEvent=function(t,e,n,r,i,o){ql(t)?(t=t.substr(1),this._parseAnimationEvent(t,e,n,r,o)):this._parseRegularEvent(t,e,n,r,i,o)},t.prototype.calcPossibleSecurityContexts=function(t,e,n){var r=this._schemaRegistry.getMappedPropName(e);return Wl(this._schemaRegistry,t,r,n)},t.prototype._parseAnimationEvent=function(t,e,n,r,i){var o=Oe(t,".",[t,""]),a=o[0],s=o[1].toLowerCase();if(s)switch(s){case"start":case"done":var l=this._parseAction(e,r);i.push(new Ea(a,s,1,l,n,r));break;default:this._reportError('The provided animation output phase value "'+s+'" for "@'+a+'" is not supported (use start or done)',n)}else this._reportError("The animation trigger output event (@"+a+") is missing its phase value name (start or done are currently supported)",n)},t.prototype._parseRegularEvent=function(t,e,n,r,i,a){var s=Object(o.f)(Ce(t,[null,t]),2),l=s[0],c=s[1],u=this._parseAction(e,r);i.push([t,u.source]),a.push(new Ea(c,l,0,u,n,r))},t.prototype._parseAction=function(t,e){var n=(e&&e.start||"(unknown").toString(),r=e&&e.start?e.start.offset:0;try{var i=this._exprParser.parseAction(t,n,r,this._interpolationConfig);return i&&this._reportExpressionParserErrors(i.errors,e),!i||i.ast instanceof Zo?(this._reportError("Empty expressions are not allowed",e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)):(this._checkPipes(i,e),i)}catch(o){return this._reportError(""+o,e),this._exprParser.wrapLiteralPrimitive("ERROR",n,r)}},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t.prototype._reportExpressionParserErrors=function(t,e){var n,r;try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value;this._reportError(s.message,e)}}catch(l){n={error:l}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},t.prototype._checkPipes=function(t,e){var n=this;if(t&&this.pipesByName){var r=new Gl;t.visit(r),r.pipes.forEach(function(t,r){var i=n.pipesByName.get(r);i?n._usedPipes.set(r,i):n._reportError("The pipe '"+r+"' could not be found",new yr(e.start.moveBy(t.span.start),e.start.moveBy(t.span.end)))})}},t.prototype._validatePropertyOrAttributeName=function(t,e,n){var r=n?this._schemaRegistry.validateAttribute(t):this._schemaRegistry.validateProperty(t);r.error&&this._reportError(r.msg,e,fr.ERROR)},t}(),Gl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.pipes=new Map,e}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){return this.pipes.set(t.name,t),t.exp.visit(this),this.visitAll(t.args,e),null},e}(_a);function ql(t){return"@"==t[0]}function Wl(t,e,n,r){var i=[];return w.parse(e).forEach(function(e){var a=e.element?[e.element]:t.allKnownElementNames(),s=new Set(e.notSelectors.filter(function(t){return t.isElementSelector()}).map(function(t){return t.element})),l=a.filter(function(t){return!s.has(t)});i.push.apply(i,Object(o.g)(l.map(function(e){return t.securityContext(e,n,r)})))}),0===i.length?[I.NONE]:Array.from(new Set(i)).sort()}var Yl,Kl="select",Ql="link",Xl="rel",Zl="href",$l="stylesheet",Jl="style",tc="script",ec="ngNonBindable",nc="ngProjectAs";function rc(t){var e=null,n=null,r=null,i=!1,o="";t.attrs.forEach(function(t){var a=t.name.toLowerCase();a==Kl?e=t.value:a==Zl?n=t.value:a==Xl?r=t.value:t.name==ec?i=!0:t.name==nc&&t.value.length>0&&(o=t.value)}),e=function(t){if(null===t||0===t.length)return"*";return t}(e);var a=t.name.toLowerCase(),s=Yl.OTHER;return l(a)?s=Yl.NG_CONTENT:a==Jl?s=Yl.STYLE:a==tc?s=Yl.SCRIPT:a==Ql&&r==$l&&(s=Yl.STYLESHEET),new ic(s,e,n,i,o)}!function(t){t[t.NG_CONTENT=0]="NG_CONTENT",t[t.STYLE=1]="STYLE",t[t.STYLESHEET=2]="STYLESHEET",t[t.SCRIPT=3]="SCRIPT",t[t.OTHER=4]="OTHER"}(Yl||(Yl={}));var ic=function(t,e,n,r,i){this.type=t,this.selectAttr=e,this.hrefAttr=n,this.nonBindable=r,this.projectAs=i};var oc,ac=/^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/,sc="class";function lc(){return oc||(oc=w.parse("*")[0]),oc}var cc=function(t){function e(e,n,r){return t.call(this,n,e,r)||this}return Object(o.c)(e,t),e}(br),uc=function(t,e,n){this.templateAst=t,this.usedPipes=e,this.errors=n},pc=function(){function t(t,e,n,r,i,o,a){this._config=t,this._reflector=e,this._exprParser=n,this._schemaRegistry=r,this._htmlParser=i,this._console=o,this.transforms=a}return Object.defineProperty(t.prototype,"expressionParser",{get:function(){return this._exprParser},enumerable:!0,configurable:!0}),t.prototype.parse=function(t,e,n,r,i,o,a){var s=this.tryParse(t,e,n,r,i,o,a),l=s.errors.filter(function(t){return t.level===fr.WARNING}),c=s.errors.filter(function(t){return t.level===fr.ERROR});if(l.length>0&&this._console.warn("Template parse warnings:\n"+l.join("\n")),c.length>0)throw Ie("Template parse errors:\n"+c.join("\n"),c);return{template:s.templateAst,pipes:s.usedPipes}},t.prototype.tryParse=function(t,e,n,r,i,o,a){var s="string"==typeof e?this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:this.getInterpolationConfig(t)}):e;return a||(s=sl(s)),this.tryParseHtml(this.expandHtml(s),t,n,r,i)},t.prototype.tryParseHtml=function(t,e,n,r,i){var a,s=t.errors,l=[];if(t.rootNodes.length>0){var c=_c(n),u=_c(r),p=new Tl(this._reflector,e),d=void 0;e.template&&e.template.interpolation&&(d={start:e.template.interpolation[0],end:e.template.interpolation[1]});var h=new Ul(this._exprParser,d,this._schemaRegistry,u,s),f=new dc(this._reflector,this._config,p,c,h,this._schemaRegistry,i,s);a=Ds(f,t.rootNodes,yc),s.push.apply(s,Object(o.g)(p.errors)),l.push.apply(l,Object(o.g)(h.getUsedPipes()))}else a=[];return this._assertNoReferenceDuplicationOnTemplate(a,s),s.length>0?new uc(a,l,s):(this.transforms&&this.transforms.forEach(function(t){a=Al(t,a)}),new uc(a,l,s))},t.prototype.expandHtml=function(t,e){void 0===e&&(e=!1);var n=t.errors;if(0==n.length||e){var r=cl(t.rootNodes);n.push.apply(n,Object(o.g)(r.errors)),t=new Qs(r.nodes,n)}return t},t.prototype.getInterpolationConfig=function(t){if(t.template)return Co.fromArray(t.template.interpolation)},t.prototype._assertNoReferenceDuplicationOnTemplate=function(t,e){var n=[];t.filter(function(t){return!!t.references}).forEach(function(t){return t.references.forEach(function(t){var r=t.name;if(n.indexOf(r)<0)n.push(r);else{var i=new cc('Reference "#'+r+'" is defined several times',t.sourceSpan,fr.ERROR);e.push(i)}})})},t}(),dc=function(){function t(t,e,n,r,i,o,a,s){var l=this;this.reflector=t,this.config=e,this.providerViewContext=n,this._bindingParser=i,this._schemaRegistry=o,this._schemas=a,this._targetErrors=s,this.selectorMatcher=new x,this.directivesIndex=new Map,this.ngContentCount=0,this.contentQueryStartId=n.component.viewQueries.length+1,r.forEach(function(t,e){var n=w.parse(t.selector);l.selectorMatcher.addSelectables(n,t),l.directivesIndex.set(t,e)})}return t.prototype.visitExpansion=function(t,e){return null},t.prototype.visitExpansionCase=function(t,e){return null},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc()),r=ol(t.value),i=this._bindingParser.parseInterpolation(r,t.sourceSpan);return i?new gl(i,n,t.sourceSpan):new ml(r,n,t.sourceSpan)},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitElement=function(t,e){var n=this,r=this.contentQueryStartId,i=t.name,a=rc(t);if(a.type===Yl.SCRIPT||a.type===Yl.STYLE)return null;if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return null;var s=[],l=[],u=[],p=[],d=[],h=[],f=[],m=[],g=!1,y=[],v=c(t.name);t.attrs.forEach(function(t){var e,r,i=n._parseAttr(v,t,s,l,d,u,p);p.push.apply(p,Object(o.g)([].map(function(t){return xl.fromParsedVariable(t)})));var a=n._normalizeAttributeName(t.name);a.startsWith("*")&&(e=t.value,r=a.substring("*".length));var c=null!=e;if(c){g&&n._reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",t.sourceSpan),g=!0;var b=[];n._bindingParser.parseInlineTemplateBinding(r,e,t.sourceSpan,t.sourceSpan.start.offset,f,h,b),m.push.apply(m,Object(o.g)(b.map(function(t){return xl.fromParsedVariable(t)})))}i||c||(y.push(n.visitAttribute(t,null)),s.push([t.name,t.value]))});var b=gc(i,s),_=this._parseDirectives(this.selectorMatcher,b),x=_.directives,C=_.matchElement,O=[],E=new Set,S=this._createDirectiveAsts(v,t.name,x,l,u,t.sourceSpan,O,E),k=this._createElementPropertyAsts(t.name,l,E),j=e.isTemplateElement||g,A=new Pl(this.providerViewContext,e.providerContext,j,S,y,O,v,r,t.sourceSpan),D=Ds(a.nonBindable?vc:this,t.children,mc.create(v,S,v?e.providerContext:A));A.afterElement();var T,P=""!=a.projectAs?w.parse(a.projectAs)[0]:b,I=e.findNgContentIndex(P);if(a.type===Yl.NG_CONTENT)t.children&&!t.children.every(bc)&&this._reportError(" element cannot have content.",t.sourceSpan),T=new jl(this.ngContentCount++,g?null:I,t.sourceSpan);else if(v)this._assertAllEventsPublishedByDirectives(S,d),this._assertNoComponentsNorElementBindingsOnTemplate(S,k,t.sourceSpan),T=new Ol(y,d,O,p,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:I,t.sourceSpan);else{this._assertElementExists(C,t),this._assertOnlyOneComponent(S,t.sourceSpan);var R=g?null:e.findNgContentIndex(P);T=new Cl(i,y,k,d,O,A.transformedDirectiveAsts,A.transformProviders,A.transformedHasViewContainer,A.queryMatches,D,g?null:R,t.sourceSpan,t.endSourceSpan||null)}if(g){var M=this.contentQueryStartId,N=gc("ng-template",f),F=this._parseDirectives(this.selectorMatcher,N).directives,L=new Set,V=this._createDirectiveAsts(!0,i,F,h,[],t.sourceSpan,[],L),B=this._createElementPropertyAsts(i,h,L);this._assertNoComponentsNorElementBindingsOnTemplate(V,B,t.sourceSpan);var z=new Pl(this.providerViewContext,e.providerContext,e.isTemplateElement,V,[],[],!0,M,t.sourceSpan);z.afterElement(),T=new Ol([],[],[],m,z.transformedDirectiveAsts,z.transformProviders,z.transformedHasViewContainer,z.queryMatches,[T],I,t.sourceSpan)}return T},t.prototype._parseAttr=function(t,e,n,r,i,a,s){var l=this._normalizeAttributeName(e.name),c=e.value,u=e.sourceSpan,p=e.valueSpan?e.valueSpan.start.offset:u.start.offset,d=[],h=l.match(ac),f=!1;if(null!==h)if(f=!0,null!=h[1])this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r);else if(h[2])if(t){var m=h[7];this._parseVariable(m,c,u,s)}else this._reportError('"let-" is only supported on ng-template elements.',u);else if(h[3]){m=h[7];this._parseReference(m,c,u,a)}else h[4]?this._bindingParser.parseEvent(h[7],c,u,e.valueSpan||u,n,d):h[5]?(this._bindingParser.parsePropertyBinding(h[7],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[7],c,u,e.valueSpan||u,n,d)):h[6]?this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r):h[8]?(this._bindingParser.parsePropertyBinding(h[8],c,!1,u,p,e.valueSpan,n,r),this._parseAssignmentEvent(h[8],c,u,e.valueSpan||u,n,d)):h[9]?this._bindingParser.parsePropertyBinding(h[9],c,!1,u,p,e.valueSpan,n,r):h[10]&&this._bindingParser.parseEvent(h[10],c,u,e.valueSpan||u,n,d);else f=this._bindingParser.parsePropertyInterpolation(l,c,u,e.valueSpan,n,r);return f||this._bindingParser.parseLiteralAttr(l,c,u,p,e.valueSpan,n,r),i.push.apply(i,Object(o.g)(d.map(function(t){return _l.fromParsedEvent(t)}))),f},t.prototype._normalizeAttributeName=function(t){return/^data-/i.test(t)?t.substring(5):t},t.prototype._parseVariable=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new xl(t,e,n))},t.prototype._parseReference=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in reference names',n),r.push(new fc(t,e,n))},t.prototype._parseAssignmentEvent=function(t,e,n,r,i,o){this._bindingParser.parseEvent(t+"Change",e+"=$event",n,r,i,o)},t.prototype._parseDirectives=function(t,e){var n=this,r=new Array(this.directivesIndex.size),i=!1;return t.match(e,function(t,e){r[n.directivesIndex.get(e)]=e,i=i||t.hasElementSelector()}),{directives:r.filter(function(t){return!!t}),matchElement:i}},t.prototype._createDirectiveAsts=function(t,e,n,r,i,o,a,s){var l=this,c=new Set,u=null,p=n.map(function(t){var n=new yr(o.start,o.end,"Directive "+cn(t.type));t.isComponent&&(u=t);var p=[],d=l._bindingParser.createDirectiveHostPropertyAsts(t,e,n).map(function(t){return bl.fromBoundProperty(t)});d=l._checkPropertiesInSchema(e,d);var h=l._bindingParser.createDirectiveHostEventAsts(t,n);l._createDirectivePropertyAsts(t.inputs,r,p,s),i.forEach(function(e){(0===e.value.length&&t.isComponent||e.isReferenceToDirective(t))&&(a.push(new wl(e.name,tn(t.type.reference),e.value,e.sourceSpan)),c.add(e.name))});var f=h.map(function(t){return _l.fromParsedEvent(t)}),m=l.contentQueryStartId;return l.contentQueryStartId+=t.queries.length,new Sl(t,p,d,f,m,n)});return i.forEach(function(e){if(e.value.length>0)c.has(e.name)||l._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan);else if(!u){var n=null;t&&(n=en(l.reflector,Je.TemplateRef)),a.push(new wl(e.name,n,e.value,e.sourceSpan))}}),p},t.prototype._createDirectivePropertyAsts=function(t,e,n,r){if(t){var i=new Map;e.forEach(function(t){var e=i.get(t.name);e&&!e.isLiteral||i.set(t.name,t)}),Object.keys(t).forEach(function(e){var o=t[e],a=i.get(o);a&&(r.add(a.name),wc(a.expression)||n.push(new El(e,a.name,a.expression,a.sourceSpan)))})}},t.prototype._createElementPropertyAsts=function(t,e,n){var r=this,i=[];return e.forEach(function(e){if(!e.isLiteral&&!n.has(e.name)){var o=r._bindingParser.createBoundElementProperty(t,e);i.push(bl.fromBoundProperty(o))}}),this._checkPropertiesInSchema(t,i)},t.prototype._findComponentDirectives=function(t){return t.filter(function(t){return t.directive.isComponent})},t.prototype._findComponentDirectiveNames=function(t){return this._findComponentDirectives(t).map(function(t){return cn(t.directive.type)})},t.prototype._assertOnlyOneComponent=function(t,e){var n=this._findComponentDirectiveNames(t);n.length>1&&this._reportError("More than one component matched on this element.\nMake sure that only one component's selector can match a given element.\nConflicting components: "+n.join(","),e)},t.prototype._assertElementExists=function(t,e){var n=e.name.replace(/^:xhtml:/,"");if(!t&&!this._schemaRegistry.hasElement(n,this._schemas)){var r="'"+n+"' is not a known element:\n";r+="1. If '"+n+"' is an Angular component, then verify that it is part of this module.\n",n.indexOf("-")>-1?r+="2. If '"+n+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.":r+="2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.",this._reportError(r,e.sourceSpan)}},t.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(t,e,n){var r=this,i=this._findComponentDirectiveNames(t);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),e.forEach(function(t){r._reportError("Property binding "+t.name+' not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations".',n)})},t.prototype._assertAllEventsPublishedByDirectives=function(t,e){var n=this,r=new Set;t.forEach(function(t){Object.keys(t.directive.outputs).forEach(function(e){var n=t.directive.outputs[e];r.add(n)})}),e.forEach(function(t){null==t.target&&r.has(t.name)||n._reportError("Event binding "+t.fullName+' not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the "@NgModule.declarations".',t.sourceSpan)})},t.prototype._checkPropertiesInSchema=function(t,e){var n=this;return e.filter(function(e){if(0===e.type&&!n._schemaRegistry.hasProperty(t,e.name,n._schemas)){var r="Can't bind to '"+e.name+"' since it isn't a known property of '"+t+"'.";t.startsWith("ng-")?r+="\n1. If '"+e.name+"' is an Angular directive, then add 'CommonModule' to the '@NgModule.imports' of this component.\n2. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.":t.indexOf("-")>-1&&(r+="\n1. If '"+t+"' is an Angular component and it has '"+e.name+"' input, then verify that it is part of this module.\n2. If '"+t+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.\n3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component."),n._reportError(r,e.sourceSpan)}return!wc(e.value)})},t.prototype._reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this._targetErrors.push(new br(e,t,n))},t}(),hc=function(){function t(){}return t.prototype.visitElement=function(t,e){var n=rc(t);if(n.type===Yl.SCRIPT||n.type===Yl.STYLE||n.type===Yl.STYLESHEET)return null;var r=t.attrs.map(function(t){return[t.name,t.value]}),i=gc(t.name,r),o=e.findNgContentIndex(i),a=Ds(this,t.children,yc);return new Cl(t.name,Ds(this,t.attrs),[],[],[],[],[],!1,[],a,o,t.sourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitAttribute=function(t,e){return new yl(t.name,t.value,t.sourceSpan)},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(lc());return new ml(t.value,n,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}(),fc=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.isReferenceToDirective=function(t){return-1!==(e=t.exportAs,e?e.split(",").map(function(t){return t.trim()}):[]).indexOf(this.value);var e},t}();var mc=function(){function t(t,e,n,r){this.isTemplateElement=t,this._ngContentIndexMatcher=e,this._wildcardNgContentIndex=n,this.providerContext=r}return t.create=function(e,n,r){var i=new x,o=null,a=n.find(function(t){return t.directive.isComponent});if(a)for(var s=a.directive.template.ngContentSelectors,l=0;l0?e[0]:null},t}();function gc(t,e){var n=new w,r=a(t)[1];n.setElement(r);for(var i=0;i0,0===i?i=39:39===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 34:l=l||o>0,0===i?i=34:34===i&&92!==t.charCodeAt(n-1)&&(i=0);break;case 58:s||0!==r||0!==i||(s=Cc(t.substring(a,n-1).trim()),o=n);break;case 59:if(s&&o>0&&0===r&&0===i){var c=t.substring(o,n-1).trim();e.push(s,l?xc(c):c),a=n,o=0,s=null,l=!1}}}if(s&&o){c=t.substr(o).trim();e.push(s,l?xc(c):c)}return e}(t),this._hasInitialValues=!0},t.prototype.registerClassAttr=function(t){this._initialClassValues=t.trim().split(/\s+/g),this._hasInitialValues=!0},t.prototype.populateInitialStylingAttrs=function(t){if(this._initialClassValues.length){t.push(_e(1));for(var e=0;e0?t.substring(0,n):"",e=!0);var r="",i=t,o=t.lastIndexOf(".");return o>0&&(r=t.substr(o+1),i=t.substring(0,o)),{property:i,unit:r,hasOverrideFlag:e}}function Ac(t){switch(so(t)){case 1:return jn.styleProp;case 3:return jn.stylePropInterpolate1;case 5:return jn.stylePropInterpolate2;case 7:return jn.stylePropInterpolate3;case 9:return jn.stylePropInterpolate4;case 11:return jn.stylePropInterpolate5;case 13:return jn.stylePropInterpolate6;case 15:return jn.stylePropInterpolate7;case 17:return jn.stylePropInterpolate8;default:return jn.stylePropInterpolateV}}!function(t){t[t.Character=0]="Character",t[t.Identifier=1]="Identifier",t[t.Keyword=2]="Keyword",t[t.String=3]="String",t[t.Operator=4]="Operator",t[t.Number=5]="Number",t[t.Error=6]="Error"}(Oc||(Oc={}));var Dc=["var","let","as","null","undefined","true","false","if","else","this"],Tc=function(){function t(){}return t.prototype.tokenize=function(t){for(var e=new Nc(t),n=[],r=e.scanToken();null!=r;)n.push(r),r=e.scanToken();return n},t}(),Pc=function(){function t(t,e,n,r){this.index=t,this.type=e,this.numValue=n,this.strValue=r}return t.prototype.isCharacter=function(t){return this.type==Oc.Character&&this.numValue==t},t.prototype.isNumber=function(){return this.type==Oc.Number},t.prototype.isString=function(){return this.type==Oc.String},t.prototype.isOperator=function(t){return this.type==Oc.Operator&&this.strValue==t},t.prototype.isIdentifier=function(){return this.type==Oc.Identifier},t.prototype.isKeyword=function(){return this.type==Oc.Keyword},t.prototype.isKeywordLet=function(){return this.type==Oc.Keyword&&"let"==this.strValue},t.prototype.isKeywordAs=function(){return this.type==Oc.Keyword&&"as"==this.strValue},t.prototype.isKeywordNull=function(){return this.type==Oc.Keyword&&"null"==this.strValue},t.prototype.isKeywordUndefined=function(){return this.type==Oc.Keyword&&"undefined"==this.strValue},t.prototype.isKeywordTrue=function(){return this.type==Oc.Keyword&&"true"==this.strValue},t.prototype.isKeywordFalse=function(){return this.type==Oc.Keyword&&"false"==this.strValue},t.prototype.isKeywordThis=function(){return this.type==Oc.Keyword&&"this"==this.strValue},t.prototype.isError=function(){return this.type==Oc.Error},t.prototype.toNumber=function(){return this.type==Oc.Number?this.numValue:-1},t.prototype.toString=function(){switch(this.type){case Oc.Character:case Oc.Identifier:case Oc.Keyword:case Oc.Operator:case Oc.String:case Oc.Error:return this.strValue;case Oc.Number:return this.numValue.toString();default:return null}},t}();function Ic(t,e){return new Pc(t,Oc.Character,e,String.fromCharCode(e))}function Rc(t,e){return new Pc(t,Oc.Operator,0,e)}var Mc=new Pc(-1,Oc.Character,0,""),Nc=function(){function t(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}return t.prototype.advance=function(){this.peek=++this.index>=this.length?An:this.input.charCodeAt(this.index)},t.prototype.scanToken=function(){for(var t=this.input,e=this.length,n=this.peek,r=this.index;n<=Mn;){if(++r>=e){n=An;break}n=t.charCodeAt(r)}if(this.peek=n,this.index=r,r>=e)return null;if(Fc(n))return this.scanIdentifier();if(ur(n))return this.scanNumber(r);var i=r;switch(n){case 46:return this.advance(),ur(this.peek)?this.scanNumber(i):Ic(i,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case Hn:return this.scanCharacter(i,n);case Ln:case Nn:return this.scanString();case 35:case Vn:case Bn:case 42:case zn:case 37:case 94:return this.scanOperator(i,String.fromCharCode(n));case 63:return this.scanComplexOperator(i,"?",46,".");case 60:case Gn:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=");case 33:case Un:return this.scanComplexOperator(i,String.fromCharCode(n),Un,"=",Un,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case sr:for(;cr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character ["+String.fromCharCode(n)+"]",0)},t.prototype.scanCharacter=function(t,e){return this.advance(),Ic(t,e)},t.prototype.scanOperator=function(t,e){return this.advance(),Rc(t,e)},t.prototype.scanComplexOperator=function(t,e,n,r,i,o){this.advance();var a=e;return this.peek==n&&(this.advance(),a+=r),null!=i&&this.peek==i&&(this.advance(),a+=o),Rc(t,a)},t.prototype.scanIdentifier=function(){var t=this.index;for(this.advance();Lc(this.peek);)this.advance();var e,n=this.input.substring(t,this.index);return Dc.indexOf(n)>-1?(e=n,new Pc(t,Oc.Keyword,0,e)):function(t,e){return new Pc(t,Oc.Identifier,0,e)}(t,n)},t.prototype.scanNumber=function(t){var e,n=this.index===t;for(this.advance();;){if(ur(this.peek));else if(46==this.peek)n=!1;else{if((e=this.peek)!=tr&&e!=Qn)break;if(this.advance(),Vc(this.peek)&&this.advance(),!ur(this.peek))return this.error("Invalid exponent",-1);n=!1}this.advance()}var r,i=this.input.substring(t,this.index),o=n?function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(i):parseFloat(i);return r=o,new Pc(t,Oc.Number,r,"")},t.prototype.scanString=function(){var t=this.index,e=this.peek;this.advance();for(var n="",r=this.index,i=this.input;this.peek!=e;)if(92==this.peek){n+=i.substring(r,this.index),this.advance();var o=void 0;if(this.peek=this.peek,117==this.peek){var a=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(a))return this.error("Invalid unicode escape [\\u"+a+"]",0);o=parseInt(a,16);for(var s=0;s<5;s++)this.advance()}else o=Bc(this.peek),this.advance();n+=String.fromCharCode(o),r=this.index}else{if(this.peek==An)return this.error("Unterminated quote",0);this.advance()}var l,c=i.substring(r,this.index);return this.advance(),l=n+c,new Pc(t,Oc.String,0,l)},t.prototype.error=function(t,e){var n=this.index+e;return function(t,e){return new Pc(t,Oc.Error,0,e)}(n,"Lexer Error: "+t+" at column "+n+" in expression ["+this.input+"]")},t}();function Fc(t){return Jn<=t&&t<=ar||Kn<=t&&t<=Zn||t==$n||t==Fn}function Lc(t){return pr(t)||ur(t)||t==$n||t==Fn}function Vc(t){return t==Bn||t==Vn}function Bc(t){switch(t){case nr:return Tn;case er:return In;case rr:return Rn;case ir:return Dn;case or:return Pn;default:return t}}var zc=function(t,e,n){this.strings=t,this.expressions=e,this.offsets=n},Hc=function(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n};function Uc(t){var e=Ne(t.start)+"([\\s\\S]*?)"+Ne(t.end);return new RegExp(e,"g")}var Gc,qc=function(){function t(t){this._lexer=t,this.errors=[]}return t.prototype.parseAction=function(t,e,n,r){void 0===r&&(r=Oo),this._checkNoInterpolation(t,e,r);var i=this._stripComments(t),o=this._lexer.tokenize(this._stripComments(t)),a=new Wc(t,e,n,o,i.length,!0,this.errors,t.length-i.length).parseChain();return new va(a,t,e,n,this.errors)},t.prototype.parseBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r);return new va(i,t,e,n,this.errors)},t.prototype.parseSimpleBinding=function(t,e,n,r){void 0===r&&(r=Oo);var i=this._parseBindingAst(t,e,n,r),o=Yc.check(i);return o.length>0&&this._reportError("Host binding expression cannot contain "+o.join(" "),t,e),new va(i,t,e,n,this.errors)},t.prototype._reportError=function(t,e,n,r){this.errors.push(new Yo(t,e,n,r))},t.prototype._parseBindingAst=function(t,e,n,r){var i=this._parseQuote(t,e);if(null!=i)return i;this._checkNoInterpolation(t,e,r);var o=this._stripComments(t),a=this._lexer.tokenize(o);return new Wc(t,e,n,a,o.length,!1,this.errors,t.length-o.length).parseChain()},t.prototype._parseQuote=function(t,e){if(null==t)return null;var n=t.indexOf(":");if(-1==n)return null;var r=t.substring(0,n).trim();if(!function(t){if(0==t.length)return!1;var e=new Nc(t);if(!Fc(e.peek))return!1;for(e.advance();e.peek!==An;){if(!Lc(e.peek))return!1;e.advance()}return!0}(r))return null;var i=t.substring(n+1);return new Xo(new Ko(0,t.length),r,i,e)},t.prototype.parseTemplateBindings=function(t,e,n,r){var i=this._lexer.tokenize(e);return new Wc(e,n,r,i,e.length,!1,this.errors,0).parseTemplateBindings(t)},t.prototype.parseInterpolation=function(t,e,n,r){void 0===r&&(r=Oo);var i=this.splitInterpolation(t,e,r);if(null==i)return null;for(var o=[],a=0;a0?(l+=n.start.length,a.push(u),s.push(l),l+=u.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column "+this._findInterpolationErrorColumn(i,c,n)+" in",e),a.push("$implict"),s.push(l))}return new zc(o,a,s)},t.prototype.wrapLiteralPrimitive=function(t,e,n){return new va(new sa(new Ko(0,null==t?0:t.length),t),t,e,n,this.errors)},t.prototype._stripComments=function(t){var e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t},t.prototype._commentStart=function(t){for(var e,n=null,r=0;r1&&this._reportError("Got interpolation ("+n.start+n.end+") where expression was expected",t,"at column "+this._findInterpolationErrorColumn(i,1,n)+" in",e)},t.prototype._findInterpolationErrorColumn=function(t,e,n){for(var r="",i=0;i":case"<=":case">=":this.advance();var n=this.parseAdditive();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseAdditive=function(){for(var t=this.parseMultiplicative();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"+":case"-":this.advance();var n=this.parseMultiplicative();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseMultiplicative=function(){for(var t=this.parsePrefix();this.next.type==Oc.Operator;){var e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();var n=this.parsePrefix();t=new pa(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parsePrefix=function(){if(this.next.type==Oc.Operator){var t=this.inputIndex,e=this.next.strValue,n=void 0;switch(e){case"+":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),"-",n,new sa(new Ko(t,t),0));case"-":return this.advance(),n=this.parsePrefix(),new pa(this.span(t),e,new sa(new Ko(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new da(this.span(t),n)}}return this.parseCallChain()},t.prototype.parseCallChain=function(){for(var t=this.parsePrimary();;)if(this.optionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(91)){this.rbracketsExpected++;var e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){var n=this.parseConditional();t=new oa(this.span(t.span.start),t,e,n)}else t=new ia(this.span(t.span.start),t,e)}else if(this.optionalCharacter(40)){this.rparensExpected++;var r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new ga(this.span(t.span.start),t,r)}else{if(!this.optionalOperator("!"))return t;t=new ha(this.span(t.span.start),t)}},t.prototype.parsePrimary=function(){var t=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;var e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),e}if(this.next.isKeywordNull())return this.advance(),new sa(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new sa(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new sa(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new sa(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new $o(this.span(t));if(this.optionalCharacter(91)){this.rbracketsExpected++;var n=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new la(this.span(t),n)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new $o(this.span(t)),!1);if(this.next.isNumber()){var r=this.next.toNumber();return this.advance(),new sa(this.span(t),r)}if(this.next.isString()){var i=this.next.toString();return this.advance(),new sa(this.span(t),i)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: "+this.input),new Zo(this.span(t))):(this.error("Unexpected token "+this.next),new Zo(this.span(t)))},t.prototype.parseExpressionList=function(t){var e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.optionalCharacter(44));return e},t.prototype.parseLiteralMap=function(){var t=[],e=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{var r=this.next.isString(),i=this.expectIdentifierOrKeywordOrString();t.push({key:i,quoted:r}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new ca(this.span(n),t,e)},t.prototype.parseAccessMemberOrMethodCall=function(t,e){void 0===e&&(e=!1);var n=t.span.start,r=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;var i=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;var o=this.span(n);return e?new ma(o,t,r,i):new fa(o,t,r,i)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Zo(this.span(n))):new ra(this.span(n),t,r);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Zo(this.span(n));var a=this.parseConditional();return new na(this.span(n),t,r,a)}return new ea(this.span(n),t,r)},t.prototype.parseCallArguments=function(){if(this.next.isCharacter(41))return[];var t=[];do{t.push(this.parsePipe())}while(this.optionalCharacter(44));return t},t.prototype.expectTemplateBindingKey=function(){var t="",e=!1;do{t+=this.expectIdentifierOrKeywordOrString(),(e=this.optionalOperator("-"))&&(t+="-")}while(e);return t.toString()},t.prototype.parseTemplateBindings=function(t){var e=!0,n=[];do{var r=this.inputIndex,i=void 0,o=void 0,a=!1;e?(i=o=t,e=!1):((a=this.peekKeywordLet())&&this.advance(),i=this.expectTemplateBindingKey(),o=a?i:t+i[0].toUpperCase()+i.substring(1),this.optionalCharacter(58));var s=null,l=null;if(a)s=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.peekKeywordAs())this.advance(),s=i,o=this.expectTemplateBindingKey(),a=!0;else if(this.next!==Mc&&!this.peekKeywordLet()){var c=this.inputIndex,u=this.parsePipe(),p=this.input.substring(c-this.offset,this.inputIndex-this.offset);l=new va(u,p,this.location,this.absoluteOffset,this.errors)}if(n.push(new ba(this.span(r),o,a,s,l)),this.peekKeywordAs()&&!a){var d=this.inputIndex;this.advance();var h=this.expectTemplateBindingKey();n.push(new ba(this.span(d),h,!0,o,null))}this.optionalCharacter(Hn)||this.optionalCharacter(44)}while(this.index0)switch(t[0]){case"*":break;case"!":n[t.substring(1)]=Zc;break;case"#":n[t.substring(1)]=$c;break;case"%":n[t.substring(1)]=tu;break;default:n[t]=Jc}})}),e}return Object(o.c)(e,t),e.prototype.hasProperty=function(t,e,n){if(n.some(function(t){return t.name===G.name}))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!1;if(n.some(function(t){return t.name===U.name}))return!0}return!!(this._schema[t.toLowerCase()]||this._schema.unknown)[e]},e.prototype.hasElement=function(t,e){if(e.some(function(t){return t.name===G.name}))return!0;if(t.indexOf("-")>-1){if(s(t)||l(t))return!0;if(e.some(function(t){return t.name===U.name}))return!0}return!!this._schema[t.toLowerCase()]},e.prototype.securityContext=function(t,e,n){n&&(e=this.getMappedPropName(e)),t=t.toLowerCase(),e=e.toLowerCase();var r=Kc()[t+"|"+e];return r||((r=Kc()["*|"+e])||I.NONE)},e.prototype.getMappedPropName=function(t){return nu[t]||t},e.prototype.getDefaultComponentElementName=function(){return"ng-component"},e.prototype.validateProperty=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event property '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=...\nIf '"+t+"' is a directive input, make sure the directive is imported by the current module."}:{error:!1}},e.prototype.validateAttribute=function(t){return t.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event attribute '"+t+"' is disallowed for security reasons, please use ("+t.slice(2)+")=..."}:{error:!1}},e.prototype.allKnownElementNames=function(){return Object.keys(this._schema)},e.prototype.normalizeAnimationStyleProperty=function(t){return t.replace(xe,function(){for(var t=[],e=0;e0)throw Ie("Template parse errors:\n"+o.join("\n"),o);return{nodes:r,errors:i,styleUrls:n.styleUrls,styles:n.styles}}var au,su=function(){function t(t){this.bindingParser=t,this.errors=[],this.styles=[],this.styleUrls=[]}return t.prototype.visitElement=function(t){var e,n,r,i=this,a=rc(t);if(a.type===Yl.SCRIPT)return null;if(a.type===Yl.STYLE){var s=1===(r=t).children.length&&r.children[0]instanceof Os?r.children[0].value:null;return null!==s&&this.styles.push(s),null}if(a.type===Yl.STYLESHEET&&Vl(a.hrefAttr))return this.styleUrls.push(a.hrefAttr),null;var l=c(t.name),u=[],p=[],d=[],h=[],f=[],m={},g=[],y=[],v=!1;try{for(var b=Object(o.h)(t.attrs),_=b.next();!_.done;_=b.next()){var w=_.value,x=!1,C=cu(w.name),O=!1;if(w.i18n&&(m[w.name]=w.i18n),C.startsWith("*")){v&&this.reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",w.sourceSpan),O=!0,v=!0;var E=w.value,S=C.substring("*".length),k=[],j=w.valueSpan?w.valueSpan.start.offset:w.sourceSpan.start.offset;this.bindingParser.parseInlineTemplateBinding(S,E,w.sourceSpan,j,[],g,k),y.push.apply(y,Object(o.g)(k.map(function(t){return new jr(t.name,t.value,t.sourceSpan)})))}else x=this.parseAttribute(l,w,[],u,p,d,h);x||O||f.push(this.visitAttribute(w))}}catch(M){e={error:M}}finally{try{_&&!_.done&&(n=b.return)&&n.call(b)}finally{if(e)throw e.error}}var A,D=Ds(a.nonBindable?lu:this,t.children);if(a.type===Yl.NG_CONTENT){t.children&&!t.children.every(function(t){return function(t){return t instanceof Os&&0==t.value.trim().length}(t)||function(t){return t instanceof As}(t)})&&this.reportError(" element cannot have content.",t.sourceSpan);var T=a.selectAttr,P=t.attrs.map(function(t){return i.visitAttribute(t)});A=new kr(T,P,t.sourceSpan,t.i18n)}else if(l){P=this.extractAttributes(t.name,u,m);A=new Sr(t.name,f,P.bound,p,[],D,h,d,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}else{P=this.extractAttributes(t.name,u,m);A=new Er(t.name,f,P.bound,p,D,h,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}if(v){P=this.extractAttributes("ng-template",g,m);var I=[];P.literal.forEach(function(t){return I.push(t)}),P.bound.forEach(function(t){return I.push(t)});var R=A instanceof Er?{attributes:A.attributes,inputs:A.inputs,outputs:A.outputs}:{attributes:[],inputs:[],outputs:[]};A=new Sr(A.name,R.attributes,R.inputs,R.outputs,I,[A],[],y,t.sourceSpan,t.startSourceSpan,t.endSourceSpan,t.i18n)}return A},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,t.valueSpan,t.i18n)},t.prototype.visitText=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan,t.i18n)},t.prototype.visitExpansion=function(t){var e=this,n=t.i18n;if(!n)return null;var r={},i={};return Object.keys(n.placeholders).forEach(function(o){var a=n.placeholders[o];if(o.startsWith("VAR_")){var s=e.bindingParser.interpolationConfig,l=""+s.start+a+s.end;r[o]=e._visitTextWithInterpolation(l,t.sourceSpan)}else i[o]=e._visitTextWithInterpolation(a,t.sourceSpan)}),new Dr(r,i,t.sourceSpan,n)},t.prototype.visitExpansionCase=function(t){return null},t.prototype.visitComment=function(t){return null},t.prototype.extractAttributes=function(t,e,n){var r=this,i=[],o=[];return e.forEach(function(e){var a=n[e.name];if(e.isLiteral)o.push(new xr(e.name,e.expression.source||"",e.sourceSpan,void 0,a));else{var s=r.bindingParser.createBoundElementProperty(t,e,!0,!1);i.push(Cr.fromBoundElementProperty(s,a))}}),{bound:i,literal:o}},t.prototype.parseAttribute=function(t,e,n,r,i,o,a){var s=cu(e.name),l=e.value,c=e.sourceSpan,u=e.valueSpan?e.valueSpan.start.offset:c.start.offset,p=s.match(iu),d=!1;if(p){if(d=!0,null!=p[1])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r);else if(p[2])if(t){var h=p[7];this.parseVariable(h,l,c,e.valueSpan,o)}else this.reportError('"let-" is only supported on ng-template elements.',c);else if(p[3]){h=p[7];this.parseReference(h,l,c,e.valueSpan,a)}else if(p[4]){var f=[];this.bindingParser.parseEvent(p[7],l,c,e.valueSpan||c,n,f),uu(f,i)}else if(p[5])this.bindingParser.parsePropertyBinding(p[7],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[7],l,c,e.valueSpan,n,i);else if(p[6])this.bindingParser.parseLiteralAttr(s,l,c,u,e.valueSpan,n,r);else if(p[8])this.bindingParser.parsePropertyBinding(p[8],l,!1,c,u,e.valueSpan,n,r),this.parseAssignmentEvent(p[8],l,c,e.valueSpan,n,i);else if(p[9])this.bindingParser.parsePropertyBinding(p[9],l,!1,c,u,e.valueSpan,n,r);else if(p[10]){f=[];this.bindingParser.parseEvent(p[10],l,c,e.valueSpan||c,n,f),uu(f,i)}}else d=this.bindingParser.parsePropertyInterpolation(s,l,c,e.valueSpan,n,r);return d},t.prototype._visitTextWithInterpolation=function(t,e,n){var r=ol(t),i=this.bindingParser.parseInterpolation(r,e);return i?new wr(i,e,n):new _r(r,e)},t.prototype.parseVariable=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in variable names',n),i.push(new jr(t,e,n,r))},t.prototype.parseReference=function(t,e,n,r,i){t.indexOf("-")>-1&&this.reportError('"-" is not allowed in reference names',n),i.push(new Ar(t,e,n,r))},t.prototype.parseAssignmentEvent=function(t,e,n,r,i,o){var a=[];this.bindingParser.parseEvent(t+"Change",e+"=$event",n,r||n,i,a),uu(a,o)},t.prototype.reportError=function(t,e,n){void 0===n&&(n=fr.ERROR),this.errors.push(new br(e,t,n))},t}(),lu=new(function(){function t(){}return t.prototype.visitElement=function(t){var e=rc(t);if(e.type===Yl.SCRIPT||e.type===Yl.STYLE||e.type===Yl.STYLESHEET)return null;var n=Ds(this,t.children,null);return new Er(t.name,Ds(this,t.attrs),[],[],n,[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(t){return null},t.prototype.visitAttribute=function(t){return new xr(t.name,t.value,t.sourceSpan,void 0,t.i18n)},t.prototype.visitText=function(t){return new _r(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t){return null},t.prototype.visitExpansionCase=function(t){return null},t}());function cu(t){return/^data-/i.test(t)?t.substring(5):t}function uu(t,e){e.push.apply(e,Object(o.g)(t.map(function(t){return Or.fromParsedEvent(t)})))}!function(t){t[t.ELEMENT=0]="ELEMENT",t[t.TEMPLATE=1]="TEMPLATE",t[t.PROJECTION=2]="PROJECTION"}(au||(au={}));var pu=function(){function t(t,e,n,r,i,o){void 0===n&&(n=0),void 0===r&&(r=null),this.index=t,this.ref=e,this.level=n,this.templateIndex=r,this.meta=i,this.registry=o,this.bindings=new Set,this.placeholders=new Map,this.isEmitted=!1,this._unresolvedCtxCount=0,this._registry=o||{getUniqueId:Vi(),icus:new Map},this.id=this._registry.getUniqueId()}return t.prototype.appendTag=function(t,e,n,r){if(!e.isVoid||!r){var i=e.isVoid||!r?e.startName:e.closeName,o={type:t,index:n,ctx:this.id,isVoid:e.isVoid,closed:r};zi(this.placeholders,i,o)}},Object.defineProperty(t.prototype,"icus",{get:function(){return this._registry.icus},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return 0===this.level},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isResolved",{get:function(){return 0===this._unresolvedCtxCount},enumerable:!0,configurable:!0}),t.prototype.getSerializedPlaceholders=function(){var t=new Map;return this.placeholders.forEach(function(e,n){return t.set(n,e.map(mu))}),t},t.prototype.appendBinding=function(t){this.bindings.add(t)},t.prototype.appendIcu=function(t,e){zi(this._registry.icus,t,e)},t.prototype.appendBoundText=function(t){var e=this;Hi(t,this.bindings.size,this.id).forEach(function(t,n){return zi.apply(void 0,Object(o.g)([e.placeholders,n],t))})},t.prototype.appendTemplate=function(t,e){this.appendTag(au.TEMPLATE,t,e,!1),this.appendTag(au.TEMPLATE,t,e,!0),this._unresolvedCtxCount++},t.prototype.appendElement=function(t,e,n){this.appendTag(au.ELEMENT,t,e,n)},t.prototype.appendProjection=function(t,e){this.appendTag(au.PROJECTION,t,e,!1),this.appendTag(au.PROJECTION,t,e,!0)},t.prototype.forkChildContext=function(e,n,r){return new t(e,this.ref,this.level+1,n,r,this._registry)},t.prototype.reconcileChildContext=function(t){var e=this;["start","close"].forEach(function(n){var r=t.meta[n+"Name"],i=(e.placeholders.get(r)||[]).find(fu(e.id,t.templateIndex));i&&(i.ctx=t.id)}),t.placeholders.forEach(function(n,r){var i=e.placeholders.get(r);if(i){var a=function(t,e){for(var n=0;n=0){var s=r.startsWith("CLOSE");if(r.endsWith("NG-TEMPLATE"))i.splice.apply(i,Object(o.g)([a+(s?0:1),0],n));else n[s?n.length-1:0].tmpl=i[a],i.splice.apply(i,Object(o.g)([a,1],n))}else i.push.apply(i,Object(o.g)(n));e.placeholders.set(r,i)}else e.placeholders.set(r,n)}),this._unresolvedCtxCount--},t}();function du(t,e,n,r){return Li(""+(r?"/":"")+t+e,n)}function hu(t,e,n){var r=e.index,i=e.ctx;return e.isVoid?du(t,r,i)+du(t,r,i,!0):du(t,r,i,n)}function fu(t,e){return function(n){return"object"==typeof n&&n.type===au.TEMPLATE&&n.index===e&&n.ctx===t}}function mu(t){var e,n,r=function(t,e){return hu("#",t,e)},i=function(t,e){return hu("*",t,e)};switch(t.type){case au.ELEMENT:return t.closed?r(t,!0)+(t.tmpl?i(t.tmpl,!0):""):t.tmpl?i(t.tmpl)+r(t)+(t.isVoid?i(t.tmpl,!0):""):r(t);case au.TEMPLATE:return i(t,t.closed);case au.PROJECTION:return e=t,n=t.closed,hu("!",e,n);default:return t}}var gu={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},yu=function(){function t(){this._placeHolderNameCounts={},this._signatureToName={}}return t.prototype.getStartTagPlaceholderName=function(t,e,n){var r=this._hashTag(t,e,n);if(this._signatureToName[r])return this._signatureToName[r];var i=t.toUpperCase(),o=gu[i]||"TAG_"+i,a=this._generateUniqueName(n?o:"START_"+o);return this._signatureToName[r]=a,a},t.prototype.getCloseTagPlaceholderName=function(t){var e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];var n=t.toUpperCase(),r=gu[n]||"TAG_"+n,i=this._generateUniqueName("CLOSE_"+r);return this._signatureToName[e]=i,i},t.prototype.getPlaceholderName=function(t,e){var n=t.toUpperCase(),r="PH: "+n+"="+e;if(this._signatureToName[r])return this._signatureToName[r];var i=this._generateUniqueName(n);return this._signatureToName[r]=i,i},t.prototype.getUniquePlaceholder=function(t){return this._generateUniqueName(t.toUpperCase())},t.prototype._hashTag=function(t,e,n){return"<"+t+Object.keys(e).sort().map(function(t){return" "+t+"="+e[t]}).join("")+(n?"/>":">")},t.prototype._hashClosingTag=function(t){return this._hashTag("/"+t,{},!1)},t.prototype._generateUniqueName=function(t){if(!this._placeHolderNameCounts.hasOwnProperty(t))return this._placeHolderNameCounts[t]=1,t;var e=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=e+1,t+"_"+e},t}(),vu=new qc(new Tc);function bu(t){var e=new _u(vu,t);return function(t,n,r,i,o){return e.toI18nMessage(t,n,r,i,o)}}var _u=function(){function t(t,e){this._expressionParser=t,this._interpolationConfig=e}return t.prototype.toI18nMessage=function(t,e,n,r,i){this._isIcu=1==t.length&&t[0]instanceof Es,this._icuDepth=0,this._placeholderRegistry=new yu,this._placeholderToContent={},this._placeholderToMessage={},this._visitNodeFn=i;var o=Ds(this,t,{});return new Ir(o,this._placeholderToContent,this._placeholderToMessage,e,n,r)},t.prototype._visitNode=function(t,e){return this._visitNodeFn&&this._visitNodeFn(t,e),e},t.prototype.visitElement=function(t,e){var n=Ds(this,t.children),r={};t.attrs.forEach(function(t){r[t.name]=t.value});var i=y(t.name).isVoid,o=this._placeholderRegistry.getStartTagPlaceholderName(t.name,r,i);this._placeholderToContent[o]=t.sourceSpan.toString();var a="";i||(a=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[a]="");var s=new Fr(t.name,r,o,a,n,i,t.sourceSpan);return this._visitNode(t,s)},t.prototype.visitAttribute=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitText=function(t,e){var n=this._visitTextWithInterpolation(t.value,t.sourceSpan);return this._visitNode(t,n)},t.prototype.visitComment=function(t,e){return null},t.prototype.visitExpansion=function(e,n){var r=this;this._icuDepth++;var i={},o=new Nr(e.switchValue,e.type,i,e.sourceSpan);if(e.cases.forEach(function(t){i[t.value]=new Mr(t.expression.map(function(t){return t.visit(r,{})}),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){var a=this._placeholderRegistry.getUniquePlaceholder("VAR_"+e.type);return o.expressionPlaceholder=a,this._placeholderToContent[a]=e.switchValue,this._visitNode(e,o)}var s=this._placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString()),l=new t(this._expressionParser,this._interpolationConfig);this._placeholderToMessage[s]=l.toI18nMessage([e],"","","");var c=new Vr(o,s,e.sourceSpan);return this._visitNode(e,c)},t.prototype.visitExpansionCase=function(t,e){throw new Error("Unreachable code")},t.prototype._visitTextWithInterpolation=function(t,e){var n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new Rr(t,e);for(var r=[],i=new Mr(r,e),o=this._interpolationConfig,a=o.start,s=o.end,l=0;l-1?[t.slice(0,s),t.slice(s+2)]:[t,""],2))[0],r=e[1],i=(n=Object(o.f)(l>-1?[c.slice(0,l),c.slice(l+1)]:["",c],2))[0],a=n[1]}return{id:r,meaning:i,description:a}}(e):Ni(e),i=this._createI18nMessage(t,r.meaning||"",r.description||"",r.id||"",n);return i.id||(i.id="string"!=typeof e&&e.id||Ur(i)),i},t.prototype.visitElement=function(t,e){var n,r,i,a;if(function(t){return t.attrs.some(function(t){return Ii(t.name)})}(t)){var s=[],l={};try{for(var c=Object(o.h)(t.attrs),u=c.next();!u.done;u=c.next()){if((m=u.value).name===Ai){var p=t.i18n||m.value,d=this._generateI18nMessage(t.children,p,xu);d.nodes.length&&(t.i18n=d)}else if(m.name.startsWith(Di)){l[m.name.slice(Di.length)]=m.value}else s.push(m)}}catch(y){n={error:y}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}if(Object.keys(l).length)try{for(var h=Object(o.h)(s),f=h.next();!f.done;f=h.next()){var m,g=l[(m=f.value).name];void 0!==g&&m.value&&(m.i18n=this._generateI18nMessage([m],m.i18n||g))}}catch(v){i={error:v}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}this.keepI18nAttrs||(t.attrs=s)}return Ds(this,t.children),t},t.prototype.visitExpansion=function(t,e){var n,r=t.i18n;if(r instanceof Vr){var i=r.name;Fi(n=this._generateI18nMessage([t],r)).name=i}else n=this._generateI18nMessage([t],r);return t.i18n=n,t},t.prototype.visitText=function(t,e){return t},t.prototype.visitAttribute=function(t,e){return t},t.prototype.visitComment=function(t,e){return t},t.prototype.visitExpansionCase=function(t,e){return t},t}();var Ou=new(function(){function t(){this.icuNestingLevel=0}return t.prototype.formatPh=function(t){var e=this.icuNestingLevel>0,n=Ui(t,!e);return e?"{"+n+"}":"{$"+n+"}"},t.prototype.visitText=function(t,e){return t.value},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map(function(t){return t.visit(n)}).join("")},t.prototype.visitIcu=function(t,e){var n=this;this.icuNestingLevel++;var r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"}),i="{"+t.expressionPlaceholder+", "+t.type+", "+r.join(" ")+"}";return this.icuNestingLevel--,i},t.prototype.visitTagPlaceholder=function(t,e){var n=this;return t.isVoid?this.formatPh(t.startName):""+this.formatPh(t.startName)+t.children.map(function(t){return t.visit(n)}).join("")+this.formatPh(t.closeName)},t.prototype.visitPlaceholder=function(t,e){return this.formatPh(t.name)},t.prototype.visitIcuPlaceholder=function(t,e){return this.formatPh(t.name)},t}());var Eu=new Map([["window",jn.resolveWindow],["document",jn.resolveDocument],["body",jn.resolveBody]]),Su=[" ","\n","\r","\t"];function ku(t,e){return be(de(Ki).bitwiseAnd(_e(t),null,!1),e)}function ju(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=t.type,i=t.name,a=t.target,s=t.phase,l=t.handler;if(a&&!Eu.has(a))throw new Error("Unexpected global target '"+a+"' defined for '"+i+"' event.\n Supported list of global targets: "+Array.from(Eu.keys())+".");var c=null===n||0===n.bindingLevel?de(Yi):n.getOrCreateSharedContextVar(0),u=Da(n,c,l,"b",function(){return Pe("Unexpected interpolation")},t.handlerSpan),p=[];n&&(p.push.apply(p,Object(o.g)(n.restoreViewStatement())),p.push.apply(p,Object(o.g)(n.variableDeclarations()))),p.push.apply(p,Object(o.g)(u.render3Stmts));var d=1===r?function(t,e){return""+yo+t+"."+e}(i,s):i,h=e&&an(e),f=ve([new Rt("$event",st)],p,lt,null,h),m=[_e(d),f];return a&&m.push(_e(!1),he(Eu.get(a))),m}var Au=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){var f=this;void 0===n&&(n=0),this.constantPool=t,this.level=n,this.contextName=r,this.i18nContext=i,this.templateIndex=o,this.templateName=a,this.directiveMatcher=s,this.directives=l,this.pipeTypeByName=c,this.pipes=u,this._namespace=p,this.relativeContextFilePath=d,this.i18nUseExternalIds=h,this._dataIndex=0,this._bindingContext=0,this._prefixCode=[],this._creationCodeFns=[],this._updateCodeFns=[],this._lastNodeIndexWithFlush=-1,this._tempVariables=[],this._nestedTemplateFns=[],this._unsupported=Xi,this.i18n=null,this._pureFunctionSlots=0,this._bindingSlots=0,this._ngContentReservedSlots=[],this._ngContentSelectorsOffset=0,this._implicitReceiverExpr=null,this.visitReference=Zi,this.visitVariable=Zi,this.visitTextAttribute=Zi,this.visitBoundAttribute=Zi,this.visitBoundEvent=Zi,this._bindingScope=e.nestedScope(n),this.fileBasedI18nSuffix=d.replace(/[^A-Za-z0-9]/g,"_")+"_",this._valueConverter=new Du(t,function(){return f.allocateDataSlot()},function(t){return f.allocatePureFunctionSlots(t)},function(t,e,n,r){var i=c.get(t);i&&f.pipes.add(i),f._bindingScope.set(f.level,e,r),f.creationInstruction(null,jn.pipe,[_e(n),_e(t)])})}return t.prototype.registerContextVariables=function(t){var e=this._bindingScope.freshReferenceName(),n=this.level,r=de(t.name+e);this._bindingScope.set(n,t.name,r,1,function(e,i){var o;if(e.bindingLevel===n)o=de(Yi);else{var a=e.getSharedContextName(n);o=a||Ru(i)}return[r.set(o.prop(t.value||"$implicit")).toConstDecl()]})},t.prototype.buildTemplateFunction=function(t,e,n,r){var i=this;void 0===n&&(n=0),this._ngContentSelectorsOffset=n,this._namespace!==jn.namespaceHTML&&this.creationInstruction(null,this._namespace),e.forEach(function(t){return i.registerContextVariables(t)});var a,s=this.i18nContext||Ri(r)&&!Mi(r)&&!(1===(a=t).length&&a[0]instanceof Er&&t[0].i18n===r),l=Hu(t);if(s&&this.i18nStart(null,r,l),Tr(this,t),this._pureFunctionSlots+=this._bindingSlots,this._valueConverter.updatePipeSlotOffsets(this._bindingSlots),this._nestedTemplateFns.forEach(function(t){return t()}),0===this.level&&this._ngContentReservedSlots.length){var c=[];if(this._ngContentReservedSlots.length>1||"*"!==this._ngContentReservedSlots[0]){var u=this._ngContentReservedSlots.map(function(t){return"*"!==t?$(t):t});c.push(this.constantPool.getConstLiteral($i(u),!0))}this.creationInstruction(null,jn.projectionDef,c,!0)}s&&this.i18nEnd(null,l);var p=this._creationCodeFns.map(function(t){return t()}),d=this._updateCodeFns.map(function(t){return t()}),h=this._bindingScope.viewSnapshotStatements(),f=this._bindingScope.variableDeclarations().concat(this._tempVariables),m=p.length>0?[ku(1,h.concat(p))]:[],g=d.length>0?[ku(2,f.concat(d))]:[];return ve([new Rt(Ki,ut),new Rt(Yi,null)],Object(o.g)(this._prefixCode,m,g),lt,null,this.templateName)},t.prototype.getLocal=function(t){return this._bindingScope.get(t)},t.prototype.notifyImplicitReceiverUse=function(){this._bindingScope.notifyImplicitReceiverUse()},t.prototype.i18nTranslate=function(t,e,n,r){var i;void 0===e&&(e={});var a=n||de(this.constantPool.uniqueName("I18N_")),s=this.i18nGenerateClosureVar(t.id),l=this.i18nFormatPlaceholderNames(e,!0),c=Ni(t),u=function(t,e,n,r,i,a){void 0===i&&(i={});var s=[];return s.push.apply(s,Object(o.g)(Pi(t,e,n,r,i))),a&&s.push(new Kt(t.set(a(t)))),s}(a,s,function(t){return t.nodes.map(function(t){return t.visit(Ou,null)}).join("")}(t),c,l,r);return(i=this.constantPool.statements).push.apply(i,Object(o.g)(u)),a},t.prototype.i18nFormatPlaceholderNames=function(t,e){void 0===t&&(t={});var n={};return t&&Object.keys(t).length&&Object.keys(t).forEach(function(r){return n[Ui(r,e)]=t[r]}),n},t.prototype.i18nAppendBindings=function(t){var e=this;t.length>0&&t.forEach(function(t){return e.i18n.appendBinding(t)})},t.prototype.i18nBindProps=function(t){var e=this,n={};return Object.keys(t).forEach(function(r){var i=t[r];if(i instanceof _r)n[r]=_e(i.value);else{var o=i.value.visit(e._valueConverter);if(e.allocateBindingSlots(o),o instanceof ua){var a=o.strings,s=o.expressions,l=e.i18n,c=l.id,u=function(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=0),!t.length)return"";for(var r="",i=t.length-1,o=0;o1})||Object.keys(s).length)&&(c=function(t){var e=[t];return Object.keys(s).length&&e.push(Ci(s,!0)),Iu(null,jn.i18nPostprocess,e)}),this.i18nTranslate(n,l,t.ref,c)}},t.prototype.i18nStart=function(t,e,n){void 0===t&&(t=null);var r=this.allocateDataSlot();if(this.i18nContext)this.i18n=this.i18nContext.forkChildContext(r,this.templateIndex,e);else{var i=de(this.constantPool.uniqueName("I18N_"));this.i18n=new pu(r,i,0,this.templateIndex,e)}var o=this.i18n,a=o.id,s=o.ref,l=[_e(r),s];a>0&&l.push(_e(a)),this.creationInstruction(t,n?jn.i18n:jn.i18nStart,l)},t.prototype.i18nEnd=function(t,e){var n=this;if(void 0===t&&(t=null),!this.i18n)throw new Error("i18nEnd is executed with no i18n context present");this.i18nContext?(this.i18nContext.reconcileChildContext(this.i18n),this.i18nUpdateRef(this.i18nContext)):this.i18nUpdateRef(this.i18n);var r=this.i18n,i=r.index,o=r.bindings;if(o.size){var a=[];o.forEach(function(e){a.push({sourceSpan:t,value:function(){return n.convertPropertyBinding(e)}})}),this.updateInstructionChain(i,jn.i18nExp,a),this.updateInstruction(i,t,jn.i18nApply,[_e(i)])}e||this.creationInstruction(t,jn.i18nEnd),this.i18n=null},t.prototype.visitContent=function(t){var e=this.allocateDataSlot(),n=this._ngContentSelectorsOffset+this._ngContentReservedSlots.length,r=[_e(e)],i=[];this._ngContentReservedSlots.push(t.selector),t.attributes.forEach(function(t){var e=t.name,n=t.value;"ngProjectAs"===e?i.push.apply(i,Object(o.g)(Lu(t))):"select"!==e.toLowerCase()&&i.push(_e(e),_e(n))}),i.length>0?r.push(_e(n),ge(i)):0!==n&&r.push(_e(n)),this.creationInstruction(t.sourceSpan,jn.projection,r),this.i18n&&this.i18n.appendProjection(t.i18n,e)},t.prototype.getNamespaceInstruction=function(t){switch(t){case"math":return jn.namespaceMathML;case"svg":return jn.namespaceSVG;default:return jn.namespaceHTML}},t.prototype.addNamespaceInstruction=function(t,e){this._namespace=t,this.creationInstruction(e.sourceSpan,t)},t.prototype.visitElement=function(t){var e,n,r=this,i=this.allocateDataSlot(),l=new Sc(_e(i),null),c=!1,u=Ri(t.i18n)&&!Mi(t.i18n);if(u&&this.i18n)throw new Error("Could not mark an element as translatable inside of a translatable section");var p=[],d=[],h=Object(o.f)(a(t.name),2),f=h[0],m=h[1],g=s(t.name);try{for(var y=Object(o.h)(t.attributes),v=y.next();!v.done;v=y.next()){var b=v.value,_=b.name,w=b.value;"ngNonBindable"===_?c=!0:"style"===_?l.registerStyleAttr(w):"class"===_?l.registerClassAttr(w):b.i18n?p.push(b):d.push(b)}}catch(U){e={error:U}}finally{try{v&&!v.done&&(n=y.return)&&n.call(y)}finally{if(e)throw e.error}}this.matchDirectives(t.name,t);var x=[_e(i)];g||x.push(_e(m));var C=[],O=[];t.inputs.forEach(function(t){l.registerBoundInput(t)||(0===t.type&&t.i18n?p.push(t):O.push(t))}),d.forEach(function(t){"ngProjectAs"===t.name?C.push.apply(C,Object(o.g)(Lu(t))):C.push.apply(C,Object(o.g)(Nu(t.name),[_e(t.value)]))}),C.push.apply(C,Object(o.g)(this.prepareNonRenderAttrs(O,t.outputs,l,[],p))),x.push(this.toAttrsParam(C)),x.push(this.prepareRefsParameter(t.references));var E=this._namespace,S=this.getNamespaceInstruction(f);S!==E&&this.addNamespaceInstruction(S,t),this.i18n&&this.i18n.appendElement(t.i18n,i);var k=!u&&this.i18n?!Hu(t.children):t.children.length>0,j=!l.hasBindings&&0===t.outputs.length&&0===p.length&&!k,A=!j&&!l.hasBindings&&Hu(t.children);if(j)this.creationInstruction(t.sourceSpan,g?jn.elementContainer:jn.element,to(x));else{if(this.creationInstruction(t.sourceSpan,g?jn.elementContainerStart:jn.elementStart,to(x)),c&&this.creationInstruction(t.sourceSpan,jn.disableBindings),p.length){var D=!1,T=[],P=[];if(p.forEach(function(e){var n=e.i18n;if(e instanceof xr)T.push(_e(e.name),r.i18nTranslate(n));else{var i=e.value.visit(r._valueConverter);if(r.allocateBindingSlots(i),i instanceof ua){var o=Bi(Hi(n));T.push(_e(e.name),r.i18nTranslate(n,o)),i.expressions.forEach(function(e){D=!0,P.push({sourceSpan:t.sourceSpan,value:function(){return r.convertExpressionBinding(e)}})})}}}),P.length&&this.updateInstructionChain(i,jn.i18nExp,P),T.length){var I=_e(this.allocateDataSlot()),R=this.constantPool.getConstLiteral(ge(T),!0);this.creationInstruction(t.sourceSpan,jn.i18nAttributes,[I,R]),D&&this.updateInstruction(i,t.sourceSpan,jn.i18nApply,[I])}}this.processStylingInstruction(i,l.buildStylingInstruction(t.sourceSpan,this.constantPool),!0),t.outputs.forEach(function(e){r.creationInstruction(e.sourceSpan,jn.listener,r.prepareListenerParameter(t.name,e,i))}),u&&this.i18nStart(t.sourceSpan,t.i18n,A)}for(var M=l.buildUpdateLevelInstructions(this._valueConverter),N=M.length-1,F=0;F<=N;F++){var L=M[F];this._bindingSlots+=L.allocateBindingSlots,this.processStylingInstruction(i,L,!1)}var V=_e(void 0),B=[],z=[];if(O.forEach(function(t){var e=t.type;if(4===e){var n=t.value.visit(r._valueConverter),s=!(n instanceof sa)||!!n.value;r.allocateBindingSlots(n),B.push({name:vo(t.name),sourceSpan:t.sourceSpan,value:function(){return s?r.convertPropertyBinding(n):V}})}else{if(t.i18n)return;var l=t.value.visit(r._valueConverter);if(void 0!==l){var c=[],u=Object(o.f)(a(t.name),2),p=u[0],d=u[1],h=1===e,f=Bu(t.securityContext,h);if(f&&c.push(f),p){var m=_e(p);f?c.push(m):c.push(_e(null),m)}if(r.allocateBindingSlots(l),0===e)l instanceof ua?r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 1:return jn.propertyInterpolate;case 3:return jn.propertyInterpolate1;case 5:return jn.propertyInterpolate2;case 7:return jn.propertyInterpolate3;case 9:return jn.propertyInterpolate4;case 11:return jn.propertyInterpolate5;case 13:return jn.propertyInterpolate6;case 15:return jn.propertyInterpolate7;case 17:return jn.propertyInterpolate8;default:return jn.propertyInterpolateV}}(l),i,d,t,l,c):B.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(l)},params:c});else if(1===e)if(l instanceof ua&&so(l)>1)r.interpolatedUpdateInstruction(function(t){switch(so(t)){case 3:return jn.attributeInterpolate1;case 5:return jn.attributeInterpolate2;case 7:return jn.attributeInterpolate3;case 9:return jn.attributeInterpolate4;case 11:return jn.attributeInterpolate5;case 13:return jn.attributeInterpolate6;case 15:return jn.attributeInterpolate7;case 17:return jn.attributeInterpolate8;default:return jn.attributeInterpolateV}}(l),i,d,t,l,c);else{var g=l instanceof ua?l.expressions[0]:l;z.push({name:d,sourceSpan:t.sourceSpan,value:function(){return r.convertPropertyBinding(g)},params:c})}else r.updateInstruction(i,t.sourceSpan,jn.classProp,function(){return Object(o.g)([_e(i),_e(d),r.convertPropertyBinding(l)],c)})}}}),B.length>0&&this.updateInstructionChain(i,jn.property,B),z.length>0&&this.updateInstructionChain(i,jn.attribute,z),Tr(this,t.children),!u&&this.i18n&&this.i18n.appendElement(t.i18n,i,!0),!j){var H=t.endSourceSpan||t.sourceSpan;u&&this.i18nEnd(H,A),c&&this.creationInstruction(H,jn.enableBindings),this.creationInstruction(H,g?jn.elementContainerEnd:jn.elementEnd)}},t.prototype.interpolatedUpdateInstruction=function(t,e,n,r,i,a){var s=this;this.updateInstruction(e,r.sourceSpan,t,function(){return Object(o.g)([_e(n)],s.getUpdateInstructionArguments(i),a)})},t.prototype.visitTemplate=function(e){var n=this,r=this.allocateDataSlot();this.i18n&&this.i18n.appendTemplate(e.i18n,r);var i=an(e.tagName||""),s=this.contextName+(i?"_"+i:"")+"_"+r,l=s+"_Template",c=[_e(r),de(l),_e(e.tagName?a(e.tagName)[1]:e.tagName)];this.matchDirectives("ng-template",e);var u=[];e.attributes.forEach(function(t){u.push($i(t.name),$i(t.value))}),u.push.apply(u,Object(o.g)(this.prepareNonRenderAttrs(e.inputs,e.outputs,void 0,e.templateAttrs))),c.push(this.toAttrsParam(u)),e.references&&e.references.length&&(c.push(this.prepareRefsParameter(e.references)),c.push(he(jn.templateRefExtractor)));var p=new t(this.constantPool,this._bindingScope,this.level+1,s,this.i18n,r,l,this.directiveMatcher,this.directives,this.pipeTypeByName,this.pipes,this._namespace,this.fileBasedI18nSuffix,this.i18nUseExternalIds);this._nestedTemplateFns.push(function(){var t,r=p.buildTemplateFunction(e.children,e.variables,n._ngContentReservedSlots.length+n._ngContentSelectorsOffset,e.i18n);n.constantPool.statements.push(r.toDeclStmt(l,null)),p._ngContentReservedSlots.length&&(t=n._ngContentReservedSlots).push.apply(t,Object(o.g)(p._ngContentReservedSlots))}),this.creationInstruction(e.sourceSpan,jn.templateCreate,function(){return c.splice(2,0,_e(p.getConstCount()),_e(p.getVarCount())),to(c)}),this.templatePropertyBindings(r,e.templateAttrs),"ng-template"===e.tagName&&(this.templatePropertyBindings(r,e.inputs),e.outputs.forEach(function(t){n.creationInstruction(t.sourceSpan,jn.listener,n.prepareListenerParameter("ng_template",t,r))}))},t.prototype.visitBoundText=function(t){var e=this;if(this.i18n){var n=t.value.visit(this._valueConverter);return this.allocateBindingSlots(n),void(n instanceof ua&&(this.i18n.appendBoundText(t.i18n),this.i18nAppendBindings(n.expressions)))}var r=this.allocateDataSlot();this.creationInstruction(t.sourceSpan,jn.text,[_e(r)]);var i=t.value.visit(this._valueConverter);this.allocateBindingSlots(i),i instanceof ua?this.updateInstruction(r,t.sourceSpan,function(t){switch(so(t)){case 1:return jn.textInterpolate;case 3:return jn.textInterpolate1;case 5:return jn.textInterpolate2;case 7:return jn.textInterpolate3;case 9:return jn.textInterpolate4;case 11:return jn.textInterpolate5;case 13:return jn.textInterpolate6;case 15:return jn.textInterpolate7;case 17:return jn.textInterpolate8;default:return jn.textInterpolateV}}(i),function(){return e.getUpdateInstructionArguments(i)}):this.updateInstruction(r,t.sourceSpan,jn.textBinding,function(){return[e.convertPropertyBinding(i)]})},t.prototype.visitText=function(t){this.i18n||this.creationInstruction(t.sourceSpan,jn.text,[_e(this.allocateDataSlot()),_e(t.value)])},t.prototype.visitIcu=function(t){var e=this,n=!1;this.i18n||(n=!0,this.i18nStart(null,t.i18n,!0));var r=this.i18n,i=this.i18nBindProps(t.vars),a=this.i18nBindProps(t.placeholders),s=t.i18n,l=function(t){var n=Object(o.a)({},i,a),r=e.i18nFormatPlaceholderNames(n,!1);return Iu(null,jn.i18nPostprocess,[t,Ci(r,!0)])};if(Mi(r.meta))this.i18nTranslate(s,{},r.ref,l);else{var c=this.i18nTranslate(s,{},void 0,l);r.appendIcu(Fi(s).name,c)}return n&&this.i18nEnd(null,!0),null},t.prototype.allocateDataSlot=function(){return this._dataIndex++},t.prototype.getConstCount=function(){return this._dataIndex},t.prototype.getVarCount=function(){return this._pureFunctionSlots},t.prototype.getNgContentSelectors=function(){return this._ngContentReservedSlots.length?this.constantPool.getConstLiteral($i(this._ngContentReservedSlots),!0):null},t.prototype.bindingContext=function(){return""+this._bindingContext++},t.prototype.templatePropertyBindings=function(t,e){var n=this,r=[];e.forEach(function(t){if(t instanceof Cr){var e=t.value.visit(n._valueConverter);void 0!==e&&(n.allocateBindingSlots(e),r.push({name:t.name,sourceSpan:t.sourceSpan,value:function(){return n.convertPropertyBinding(e)}}))}}),r.length>0&&this.updateInstructionChain(t,jn.property,r)},t.prototype.instructionFn=function(t,e,n,r,i){void 0===i&&(i=!1),t[i?"unshift":"push"](function(){var t=Array.isArray(r)?r:r();return Iu(e,n,t).toStmt()})},t.prototype.processStylingInstruction=function(t,e,n){var r=this;e&&(n?this.creationInstruction(e.sourceSpan,e.reference,function(){return e.params(function(t){return r.convertPropertyBinding(t)})}):this.updateInstruction(t,e.sourceSpan,e.reference,function(){return e.params(function(t){return e.supportsInterpolation&&t instanceof ua?r.getUpdateInstructionArguments(t):r.convertPropertyBinding(t)})}))},t.prototype.creationInstruction=function(t,e,n,r){this.instructionFn(this._creationCodeFns,t,e,n||[],r)},t.prototype.updateInstruction=function(t,e,n,r){this.addSelectInstructionIfNecessary(t,e),this.instructionFn(this._updateCodeFns,e,n,r||[])},t.prototype.updateInstructionChain=function(t,e,n){var r=n.length?n[0].sourceSpan:null;this.addSelectInstructionIfNecessary(t,r),this._updateCodeFns.push(function(){var t=n.map(function(t){var e=Object(o.g)([t.value()],t.params||[]);return t.name&&e.unshift(_e(t.name)),e});return ao(e,t,r).toStmt()})},t.prototype.addSelectInstructionIfNecessary=function(t,e){this._lastNodeIndexWithFlush0&&this.instructionFn(this._updateCodeFns,e,jn.select,[_e(t)]),this._lastNodeIndexWithFlush=t)},t.prototype.allocatePureFunctionSlots=function(t){var e=this._pureFunctionSlots;return this._pureFunctionSlots+=t,e},t.prototype.allocateBindingSlots=function(t){this._bindingSlots+=t instanceof ua?t.expressions.length:1},t.prototype.getImplicitReceiverExpr=function(){return this._implicitReceiverExpr?this._implicitReceiverExpr:this._implicitReceiverExpr=0===this.level?de(Yi):this._bindingScope.getOrCreateSharedContextVar(0)},t.prototype.convertExpressionBinding=function(t){return Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple).currValExpr},t.prototype.convertPropertyBinding=function(t){var e,n=Ma(this,this.getImplicitReceiverExpr(),t,this.bindingContext(),Pa.TrySimple,function(){return Pe("Unexpected interpolation")}),r=n.currValExpr;return(e=this._tempVariables).push.apply(e,Object(o.g)(n.stmts)),r},t.prototype.getUpdateInstructionArguments=function(t){var e,n=function(t,e,n,r){var i=new Ha(t,e,r,void 0),o=n.visit(i,Ia.Expression);i.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var a=Na(i,r),s=o.args.slice(1);if(n instanceof ua){var l=n.strings;3===s.length&&""===l[0]&&""===l[1]?s=[s[1]]:s.length>=19&&(s=[ge(s)])}return{stmts:a,args:s}}(this,this.getImplicitReceiverExpr(),t,this.bindingContext()),r=n.args,i=n.stmts;return(e=this._tempVariables).push.apply(e,Object(o.g)(i)),r},t.prototype.matchDirectives=function(t,e){var n,r,i,o=this;if(this.directiveMatcher){var a=(n=t,r=oo(e),(i=new w).setElement(n),Object.getOwnPropertyNames(r).forEach(function(t){var e=r[t];i.addAttribute(t,e),"class"===t.toLowerCase()&&e.trim().split(/\s+/).forEach(function(t){return i.addClassName(t)})}),i);this.directiveMatcher.match(a,function(t,e){o.directives.add(e)})}},t.prototype.prepareNonRenderAttrs=function(t,e,n,r,i){void 0===r&&(r=[]),void 0===i&&(i=[]);var a=new Set,s=[];function l(t,e){"string"==typeof t?a.has(t)||(s.push.apply(s,Object(o.g)(Nu(t))),void 0!==e&&s.push(e),a.add(t)):s.push(_e(t))}if(n&&n.populateInitialStylingAttrs(s),t.length||e.length){for(var c=s.length,u=0;u0?this.constantPool.getConstLiteral(ge(t),!0):Gt},t.prototype.prepareRefsParameter=function(t){var e=this;if(!t||0===t.length)return Gt;var n=On(t.map(function(t){var n=e.allocateDataSlot(),r=e._bindingScope.freshReferenceName(),i=e.level,o=de(r);return e._bindingScope.set(i,t.name,o,0,function(t,e){var r=e>0?[Ru(e).toStmt()]:[],i=o.set(he(jn.reference).callFn([_e(n)]));return r.concat(i.toConstDecl())},!0),[t.name,t.value]}));return this.constantPool.getConstLiteral($i(n),!0)},t.prototype.prepareListenerParameter=function(t,e,n){var r=this;return function(){var i=e.name,o=1===e.type?bo(i,e.phase):an(i),a=r.templateName+"_"+t+"_"+o+"_"+n+"_listener",s=r._bindingScope.nestedScope(r._bindingScope.bindingLevel);return ju(e,a,s)}},t}(),Du=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.constantPool=e,o.allocateSlot=n,o.allocatePureFunctionSlots=r,o.definePipe=i,o._pipeBindExprs=[],o}return Object(o.c)(e,t),e.prototype.visitPipe=function(t,e){var n=this.allocateSlot(),r="PIPE:"+n,i=this.allocatePureFunctionSlots(2+t.args.length),a=new ea(t.span,new $o(t.span),r),s=function(t){var e=Tu[t.length];return{identifier:e||jn.pipeBindV,isVarLength:!e}}(t.args),l=s.identifier,c=s.isVarLength;this.definePipe(t.name,r,n,he(l));var u=Object(o.g)([t.exp],t.args),p=c?this.visitAll([new la(t.span,u)]):this.visitAll(u),d=new ga(t.span,a,Object(o.g)([new sa(t.span,n),new sa(t.span,i)],p));return this._pipeBindExprs.push(d),d},e.prototype.updatePipeSlotOffsets=function(t){this._pipeBindExprs.forEach(function(e){e.args[1].value+=t})},e.prototype.visitLiteralArray=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.expressions),function(t){var e=ge(t);return t.every(function(t){return t.isConstant()})?n.constantPool.getConstLiteral(e,!0):Mu(n.constantPool,e,n.allocatePureFunctionSlots)})},e.prototype.visitLiteralMap=function(t,e){var n=this;return new Ga(t.span,this.visitAll(t.values),function(e){var r=ye(e.map(function(e,n){return{key:t.keys[n].key,value:e,quoted:t.keys[n].quoted}}));return e.every(function(t){return t.isConstant()})?n.constantPool.getConstLiteral(r,!0):Mu(n.constantPool,r,n.allocatePureFunctionSlots)})},e}(xa),Tu=[jn.pipeBind1,jn.pipeBind2,jn.pipeBind3,jn.pipeBind4];var Pu=[jn.pureFunction0,jn.pureFunction1,jn.pureFunction2,jn.pureFunction3,jn.pureFunction4,jn.pureFunction5,jn.pureFunction6,jn.pureFunction7,jn.pureFunction8];function Iu(t,e,n){return he(e,null,t).callFn(n,t)}function Ru(t){return he(jn.nextContext).callFn(t>1?[_e(t)]:[])}function Mu(t,e,n){var r=t.getLiteralFactory(e),i=r.literalFactory,a=r.literalFactoryArguments,s=n(1+a.length);a.length>0||Pe("Expected arguments to a literal factory function");var l=function(t){var e=Pu[t.length];return{identifier:e||jn.pureFunctionV,isVarLength:!e}}(a),c=l.identifier,u=l.isVarLength,p=[_e(s),i];return u?p.push(ge(a)):p.push.apply(p,Object(o.g)(a)),he(c).callFn(p)}function Nu(t){var e=Object(o.f)(a(t),2),n=e[0],r=_e(e[1]);return n?[_e(0),_e(n),r]:[r]}var Fu=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=null),this.bindingLevel=t,this.parent=e,this.map=new Map,this.referenceNameIndex=0,this.restoreViewVariable=null}return Object.defineProperty(t,"ROOT_SCOPE",{get:function(){return t._ROOT_SCOPE||(t._ROOT_SCOPE=(new t).set(0,"$event",de("$event"))),t._ROOT_SCOPE},enumerable:!0,configurable:!0}),t.prototype.get=function(t){for(var e=this;e;){var n=e.map.get(t);if(null!=n)return e!==this&&(n={retrievalLevel:n.retrievalLevel,lhs:n.lhs,declareLocalCallback:n.declareLocalCallback,declare:!1,priority:n.priority,localRef:n.localRef},this.map.set(t,n),this.maybeGenerateSharedContextVar(n),this.maybeRestoreView(n.retrievalLevel,n.localRef)),n.declareLocalCallback&&!n.declare&&(n.declare=!0),n.lhs;e=e.parent}return 0===this.bindingLevel?null:this.getComponentProperty(t)},t.prototype.set=function(t,e,n,r,i,o){if(void 0===r&&(r=0),this.map.has(e)){if(o)return this;Pe("The name "+e+" is already defined in scope to be "+this.map.get(e))}return this.map.set(e,{retrievalLevel:t,lhs:n,declare:!1,declareLocalCallback:i,priority:r,localRef:o||!1}),this},t.prototype.getLocal=function(t){return this.get(t)},t.prototype.notifyImplicitReceiverUse=function(){0!==this.bindingLevel&&(this.map.get("$$shared_ctx$$0").declare=!0)},t.prototype.nestedScope=function(e){var n=new t(e,this);return e>0&&n.generateSharedContextVar(0),n},t.prototype.getOrCreateSharedContextVar=function(t){var e="$$shared_ctx$$"+t;return this.map.has(e)||this.generateSharedContextVar(t),this.map.get(e).lhs},t.prototype.getSharedContextName=function(t){var e=this.map.get("$$shared_ctx$$"+t);return e&&e.declare?e.lhs:null},t.prototype.maybeGenerateSharedContextVar=function(t){if(1===t.priority&&t.retrievalLevel0&&r.set("contentQueries",Ju(t.queries,e,t.name)),t.viewQueries.length&&r.set("viewQuery",rp(t.viewQueries,e,t.name)),r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.selector||"",t.name)),r.set("inputs",Ji(t.inputs,!0)),r.set("outputs",Ji(t.outputs)),null!==t.exportAs&&r.set("exportAs",ge(t.exportAs.map(function(t){return _e(t)}))),{definitionMap:r,statements:i.statements}}function Wu(t,e){var n=[],r=e.providers,i=e.viewProviders;if(r||i){var o=[r||new Vt([])];i&&o.push(i),n.push(he(jn.ProvidersFeature).callFn(o))}e.usesInheritance&&n.push(he(jn.InheritDefinitionFeature)),e.lifecycle.usesOnChanges&&n.push(he(jn.NgOnChangesFeature).callFn(Uu)),n.length&&t.set("features",ge(n))}function Yu(t,e,n){var r=qu(t,e,n),i=r.definitionMap,o=r.statements;Wu(i,t);var a=he(jn.defineDirective).callFn([i.toLiteralMap()]);if(!t.selector)throw new Error("Directive "+t.name+" has no selector, please add it!");return{expression:a,type:np(t,jn.DirectiveDefWithMeta),statements:o}}function Ku(t,e,n){var r,i,a=qu(t,e,n),s=a.definitionMap,l=a.statements;Wu(s,t);var c=t.selector&&w.parse(t.selector),u=c&&c[0];if(u){var p=u.getAttrs();p.length&&s.set("attrs",e.getConstLiteral(ge(p.map(function(t){return _e(null!=t?t:void 0)})),!0))}var d=null;if(t.directives.length>0){var h=new x;try{for(var f=Object(o.h)(t.directives),m=f.next();!m.done;m=f.next()){var g=m.value,y=g.selector,_=g.expression;h.addSelectables(w.parse(y),_)}}catch(M){r={error:M}}finally{try{m&&!m.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}d=h}var C=t.name,O=C?C+"_Template":null,E=new Set,S=new Set,k=t.changeDetection,j=t.template,A=new Au(e,Fu.ROOT_SCOPE,0,C,null,null,O,d,E,t.pipes,S,jn.namespaceHTML,t.relativeContextFilePath,t.i18nUseExternalIds),D=A.buildTemplateFunction(j.nodes,[]),T=A.getNgContentSelectors();if(T&&s.set("ngContentSelectors",T),s.set("consts",_e(A.getConstCount())),s.set("vars",_e(A.getVarCount())),s.set("template",D),E.size){var P=ge(Array.from(E));t.wrapDirectivesAndPipesInClosure&&(P=ve([],[new Qt(P)])),s.set("directives",P)}if(S.size){var I=ge(Array.from(S));t.wrapDirectivesAndPipesInClosure&&(I=ve([],[new Qt(I)])),s.set("pipes",I)}if(null===t.encapsulation&&(t.encapsulation=v.Emulated),t.styles&&t.styles.length){var R=(t.encapsulation==v.Emulated?function(t,e,n){var r=new qa;return t.map(function(t){return r.shimCssText(t,e,n)})}(t.styles,bs,vs):t.styles).map(function(t){return _e(t)});s.set("styles",ge(R))}else t.encapsulation===v.Emulated&&(t.encapsulation=v.None);t.encapsulation!==v.Emulated&&s.set("encapsulation",_e(t.encapsulation)),null!==t.animations&&s.set("data",ye([{key:"animation",value:t.animations,quoted:!1}])),null!=k&&k!==b.Default&&s.set("changeDetection",_e(k));(t.selector||"").replace(/\n/g,"");return{expression:he(jn.defineComponent).callFn([s.toLiteralMap()]),type:np(t,jn.ComponentDefWithMeta),statements:l}}function Qu(t,e,n){throw new Error("unsupported")}function Xu(t,e){return t.map(function(t){var n=null;return t.read&&t.read.identifier&&(n=e.importExpr(t.read.identifier.reference)),{propertyName:t.propertyName,first:t.first,predicate:Zu(t.selectors,e),descendants:t.descendants,read:n,static:!!t.static}})}function Zu(t,e){if(t.length>1||1==t.length&&t[0].value){var n=t.map(function(t){return t.value});return n.some(function(t){return!t})&&Pe("Found a type among the string selectors expected"),e.constantPool.getConstLiteral(ge(n.map(function(t){return _e(t)})))}if(1==t.length){var r=t[0];if(r.identifier)return e.importExpr(r.identifier.reference)}return Pe("Unexpected query form"),Ut}function $u(t,e){var n=[eo(t,e),_e(t.descendants)];return t.read&&n.push(t.read),n}function Ju(t,e,n){var r,i,a=[],s=[],l=Qi(s,Wi);try{for(var c=Object(o.h)(t),u=c.next();!u.done;u=c.next()){var p=u.value,d=p.static?jn.staticContentQuery:jn.contentQuery;a.push(he(d).callFn(Object(o.g)([de("dirIndex")],$u(p,e))).toStmt());var h=l(),f=he(jn.loadContentQuery).callFn([]),m=he(jn.queryRefresh).callFn([h.set(f)]),g=de(Yi).prop(p.propertyName).set(p.first?h.prop("first"):h);s.push(m.and(g).toStmt())}}catch(v){r={error:v}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(r)throw r.error}}var y=n?n+"_ContentQueries":null;return ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt("dirIndex",null)],[ku(1,a),ku(2,s)],lt,null,y)}function tp(t){return me(ye(Object.keys(t).map(function(e){return{key:e,value:_e(Array.isArray(t[e])?t[e][0]:t[e]),quoted:!0}})))}function ep(t){return t.length>0?me(ge(t.map(function(t){return _e(t)}))):pt}function np(t,e){var n,r=(t.selector||"").replace(/\n/g,"");return me(he(e,[go(t.type,t.typeArgumentCount),(n=r,me(_e(n))),null!==t.exportAs?ep(t.exportAs):pt,tp(t.inputs),tp(t.outputs),ep(t.queries.map(function(t){return t.propertyName}))]))}function rp(t,e,n){var r=[],i=[],o=Qi(i,Wi);t.forEach(function(t){var n=he(t.static?jn.staticViewQuery:jn.viewQuery).callFn($u(t,e));r.push(n.toStmt());var a=o(),s=he(jn.loadViewQuery).callFn([]),l=he(jn.queryRefresh).callFn([a.set(s)]),c=de(Yi).prop(t.propertyName).set(t.first?a.prop("first"):a);i.push(l.and(c).toStmt())});var a=n?n+"_Query":null;return ve([new Rt(Ki,ut),new Rt(Yi,null)],[ku(1,r),ku(2,i)],lt,null,a)}function ip(t,e,n,r,i,a){var s=Object.keys(t.properties).length,l=de("elIndex"),c=de(Yi),u=new Sc(l,c),p=t.specialAttributes,d=p.styleAttr,h=p.classAttr;void 0!==d&&u.registerStyleAttr(d),void 0!==h&&u.registerClassAttr(h);var f,m=[],g=[],y=s,v=e,b=sp(t),_=function(){if(!f){f=new Du(r,function(){return Pe("Unexpected node")},function(t){var e=y;return y+=t,e},function(){return Pe("Unexpected pipe")})}return f},w=n.createDirectiveHostEventAsts(b,v);if(w&&w.length){var x=function(t,e){return t.map(function(t){var n=t.name&&an(t.name),r=1===t.type?bo(n,t.targetOrPhase):n,i=e&&n?e+"_"+r+"_HostBindingHandler":null,o=ju(Or.fromParsedEvent(t),i);return he(1==t.type?jn.componentHostSyntheticListener:jn.listener).callFn(o).toStmt()})}(w,a);m.push.apply(m,Object(o.g)(x))}var C=n.createBoundHostProperties(b,v),O=[],E=[],S=[];C&&C.forEach(function(t){var e=t.name;if(!u.registerInputBasedOnName(e,t.expression,t.sourceSpan)){var r=t.expression.visit(_()),a=op(c,r),s=function(t){var e,n=t.name,r=n.match(Gu);r?(n=r[1],e=jn.attribute):t.isAnimation?(n=vo(n),e=jn.updateSyntheticHostBinding):e=jn.hostProperty;return{bindingName:n,instruction:e,isAttribute:!!r}}(t),l=s.bindingName,p=s.instruction,d=s.isAttribute,h=n.calcPossibleSecurityContexts(i,l,d).filter(function(t){return t!==I.NONE}),f=null;h.length&&(f=2===h.length&&h.indexOf(I.URL)>-1&&h.indexOf(I.RESOURCE_URL)>-1?he(jn.sanitizeUrlOrResourceUrl):Bu(h[0],d));var m=[_e(l),a.currValExpr];f&&m.push(f),g.push.apply(g,Object(o.g)(a.stmts)),p===jn.hostProperty?O.push(m):p===jn.attribute?E.push(m):p===jn.updateSyntheticHostBinding?S.push(m):g.push(he(p).callFn(m).toStmt())}}),O.length>0&&g.push(ao(jn.hostProperty,O).toStmt()),E.length>0&&g.push(ao(jn.attribute,E).toStmt()),S.length>0&&g.push(ao(jn.updateSyntheticHostBinding,S).toStmt());var k=function(t){var e,n,r=[];try{for(var i=Object(o.h)(Object.getOwnPropertyNames(t)),a=i.next();!a.done;a=i.next()){var s=a.value,l=t[s];r.push(_e(s),l)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r}(t.attributes),j=u.buildHostAttrsInstruction(null,k,r);if(j&&m.push(ap(j,c,op)),u.hasBindings){var A=u.buildStylingInstruction(null,r);A&&m.push(ap(A,c,op)),u.buildUpdateLevelInstructions(_()).forEach(function(t){y+=Math.max(t.allocateBindingSlots-1,0),g.push(ap(t,c,op))})}if(y&&m.unshift(he(jn.allocHostVars).callFn([_e(y)]).toStmt()),m.length>0||g.length>0){var D=a?a+"_HostBindings":null,T=[];return m.length>0&&T.push(ku(1,m)),g.length>0&&T.push(ku(2,g)),ve([new Rt(Ki,ut),new Rt(Yi,null),new Rt(l.name,ut)],T,lt,null,D)}return null}function op(t,e){return Ma(null,t,e,"b",Pa.TrySimple,function(){return Pe("Unexpected interpolation")})}function ap(t,e,n){var r=t.params(function(t){return n(e,t).currValExpr});return he(t.reference,null,t.sourceSpan).callFn(r,t.sourceSpan).toStmt()}function sp(t){return{hostAttributes:{},hostListeners:t.listeners,hostProperties:t.properties}}function lp(t,e){var n=Array.from(t).map(function(t){var n=Object(o.f)(t,2),r=n[0],i=n[1];return[r,e.importExpr(i)]});return new Map(n)}var cp=/^(?:\[([^\]]+)\])|(?:\(([^\)]+)\))$/;var up=function(){function t(){}return t.prototype.get=function(t){return""},t}(),pp=function(){function t(t){void 0===t&&(t=new Bo),this.jitEvaluator=t,this.R3ResolvedDependencyType=ro,this.ResourceLoader=up,this.elementSchemaRegistry=new ru}return t.prototype.compilePipe=function(t,e,n){var r=Wo({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,deps:xp(n.deps),pipeName:n.pipeName,pure:n.pure});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileInjectable=function(t,e,n){var r=function(t){var e=null,n={name:t.name,type:t.type,deps:t.ctorDeps,injectFn:Je.inject};if(void 0!==t.useClass){var r=t.useClass.isEquivalent(t.type),i=void 0;void 0!==t.userDeps&&(i=t.userDeps),e=lo(void 0!==i?Object(o.a)({},n,{delegate:t.useClass,delegateDeps:i,delegateType:no.Class}):r?n:Object(o.a)({},n,{delegate:t.useClass,delegateType:no.Factory}))}else e=void 0!==t.useFactory?lo(Object(o.a)({},n,{delegate:t.useFactory,delegateDeps:t.userDeps||[],delegateType:no.Function})):void 0!==t.useValue?lo(Object(o.a)({},n,{expression:t.useValue})):void 0!==t.useExisting?lo(Object(o.a)({},n,{expression:he(Je.inject).callFn([t.useExisting])})):lo(n);var a=t.type,s=t.providedIn;return{expression:he(Je.ɵɵdefineInjectable).callFn([fo({token:a,factory:e.factory,providedIn:s})]),type:new it(he(Je.InjectableDef,[go(t.type,t.typeArgumentCount)])),statements:e.statements}}({name:n.name,type:new bt(n.type),typeArgumentCount:n.typeArgumentCount,providedIn:_p(n.providedIn),useClass:bp(n,dp),useFactory:bp(n,hp),useValue:bp(n,fp),useExisting:bp(n,mp),ctorDeps:xp(n.ctorDeps),userDeps:xp(n.userDeps)||void 0}),i=r.expression,a=r.statements;return this.jitExpression(i,t,e,a)},t.prototype.compileInjector=function(t,e,n){var r=function(t){var e=lo({name:t.name,type:t.type,deps:t.deps,injectFn:jn.inject}),n={factory:e.factory};return null!==t.providers&&(n.providers=t.providers),t.imports.length>0&&(n.imports=ge(t.imports)),{expression:he(jn.defineInjector).callFn([fo(n)]),type:new it(he(jn.InjectorDef,[new it(t.type)])),statements:e.statements}}({name:n.name,type:new bt(n.type),deps:xp(n.deps),providers:new bt(n.providers),imports:n.imports.map(function(t){return new bt(t)})});return this.jitExpression(r.expression,t,e,r.statements)},t.prototype.compileNgModule=function(t,e,n){var r=Uo({type:new bt(n.type),bootstrap:n.bootstrap.map(gp),declarations:n.declarations.map(gp),imports:n.imports.map(gp),exports:n.exports.map(gp),emitInline:!0,containsForwardDecls:!1,schemas:n.schemas?n.schemas.map(gp):null,id:n.id?new bt(n.id):null});return this.jitExpression(r.expression,t,e,[])},t.prototype.compileDirective=function(t,e,n){var r=new Ke,i=Vu(),a=Yu(vp(n),r,i),s=Object(o.g)(r.statements,a.statements);return this.jitExpression(a.expression,t,e,s)},t.prototype.compileComponent=function(t,e,n){var r=new Ke,i=n.interpolation?Co.fromArray(n.interpolation):Oo,a=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig,i=n.preserveWhitespaces,a=Vu(r),s=(new Js).parse(t,e,Object(o.a)({leadingTriviaChars:Su},n,{tokenizeExpansionForms:!0}));if(s.errors&&s.errors.length>0)return{errors:s.errors,nodes:[],styleUrls:[],styles:[]};var l=s.rootNodes;l=Ds(new Cu(r,!i),l),i||(l=Ds(new al,l),l=Ds(new Cu(r,!1),l));var c=ou(l,a),u=c.nodes,p=c.errors,d=c.styleUrls,h=c.styles;return p&&p.length>0?{errors:p,nodes:[],styleUrls:[],styles:[]}:{nodes:u,styleUrls:d,styles:h}}(n.template,e,{preserveWhitespaces:n.preserveWhitespaces,interpolationConfig:i});if(void 0!==a.errors){var s=a.errors.map(function(t){return t.toString()}).join(", ");throw new Error("Errors during JIT compilation of template for "+n.name+": "+s)}var l=Ku(Object(o.a)({},n,vp(n),{selector:n.selector||this.elementSchemaRegistry.getDefaultComponentElementName(),template:a,wrapDirectivesAndPipesInClosure:!1,styles:n.styles||[],encapsulation:n.encapsulation,interpolation:i,changeDetection:n.changeDetection,animations:null!=n.animations?new bt(n.animations):null,viewProviders:null!=n.viewProviders?new bt(n.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),r,Vu(i)),c=Object(o.g)(r.statements,l.statements);return this.jitExpression(l.expression,t,"ng:///"+n.name+".js",c)},t.prototype.compileBase=function(t,e,n){var r=new Ke,i=this.createParseSourceSpan("Base",n.name,"ng:///"+n.name+".js"),a=function(t,e,n){var r=new io;if(t.inputs){var i=t.inputs,o=Object.keys(i).map(function(t){var e=i[t];return{key:t,value:Array.isArray(e)?ge(e.map(function(t){return _e(t)})):_e(e),quoted:!1}});r.set("inputs",ye(o))}if(t.outputs){var a=t.outputs,s=Object.keys(a).map(function(t){return{key:t,value:_e(a[t]),quoted:!1}});r.set("outputs",ye(s))}return t.viewQueries&&t.viewQueries.length>0&&r.set("viewQuery",rp(t.viewQueries,e)),t.queries&&t.queries.length>0&&r.set("contentQueries",Ju(t.queries,e)),t.host&&r.set("hostBindings",ip(t.host,t.typeSourceSpan,n,e,t.name)),{expression:he(jn.defineBase).callFn([r.toLiteralMap()]),type:new it(he(jn.BaseDef),null,[me(t.type)])}}(Object(o.a)({},n,{typeSourceSpan:i,viewQueries:n.viewQueries?n.viewQueries.map(yp):n.viewQueries,queries:n.queries?n.queries.map(yp):n.queries,host:Cp(n.propMetadata,i)}),r,Vu());return this.jitExpression(a.expression,t,e,r.statements)},t.prototype.createParseSourceSpan=function(t,e,n){return function(t,e,n){var r=new gr("","in "+t+" "+e+" in "+n);return new yr(new mr(r,-1,-1,-1),new mr(r,-1,-1,-1))}(t,e,n)},t.prototype.jitExpression=function(t,e,n,r){var i=Object(o.g)(r,[new Wt("$def",t,void 0,[Ct.Exported])]);return this.jitEvaluator.evaluateStatements(n,i,new Ho(e),!0).$def},t}(),dp=Object.keys({useClass:null})[0],hp=Object.keys({useFactory:null})[0],fp=Object.keys({useValue:null})[0],mp=Object.keys({useExisting:null})[0],gp=function(t){var e=new bt(t);return{value:e,type:e}};function yp(t){return Object(o.a)({},t,{predicate:Array.isArray(t.predicate)?t.predicate:new bt(t.predicate),read:t.read?new bt(t.read):null,static:t.static})}function vp(t){var e=Op(t.inputs||[]),n=Op(t.outputs||[]),r=t.propMetadata,i={},a={},s=function(t){r.hasOwnProperty(t)&&r[t].forEach(function(e){"Input"===e.ngMetadataName?i[t]=e.bindingPropertyName?[e.bindingPropertyName,t]:t:function(t){return"Output"===t.ngMetadataName}(e)&&(a[t]=e.bindingPropertyName||t)})};for(var l in r)s(l);return Object(o.a)({},t,{typeSourceSpan:t.typeSourceSpan,type:new bt(t.type),deps:xp(t.deps),host:Cp(t.propMetadata,t.typeSourceSpan,t.host),inputs:Object(o.a)({},e,i),outputs:Object(o.a)({},n,a),queries:t.queries.map(yp),providers:null!=t.providers?new bt(t.providers):null,viewQueries:t.viewQueries.map(yp)})}function bp(t,e){return t.hasOwnProperty(e)?new bt(t[e]):void 0}function _p(t){return null==t||"string"==typeof t?new kt(t):new bt(t)}function wp(t){return{token:null===t.token?new kt(null):t.resolved===ro.Attribute?new kt(t.token):new bt(t.token),resolved:t.resolved,host:t.host,optional:t.optional,self:t.self,skipSelf:t.skipSelf}}function xp(t){return null==t?null:t.map(wp)}function Cp(t,e,n){var r=function(t){var e,n,r={},i={},a={},s={};try{for(var l=Object(o.h)(Object.keys(t)),c=l.next();!c.done;c=l.next()){var u=c.value,p=t[u],d=u.match(cp);if(null===d)switch(u){case"class":if("string"!=typeof p)throw new Error("Class binding must be string");s.classAttr=p;break;case"style":if("string"!=typeof p)throw new Error("Style binding must be string");s.styleAttr=p;break;default:r[u]="string"==typeof p?_e(p):p}else if(null!=d[1]){if("string"!=typeof p)throw new Error("Property binding must be string");a[d[1]]=p}else if(null!=d[2]){if("string"!=typeof p)throw new Error("Event binding must be string");i[d[2]]=p}}}catch(h){e={error:h}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}return{attributes:r,listeners:i,properties:a,specialAttributes:s}}(n||{}),i=function(t,e){var n=sp(t),r=Vu();return r.createDirectiveHostEventAsts(n,e),r.createBoundHostProperties(n,e),r.errors}(r,e);if(i.length)throw new Error(i.map(function(t){return t.msg}).join("\n"));var a=function(e){t.hasOwnProperty(e)&&t[e].forEach(function(t){"HostBinding"===t.ngMetadataName?r.properties[t.hostPropertyName||e]=e:function(t){return"HostListener"===t.ngMetadataName}(t)&&(r.listeners[t.eventName||e]=e+"("+(t.args||[]).join(",")+")")})};for(var s in t)a(s);return r}function Op(t){return t.reduce(function(t,e){var n=Object(o.f)(e.split(",").map(function(t){return t.trim()}),2),r=n[0],i=n[1];return t[r]=i||r,t},{})}new He("8.2.6");var Ep=function(t){var e=void 0===t?{}:t,n=e.defaultEncapsulation,r=void 0===n?v.Emulated:n,i=e.useJit,o=void 0===i||i,a=e.jitDevMode,s=void 0!==a&&a,l=e.missingTranslation,c=void 0===l?null:l,u=e.preserveWhitespaces,p=e.strictInjectionParameters;this.defaultEncapsulation=r,this.useJit=!!o,this.jitDevMode=!!s,this.missingTranslation=c,this.preserveWhitespaces=Sp(ke(u)),this.strictInjectionParameters=!0===p};function Sp(t,e){return void 0===e&&(e=!1),null===t?e:t}var kp=function(){function t(t,e,n,r){this._resourceLoader=t,this._urlResolver=e,this._htmlParser=n,this._config=r,this._resourceLoaderCache=new Map}return t.prototype.clearCache=function(){this._resourceLoaderCache.clear()},t.prototype.clearCacheFor=function(t){var e=this;if(t.isComponent){var n=t.template;this._resourceLoaderCache.delete(n.templateUrl),n.externalStylesheets.forEach(function(t){e._resourceLoaderCache.delete(t.moduleUrl)})}},t.prototype._fetch=function(t){var e=this._resourceLoaderCache.get(t);return e||(e=this._resourceLoader.get(t),this._resourceLoaderCache.set(t,e)),e},t.prototype.normalizeTemplate=function(t){var e=this;if(Se(t.template)){if(Se(t.templateUrl))throw Ie("'"+Ve(t.componentType)+"' component cannot define both template and templateUrl");if("string"!=typeof t.template)throw Ie("The template specified for component "+Ve(t.componentType)+" is not a string")}else{if(!Se(t.templateUrl))throw Ie("No template specified for component "+Ve(t.componentType));if("string"!=typeof t.templateUrl)throw Ie("The templateUrl specified for component "+Ve(t.componentType)+" is not a string")}if(Se(t.preserveWhitespaces)&&"boolean"!=typeof t.preserveWhitespaces)throw Ie("The preserveWhitespaces option for component "+Ve(t.componentType)+" must be a boolean");return De(this._preParseTemplate(t),function(n){return e._normalizeTemplateMetadata(t,n)})},t.prototype._preParseTemplate=function(t){var e,n,r=this;return null!=t.template?(e=t.template,n=t.moduleUrl):(n=this._urlResolver.resolve(t.moduleUrl,t.templateUrl),e=this._fetch(n)),De(e,function(e){return r._preparseLoadedTemplate(t,e,n)})},t.prototype._preparseLoadedTemplate=function(t,e,n){var r=!!t.template,i=Co.fromArray(t.interpolation),o=Sn({reference:t.ngModuleType},{type:{reference:t.componentType}},{isInline:r,templateUrl:n}),a=this._htmlParser.parse(e,o,{tokenizeExpansionForms:!0,interpolationConfig:i});if(a.errors.length>0)throw Ie("Template parse errors:\n"+a.errors.join("\n"));var s=this._normalizeStylesheet(new gn({styles:t.styles,moduleUrl:t.moduleUrl})),l=new jp;Ds(l,a.rootNodes);var c=this._normalizeStylesheet(new gn({styles:l.styles,styleUrls:l.styleUrls,moduleUrl:n}));return{template:e,templateUrl:n,isInline:r,htmlAst:a,styles:s.styles.concat(c.styles),inlineStyleUrls:s.styleUrls.concat(c.styleUrls),styleUrls:this._normalizeStylesheet(new gn({styleUrls:t.styleUrls,moduleUrl:t.moduleUrl})).styleUrls,ngContentSelectors:l.ngContentSelectors}},t.prototype._normalizeTemplateMetadata=function(t,e){var n=this;return De(this._loadMissingExternalStylesheets(e.styleUrls.concat(e.inlineStyleUrls)),function(r){return n._normalizeLoadedTemplateMetadata(t,e,r)})},t.prototype._normalizeLoadedTemplateMetadata=function(t,e,n){var r=this,i=Object(o.g)(e.styles);this._inlineStyles(e.inlineStyleUrls,n,i);var a=e.styleUrls,s=a.map(function(t){var e=n.get(t),i=Object(o.g)(e.styles);return r._inlineStyles(e.styleUrls,n,i),new gn({moduleUrl:t,styles:i})}),l=t.encapsulation;return null==l&&(l=this._config.defaultEncapsulation),l===v.Emulated&&0===i.length&&0===a.length&&(l=v.None),new yn({encapsulation:l,template:e.template,templateUrl:e.templateUrl,htmlAst:e.htmlAst,styles:i,styleUrls:a,ngContentSelectors:e.ngContentSelectors,animations:t.animations,interpolation:t.interpolation,isInline:e.isInline,externalStylesheets:s,preserveWhitespaces:Sp(t.preserveWhitespaces,this._config.preserveWhitespaces)})},t.prototype._inlineStyles=function(t,e,n){var r=this;t.forEach(function(t){var i=e.get(t);i.styles.forEach(function(t){return n.push(t)}),r._inlineStyles(i.styleUrls,e,n)})},t.prototype._loadMissingExternalStylesheets=function(t,e){var n=this;return void 0===e&&(e=new Map),De(Te(t.filter(function(t){return!e.has(t)}).map(function(t){return De(n._fetch(t),function(r){var i=n._normalizeStylesheet(new gn({styles:[r],moduleUrl:t}));return e.set(t,i),n._loadMissingExternalStylesheets(i.styleUrls,e)})})),function(t){return e})},t.prototype._normalizeStylesheet=function(t){var e=this,n=t.moduleUrl,r=t.styleUrls.filter(Vl).map(function(t){return e._urlResolver.resolve(n,t)}),i=t.styles.map(function(t){var i,a,s,l,c=(i=e._urlResolver,a=n,s=[],l=t.replace(zl,"").replace(Bl,function(){for(var t=[],e=0;e', or 'attr.'.");a["["+e.hostPropertyName+"]"]=t}else a["["+t+"]"]=t}),e[t].filter(function(t){return B.isTypeOf(t)}).forEach(function(e){var n=e.args||[];a["("+e.eventName+")"]=t+"("+n.join(",")+")"});var l=Pp(e[t],function(t){return Ap.some(function(e){return e.isTypeOf(t)})});l&&(s[t]=l)}),this._merge(t,i,o,a,s,n,r)},t.prototype._extractPublicName=function(t){return Ce(t,[null,t])[1].trim()},t.prototype._dedupeBindings=function(t){for(var e=new Set,n=new Set,r=[],i=t.length-1;i>=0;i--){var o=t[i],a=this._extractPublicName(o);n.add(a),e.has(a)||(e.add(a),r.push(o))}return r.reverse()},t.prototype._merge=function(t,e,n,r,i,a,s){var l=this._dedupeBindings(t.inputs?t.inputs.concat(e):e),c=this._dedupeBindings(t.outputs?t.outputs.concat(n):n),u=t.host?Object(o.a)({},t.host,r):r,p=t.queries?Object(o.a)({},t.queries,i):i;if(M.isTypeOf(t)){var d=t;return M({selector:d.selector,inputs:l,outputs:c,host:u,exportAs:d.exportAs,moduleId:d.moduleId,queries:p,changeDetection:d.changeDetection,providers:d.providers,viewProviders:d.viewProviders,entryComponents:d.entryComponents,template:d.template,templateUrl:d.templateUrl,styles:d.styles,styleUrls:d.styleUrls,encapsulation:d.encapsulation,animations:d.animations,interpolation:d.interpolation,preserveWhitespaces:t.preserveWhitespaces})}return P({selector:t.selector,inputs:l,outputs:c,host:u,exportAs:t.exportAs,queries:p,providers:t.providers,guards:a})},t}();function Tp(t){return P.isTypeOf(t)||M.isTypeOf(t)}function Pp(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null}var Ip=function(t){function e(e,n){return t.call(this,e,n)||this}return Object(o.c)(e,t),e}(br),Rp="i18n",Mp=/^i18n:?/,Np="|",Fp="@@",Lp=!1;var Vp,Bp=function(t,e){this.messages=t,this.errors=e};!function(t){t[t.Extract=0]="Extract",t[t.Merge=1]="Merge"}(Vp||(Vp={}));var zp=function(){function t(t,e){this._implicitTags=t,this._implicitAttrs=e}return t.prototype.extract=function(t,e){var n=this;return this._init(Vp.Extract,e),t.forEach(function(t){return t.visit(n,null)}),this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Bp(this._messages,this._errors)},t.prototype.merge=function(t,e,n){this._init(Vp.Merge,n),this._translations=e;var r=new js("wrapper",[],t,void 0,void 0,void 0).visit(this,null);return this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Qs(r.children,this._errors)},t.prototype.visitExpansionCase=function(t,e){var n=Ds(this,t.expression,e);if(this._mode===Vp.Merge)return new Ss(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan)},t.prototype.visitExpansion=function(t,e){this._mayBeAddBlockChildren(t);var n=this._inIcu;this._inIcu||(this._isInTranslatableSection&&this._addMessage([t]),this._inIcu=!0);var r=Ds(this,t.cases,e);return this._mode===Vp.Merge&&(t=new Es(t.switchValue,t.type,r,t.sourceSpan,t.switchValueSourceSpan)),this._inIcu=n,t},t.prototype.visitComment=function(t,e){var n,r=!!((n=t)instanceof As&&n.value&&n.value.startsWith("i18n"));if(r&&this._isInTranslatableSection)this._reportError(t,"Could not start a block inside a translatable section");else{var i=function(t){return!!(t instanceof As&&t.value&&"/i18n"===t.value)}(t);if(!i||this._inI18nBlock){if(!this._inI18nNode&&!this._inIcu)if(this._inI18nBlock){if(i){if(this._depth==this._blockStartDepth){this._closeTranslatableSection(t,this._blockChildren),this._inI18nBlock=!1;var o=this._addMessage(this._blockChildren,this._blockMeaningAndDesc);return Ds(this,this._translateMessage(t,o))}return void this._reportError(t,"I18N blocks should not cross element boundaries")}}else if(r){if(!Lp&&console&&console.warn){Lp=!0;var a=t.sourceSpan.details?", "+t.sourceSpan.details:"";console.warn("I18n comments are deprecated, use an element instead ("+t.sourceSpan.start+a+")")}this._inI18nBlock=!0,this._blockStartDepth=this._depth,this._blockChildren=[],this._blockMeaningAndDesc=t.value.replace(Mp,"").trim(),this._openTranslatableSection(t)}}else this._reportError(t,"Trying to close an unopened block")}},t.prototype.visitText=function(t,e){return this._isInTranslatableSection&&this._mayBeAddBlockChildren(t),t},t.prototype.visitElement=function(t,e){var n=this;this._mayBeAddBlockChildren(t),this._depth++;var r=this._inI18nNode,i=this._inImplicitNode,o=[],a=void 0,s=t.attrs.find(function(t){return t.name===Rp})||null,l=s?s.value:"",c=this._implicitTags.some(function(e){return t.name===e})&&!this._inIcu&&!this._isInTranslatableSection,u=!i&&c;if(this._inImplicitNode=i||c,this._isInTranslatableSection||this._inIcu)(s||u)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this._mode==Vp.Extract&&Ds(this,t.children);else{if(s||u){this._inI18nNode=!0;var p=this._addMessage(t.children,l);a=this._translateMessage(t,p)}if(this._mode==Vp.Extract){var d=s||u;d&&this._openTranslatableSection(t),Ds(this,t.children),d&&this._closeTranslatableSection(t,t.children)}}this._mode===Vp.Merge&&(a||t.children).forEach(function(t){var r=t.visit(n,e);r&&!n._isInTranslatableSection&&(o=o.concat(r))});if(this._visitAttributesOf(t),this._depth--,this._inI18nNode=r,this._inImplicitNode=i,this._mode===Vp.Merge){var h=this._translateAttributes(t);return new js(t.name,h,o,t.sourceSpan,t.startSourceSpan,t.endSourceSpan)}return null},t.prototype.visitAttribute=function(t,e){throw new Error("unreachable code")},t.prototype._init=function(t,e){this._mode=t,this._inI18nBlock=!1,this._inI18nNode=!1,this._depth=0,this._inIcu=!1,this._msgCountAtSectionStart=void 0,this._errors=[],this._messages=[],this._inImplicitNode=!1,this._createI18nMessage=bu(e)},t.prototype._visitAttributesOf=function(t){var e=this,n={},r=this._implicitAttrs[t.name]||[];t.attrs.filter(function(t){return t.name.startsWith("i18n-")}).forEach(function(t){return n[t.name.slice("i18n-".length)]=t.value}),t.attrs.forEach(function(t){t.name in n?e._addMessage([t],n[t.name]):r.some(function(e){return t.name===e})&&e._addMessage([t])})},t.prototype._addMessage=function(t,e){if(0==t.length||1==t.length&&t[0]instanceof ks&&!t[0].value)return null;var n=Hp(e),r=n.meaning,i=n.description,o=n.id,a=this._createI18nMessage(t,r,i,o);return this._messages.push(a),a},t.prototype._translateMessage=function(t,e){if(e&&this._mode===Vp.Merge){var n=this._translations.get(e);if(n)return n;this._reportError(t,'Translation unavailable for message id="'+this._translations.digest(e)+'"')}return[]},t.prototype._translateAttributes=function(t){var e=this,n=t.attrs,r={};n.forEach(function(t){t.name.startsWith("i18n-")&&(r[t.name.slice("i18n-".length)]=Hp(t.value))});var i=[];return n.forEach(function(n){if(n.name!==Rp&&!n.name.startsWith("i18n-"))if(n.value&&""!=n.value&&r.hasOwnProperty(n.name)){var o=r[n.name],a=o.meaning,s=o.description,l=o.id,c=e._createI18nMessage([n],a,s,l),u=e._translations.get(c);if(u)if(0==u.length)i.push(new ks(n.name,"",n.sourceSpan));else if(u[0]instanceof Os){var p=u[0].value;i.push(new ks(n.name,p,n.sourceSpan))}else e._reportError(t,'Unexpected translation for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")');else e._reportError(t,'Translation unavailable for attribute "'+n.name+'" (id="'+(l||e._translations.digest(c))+'")')}else i.push(n)}),i},t.prototype._mayBeAddBlockChildren=function(t){this._inI18nBlock&&!this._inIcu&&this._depth==this._blockStartDepth&&this._blockChildren.push(t)},t.prototype._openTranslatableSection=function(t){this._isInTranslatableSection?this._reportError(t,"Unexpected section start"):this._msgCountAtSectionStart=this._messages.length},Object.defineProperty(t.prototype,"_isInTranslatableSection",{get:function(){return void 0!==this._msgCountAtSectionStart},enumerable:!0,configurable:!0}),t.prototype._closeTranslatableSection=function(t,e){if(this._isInTranslatableSection){var n=this._msgCountAtSectionStart;if(1==e.reduce(function(t,e){return t+(e instanceof As?0:1)},0))for(var r=this._messages.length-1;r>=n;r--){var i=this._messages[r].nodes;if(!(1==i.length&&i[0]instanceof Rr)){this._messages.splice(r,1);break}}this._msgCountAtSectionStart=void 0}else this._reportError(t,"Unexpected section end")},t.prototype._reportError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();function Hp(t){if(!t)return{meaning:"",description:"",id:""};var e=t.indexOf(Fp),n=t.indexOf(Np),r=Object(o.f)(e>-1?[t.slice(0,e),t.slice(e+2)]:[t,""],2),i=r[0],a=r[1],s=Object(o.f)(n>-1?[i.slice(0,n),i.slice(n+1)]:["",i],2);return{meaning:s[0],description:s[1],id:a}}var Up=new(function(){function t(){this.closedByParent=!1,this.contentType=r.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}return t.prototype.requireExtraParent=function(t){return!1},t.prototype.isClosedByChild=function(t){return!1},t}());function Gp(t){return Up}var qp=function(t){function e(){return t.call(this,Gp)||this}return Object(o.c)(e,t),e.prototype.parse=function(e,n,r){return t.prototype.parse.call(this,e,n,r)},e}(Xs),Wp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Yp,r=[];t.forEach(function(t){var e,i=[];t.sources.forEach(function(t){var e=new hi("context-group",{purpose:"location"});e.children.push(new mi(10),new hi("context",{"context-type":"sourcefile"},[new fi(t.filePath)]),new mi(10),new hi("context",{"context-type":"linenumber"},[new fi(""+t.startLine)]),new mi(8)),i.push(new mi(8),e)});var a=new hi("trans-unit",{id:t.id,datatype:"html"});(e=a.children).push.apply(e,Object(o.g)([new mi(8),new hi("source",{},n.serialize(t.nodes))],i)),t.description&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"description"},[new fi(t.description)])),t.meaning&&a.children.push(new mi(8),new hi("note",{priority:"1",from:"meaning"},[new fi(t.meaning)])),a.children.push(new mi(6)),r.push(new mi(6),a)});var i=new hi("body",{},Object(o.g)(r,[new mi(4)])),a=new hi("file",{"source-language":e||"en",datatype:"plaintext",original:"ng2.template"},[new mi(4),i,new mi(2)]),s=new hi("xliff",{version:"1.2",xmlns:"urn:oasis:names:tc:xliff:document:1.2"},[new mi(2),a,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,s,new mi])},e.prototype.load=function(t,e){var n=(new Kp).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Qp;if(Object.keys(i).forEach(function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r}),a.length)throw new Error("xliff parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Hr(t)},e}(si),Yp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=function(t){switch(t.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+t}}(t.tag);if(t.isVoid)return[new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+"/>"})];var r=new hi("x",{id:t.startName,ctype:n,"equiv-text":"<"+t.tag+">"}),i=new hi("x",{id:t.closeName,ctype:n,"equiv-text":""});return Object(o.g)([r],this.serialize(t.children),[i])},t.prototype.visitPlaceholder=function(t,e){return[new hi("x",{id:t.name,"equiv-text":"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n="{"+t.value.expression+", "+t.value.type+", "+Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" ")+"}";return[new hi("x",{id:t.name,"equiv-text":n})]},t.prototype.serialize=function(t){var e=this;return[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}(),Kp=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"trans-unit":this._unitMlString=null;var n=t.attrs.find(function(t){return"id"===t.name});if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":case"seg-source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"file":var s=t.attrs.find(function(t){return"target-language"===t.name});s&&(this._locale=s.value),Ds(this,t.children,null);break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Qp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){if("x"===t.name){var n=t.attrs.find(function(t){return"id"===t.name});return n?new Lr("",n.value,t.sourceSpan):(this._addError(t,' misses the "id" attribute'),null)}return"mrk"===t.name?[].concat.apply([],Object(o.g)(Ds(this,t.children))):(this._addError(t,"Unexpected tag"),null)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var Xp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){var n=new Zp,r=[];t.forEach(function(t){var e=new hi("unit",{id:t.id}),i=new hi("notes");(t.description||t.meaning)&&(t.description&&i.children.push(new mi(8),new hi("note",{category:"description"},[new fi(t.description)])),t.meaning&&i.children.push(new mi(8),new hi("note",{category:"meaning"},[new fi(t.meaning)]))),t.sources.forEach(function(t){i.children.push(new mi(8),new hi("note",{category:"location"},[new fi(t.filePath+":"+t.startLine+(t.endLine!==t.startLine?","+t.endLine:""))]))}),i.children.push(new mi(6)),e.children.push(new mi(6),i);var o=new hi("segment");o.children.push(new mi(8),new hi("source",{},n.serialize(t.nodes)),new mi(6)),e.children.push(new mi(6),o,new mi(4)),r.push(new mi(4),e)});var i=new hi("file",{original:"ng.template",id:"ngi18n"},Object(o.g)(r,[new mi(2)])),a=new hi("xliff",{version:"2.0",xmlns:"urn:oasis:names:tc:xliff:document:2.0",srcLang:e||"en"},[new mi(2),i,new mi]);return ui([new pi({version:"1.0",encoding:"UTF-8"}),new mi,a,new mi])},e.prototype.load=function(t,e){var n=(new $p).parse(t,e),r=n.locale,i=n.msgIdToHtml,a=n.errors,s={},l=new Jp;if(Object.keys(i).forEach(function(t){var n=l.convert(i[t],e),r=n.i18nNodes,c=n.errors;a.push.apply(a,Object(o.g)(c)),s[t]=r}),a.length)throw new Error("xliff2 parse errors:\n"+a.join("\n"));return{locale:r,i18nNodesByMsgId:s}},e.prototype.digest=function(t){return Ur(t)},e}(si),Zp=function(){function t(){}return t.prototype.visitText=function(t,e){return[new fi(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,Object(o.g)(t.visit(n)))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new fi("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(e){r.push.apply(r,Object(o.g)([new fi(e+" {")],t.cases[e].visit(n),[new fi("} ")]))}),r.push(new fi("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=function(t){switch(t.toLowerCase()){case"br":case"b":case"i":case"u":return"fmt";case"img":return"image";case"a":return"link";default:return"other"}}(t.tag);if(t.isVoid)return[new hi("ph",{id:(this._nextPlaceholderId++).toString(),equiv:t.startName,type:r,disp:"<"+t.tag+"/>"})];var i=new hi("pc",{id:(this._nextPlaceholderId++).toString(),equivStart:t.startName,equivEnd:t.closeName,type:r,dispStart:"<"+t.tag+">",dispEnd:""}),a=[].concat.apply([],Object(o.g)(t.children.map(function(t){return t.visit(n)})));return a.length?a.forEach(function(t){return i.children.push(t)}):i.children.push(new fi("")),[i]},t.prototype.visitPlaceholder=function(t,e){var n=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:n,equiv:t.name,disp:"{{"+t.value+"}}"})]},t.prototype.visitIcuPlaceholder=function(t,e){var n=Object.keys(t.value.cases).map(function(t){return t+" {...}"}).join(" "),r=(this._nextPlaceholderId++).toString();return[new hi("ph",{id:r,equiv:t.name,disp:"{"+t.value.expression+", "+t.value.type+", "+n+"}"})]},t.prototype.serialize=function(t){var e=this;return this._nextPlaceholderId=0,[].concat.apply([],Object(o.g)(t.map(function(t){return t.visit(e)})))},t}(),$p=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._unitMlString=null,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"unit":this._unitMlString=null;var n=t.attrs.find(function(t){return"id"===t.name});if(n){var r=n.value;this._msgIdToHtml.hasOwnProperty(r)?this._addError(t,"Duplicated translations for msg "+r):(Ds(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[r]=this._unitMlString:this._addError(t,"Message "+r+" misses a translation"))}else this._addError(t,' misses the "id" attribute');break;case"source":break;case"target":var i=t.startSourceSpan.end.offset,o=t.endSourceSpan.start.offset,a=t.startSourceSpan.start.file.content.slice(i,o);this._unitMlString=a;break;case"xliff":var s=t.attrs.find(function(t){return"trgLang"===t.name});s&&(this._locale=s.value);var l=t.attrs.find(function(t){return"version"===t.name});if(l){var c=l.value;"2.0"!==c?this._addError(t,"The XLIFF file version "+c+" is not compatible with XLIFF 2.0 serializer"):Ds(this,t.children,null)}break;default:Ds(this,t.children,null)}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),Jp=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:[].concat.apply([],Object(o.g)(Ds(this,n.rootNodes))),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitElement=function(t,e){var n=this;switch(t.name){case"ph":var r=t.attrs.find(function(t){return"equiv"===t.name});if(r)return[new Lr("",r.value,t.sourceSpan)];this._addError(t,' misses the "equiv" attribute');break;case"pc":var i=t.attrs.find(function(t){return"equivStart"===t.name}),a=t.attrs.find(function(t){return"equivEnd"===t.name});if(i){if(a){var s=i.value,l=a.value,c=[];return c.concat.apply(c,Object(o.g)([new Lr("",s,t.sourceSpan)],t.children.map(function(t){return t.visit(n,null)}),[new Lr("",l,t.sourceSpan)]))}this._addError(t,' misses the "equivEnd" attribute')}else this._addError(t,' misses the "equivStart" attribute');break;case"mrk":return[].concat.apply([],Object(o.g)(Ds(this,t.children)));default:this._addError(t,"Unexpected tag")}return null},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:[].concat.apply([],Object(o.g)(Ds(this,t.expression)))}},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}();var td=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.write=function(t,e){throw new Error("Unsupported")},e.prototype.load=function(t,e){var n=(new ed).parse(t,e),r=n.locale,i=n.msgIdToHtml,o=n.errors,a={},s=new nd;if(Object.keys(i).forEach(function(t){!function(t,e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=n();return Object.defineProperty(t,e,{enumerable:!0,value:r}),r},set:function(t){throw new Error("Could not overwrite an XTB translation")}})}(a,t,function(){var n=s.convert(i[t],e),r=n.i18nNodes,o=n.errors;if(o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return r})}),o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return{locale:r,i18nNodesByMsgId:a}},e.prototype.digest=function(t){return _i(t)},e.prototype.createNameMapper=function(t){return new li(t,xi)},e}(si);var ed=function(){function t(){this._locale=null}return t.prototype.parse=function(t,e){this._bundleDepth=0,this._msgIdToHtml={};var n=(new qp).parse(t,e);return this._errors=n.errors,Ds(this,n.rootNodes),{msgIdToHtml:this._msgIdToHtml,errors:this._errors,locale:this._locale}},t.prototype.visitElement=function(t,e){switch(t.name){case"translationbundle":this._bundleDepth++,this._bundleDepth>1&&this._addError(t," elements can not be nested");var n=t.attrs.find(function(t){return"lang"===t.name});n&&(this._locale=n.value),Ds(this,t.children,null),this._bundleDepth--;break;case"translation":var r=t.attrs.find(function(t){return"id"===t.name});if(r){var i=r.value;if(this._msgIdToHtml.hasOwnProperty(i))this._addError(t,"Duplicated translations for msg "+i);else{var o=t.startSourceSpan.end.offset,a=t.endSourceSpan.start.offset,s=t.startSourceSpan.start.file.content.slice(o,a);this._msgIdToHtml[i]=s}}else this._addError(t,' misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}},t.prototype.visitAttribute=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitComment=function(t,e){},t.prototype.visitExpansion=function(t,e){},t.prototype.visitExpansionCase=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),nd=function(){function t(){}return t.prototype.convert=function(t,e){var n=(new qp).parse(t,e,{tokenizeExpansionForms:!0});return this._errors=n.errors,{i18nNodes:this._errors.length>0||0==n.rootNodes.length?[]:Ds(this,n.rootNodes),errors:this._errors}},t.prototype.visitText=function(t,e){return new Rr(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t,e){var n={};return Ds(this,t.cases).forEach(function(e){n[e.value]=new Mr(e.nodes,t.sourceSpan)}),new Nr(t.switchValue,t.type,n,t.sourceSpan)},t.prototype.visitExpansionCase=function(t,e){return{value:t.value,nodes:Ds(this,t.expression)}},t.prototype.visitElement=function(t,e){if("ph"===t.name){var n=t.attrs.find(function(t){return"name"===t.name});if(n)return new Lr("",n.value,t.sourceSpan);this._addError(t,' misses the "name" attribute')}else this._addError(t,"Unexpected tag");return null},t.prototype.visitComment=function(t,e){},t.prototype.visitAttribute=function(t,e){},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),rd=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),void 0===i&&(i=R.Warning),this._i18nNodesByMsgId=t,this.digest=n,this.mapperFactory=r,this._i18nToHtml=new id(t,e,n,r,i,o)}return t.load=function(e,n,r,i,o){var a=r.load(e,n),s=a.locale;return new t(a.i18nNodesByMsgId,s,function(t){return r.digest(t)},function(t){return r.createNameMapper(t)},i,o)},t.prototype.get=function(t){var e=this._i18nToHtml.convert(t);if(e.errors.length)throw new Error(e.errors.join("\n"));return e.nodes},t.prototype.has=function(t){return this.digest(t)in this._i18nNodesByMsgId},t}(),id=function(){function t(t,e,n,r,i,o){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this._locale=e,this._digest=n,this._mapperFactory=r,this._missingTranslationStrategy=i,this._console=o,this._contextStack=[],this._errors=[]}return t.prototype.convert=function(t){this._contextStack.length=0,this._errors.length=0;var e=this._convertToText(t),n=t.nodes[0].sourceSpan.start.file.url,r=(new Js).parse(e,n,{tokenizeExpansionForms:!0});return{nodes:r.rootNodes,errors:Object(o.g)(this._errors,r.errors)}},t.prototype.visitText=function(t,e){return yi(t.value)},t.prototype.visitContainer=function(t,e){var n=this;return t.children.map(function(t){return t.visit(n)}).join("")},t.prototype.visitIcu=function(t,e){var n=this,r=Object.keys(t.cases).map(function(e){return e+" {"+t.cases[e].visit(n)+"}"});return"{"+(this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression)+", "+t.type+", "+r.join(" ")+"}"},t.prototype.visitPlaceholder=function(t,e){var n=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(n)?this._srcMsg.placeholders[n]:this._srcMsg.placeholderToMessage.hasOwnProperty(n)?this._convertToText(this._srcMsg.placeholderToMessage[n]):(this._addError(t,'Unknown placeholder "'+t.name+'"'),"")},t.prototype.visitTagPlaceholder=function(t,e){var n=this,r=""+t.tag,i=Object.keys(t.attrs).map(function(e){return e+'="'+t.attrs[e]+'"'}).join(" ");return t.isVoid?"<"+r+" "+i+"/>":"<"+r+" "+i+">"+t.children.map(function(t){return t.visit(n)}).join("")+""},t.prototype.visitIcuPlaceholder=function(t,e){return this._convertToText(this._srcMsg.placeholderToMessage[t.name])},t.prototype._convertToText=function(t){var e,n=this,r=this._digest(t),i=this._mapperFactory?this._mapperFactory(t):null;if(this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._i18nNodesByMsgId.hasOwnProperty(r))e=this._i18nNodesByMsgId[r],this._mapper=function(t){return i?i.toInternalName(t):t};else{if(this._missingTranslationStrategy===R.Error){var o=this._locale?' for locale "'+this._locale+'"':"";this._addError(t.nodes[0],'Missing translation for message "'+r+'"'+o)}else if(this._console&&this._missingTranslationStrategy===R.Warning){o=this._locale?' for locale "'+this._locale+'"':"";this._console.warn('Missing translation for message "'+r+'"'+o)}e=t.nodes,this._mapper=function(t){return t}}var a=e.map(function(t){return t.visit(n)}).join(""),s=this._contextStack.pop();return this._srcMsg=s.msg,this._mapper=s.mapper,a},t.prototype._addError=function(t,e){this._errors.push(new Ip(t.sourceSpan,e))},t}(),od=function(){function t(t,e,n,r,i){if(void 0===r&&(r=R.Warning),this._htmlParser=t,e){var o=function(t){switch(t=(t||"xlf").toLowerCase()){case"xmb":return new vi;case"xtb":return new td;case"xliff2":case"xlf2":return new Xp;case"xliff":case"xlf":default:return new Wp}}(n);this._translationBundle=rd.load(e,"i18n",o,r,i)}else this._translationBundle=new rd({},null,Hr,void 0,r,i)}return t.prototype.parse=function(t,e,n){void 0===n&&(n={});var r=n.interpolationConfig||Oo,i=this._htmlParser.parse(t,e,Object(o.a)({interpolationConfig:r},n));return i.errors.length?new Qs(i.rootNodes,i.errors):function(t,e,n,r,i){return new zp(r,i).merge(t,e,n)}(i.rootNodes,this._translationBundle,r,[],{})},t}();function ad(t,e,n){return void 0===n&&(n=null),Ee(e,new sd(t),n)}var sd=function(){function t(t){this.ctx=t}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map(function(t){return Ee(t,n,null)}),e)},t.prototype.visitStringMap=function(t,e){var n=this,r=[],i=new Set(t&&t.$quoted$);return Object.keys(t).forEach(function(e){r.push(new Bt(e,Ee(t[e],n,null),i.has(e)))}),new zt(r,e)},t.prototype.visitPrimitive=function(t,e){return _e(t,e)},t.prototype.visitOther=function(t,e){return t instanceof mt?t:this.ctx.importExpr(t)},t}();function ld(t,e){return{key:t,value:e,quoted:!1}}!function(){function t(t,e){this.reflector=t,this.alwaysGenerateDef=e,this.tokenInjector=t.resolveExternalReference(Je.Injector)}t.prototype.depsArray=function(t,e){var n=this;return t.map(function(t){var r,i=t,o=[i],a=0;if(Array.isArray(t))for(var s=0;s0))return e.importExpr(t.useFactory);n=e.importExpr(t.useFactory).callFn(this.depsArray(r,e))}else if(t.useValue)n=ad(e,t.useValue);else{var i=t.useClass||t.symbol,o=this.depsArray(this.reflector.parameters(i),e);n=new St(e.importExpr(i),o)}return ve([],[new Qt(n)],void 0,void 0,t.symbol.name+"_Factory")},t.prototype.injectableDef=function(t,e){var n=Ut;void 0!==t.providedIn&&(n=null===t.providedIn?Ut:"string"==typeof t.providedIn?_e(t.providedIn):e.importExpr(t.providedIn));var r=[ld("factory",this.factoryFor(t,e)),ld("token",e.importExpr(t.type.reference)),ld("providedIn",n)];return he(Je.ɵɵdefineInjectable).callFn([ye(r)])},t.prototype.compile=function(t,e){if(this.alwaysGenerateDef||void 0!==t.providedIn){var n=cn(t.type),r=new te(n,null,[new Zt("ngInjectableDef",lt,[Ct.Static],this.injectableDef(t,e))],[],new $t(null,[],[]),[]);e.statements.push(r)}}}();var cd=/(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/,ud=/\.ngfactory\.|\.ngsummary\./,pd=/\.ngsummary\./,dd=/NgSummary$/;function hd(t,e){void 0===e&&(e=!1);var n=md(t,e);return n[0]+".ngfactory"+gd(n[1])}function fd(t){return t.replace(ud,".")}function md(t,e){if(void 0===e&&(e=!1),t.endsWith(".d.ts"))return[t.slice(0,-5),e?".ts":".d.ts"];var n=t.lastIndexOf(".");return-1!==n?[t.substring(0,n),t.substring(n)]:[t,""]}function gd(t){return".tsx"===t?".ts":t}function yd(t){return t.replace(cd,"")+".ngsummary.json"}function vd(t,e){void 0===e&&(e=!1);var n=md(fd(t),e);return n[0]+".ngsummary"+n[1]}function bd(t){return t+"NgSummary"}var _d,wd=/\u0275\d+/;!function(t){t[t.OnInit=0]="OnInit",t[t.OnDestroy=1]="OnDestroy",t[t.DoCheck=2]="DoCheck",t[t.OnChanges=3]="OnChanges",t[t.AfterContentInit=4]="AfterContentInit",t[t.AfterContentChecked=5]="AfterContentChecked",t[t.AfterViewInit=6]="AfterViewInit",t[t.AfterViewChecked=7]="AfterViewChecked"}(_d||(_d={}));var xd=[_d.OnInit,_d.OnDestroy,_d.DoCheck,_d.OnChanges,_d.AfterContentInit,_d.AfterContentChecked,_d.AfterViewInit,_d.AfterViewChecked];function Cd(t,e,n){return t.hasLifecycleHook(n,function(t){switch(t){case _d.OnInit:return"ngOnInit";case _d.OnDestroy:return"ngOnDestroy";case _d.DoCheck:return"ngDoCheck";case _d.OnChanges:return"ngOnChanges";case _d.AfterContentInit:return"ngAfterContentInit";case _d.AfterContentChecked:return"ngAfterContentChecked";case _d.AfterViewInit:return"ngAfterViewInit";case _d.AfterViewChecked:return"ngAfterViewChecked";default:throw new Error("unexpected "+t)}}(e))}var Od="ngComponentType",Ed=function(){function t(t,e,n,r,i,o,a,s,l,c,u,p){this._config=t,this._htmlParser=e,this._ngModuleResolver=n,this._directiveResolver=r,this._pipeResolver=i,this._summaryResolver=o,this._schemaRegistry=a,this._directiveNormalizer=s,this._console=l,this._staticSymbolCache=c,this._reflector=u,this._errorCollector=p,this._nonNormalizedDirectiveCache=new Map,this._directiveCache=new Map,this._summaryCache=new Map,this._pipeCache=new Map,this._ngModuleCache=new Map,this._ngModuleOfTypes=new Map,this._shallowModuleCache=new Map}return t.prototype.getReflector=function(){return this._reflector},t.prototype.clearCacheFor=function(t){var e=this._directiveCache.get(t);this._directiveCache.delete(t),this._nonNormalizedDirectiveCache.delete(t),this._summaryCache.delete(t),this._pipeCache.delete(t),this._ngModuleOfTypes.delete(t),this._ngModuleCache.clear(),e&&this._directiveNormalizer.clearCacheFor(e)},t.prototype.clearCache=function(){this._directiveCache.clear(),this._nonNormalizedDirectiveCache.clear(),this._summaryCache.clear(),this._pipeCache.clear(),this._ngModuleCache.clear(),this._ngModuleOfTypes.clear(),this._directiveNormalizer.clearCache()},t.prototype._createProxyClass=function(t,e){var n=null,r=function(){if(!n)throw new Error("Illegal state: Class "+e+" for type "+Ve(t)+" is not compiled yet!");return n.apply(this,arguments)};return r.setDelegate=function(t){n=t,r.prototype=t.prototype},r.overriddenName=e,r},t.prototype.getGeneratedClass=function(t,e){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),e):this._createProxyClass(t,e)},t.prototype.getComponentViewClass=function(t){return this.getGeneratedClass(t,pn(t,0))},t.prototype.getHostComponentViewClass=function(t){return this.getGeneratedClass(t,"HostView_"+cn({reference:t}))},t.prototype.getHostComponentType=function(t){var e=cn({reference:t})+"_Host";return t instanceof nn?this._staticSymbolCache.get(t.filePath,e):this._createProxyClass(t,e)},t.prototype.getRendererType=function(t){return t instanceof nn?this._staticSymbolCache.get(hd(t.filePath),dn(t)):{}},t.prototype.getComponentFactory=function(t,e,n,r){if(e instanceof nn)return this._staticSymbolCache.get(hd(e.filePath),hn(e));var i=this.getHostComponentViewClass(e);return this._reflector.resolveExternalReference(Je.createComponentFactory)(t,e,i,n,r,[])},t.prototype.initComponentFactory=function(t,e){var n;t instanceof nn||(n=t.ngContentSelectors).push.apply(n,Object(o.g)(e))},t.prototype._loadSummary=function(t,e){var n=this._summaryCache.get(t);if(!n){var r=this._summaryResolver.resolveSummary(t);n=r?r.type:null,this._summaryCache.set(t,n||null)}return n&&n.summaryKind===e?n:null},t.prototype.getHostComponentMetadata=function(t,e){var n=this.getHostComponentType(t.type.reference);e||(e=this.getHostComponentViewClass(n));var r=w.parse(t.selector)[0].getMatchingElementTemplate(),i=this._htmlParser.parse(r,"");return vn.create({isHost:!0,type:{reference:n,diDeps:[],lifecycleHooks:[]},template:new yn({encapsulation:v.None,template:r,templateUrl:"",htmlAst:i,styles:[],styleUrls:[],ngContentSelectors:[],animations:[],isInline:!0,externalStylesheets:[],interpolation:null,preserveWhitespaces:!1}),exportAs:null,changeDetection:b.Default,inputs:[],outputs:[],host:{},isComponent:!0,selector:"*",providers:[],viewProviders:[],queries:[],guards:{},viewQueries:[],componentViewType:e,rendererType:{id:"__Host__",encapsulation:v.None,styles:[],data:{}},entryComponents:[],componentFactory:null})},t.prototype.loadDirectiveMetadata=function(t,e,n){var r=this;if(this._directiveCache.has(e))return null;e=Be(e);var i,o,a=this.getNonNormalizedDirectiveMetadata(e),s=a.annotation,l=a.metadata,c=function(t){var n=new vn({isHost:!1,type:l.type,isComponent:l.isComponent,selector:l.selector,exportAs:l.exportAs,changeDetection:l.changeDetection,inputs:l.inputs,outputs:l.outputs,hostListeners:l.hostListeners,hostProperties:l.hostProperties,hostAttributes:l.hostAttributes,providers:l.providers,viewProviders:l.viewProviders,queries:l.queries,guards:l.guards,viewQueries:l.viewQueries,entryComponents:l.entryComponents,componentViewType:l.componentViewType,rendererType:l.rendererType,componentFactory:l.componentFactory,template:t});return t&&r.initComponentFactory(l.componentFactory,t.ngContentSelectors),r._directiveCache.set(e,n),r._summaryCache.set(e,n.toSummary()),null};if(l.isComponent){var u=l.template,p=this._directiveNormalizer.normalizeTemplate({ngModuleType:t,componentType:e,moduleUrl:this._reflector.componentModuleUrl(e,s),encapsulation:u.encapsulation,template:u.template,templateUrl:u.templateUrl,styles:u.styles,styleUrls:u.styleUrls,animations:u.animations,interpolation:u.interpolation,preserveWhitespaces:u.preserveWhitespaces});return ze(p)&&n?(this._reportError((i=e,(o=Error("Can't compile synchronously as "+Ve(i)+" is still being loaded!"))[Od]=i,o),e),null):De(p,c)}return c(null),null},t.prototype.getNonNormalizedDirectiveMetadata=function(t){var e=this;if(!(t=Be(t)))return null;var n=this._nonNormalizedDirectiveCache.get(t);if(n)return n;var r=this._directiveResolver.resolve(t,!1);if(!r)return null;var i=void 0;if(M.isTypeOf(r)){_o("styles",(a=r).styles),_o("styleUrls",a.styleUrls),xo("interpolation",a.interpolation);var o=a.animations;i=new yn({encapsulation:ke(a.encapsulation),template:ke(a.template),templateUrl:ke(a.templateUrl),htmlAst:null,styles:a.styles||[],styleUrls:a.styleUrls||[],animations:o||[],interpolation:ke(a.interpolation),isInline:!!a.template,externalStylesheets:[],ngContentSelectors:[],preserveWhitespaces:ke(r.preserveWhitespaces)})}var a,s=null,l=[],c=[],u=r.selector;M.isTypeOf(r)?(s=(a=r).changeDetection,a.viewProviders&&(l=this._getProvidersMetadata(a.viewProviders,c,'viewProviders for "'+Ad(t)+'"',[],t)),a.entryComponents&&(c=Sd(a.entryComponents).map(function(t){return e._getEntryComponentMetadata(t)}).concat(c)),u||(u=this._schemaRegistry.getDefaultComponentElementName())):u||(this._reportError(Ie("Directive "+Ad(t)+" has no selector, please add it!"),t),u="error");var p=[];null!=r.providers&&(p=this._getProvidersMetadata(r.providers,c,'providers for "'+Ad(t)+'"',[],t));var d=[],h=[];null!=r.queries&&(d=this._getQueriesMetadata(r.queries,!1,t),h=this._getQueriesMetadata(r.queries,!0,t));var f=vn.create({isHost:!1,selector:u,exportAs:ke(r.exportAs),isComponent:!!i,type:this._getTypeMetadata(t),template:i,changeDetection:s,inputs:r.inputs||[],outputs:r.outputs||[],host:r.host||{},providers:p||[],viewProviders:l||[],queries:d||[],guards:r.guards||{},viewQueries:h||[],entryComponents:c,componentViewType:i?this.getComponentViewClass(t):null,rendererType:i?this.getRendererType(t):null,componentFactory:null});return i&&(f.componentFactory=this.getComponentFactory(u,t,f.inputs,f.outputs)),n={metadata:f,annotation:r},this._nonNormalizedDirectiveCache.set(t,n),n},t.prototype.getDirectiveMetadata=function(t){var e=this._directiveCache.get(t);return e||this._reportError(Ie("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive "+Ad(t)+"."),t),e},t.prototype.getDirectiveSummary=function(t){var e=this._loadSummary(t,sn.Directive);return e||this._reportError(Ie("Illegal state: Could not load the summary for directive "+Ad(t)+"."),t),e},t.prototype.isDirective=function(t){return!!this._loadSummary(t,sn.Directive)||this._directiveResolver.isDirective(t)},t.prototype.isPipe=function(t){return!!this._loadSummary(t,sn.Pipe)||this._pipeResolver.isPipe(t)},t.prototype.isNgModule=function(t){return!!this._loadSummary(t,sn.NgModule)||this._ngModuleResolver.isNgModule(t)},t.prototype.getNgModuleSummary=function(t,e){void 0===e&&(e=null);var n=this._loadSummary(t,sn.NgModule);if(!n){var r=this.getNgModuleMetadata(t,!1,e);(n=r?r.toSummary():null)&&this._summaryCache.set(t,n)}return n},t.prototype.loadNgModuleDirectiveAndPipeMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.getNgModuleMetadata(t,n),o=[];return i&&(i.declaredDirectives.forEach(function(n){var i=r.loadDirectiveMetadata(t,n.reference,e);i&&o.push(i)}),i.declaredPipes.forEach(function(t){return r._loadPipeMetadata(t.reference)})),Promise.all(o)},t.prototype.getShallowModuleMetadata=function(t){var e=this._shallowModuleCache.get(t);if(e)return e;var n=Pp(this._reflector.shallowAnnotations(t),z.isTypeOf);return e={type:this._getTypeMetadata(t),rawExports:n.exports,rawImports:n.imports,rawProviders:n.providers},this._shallowModuleCache.set(t,e),e},t.prototype.getNgModuleMetadata=function(t,e,n){var r=this;void 0===e&&(e=!0),void 0===n&&(n=null),t=Be(t);var i=this._ngModuleCache.get(t);if(i)return i;var a=this._ngModuleResolver.resolve(t,e);if(!a)return null;var s=[],l=[],c=[],u=[],p=[],d=[],h=[],f=[],m=[];a.imports&&Sd(a.imports).forEach(function(e){var i=void 0;if(kd(e))i=e;else if(e&&e.ngModule){var a=e;i=a.ngModule,a.providers&&d.push.apply(d,Object(o.g)(r._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(i)+"'",[],e)))}if(i){if(!r._checkSelfImport(t,i))if(n||(n=new Set),n.has(i))r._reportError(Ie(r._getTypeDescriptor(i)+" '"+Ad(e)+"' is imported recursively by the module '"+Ad(t)+"'."),t);else{n.add(i);var s=r.getNgModuleSummary(i,n);n.delete(i),s?u.push(s):r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' imported by the module '"+Ad(t)+"'. Please add a @NgModule annotation."),t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' imported by the module '"+Ad(t)+"'"),t)}),a.exports&&Sd(a.exports).forEach(function(e){if(kd(e))if(n||(n=new Set),n.has(e))r._reportError(Ie(r._getTypeDescriptor(e)+" '"+Ve(e)+"' is exported recursively by the module '"+Ad(t)+"'"),t);else{n.add(e);var i=r.getNgModuleSummary(e,n);n.delete(e),i?p.push(i):l.push(r._getIdentifierMetadata(e))}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' exported by the module '"+Ad(t)+"'"),t)});var g=this._getTransitiveNgModuleMetadata(u,p);a.declarations&&Sd(a.declarations).forEach(function(e){if(kd(e)){var n=r._getIdentifierMetadata(e);if(r.isDirective(e))g.addDirective(n),s.push(n),r._addTypeToModule(e,t);else{if(!r.isPipe(e))return void r._reportError(Ie("Unexpected "+r._getTypeDescriptor(e)+" '"+Ad(e)+"' declared by the module '"+Ad(t)+"'. Please add a @Pipe/@Directive/@Component annotation."),t);g.addPipe(n),g.pipes.push(n),c.push(n),r._addTypeToModule(e,t)}}else r._reportError(Ie("Unexpected value '"+Ad(e)+"' declared by the module '"+Ad(t)+"'"),t)});var y=[],v=[];return l.forEach(function(e){if(g.directivesSet.has(e.reference))y.push(e),g.addExportedDirective(e);else{if(!g.pipesSet.has(e.reference))return void r._reportError(Ie("Can't export "+r._getTypeDescriptor(e.reference)+" "+Ad(e.reference)+" from "+Ad(t)+" as it was neither declared nor imported!"),t);v.push(e),g.addExportedPipe(e)}}),a.providers&&d.push.apply(d,Object(o.g)(this._getProvidersMetadata(a.providers,h,"provider for the NgModule '"+Ad(t)+"'",[],t))),a.entryComponents&&h.push.apply(h,Object(o.g)(Sd(a.entryComponents).map(function(t){return r._getEntryComponentMetadata(t)}))),a.bootstrap&&Sd(a.bootstrap).forEach(function(e){kd(e)?f.push(r._getIdentifierMetadata(e)):r._reportError(Ie("Unexpected value '"+Ad(e)+"' used in the bootstrap property of module '"+Ad(t)+"'"),t)}),h.push.apply(h,Object(o.g)(f.map(function(t){return r._getEntryComponentMetadata(t.reference)}))),a.schemas&&m.push.apply(m,Object(o.g)(Sd(a.schemas))),i=new _n({type:this._getTypeMetadata(t),providers:d,entryComponents:h,bootstrapComponents:f,schemas:m,declaredDirectives:s,exportedDirectives:y,declaredPipes:c,exportedPipes:v,importedModules:u,exportedModules:p,transitiveModule:g,id:a.id||null}),h.forEach(function(t){return g.addEntryComponent(t)}),d.forEach(function(t){return g.addProvider(t,i.type)}),g.addModule(i.type),this._ngModuleCache.set(t,i),i},t.prototype._checkSelfImport=function(t,e){return t===e&&(this._reportError(Ie("'"+Ad(t)+"' module can't import itself"),t),!0)},t.prototype._getTypeDescriptor=function(t){if(kd(t)){if(this.isDirective(t))return"directive";if(this.isPipe(t))return"pipe";if(this.isNgModule(t))return"module"}return t.provide?"provider":"value"},t.prototype._addTypeToModule=function(t,e){var n=this._ngModuleOfTypes.get(t);n&&n!==e?this._reportError(Ie("Type "+Ad(t)+" is part of the declarations of 2 modules: "+Ad(n)+" and "+Ad(e)+"! Please consider moving "+Ad(t)+" to a higher module that imports "+Ad(n)+" and "+Ad(e)+". You can also create a new NgModule that exports and includes "+Ad(t)+" then import that NgModule in "+Ad(n)+" and "+Ad(e)+"."),e):this._ngModuleOfTypes.set(t,e)},t.prototype._getTransitiveNgModuleMetadata=function(t,e){var n=new wn,r=new Map;return t.concat(e).forEach(function(t){t.modules.forEach(function(t){return n.addModule(t)}),t.entryComponents.forEach(function(t){return n.addEntryComponent(t)});var e=new Set;t.providers.forEach(function(t){var i=mn(t.provider.token),o=r.get(i);o||(o=new Set,r.set(i,o));var a=t.module.reference;!e.has(i)&&o.has(a)||(o.add(a),e.add(i),n.addProvider(t.provider,t.module))})}),e.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addExportedDirective(t)}),t.exportedPipes.forEach(function(t){return n.addExportedPipe(t)})}),t.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addDirective(t)}),t.exportedPipes.forEach(function(t){return n.addPipe(t)})}),n},t.prototype._getIdentifierMetadata=function(t){return{reference:t=Be(t)}},t.prototype.isInjectable=function(t){return this._reflector.tryAnnotations(t).some(function(t){return H.isTypeOf(t)})},t.prototype.getInjectableSummary=function(t){return{summaryKind:sn.Injectable,type:this._getTypeMetadata(t,null,!1)}},t.prototype.getInjectableMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r=this._loadSummary(t,sn.Injectable),i=r?r.type:this._getTypeMetadata(t,e,n),o=this._reflector.annotations(t).filter(function(t){return H.isTypeOf(t)});if(0===o.length)return null;var a=o[o.length-1];return{symbol:t,type:i,providedIn:a.providedIn,useValue:a.useValue,useClass:a.useClass,useExisting:a.useExisting,useFactory:a.useFactory,deps:a.deps}},t.prototype._getTypeMetadata=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=!0);var r,i,o=this._getIdentifierMetadata(t);return{reference:o.reference,diDeps:this._getDependenciesMetadata(o.reference,e,n),lifecycleHooks:(r=this._reflector,i=o.reference,xd.filter(function(t){return Cd(r,t,i)}))}},t.prototype._getFactoryMetadata=function(t,e){return void 0===e&&(e=null),{reference:t=Be(t),diDeps:this._getDependenciesMetadata(t,e)}},t.prototype.getPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||this._reportError(Ie("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe "+Ad(t)+"."),t),e||null},t.prototype.getPipeSummary=function(t){var e=this._loadSummary(t,sn.Pipe);return e||this._reportError(Ie("Illegal state: Could not load the summary for pipe "+Ad(t)+"."),t),e},t.prototype.getOrLoadPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||(e=this._loadPipeMetadata(t)),e},t.prototype._loadPipeMetadata=function(t){t=Be(t);var e=this._pipeResolver.resolve(t),n=new bn({type:this._getTypeMetadata(t),name:e.name,pure:!!e.pure});return this._pipeCache.set(t,n),this._summaryCache.set(t,n.toSummary()),n},t.prototype._getDependenciesMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=!1,o=(e||this._reflector.parameters(t)||[]).map(function(t){var e=!1,n=!1,o=!1,a=!1,s=!1,l=null;return Array.isArray(t)?t.forEach(function(t){K.isTypeOf(t)?n=!0:W.isTypeOf(t)?o=!0:Y.isTypeOf(t)?a=!0:q.isTypeOf(t)?s=!0:k.isTypeOf(t)?(e=!0,l=t.attributeName):E.isTypeOf(t)?l=t.token:S.isTypeOf(t)||t instanceof nn?l=t:kd(t)&&null==l&&(l=t)}):l=t,null==l?(i=!0,{}):{isAttribute:e,isHost:n,isSelf:o,isSkipSelf:a,isOptional:s,token:r._getTokenMetadata(l)}});if(i){var a=o.map(function(t){return t.token?Ad(t.token):"?"}).join(", "),s="Can't resolve all parameters for "+Ad(t)+": ("+a+").";n||this._config.strictInjectionParameters?this._reportError(Ie(s),t):this._console.warn("Warning: "+s+" This will become an error in Angular v6.x")}return o},t.prototype._getTokenMetadata=function(t){return"string"==typeof(t=Be(t))?{value:t}:{identifier:{reference:t}}},t.prototype._getProvidersMetadata=function(t,e,n,r,i){var a=this;return void 0===r&&(r=[]),t.forEach(function(s,l){if(Array.isArray(s))a._getProvidersMetadata(s,e,n,r);else{var c=void 0;if((s=Be(s))&&"object"==typeof s&&s.hasOwnProperty("provide"))a._validateProvider(s),c=new Cn(s.provide,s);else{if(!kd(s)){if(void 0===s)return void a._reportError(Ie("Encountered undefined provider! Usually this means you have a circular dependencies. This might be caused by using 'barrel' index.ts files."));var u=t.reduce(function(t,e,n){return n"),t.value.visitExpression(this,e),e.print(t,")"),null},e.prototype.visitInstantiateExpr=function(t,e){return e.print(t,"new "),this.typeExpression++,t.classExpr.visitExpression(this,e),this.typeExpression--,e.print(t,"("),this.visitAllExpressions(t.args,e,","),e.print(t,")"),null},e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"class "+t.name),null!=t.parent&&(e.print(t," extends "),this.typeExpression++,t.parent.visitExpression(this,e),this.typeExpression--),e.println(t," {"),e.incIndent(),t.fields.forEach(function(t){return n._visitClassField(t,e)}),null!=t.constructorMethod&&this._visitClassConstructor(t,e),t.getters.forEach(function(t){return n._visitClassGetter(t,e)}),t.methods.forEach(function(t){return n._visitClassMethod(t,e)}),e.decIndent(),e.println(t,"}"),e.popClass(),null},e.prototype._visitClassField=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"/*private*/ "),t.hasModifier(Ct.Static)&&e.print(null,"static "),e.print(null,t.name),this._printColonType(t.type,e),t.initializer&&(e.print(null," = "),t.initializer.visitExpression(this,e)),e.println(null,";")},e.prototype._visitClassGetter=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,"get "+t.name+"()"),this._printColonType(t.type,e),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype._visitClassConstructor=function(t,e){e.print(t,"constructor("),this._visitParams(t.constructorMethod.params,e),e.println(t,") {"),e.incIndent(),this.visitAllStatements(t.constructorMethod.body,e),e.decIndent(),e.println(t,"}")},e.prototype._visitClassMethod=function(t,e){t.hasModifier(Ct.Private)&&e.print(null,"private "),e.print(null,t.name+"("),this._visitParams(t.params,e),e.print(null,")"),this._printColonType(t.type,e,"void"),e.println(null," {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println(null,"}")},e.prototype.visitFunctionExpr=function(t,e){return t.name&&(e.print(t,"function "),e.print(t,t.name)),e.print(t,"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),t.name||e.print(t," => "),e.println(t,"{"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print(t,"}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return t.hasModifier(Ct.Exported)&&e.print(t,"export "),e.print(t,"function "+t.name+"("),this._visitParams(t.params,e),e.print(t,")"),this._printColonType(t.type,e,"void"),e.println(t," {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println(t,"try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println(t,"} catch ("+Po.name+") {"),e.incIndent();var n=[Io.set(Po.prop("stack",null)).toDeclStmt(null,[Ct.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println(t,"}"),null},e.prototype.visitBuiltinType=function(t,e){var n;switch(t.name){case tt.Bool:n="boolean";break;case tt.Dynamic:n="any";break;case tt.Function:n="Function";break;case tt.Number:case tt.Int:n="number";break;case tt.String:n="string";break;case tt.None:n="never";break;default:throw new Error("Unsupported builtin type "+t.name)}return e.print(null,n),null},e.prototype.visitExpressionType=function(t,e){var n=this;return t.value.visitExpression(this,e),null!==t.typeParams&&(e.print(null,"<"),this.visitAllObjects(function(t){return n.visitType(t,e)},t.typeParams,e,","),e.print(null,">")),null},e.prototype.visitArrayType=function(t,e){return this.visitType(t.of,e),e.print(null,"[]"),null},e.prototype.visitMapType=function(t,e){return e.print(null,"{[key: string]:"),this.visitType(t.valueType,e),e.print(null,"}"),null},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case gt.ConcatArray:e="concat";break;case gt.SubscribeObservable:e="subscribe";break;case gt.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e.prototype._visitParams=function(t,e){var n=this;this.visitAllObjects(function(t){e.print(null,t.name),n._printColonType(t.type,e)},t,e,",")},e.prototype._visitIdentifier=function(t,e,n){var r=this,i=t.name,o=t.moduleName;if(this.referenceFilter&&this.referenceFilter(t))n.print(null,"(null as any)");else{if(o&&(!this.importFilter||!this.importFilter(t))){var a=this.importsWithPrefixes.get(o);null==a&&(a="i"+this.importsWithPrefixes.size,this.importsWithPrefixes.set(o,a)),n.print(null,a+".")}if(n.print(null,i),this.typeExpression>0)(e||[]).length>0&&(n.print(null,"<"),this.visitAllObjects(function(t){return t.visitType(r,n)},e,n,","),n.print(null,">"))}},e.prototype._printColonType=function(t,e,n){t!==lt&&(e.print(null,":"),this.visitType(t,e,n))},e}(No),zd=function(){function t(t){this._reflector=t}return t.prototype.isPipe=function(t){var e=this._reflector.annotations(Be(t));return e&&e.some(N.isTypeOf)},t.prototype.resolve=function(t,e){void 0===e&&(e=!0);var n=this._reflector.annotations(Be(t));if(n){var r=Pp(n,N.isTypeOf);if(r)return r}if(e)throw new Error("No Pipe decorator found on "+Ve(t));return null},t}(),Hd=(function(){function t(t,e){this.options=t,this.reflector=e}t.prototype.compileComponent=function(t,e,n,r,i,o){var a=this,s=new Map;r.forEach(function(t){return s.set(t.name,t.type.reference)});var l=0,c=function(t,n){var r=l++;return new Ud(a.options,a.reflector,i,t,e.type.reference,e.isHost,r,s,n,o,c)},u=c(null,[]);return u.visitAll([],n),u.build(t)}}(),new(function(){function t(){}return t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){return t===ja.event.name?de("_any"):null},t}())),Ud=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this.options=t,this.reflector=e,this.externalReferenceVars=n,this.parent=r,this.component=i,this.isHostComponent=o,this.embeddedViewIndex=a,this.pipes=s,this.guards=l,this.ctx=c,this.viewBuilderFactory=u,this.refOutputVars=new Map,this.variables=[],this.children=[],this.updates=[],this.actions=[]}return t.prototype.getOutputVar=function(t){var e;if(!(e=t===this.component&&this.isHostComponent?"_any":t instanceof nn?this.externalReferenceVars.get(t):"_any"))throw new Error("Illegal State: referring to a type without a variable "+JSON.stringify(t));return e},t.prototype.getTypeGuardExpressions=function(t){var e,n,r,i,a=Object(o.g)(this.guards);try{for(var s=Object(o.h)(t.directives),l=s.next();!l.done;l=s.next()){var c=l.value;try{for(var u=(r=void 0,Object(o.h)(c.inputs)),p=u.next();!p.done;p=u.next()){var d=p.value,h=c.directive.guards[d.directiveName];if(h){var f="UseIf"===h;a.push({guard:h,useIf:f,expression:{context:this.component,value:d.value}})}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return a},t.prototype.visitAll=function(t,e){this.variables=t,Al(this,e)},t.prototype.build=function(t,e){var n,r,i=this;void 0===e&&(e=[]),this.children.forEach(function(n){return n.build(t,e)});var a=[de("_any").set(Ut).toDeclStmt(st)],s=0;if(this.updates.forEach(function(t){var e=i.preprocessUpdateExpression(t),n=e.sourceSpan,r=e.context,l=e.value,c=""+s++,u=Ma(r===i.component?i:Hd,de(i.getOutputVar(r)),l,c,Pa.General),p=u.stmts,d=u.currValExpr;p.push(new Kt(d)),a.push.apply(a,Object(o.g)(p.map(function(t){return ce(t,n)})))}),this.actions.forEach(function(t){var e=t.sourceSpan,n=t.context,r=t.value,l=""+s++,c=Da(n===i.component?i:Hd,de(i.getOutputVar(n)),r,l).stmts;a.push.apply(a,Object(o.g)(c.map(function(t){return ce(t,e)})))}),this.guards.length){var l=void 0;try{for(var c=Object(o.h)(this.guards),u=c.next();!u.done;u=c.next()){var p=u.value,d=this.preprocessUpdateExpression(p.expression),h=d.context,f=d.value,m=""+s++,g=Ma(h===this.component?this:Hd,de(this.getOutputVar(h)),f,m,Pa.TrySimple),y=g.stmts,v=g.currValExpr;if(0==y.length){var b=p.useIf?v:this.ctx.importExpr(p.guard).callFn([v]);l=l?l.and(b):b}}}catch(x){n={error:x}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}l&&(a=[new ee(l,a)])}var _="_View_"+t+"_"+this.embeddedViewIndex,w=new Yt(_,[],a);return e.push(w),e},t.prototype.visitBoundText=function(t,e){var n=this;t.value.ast.expressions.forEach(function(e){return n.updates.push({context:n.component,value:e,sourceSpan:t.sourceSpan})})},t.prototype.visitEmbeddedTemplate=function(t,e){if(this.visitElementOrTemplate(t),this.options.fullTemplateTypeCheck){var n=this.getTypeGuardExpressions(t),r=this.viewBuilderFactory(this,n);this.children.push(r),r.visitAll(t.variables,t.children)}},t.prototype.visitElement=function(t,e){var n=this;this.visitElementOrTemplate(t);t.inputs.forEach(function(t){n.updates.push({context:n.component,value:t.value,sourceSpan:t.sourceSpan})}),Al(this,t.children)},t.prototype.visitElementOrTemplate=function(t){var e=this;t.directives.forEach(function(t){e.visitDirective(t)}),t.references.forEach(function(t){var n=null;n=t.value&&t.value.identifier&&e.options.fullTemplateTypeCheck?t.value.identifier.reference:tt.Dynamic,e.refOutputVars.set(t.name,n)}),t.outputs.forEach(function(t){e.actions.push({context:e.component,value:t.handler,sourceSpan:t.sourceSpan})})},t.prototype.visitDirective=function(t){var e=this,n=t.directive.type.reference;t.inputs.forEach(function(t){return e.updates.push({context:e.component,value:t.value,sourceSpan:t.sourceSpan})}),this.options.fullTemplateTypeCheck&&(t.hostProperties.forEach(function(t){return e.updates.push({context:n,value:t.value,sourceSpan:t.sourceSpan})}),t.hostEvents.forEach(function(t){return e.actions.push({context:n,value:t.handler,sourceSpan:t.sourceSpan})}))},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype.getLocal=function(t){if(t==ja.event.name)return de(this.getOutputVar(tt.Dynamic));for(var e=this;e;e=e.parent){var n=void 0;if(null==(n=e.refOutputVars.get(t)))e.variables.find(function(e){return e.name===t})&&(n=tt.Dynamic);if(null!=n)return de(this.getOutputVar(n))}return null},t.prototype.pipeOutputVar=function(t){var e=this.pipes.get(t);if(!e)throw new Error("Illegal State: Could not find pipe "+t+" in template of "+this.component);return this.getOutputVar(e)},t.prototype.preprocessUpdateExpression=function(t){var e=this;return{sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(t){return function(t){var n=ge(t);return e.options.fullTemplateTypeCheck?n:n.cast(st)}},createLiteralMapConverter:function(t){return function(n){var r=ye(t.map(function(t,e){return{key:t.key,value:n[e],quoted:t.quoted}}));return e.options.fullTemplateTypeCheck?r:r.cast(st)}},createPipeConverter:function(t,n){return function(n){return(e.options.fullTemplateTypeCheck?de(e.pipeOutputVar(t)):de(e.getOutputVar(tt.Dynamic))).callMethod("transform",n)}}},t.value)}},t.prototype.visitNgContent=function(t,e){},t.prototype.visitText=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}(),Gd="class",qd="style",Wd=function(t,e){this.viewClassVar=t,this.rendererTypeVar=e},Yd=function(){function t(t){this._reflector=t}return t.prototype.compileComponent=function(t,e,n,r,i){var a,s=this,l=0,c=function t(e,n){void 0===n&&(n=new Map);e.forEach(function(e){var r=new Set,i=new Set,o=void 0;e instanceof Cl?(t(e.children,n),e.children.forEach(function(t){var e=n.get(t);e.staticQueryIds.forEach(function(t){return r.add(t)}),e.dynamicQueryIds.forEach(function(t){return i.add(t)})}),o=e.queryMatches):e instanceof Ol&&(t(e.children,n),e.children.forEach(function(t){var e=n.get(t);e.staticQueryIds.forEach(function(t){return i.add(t)}),e.dynamicQueryIds.forEach(function(t){return i.add(t)})}),o=e.queryMatches),o&&o.forEach(function(t){return r.add(t.queryId)}),i.forEach(function(t){return r.delete(t)}),n.set(e,{staticQueryIds:r,dynamicQueryIds:i})});return n}(n),u=void 0;if(!e.isHost){var p=e.template,d=[];p.animations&&p.animations.length&&d.push(new Bt("animation",ad(t,p.animations),!0));var h=de(dn(e.type.reference));u=h.name,t.statements.push(h.set(he(Je.createRendererType2).callFn([new zt([new Bt("encapsulation",_e(p.encapsulation),!1),new Bt("styles",r,!1),new Bt("data",new zt(d),!1)])])).toDeclStmt(fe(Je.RendererType2),[Ct.Final,Ct.Exported]))}var f=function(n){var r=l++;return new th(s._reflector,t,n,e,r,i,c,f)},m=f(null);return m.visitAll([],n),(a=t.statements).push.apply(a,Object(o.g)(m.build())),new Wd(m.viewName,u)},t}(),Kd=de("_l"),Qd=de("_v"),Xd=de("_ck"),Zd=de("_co"),$d=de("en"),Jd=de("ad"),th=function(){function t(t,e,n,r,i,o,a,s){this.reflector=t,this.outputCtx=e,this.parent=n,this.component=r,this.embeddedViewIndex=i,this.usedPipes=o,this.staticQueryIds=a,this.viewBuilderFactory=s,this.nodes=[],this.purePipeNodeIndices=Object.create(null),this.refNodeIndices=Object.create(null),this.variables=[],this.children=[],this.compType=this.embeddedViewIndex>0?st:me(e.importExpr(this.component.type.reference)),this.viewName=pn(this.component.type.reference,this.embeddedViewIndex)}return t.prototype.visitAll=function(t,e){var n,r,i,o=this;if(this.variables=t,this.parent||this.usedPipes.forEach(function(t){t.pure&&(o.purePipeNodeIndices[t.name]=o._createPipe(null,t))}),!this.parent){var a=(n=this.staticQueryIds,r=new Set,i=new Set,Array.from(n.values()).forEach(function(t){t.staticQueryIds.forEach(function(t){return r.add(t)}),t.dynamicQueryIds.forEach(function(t){return i.add(t)})}),i.forEach(function(t){return r.delete(t)}),{staticQueryIds:r,dynamicQueryIds:i});this.component.viewQueries.forEach(function(t,e){var n=e+1,r=t.first?0:1,i=134217728|oh(a,n,t);o.nodes.push(function(){return{sourceSpan:null,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(n),new zt([new Bt(t.propertyName,_e(r),!1)])])}})})}Al(this,e),this.parent&&(0===e.length||function t(e){var n=e[e.length-1];if(n instanceof Ol)return n.hasViewContainer;if(n instanceof Cl)return s(n.name)&&n.children.length?t(n.children):n.hasViewContainer;return n instanceof jl}(e))&&this.nodes.push(function(){return{sourceSpan:null,nodeFlags:1,nodeDef:he(Je.anchorDef).callFn([_e(0),Ut,Ut,_e(0)])}})},t.prototype.build=function(t){void 0===t&&(t=[]),this.children.forEach(function(e){return e.build(t)});var e=this._createNodeExpressions(),n=e.updateRendererStmts,r=e.updateDirectivesStmts,i=e.nodeDefExprs,o=this._createUpdateFn(n),a=this._createUpdateFn(r),s=0;this.parent||this.component.changeDetection!==b.OnPush||(s|=2);var l=new Yt(this.viewName,[new Rt(Kd.name)],[new Qt(he(Je.viewDef).callFn([_e(s),ge(i),a,o]))],fe(Je.ViewDefinition),0===this.embeddedViewIndex?[Ct.Exported]:[]);return t.push(l),t},t.prototype._createUpdateFn=function(t){var e;if(t.length>0){var n=[];!this.component.isHost&&se(t).has(Zd.name)&&n.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),e=ve([new Rt(Xd.name,lt),new Rt(Qd.name,lt)],Object(o.g)(n,t),lt)}else e=Ut;return e},t.prototype.visitNgContent=function(t,e){this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:8,nodeDef:he(Je.ngContentDef).callFn([_e(t.ngContentIndex),_e(t.index)])}})},t.prototype.visitText=function(t,e){this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(-1),_e(t.ngContentIndex),ge([_e(t.value)])])}})},t.prototype.visitBoundText=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=t.value.ast,o=i.expressions.map(function(e,i){return n._preprocessUpdateExpression({nodeIndex:r,bindingIndex:i,sourceSpan:t.sourceSpan,context:Zd,value:e})}),a=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:2,nodeDef:he(Je.textDef).callFn([_e(a),_e(t.ngContentIndex),ge(i.strings.map(function(t){return _e(t)}))]),updateRenderer:o}}},t.prototype.visitEmbeddedTemplate=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=this._visitElementOrTemplate(r,t),o=i.flags,a=i.queryMatchesExpr,s=i.hostEvents,l=this.viewBuilderFactory(this);this.children.push(l),l.visitAll(t.variables,t.children);var c=this.nodes.length-r-1;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|o,nodeDef:he(Je.anchorDef).callFn([_e(o),a,_e(t.ngContentIndex),_e(c),n._createElementHandleEventFn(r,s),de(l.viewName)])}}},t.prototype.visitElement=function(t,e){var n=this,r=this.nodes.length;this.nodes.push(null);var i=s(t.name)?null:t.name,a=this._visitElementOrTemplate(r,t),l=a.flags,c=a.usedEvents,u=a.queryMatchesExpr,p=a.hostBindings,d=a.hostEvents,h=[],f=[],m=[];if(i){var g=t.inputs.map(function(t){return{context:Zd,inputAst:t,dirAst:null}}).concat(p);g.length&&(f=g.map(function(t,e){return n._preprocessUpdateExpression({context:t.context,nodeIndex:r,bindingIndex:e,sourceSpan:t.inputAst.sourceSpan,value:t.inputAst.value})}),h=g.map(function(t){return function(t,e){var n=t.type;switch(n){case 1:return ge([_e(1),_e(t.name),_e(t.securityContext)]);case 0:return ge([_e(8),_e(t.name),_e(t.securityContext)]);case 4:return ge([_e(8|(e&&e.directive.isComponent?32:16)),_e("@"+t.name),_e(t.securityContext)]);case 2:return ge([_e(2),_e(t.name),Ut]);case 3:return ge([_e(4),_e(t.name),_e(t.unit)]);default:throw new Error("unexpected "+n)}}(t.inputAst,t.dirAst)})),m=c.map(function(t){var e=Object(o.f)(t,2),n=e[0],r=e[1];return ge([_e(n),_e(r)])})}Al(this,t.children);var y=this.nodes.length-r-1,v=t.directives.find(function(t){return t.directive.isComponent}),b=Ut,_=Ut;v&&(_=this.outputCtx.importExpr(v.directive.componentViewType),b=this.outputCtx.importExpr(v.directive.rendererType));var w=r;this.nodes[r]=function(){return{sourceSpan:t.sourceSpan,nodeFlags:1|l,nodeDef:he(Je.elementDef).callFn([_e(w),_e(l),u,_e(t.ngContentIndex),_e(y),_e(i),i?eh(t):Ut,h.length?ge(h):Ut,m.length?ge(m):Ut,n._createElementHandleEventFn(r,d),_,b]),updateRenderer:f}}},t.prototype._visitElementOrTemplate=function(t,e){var n=this,r=0;e.hasViewContainer&&(r|=16777216);var i=new Map;e.outputs.forEach(function(t){var e=ih(t,null),n=e.name,r=e.target;i.set(ah(r,n),[r,n])}),e.directives.forEach(function(t){t.hostEvents.forEach(function(e){var n=ih(e,t),r=n.name,o=n.target;i.set(ah(o,r),[o,r])})});var a=[],s=[];this._visitComponentFactoryResolverProvider(e.directives),e.providers.forEach(function(r,l){var c=void 0,u=void 0;if(e.directives.forEach(function(t,e){t.directive.type.reference===mn(r.token)&&(c=t,u=e)}),c){var p=n._visitDirective(r,c,u,t,e.references,e.queryMatches,i,n.staticQueryIds.get(e)),d=p.hostBindings,h=p.hostEvents;a.push.apply(a,Object(o.g)(d)),s.push.apply(s,Object(o.g)(h))}else n._visitProvider(r,e.queryMatches)});var l=[];return e.queryMatches.forEach(function(t){var e=void 0;mn(t.value)===n.reflector.resolveExternalReference(Je.ElementRef)?e=0:mn(t.value)===n.reflector.resolveExternalReference(Je.ViewContainerRef)?e=3:mn(t.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(e=2),null!=e&&l.push(ge([_e(t.queryId),_e(e)]))}),e.references.forEach(function(e){var r=void 0;e.value?mn(e.value)===n.reflector.resolveExternalReference(Je.TemplateRef)&&(r=2):r=1,null!=r&&(n.refNodeIndices[e.name]=t,l.push(ge([_e(e.name),_e(r)])))}),e.outputs.forEach(function(t){s.push({context:Zd,eventAst:t,dirAst:null})}),{flags:r,usedEvents:Array.from(i.values()),queryMatchesExpr:l.length?ge(l):Ut,hostBindings:a,hostEvents:s}},t.prototype._visitDirective=function(t,e,n,r,i,o,a,s){var l=this,c=this.nodes.length;this.nodes.push(null),e.directive.queries.forEach(function(t,n){var r=e.contentQueryStartId+n,i=67108864|oh(s,r,t),o=t.first?0:1;l.nodes.push(function(){return{sourceSpan:e.sourceSpan,nodeFlags:i,nodeDef:he(Je.queryDef).callFn([_e(i),_e(r),new zt([new Bt(t.propertyName,_e(o),!1)])])}})});var u=this.nodes.length-c-1,p=this._visitProviderOrDirective(t,o),d=p.flags,h=p.queryMatchExprs,f=p.providerExpr,m=p.depsExpr;i.forEach(function(e){e.value&&mn(e.value)===mn(t.token)&&(l.refNodeIndices[e.name]=c,h.push(ge([_e(e.name),_e(4)])))}),e.directive.isComponent&&(d|=32768);var g=e.inputs.map(function(t,e){var n=ge([_e(e),_e(t.directiveName)]);return new Bt(t.directiveName,n,!1)}),y=[],v=e.directive;Object.keys(v.outputs).forEach(function(t){var e=v.outputs[t];a.has(e)&&y.push(new Bt(t,_e(e),!1))});var b=[];(e.inputs.length||(327680&d)>0)&&(b=e.inputs.map(function(t,e){return l._preprocessUpdateExpression({nodeIndex:c,bindingIndex:e,sourceSpan:t.sourceSpan,context:Zd,value:t.value})}));var _=he(Je.nodeValue).callFn([Qd,_e(c)]),w=e.hostProperties.map(function(t){return{context:_,dirAst:e,inputAst:t}}),x=e.hostEvents.map(function(t){return{context:_,eventAst:t,dirAst:e}}),C=c;return this.nodes[c]=function(){return{sourceSpan:e.sourceSpan,nodeFlags:16384|d,nodeDef:he(Je.directiveDef).callFn([_e(C),_e(d),h.length?ge(h):Ut,_e(u),f,m,g.length?new zt(g):Ut,y.length?new zt(y):Ut]),updateDirectives:b,directive:e.directive.type}},{hostBindings:w,hostEvents:x}},t.prototype._visitProvider=function(t,e){this._addProviderNode(this._visitProviderOrDirective(t,e))},t.prototype._visitComponentFactoryResolverProvider=function(t){var e=t.find(function(t){return t.directive.isComponent});if(e&&e.directive.entryComponents.length){var n=Md(this.reflector,this.outputCtx,8192,e.directive.entryComponents),r=n.providerExpr,i=n.depsExpr,o=n.flags,a=n.tokenExpr;this._addProviderNode({providerExpr:r,depsExpr:i,flags:o,tokenExpr:a,queryMatchExprs:[],sourceSpan:e.sourceSpan})}},t.prototype._addProviderNode=function(t){this.nodes.length;this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:t.flags,nodeDef:he(Je.providerDef).callFn([_e(t.flags),t.queryMatchExprs.length?ge(t.queryMatchExprs):Ut,t.tokenExpr,t.providerExpr,t.depsExpr])}})},t.prototype._visitProviderOrDirective=function(t,e){var n=[];e.forEach(function(e){mn(e.value)===mn(t.token)&&n.push(ge([_e(e.queryId),_e(4)]))});var r=Dd(this.outputCtx,t),i=r.providerExpr,o=r.depsExpr,a=r.flags,s=r.tokenExpr;return{flags:0|a,queryMatchExprs:n,providerExpr:i,depsExpr:o,tokenExpr:s,sourceSpan:t.sourceSpan}},t.prototype.getLocal=function(t){if(t==ja.event.name)return ja.event;for(var e=Qd,n=this;n;n=n.parent,e=e.prop("parent").cast(st)){var r=n.refNodeIndices[t];if(null!=r)return he(Je.nodeValue).callFn([e,_e(r)]);var i=n.variables.find(function(e){return e.name===t});if(i){var o=i.value||"$implicit";return e.prop("context").prop(o)}}return null},t.prototype.notifyImplicitReceiverUse=function(){},t.prototype._createLiteralArrayConverter=function(t,e){if(0===e){var n=he(Je.EMPTY_ARRAY);return function(){return n}}var r=this.nodes.length;return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:32,nodeDef:he(Je.pureArrayDef).callFn([_e(r),_e(e)])}}),function(t){return nh(r,t)}},t.prototype._createLiteralMapConverter=function(t,e){if(0===e.length){var n=he(Je.EMPTY_MAP);return function(){return n}}var r=ye(e.map(function(t,e){return Object(o.a)({},t,{value:_e(e)})})),i=this.nodes.length;return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:64,nodeDef:he(Je.pureObjectDef).callFn([_e(i),r])}}),function(t){return nh(i,t)}},t.prototype._createPipeConverter=function(t,e,n){var r=this.usedPipes.find(function(t){return t.name===e});if(r.pure){var i=this.nodes.length;this.nodes.push(function(){return{sourceSpan:t.sourceSpan,nodeFlags:128,nodeDef:he(Je.purePipeDef).callFn([_e(i),_e(n)])}});for(var o=Qd,a=this;a.parent;)a=a.parent,o=o.prop("parent").cast(st);var s=a.purePipeNodeIndices[e],l=he(Je.nodeValue).callFn([o,_e(s)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,nh(i,[l].concat(e)))}}var c=this._createPipe(t.sourceSpan,r),u=he(Je.nodeValue).callFn([Qd,_e(c)]);return function(e){return rh(t.nodeIndex,t.bindingIndex,u.callMethod("transform",e))}},t.prototype._createPipe=function(t,e){var n=this,r=this.nodes.length,i=0;e.type.lifecycleHooks.forEach(function(t){t===_d.OnDestroy&&(i|=Rd(t))});var o=e.type.diDeps.map(function(t){return Id(n.outputCtx,t)});return this.nodes.push(function(){return{sourceSpan:t,nodeFlags:16,nodeDef:he(Je.pipeDef).callFn([_e(i),n.outputCtx.importExpr(e.type.reference),ge(o)])}}),r},t.prototype._preprocessUpdateExpression=function(t){var e=this;return{nodeIndex:t.nodeIndex,bindingIndex:t.bindingIndex,sourceSpan:t.sourceSpan,context:t.context,value:Ta({createLiteralArrayConverter:function(n){return e._createLiteralArrayConverter(t.sourceSpan,n)},createLiteralMapConverter:function(n){return e._createLiteralMapConverter(t.sourceSpan,n)},createPipeConverter:function(n,r){return e._createPipeConverter(t,n,r)}},t.value)}},t.prototype._createNodeExpressions=function(){var t=this,e=0,n=[],r=[],i=this.nodes.map(function(t,e){var i=t(),s=i.nodeDef,l=i.nodeFlags,c=i.updateDirectives,u=i.updateRenderer,p=i.sourceSpan;return u&&n.push.apply(n,Object(o.g)(a(e,p,u,!1))),c&&r.push.apply(r,Object(o.g)(a(e,p,c,(327680&l)>0))),ue(3&l?new Ht([Kd.callFn([]).callFn([]),s]):s,p)});return{updateRendererStmts:n,updateDirectivesStmts:r,nodeDefExprs:i};function a(n,r,i,a){var s=[],l=i.map(function(n){var r=n.sourceSpan,i=n.context,a=n.value,l=""+e++,c=Ma(i===Zd?t:null,i,a,l,Pa.General),u=c.stmts,p=c.currValExpr;return s.push.apply(s,Object(o.g)(u.map(function(t){return ce(t,r)}))),ue(p,r)});return(i.length||a)&&s.push(ce(nh(n,l).toStmt(),r)),s}},t.prototype._createElementHandleEventFn=function(t,e){var n,r=this,i=[],a=0;if(e.forEach(function(t){var e=t.context,n=t.eventAst,o=t.dirAst,s=""+a++,l=Da(e===Zd?r:null,e,n.handler,s),c=l.stmts,u=l.allowDefault,p=c;u&&p.push(Jd.set(u.and(Jd)).toStmt());var d=ih(n,o),h=ah(d.target,d.name);i.push(ce(new ee(_e(h).identical($d),p),n.sourceSpan))}),i.length>0){var s=[Jd.set(_e(!0)).toDeclStmt(ct)];!this.component.isHost&&se(i).has(Zd.name)&&s.push(Zd.set(Qd.prop("component")).toDeclStmt(this.compType)),n=ve([new Rt(Qd.name,lt),new Rt($d.name,lt),new Rt(ja.event.name,lt)],Object(o.g)(s,i,[new Qt(Jd)]),lt)}else n=Ut;return n},t.prototype.visitDirective=function(t,e){},t.prototype.visitDirectiveProperty=function(t,e){},t.prototype.visitReference=function(t,e){},t.prototype.visitVariable=function(t,e){},t.prototype.visitEvent=function(t,e){},t.prototype.visitElementProperty=function(t,e){},t.prototype.visitAttr=function(t,e){},t}();function eh(t){var e=Object.create(null);return t.attrs.forEach(function(t){e[t.name]=t.value}),t.directives.forEach(function(t){Object.keys(t.directive.hostAttributes).forEach(function(n){var r,i,o,a=t.directive.hostAttributes[n],s=e[n];e[n]=null!=s?(i=s,o=a,(r=n)==Gd||r==qd?i+" "+o:o):a})}),ge(Object.keys(e).sort().map(function(t){return ge([_e(t),_e(e[t])])}))}function nh(t,e){return e.length>10?Xd.callFn([Qd,_e(t),_e(1),ge(e)]):Xd.callFn(Object(o.g)([Qd,_e(t),_e(0)],e))}function rh(t,e,n){return he(Je.unwrapValue).callFn([Qd,_e(t),_e(e),n])}function ih(t,e){return t.isAnimation?{name:"@"+t.name+"."+t.phase,target:e&&e.directive.isComponent?"component":null}:t}function oh(t,e,n){var r=0;return n.first&&function(t,e,n){return n.static||null==n.static&&(t.staticQueryIds.has(e)||!t.dynamicQueryIds.has(e))}(t,e,n)?r|=268435456:r|=536870912,r}function ah(t,e){return t?t+":"+e:e}var sh=function(){function t(t,e,n,r){void 0===r&&(r=null),this._htmlParser=t,this._implicitTags=e,this._implicitAttrs=n,this._locale=r,this._messages=[]}return t.prototype.updateFromTemplate=function(t,e,n){var r,i=this._htmlParser.parse(t,e,{tokenizeExpansionForms:!0,interpolationConfig:n});if(i.errors.length)return i.errors;var a=function(t,e,n,r){return new zp(n,r).extract(t,e)}(i.rootNodes,n,this._implicitTags,this._implicitAttrs);return a.errors.length?a.errors:((r=this._messages).push.apply(r,Object(o.g)(a.messages)),[])},t.prototype.getMessages=function(){return this._messages},t.prototype.write=function(t,e){var n={},r=new lh;this._messages.forEach(function(e){var r,i=t.digest(e);n.hasOwnProperty(i)?(r=n[i].sources).push.apply(r,Object(o.g)(e.sources)):n[i]=e});var i=Object.keys(n).map(function(i){var o=t.createNameMapper(n[i]),a=n[i],s=o?r.convert(a.nodes,o):a.nodes,l=new Ir(s,{},{},a.meaning,a.description,i);return l.sources=a.sources,e&&l.sources.forEach(function(t){return t.filePath=e(t.filePath)}),l});return t.write(i,this._locale)},t}(),lh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.convert=function(t,e){var n=this;return e?t.map(function(t){return t.visit(n,e)}):t},e.prototype.visitTagPlaceholder=function(t,e){var n=this,r=e.toPublicName(t.startName),i=t.closeName?e.toPublicName(t.closeName):t.closeName,o=t.children.map(function(t){return t.visit(n,e)});return new Fr(t.tag,t.attrs,r,i,o,t.isVoid,t.sourceSpan)},e.prototype.visitPlaceholder=function(t,e){return new Lr(t.value,e.toPublicName(t.name),t.sourceSpan)},e.prototype.visitIcuPlaceholder=function(t,e){return new Vr(t.value,e.toPublicName(t.name),t.sourceSpan)},e}(Br),ch=function(){function t(t,e,n){this.srcFileUrl=t,this.genFileUrl=e,"string"==typeof n?(this.source=n,this.stmts=null):(this.source=null,this.stmts=n)}return t.prototype.isEquivalent=function(t){return this.genFileUrl===t.genFileUrl&&(this.source?this.source===t.source:null!=t.stmts&&ht(this.stmts,t.stmts))},t}();function uh(t,e){var n,r,i,a,s=[];try{for(var l=Object(o.h)(t.transitiveModule.providers),c=l.next();!c.done;c=l.next()){var u=c.value,p=u.provider,d=u.module;if(mn(p.token)===e.ROUTES){var h=ph(p.useValue);try{for(var f=(i=void 0,Object(o.h)(h)),m=f.next();!m.done;m=f.next()){var g=m.value;s.push(dh(g,e,d.reference))}}catch(y){i={error:y}}finally{try{m&&!m.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}}}}catch(v){n={error:v}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}return s}function ph(t,e){var n,r;if(void 0===e&&(e=[]),"string"==typeof t)e.push(t);else if(Array.isArray(t))try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){ph(a.value,e)}}catch(s){n={error:s}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}else t.loadChildren?ph(t.loadChildren,e):t.children&&ph(t.children,e);return e}function dh(t,e,n){var r=Object(o.f)(t.split("#"),2),i=r[0],a=r[1],s=e.resolveExternalReference({moduleName:i,name:a},n?n.filePath:void 0);return{route:t,module:n||s,referencedModule:s}}var hh=/^(?!.*\.d\.ts$).*\.ts$/,fh=function(t,e){this.symbol=t,this.metadata=e},mh=function(){function t(t,e,n,r){this.host=t,this.staticSymbolCache=e,this.summaryResolver=n,this.errorRecorder=r,this.metadataCache=new Map,this.resolvedSymbols=new Map,this.resolvedFilePaths=new Set,this.importAs=new Map,this.symbolResourcePaths=new Map,this.symbolFromFile=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.resolveSymbol=function(t){if(t.members.length>0)return this._resolveSymbolMembers(t);var e=this._resolveSymbolFromSummary(t);if(e)return e;var n=this.resolvedSymbols.get(t);return n||(this._createSymbolsOf(t.filePath),this.resolvedSymbols.get(t))},t.prototype.getImportAs=function(t,e){if(void 0===e&&(e=!0),t.members.length){var n=this.getStaticSymbol(t.filePath,t.name);return(i=this.getImportAs(n,e))?this.getStaticSymbol(i.filePath,i.name,t.members):null}var r=t.filePath.replace(pd,".");if(r!==t.filePath){var i,o=t.name.replace(dd,"");n=this.getStaticSymbol(r,o,t.members);return(i=this.getImportAs(n,e))?this.getStaticSymbol(vd(i.filePath),bd(i.name),n.members):null}var a=e&&this.summaryResolver.getImportAs(t)||null;return a||(a=this.importAs.get(t)),a},t.prototype.getResourcePath=function(t){return this.symbolResourcePaths.get(t)||t.filePath},t.prototype.getTypeArity=function(t){if(e=t.filePath,ud.test(e))return null;for(var e,n=yh(this.resolveSymbol(t));n&&n.metadata instanceof nn;)n=yh(this.resolveSymbol(n.metadata));return n&&n.metadata&&n.metadata.arity||null},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.recordImportAs=function(t,e){t.assertNoMembers(),e.assertNoMembers(),this.importAs.set(t,e)},t.prototype.recordModuleNameForFileName=function(t,e){this.knownFileNameToModuleNames.set(t,e)},t.prototype.invalidateFile=function(t){var e,n;this.metadataCache.delete(t),this.resolvedFilePaths.delete(t);var r=this.symbolFromFile.get(t);if(r){this.symbolFromFile.delete(t);try{for(var i=Object(o.h)(r),a=i.next();!a.done;a=i.next()){var s=a.value;this.resolvedSymbols.delete(s),this.importAs.delete(s),this.symbolResourcePaths.delete(s)}}catch(l){e={error:l}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}},t.prototype.ignoreErrorsFor=function(t){var e=this.errorRecorder;this.errorRecorder=function(){};try{return t()}finally{this.errorRecorder=e}},t.prototype._resolveSymbolMembers=function(t){var e=t.members,n=this.resolveSymbol(this.getStaticSymbol(t.filePath,t.name));if(!n)return null;var r=yh(n.metadata);if(r instanceof nn)return new fh(t,this.getStaticSymbol(r.filePath,r.name,e));if(!r||"class"!==r.__symbolic){for(var i=r,o=0;o=0?{__symbolic:"reference",name:h}:n.has(h)?u.getStaticSymbol(e,h):void 0},i}(je)),[]),d=yh(p);return d instanceof nn?this.createExport(t,d):new fh(t,p)},t.prototype.createExport=function(t,e){return t.assertNoMembers(),e.assertNoMembers(),this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(e.filePath)&&this.importAs.set(e,this.getImportAs(t)||t),new fh(t,e)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.getModuleMetadata=function(t){var e=this.metadataCache.get(t);if(!e){var n=this.host.getMetadataFor(t);if(n){var r=-1;n.forEach(function(t){t&&t.version>r&&(r=t.version,e=t)})}if(e||(e={__symbolic:"module",version:4,module:t,metadata:{}}),4!=e.version){var i=2==e.version?"Unsupported metadata version "+e.version+" for module "+t+". This module should be compiled with a newer version of ngc":"Metadata version mismatch for module "+this.host.getOutputName(t)+", found version "+e.version+", expected 4";this.reportError(new Error(i))}this.metadataCache.set(t,e)}return e},t.prototype.getSymbolByModule=function(t,e,n){var r=this.resolveModule(t,n);return r?this.getStaticSymbol(r,e):(this.reportError(new Error("Could not resolve module "+t+(n?" relative to "+this.host.getOutputName(n):""))),this.getStaticSymbol("ERROR:"+t,e))},t.prototype.resolveModule=function(t,e){try{return this.host.moduleNameToFileName(t,e)}catch(n){console.error("Could not resolve module '"+t+"' relative to file "+e),this.reportError(n,void 0,e)}return null},t}();function gh(t){return t.startsWith("___")?t.substr(1):t}function yh(t){return t&&"resolved"===t.__symbolic?t.symbol:t}function vh(t,e,n){var r=bd(e.name);t.statements.push(ve([],[new Qt(n)],new ot(st)).toDeclStmt(r,[Ct.Final,Ct.Exported]))}var bh=function(t){function e(e,n,r){var i=t.call(this)||this;return i.symbolResolver=e,i.summaryResolver=n,i.srcFileName=r,i.symbols=[],i.indexBySymbol=new Map,i.reexportedBy=new Map,i.processedSummaryBySymbol=new Map,i.processedSummaries=[],i.unprocessedSymbolSummariesBySymbol=new Map,i.moduleName=e.getKnownModuleName(r),i}return Object(o.c)(e,t),e.prototype.addSummary=function(t){var e,n,r=this,i=this.unprocessedSymbolSummariesBySymbol.get(t.symbol),o=this.processedSummaryBySymbol.get(t.symbol);if(i||(i={symbol:t.symbol,metadata:void 0},this.unprocessedSymbolSummariesBySymbol.set(t.symbol,i),o={symbol:this.processValue(t.symbol,0)},this.processedSummaries.push(o),this.processedSummaryBySymbol.set(t.symbol,o)),!i.metadata&&t.metadata){var a=t.metadata||{};if("class"===a.__symbolic){var s={};Object.keys(a).forEach(function(t){"decorators"!==t&&(s[t]=a[t])}),a=s}else xh(a)&&(xh(n=a)&&yh(n.expression)instanceof nn||function(t){return xh(t)&&t.expression&&"select"===t.expression.__symbolic&&yh(t.expression.expression)instanceof nn}(a)||(a={__symbolic:"error",message:"Complex function calls are not supported."}));if(i.metadata=a,o.metadata=this.processValue(a,1),a instanceof nn&&this.summaryResolver.isLibraryFile(a.filePath)){var l=this.symbols[this.indexBySymbol.get(a)];e=l.name,wd.test(e)||this.reexportedBy.set(l,t.symbol)}}if(!i.type&&t.type&&(i.type=t.type,o.type=this.processValue(t.type,0),t.type.summaryKind===sn.NgModule)){var c=t.type;c.exportedDirectives.concat(c.exportedPipes).forEach(function(t){var e=t.reference;if(r.summaryResolver.isLibraryFile(e.filePath)&&!r.unprocessedSymbolSummariesBySymbol.has(e)){var n=r.summaryResolver.resolveSummary(e);n&&r.addSummary(n)}})}},e.prototype.serialize=function(t){var e=this,n=[];return{json:JSON.stringify({moduleName:this.moduleName,summaries:this.processedSummaries,symbols:this.symbols.map(function(r,i){r.assertNoMembers();var o=void 0;if(e.summaryResolver.isLibraryFile(r.filePath)){var a=e.reexportedBy.get(r);if(a)o=e.indexBySymbol.get(a);else if(t){var s=e.unprocessedSymbolSummariesBySymbol.get(r);s&&s.metadata&&"interface"===s.metadata.__symbolic||(o=r.name+"_"+i,n.push({symbol:r,exportAs:o}))}}return{__symbol:i,name:r.name,filePath:e.summaryResolver.toSummaryFileName(r.filePath,e.srcFileName),importAs:o}})}),exportAs:n}},e.prototype.processValue=function(t,e){return Ee(t,this,e)},e.prototype.visitOther=function(t,e){if(t instanceof nn){var n=this.symbolResolver.getStaticSymbol(t.filePath,t.name);return{__symbol:this.visitStaticSymbol(n,e),members:t.members}}},e.prototype.visitStringMap=function(e,n){return"resolved"===e.__symbolic?Ee(e.symbol,this,n):("error"===e.__symbolic&&(delete e.line,delete e.character),t.prototype.visitStringMap.call(this,e,n))},e.prototype.visitStaticSymbol=function(t,e){var n=this.indexBySymbol.get(t),r=null;if(1&e&&this.summaryResolver.isLibraryFile(t.filePath)){if(this.unprocessedSymbolSummariesBySymbol.has(t))return n;(r=this.loadSummary(t))&&r.metadata instanceof nn&&(n=this.visitStaticSymbol(r.metadata,e),r=null)}else if(null!=n)return n;return null==n&&(n=this.symbols.length,this.symbols.push(t)),this.indexBySymbol.set(t,n),r&&this.addSummary(r),n},e.prototype.loadSummary=function(t){var e=this.summaryResolver.resolveSummary(t);if(!e){var n=this.symbolResolver.resolveSymbol(t);n&&(e={symbol:n.symbol,metadata:n.metadata})}return e},e}(je),_h=function(){function t(t,e,n){this.outputCtx=t,this.symbolResolver=e,this.summaryResolver=n,this.data=[]}return t.prototype.addSourceType=function(t,e){this.data.push({summary:t,metadata:e,isLibrary:!1})},t.prototype.addLibType=function(t){this.data.push({summary:t,metadata:null,isLibrary:!0})},t.prototype.serialize=function(t){var e,n,r,i,a,s,l=this,c=new Map;try{for(var u=Object(o.h)(t),p=u.next();!p.done;p=u.next()){var d=p.value,h=d.symbol,f=d.exportAs;c.set(h,f)}}catch(S){e={error:S}}finally{try{p&&!p.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}var m=new Set;try{for(var g=Object(o.h)(this.data),y=g.next();!y.done;y=g.next()){var v=y.value,b=v.summary,_=v.metadata,w=v.isLibrary;if(b.summaryKind===sn.NgModule){m.add(b.type.reference);var x=b;try{for(var C=(a=void 0,Object(o.h)(x.modules)),O=C.next();!O.done;O=C.next()){var E=O.value;m.add(E.reference)}}catch(k){a={error:k}}finally{try{O&&!O.done&&(s=C.return)&&s.call(C)}finally{if(a)throw a.error}}}if(!w){bd(b.type.reference.name);vh(this.outputCtx,b.type.reference,this.serializeSummaryWithDeps(b,_))}}}catch(j){r={error:j}}finally{try{y&&!y.done&&(i=g.return)&&i.call(g)}finally{if(r)throw r.error}}m.forEach(function(t){if(l.summaryResolver.isLibraryFile(t.filePath)){var e=bd(c.get(t)||t.name);l.outputCtx.statements.push(de(e).set(l.serializeSummaryRef(t)).toDeclStmt(null,[Ct.Exported]))}})},t.prototype.serializeSummaryWithDeps=function(t,e){var n=this,r=[this.serializeSummary(t)],i=[];if(e instanceof _n)r.push.apply(r,Object(o.g)(e.declaredDirectives.concat(e.declaredPipes).map(function(t){return t.reference}).concat(e.transitiveModule.modules.map(function(t){return t.reference}).filter(function(t){return t!==e.type.reference})).map(function(t){return n.serializeSummaryRef(t)}))),i=e.providers;else if(t.summaryKind===sn.Directive){var a=t;i=a.providers.concat(a.viewProviders)}return r.push.apply(r,Object(o.g)(i.filter(function(t){return!!t.useClass}).map(function(t){return n.serializeSummary({summaryKind:sn.Injectable,type:t.useClass})}))),ge(r)},t.prototype.serializeSummaryRef=function(t){var e=this.symbolResolver.getStaticSymbol(vd(t.filePath),bd(t.name));return this.outputCtx.importExpr(e)},t.prototype.serializeSummary=function(t){var e=this.outputCtx,n=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return ge(t.map(function(t){return Ee(t,n,e)}))},t.prototype.visitStringMap=function(t,e){var n=this;return new zt(Object.keys(t).map(function(r){return new Bt(r,Ee(t[r],n,e),!1)}))},t.prototype.visitPrimitive=function(t,e){return _e(t)},t.prototype.visitOther=function(t,n){if(t instanceof nn)return e.importExpr(t);throw new Error("Illegal State: Encountered value "+t)},t}();return Ee(t,new n,null)},t}(),wh=function(t){function e(e,n){var r=t.call(this)||this;return r.symbolCache=e,r.summaryResolver=n,r}return Object(o.c)(e,t),e.prototype.deserialize=function(t,e){var n=this,r=JSON.parse(e),i=[];this.symbols=r.symbols.map(function(e){return n.symbolCache.get(n.summaryResolver.fromSummaryFileName(e.filePath,t),e.name)}),r.symbols.forEach(function(e,r){var o=n.symbols[r],a=e.importAs;"number"==typeof a?i.push({symbol:o,importAs:n.symbols[a]}):"string"==typeof a&&i.push({symbol:o,importAs:n.symbolCache.get(hd(t),a)})});var o=Ee(r.summaries,this,null);return{moduleName:r.moduleName,summaries:o,importAs:i}},e.prototype.visitStringMap=function(e,n){if("__symbol"in e){var r=this.symbols[e.__symbol],i=e.members;return i.length?this.symbolCache.get(r.filePath,r.name,i):r}return t.prototype.visitStringMap.call(this,e,n)},e}(je);function xh(t){return t&&"call"===t.__symbolic}!function(){function t(t,e,n,r,i,o,a,s,l,c,u,p,d,h){this._config=t,this._options=e,this._host=n,this.reflector=r,this._metadataResolver=i,this._templateParser=o,this._styleCompiler=a,this._viewCompiler=s,this._typeCheckCompiler=l,this._ngModuleCompiler=c,this._injectableCompiler=u,this._outputEmitter=p,this._summaryResolver=d,this._symbolResolver=h,this._templateAstCache=new Map,this._analyzedFiles=new Map,this._analyzedFilesForInjectables=new Map}t.prototype.clearCache=function(){this._metadataResolver.clearCache()},t.prototype.analyzeModulesSync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return n.ngModules.forEach(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)}),n},t.prototype.analyzeModulesAsync=function(t){var e=this,n=kh(t,this._host,this._symbolResolver,this._metadataResolver);return Promise.all(n.ngModules.map(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){return n})},t.prototype._analyzeFile=function(t){var e=this._analyzedFiles.get(t);return e||(e=Ah(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFiles.set(t,e)),e},t.prototype._analyzeFileForInjectables=function(t){var e=this._analyzedFilesForInjectables.get(t);return e||(e=function(t,e,n,r){var i=[],o=[];e.hasDecorators(r)&&e.getSymbolsOf(r).forEach(function(t){var r=e.resolveSymbol(t).metadata;if(r&&"error"!==r.__symbolic&&"class"===r.__symbolic)if(n.isInjectable(t)){var a=n.getInjectableMetadata(t,null,!1);a&&i.push(a)}else if(n.isNgModule(t)){var s=n.getShallowModuleMetadata(t);s&&o.push(s)}});return{fileName:r,injectables:i,shallowModules:o}}(this._host,this._symbolResolver,this._metadataResolver,t),this._analyzedFilesForInjectables.set(t,e)),e},t.prototype.findGeneratedFileNames=function(t){var e=this,n=[],r=this._analyzeFile(t);(this._options.allowEmptyCodegenFiles||r.directives.length||r.pipes.length||r.injectables.length||r.ngModules.length||r.exportsNonSourceFiles)&&(n.push(hd(r.fileName,!0)),this._options.enableSummariesForJit&&n.push(vd(r.fileName,!0)));var i=gd(md(r.fileName,!0)[1]);return r.directives.forEach(function(t){var o=e._metadataResolver.getNonNormalizedDirectiveMetadata(t).metadata;o.isComponent&&o.template.styleUrls.forEach(function(t){var a=e._host.resourceNameToFileName(t,r.fileName);if(!a)throw Ie("Couldn't resolve resource "+t+" relative to "+r.fileName);var s=(o.template.encapsulation||e._config.defaultEncapsulation)===v.Emulated;n.push(Eh(a,s,i)),e._options.allowEmptyCodegenFiles&&n.push(Eh(a,!s,i))})}),n},t.prototype.emitBasicStub=function(t,e){var n=this._createOutputContext(t);if(t.endsWith(".ngfactory.ts")){if(!e)throw new Error("Assertion error: require the original file for .ngfactory.ts stubs. File: "+t);var r=this._analyzeFile(e);this._createNgFactoryStub(n,r,1)}else if(t.endsWith(".ngsummary.ts")){if(this._options.enableSummariesForJit){if(!e)throw new Error("Assertion error: require the original file for .ngsummary.ts stubs. File: "+t);r=this._analyzeFile(e);Ch(n),r.ngModules.forEach(function(t){!function(t,e){vh(t,e,Ut)}(n,t.type.reference)})}}else t.endsWith(".ngstyle.ts")&&Ch(n);return this._codegenSourceModule("unknown",n)},t.prototype.emitTypeCheckStub=function(t,e){var n=this._analyzeFile(e),r=this._createOutputContext(t);return t.endsWith(".ngfactory.ts")&&this._createNgFactoryStub(r,n,2),r.statements.length>0?this._codegenSourceModule(n.fileName,r):null},t.prototype.loadFilesAsync=function(t,e){var n=this,r=t.map(function(t){return n._analyzeFile(t)}),i=[];r.forEach(function(t){return t.ngModules.forEach(function(t){return i.push(n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1))})});var o=e.map(function(t){return n._analyzeFileForInjectables(t)});return Promise.all(i).then(function(t){return{analyzedModules:Th(r),analyzedInjectables:o}})},t.prototype.loadFilesSync=function(t,e){var n=this,r=t.map(function(t){return n._analyzeFile(t)});r.forEach(function(t){return t.ngModules.forEach(function(t){return n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!0)})});var i=e.map(function(t){return n._analyzeFileForInjectables(t)});return{analyzedModules:Th(r),analyzedInjectables:i}},t.prototype._createNgFactoryStub=function(t,e,n){var r=this,i=0;e.ngModules.forEach(function(e,a){r._ngModuleCompiler.createStub(t,e.type.reference);var s=Object(o.g)(e.transitiveModule.directives.map(function(t){return t.reference}),e.transitiveModule.pipes.map(function(t){return t.reference}),e.importedModules.map(function(t){return t.type.reference}),e.exportedModules.map(function(t){return t.type.reference}),r._externalIdentifierReferences([Je.TemplateRef,Je.ElementRef])),l=new Map;s.forEach(function(t,e){l.set(t,"_decl"+a+"_"+e)}),l.forEach(function(e,n){t.statements.push(de(e).set(Ut.cast(st)).toDeclStmt(me(t.importExpr(n,null,!1))))}),2&n&&e.declaredDirectives.forEach(function(n){var o=r._metadataResolver.getDirectiveMetadata(n.reference);o.isComponent&&(i++,r._createTypeCheckBlock(t,o.type.reference.name+"_Host_"+i,e,r._metadataResolver.getHostComponentMetadata(o),[o.type],l),r._createTypeCheckBlock(t,o.type.reference.name+"_"+i,e,o,e.transitiveModule.directives,l))})}),0===t.statements.length&&Ch(t)},t.prototype._externalIdentifierReferences=function(t){var e,n,r=[];try{for(var i=Object(o.h)(t),a=i.next();!a.done;a=i.next()){var s=a.value,l=en(this.reflector,s);l.identifier&&r.push(l.identifier.reference)}}catch(c){e={error:c}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype._createTypeCheckBlock=function(t,e,n,r,i,a){var s,l=this._parseTemplate(r,n,i),c=l.template,u=l.pipes;(s=t.statements).push.apply(s,Object(o.g)(this._typeCheckCompiler.compileComponent(e,r,c,u,a,t)))},t.prototype.emitMessageBundle=function(t,e){var n=this,r=[],i=new Js,a=new sh(i,[],{},e);if(t.files.forEach(function(t){var e=[];t.directives.forEach(function(t){var r=n._metadataResolver.getDirectiveMetadata(t);r&&r.isComponent&&e.push(r)}),e.forEach(function(t){var e=t.template.template,n=t.template.templateUrl,i=Co.fromArray(t.template.interpolation);r.push.apply(r,Object(o.g)(a.updateFromTemplate(e,n,i)))})}),r.length)throw new Error(r.map(function(t){return t.toString()}).join("\n"));return a},t.prototype.emitAllPartialModules=function(t,e){var n=this,r=t.ngModuleByPipeOrDirective,i=t.files,a=new Map,s=function(t){return a.has(t)||a.set(t,n._createOutputContext(t)),a.get(t)};return i.forEach(function(t){return n._compilePartialModule(t.fileName,r,t.directives,t.pipes,t.ngModules,t.injectables,s(t.fileName))}),e.forEach(function(t){return n._compileShallowModules(t.fileName,t.shallowModules,s(t.fileName))}),Array.from(a.values()).map(function(t){return{fileName:t.genFilePath,statements:Object(o.g)(t.constantPool.statements,t.statements)}})},t.prototype._compileShallowModules=function(t,e,n){var r=this;e.forEach(function(t){return e=n,i=t,a=r._injectableCompiler,s=cn(i.type),l=i.rawImports?[i.rawImports]:[],c=i.rawExports?[i.rawExports]:[],u=Ci({factory:a.factoryFor({type:i.type,symbol:i.type.reference},e),providers:mo(i.rawProviders,e),imports:mo(Object(o.g)(l,c),e)}),p=he(jn.defineInjector).callFn([u]),void e.statements.push(new te(s,null,[new Zt("ngInjectorDef",lt,[Ct.Static],p)],[],new $t(null,[],[]),[]));var e,i,a,s,l,c,u,p})},t.prototype._compilePartialModule=function(t,e,n,r,i,a,s){var l=this,c=new ru,u=new Ul(this._templateParser.expressionParser,Oo,c,[],[]);n.forEach(function(t){var n=l._metadataResolver.getDirectiveMetadata(t);if(n.isComponent){var r=e.get(t);r||Pe("Cannot determine the module for component '"+cn(n.type)+"'");var i=n.template.htmlAst;n.template.preserveWhitespaces||(i=sl(i));var a=ou(i.rootNodes,u),c=new Map;r.transitiveModule.directives.map(function(t){return l._metadataResolver.getDirectiveSummary(t.reference)}).forEach(function(t){t.selector&&c.set(t.selector,t.type.reference)});var p=new Map;r.transitiveModule.pipes.map(function(t){return l._metadataResolver.getPipeSummary(t.reference)}).forEach(function(t){p.set(t.name,t.type.reference)}),function(t,e,n,r,i,a,s){var l=cn(e.type);l||Pe("Cannot resolver the name of "+e.type);var c=t.constantPool.propertyNameOf(2),u=e.toSummary(),p=Ku(Object(o.a)({},Qu(e,t,r),{selector:e.selector,template:{nodes:n.nodes},directives:[],pipes:lp(s,t),viewQueries:Xu(e.viewQueries,t),wrapDirectivesAndPipesInClosure:!1,styles:u.template&&u.template.styles||Uu,encapsulation:u.template&&u.template.encapsulation||v.Emulated,interpolation:Oo,animations:null,viewProviders:e.viewProviders.length>0?new bt(e.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),t.constantPool,i);t.statements.push(new te(l,null,[new Zt(c,lt,[Ct.Static],p.expression)],[],new $t(null,[],[]),[]))}(s,n,a,l.reflector,u,0,p)}else!function(t,e,n,r){var i=cn(e.type);i||Pe("Cannot resolver the name of "+e.type);var o=t.constantPool.propertyNameOf(1),a=Yu(Qu(e,t,n),t.constantPool,r);t.statements.push(new te(i,null,[new Zt(o,lt,[Ct.Static],a.expression)],[],new $t(null,[],[]),[]))}(s,n,l.reflector,u)}),r.forEach(function(t){var e=l._metadataResolver.getPipeMetadata(t);e&&function(t,e,n){var r=cn(e.type);if(!r)return Pe("Cannot resolve the name of "+e.type);var i=Wo({name:r,pipeName:e.name,type:t.importExpr(e.type.reference),typeArgumentCount:0,deps:uo(e.type,t,n),pure:e.pure}),o=t.constantPool.propertyNameOf(3);t.statements.push(new te(r,null,[new Zt(o,lt,[Ct.Static],i.expression)],[],new $t(null,[],[]),[]))}(s,e,l.reflector)}),a.forEach(function(t){return l._injectableCompiler.compile(t,s)})},t.prototype.emitAllPartialModules2=function(t){var e=this;return t.reduce(function(t,n){return t.push.apply(t,Object(o.g)(e._emitPartialModule2(n.fileName,n.injectables))),t},[])},t.prototype._emitPartialModule2=function(t,e){var n=this,r=this._createOutputContext(t);return e.forEach(function(t){return n._injectableCompiler.compile(t,r)}),r.statements&&r.statements.length>0?[{fileName:t,statements:Object(o.g)(r.constantPool.statements,r.statements)}]:[]},t.prototype.emitAllImpls=function(t){var e=this,n=t.ngModuleByPipeOrDirective;return On(t.files.map(function(t){return e._compileImplFile(t.fileName,n,t.directives,t.pipes,t.ngModules,t.injectables)}))},t.prototype._compileImplFile=function(t,e,n,r,i,a){var s=this,l=gd(md(t,!0)[1]),c=[],u=this._createOutputContext(hd(t,!0));if(c.push.apply(c,Object(o.g)(this._createSummary(t,n,r,i,a,u))),i.forEach(function(t){return s._compileModule(u,t)}),n.forEach(function(n){var r=s._metadataResolver.getDirectiveMetadata(n);if(r.isComponent){var i=e.get(n);if(!i)throw new Error("Internal Error: cannot determine the module for component "+cn(r.type)+"!");var o=s._styleCompiler.compileComponent(u,r);r.template.externalStylesheets.forEach(function(e){var n=s._styleCompiler.needsStyleShim(r);c.push(s._codegenStyles(t,r,e,n,l)),s._options.allowEmptyCodegenFiles&&c.push(s._codegenStyles(t,r,e,!n,l))});s._compileComponent(u,r,i,i.transitiveModule.directives,o,l);s._compileComponentFactory(u,r,i,l)}}),u.statements.length>0||this._options.allowEmptyCodegenFiles){var p=this._codegenSourceModule(t,u);c.unshift(p)}return c},t.prototype._createSummary=function(t,e,n,r,i,a){var s=this,l=this._symbolResolver.getSymbolsOf(t).map(function(t){return s._symbolResolver.resolveSymbol(t)}),c=Object(o.g)(r.map(function(t){return{summary:s._metadataResolver.getNgModuleSummary(t.type.reference),metadata:s._metadataResolver.getNgModuleMetadata(t.type.reference)}}),e.map(function(t){return{summary:s._metadataResolver.getDirectiveSummary(t),metadata:s._metadataResolver.getDirectiveMetadata(t)}}),n.map(function(t){return{summary:s._metadataResolver.getPipeSummary(t),metadata:s._metadataResolver.getPipeMetadata(t)}}),i.map(function(t){return{summary:s._metadataResolver.getInjectableSummary(t.symbol),metadata:s._metadataResolver.getInjectableSummary(t.symbol).type}})),u=this._options.enableSummariesForJit?this._createOutputContext(vd(t,!0)):null,p=function(t,e,n,r,i,o,a){void 0===a&&(a=!1);var s=new bh(r,n,t);i.forEach(function(t){return s.addSummary({symbol:t.symbol,metadata:t.metadata})}),o.forEach(function(t){var e=t.summary;t.metadata;s.addSummary({symbol:e.type.reference,metadata:void 0,type:e})});var l=s.serialize(a),c=l.json,u=l.exportAs;if(e){var p=new _h(e,r,n);o.forEach(function(t){var e=t.summary,n=t.metadata;p.addSourceType(e,n)}),s.unprocessedSymbolSummariesBySymbol.forEach(function(t){n.isLibraryFile(t.symbol.filePath)&&t.type&&p.addLibType(t.type)}),p.serialize(u)}return{json:c,exportAs:u}}(t,u,this._summaryResolver,this._symbolResolver,l,c,this._options.createExternalSymbolFactoryReexports),d=p.json;p.exportAs.forEach(function(t){a.statements.push(de(t.exportAs).set(a.importExpr(t.symbol)).toDeclStmt(null,[Ct.Exported]))});var h=[new ch(t,yd(t),d)];return u&&h.push(this._codegenSourceModule(t,u)),h},t.prototype._compileModule=function(t,e){var n=[];if(this._options.locale){var r=this._options.locale.replace(/_/g,"-");n.push({token:en(this.reflector,Je.LOCALE_ID),useValue:r})}this._options.i18nFormat&&n.push({token:en(this.reflector,Je.TRANSLATIONS_FORMAT),useValue:this._options.i18nFormat}),this._ngModuleCompiler.compile(t,e,n)},t.prototype._compileComponentFactory=function(t,e,n,r){var i=this._metadataResolver.getHostComponentMetadata(e),o=this._compileComponent(t,i,n,[e.type],null,r).viewClassVar,a=hn(e.type.reference),s=[];for(var l in e.inputs){var c=e.inputs[l];s.push(new Bt(l,_e(c),!1))}var u=[];for(var l in e.outputs){c=e.outputs[l];u.push(new Bt(l,_e(c),!1))}t.statements.push(de(a).set(he(Je.createComponentFactory).callFn([_e(e.selector),t.importExpr(e.type.reference),de(o),new zt(s),new zt(u),ge(e.template.ngContentSelectors.map(function(t){return _e(t)}))])).toDeclStmt(fe(Je.ComponentFactory,[me(t.importExpr(e.type.reference))],[J.Const]),[Ct.Final,Ct.Exported]))},t.prototype._compileComponent=function(t,e,n,r,i,o){var a=this._parseTemplate(e,n,r),s=a.template,l=a.pipes,c=i?de(i.stylesVar):ge([]),u=this._viewCompiler.compileComponent(t,e,s,c,l);return i&&Oh(this._symbolResolver,i,this._styleCompiler.needsStyleShim(e),o),u},t.prototype._parseTemplate=function(t,e,n){var r=this;if(this._templateAstCache.has(t.type.reference))return this._templateAstCache.get(t.type.reference);var i=t.template.preserveWhitespaces,o=n.map(function(t){return r._metadataResolver.getDirectiveSummary(t.reference)}),a=e.transitiveModule.pipes.map(function(t){return r._metadataResolver.getPipeSummary(t.reference)}),s=this._templateParser.parse(t,t.template.htmlAst,o,a,e.schemas,Sn(e.type,t,t.template),i);return this._templateAstCache.set(t.type.reference,s),s},t.prototype._createOutputContext=function(t){var e=this;return{statements:[],genFilePath:t,importExpr:function(n,r,i){if(void 0===r&&(r=null),void 0===i&&(i=!0),!(n instanceof nn))throw new Error("Internal error: unknown identifier "+JSON.stringify(n));var o=e._symbolResolver.getTypeArity(n)||0,a=e._symbolResolver.getImportAs(n,i)||n,s=a.filePath,l=a.name,c=a.members,u=e._fileNameToModuleName(s,t),p=u===e._fileNameToModuleName(t,t)?null:u,d=r||[],h=o-d.length,f=d.concat(new Array(h).fill(st));return c.reduce(function(t,e){return t.prop(e)},he(new At(p,l,null),f))},constantPool:new Ke}},t.prototype._fileNameToModuleName=function(t,e){return this._summaryResolver.getKnownModuleName(t)||this._symbolResolver.getKnownModuleName(t)||this._host.fileNameToModuleName(t,e)},t.prototype._codegenStyles=function(t,e,n,r,i){var o=this._createOutputContext(Eh(n.moduleUrl,r,i)),a=this._styleCompiler.compileStyles(o,e,n,r);return Oh(this._symbolResolver,a,r,i),this._codegenSourceModule(t,o)},t.prototype._codegenSourceModule=function(t,e){return new ch(t,e.genFilePath,e.statements)},t.prototype.listLazyRoutes=function(t,e){var n,r,i,a,s=this;if(t)return function t(e,n,r){var i,a;void 0===n&&(n=new Set);void 0===r&&(r=[]);if(n.has(e)||!e.name)return r;n.add(e);var l=uh(s._metadataResolver.getNgModuleMetadata(e,!0),s.reflector);try{for(var c=Object(o.h)(l),u=c.next();!u.done;u=c.next()){var p=u.value;r.push(p),t(p.referencedModule,n,r)}}catch(d){i={error:d}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(i)throw i.error}}return r}(dh(t,this.reflector).referencedModule);if(e){var l=[];try{for(var c=Object(o.h)(e.ngModules),u=c.next();!u.done;u=c.next()){var p=uh(u.value,this.reflector);try{for(var d=(i=void 0,Object(o.h)(p)),h=d.next();!h.done;h=d.next()){var f=h.value;l.push(f)}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}}}catch(g){n={error:g}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}return l}throw new Error("Either route or analyzedModules has to be specified!")}}();function Ch(t){t.statements.push(he(Je.ComponentFactory).toStmt())}function Oh(t,e,n,r){e.dependencies.forEach(function(e){e.setValue(t.getStaticSymbol(Eh(e.moduleUrl,n,r),e.name))})}function Eh(t,e,n){return t+(e?".shim":"")+".ngstyle"+n}function Sh(t,e,n,r){return Dh(function(t,e,n,r){var i=new Set,o=[],a=function(t){if(i.has(t)||!e.isSourceFile(t))return!1;i.add(t);var s=Ah(e,n,r,t);o.push(s),s.ngModules.forEach(function(t){t.transitiveModule.modules.forEach(function(t){return a(t.reference.filePath)})})};return t.forEach(function(t){return a(t)}),o}(t,e,n,r))}function kh(t,e,n,r){return jh(Sh(t,e,n,r))}function jh(t){if(t.symbolsMissingModule&&t.symbolsMissingModule.length)throw Ie(t.symbolsMissingModule.map(function(t){return"Cannot determine the module for class "+t.name+" in "+t.filePath+"! Add "+t.name+" to the NgModule to fix it."}).join("\n"));return t}function Ah(t,e,n,r){var i=[],o=[],a=[],s=[],l=e.hasDecorators(r),c=!1;return r.endsWith(".d.ts")&&!l||e.getSymbolsOf(r).forEach(function(r){var l=e.resolveSymbol(r).metadata;if(l&&"error"!==l.__symbolic){var u=!1;if("class"===l.__symbolic)if(n.isDirective(r))u=!0,i.push(r);else if(n.isPipe(r))u=!0,o.push(r);else if(n.isNgModule(r)){var p=n.getNgModuleMetadata(r,!1);p&&(u=!0,s.push(p))}else if(n.isInjectable(r)){u=!0;var d=n.getInjectableMetadata(r,null,!1);d&&a.push(d)}u||(c=c||function(t,e){var n=!1,r=function(){function e(){}return e.prototype.visitArray=function(t,e){var n=this;t.forEach(function(t){return Ee(t,n,e)})},e.prototype.visitStringMap=function(t,e){var n=this;Object.keys(t).forEach(function(r){return Ee(t[r],n,e)})},e.prototype.visitPrimitive=function(t,e){},e.prototype.visitOther=function(e,r){e instanceof nn&&!t.isSourceFile(e.filePath)&&(n=!0)},e}();return Ee(e,new r,null),n}(t,l))}}),{fileName:r,directives:i,pipes:o,ngModules:s,injectables:a,exportsNonSourceFiles:c}}function Dh(t){var e=[],n=new Map,r=new Set;t.forEach(function(t){t.ngModules.forEach(function(t){e.push(t),t.declaredDirectives.forEach(function(e){return n.set(e.reference,t)}),t.declaredPipes.forEach(function(e){return n.set(e.reference,t)})}),t.directives.forEach(function(t){return r.add(t)}),t.pipes.forEach(function(t){return r.add(t)})});var i=[];return r.forEach(function(t){n.has(t)||i.push(t)}),{ngModules:e,ngModuleByPipeOrDirective:n,symbolsMissingModule:i,files:t}}function Th(t){return jh(Dh(t))}var Ph="ngFormattedMessage";function Ih(t,e){if(void 0===e&&(e=0),!t)return"";var n=t.position?t.position.fileName+"("+(t.position.line+1)+","+(t.position.column+1)+")":"",r=n&&0!==e?" at "+n:"",i=""+(n&&0===e?n+": ":"")+t.message+r;return""+function t(e){if(e<=0)return"";if(e<6)return[""," "," "," "," "," "][e];var n=t(Math.floor(e/2));return n+n+(e%2==1?" ":"")}(e)+i+(t.next&&"\n"+Ih(t.next,e+2)||"")}var Rh="@angular/core",Mh=/^\$.*\$$/,Nh={__symbolic:"ignore"},Fh="useValue",Lh="provide",Vh=new Set([Fh,"useFactory","data","id","loadChildren"]);function Bh(t){return t&&"ignore"==t.__symbolic}var zh=function(){function t(t,e,n,r,i){var o=this;void 0===n&&(n=[]),void 0===r&&(r=[]),this.summaryResolver=t,this.symbolResolver=e,this.errorRecorder=i,this.annotationCache=new Map,this.shallowAnnotationCache=new Map,this.propertyCache=new Map,this.parameterCache=new Map,this.methodCache=new Map,this.staticCache=new Map,this.conversionMap=new Map,this.resolvedExternalReferences=new Map,this.annotationForParentClassWithSummaryKind=new Map,this.initializeConversionMap(),n.forEach(function(t){return o._registerDecoratorOrConstructor(o.getStaticSymbol(t.filePath,t.name),t.ctor)}),r.forEach(function(t){return o._registerFunction(o.getStaticSymbol(t.filePath,t.name),t.fn)}),this.annotationForParentClassWithSummaryKind.set(sn.Directive,[P,M]),this.annotationForParentClassWithSummaryKind.set(sn.Pipe,[N]),this.annotationForParentClassWithSummaryKind.set(sn.NgModule,[z]),this.annotationForParentClassWithSummaryKind.set(sn.Injectable,[H,N,P,M,z])}return t.prototype.componentModuleUrl=function(t){var e=this.findSymbolDeclaration(t);return this.symbolResolver.getResourcePath(e)},t.prototype.resolveExternalReference=function(t,e){var n=void 0;if(!e){n=t.moduleName+":"+t.name;var r=this.resolvedExternalReferences.get(n);if(r)return r}var i=this.symbolResolver.getSymbolByModule(t.moduleName,t.name,e),o=this.findSymbolDeclaration(i);return e||(this.symbolResolver.recordModuleNameForFileName(i.filePath,t.moduleName),this.symbolResolver.recordImportAs(o,i)),n&&this.resolvedExternalReferences.set(n,o),o},t.prototype.findDeclaration=function(t,e,n){return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(t,e,n))},t.prototype.tryFindDeclaration=function(t,e,n){var r=this;return this.symbolResolver.ignoreErrorsFor(function(){return r.findDeclaration(t,e,n)})},t.prototype.findSymbolDeclaration=function(t){var e=this.symbolResolver.resolveSymbol(t);if(e){var n=e.metadata;if(n&&"resolved"===n.__symbolic&&(n=n.symbol),n instanceof nn)return this.findSymbolDeclaration(e.metadata)}return t},t.prototype.tryAnnotations=function(t){var e=this.errorRecorder;this.errorRecorder=function(t,e){};try{return this.annotations(t)}finally{this.errorRecorder=e}},t.prototype.annotations=function(t){var e=this;return this._annotations(t,function(t,n){return e.simplify(t,n)},this.annotationCache)},t.prototype.shallowAnnotations=function(t){var e=this;return this._annotations(t,function(t,n){return e.simplify(t,n,!0)},this.shallowAnnotationCache)},t.prototype._annotations=function(t,e,n){var r=n.get(t);if(!r){r=[];var i=this.getTypeMetadata(t),a=this.findParentType(t,i);if(a){var s=this.annotations(a);r.push.apply(r,Object(o.g)(s))}var l=[];if(i.decorators&&(l=e(t,i.decorators))&&r.push.apply(r,Object(o.g)(l)),a&&!this.summaryResolver.isLibraryFile(t.filePath)&&this.summaryResolver.isLibraryFile(a.filePath)){var c=this.summaryResolver.resolveSummary(a);if(c&&c.type){var u=this.annotationForParentClassWithSummaryKind.get(c.type.summaryKind);u.some(function(t){return l.some(function(e){return t.isTypeOf(e)})})||this.reportError(nf(Uh("Class "+t.name+" in "+t.filePath+" extends from a "+sn[c.type.summaryKind]+" in another compilation unit without duplicating the decorator",void 0,"Please add a "+u.map(function(t){return t.ngMetadataName}).join(" or ")+" decorator to the class"),t),t)}}n.set(t,r.filter(function(t){return!!t}))}return r},t.prototype.propMetadata=function(t){var e=this,n=this.propertyCache.get(t);if(!n){var r=this.getTypeMetadata(t);n={};var i=this.findParentType(t,r);if(i){var a=this.propMetadata(i);Object.keys(a).forEach(function(t){n[t]=a[t]})}var s=r.members||{};Object.keys(s).forEach(function(r){var i=s[r].find(function(t){return"property"==t.__symbolic||"method"==t.__symbolic}),a=[];n[r]&&a.push.apply(a,Object(o.g)(n[r])),n[r]=a,i&&i.decorators&&a.push.apply(a,Object(o.g)(e.simplify(t,i.decorators)))}),this.propertyCache.set(t,n)}return n},t.prototype.parameters=function(t){var e=this;if(!(t instanceof nn))return this.reportError(new Error("parameters received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),[];try{var n=this.parameterCache.get(t);if(!n){var r=this.getTypeMetadata(t),i=this.findParentType(t,r),a=r?r.members:null,s=a?a.__ctor__:null;if(s){var l=s.find(function(t){return"constructor"==t.__symbolic}),c=l.parameters||[],u=this.simplify(t,l.parameterDecorators||[]);n=[],c.forEach(function(r,i){var a=[],s=e.trySimplify(t,r);s&&a.push(s);var l=u?u[i]:null;l&&a.push.apply(a,Object(o.g)(l)),n.push(a)})}else i&&(n=this.parameters(i));n||(n=[]),this.parameterCache.set(t,n)}return n}catch(p){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+p),p}},t.prototype._methodNames=function(t){var e=this.methodCache.get(t);if(!e){var n=this.getTypeMetadata(t);e={};var r=this.findParentType(t,n);if(r){var i=this._methodNames(r);Object.keys(i).forEach(function(t){e[t]=i[t]})}var o=n.members||{};Object.keys(o).forEach(function(t){var n=o[t].some(function(t){return"method"==t.__symbolic});e[t]=e[t]||n}),this.methodCache.set(t,e)}return e},t.prototype._staticMembers=function(t){var e=this.staticCache.get(t);if(!e){var n=this.getTypeMetadata(t).statics||{};e=Object.keys(n),this.staticCache.set(t,e)}return e},t.prototype.findParentType=function(t,e){var n=this.trySimplify(t,e.extends);if(n instanceof nn)return n},t.prototype.hasLifecycleHook=function(t,e){t instanceof nn||this.reportError(new Error("hasLifecycleHook received "+JSON.stringify(t)+" which is not a StaticSymbol"),t);try{return!!this._methodNames(t)[e]}catch(n){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+n),n}},t.prototype.guards=function(t){var e,n;if(!(t instanceof nn))return this.reportError(new Error("guards received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),{};var r=this._staticMembers(t),i={};try{for(var a=Object(o.h)(r),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.endsWith("TypeGuard")){var c=l.substr(0,l.length-"TypeGuard".length),u=void 0;c.endsWith("UseIf")?(c=l.substr(0,c.length-"UseIf".length),u="UseIf"):u=this.getStaticSymbol(t.filePath,t.name,[l]),i[c]=u}}}catch(p){e={error:p}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return i},t.prototype._registerDecoratorOrConstructor=function(t,e){this.conversionMap.set(t,function(t,n){return new(e.bind.apply(e,Object(o.g)([void 0],n)))})},t.prototype._registerFunction=function(t,e){this.conversionMap.set(t,function(t,n){return e.apply(void 0,n)})},t.prototype.initializeConversionMap=function(){this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Injectable"),H),this.injectionToken=this.findDeclaration(Rh,"InjectionToken"),this.opaqueToken=this.findDeclaration(Rh,"OpaqueToken"),this.ROUTES=this.tryFindDeclaration("@angular/router","ROUTES"),this.ANALYZE_FOR_ENTRY_COMPONENTS=this.findDeclaration(Rh,"ANALYZE_FOR_ENTRY_COMPONENTS"),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Inject"),E),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Attribute"),k),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChild"),A),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ContentChildren"),j),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChild"),T),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"ViewChildren"),D),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Input"),F),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Output"),L),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Pipe"),N),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostBinding"),V),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"HostListener"),B),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Directive"),P),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Component"),M),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"NgModule"),z),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Host"),K),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Self"),W),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"SkipSelf"),Y),this._registerDecoratorOrConstructor(this.findDeclaration(Rh,"Optional"),q)},t.prototype.getStaticSymbol=function(t,e,n){return this.symbolResolver.getStaticSymbol(t,e,n)},t.prototype.trySimplify=function(t,e){var n=this.errorRecorder;this.errorRecorder=function(t,e){};var r=this.simplify(t,e);return this.errorRecorder=n,r},t.prototype.simplify=function(t,e,n){void 0===n&&(n=!1);var r,i=this,a=Jh.empty,s=new Map;try{r=function t(e,n,r,l){function c(t){var e=i.symbolResolver.resolveSymbol(t);return e?e.metadata:null}function u(n){return t(e,n,r,0)}function p(n,o){if(n===e)return t(n,o,r+1,l);try{return t(n,o,r+1,l)}catch(c){if(!Gh(c))throw c;var a=c.chain?"references '"+c.symbol.name+"'":function(t){if(t.summary)return t.summary;switch(t.message){case qh:if(t.context&&t.context.className)return"references non-exported class "+t.context.className;break;case Wh:return"is not initialized";case Yh:return"is a destructured variable";case Kh:return"could not be resolved";case Qh:return t.context&&t.context.name?"calls '"+t.context.name+"'":"calls a function";case Xh:return t.context&&t.context.name?"references local variable "+t.context.name:"references a local variable"}return"contains the error"}(c),s={message:"'"+n.name+"' "+a,position:c.position,next:c.chain};i.error({message:c.message,advise:c.advise,context:c.context,chain:s,symbol:n},e)}}function d(n){var h,f,m,g;if($h(n))return n;if(n instanceof Array){var y=[];try{for(var v=Object(o.h)(n),b=v.next();!b.done;b=v.next()){var _=b.value;if(_&&"spread"===_.__symbolic){var w=u(_.expression);if(Array.isArray(w)){try{for(var x=(m=void 0,Object(o.h)(w)),C=x.next();!C.done;C=x.next()){var O=C.value;y.push(O)}}catch(G){m={error:G}}finally{try{C&&!C.done&&(g=x.return)&&g.call(x)}finally{if(m)throw m.error}}continue}}var E=d(_);Bh(E)||y.push(E)}}catch(q){h={error:q}}finally{try{b&&!b.done&&(f=v.return)&&f.call(v)}finally{if(h)throw h.error}}return y}if(n instanceof nn)return n===i.injectionToken||i.conversionMap.has(n)||l>0&&!n.members.length?n:null!=(N=c(S=n))?p(S,N):S;if(n){if(n.__symbolic){var S=void 0;switch(n.__symbolic){case"binop":var k=d(n.left);if(Bh(k))return k;var j=d(n.right);if(Bh(j))return j;switch(n.operator){case"&&":return k&&j;case"||":return k||j;case"|":return k|j;case"^":return k^j;case"&":return k&j;case"==":return k==j;case"!=":return k!=j;case"===":return k===j;case"!==":return k!==j;case"<":return k":return k>j;case"<=":return k<=j;case">=":return k>=j;case"<<":return k<>":return k>>j;case"+":return k+j;case"-":return k-j;case"*":return k*j;case"/":return k/j;case"%":return k%j}return null;case"if":var A=d(n.condition);return d(A?n.thenExpression:n.elseExpression);case"pre":var D=d(n.operand);if(Bh(D))return D;switch(n.operator){case"+":return D;case"-":return-D;case"!":return!D;case"~":return~D}return null;case"index":var T=u(n.expression),P=u(n.index);return T&&$h(P)?T[P]:null;case"select":var I=n.member,R=e,M=d(n.expression);if(M instanceof nn){var N,F=M.members.concat(I);return null!=(N=c(R=i.getStaticSymbol(M.filePath,M.name,F)))?p(R,N):R}return M&&$h(I)?p(R,M[I]):null;case"reference":var L=n.name,V=a.resolve(L);if(V!=Jh.missing)return V;break;case"resolved":try{return d(n.symbol)}catch(W){throw Gh(W)&&null!=n.fileName&&null!=n.line&&null!=n.character&&(W.position={fileName:n.fileName,line:n.line,column:n.character}),W}case"class":case"function":return e;case"new":case"call":if((S=t(e,n.expression,r+1,0))instanceof nn){if(S===i.injectionToken||S===i.opaqueToken)return e;var B=n.arguments||[],z=i.conversionMap.get(S);if(z){var H=B.map(function(t){return p(e,t)}).map(function(t){return Bh(t)?void 0:t});return z(e,H)}return function(t,n,l,c){if(n&&"function"==n.__symbolic){s.get(t)&&i.error({message:"Recursion is not supported",summary:"called '"+t.name+"' recursively",value:n},t);try{var u=n.value;if(u&&(0!=r||"error"!=u.__symbolic)){var h=n.parameters,f=n.defaults;l=l.map(function(t){return p(e,t)}).map(function(t){return Bh(t)?void 0:t}),f&&f.length>l.length&&l.push.apply(l,Object(o.g)(f.slice(l.length).map(function(t){return d(t)}))),s.set(t,!0);for(var m=Jh.build(),g=0;g0?new tf(e):t.empty}}},t.missing={},t.empty={resolve:function(e){return t.missing}},t}(),tf=function(t){function e(e){var n=t.call(this)||this;return n.bindings=e,n}return Object(o.c)(e,t),e.prototype.resolve=function(t){return this.bindings.has(t)?this.bindings.get(t):Jh.missing},e}(Jh);function ef(t,e){return{message:""+function(t,e){switch(t){case qh:if(e&&e.className)return"References to a non-exported class are not supported in decorators but "+e.className+" was referenced.";break;case Wh:return"Only initialized variables and constants can be referenced in decorators because the value of this variable is needed by the template compiler";case Yh:return"Referencing an exported destructured variable or constant is not supported in decorators and this value is needed by the template compiler";case Kh:if(e&&e.typeName)return"Could not resolve type "+e.typeName;break;case Qh:return e&&e.name?"Function calls are not supported in decorators but '"+e.name+"' was called":"Function calls are not supported in decorators";case Xh:if(e&&e.name)return"Reference to a local (non-exported) symbols are not supported in decorators but '"+e.name+"' was referenced";break;case Zh:return"Function expressions are not supported in decorators"}return t}(t.message,t.context)+(t.symbol?" in '"+t.symbol.name+"'":""),position:t.position,next:t.next?ef(t.next,e):e?{message:e}:void 0}}function nf(t,e){if(Gh(t)){var n=t.position;return function(t){var e=Ie(Ih(t)+".");return e[Ph]=!0,e.chain=t,e.position=t.position,e}(ef({message:"Error during template compile of '"+e.name+"'",position:n,next:{message:t.message,next:t.chain,context:t.context,symbol:t.symbol}},t.advise||function(t,e){switch(t){case qh:if(e&&e.className)return"Consider exporting '"+e.className+"'";break;case Yh:return"Consider simplifying to avoid destructuring";case Xh:if(e&&e.name)return"Consider exporting '"+e.name+"'";break;case Zh:return"Consider changing the function expression into an exported function"}}(t.message,t.context)))}return t}var rf=function(){function t(t,e){this.host=t,this.staticSymbolCache=e,this.summaryCache=new Map,this.loadedFilePaths=new Map,this.importAs=new Map,this.knownFileNameToModuleNames=new Map}return t.prototype.isLibraryFile=function(t){return!this.host.isSourceFile(fd(t))},t.prototype.toSummaryFileName=function(t,e){return this.host.toSummaryFileName(t,e)},t.prototype.fromSummaryFileName=function(t,e){return this.host.fromSummaryFileName(t,e)},t.prototype.resolveSummary=function(t){var e=t.members.length?this.staticSymbolCache.get(t.filePath,t.name):t,n=this.summaryCache.get(e);return n||(this._loadSummaryFile(t.filePath),n=this.summaryCache.get(t)),e===t&&n||null},t.prototype.getSymbolsOf=function(t){return this._loadSummaryFile(t)?Array.from(this.summaryCache.keys()).filter(function(e){return e.filePath===t}):null},t.prototype.getImportAs=function(t){return t.assertNoMembers(),this.importAs.get(t)},t.prototype.getKnownModuleName=function(t){return this.knownFileNameToModuleNames.get(t)||null},t.prototype.addSummary=function(t){this.summaryCache.set(t.symbol,t)},t.prototype._loadSummaryFile=function(t){var e=this,n=this.loadedFilePaths.get(t);if(null!=n)return n;var r=null;if(this.isLibraryFile(t)){var i=yd(t);try{r=this.host.loadSummary(i)}catch(c){throw console.error("Error loading summary file "+i),c}}if(n=null!=r,this.loadedFilePaths.set(t,n),r){var o=function(t,e,n,r){return new wh(t,e).deserialize(n,r)}(this.staticSymbolCache,this,t,r),a=o.moduleName,s=o.summaries,l=o.importAs;s.forEach(function(t){return e.summaryCache.set(t.symbol,t)}),a&&this.knownFileNameToModuleNames.set(t,a),l.forEach(function(t){e.importAs.set(t.symbol,t.importAs)})}return n},t}();function of(t){return{resolve:function(e,n){var r=t.resourceNameToFileName(n,e);if(!r)throw Ie("Couldn't resolve resource "+n+" from "+e);return r}}}var af=function(){},sf=function(){function t(){this._summaries=new Map}return t.prototype.isLibraryFile=function(){return!1},t.prototype.toSummaryFileName=function(t){return t},t.prototype.fromSummaryFileName=function(t){return t},t.prototype.resolveSummary=function(t){return this._summaries.get(t)||null},t.prototype.getSymbolsOf=function(){return[]},t.prototype.getImportAs=function(t){return t},t.prototype.getKnownModuleName=function(t){return null},t.prototype.addSummary=function(t){this._summaries.set(t.symbol,t)},t}();function lf(t,e,n,r,i){for(var o=r.createChildWihtLocalVars(),a=0;ai();case nt.BiggerEquals:return r()>=i();default:throw new Error("Unknown operator "+t.operator)}},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.name]},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e)[t.index.visitExpression(this,e)]},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e)},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r={};return t.entries.forEach(function(t){return r[t.key]=t.value.visitExpression(n,e)}),r},t.prototype.visitCommaExpr=function(t,e){var n=this.visitAllExpressions(t.parts,e);return n[n.length-1]},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitAllStatements=function(t,e){for(var n=0;n0&&(n=function(t,e){var n=Cf(encodeURI(e)),r=Cf(t);if(null!=n[wf.Scheme])return Of(n);n[wf.Scheme]=r[wf.Scheme];for(var i=wf.Scheme;i<=wf.Port;i++)null==n[i]&&(n[i]=r[i]);if("/"==n[wf.Path][0])return Of(n);var o=r[wf.Path];null==o&&(o="/");var a=o.lastIndexOf("/");return o=o.substring(0,a+1)+n[wf.Path],n[wf.Path]=o,Of(n)}(t,n));var r=Cf(n),i=this._packagePrefix;if(null!=i&&null!=r&&"package"==r[wf.Scheme]){var o=r[wf.Path];return(i=i.replace(/\/+$/,""))+"/"+(o=o.replace(/^\/+/,""))}return n},t}();var wf,xf=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Cf(t){return t.match(xf)}function Of(t){var e,n,r,i,o,a,s,l,c=t[wf.Path];return c=null==c?"":function(t){if("/"==t)return"/";for(var e="/"==t[0]?"/":"",n="/"===t[t.length-1]?"/":"",r=t.split("/"),i=[],o=0,a=0;a0?i.pop():o++;break;default:i.push(s)}}if(""==e){for(;o-- >0;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+n}(c),t[wf.Path]=c,e=t[wf.Scheme],n=t[wf.UserInfo],r=t[wf.Domain],i=t[wf.Port],o=c,a=t[wf.QueryData],s=t[wf.Fragment],l=[],null!=e&&l.push(e+":"),null!=r&&(l.push("//"),null!=n&&l.push(n+"@"),l.push(r),null!=i&&l.push(":"+i)),null!=o&&l.push(o),null!=a&&l.push("?"+a),null!=s&&l.push("#"+s),l.join("")}!function(t){t[t.Scheme=1]="Scheme",t[t.UserInfo=2]="UserInfo",t[t.Domain=3]="Domain",t[t.Port=4]="Port",t[t.Path=5]="Path",t[t.QueryData=6]="QueryData",t[t.Fragment=7]="Fragment"}(wf||(wf={}));(function(){function t(t,e,n,r){this.host=t,this.staticSymbolResolver=e,this.messageBundle=n,this.metadataResolver=r}t.prototype.extract=function(t){var e=this,n=kh(t,this.host,this.staticSymbolResolver,this.metadataResolver),r=n.files,i=n.ngModules;return Promise.all(i.map(function(t){return e.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=[];if(r.forEach(function(n){var r=[];n.directives.forEach(function(t){var n=e.metadataResolver.getDirectiveMetadata(t);n&&n.isComponent&&r.push(n)}),r.forEach(function(n){var r=n.template.template,i=n.template.templateUrl,a=Co.fromArray(n.template.interpolation);t.push.apply(t,Object(o.g)(e.messageBundle.updateFromTemplate(r,i,a)))})}),t.length)throw new Error(t.map(function(t){return t.toString()}).join("\n"));return e.messageBundle})},t.create=function(e,n){var r=new Js,i=of(e),o=new rn,a=new rf(e,o),s=new mh(e,o,a),l=new zh(a,s),c=new Ep({defaultEncapsulation:v.Emulated,useJit:!1}),u=new kp({get:function(t){return e.loadResource(t)}},i,r,c),p=new ru,d=new Ed(c,r,new Vd(l),new Dp(l),new zd(l),a,p,u,console,o,l),h=new sh(r,[],{},n);return{extractor:new t(e,s,h,d),staticReflector:l}}})(),function(){function t(t){this.directiveMatcher=t}t.prototype.bind=function(t){if(!t.template)throw new Error("Binding without a template not yet supported");var e=Ef.apply(t.template),n=Sf.apply(t.template,this.directiveMatcher),r=n.directives,i=n.bindings,o=n.references,a=kf.apply(t.template,e),s=a.expressions,l=a.symbols,c=a.nestingLevel,u=a.usedPipes;return new jf(t,r,i,o,s,l,c,u)}}();var Ef=function(){function t(t){this.parentScope=t,this.namedEntities=new Map,this.childScopes=new Map}return t.apply=function(e){var n=new t;return n.ingest(e),n},t.prototype.ingest=function(t){var e=this;t instanceof Sr?(t.variables.forEach(function(t){return e.visitVariable(t)}),t.children.forEach(function(t){return t.visit(e)})):t.forEach(function(t){return t.visit(e)})},t.prototype.visitElement=function(t){var e=this;t.references.forEach(function(t){return e.visitReference(t)}),t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitTemplate=function(e){var n=this;e.references.forEach(function(t){return n.visitReference(t)});var r=new t(this);r.ingest(e),this.childScopes.set(e,r)},t.prototype.visitVariable=function(t){this.maybeDeclare(t)},t.prototype.visitReference=function(t){this.maybeDeclare(t)},t.prototype.visitContent=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitText=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitIcu=function(t){},t.prototype.maybeDeclare=function(t){this.namedEntities.has(t.name)||this.namedEntities.set(t.name,t)},t.prototype.lookup=function(t){return this.namedEntities.has(t)?this.namedEntities.get(t):void 0!==this.parentScope?this.parentScope.lookup(t):null},t.prototype.getChildScope=function(t){var e=this.childScopes.get(t);if(void 0===e)throw new Error("Assertion error: child scope for "+t+" not found");return e},t}(),Sf=function(){function t(t,e,n,r){this.matcher=t,this.directives=e,this.bindings=n,this.references=r}return t.apply=function(e,n){var r=new Map,i=new Map,o=new Map;return new t(n,r,i,o).ingest(e),{directives:r,bindings:i,references:o}},t.prototype.ingest=function(t){var e=this;t.forEach(function(t){return t.visit(e)})},t.prototype.visitElement=function(t){this.visitElementOrTemplate(t.name,t)},t.prototype.visitTemplate=function(t){this.visitElementOrTemplate("ng-template",t)},t.prototype.visitElementOrTemplate=function(t,e){var n=this,r=new w;r.setElement(t);var i=oo(e);Object.getOwnPropertyNames(i).forEach(function(t){var e=i[t];(r.addAttribute(t,e),"class"===t.toLowerCase())&&e.trim().split(/\s+/g).forEach(function(t){return r.addClassName(t)})});var o=[];this.matcher.match(r,function(t,e){return o.push(e)}),o.length>0&&this.directives.set(e,o),e.references.forEach(function(t){var r=null;if(""===t.value.trim())r=o.find(function(t){return t.isComponent})||null;else if(null===(r=o.find(function(e){return null!==e.exportAs&&e.exportAs.some(function(e){return e===t.value})})||null))throw new Error("Assertion error: failed to find directive with exportAs: "+t.value);null!==r?n.references.set(t,{directive:r,node:e}):n.references.set(t,e)});var a=function(t){var r=o.find(function(e){return e.inputs.hasOwnProperty(t.name)});void 0!==r?n.bindings.set(t,r):n.bindings.set(t,e)};e.attributes.forEach(a),e.inputs.forEach(a),e.outputs.forEach(a),e instanceof Sr&&e.templateAttrs.forEach(a),e.children.forEach(function(t){return t.visit(n)})},t.prototype.visitContent=function(t){},t.prototype.visitVariable=function(t){},t.prototype.visitReference=function(t){},t.prototype.visitTextAttribute=function(t){},t.prototype.visitBoundAttribute=function(t){},t.prototype.visitBoundEvent=function(t){},t.prototype.visitBoundAttributeOrEvent=function(t){},t.prototype.visitText=function(t){},t.prototype.visitBoundText=function(t){},t.prototype.visitIcu=function(t){},t}(),kf=function(t){function e(e,n,r,i,o,a,s){var l=t.call(this)||this;return l.bindings=e,l.symbols=n,l.usedPipes=r,l.nestingLevel=i,l.scope=o,l.template=a,l.level=s,l.pipesUsed=[],l.visitNode=function(t){return t.visit(l)},l}return Object(o.c)(e,t),e.apply=function(t,n){var r=new Map,i=new Map,o=new Map,a=new Set;return new e(r,i,a,o,n,t instanceof Sr?t:null,0).ingest(t),{expressions:r,symbols:i,nestingLevel:o,usedPipes:a}},e.prototype.ingest=function(t){t instanceof Sr?(t.variables.forEach(this.visitNode),t.children.forEach(this.visitNode),this.nestingLevel.set(t,this.level)):t.forEach(this.visitNode)},e.prototype.visitElement=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.children.forEach(this.visitNode)},e.prototype.visitTemplate=function(t){t.inputs.forEach(this.visitNode),t.outputs.forEach(this.visitNode),t.templateAttrs.forEach(this.visitNode),t.references.forEach(this.visitNode);var n=this.scope.getChildScope(t);new e(this.bindings,this.symbols,this.usedPipes,this.nestingLevel,n,t,this.level+1).ingest(t)},e.prototype.visitVariable=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitReference=function(t){null!==this.template&&this.symbols.set(t,this.template)},e.prototype.visitText=function(t){},e.prototype.visitContent=function(t){},e.prototype.visitTextAttribute=function(t){},e.prototype.visitIcu=function(t){},e.prototype.visitBoundAttribute=function(t){t.value.visit(this)},e.prototype.visitBoundEvent=function(t){t.handler.visit(this)},e.prototype.visitBoundText=function(t){t.value.visit(this)},e.prototype.visitPipe=function(e,n){return this.usedPipes.add(e.name),t.prototype.visitPipe.call(this,e,n)},e.prototype.visitPropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyRead.call(this,e,n)},e.prototype.visitSafePropertyRead=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafePropertyRead.call(this,e,n)},e.prototype.visitPropertyWrite=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitPropertyWrite.call(this,e,n)},e.prototype.visitMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitMethodCall.call(this,e,n)},e.prototype.visitSafeMethodCall=function(e,n){return this.maybeMap(n,e,e.name),t.prototype.visitSafeMethodCall.call(this,e,n)},e.prototype.maybeMap=function(t,e,n){if(e.receiver instanceof $o){var r=this.scope.lookup(n);null!==r&&this.bindings.set(e,r)}},e}(_a),jf=function(){function t(t,e,n,r,i,o,a,s){this.target=t,this.directives=e,this.bindings=n,this.references=r,this.exprTargets=i,this.symbols=o,this.nestingLevel=a,this.usedPipes=s}return t.prototype.getDirectivesOfNode=function(t){return this.directives.get(t)||null},t.prototype.getReferenceTarget=function(t){return this.references.get(t)||null},t.prototype.getConsumerOfBinding=function(t){return this.bindings.get(t)||null},t.prototype.getExpressionTarget=function(t){return this.exprTargets.get(t)||null},t.prototype.getTemplateOfSymbol=function(t){return this.symbols.get(t)||null},t.prototype.getNestingLevel=function(t){return this.nestingLevel.get(t)||0},t.prototype.getUsedDirectives=function(){var t=new Set;return this.directives.forEach(function(e){return e.forEach(function(e){return t.add(e)})}),Array.from(t.values())},t.prototype.getUsedPipes=function(){return Array.from(this.usedPipes)},t}();!function(t){(t.ng||(t.ng={})).ɵcompilerFacade=new pp}(qe);var Af,Df=n("Ip0R"),Tf=n("ZYjt"),Pf=((Af=new Map).set(Je.ANALYZE_FOR_ENTRY_COMPONENTS,i.a),Af.set(Je.ElementRef,i.u),Af.set(Je.NgModuleRef,i.O),Af.set(Je.ViewContainerRef,i.pb),Af.set(Je.ChangeDetectorRef,i.k),Af.set(Je.Renderer2,i.Z),Af.set(Je.QueryList,i.X),Af.set(Je.TemplateRef,i.jb),Af.set(Je.CodegenComponentFactoryResolver,i.Cb),Af.set(Je.ComponentFactoryResolver,i.p),Af.set(Je.ComponentFactory,i.o),Af.set(Je.ComponentRef,i.q),Af.set(Je.NgModuleFactory,i.M),Af.set(Je.createModuleFactory,i.Ob),Af.set(Je.moduleDef,i.bc),Af.set(Je.moduleProviderDef,i.cc),Af.set(Je.RegisterModuleFactoryFn,i.lc),Af.set(Je.Injector,i.F),Af.set(Je.ViewEncapsulation,i.qb),Af.set(Je.ChangeDetectionStrategy,i.j),Af.set(Je.SecurityContext,i.db),Af.set(Je.LOCALE_ID,i.J),Af.set(Je.TRANSLATIONS_FORMAT,i.ib),Af.set(Je.inlineInterpolate,i.Vb),Af.set(Je.interpolate,i.Wb),Af.set(Je.EMPTY_ARRAY,i.Eb),Af.set(Je.EMPTY_MAP,i.Fb),Af.set(Je.Renderer,i.Y),Af.set(Je.viewDef,i.pc),Af.set(Je.elementDef,i.Rb),Af.set(Je.anchorDef,i.Mb),Af.set(Je.textDef,i.nc),Af.set(Je.directiveDef,i.Qb),Af.set(Je.providerDef,i.jc),Af.set(Je.queryDef,i.kc),Af.set(Je.pureArrayDef,i.fc),Af.set(Je.pureObjectDef,i.hc),Af.set(Je.purePipeDef,i.ic),Af.set(Je.pipeDef,i.gc),Af.set(Je.nodeValue,i.ec),Af.set(Je.ngContentDef,i.dc),Af.set(Je.unwrapValue,i.oc),Af.set(Je.createRendererType2,i.Pb),Af.set(Je.createComponentFactory,i.Nb),Af),If=function(){function t(){this.reflectionCapabilities=new i.Ib}return t.prototype.componentModuleUrl=function(t,e){var n,r=e.moduleId;if("string"==typeof r)return(n=Cf(r))&&n[wf.Scheme]||""?r:"package:"+r;if(null!=r)throw Ie('moduleId should be a string in "'+Object(i.mc)(t)+"\". See https://goo.gl/wIDDiL for more information.\nIf you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");return"./"+Object(i.mc)(t)},t.prototype.parameters=function(t){return this.reflectionCapabilities.parameters(t)},t.prototype.tryAnnotations=function(t){return this.annotations(t)},t.prototype.annotations=function(t){return this.reflectionCapabilities.annotations(t)},t.prototype.shallowAnnotations=function(t){throw new Error("Not supported in JIT mode")},t.prototype.propMetadata=function(t){return this.reflectionCapabilities.propMetadata(t)},t.prototype.hasLifecycleHook=function(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)},t.prototype.guards=function(t){return this.reflectionCapabilities.guards(t)},t.prototype.resolveExternalReference=function(t){return Pf.get(t)||t.runtime},t}();var Rf=new i.E("ErrorCollector"),Mf={provide:i.T,useValue:"/"},Nf={get:function(t){throw new Error("No ResourceLoader implementation has been provided. Can't read the url \""+t+'"')}},Ff=new i.E("HtmlParser"),Lf=function(){function t(t,e,n,r,i,o,a,s,l,c,u){this._metadataResolver=e,this._delegate=new mf(e,n,r,i,o,a,s,l,c,u,this.getExtraNgModuleProviders.bind(this)),this.injector=t}return t.prototype.getExtraNgModuleProviders=function(){return[this._metadataResolver.getProviderMetadata(new Cn(i.l,{useValue:this}))]},t.prototype.compileModuleSync=function(t){return this._delegate.compileModuleSync(t)},t.prototype.compileModuleAsync=function(t){return this._delegate.compileModuleAsync(t)},t.prototype.compileModuleAndAllComponentsSync=function(t){var e=this._delegate.compileModuleAndAllComponentsSync(t);return{ngModuleFactory:e.ngModuleFactory,componentFactories:e.componentFactories}},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._delegate.compileModuleAndAllComponentsAsync(t).then(function(t){return{ngModuleFactory:t.ngModuleFactory,componentFactories:t.componentFactories}})},t.prototype.loadAotSummaries=function(t){this._delegate.loadAotSummaries(t)},t.prototype.hasAotSummary=function(t){return this._delegate.hasAotSummary(t)},t.prototype.getComponentFactory=function(t){return this._delegate.getComponentFactory(t)},t.prototype.clearCache=function(){this._delegate.clearCache()},t.prototype.clearCacheFor=function(t){this._delegate.clearCacheFor(t)},t.prototype.getModuleId=function(t){var e=this._metadataResolver.getNgModuleMetadata(t);return e&&e.id||void 0},t}(),Vf=[{provide:bf,useValue:new If},{provide:up,useValue:Nf},{provide:sf,deps:[]},{provide:af,useExisting:sf},{provide:i.Db,deps:[]},{provide:Tc,deps:[]},{provide:qc,deps:[Tc]},{provide:Ff,useClass:Js,deps:[]},{provide:od,useFactory:function(t,e,n,r,o){var a=(e=e||"")?r.missingTranslation:i.K.Ignore;return new od(t,e,n,a,o)},deps:[Ff,[new i.R,new i.C(i.hb)],[new i.R,new i.C(i.ib)],[Ep],[i.Db]]},{provide:Js,useExisting:od},{provide:pc,deps:[Ep,bf,qc,Xc,od,i.Db]},{provide:Bo,useClass:Bo,deps:[]},{provide:kp,deps:[up,_f,Js,Ep]},{provide:Ed,deps:[Ep,Js,Vd,Dp,zd,af,Xc,kp,i.Db,[i.R,rn],bf,[i.R,Rf]]},Mf,{provide:xs,deps:[_f]},{provide:Yd,deps:[bf]},{provide:Ld,deps:[bf]},{provide:Ep,useValue:new Ep},{provide:i.l,useClass:Lf,deps:[i.F,Ed,pc,xs,Yd,Ld,af,bf,Bo,Ep,i.Db]},{provide:ru,deps:[]},{provide:Xc,useExisting:ru},{provide:_f,deps:[i.T]},{provide:Dp,deps:[bf]},{provide:zd,deps:[bf]},{provide:Vd,deps:[bf]}],Bf=function(){function t(t){var e={useJit:!0,defaultEncapsulation:i.qb.Emulated,missingTranslation:i.K.Warning};this._defaultOptions=Object(o.g)([e],t)}return t.prototype.createCompiler=function(t){void 0===t&&(t=[]);var e,n={useJit:zf((e=this._defaultOptions.concat(t)).map(function(t){return t.useJit})),defaultEncapsulation:zf(e.map(function(t){return t.defaultEncapsulation})),providers:Hf(e.map(function(t){return t.providers})),missingTranslation:zf(e.map(function(t){return t.missingTranslation})),preserveWhitespaces:zf(e.map(function(t){return t.preserveWhitespaces}))};return i.F.create([Vf,{provide:Ep,useFactory:function(){return new Ep({useJit:n.useJit,jitDevMode:Object(i.yb)(),defaultEncapsulation:n.defaultEncapsulation,missingTranslation:n.missingTranslation,preserveWhitespaces:n.preserveWhitespaces})},deps:[]},n.providers]).get(i.l)},t}();function zf(t){for(var e=t.length-1;e>=0;e--)if(void 0!==t[e])return t[e]}function Hf(t){var e=[];return t.forEach(function(t){return t&&e.push.apply(e,Object(o.g)(t))}),e}var Uf=Object(i.sb)(i.zb,"coreDynamic",[{provide:i.i,useValue:{},multi:!0},{provide:i.m,useClass:Bf,deps:[i.i]}]),Gf=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.prototype.get=function(t){var e,n,r=new Promise(function(t,r){e=t,n=r}),i=new XMLHttpRequest;return i.open("GET",t,!0),i.responseType="text",i.onload=function(){var r=i.response||i.responseText,o=1223===i.status?204:i.status;0===o&&(o=r?200:0),200<=o&&o<=300?e(r):n("Failed to load "+t)},i.onerror=function(){n("Failed to load "+t)},i.send(),r},e=Object(o.b)([Object(i.D)()],e)}(up),qf={providers:[{provide:up,useClass:Gf,deps:[]}]},Wf=Df.s,Yf=[Tf.g,{provide:i.i,useValue:qf,multi:!0},{provide:i.U,useValue:Wf}],Kf=(function(t){function e(){var e=t.call(this)||this;if(e._cache=i.Ub.$templateCache,null==e._cache)throw new Error("CachedResourceLoader: Template cache was not found in $templateCache.");return e}Object(o.c)(e,t),e.prototype.get=function(t){return this._cache.hasOwnProperty(t)?Promise.resolve(this._cache[t]):Promise.reject("CachedResourceLoader: Did not find cached template for "+t)}}(up),new i.mb("8.2.6"),Object(i.sb)(Uf,"browserDynamic",Yf)),Qf=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Xf=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},Zf=function(t){return t&&t.__esModule?t:{default:t}},$f=function(){function t(){}return t=Qf([Object(i.n)({selector:"app-root",template:Zf(n("VzVu")).default,styles:[Zf(n("ynWL")).default]}),Xf("design:paramtypes",[])],t)}(),Jf=n("ZYCi"),tm=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},em=[{path:"auth",loadChildren:function(){return Promise.all([n.e(1),n.e(6)]).then(n.bind(null,"Yj9t")).then(function(t){return t.AuthModule})}},{path:"login",loadChildren:function(){return Promise.all([n.e(1),n.e(7)]).then(n.bind(null,"F4UR")).then(function(t){return t.LoginModule})}},{path:"**",redirectTo:"auth/minions"}],nm=function(){function t(){}return t=tm([Object(i.L)({imports:[Jf.b.forRoot(em,{useHash:!0})],exports:[Jf.b]})],t)}(),rm=n("wFw1"),im=n("pKmL"),om=n("t/Na"),am=n("NZXM"),sm=n("Onty"),lm=n("v6lC"),cm=n("q9mj"),um=n("geZN"),pm=n("35e8"),dm=n("WU0F"),hm=n("pnyO"),fm=n("fICr"),mm=n("Asny"),gm=n("0FJh"),ym=n("o3x0"),vm=n("d2mR"),bm=n("kWGw"),_m=n("b716"),wm=n("seP3"),xm=n("gIcY"),Cm=n("UodH"),Om=n("lLAP"),Em=n("Fzqc"),Sm=n("n6gG"),km=n("YSh2"),jm=n("K9Ia"),Am=n("F/XL"),Dm=n("p0Sj"),Tm=n("ny24"),Pm=function(){function t(t){this.template=t}return t.decorators=[{type:i.t,args:[{selector:"[cdkStepLabel]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t}(),Im=function(){function t(t){this._elementRef=t}return t.prototype.focus=function(){this._elementRef.nativeElement.focus()},t.decorators=[{type:i.t,args:[{selector:"[cdkStepHeader]",host:{role:"tab"}}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Rm=0,Mm="number",Nm="edit",Fm="done",Lm="error",Vm=new i.E("STEPPER_GLOBAL_OPTIONS"),Bm=function(){function t(t,e){this._stepper=t,this.interacted=!1,this._editable=!0,this._optional=!1,this._customCompleted=null,this._customError=null,this._stepperOptions=e||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType,this._showError=!!this._stepperOptions.showError}return Object.defineProperty(t.prototype,"editable",{get:function(){return this._editable},set:function(t){this._editable=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"optional",{get:function(){return this._optional},set:function(t){this._optional=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"completed",{get:function(){return null==this._customCompleted?this._getDefaultCompleted():this._customCompleted},set:function(t){this._customCompleted=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultCompleted=function(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted},Object.defineProperty(t.prototype,"hasError",{get:function(){return null==this._customError?this._getDefaultError():this._customError},set:function(t){this._customError=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype._getDefaultError=function(){return this.stepControl&&this.stepControl.invalid&&this.interacted},t.prototype.select=function(){this._stepper.selected=this},t.prototype.reset=function(){this.interacted=!1,null!=this._customCompleted&&(this._customCompleted=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()},t.prototype.ngOnChanges=function(){this._stepper._stateChanged()},t.decorators=[{type:i.n,args:[{selector:"cdk-step",exportAs:"cdkStep",template:"",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:zm,decorators:[{type:i.C,args:[Object(i.vb)(function(){return zm})]}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},t.propDecorators={stepLabel:[{type:i.r,args:[Pm]}],content:[{type:i.nb,args:[i.jb]}],stepControl:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],ariaLabel:[{type:i.G,args:["aria-label"]}],ariaLabelledby:[{type:i.G,args:["aria-labelledby"]}],state:[{type:i.G}],editable:[{type:i.G}],optional:[{type:i.G}],completed:[{type:i.G}],hasError:[{type:i.G}]},t}(),zm=function(){function t(t,e,n,r){this._dir=t,this._changeDetectorRef=e,this._elementRef=n,this._destroyed=new jm.a,this._linear=!1,this._selectedIndex=0,this.selectionChange=new i.x,this._orientation="horizontal",this._groupId=Rm++,this._document=r}return Object.defineProperty(t.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"linear",{get:function(){return this._linear},set:function(t){this._linear=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(t){var e=Object(Sm.f)(t);if(this.steps){if(e<0||e>this.steps.length-1)throw Error("cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.");this._selectedIndex!=e&&!this._anyControlsInvalidOrPending(e)&&(e>=this._selectedIndex||this.steps.toArray()[e].editable)&&this._updateSelectedItemIndex(t)}else this._selectedIndex=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0},set:function(t){this.selectedIndex=this.steps?this.steps.toArray().indexOf(t):-1},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this._keyManager=new Om.d(this._stepHeader).withWrap().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:Object(Am.a)()).pipe(Object(Dm.a)(this._layoutDirection()),Object(Tm.a)(this._destroyed)).subscribe(function(e){return t._keyManager.withHorizontalOrientation(e)}),this._keyManager.updateActiveItemIndex(this._selectedIndex),this.steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe(function(){t.selected||(t._selectedIndex=Math.max(t._selectedIndex-1,0))})},t.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},t.prototype.next=function(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)},t.prototype.previous=function(){this.selectedIndex=Math.max(this._selectedIndex-1,0)},t.prototype.reset=function(){this._updateSelectedItemIndex(0),this.steps.forEach(function(t){return t.reset()}),this._stateChanged()},t.prototype._getStepLabelId=function(t){return"cdk-step-label-"+this._groupId+"-"+t},t.prototype._getStepContentId=function(t){return"cdk-step-content-"+this._groupId+"-"+t},t.prototype._stateChanged=function(){this._changeDetectorRef.markForCheck()},t.prototype._getAnimationDirection=function(t){var e=t-this._selectedIndex;return e<0?"rtl"===this._layoutDirection()?"next":"previous":e>0?"rtl"===this._layoutDirection()?"previous":"next":"current"},t.prototype._getIndicatorType=function(t,e){void 0===e&&(e=Mm);var n=this.steps.toArray()[t],r=this._isCurrentStep(t);return n._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(n,r):this._getGuidelineLogic(n,r,e)},t.prototype._getDefaultIndicatorLogic=function(t,e){return t._showError&&t.hasError&&!e?Lm:!t.completed||e?Mm:t.editable?Nm:Fm},t.prototype._getGuidelineLogic=function(t,e,n){return void 0===n&&(n=Mm),t._showError&&t.hasError&&!e?Lm:t.completed&&!e?Fm:t.completed&&e?n:t.editable&&e?Nm:n},t.prototype._isCurrentStep=function(t){return this._selectedIndex===t},t.prototype._getFocusIndex=function(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex},t.prototype._updateSelectedItemIndex=function(t){var e=this.steps.toArray();this.selectionChange.emit({selectedIndex:t,previouslySelectedIndex:this._selectedIndex,selectedStep:e[t],previouslySelectedStep:e[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(t):this._keyManager.updateActiveItemIndex(t),this._selectedIndex=t,this._stateChanged()},t.prototype._onKeydown=function(t){var e=Object(km.s)(t),n=t.keyCode,r=this._keyManager;null==r.activeItemIndex||e||n!==km.n&&n!==km.f?n===km.h?(r.setFirstItemActive(),t.preventDefault()):n===km.e?(r.setLastItemActive(),t.preventDefault()):r.onKeydown(t):(this.selectedIndex=r.activeItemIndex,t.preventDefault())},t.prototype._anyControlsInvalidOrPending=function(t){var e=this.steps.toArray();return e[this._selectedIndex].interacted=!0,!!(this._linear&&t>=0)&&e.slice(0,t).some(function(t){var e=t.stepControl;return(e?e.invalid||e.pending||!t.interacted:!t.completed)&&!t.optional})},t.prototype._layoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},t.prototype._containsFocus=function(){if(!this._document||!this._elementRef)return!1;var t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)},t.decorators=[{type:i.t,args:[{selector:"[cdkStepper]",exportAs:"cdkStepper"}]}],t.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={_steps:[{type:i.s,args:[Bm]}],_stepHeader:[{type:i.s,args:[Im]}],linear:[{type:i.G}],selectedIndex:[{type:i.G}],selected:[{type:i.G}],selectionChange:[{type:i.S}]},t}(),Hm=function(){function t(t){this._stepper=t,this.type="submit"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Um=function(){function t(t){this._stepper=t,this.type="button"}return t.decorators=[{type:i.t,args:[{selector:"button[cdkStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"}}]}],t.ctorParameters=function(){return[{type:zm}]},t.propDecorators={type:[{type:i.G}]},t}(),Gm=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Em.a,Df.b],exports:[Bm,zm,Im,Pm,Hm,Um],declarations:[Bm,zm,Im,Pm,Hm,Um]}]}],t}(),qm=n("ihYY"),Wm=n("Wf4p"),Ym=n("ad02"),Km=n("4c35"),Qm=n("SMsm"),Xm=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"[matStepLabel]"}]}],e}(Pm),Zm=function(){function t(){this.changes=new jm.a,this.optionalLabel="Optional"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}();var $m={provide:Zm,deps:[[new i.R,new i.fb,Zm]],useFactory:function(t){return t||new Zm}},Jm=function(t){function e(e,n,r,i){var o=t.call(this,r)||this;return o._intl=e,o._focusMonitor=n,n.monitor(r,!0),o._intlSubscription=e.changes.subscribe(function(){return i.markForCheck()}),o}return Object(o.c)(e,t),e.prototype.ngOnDestroy=function(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)},e.prototype._stringLabel=function(){return this.label instanceof Xm?null:this.label},e.prototype._templateLabel=function(){return this.label instanceof Xm?this.label:null},e.prototype._getHostElement=function(){return this._elementRef.nativeElement},e.prototype._getIconContext=function(){return{index:this.index,active:this.active,optional:this.optional}},e.prototype._getDefaultTextForState=function(t){return"number"==t?""+(this.index+1):"edit"==t?"create":"error"==t?"warning":t},e.decorators=[{type:i.n,args:[{selector:"mat-step-header",template:'
        {{_getDefaultTextForState(state)}}{{_getDefaultTextForState(state)}}
        {{label}}
        {{_intl.optionalLabel}}
        {{errorMessage}}
        ',styles:[".mat-step-header{overflow:hidden;outline:0;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:transparent}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon .mat-icon,.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],host:{class:"mat-step-header",role:"tab"},encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Zm},{type:Om.e},{type:i.u},{type:i.k}]},e.propDecorators={state:[{type:i.G}],label:[{type:i.G}],errorMessage:[{type:i.G}],iconOverrides:[{type:i.G}],index:[{type:i.G}],selected:[{type:i.G}],active:[{type:i.G}],optional:[{type:i.G}]},e}(Im),tg={horizontalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({transform:"none",visibility:"visible"})),Object(qm.k)("next",Object(qm.l)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),Object(qm.m)("* => *",Object(qm.e)("500ms cubic-bezier(0.35, 0, 0.25, 1)"))]),verticalStepTransition:Object(qm.n)("stepTransition",[Object(qm.k)("previous",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("next",Object(qm.l)({height:"0px",visibility:"hidden"})),Object(qm.k)("current",Object(qm.l)({height:"*",visibility:"visible"})),Object(qm.m)("* <=> current",Object(qm.e)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])},eg=function(){function t(t){this.templateRef=t}return t.decorators=[{type:i.t,args:[{selector:"ng-template[matStepperIcon]"}]}],t.ctorParameters=function(){return[{type:i.jb}]},t.propDecorators={name:[{type:i.G,args:["matStepperIcon"]}]},t}(),ng=function(t){function e(e,n,r){var i=t.call(this,e,r)||this;return i._errorStateMatcher=n,i}return Object(o.c)(e,t),e.prototype.isErrorState=function(t,e){var n=this._errorStateMatcher.isErrorState(t,e),r=!!(t&&t.invalid&&this.interacted);return n||r},e.decorators=[{type:i.n,args:[{selector:"mat-step",template:"",providers:[{provide:Wm.b,useExisting:e}],encapsulation:i.qb.None,exportAs:"matStep",changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:rg,decorators:[{type:i.C,args:[Object(i.vb)(function(){return rg})]}]},{type:Wm.b,decorators:[{type:i.fb}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Vm]}]}]},e.propDecorators={stepLabel:[{type:i.r,args:[Xm]}]},e}(Bm),rg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.animationDone=new i.x,e._iconOverrides={},e._animationDone=new jm.a,e}return Object(o.c)(e,t),e.prototype.ngAfterContentInit=function(){var t=this;this._icons.forEach(function(e){var n=e.name,r=e.templateRef;return t._iconOverrides[n]=r}),this._steps.changes.pipe(Object(Tm.a)(this._destroyed)).subscribe(function(){return t._stateChanged()}),this._animationDone.pipe(Object(Ym.a)(function(t,e){return t.fromState===e.fromState&&t.toState===e.toState}),Object(Tm.a)(this._destroyed)).subscribe(function(e){"current"===e.toState&&t.animationDone.emit()})},e.decorators=[{type:i.t,args:[{selector:"[matStepper]"}]}],e.propDecorators={_stepHeader:[{type:i.ob,args:[Jm]}],_steps:[{type:i.s,args:[ng]}],_icons:[{type:i.s,args:[eg]}],animationDone:[{type:i.S}]},e}(zm),ig=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelPosition="end",e}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-horizontal-stepper",exportAs:"matHorizontalStepper",template:'
        ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-horizontal","[class.mat-stepper-label-position-end]":'labelPosition == "end"',"[class.mat-stepper-label-position-bottom]":'labelPosition == "bottom"',"aria-orientation":"horizontal",role:"tablist"},animations:[tg.horizontalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.propDecorators={labelPosition:[{type:i.G}]},e}(rg),og=function(t){function e(e,n,r,i){var o=t.call(this,e,n,r,i)||this;return o._orientation="vertical",o}return Object(o.c)(e,t),e.decorators=[{type:i.n,args:[{selector:"mat-vertical-stepper",exportAs:"matVerticalStepper",template:'
        ',styles:[".mat-stepper-horizontal,.mat-stepper-vertical{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{border-top-width:1px;border-top-style:solid;content:'';display:inline-block;height:0;position:absolute;top:36px;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto;padding:24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;padding:24px;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:'';position:absolute;top:-16px;bottom:-16px;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}"],inputs:["selectedIndex"],host:{class:"mat-stepper-vertical","aria-orientation":"vertical",role:"tablist"},animations:[tg.verticalStepTransition],providers:[{provide:rg,useExisting:e}],encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],e.ctorParameters=function(){return[{type:Em.b,decorators:[{type:i.R}]},{type:i.k},{type:i.u},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},e}(rg),ag=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Hm),sg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.c)(e,t),e.decorators=[{type:i.t,args:[{selector:"button[matStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"},inputs:["type"],providers:[{provide:zm,useExisting:rg}]}]}],e}(Um),lg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Wm.h,Df.b,Km.h,Cm.b,Gm,Qm.a,Wm.q],exports:[Wm.h,ig,og,ng,Xm,rg,ag,sg,Jm,eg],declarations:[ig,og,ng,Xm,rg,ag,sg,Jm,eg],providers:[$m,Wm.b]}]}],t}(),cg=n("uGex"),ug=n("bse0"),pg=n("v9Dh"),dg=n("u7R8"),hg=n("w+lc"),fg=n("BHnd"),mg=n("pugT"),gg=n("p0ib"),yg=n("t9fZ"),vg=n("VnD/"),bg=n("eDkP");function _g(t){return Error("MatDatepicker: No provider found for "+t+". You must import one of the following modules at your application root: MatNativeDateModule, MatMomentDateModule, or provide a custom implementation.")}var wg=function(){function t(){this.changes=new jm.a,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 20 years",this.nextMultiYearLabel="Next 20 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year"}return t.decorators=[{type:i.D,args:[{providedIn:"root"}]}],t.ngInjectableDef=Object(i.tb)({factory:function(){return new t},token:t,providedIn:"root"}),t}(),xg=function(t,e,n,r,i){this.value=t,this.displayValue=e,this.ariaLabel=n,this.enabled=r,this.cssClasses=i},Cg=function(){function t(t,e){this._elementRef=t,this._ngZone=e,this.numCols=7,this.activeCell=0,this.cellAspectRatio=1,this.selectedValueChange=new i.x}return t.prototype._cellClicked=function(t){t.enabled&&this.selectedValueChange.emit(t.value)},t.prototype.ngOnChanges=function(t){var e=t.numCols,n=this.rows,r=this.numCols;(t.rows||e)&&(this._firstRowOffset=n&&n.length&&n[0].length?r-n[0].length:0),(t.cellAspectRatio||e||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/r+"%"),!e&&this._cellWidth||(this._cellWidth=100/r+"%")},t.prototype._isActiveCell=function(t,e){var n=t*this.numCols+e;return t&&(n-=this._firstRowOffset),n==this.activeCell},t.prototype._focusActiveCell=function(){var t=this;this._ngZone.runOutsideAngular(function(){t._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe(function(){var e=t._elementRef.nativeElement.querySelector(".mat-calendar-body-active");e&&e.focus()})})},t.decorators=[{type:i.n,args:[{selector:"[mat-calendar-body]",template:'{{label}}{{_firstRowOffset >= labelMinRequiredCells ? label : \'\'}}
        {{item.displayValue}}
        ',styles:[".mat-calendar-body{min-width:224px}.mat-calendar-body-label{height:0;line-height:0;text-align:left;padding-left:4.71429%;padding-right:4.71429%}.mat-calendar-body-cell{position:relative;height:0;line-height:0;text-align:center;outline:0;cursor:pointer}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px}@media (-ms-high-contrast:active){.mat-calendar-body-cell-content{border:none}}@media (-ms-high-contrast:active){.mat-calendar-body-selected,.mat-datepicker-popup:not(:empty){outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}}[dir=rtl] .mat-calendar-body-label{text-align:right}"],host:{class:"mat-calendar-body",role:"grid","aria-readonly":"true"},exportAs:"matCalendarBody",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.Q}]},t.propDecorators={label:[{type:i.G}],rows:[{type:i.G}],todayValue:[{type:i.G}],selectedValue:[{type:i.G}],labelMinRequiredCells:[{type:i.G}],numCols:[{type:i.G}],activeCell:[{type:i.G}],cellAspectRatio:[{type:i.G}],selectedValueChange:[{type:i.S}]},t}(),Og=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this._userSelection=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");var o=this._dateAdapter.getFirstDayOfWeek(),a=this._dateAdapter.getDayOfWeekNames("narrow"),s=this._dateAdapter.getDayOfWeekNames("long").map(function(t,e){return{long:t,narrow:a[e]}});this._weekdays=s.slice(o).concat(s.slice(0,o)),this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._hasSameMonthAndYear(e,this._activeDate)||this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedDate=this._getDateInCurrentMonth(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._dateSelected=function(t){if(this._selectedDate!=t){var e=this._dateAdapter.getYear(this.activeDate),n=this._dateAdapter.getMonth(this.activeDate),r=this._dateAdapter.createDate(e,n,t);this.selectedChange.emit(r)}this._userSelection.emit()},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case km.d:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case km.h:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case km.l:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case km.k:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case km.f:case km.n:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected(this._dateAdapter.getDate(this._activeDate)),this._userSelection.emit(),t.preventDefault()));default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){this._selectedDate=this._getDateInCurrentMonth(this.selected),this._todayDate=this._getDateInCurrentMonth(this._dateAdapter.today()),this._monthLabel=this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();var t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(t)-this._dateAdapter.getFirstDayOfWeek())%7,this._createWeekCells(),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createWeekCells=function(){var t=this._dateAdapter.getNumDaysInMonth(this.activeDate),e=this._dateAdapter.getDateNames();this._weeks=[[]];for(var n=0,r=this._firstWeekOffset;n=0)&&(!this.maxDate||this._dateAdapter.compareDate(t,this.maxDate)<=0)},t.prototype._getDateInCurrentMonth=function(t){return t&&this._hasSameMonthAndYear(t,this.activeDate)?this._dateAdapter.getDate(t):null},t.prototype._hasSameMonthAndYear=function(t,e){return!(!t||!e||this._dateAdapter.getMonth(t)!=this._dateAdapter.getMonth(e)||this._dateAdapter.getYear(t)!=this._dateAdapter.getYear(e))},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},t.decorators=[{type:i.n,args:[{selector:"mat-month-view",template:'
        {{day.narrow}}
        ',exportAs:"matMonthView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],_userSelection:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Eg=function(){function t(t,e,n){if(this._changeDetectorRef=t,this._dateAdapter=e,this._dir=n,this.selectedChange=new i.x,this.yearSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),Math.floor(this._dateAdapter.getYear(e)/24)!=Math.floor(this._dateAdapter.getYear(this._activeDate)/24)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedYear=this._selected&&this._dateAdapter.getYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._init=function(){var t=this;this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());var e=this._dateAdapter.getYear(this._activeDate),n=e%24;this._years=[];for(var r=0,i=[];r<24;r++)i.push(e-n+r),4==i.length&&(this._years.push(i.map(function(e){return t._createCellForYear(e)})),i=[]);this._changeDetectorRef.markForCheck()},t.prototype._yearSelected=function(t){this.yearSelected.emit(this._dateAdapter.createDate(t,0,1));var e=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(t,e,1));this.selectedChange.emit(this._dateAdapter.createDate(t,e,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-this._dateAdapter.getYear(this._activeDate)%24);break;case km.e:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-this._dateAdapter.getYear(this._activeDate)%24-1);break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-240:-24);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?240:24);break;case km.f:case km.n:this._yearSelected(this._dateAdapter.getYear(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._getActiveCell=function(){return this._dateAdapter.getYear(this.activeDate)%24},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._createCellForYear=function(t){var e=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1));return new xg(t,e,e,this._shouldEnableYear(t))},t.prototype._shouldEnableYear=function(t){if(null==t||this.maxDate&&t>this._dateAdapter.getYear(this.maxDate)||this.minDate&&t',exportAs:"matMultiYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),Sg=function(){function t(t,e,n,r){if(this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=n,this._dir=r,this.selectedChange=new i.x,this.monthSelected=new i.x,this.activeDateChange=new i.x,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._activeDate},set:function(t){var e=this._activeDate,n=this._getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(n,this.minDate,this.maxDate),this._dateAdapter.getYear(e)!==this._dateAdapter.getYear(this._activeDate)&&this._init()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._selectedMonth=this._getMonthInCurrentYear(this._selected)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._init()},t.prototype._monthSelected=function(t){var e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(e);var n=this._dateAdapter.getNumDaysInMonth(e);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},t.prototype._handleCalendarBodyKeydown=function(t){var e=this._activeDate,n=this._isRtl();switch(t.keyCode){case km.i:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?1:-1);break;case km.m:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,n?-1:1);break;case km.p:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case km.d:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case km.h:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case km.e:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case km.l:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-10:-1);break;case km.k:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?10:1);break;case km.f:case km.n:this._monthSelected(this._dateAdapter.getMonth(this._activeDate));break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()},t.prototype._init=function(){var t=this;this._selectedMonth=this._getMonthInCurrentYear(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);var e=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(function(n){return n.map(function(n){return t._createCellForMonth(n,e[n])})}),this._changeDetectorRef.markForCheck()},t.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},t.prototype._getMonthInCurrentYear=function(t){return t&&this._dateAdapter.getYear(t)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(t):null},t.prototype._createCellForMonth=function(t,e){var n=this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1),this._dateFormats.display.monthYearA11yLabel);return new xg(t,e.toLocaleUpperCase(),n,this._shouldEnableMonth(t))},t.prototype._shouldEnableMonth=function(t){var e=this._dateAdapter.getYear(this.activeDate);if(null==t||this._isYearAndMonthAfterMaxDate(e,t)||this._isYearAndMonthBeforeMinDate(e,t))return!1;if(!this.dateFilter)return!0;for(var n=this._dateAdapter.createDate(e,t,1);this._dateAdapter.getMonth(n)==t;n=this._dateAdapter.addCalendarDays(n,1))if(this.dateFilter(n))return!0;return!1},t.prototype._isYearAndMonthAfterMaxDate=function(t,e){if(this.maxDate){var n=this._dateAdapter.getYear(this.maxDate),r=this._dateAdapter.getMonth(this.maxDate);return t>n||t===n&&e>r}return!1},t.prototype._isYearAndMonthBeforeMinDate=function(t,e){if(this.minDate){var n=this._dateAdapter.getYear(this.minDate),r=this._dateAdapter.getMonth(this.minDate);return t',exportAs:"matYearView",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:i.k},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]}]},t.propDecorators={activeDate:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],selectedChange:[{type:i.S}],monthSelected:[{type:i.S}],activeDateChange:[{type:i.S}],_matCalendarBody:[{type:i.nb,args:[Cg]}]},t}(),kg=function(){function t(t,e,n,r,i){this._intl=t,this.calendar=e,this._dateAdapter=n,this._dateFormats=r,this.calendar.stateChanges.subscribe(function(){return i.markForCheck()})}return Object.defineProperty(t.prototype,"periodButtonText",{get:function(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);var t=this._dateAdapter.getYear(this.calendar.activeDate);return this._dateAdapter.getYearName(this._dateAdapter.createDate(t-t%24,0,1))+" – "+this._dateAdapter.getYearName(this._dateAdapter.createDate(t+24-1-t%24,0,1))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"periodButtonLabel",{get:function(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"prevButtonLabel",{get:function(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nextButtonLabel",{get:function(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]},enumerable:!0,configurable:!0}),t.prototype.currentPeriodClicked=function(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"},t.prototype.previousClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)},t.prototype.nextClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)},t.prototype.previousEnabled=function(){return!this.calendar.minDate||(!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate))},t.prototype.nextEnabled=function(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)},t.prototype._isSameView=function(t,e){return"month"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e)&&this._dateAdapter.getMonth(t)==this._dateAdapter.getMonth(e):"year"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e):Math.floor(this._dateAdapter.getYear(t)/24)==Math.floor(this._dateAdapter.getYear(e)/24)},t.decorators=[{type:i.n,args:[{selector:"mat-calendar-header",template:'
        ',exportAs:"matCalendarHeader",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:jg,decorators:[{type:i.C,args:[Object(i.vb)(function(){return jg})]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t}(),jg=function(){function t(t,e,n,r){var o=this;if(this._dateAdapter=e,this._dateFormats=n,this._changeDetectorRef=r,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new i.x,this.yearSelected=new i.x,this.monthSelected=new i.x,this._userSelection=new i.x,this.stateChanges=new jm.a,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._intlChanges=t.changes.subscribe(function(){r.markForCheck(),o.stateChanges.next()})}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(t){this._selected=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minDate",{get:function(){return this._minDate},set:function(t){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDate",{get:function(){return this._maxDate},set:function(t){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeDate",{get:function(){return this._clampedActiveDate},set:function(t){this._clampedActiveDate=this._dateAdapter.clampDate(t,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentView",{get:function(){return this._currentView},set:function(t){this._currentView=t,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._calendarHeaderPortal=new Km.d(this.headerComponent||kg),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView},t.prototype.ngAfterViewChecked=function(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())},t.prototype.ngOnDestroy=function(){this._intlChanges.unsubscribe(),this.stateChanges.complete()},t.prototype.ngOnChanges=function(t){var e=t.minDate||t.maxDate||t.dateFilter;if(e&&!e.firstChange){var n=this._getCurrentViewComponent();n&&(this._changeDetectorRef.detectChanges(),n._init())}this.stateChanges.next()},t.prototype.focusActiveCell=function(){this._getCurrentViewComponent()._focusActiveCell()},t.prototype.updateTodaysDate=function(){("month"==this.currentView?this.monthView:"year"==this.currentView?this.yearView:this.multiYearView).ngAfterContentInit()},t.prototype._dateSelected=function(t){this._dateAdapter.sameDate(t,this.selected)||this.selectedChange.emit(t)},t.prototype._yearSelectedInMultiYearView=function(t){this.yearSelected.emit(t)},t.prototype._monthSelectedInYearView=function(t){this.monthSelected.emit(t)},t.prototype._userSelected=function(){this._userSelection.emit()},t.prototype._goToDateInView=function(t,e){this.activeDate=t,this.currentView=e},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._getCurrentViewComponent=function(){return this.monthView||this.yearView||this.multiYearView},t.decorators=[{type:i.n,args:[{selector:"mat-calendar",template:'
        ',styles:[".mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:0}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-next-button,.mat-calendar-previous-button{position:relative}.mat-calendar-next-button::after,.mat-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-next-button,[dir=rtl] .mat-calendar-previous-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}"],host:{class:"mat-calendar"},exportAs:"matCalendar",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:i.k}]},t.propDecorators={headerComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],selected:[{type:i.G}],minDate:[{type:i.G}],maxDate:[{type:i.G}],dateFilter:[{type:i.G}],dateClass:[{type:i.G}],selectedChange:[{type:i.S}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],_userSelection:[{type:i.S}],monthView:[{type:i.nb,args:[Og]}],yearView:[{type:i.nb,args:[Sg]}],multiYearView:[{type:i.nb,args:[Eg]}]},t}(),Ag={transformPanel:Object(qm.n)("transformPanel",[Object(qm.k)("void",Object(qm.l)({opacity:0,transform:"scale(1, 0.8)"})),Object(qm.m)("void => enter",Object(qm.e)("120ms cubic-bezier(0, 0, 0.2, 1)",Object(qm.l)({opacity:1,transform:"scale(1, 1)"}))),Object(qm.m)("* => void",Object(qm.e)("100ms linear",Object(qm.l)({opacity:0})))]),fadeInCalendar:Object(qm.n)("fadeInCalendar",[Object(qm.k)("void",Object(qm.l)({opacity:0})),Object(qm.k)("enter",Object(qm.l)({opacity:1})),Object(qm.m)("void => *",Object(qm.e)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},Dg=0,Tg=new i.E("mat-datepicker-scroll-strategy");var Pg={provide:Tg,deps:[bg.b],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},Ig=function(t){this._elementRef=t},Rg=function(t){function e(e){return t.call(this,e)||this}return Object(o.c)(e,t),e.prototype.ngAfterViewInit=function(){this._calendar.focusActiveCell()},e.decorators=[{type:i.n,args:[{selector:"mat-datepicker-content",template:'',styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation:landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation:portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}"],host:{class:"mat-datepicker-content","[@transformPanel]":'"enter"',"[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[Ag.transformPanel,Ag.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.qb.None,changeDetection:i.j.OnPush,inputs:["color"]}]}],e.ctorParameters=function(){return[{type:i.u}]},e.propDecorators={_calendar:[{type:i.nb,args:[jg]}]},e}(Object(Wm.u)(Ig)),Mg=function(){function t(t,e,n,r,o,a,s,l){if(this._dialog=t,this._overlay=e,this._ngZone=n,this._viewContainerRef=r,this._dateAdapter=a,this._dir=s,this._document=l,this.startView="month",this._touchUi=!1,this.yearSelected=new i.x,this.monthSelected=new i.x,this.openedStream=new i.x,this.closedStream=new i.x,this._opened=!1,this.id="mat-datepicker-"+Dg++,this._validSelected=null,this._focusedElementBeforeOpen=null,this._inputSubscription=mg.a.EMPTY,this._disabledChange=new jm.a,this._selectedChanged=new jm.a,!this._dateAdapter)throw _g("DateAdapter");this._scrollStrategy=o}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt||(this._datepickerInput?this._datepickerInput.value:null)},set:function(t){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){return this._color||(this._datepickerInput?this._datepickerInput._getThemePalette():void 0)},set:function(t){this._color=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touchUi",{get:function(){return this._touchUi},set:function(t){this._touchUi=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this._datepickerInput?this._datepickerInput.disabled:!!this._disabled},set:function(t){var e=Object(Sm.c)(t);e!==this._disabled&&(this._disabled=e,this._disabledChange.next(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){t?this.open():this.close()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_selected",{get:function(){return this._validSelected},set:function(t){this._validSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_minDate",{get:function(){return this._datepickerInput&&this._datepickerInput.min},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_maxDate",{get:function(){return this._datepickerInput&&this._datepickerInput.max},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_dateFilter",{get:function(){return this._datepickerInput&&this._datepickerInput._dateFilter},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.close(),this._inputSubscription.unsubscribe(),this._disabledChange.complete(),this._popupRef&&(this._popupRef.dispose(),this._popupComponentRef=null)},t.prototype.select=function(t){var e=this._selected;this._selected=t,this._dateAdapter.sameDate(e,this._selected)||this._selectedChanged.next(t)},t.prototype._selectYear=function(t){this.yearSelected.emit(t)},t.prototype._selectMonth=function(t){this.monthSelected.emit(t)},t.prototype._registerInput=function(t){var e=this;if(this._datepickerInput)throw Error("A MatDatepicker can only be associated with a single input.");this._datepickerInput=t,this._inputSubscription=this._datepickerInput._valueChange.subscribe(function(t){return e._selected=t})},t.prototype.open=function(){if(!this._opened&&!this.disabled){if(!this._datepickerInput)throw Error("Attempted to open an MatDatepicker with no associated input.");this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit()}},t.prototype.close=function(){var t=this;if(this._opened){this._popupRef&&this._popupRef.hasAttached()&&this._popupRef.detach(),this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null),this._calendarPortal&&this._calendarPortal.isAttached&&this._calendarPortal.detach();var e=function(){t._opened&&(t._opened=!1,t.closedStream.emit(),t._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(e)):e()}},t.prototype._openAsDialog=function(){var t=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(Rg,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog"}),this._dialogRef.afterClosed().subscribe(function(){return t.close()}),this._dialogRef.componentInstance.datepicker=this,this._setColor()},t.prototype._openAsPopup=function(){var t=this;this._calendarPortal||(this._calendarPortal=new Km.d(Rg,this._viewContainerRef)),this._popupRef||this._createPopup(),this._popupRef.hasAttached()||(this._popupComponentRef=this._popupRef.attach(this._calendarPortal),this._popupComponentRef.instance.datepicker=this,this._setColor(),this._ngZone.onStable.asObservable().pipe(Object(yg.a)(1)).subscribe(function(){t._popupRef.updatePosition()}))},t.prototype._createPopup=function(){var t=this,e=new bg.c({positionStrategy:this._createPopupPositionStrategy(),hasBackdrop:!0,backdropClass:"mat-overlay-transparent-backdrop",direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(e),this._popupRef.overlayElement.setAttribute("role","dialog"),Object(gg.a)(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(Object(vg.a)(function(e){return e.keyCode===km.g||t._datepickerInput&&e.altKey&&e.keyCode===km.p}))).subscribe(function(){return t.close()})},t.prototype._createPopupPositionStrategy=function(){return this._overlay.position().flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition().withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"}])},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.prototype._setColor=function(){var t=this.color;this._popupComponentRef&&(this._popupComponentRef.instance.color=t),this._dialogRef&&(this._dialogRef.componentInstance.color=t)},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.j.OnPush,encapsulation:i.qb.None}]}],t.ctorParameters=function(){return[{type:ym.b},{type:bg.b},{type:i.Q},{type:i.pb},{type:void 0,decorators:[{type:i.C,args:[Tg]}]},{type:Wm.a,decorators:[{type:i.R}]},{type:Em.b,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Df.c]}]}]},t.propDecorators={calendarHeaderComponent:[{type:i.G}],startAt:[{type:i.G}],startView:[{type:i.G}],color:[{type:i.G}],touchUi:[{type:i.G}],disabled:[{type:i.G}],yearSelected:[{type:i.S}],monthSelected:[{type:i.S}],panelClass:[{type:i.G}],dateClass:[{type:i.G}],openedStream:[{type:i.S,args:["opened"]}],closedStream:[{type:i.S,args:["closed"]}],opened:[{type:i.G}]},t}(),Ng={provide:xm.g,useExisting:Object(i.vb)(function(){return Vg}),multi:!0},Fg={provide:xm.f,useExisting:Object(i.vb)(function(){return Vg}),multi:!0},Lg=function(t,e){this.target=t,this.targetElement=e,this.value=this.target.value},Vg=function(){function t(t,e,n,r){var o=this;if(this._elementRef=t,this._dateAdapter=e,this._dateFormats=n,this._formField=r,this.dateChange=new i.x,this.dateInput=new i.x,this._valueChange=new i.x,this._disabledChange=new i.x,this._onTouched=function(){},this._cvaOnChange=function(){},this._validatorOnChange=function(){},this._datepickerSubscription=mg.a.EMPTY,this._localeSubscription=mg.a.EMPTY,this._parseValidator=function(){return o._lastValueValid?null:{matDatepickerParse:{text:o._elementRef.nativeElement.value}}},this._minValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.min||!e||o._dateAdapter.compareDate(o.min,e)<=0?null:{matDatepickerMin:{min:o.min,actual:e}}},this._maxValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return!o.max||!e||o._dateAdapter.compareDate(o.max,e)>=0?null:{matDatepickerMax:{max:o.max,actual:e}}},this._filterValidator=function(t){var e=o._getValidDateOrNull(o._dateAdapter.deserialize(t.value));return o._dateFilter&&e&&!o._dateFilter(e)?{matDatepickerFilter:!0}:null},this._validator=xm.k.compose([this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]),this._lastValueValid=!1,!this._dateAdapter)throw _g("DateAdapter");if(!this._dateFormats)throw _g("MAT_DATE_FORMATS");this._localeSubscription=e.localeChanges.subscribe(function(){o.value=o.value})}return Object.defineProperty(t.prototype,"matDatepicker",{set:function(t){var e=this;t&&(this._datepicker=t,this._datepicker._registerInput(this),this._datepickerSubscription.unsubscribe(),this._datepickerSubscription=this._datepicker._selectedChanged.subscribe(function(t){e.value=t,e._cvaOnChange(t),e._onTouched(),e.dateInput.emit(new Lg(e,e._elementRef.nativeElement)),e.dateChange.emit(new Lg(e,e._elementRef.nativeElement))}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"matDatepickerFilter",{set:function(t){this._dateFilter=t,this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=!t||this._dateAdapter.isValid(t),t=this._getValidDateOrNull(t);var e=this.value;this._value=t,this._formatValue(t),this._dateAdapter.sameDate(e,t)||this._valueChange.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return this._min},set:function(t){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return this._max},set:function(t){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(t)),this._validatorOnChange()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return!!this._disabled},set:function(t){var e=Object(Sm.c)(t),n=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this._disabledChange.emit(e)),e&&n.blur&&n.blur()},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._datepickerSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()},t.prototype.registerOnValidatorChange=function(t){this._validatorOnChange=t},t.prototype.validate=function(t){return this._validator?this._validator(t):null},t.prototype.getPopupConnectionElementRef=function(){return this.getConnectedOverlayOrigin()},t.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},t.prototype.writeValue=function(t){this.value=t},t.prototype.registerOnChange=function(t){this._cvaOnChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._onKeydown=function(t){var e=t.altKey&&t.keyCode===km.d;this._datepicker&&e&&!this._elementRef.nativeElement.readOnly&&(this._datepicker.open(),t.preventDefault())},t.prototype._onInput=function(t){var e=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=!e||this._dateAdapter.isValid(e),e=this._getValidDateOrNull(e),this._dateAdapter.sameDate(e,this._value)?this._validatorOnChange():(this._value=e,this._cvaOnChange(e),this._valueChange.emit(e),this.dateInput.emit(new Lg(this,this._elementRef.nativeElement)))},t.prototype._onChange=function(){this.dateChange.emit(new Lg(this,this._elementRef.nativeElement))},t.prototype._getThemePalette=function(){return this._formField?this._formField.color:void 0},t.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},t.prototype._formatValue=function(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""},t.prototype._getValidDateOrNull=function(t){return this._dateAdapter.isDateInstance(t)&&this._dateAdapter.isValid(t)?t:null},t.decorators=[{type:i.t,args:[{selector:"input[matDatepicker]",providers:[Ng,Fg,{provide:_m.a,useExisting:t}],host:{"[attr.aria-haspopup]":"true","[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],t.ctorParameters=function(){return[{type:i.u},{type:Wm.a,decorators:[{type:i.R}]},{type:void 0,decorators:[{type:i.R},{type:i.C,args:[Wm.d]}]},{type:wm.a,decorators:[{type:i.R}]}]},t.propDecorators={matDatepicker:[{type:i.G}],matDatepickerFilter:[{type:i.G}],value:[{type:i.G}],min:[{type:i.G}],max:[{type:i.G}],disabled:[{type:i.G}],dateChange:[{type:i.S}],dateInput:[{type:i.S}]},t}(),Bg=function(){function t(){}return t.decorators=[{type:i.t,args:[{selector:"[matDatepickerToggleIcon]"}]}],t}(),zg=function(){function t(t,e,n){this._intl=t,this._changeDetectorRef=e,this._stateChanges=mg.a.EMPTY;var r=Number(n);this.tabIndex=r||0===r?r:null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(t){this._disabled=Object(Sm.c)(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){t.datepicker&&this._watchStateChanges()},t.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},t.prototype.ngAfterContentInit=function(){this._watchStateChanges()},t.prototype._open=function(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())},t.prototype._watchStateChanges=function(){var t=this,e=this.datepicker?this.datepicker._disabledChange:Object(Am.a)(),n=this.datepicker&&this.datepicker._datepickerInput?this.datepicker._datepickerInput._disabledChange:Object(Am.a)(),r=this.datepicker?Object(gg.a)(this.datepicker.openedStream,this.datepicker.closedStream):Object(Am.a)();this._stateChanges.unsubscribe(),this._stateChanges=Object(gg.a)(this._intl.changes,e,n,r).subscribe(function(){return t._changeDetectorRef.markForCheck()})},t.decorators=[{type:i.n,args:[{selector:"mat-datepicker-toggle",template:'',styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}"],host:{class:"mat-datepicker-toggle","[attr.tabindex]":"-1","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"(focus)":"_button.focus()"},exportAs:"matDatepickerToggle",encapsulation:i.qb.None,changeDetection:i.j.OnPush}]}],t.ctorParameters=function(){return[{type:wg},{type:i.k},{type:String,decorators:[{type:i.h,args:["tabindex"]}]}]},t.propDecorators={datepicker:[{type:i.G,args:["for"]}],tabIndex:[{type:i.G}],disabled:[{type:i.G}],disableRipple:[{type:i.G}],_customIcon:[{type:i.r,args:[Bg]}],_button:[{type:i.nb,args:["button"]}]},t}(),Hg=function(){function t(){}return t.decorators=[{type:i.L,args:[{imports:[Df.b,Cm.b,ym.d,bg.e,Om.a,Km.h],exports:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],declarations:[jg,Cg,Mg,Rg,Vg,zg,Bg,Og,Sg,Eg,kg],providers:[wg,Pg],entryComponents:[Rg,kg]}]}],t}(),Ug=function(){function t(){}return t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-header",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-header{position:relative;display:block;overflow:hidden;padding:15px;text-align:center}"]}]}],t}(),Gg=function(){function t(t,e,n,r,o){this.animationBuilder=t,this.elementRef=e,this.renderer=n,this.changeDetectorRef=r,this.document=o,this._expanded=!1,this._alternate=!1,this._mobile=!1,this._size=50,this.animationDone=new i.x,this.clazz="primary"}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"alternate",{get:function(){return this._alternate},set:function(t){this._alternate=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{get:function(){return this._mobile},set:function(t){this._mobile=t,this.setStyle()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle()},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.initialStyle=this.document.defaultView.getComputedStyle(this.elementRef.nativeElement),this.setStyle(),this.changeDetectorRef.detectChanges()},t.prototype.getCollapsedStyle=function(){return{top:"50%",left:this.alternate||this.mobile?"-5px":"calc(100% + 5px)",width:this.size+"px",height:this.size+"px",opacity:1,transform:"translateY(-50%) translateX(-50%)",boxShadow:this.initialStyle&&this.initialStyle.boxShadow,borderRadius:"100px"}},t.prototype.getTransitionStyle=function(){return Object(o.a)({},this.getCollapsedStyle(),{left:"50%",opacity:.5,boxShadow:"none"})},t.prototype.getExpandedStyle=function(){return Object(o.a)({},this.getTransitionStyle(),{left:"0",transform:"translateX(0) translateY(-50%)",width:"100%",height:"100%",opacity:1,borderRadius:0})},t.prototype.animate=function(){var t=this;this.destroyAnimation(),this.expanded?(this.animation=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("200ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone(function(){return t.animationDone.emit({toState:"expanded"})}),this.animation.play()):(this.animationBuilder,this.animation=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getTransitionStyle())),Object(qm.e)("100ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement),this.animation.onDone(function(){return t.animationDone.emit({toState:"collapsed"})}),this.animation.play())},t.prototype.setStyle=function(){var t=this;this.destroyAnimation();var e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach(function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])})},t.prototype.destroyAnimation=function(){this.animation&&(this.animation.destroy(),delete this.animation)},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-dot",template:"\n",encapsulation:i.qb.None,styles:["mgl-timeline-entry-dot{display:block;position:absolute}"]}]}],t.ctorParameters=function(){return[{type:qm.b},{type:i.u},{type:i.Y},{type:i.k},{type:void 0,decorators:[{type:i.C,args:[Df.c]}]}]},t.propDecorators={clazz:[{type:i.G,args:["class"]},{type:i.z,args:["class"]}],size:[{type:i.G}]},t}(),qg=function(){function t(t,e,n){this.elementRef=t,this.animationBuilder=e,this.renderer=n,this.animationDone=new i.x,this._expanded=!1}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this.contentHeight=this.elementRef.nativeElement.scrollHeight;var e=this._expanded!==t;this._expanded=t,e?this.animate():this.setStyle},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.contentHeight=this.elementRef.nativeElement.scrollHeight,this.setStyle()},t.prototype.getCollapsedStyle=function(){return{height:"0px"}},t.prototype.getExpandedStyle=function(){return{height:this.contentHeight+"px"}},t.prototype.animate=function(){var t,e=this;this.expanded?((t=this.animationBuilder.build([Object(qm.l)(this.getCollapsedStyle()),Object(qm.e)("100ms ease",Object(qm.l)(this.getExpandedStyle()))]).create(this.elementRef.nativeElement)).onDone(function(){return e.animationDone.emit({toState:"expanded"})}),t.play()):(this.animationBuilder,(t=this.animationBuilder.build([Object(qm.l)(this.getExpandedStyle()),Object(qm.e)("200ms ease",Object(qm.l)(this.getCollapsedStyle()))]).create(this.elementRef.nativeElement)).onDone(function(){return e.animationDone.emit({toState:"collapsed"})}),t.play())},t.prototype.setStyle=function(){var t=this,e=this.expanded?this.getExpandedStyle():this.getCollapsedStyle();Object.keys(e).forEach(function(n){t.renderer.setElementStyle(t.elementRef.nativeElement,n,e[n])})},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-content",template:"
        ",encapsulation:i.qb.None,styles:["mgl-timeline-entry-content{position:relative;display:block;overflow:hidden}mgl-timeline-entry-content>div{padding:10px}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:qm.b},{type:i.Y}]},t}(),Wg=function(){function t(t){this.elementRef=t}return Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry-side",template:"",encapsulation:i.qb.None,styles:["mgl-timeline-entry-side{position:absolute;top:0;left:100%;width:100%;text-align:center}mgl-timeline-entry-side.alternate{left:-100%}mgl-timeline-entry-side.mobile{display:none}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t}(),Yg=function(){function t(t){this.elementRef=t,this.subscriptions=[],this.focusOnOpen=!1,this._mobile=!1,this.changed=new i.x,this.animationDone=new i.x}return Object.defineProperty(t.prototype,"expanded",{get:function(){return this.dot?this.dot.expanded&&this.content.expanded:this.content.expanded},set:function(t){this.dot&&t?this.dot.expanded=t:this.content.expanded=t,this.changed.emit(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mobile",{set:function(t){this.elementRef.nativeElement.classList.toggle("mobile",t),this.dot&&(this.dot.mobile=t),this.side&&(this.side.mobile=t)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this.dot&&this.subscriptions.push(this.dot.animationDone.subscribe(function(e){"expanded"===e.toState?t.content.expanded=!0:t.animationDone.emit(e)})),this.content&&this.subscriptions.push(this.content.animationDone.subscribe(function(e){t.dot&&"collapsed"===e.toState?t.dot.expanded=!1:(t.focusOnOpen&&t.elementRef.nativeElement.scrollIntoView({behavior:"smooth"}),t.animationDone.emit(e))}))},Object.defineProperty(t.prototype,"alternate",{set:function(t){this.elementRef.nativeElement.classList.toggle("alternate",t),this.dot&&(this.dot.alternate=t),this.side&&(this.side.alternate=t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.collapse=function(){this.expanded=!1},t.prototype.expand=function(){this.expanded=!0},t.prototype.toggle=function(t){var e=this.containsInPath(t,"mgl-timeline-entry-header"),n=this.containsInPath(t,"mgl-timeline-entry-dot");(e||n)&&(this.expanded=!this.expanded)},t.prototype.containsInPath=function(t,e){for(var n=t.target;n;){if(n.localName===e)return!0;n=n.parentElement}return!1},t.decorators=[{type:i.n,args:[{selector:"mgl-timeline-entry",template:'\n
        \n
        \n \n \n
        \n \n
        ',encapsulation:i.qb.None,styles:["mgl-timeline-entry{display:block;position:relative;margin-bottom:50px;width:calc(50% - 5px)}mgl-timeline-entry.alternate{margin-left:calc(50% + 5px)}mgl-timeline-entry.mobile{width:calc(100% - 30px);margin-left:30px}mgl-timeline-entry .mgl-timeline-entry-card{background-color:#f0f0f0}mgl-timeline-entry .mgl-timeline-entry-card .mgl-timeline-entry-card-header{position:relative;background-color:#e6e6e6}"]}]}],t.ctorParameters=function(){return[{type:i.u}]},t.propDecorators={expanded:[{type:i.z,args:["class.expanded"]}],changed:[{type:i.S,args:["expand"]}],animationDone:[{type:i.S}],content:[{type:i.r,args:[qg]}],header:[{type:i.r,args:[Ug]}],dot:[{type:i.r,args:[Gg]}],side:[{type:i.r,args:[Wg]}]},t}(),Kg=function(){function t(t,e){this.elementRef=t,this.changeDetectorRef=e,this.toggle=!0,this.mobileWidthThreshold=640,this.alternate=!0,this.side="left",this._focusOnOpen=!1,this.subscriptions=[]}return Object.defineProperty(t.prototype,"mobile",{get:function(){return this.elementRef.nativeElement.classList.contains("mobile")},set:function(t){this.content&&this.content.forEach(function(e){return e.mobile=t}),this.elementRef.nativeElement.classList.toggle("mobile",t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focusOnOpen",{get:function(){return this._focusOnOpen},set:function(t){this.content&&this.content.forEach(function(e){return e.focusOnOpen=t}),this._focusOnOpen=t},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){this.updateContent()},t.prototype.ngOnDestroy=function(){this.subscriptions.forEach(function(t){return t.unsubscribe()})},t.prototype.ngAfterViewInit=function(){var t=this;this.mobile=this.elementRef.nativeElement.clientWidth\n',encapsulation:i.qb.None,styles:["mgl-timeline{position:relative;display:block;padding:50px 0}mgl-timeline .mgl-timeline-line{position:absolute;top:0;height:100%;background-color:#a0a0a0;left:50%;width:10px;-webkit-transform:translateX(-50%);transform:translateX(-50%)}mgl-timeline.mobile .mgl-timeline-line{left:20px;-webkit-transform:none;transform:none}"]}]}],t.ctorParameters=function(){return[{type:i.u},{type:i.k}]},t.propDecorators={toggle:[{type:i.G}],mobileWidthThreshold:[{type:i.G}],alternate:[{type:i.G}],side:[{type:i.G}],focusOnOpen:[{type:i.G}],content:[{type:i.s,args:[Yg]}],onResize:[{type:i.A,args:["window:resize",["$event"]]}]},t}(),Qg=function(){function t(){}return t.decorators=[{type:i.L,args:[{declarations:[Kg,Yg,Ug,Wg,qg,Gg],exports:[Kg,Yg,Ug,Wg,qg,Gg]}]}],t}(),Xg=n("Gwao"),Zg=n("dO5I"),$g=n("X2iB"),Jg=n("sB9w"),ty=n("6nr9"),ey=n("6Qg2"),ny=n("lGQG"),ry=n("lYZG"),iy=n("XlPw"),oy=n("bne5"),ay=n("dEwP"),sy=n("6blF"),ly=n("+umK"),cy=new sy.a(ly.a);var uy=n("67Y/"),py=n("15JJ"),dy=n("xlPZ");var hy=n("xMyE"),fy=n("vubp"),my="Service workers are disabled or not supported by this browser";var gy=function(){function t(t){if(this.serviceWorker=t,t){var e=Object(oy.a)(t,"controllerchange").pipe(Object(uy.a)(function(){return t.controller})),n=Object(ry.a)(function(){return Object(Am.a)(t.controller)}),r=Object(ay.a)(n,e);this.worker=r.pipe(Object(vg.a)(function(t){return!!t})),this.registration=this.worker.pipe(Object(py.a)(function(){return t.getRegistration()}));var i=Object(oy.a)(t,"message").pipe(Object(uy.a)(function(t){return t.data})).pipe(Object(vg.a)(function(t){return t&&t.type})).pipe(o?Object(dy.a)(function(){return new jm.a},o):Object(dy.a)(new jm.a));i.connect(),this.events=i}else this.worker=this.events=this.registration=(a=my,Object(ry.a)(function(){return Object(iy.a)(new Error(a))}));var o,a}return t.prototype.postMessage=function(t,e){return this.worker.pipe(Object(yg.a)(1),Object(hy.a)(function(n){n.postMessage(Object(o.a)({action:t},e))})).toPromise().then(function(){})},t.prototype.postMessageWithStatus=function(t,e,n){var r=this.waitForStatus(n),i=this.postMessage(t,e);return Promise.all([r,i]).then(function(){})},t.prototype.generateNonce=function(){return Math.round(1e7*Math.random())},t.prototype.eventsOfType=function(t){return this.events.pipe(Object(vg.a)(function(e){return e.type===t}))},t.prototype.nextEventOfType=function(t){return this.eventsOfType(t).pipe(Object(yg.a)(1))},t.prototype.waitForStatus=function(t){return this.eventsOfType("STATUS").pipe(Object(vg.a)(function(e){return e.nonce===t}),Object(yg.a)(1),Object(uy.a)(function(t){if(!t.status)throw new Error(t.error)})).toPromise()},Object.defineProperty(t.prototype,"isEnabled",{get:function(){return!!this.serviceWorker},enumerable:!0,configurable:!0}),t}(),yy=function(){function t(t){if(this.sw=t,this.subscriptionChanges=new jm.a,!t.isEnabled)return this.messages=cy,this.notificationClicks=cy,void(this.subscription=cy);this.messages=this.sw.eventsOfType("PUSH").pipe(Object(uy.a)(function(t){return t.data})),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Object(uy.a)(function(t){return t.data})),this.pushManager=this.sw.registration.pipe(Object(uy.a)(function(t){return t.pushManager}));var e=this.pushManager.pipe(Object(py.a)(function(t){return t.getSubscription()}));this.subscription=Object(gg.a)(e,this.subscriptionChanges)}return Object.defineProperty(t.prototype,"isEnabled",{get:function(){return this.sw.isEnabled},enumerable:!0,configurable:!0}),t.prototype.requestSubscription=function(t){var e=this;if(!this.sw.isEnabled)return Promise.reject(new Error(my));for(var n={userVisibleOnly:!0},r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),i=new Uint8Array(new ArrayBuffer(r.length)),o=0;o=0;s--)(i=t[s])&&(a=(o<3?i(a):o>3?i(e,n,a):i(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},Sy=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{l(r.next(t))}catch(e){o(e)}}function s(t){try{l(r.throw(t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}l((r=r.apply(t,e||[])).next())})},ky=function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]",this._properties=e&&e.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==T.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return j.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return M},enumerable:!0,configurable:!0}),e.__load_patch=function(i,a){if(T.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!t["__Zone_disable_"+i]){var c="Zone:"+i;n(c),T[i]=a(t,e,A),r(c,c)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){j={parent:j,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{j=j.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),j={parent:j,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{j=j.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||y).name+"; Execution: "+this.name+")");if(t.state!==m||t.type!==O&&t.type!==S){var r=t.state!=x;r&&t._transitionTo(x,w),t.runCount++;var o=M;M=t,j={parent:j,zone:this};try{t.type==S&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==m&&t.state!==E&&(t.type==O||t.data&&t.data.isPeriodic?r&&t._transitionTo(w,x):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(m,x,m))),j=j.parent,M=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(b,m);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(E,b,m),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==b&&t._transitionTo(w,b),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new s(_,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new s(S,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new s(O,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||y).name+"; Execution: "+this.name+")");t._transitionTo(k,w,x);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(E,k),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(m,k),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),s=function(){function e(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;n===O&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,u,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),P++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==P&&g(),P--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(m,b)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==m&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),f=D("setTimeout"),l=D("Promise"),p=D("then"),h=[],v=!1;function d(e){if(0===P&&0===h.length)if(i||t[l]&&(i=t[l].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,g)}else t[f](g,0);e&&h.push(e)}function g(){if(!v){for(v=!0;h.length;){var t=h;h=[];for(var e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}};Zone.__load_patch("ZoneAwarePromise",(function(e,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),f="__creationTrace__";r.onUnhandledError=function(t){if(r.showUncaughtError()){var e=t&&t.rejection;e?console.error("Unhandled Promise rejection:",e instanceof Error?e.message:e,"; Zone:",t.zone.name,"; Task:",t.task&&t.task.source,"; Value:",e,e instanceof Error?e.stack:void 0):console.error(t)}},r.microtaskDrainDone=function(){for(;c.length;)for(var t=function(){var t=c.shift();try{t.zone.runGuarded((function(){throw t}))}catch(e){p(e)}};c.length;)t()};var l=a("unhandledPromiseRejectionHandler");function p(t){r.onUnhandledError(t);try{var e=n[l];e&&"function"==typeof e&&e.call(this,t)}catch(o){}}function h(t){return t&&t.then}function v(t){return t}function d(t){return R.reject(t)}var g=a("state"),y=a("value"),m=a("finally"),b=a("parentPromiseValue"),w=a("parentPromiseState"),x="Promise.then",k=null,E=!0,_=!1,S=0;function O(t,e){return function(n){try{M(t,e,n)}catch(r){M(t,!1,r)}}}var T=function(){var t=!1;return function(e){return function(){t||(t=!0,e.apply(null,arguments))}}},A="Promise resolved with itself",j=a("currentTaskTrace");function M(t,e,o){var a=T();if(t===o)throw new TypeError(A);if(t[g]===k){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(v){return a((function(){M(t,!1,v)}))(),t}if(e!==_&&o instanceof R&&o.hasOwnProperty(g)&&o.hasOwnProperty(y)&&o[g]!==k)I(o),M(t,o[g],o[y]);else if(e!==_&&"function"==typeof u)try{u.call(o,a(O(t,e)),a(O(t,!1)))}catch(v){a((function(){M(t,!1,v)}))()}else{t[g]=e;var s=t[y];if(t[y]=o,t[m]===m&&e===E&&(t[g]=t[w],t[y]=t[b]),e===_&&o instanceof Error){var l=n.currentTask&&n.currentTask.data&&n.currentTask.data[f];l&&i(o,j,{configurable:!0,enumerable:!1,writable:!0,value:l})}for(var p=0;p=0;n--)"function"==typeof t[n]&&(t[n]=h(t[n],e+"_"+n));return t}function k(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var E="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,_=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),S=!_&&!E&&!(!g||!y.HTMLElement),O=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!E&&!(!g||!y.HTMLElement),T={},A=function(t){if(t=t||m.event){var e=T[t.type];e||(e=T[t.type]=d("ON_PROPERTY"+t.type));var n,r=this||t.target||m,o=r[e];if(S&&r===y&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function j(t,r,o){var i=e(t,r);if(!i&&o&&e(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!t.hasOwnProperty(a)||!t[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),f=T[s];f||(f=T[s]=d("ON_PROPERTY"+s)),i.set=function(e){var n=this;n||t!==m||(n=m),n&&(n[f]&&n.removeEventListener(s,A),u&&u.apply(n,w),"function"==typeof e?(n[f]=e,n.addEventListener(s,A,!1)):n[f]=null)},i.get=function(){var e=this;if(e||t!==m||(e=m),!e)return null;var n=e[f];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof e[b]&&e.removeAttribute(r),o}return null},n(t,r,i),t[a]=!0}}}function M(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?v(i.name,r[i.cbIdx],i,o):t.apply(e,r)}}))}function N(t,e){t[d("OriginalDelegate")]=e}var L=!1,C=!1;function Z(){try{var t=y.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(e){}return!1}function z(){if(L)return C;L=!0;try{var t=y.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(C=!0)}catch(e){}return C}Zone.__load_patch("toString",(function(t){var e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var c=t[o];if(c)return e.call(c)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}));var G=!1;if("undefined"!=typeof window)try{var q=Object.defineProperty({},"passive",{get:function(){G=!0}});window.addEventListener("test",q,q),window.removeEventListener("test",q,q)}catch(St){G=!1}var X={useG:!0},Y={},V={},U=/^__zone_symbol__(\w+)(true|false)$/,H="__zone_symbol__propagationStopped";function W(t,e,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",g="prependListener",y="."+g+":",m=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},b=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[Y[e.type][l]];if(r)if(1===r.length)m(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(u,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(u),c=u,[r,o,"send","close"].forEach((function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var c=Zone.__symbol__("ON_PROPERTY"+i);u[c]=a[c]}}return u[e].apply(u,n)}}))):a=u,t.patchOnProperties(a,["close","error","message","open"],c),a};var a=e.WebSocket;for(var c in i)a[c]=i[c]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",(function(t,r,u){u.patchOnProperties=M,u.patchMethod=R,u.bindArguments=x,u.patchMacroTask=F;var s=r.__symbol__("BLACK_LISTED_EVENTS"),v=r.__symbol__("UNPATCHED_EVENTS");t[v]&&(t[s]=t[v]),t[s]&&(r[s]=r[v]=t[s]),u.patchEventPrototype=Q,u.patchEventTarget=W,u.isIEOrEdge=z,u.ObjectDefineProperty=n,u.ObjectGetOwnPropertyDescriptor=e,u.ObjectCreate=o,u.ArraySlice=i,u.patchClass=I,u.wrapWithCurrentZone=h,u.filterProperties=yt,u.attachOriginToPatched=N,u._redefineProperty=rt,u.patchCallbacks=B,u.getGlobalObjects=function(){return{globalSources:V,zoneSymbolEventNames:Y,eventNames:gt,isBrowser:S,isMix:O,isNode:_,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:c}}})),function(t){t.__zone_symbol__legacyPatch=function(){var e=t.Zone;e.__load_patch("registerElement",(function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(t,n)})),e.__load_patch("EventTargetLegacy",(function(t,e,n){wt(t,n),xt(n,t)}))}}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var kt=d("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function c(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function u(t){return i(t.data.handleId)}o=R(t,e+=r,(function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=v(e,i[0],s,c,u);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}})),i=R(t,n,(function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}}))}function _t(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,c=n.ZONE_SYMBOL_PREFIX,u=0;u0){var o=t.invoke;t.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;idocument.F=Object<\/script>"),t.close(),l=t.F;n--;)delete l.prototype[i[n]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(f.prototype=r(t),n=new f,f.prototype=null,n[s]=t):n=l(),void 0===e?n:o(n,e)},a[s]=!0},"3Lyj":function(t,e,n){var r=n("KroJ");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},"3caY":function(t,e,n){var r=n("wA6s"),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):i(e+a(e*e+1)):e}})},"3vMK":function(t,e,n){"use strict";var r=n("6XUM"),o=n("/Ybd"),i=n("wIVT"),a=n("m41k")("hasInstance"),c=Function.prototype;a in c||o.f(c,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},"3xQm":function(t,e,n){var r,o,i,a,c,u,s,f,l=n("ocAm"),p=n("7gGY").f,h=n("ezU2"),v=n("Ox9q").set,d=n("4U6Q"),g=l.MutationObserver||l.WebKitMutationObserver,y=l.process,m=l.Promise,b="process"==h(y),w=p(l,"queueMicrotask"),x=w&&w.value;x||(r=function(){var t,e;for(b&&(t=y.domain)&&t.exit();o;){e=o.fn,o=o.next;try{e()}catch(n){throw o?a():i=void 0,n}}i=void 0,t&&t.enter()},b?a=function(){y.nextTick(r)}:g&&!/(iphone|ipod|ipad).*applewebkit/i.test(d)?(c=!0,u=document.createTextNode(""),new g(r).observe(u,{characterData:!0}),a=function(){u.data=c=!c}):m&&m.resolve?(s=m.resolve(void 0),f=s.then,a=function(){f.call(s,r)}):a=function(){v.call(l,r)}),t.exports=x||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,a()),i=e}},"45Tv":function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(t,e,n){if(a(t,e,n))return c(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},"48xZ":function(t,e,n){var r=n("n/2t"),o=Math.abs,i=Math.pow,a=i(2,-52),c=i(2,-23),u=i(2,127)*(2-c),s=i(2,-126);t.exports=Math.fround||function(t){var e,n,i=o(t),f=r(t);return iu||n!=n?f*(1/0):f*n}},"49D4":function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},"4GtL":function(t,e,n){"use strict";var r=n("VCQ8"),o=n("7Oj1"),i=n("xpLY"),a=Math.min;t.exports=[].copyWithin||function(t,e){var n=r(this),c=i(n.length),u=o(t,c),s=o(e,c),f=arguments.length>2?arguments[2]:void 0,l=a((void 0===f?c:o(f,c))-s,c-u),p=1;for(s0;)s in n?n[u]=n[s]:delete n[u],u+=p,s+=p;return n}},"4Kt7":function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("9Vb/")("sub")},{sub:function(){return o(this,"sub","","")}})},"4LiD":function(t,e,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),f=n("0/R4"),l=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");t.exports=function(t,e,n,d,g,y){var m=r[t],b=m,w=g?"set":"add",x=b&&b.prototype,k={},E=function(t){var e=x[t];i(x,t,"delete"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(y||x.forEach&&!l((function(){(new b).entries().next()})))){var _=new b,S=_[w](y?{}:-0,1)!=_,O=l((function(){_.has(1)})),T=p((function(t){new b(t)})),A=!y&&l((function(){for(var t=new b,e=5;e--;)t[w](e,e);return!t.has(-0)}));T||((b=e((function(e,n){s(e,b,t);var r=v(new m,e,b);return null!=n&&u(n,g,r[w],r),r}))).prototype=x,x.constructor=b),(O||A)&&(E("delete"),E("has"),g&&E("get")),(A||S)&&E(w),y&&x.clear&&delete x.clear}else b=d.getConstructor(e,t,g,w),a(b.prototype,n),c.NEED=!0;return h(b,t),k[t]=b,o(o.G+o.W+o.F*(b!=m),k),y||d.setStrong(b,t,g),b}},"4R4u":function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"4U6Q":function(t,e,n){var r=n("Ew/G");t.exports=r("navigator","userAgent")||""},"4axp":function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("9Vb/")("blink")},{blink:function(){return o(this,"blink","","")}})},"5MmU":function(t,e,n){var r=n("m41k"),o=n("pz+c"),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},"5eAq":function(t,e,n){var r=n("wA6s"),o=n("xvwj");r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},"5y2d":function(t,e,n){var r=n("T69T"),o=n("/Ybd"),i=n("F26l"),a=n("ZRqE");t.exports=r?Object.defineProperties:function(t,e){i(t);for(var n,r=a(e),c=r.length,u=0;c>u;)o.f(t,n=r[u++],e[n]);return t}},"5zDw":function(t,e,n){var r=n("wA6s"),o=n("ldur");r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},"6CEi":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").find,i=n("A1Hp"),a=!0;"find"in[]&&Array(1).find((function(){a=!1})),r({target:"Array",proto:!0,forced:a},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},"6FMO":function(t,e,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");t.exports=function(t){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},"6XUM":function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"6fhQ":function(t,e,n){"use strict";var r=n("wA6s"),o=n("Neub"),i=n("VCQ8"),a=n("rG8t"),c=n("geuh"),u=[].sort,s=[1,2,3],f=a((function(){s.sort(void 0)})),l=a((function(){s.sort(null)})),p=c("sort");r({target:"Array",proto:!0,forced:f||!l||p},{sort:function(t){return void 0===t?u.call(i(this)):u.call(i(this),o(t))}})},"6lQQ":function(t,e,n){"use strict";var r=n("wA6s"),o=n("OXtp").indexOf,i=n("geuh"),a=[].indexOf,c=!!a&&1/[1].indexOf(1,-0)<0,u=i("indexOf");r({target:"Array",proto:!0,forced:c||u},{indexOf:function(t){return c?a.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},"6oxo":function(t,e,n){var r=n("wA6s"),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(t){return o(t)/i}})},"6q6p":function(t,e,n){"use strict";var r=n("wA6s"),o=n("6XUM"),i=n("erNl"),a=n("7Oj1"),c=n("xpLY"),u=n("EMtK"),s=n("DYg9"),f=n("lRyB"),l=n("m41k")("species"),p=[].slice,h=Math.max;r({target:"Array",proto:!0,forced:!f("slice")},{slice:function(t,e){var n,r,f,v=u(this),d=c(v.length),g=a(t,d),y=a(void 0===e?d:e,d);if(i(v)&&("function"!=typeof(n=v.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[l])&&(n=void 0):n=void 0,n===Array||void 0===n))return p.call(v,g,y);for(r=new(void 0===n?Array:n)(h(y-g,0)),f=0;g=0;)n+=p[e],p[e]=s(n/t),n=n%t*1e7},y=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==p[t]){var n=String(p[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(h="-",u=-u),u>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(u*f(2,69,1))-69)<0?u*f(2,-e,1):u/f(2,e,1),n*=4503599627370496,(e=52-e)>0){for(d(0,n),r=l;r>=7;)d(1e7,0),r-=7;for(d(f(10,r,1),0),r=e-1;r>=23;)g(1<<23),r-=23;g(1<0?h+((c=v.length)<=l?"0."+a.call("0",l-c)+v:v.slice(0,c-l)+"."+v.slice(c-l)):h+v}})},"8ydS":function(t,e,n){n("wA6s")({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}})},"94Vg":function(t,e,n){var r=n("E7aN"),o=n("OG5q"),i=n("ydtP"),a=n("/Ybd").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},"9AAn":function(t,e,n){"use strict";var r=n("wmvG"),o=n("s5qY");t.exports=n("4LiD")("Map",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},"9Vb/":function(t,e,n){var r=n("rG8t");t.exports=function(t){return r((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},"9gX7":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"9kNm":function(t,e,n){n("94Vg")("toPrimitive")},A1Hp:function(t,e,n){var r=n("m41k"),o=n("2RDa"),i=n("HEFl"),a=r("unscopables"),c=Array.prototype;null==c[a]&&i(c,a,o(null)),t.exports=function(t){c[a][t]=!0}},A7hN:function(t,e,n){var r=n("wA6s"),o=n("rG8t"),i=n("VCQ8"),a=n("wIVT"),c=n("cwa4");r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!c},{getPrototypeOf:function(t){return a(i(t))}})},Afnz:function(t,e,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),f=n("OP3Y"),l=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,v,d,g,y){u(n,e,v);var m,b,w,x=function(t){if(!p&&t in S)return S[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",E="values"==d,_=!1,S=t.prototype,O=S[l]||S["@@iterator"]||d&&S[d],T=O||x(d),A=d?E?x("entries"):T:void 0,j="Array"==e&&S.entries||O;if(j&&(w=f(j.call(new t)))!==Object.prototype&&w.next&&(s(w,k,!0),r||"function"==typeof w[l]||a(w,l,h)),E&&O&&"values"!==O.name&&(_=!0,T=function(){return O.call(this)}),r&&!y||!p&&!_&&S[l]||a(S,l,T),c[e]=T,c[k]=h,d)if(m={values:E?T:x("values"),keys:g?T:x("keys"),entries:A},y)for(b in m)b in S||i(S,b,m[b]);else o(o.P+o.F*(p||_),e,m);return m}},"Ay+M":function(t,e,n){var r=n("wA6s"),o=n("xvwj");r({global:!0,forced:parseFloat!=o},{parseFloat:o})},BaTD:function(t,e,n){n("wA6s")({target:"String",proto:!0},{repeat:n("EMWV")})},BcWx:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("DYg9");r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)i(n,t,arguments[t++]);return n.length=e,n}})},BlSG:function(t,e,n){var r=n("wA6s"),o=n("F26l"),i=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(t){return o(t),!i||i(t)}})},BnCb:function(t,e,n){n("wA6s")({target:"Math",stat:!0},{sign:n("n/2t")})},BqfV:function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},COcp:function(t,e,n){n("wA6s")({target:"Number",stat:!0},{isInteger:n("Nvxz")})},CW9j:function(t,e,n){"use strict";var r=n("F26l"),o=n("LdO1");t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!==t)}},CkkT:function(t,e,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");t.exports=function(t,e){var n=1==t,u=2==t,s=3==t,f=4==t,l=6==t,p=5==t||l,h=e||c;return function(e,c,v){for(var d,g,y=i(e),m=o(y),b=r(c,v,3),w=a(m.length),x=0,k=n?h(e,w):u?h(e,0):void 0;w>x;x++)if((p||x in m)&&(g=b(d=m[x],x,y),t))if(n)k[x]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return x;case 2:k.push(d)}else if(f)return!1;return l?-1:s||f?f:k}}},Cme9:function(t,e,n){var r=n("wA6s"),o=n("F26l"),i=n("6XUM"),a=n("OG5q"),c=n("/Ybd"),u=n("7gGY"),s=n("wIVT"),f=n("uSMZ");r({target:"Reflect",stat:!0},{set:function t(e,n,r){var l,p,h=arguments.length<4?e:arguments[3],v=u.f(o(e),n);if(!v){if(i(p=s(e)))return t(p,n,r,h);v=f(0)}if(a(v,"value")){if(!1===v.writable||!i(h))return!1;if(l=u.f(h,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=r,c.f(h,n,l)}else c.f(h,n,f(0,r));return!0}return void 0!==v.set&&(v.set.call(h,r),!0)}})},CwIO:function(t,e,n){var r=n("wA6s"),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(1/0,NaN)!==1/0},{hypot:function(t,e){for(var n,r,o=0,c=0,u=arguments.length,s=0;c0?(r=n/s)*r:n;return s===1/0?1/0:s*a(o)}})},"D+RQ":function(t,e,n){"use strict";var r=n("T69T"),o=n("ocAm"),i=n("MkZA"),a=n("2MGJ"),c=n("OG5q"),u=n("ezU2"),s=n("K6ZX"),f=n("LdO1"),l=n("rG8t"),p=n("2RDa"),h=n("KkqW").f,v=n("7gGY").f,d=n("/Ybd").f,g=n("jnLS").trim,y=o.Number,m=y.prototype,b="Number"==u(p(m)),w=function(t){var e,n,r,o,i,a,c,u,s=f(t,!1);if("string"==typeof s&&s.length>2)if(43===(e=(s=g(s)).charCodeAt(0))||45===e){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,c=0;co)return NaN;return parseInt(i,r)}return+s};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var x,k=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof k&&(b?l((function(){m.valueOf.call(n)})):"Number"!=u(n))?s(new y(w(e)),n,k):w(e)},E=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;E.length>_;_++)c(y,x=E[_])&&!c(k,x)&&d(k,x,v(y,x));k.prototype=m,m.constructor=k,a(o,"Number",k)}},D94X:function(t,e,n){var r=n("wA6s"),o=n("n/2t"),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(t){return o(t=+t)*a(i(t),1/3)}})},DAme:function(t,e,n){"use strict";var r=n("8aNu"),o=n("M7Xk").getWeakData,i=n("F26l"),a=n("6XUM"),c=n("SM6+"),u=n("Rn6E"),s=n("kk6e"),f=n("OG5q"),l=n("XH/I"),p=l.set,h=l.getterFor,v=s.find,d=s.findIndex,g=0,y=function(t){return t.frozen||(t.frozen=new m)},m=function(){this.entries=[]},b=function(t,e){return v(t.entries,(function(t){return t[0]===e}))};m.prototype={get:function(t){var e=b(this,t);if(e)return e[1]},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.entries.push([t,e])},delete:function(t){var e=d(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,s){var l=t((function(t,r){c(t,l,e),p(t,{type:e,id:g++,frozen:void 0}),null!=r&&u(r,t[s],t,n)})),v=h(e),d=function(t,e,n){var r=v(t),a=o(i(e),!0);return!0===a?y(r).set(e,n):a[r.id]=n,t};return r(l.prototype,{delete:function(t){var e=v(this);if(!a(t))return!1;var n=o(t);return!0===n?y(e).delete(t):n&&f(n,e.id)&&delete n[e.id]},has:function(t){var e=v(this);if(!a(t))return!1;var n=o(t);return!0===n?y(e).has(t):n&&f(n,e.id)}}),r(l.prototype,n?{get:function(t){var e=v(this);if(a(t)){var n=o(t);return!0===n?y(e).get(t):n?n[e.id]:void 0}},set:function(t,e){return d(this,t,e)}}:{add:function(t){return d(this,t,!0)}}),l}}},DGHb:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("VCQ8"),a=n("LdO1");r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(t){var e=i(this),n=a(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},DVgA:function(t,e,n){var r=n("zhAb"),o=n("4R4u");t.exports=Object.keys||function(t){return r(t,o)}},DYg9:function(t,e,n){"use strict";var r=n("LdO1"),o=n("/Ybd"),i=n("uSMZ");t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},Djps:function(t,e,n){n("wA6s")({target:"Math",stat:!0},{log1p:n("O3xq")})},DscF:function(t,e,n){var r=n("wA6s"),o=n("w4Hq"),i=n("A1Hp");r({target:"Array",proto:!0},{fill:o}),i("fill")},E7aN:function(t,e,n){t.exports=n("ocAm")},E8Ab:function(t,e,n){"use strict";var r=n("Neub"),o=n("6XUM"),i=[].slice,a={},c=function(t,e,n){if(!(e in a)){for(var r=[],o=0;o0?arguments[0]:void 0)}},m={get:function(t){if(f(t)){var e=v(t);return!0===e?g(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(l(this,"WeakMap"),t,e)}},b=t.exports=n("4LiD")("WeakMap",y,m,s,!0,!0);p&&h&&(u((r=s.getConstructor(y,"WeakMap")).prototype,m),c.NEED=!0,i(["delete","has","get","set"],(function(t){var e=b.prototype,n=e[t];a(e,t,(function(e,o){if(f(e)&&!d(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)}))})))},EMWV:function(t,e,n){"use strict";var r=n("vDBE"),o=n("hmpk");t.exports="".repeat||function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},EMtK:function(t,e,n){var r=n("tUdv"),o=n("hmpk");t.exports=function(t){return r(o(t))}},EQZg:function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},ERXZ:function(t,e,n){n("94Vg")("match")},EWmC:function(t,e,n){var r=n("LZWt");t.exports=Array.isArray||function(t){return"Array"==r(t)}},EemH:function(t,e,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;e.f=n("nh4g")?s:function(t,e){if(t=i(t),e=a(e,!0),u)try{return s(t,e)}catch(n){}if(c(t,e))return o(!r.f.call(t,e),t[e])}},EiAZ:function(t,e,n){var r=n("wA6s"),o=n("Ew/G"),i=n("Neub"),a=n("F26l"),c=n("6XUM"),u=n("2RDa"),s=n("E8Ab"),f=n("rG8t"),l=o("Reflect","construct"),p=f((function(){function t(){}return!(l((function(){}),[],t)instanceof t)})),h=!f((function(){l((function(){}))})),v=p||h;r({target:"Reflect",stat:!0,forced:v,sham:v},{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(h&&!p)return l(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var o=n.prototype,f=u(c(o)?o:Object.prototype),v=Function.apply.call(t,f,e);return c(v)?v:f}})},Ejw8:function(t,e,n){var r=n("wA6s"),o=n("Ew/G"),i=n("Neub"),a=n("F26l"),c=n("rG8t"),u=o("Reflect","apply"),s=Function.apply;r({target:"Reflect",stat:!0,forced:!c((function(){u((function(){}))}))},{apply:function(t,e,n){return i(t),a(n),u?u(t,e,n):s.call(t,e,n)}})},EntM:function(t,e,n){var r=n("wA6s"),o=n("T69T");r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n("5y2d")})},"Ew/G":function(t,e,n){var r=n("E7aN"),o=n("ocAm"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},"F/TS":function(t,e,n){var r=n("mN5b"),o=n("pz+c"),i=n("m41k")("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},F26l:function(t,e,n){var r=n("6XUM");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},F4rZ:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("erNl"),a=n("6XUM"),c=n("VCQ8"),u=n("xpLY"),s=n("DYg9"),f=n("JafA"),l=n("lRyB"),p=n("m41k")("isConcatSpreadable"),h=!o((function(){var t=[];return t[p]=!1,t.concat()[0]!==t})),v=l("concat"),d=function(t){if(!a(t))return!1;var e=t[p];return void 0!==e?!!e:i(t)};r({target:"Array",proto:!0,forced:!h||!v},{concat:function(t){var e,n,r,o,i,a=c(this),l=f(a,0),p=0;for(e=-1,r=arguments.length;e9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(l,p++,i)}return l.length=p,l}})},FJW5:function(t,e,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");t.exports=n("nh4g")?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),c=a.length,u=0;c>u;)r.f(t,n=a[u++],e[n]);return t}},FU1i:function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").map;r({target:"Array",proto:!0,forced:!n("lRyB")("map")},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},FZcq:function(t,e,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),t.exports=n("g3g5").Reflect},"FeI/":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").every;r({target:"Array",proto:!0,forced:n("geuh")("every")},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},Fqhe:function(t,e,n){var r=n("ocAm"),o=n("HEFl");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},G1Vw:function(t,e,n){"use strict";var r,o,i,a=n("wIVT"),c=n("HEFl"),u=n("OG5q"),s=n("m41k"),f=n("g9hI"),l=s("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),f||u(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},G7bs:function(t,e,n){var r=n("vDBE"),o=n("hmpk"),i=function(t){return function(e,n){var i,a,c=String(o(e)),u=r(n),s=c.length;return u<0||u>=s?t?"":void 0:(i=c.charCodeAt(u))<55296||i>56319||u+1===s||(a=c.charCodeAt(u+1))<56320||a>57343?t?c.charAt(u):i:t?c.slice(u,u+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},H6hf:function(t,e,n){var r=n("y3w9");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},HEFl:function(t,e,n){var r=n("T69T"),o=n("/Ybd"),i=n("uSMZ");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},HSQg:function(t,e,n){"use strict";var r=n("HEFl"),o=n("2MGJ"),i=n("rG8t"),a=n("m41k"),c=n("qjkP"),u=a("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,l){var p=a(t),h=!i((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),v=h&&!i((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[p](""),!e}));if(!h||!v||"replace"===t&&!s||"split"===t&&!f){var d=/./[p],g=n(p,""[t],(function(t,e,n,r,o){return e.exec===c?h&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),y=g[0],m=g[1];o(String.prototype,t,y),o(RegExp.prototype,p,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)}),l&&r(RegExp.prototype[p],"sham",!0)}}},HxcV:function(t,e,n){var r=n("rG8t"),o=n("xFZC");t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},"I8a+":function(t,e,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},IBH3:function(t,e,n){"use strict";var r=n("SxYf"),o=n("VCQ8"),i=n("ipMl"),a=n("5MmU"),c=n("xpLY"),u=n("DYg9"),s=n("F/TS");t.exports=function(t){var e,n,f,l,p=o(t),h="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,g=void 0!==d,y=0,m=s(p);if(g&&(d=r(d,v>2?arguments[2]:void 0,2)),null==m||h==Array&&a(m))for(n=new h(e=c(p.length));e>y;y++)u(n,y,g?d(p[y],y):p[y]);else for(l=m.call(p),n=new h;!(f=l.next()).done;y++)u(n,y,g?i(l,d,[f.value,y],!0):f.value);return n.length=y,n}},IPby:function(t,e,n){var r=n("wA6s"),o=n("EMtK"),i=n("xpLY");r({target:"String",stat:!0},{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],c=0;n>c;)a.push(String(e[c++])),c1?arguments[1]:void 0)}})},IXlp:function(t,e,n){var r=n("wA6s"),o=n("O3xq"),i=Math.acosh,a=Math.log,c=Math.sqrt,u=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(1/0)!=1/0},{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?a(t)+u:o(t-1+c(t-1)*c(t+1))}})},Iw71:function(t,e,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},IzYO:function(t,e,n){var r=n("wA6s"),o=n("cZY6"),i=n("rG8t"),a=n("6XUM"),c=n("M7Xk").onFreeze,u=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){u(1)})),sham:!o},{freeze:function(t){return u&&a(t)?u(c(t)):t}})},"J+6e":function(t,e,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");t.exports=n("g3g5").getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},J4zY:function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("9Vb/")("fixed")},{fixed:function(){return o(this,"tt","","")}})},JHhb:function(t,e,n){"use strict";var r=n("Ew/G"),o=n("/Ybd"),i=n("m41k"),a=n("T69T"),c=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[c]&&n(e,c,{configurable:!0,get:function(){return this}})}},JI1L:function(t,e,n){var r=n("6XUM");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},JafA:function(t,e,n){var r=n("6XUM"),o=n("erNl"),i=n("m41k")("species");t.exports=function(t,e){var n;return o(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},JhPs:function(t,e,n){var r=n("wA6s"),o=n("pn4C");r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},JiEa:function(t,e){e.f=Object.getOwnPropertySymbols},"Jt/z":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").findIndex,i=n("A1Hp"),a=!0;"findIndex"in[]&&Array(1).findIndex((function(){a=!1})),r({target:"Array",proto:!0,forced:a},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},K0xU:function(t,e,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},K1Z7:function(t,e,n){"use strict";var r=n("HSQg"),o=n("F26l"),i=n("xpLY"),a=n("hmpk"),c=n("dPn5"),u=n("unYP");r("match",1,(function(t,e,n){return[function(e){var n=a(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var a=o(t),s=String(this);if(!a.global)return u(a,s);var f=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=u(a,s));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=c(s,i(a.lastIndex),f)),h++}return 0===h?null:p}]}))},K1dl:function(t,e,n){var r=n("ocAm");t.exports=r.Promise},K6ZX:function(t,e,n){var r=n("6XUM"),o=n("7/lX");t.exports=function(t,e,n){var i,a;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(t,a),t}},KMug:function(t,e,n){var r=n("wA6s"),o=n("rG8t"),i=n("6XUM"),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},KXK2:function(t,e,n){var r=n("wA6s"),o=n("F26l"),i=n("7gGY").f;r({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var n=i(o(t),e);return!(n&&!n.configurable)&&delete t[e]}})},KkqW:function(t,e,n){var r=n("vVmn"),o=n("aAjO").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},KlhL:function(t,e,n){"use strict";var r=n("T69T"),o=n("rG8t"),i=n("ZRqE"),a=n("busr"),c=n("gn9T"),u=n("VCQ8"),s=n("tUdv"),f=Object.assign;t.exports=!f||o((function(){var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=f({},t)[n]||"abcdefghijklmnopqrst"!=i(f({},e)).join("")}))?function(t,e){for(var n=u(t),o=arguments.length,f=1,l=a.f,p=c.f;o>f;)for(var h,v=s(arguments[f++]),d=l?i(v).concat(l(v)):i(v),g=d.length,y=0;g>y;)h=d[y++],r&&!p.call(v,h)||(n[h]=v[h]);return n}:f},KroJ:function(t,e,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=n("+lvF"),u=(""+c).split("toString");n("g3g5").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[a]||c.call(this)}))},KsdI:function(t,e,n){n("94Vg")("iterator")},Kuth:function(t,e,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var t,e=n("Iw71")("iframe"),r=i.length;for(e.style.display="none",n("+rLv").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("