{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.ts.pre-build-optimizer.js","webpack:///./src/app/app.module.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.module.ts.pre-build-optimizer.js","webpack:///./src/app/category/category-routing.module.ts","webpack:///./src/app/category/category-routing.module.ts.pre-build-optimizer.js","webpack:///./src/app/category/category.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/category.component.html","webpack:///./src/app/category/category.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/category.component.ts","webpack:///./src/app/category/category.component.ts.pre-build-optimizer.js","webpack:///./src/app/category/category.module.ts","webpack:///./src/app/category/category.module.ts.pre-build-optimizer.js","webpack:///./src/app/category/models/webapi/request/category-create-request.model.ts","webpack:///./src/app/category/models/webapi/request/category-create-request.model.ts.pre-build-optimizer.js","webpack:///./src/app/category/models/webapi/request/key-request.model.ts","webpack:///./src/app/category/models/webapi/request/key-request.model.ts.pre-build-optimizer.js","webpack:///./src/app/category/models/webapi/request/update-key-request.model.ts.pre-build-optimizer.js","webpack:///./src/app/category/models/webapi/request/update-key-request.model.ts","webpack:///./src/app/category/pages/categories/categories.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/categories/categories.component.html","webpack:///./src/app/category/pages/categories/categories.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/categories/categories.component.ts","webpack:///./src/app/category/pages/categories/categories.component.ts.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-create-modal/category-create-modal.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-create-modal/category-create-modal.component.html","webpack:///./src/app/category/pages/category-create-modal/category-create-modal.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-create-modal/category-create-modal.component.ts","webpack:///./src/app/category/pages/category-create-modal/category-create-modal.component.ts.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-edit-modal/category-edit-modal.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-edit-modal/category-edit-modal.component.html","webpack:///./src/app/category/pages/category-edit-modal/category-edit-modal.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/category-edit-modal/category-edit-modal.component.ts","webpack:///./src/app/category/pages/category-edit-modal/category-edit-modal.component.ts.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-create-modal/key-create-modal.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-create-modal/key-create-modal.component.html","webpack:///./src/app/category/pages/key-create-modal/key-create-modal.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-create-modal/key-create-modal.component.ts","webpack:///./src/app/category/pages/key-create-modal/key-create-modal.component.ts.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-edit-modal/key-edit-modal.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-edit-modal/key-edit-modal.component.html","webpack:///./src/app/category/pages/key-edit-modal/key-edit-modal.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/category/pages/key-edit-modal/key-edit-modal.component.ts","webpack:///./src/app/category/pages/key-edit-modal/key-edit-modal.component.ts.pre-build-optimizer.js","webpack:///./src/app/constants.ts","webpack:///./src/app/constants.ts.pre-build-optimizer.js","webpack:///./src/app/core/adapters/UtcDateTimeAdapter.ts.pre-build-optimizer.js","webpack:///./src/app/core/adapters/UtcDateTimeAdapter.ts","webpack:///./src/app/core/apis/base-api.ts","webpack:///./src/app/core/apis/base-api.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/category-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/category-api.service.ts","webpack:///./src/app/core/apis/moderation-api/moderation-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/moderation-api.service.ts","webpack:///./src/app/core/apis/moderation-api/product-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/product-api.service.ts","webpack:///./src/app/core/apis/moderation-api/program-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/program-api.service.ts","webpack:///./src/app/core/apis/moderation-api/quick-actions-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/quick-actions-api.service.ts","webpack:///./src/app/core/apis/moderation-api/ruleset-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/ruleset-api.service.ts","webpack:///./src/app/core/apis/moderation-api/store-api.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/apis/moderation-api/store-api.service.ts","webpack:///./src/app/core/core-routing.module.ts","webpack:///./src/app/core/core-routing.module.ts.pre-build-optimizer.js","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/core/core.module.ts.pre-build-optimizer.js","webpack:///./src/app/core/interceptors/account-key.interceptor.ts","webpack:///./src/app/core/interceptors/account-key.interceptor.ts.pre-build-optimizer.js","webpack:///./src/app/core/interceptors/auth.interceptor.ts","webpack:///./src/app/core/interceptors/auth.interceptor.ts.pre-build-optimizer.js","webpack:///./src/app/core/interceptors/program-key.interceptor.ts","webpack:///./src/app/core/interceptors/program-key.interceptor.ts.pre-build-optimizer.js","webpack:///./src/app/core/nav/top-nav/top-nav.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/nav/top-nav/top-nav.component.html","webpack:///./src/app/core/nav/top-nav/top-nav.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/nav/top-nav/top-nav.component.ts","webpack:///./src/app/core/nav/top-nav/top-nav.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/cross-account/cross-account-resolver.service.ts","webpack:///./src/app/core/pages/cross-account/cross-account-resolver.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/cross-account/cross-account.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/cross-account/cross-account.component.html","webpack:///./src/app/core/pages/cross-account/cross-account.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/cross-account/cross-account.component.ts","webpack:///./src/app/core/pages/cross-account/cross-account.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/cross-account/cross-account.service.ts","webpack:///./src/app/core/pages/cross-account/cross-account.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/home/home.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/home/home.component.html","webpack:///./src/app/core/pages/home/home.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/home/home.component.ts","webpack:///./src/app/core/pages/home/home.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/logon/logon.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/logon/logon.component.html","webpack:///./src/app/core/pages/logon/logon.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/logon/logon.component.ts","webpack:///./src/app/core/pages/logon/logon.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/page-not-found/page-not-found.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/page-not-found/page-not-found.component.html","webpack:///./src/app/core/pages/page-not-found/page-not-found.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/page-not-found/page-not-found.component.ts","webpack:///./src/app/core/pages/page-not-found/page-not-found.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/session-expired/session-expired.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/session-expired/session-expired.component.html","webpack:///./src/app/core/pages/session-expired/session-expired.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/session-expired/session-expired.component.ts","webpack:///./src/app/core/pages/session-expired/session-expired.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/signin-oidc/signin-oidc.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/signin-oidc/signin-oidc.component.html","webpack:///./src/app/core/pages/signin-oidc/signin-oidc.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/signin-oidc/signin-oidc.component.ts","webpack:///./src/app/core/pages/signin-oidc/signin-oidc.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/pages/unauthorized/unauthorized.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/unauthorized/unauthorized.component.html","webpack:///./src/app/core/pages/unauthorized/unauthorized.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/core/pages/unauthorized/unauthorized.component.ts","webpack:///./src/app/core/pages/unauthorized/unauthorized.component.ts.pre-build-optimizer.js","webpack:///./src/app/core/services/auth-guard.service.ts","webpack:///./src/app/core/services/auth-guard.service.ts.pre-build-optimizer.js","webpack:///./src/app/core/services/cross-account-guard.service.ts","webpack:///./src/app/core/services/cross-account-guard.service.ts.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/ruleset-wizard/ruleset-wizard.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/ruleset-wizard/ruleset-wizard.component.html","webpack:///./src/app/ruleset/pages/ruleset-wizard/ruleset-wizard.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/ruleset-wizard/ruleset-wizard.component.ts","webpack:///./src/app/ruleset/pages/ruleset-wizard/ruleset-wizard.component.ts.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/rulesets/rulesets.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/rulesets/rulesets.component.html","webpack:///./src/app/ruleset/pages/rulesets/rulesets.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/pages/rulesets/rulesets.component.ts","webpack:///./src/app/ruleset/pages/rulesets/rulesets.component.ts.pre-build-optimizer.js","webpack:///./src/app/ruleset/ruleset-routing.module.ts","webpack:///./src/app/ruleset/ruleset-routing.module.ts.pre-build-optimizer.js","webpack:///./src/app/ruleset/ruleset.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/ruleset.component.html","webpack:///./src/app/ruleset/ruleset.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/ruleset/ruleset.component.ts","webpack:///./src/app/ruleset/ruleset.component.ts.pre-build-optimizer.js","webpack:///./src/app/ruleset/ruleset.module.ts","webpack:///./src/app/ruleset/ruleset.module.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/alert.model.ts","webpack:///./src/app/shared/models/alert.model.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/continuation-token-response.model.ts","webpack:///./src/app/shared/models/continuation-token-response.model.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/rule-kind.enum.ts","webpack:///./src/app/shared/models/rule-set-type.enum.ts","webpack:///./src/app/shared/models/webapi/request/CreateEditRuleSetModel.ts","webpack:///./src/app/shared/models/webapi/request/CreateEditRuleSetModel.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/request/CreateEditStoreModel.ts","webpack:///./src/app/shared/models/webapi/request/CreateEditStoreModel.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/request/create-edit-rule.model.ts","webpack:///./src/app/shared/models/webapi/request/create-edit-rule.model.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/response/RuleSetResultsModel.ts","webpack:///./src/app/shared/models/webapi/response/RuleSetResultsModel.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/response/StoreModel.ts","webpack:///./src/app/shared/models/webapi/response/StoreModel.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/response/StoreResultsModel.ts","webpack:///./src/app/shared/models/webapi/response/StoreResultsModel.ts.pre-build-optimizer.js","webpack:///./src/app/shared/models/webapi/response/key-results.model.ts","webpack:///./src/app/shared/models/webapi/response/key-results.model.ts.pre-build-optimizer.js","webpack:///./src/app/shared/pipes/tz.pipe.ts","webpack:///./src/app/shared/pipes/tz.pipe.ts.pre-build-optimizer.js","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/shared.module.ts.pre-build-optimizer.js","webpack:///./src/app/shared/utils/cloneJson.ts","webpack:///./src/app/shared/widgets/folding-cube/folding-cube.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/shared/widgets/folding-cube/folding-cube.component.html","webpack:///./src/app/shared/widgets/folding-cube/folding-cube.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/shared/widgets/folding-cube/folding-cube.component.ts","webpack:///./src/app/shared/widgets/folding-cube/folding-cube.component.ts.pre-build-optimizer.js","webpack:///./src/app/store/pages/global-stores/global-stores.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/store/pages/global-stores/global-stores.component.html","webpack:///./src/app/store/pages/global-stores/global-stores.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/store/pages/global-stores/global-stores.component.ts","webpack:///./src/app/store/pages/global-stores/global-stores.component.ts.pre-build-optimizer.js","webpack:///./src/app/store/pages/stores/stores.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/store/pages/stores/stores.component.html","webpack:///./src/app/store/pages/stores/stores.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/store/pages/stores/stores.component.ts.pre-build-optimizer.js","webpack:///./src/app/store/pages/stores/stores.component.ts","webpack:///./src/app/store/store-routing.module.ts","webpack:///./src/app/store/store-routing.module.ts.pre-build-optimizer.js","webpack:///./src/app/store/store.component.ngfactory.js.pre-build-optimizer.js","webpack:///./src/app/store/store.component.html","webpack:///./src/app/store/store.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///./src/app/store/store.component.ts","webpack:///./src/app/store/store.component.ts.pre-build-optimizer.js","webpack:///./src/app/store/store.module.ts","webpack:///./src/app/store/store.module.ts.pre-build-optimizer.js","webpack:///./src/environments/environment.ts","webpack:///./src/i18n/date_util.ts","webpack:///./src/main.ts","webpack:///./src/main.ts.pre-build-optimizer.js","webpack:///./src/version.ts","webpack:///./src/version.ts.pre-build-optimizer.js"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"app/boarding/boarding.module.ngfactory\": [\n\t\t\"./src/app/boarding/boarding.module.ngfactory.js\",\n\t\t\"app-boarding-boarding-module-ngfactory\"\n\t],\n\t\"app/category/category.module.ngfactory\": [\n\t\t\"./src/app/category/category.module.ngfactory.js\",\n\t\t\"app-category-category-module-ngfactory\"\n\t],\n\t\"app/product/product.module.ngfactory\": [\n\t\t\"./src/app/product/product.module.ngfactory.js\",\n\t\t\"app-product-product-module-ngfactory\"\n\t],\n\t\"app/quick-actions/quick-actions.module.ngfactory\": [\n\t\t\"./src/app/quick-actions/quick-actions.module.ngfactory.js\",\n\t\t\"app-quick-actions-quick-actions-module-ngfactory\"\n\t],\n\t\"app/ruleset/ruleset.module.ngfactory\": [\n\t\t\"./src/app/ruleset/ruleset.module.ngfactory.js\",\n\t\t\"app-ruleset-ruleset-module-ngfactory\"\n\t],\n\t\"app/store/store.module.ngfactory\": [\n\t\t\"./src/app/store/store.module.ngfactory.js\",\n\t\t\"app-store-store-module-ngfactory\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./app.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./core/nav/top-nav/top-nav.component.ngfactory\";\nimport * as i3 from \"./core/nav/top-nav/top-nav.component\";\nimport * as i4 from \"angular-auth-oidc-client\";\nimport * as i5 from \"@angular/router\";\nimport * as i6 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i7 from \"./core/pages/cross-account/cross-account.service\";\nimport * as i8 from \"./core/apis/moderation-api/moderation-api.service\";\nimport * as i9 from \"./app.component\";\nvar styles_AppComponent = [i0.styles];\nvar RenderType_AppComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_AppComponent, data: {} });\nexport { RenderType_AppComponent as RenderType_AppComponent };\nexport function View_AppComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-top-nav\", [], null, null, null, i2.View_TopNavComponent_0, i2.RenderType_TopNavComponent)), i1.ɵdid(1, 245760, null, 0, i3.TopNavComponent, [i4.OidcSecurityService, i5.Router, i6.CookieService, i7.CrossAccountService, i8.ModerationApiService], null, null), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"main\", [[\"role\", \"main\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 16777216, null, null, 1, \"router-outlet\", [], null, null, null, null, null)), i1.ɵdid(4, 212992, null, 0, i5.RouterOutlet, [i5.ChildrenOutletContexts, i1.ViewContainerRef, i1.ComponentFactoryResolver, [8, null], i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); _ck(_v, 4, 0); }, null); }\nexport function View_AppComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-root\", [], null, null, null, View_AppComponent_0, RenderType_AppComponent)), i1.ɵdid(1, 49152, null, 0, i9.AppComponent, [], null, null)], null, null); }\nvar AppComponentNgFactory = i1.ɵccf(\"app-root\", i9.AppComponent, View_AppComponent_Host_0, {}, {}, []);\nexport { AppComponentNgFactory as AppComponentNgFactory };\n","\n
\n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'app';\n}\n","var AppComponent = /** @class */ (function () {\n function AppComponent() {\n this.title = 'app';\n }\n return AppComponent;\n}());\nexport { AppComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./app.module\";\nimport * as i2 from \"./app.component\";\nimport * as i3 from \"../../node_modules/ngx-bootstrap/tooltip/ngx-bootstrap-tooltip.ngfactory\";\nimport * as i4 from \"../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i5 from \"../../node_modules/ngx-bootstrap/modal/ngx-bootstrap-modal.ngfactory\";\nimport * as i6 from \"../../node_modules/ngx-bootstrap/typeahead/ngx-bootstrap-typeahead.ngfactory\";\nimport * as i7 from \"../../node_modules/ng-pick-datetime/dialog/dialog-container.component.ngfactory\";\nimport * as i8 from \"../../node_modules/ng-pick-datetime/date-time/date-time-picker-container.component.ngfactory\";\nimport * as i9 from \"../../node_modules/@angular/router/router.ngfactory\";\nimport * as i10 from \"./ruleset/ruleset.component.ngfactory\";\nimport * as i11 from \"./ruleset/pages/rulesets/rulesets.component.ngfactory\";\nimport * as i12 from \"./ruleset/pages/ruleset-wizard/ruleset-wizard.component.ngfactory\";\nimport * as i13 from \"./store/store.component.ngfactory\";\nimport * as i14 from \"./store/pages/stores/stores.component.ngfactory\";\nimport * as i15 from \"./store/pages/global-stores/global-stores.component.ngfactory\";\nimport * as i16 from \"./core/pages/cross-account/cross-account.component.ngfactory\";\nimport * as i17 from \"./core/pages/home/home.component.ngfactory\";\nimport * as i18 from \"./core/pages/logon/logon.component.ngfactory\";\nimport * as i19 from \"./core/pages/signin-oidc/signin-oidc.component.ngfactory\";\nimport * as i20 from \"./core/pages/unauthorized/unauthorized.component.ngfactory\";\nimport * as i21 from \"./core/pages/session-expired/session-expired.component.ngfactory\";\nimport * as i22 from \"./core/pages/page-not-found/page-not-found.component.ngfactory\";\nimport * as i23 from \"./category/category.component.ngfactory\";\nimport * as i24 from \"./category/pages/categories/categories.component.ngfactory\";\nimport * as i25 from \"./category/pages/category-create-modal/category-create-modal.component.ngfactory\";\nimport * as i26 from \"./category/pages/category-edit-modal/category-edit-modal.component.ngfactory\";\nimport * as i27 from \"./category/pages/key-edit-modal/key-edit-modal.component.ngfactory\";\nimport * as i28 from \"./category/pages/key-create-modal/key-create-modal.component.ngfactory\";\nimport * as i29 from \"./app.component.ngfactory\";\nimport * as i30 from \"@angular/common\";\nimport * as i31 from \"@angular/platform-browser\";\nimport * as i32 from \"@angular/animations/browser\";\nimport * as i33 from \"@angular/platform-browser/animations\";\nimport * as i34 from \"@angular/animations\";\nimport * as i35 from \"@angular/common/http\";\nimport * as i36 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i37 from \"./core/interceptors/auth.interceptor\";\nimport * as i38 from \"./core/interceptors/account-key.interceptor\";\nimport * as i39 from \"./core/interceptors/program-key.interceptor\";\nimport * as i40 from \"@angular/router\";\nimport * as i41 from \"ngx-pagination\";\nimport * as i42 from \"ngx-bootstrap/positioning\";\nimport * as i43 from \"ngx-bootstrap/component-loader\";\nimport * as i44 from \"ngx-bootstrap/typeahead\";\nimport * as i45 from \"@angular/cdk/overlay\";\nimport * as i46 from \"@angular/cdk/bidi\";\nimport * as i47 from \"@angular/cdk/observers\";\nimport * as i48 from \"ng-pick-datetime/dialog/dialog.service\";\nimport * as i49 from \"ng-pick-datetime/date-time/date-time-picker-intl.service\";\nimport * as i50 from \"ng-pick-datetime/date-time/date-time-picker.component\";\nimport * as i51 from \"ng-pick-datetime/date-time/adapter/date-time-adapter.class\";\nimport * as i52 from \"./core/adapters/UtcDateTimeAdapter\";\nimport * as i53 from \"@angular/forms\";\nimport * as i54 from \"./shared/pipes/tz.pipe\";\nimport * as i55 from \"ngx-moment\";\nimport * as i56 from \"ngx-bootstrap/modal\";\nimport * as i57 from \"./core/services/auth-guard.service\";\nimport * as i58 from \"angular-auth-oidc-client\";\nimport * as i59 from \"./core/services/cross-account-guard.service\";\nimport * as i60 from \"./core/apis/moderation-api/program-api.service\";\nimport * as i61 from \"./core/pages/cross-account/cross-account-resolver.service\";\nimport * as i62 from \"./core/pages/cross-account/cross-account.service\";\nimport * as i63 from \"ngx-bootstrap/accordion\";\nimport * as i64 from \"ngx-bootstrap/tooltip\";\nimport * as i65 from \"ngx-bootstrap/alert\";\nimport * as i66 from \"ngx-bootstrap/tabs\";\nimport * as i67 from \"./core/apis/moderation-api/product-api.service\";\nimport * as i68 from \"./core/apis/moderation-api/store-api.service\";\nimport * as i69 from \"./core/apis/moderation-api/ruleset-api.service\";\nimport * as i70 from \"./core/apis/moderation-api/quick-actions-api.service\";\nimport * as i71 from \"./core/apis/moderation-api/category-api.service\";\nimport * as i72 from \"./core/apis/moderation-api/moderation-api.service\";\nimport * as i73 from \"./core/core.module\";\nimport * as i74 from \"ngx-bootstrap/collapse\";\nimport * as i75 from \"ngx-custom-validators\";\nimport * as i76 from \"./shared/shared.module\";\nimport * as i77 from \"@angular/cdk/portal\";\nimport * as i78 from \"@angular/cdk/platform\";\nimport * as i79 from \"@angular/cdk/scrolling\";\nimport * as i80 from \"@angular/cdk/a11y\";\nimport * as i81 from \"ng-pick-datetime/dialog/dialog.module\";\nimport * as i82 from \"ng-pick-datetime/date-time/date-time.module\";\nimport * as i83 from \"ng-pick-datetime/date-time/adapter/native-date-time.module\";\nimport * as i84 from \"ngx-ui-switch\";\nimport * as i85 from \"./ruleset/ruleset.component\";\nimport * as i86 from \"./ruleset/pages/rulesets/rulesets.component\";\nimport * as i87 from \"./ruleset/pages/ruleset-wizard/ruleset-wizard.component\";\nimport * as i88 from \"./ruleset/ruleset-routing.module\";\nimport * as i89 from \"./store/store.component\";\nimport * as i90 from \"./store/pages/stores/stores.component\";\nimport * as i91 from \"./store/pages/global-stores/global-stores.component\";\nimport * as i92 from \"./core/pages/cross-account/cross-account.component\";\nimport * as i93 from \"./core/core-routing.module\";\nimport * as i94 from \"./core/pages/home/home.component\";\nimport * as i95 from \"./core/pages/logon/logon.component\";\nimport * as i96 from \"./core/pages/signin-oidc/signin-oidc.component\";\nimport * as i97 from \"./core/pages/unauthorized/unauthorized.component\";\nimport * as i98 from \"./core/pages/session-expired/session-expired.component\";\nimport * as i99 from \"./core/pages/page-not-found/page-not-found.component\";\nimport * as i100 from \"./category/category.component\";\nimport * as i101 from \"./category/pages/categories/categories.component\";\nimport * as i102 from \"angular-datatables/src/angular-datatables.module\";\nimport * as i103 from \"./ruleset/ruleset.module\";\nimport * as i104 from \"./store/store-routing.module\";\nimport * as i105 from \"./store/store.module\";\nimport * as i106 from \"./category/category-routing.module\";\nimport * as i107 from \"ngx-bootstrap/buttons\";\nimport * as i108 from \"./category/category.module\";\nimport * as i109 from \"ng-pick-datetime/date-time/adapter/date-time-format.class\";\nvar AppModuleNgFactory = i0.ɵcmf(i1.AppModule, [i2.AppComponent], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, [i3.TooltipContainerComponentNgFactory, i4.AlertComponentNgFactory, i5.ModalBackdropComponentNgFactory, i5.ModalContainerComponentNgFactory, i6.TypeaheadContainerComponentNgFactory, i7.OwlDialogContainerComponentNgFactory, i8.OwlDateTimeContainerComponentNgFactory, i9.ɵEmptyOutletComponentNgFactory, i10.RuleSetComponentNgFactory, i11.RuleSetsComponentNgFactory, i12.RulesetWizardComponentNgFactory, i13.StoreComponentNgFactory, i14.StoresComponentNgFactory, i15.GlobalStoresComponentNgFactory, i16.CrossAccountComponentNgFactory, i17.HomeComponentNgFactory, i18.LogonComponentNgFactory, i19.SigninOidcComponentNgFactory, i20.UnauthorizedComponentNgFactory, i21.SessionExpiredComponentNgFactory, i22.PageNotFoundComponentNgFactory, i23.CategoryComponentNgFactory, i24.CategoriesComponentNgFactory, i25.CategoryCreateModalComponentNgFactory, i26.CategoryEditModalComponentNgFactory, i27.KeyEditModalComponentNgFactory, i28.KeyCreateModalComponentNgFactory, i29.AppComponentNgFactory]], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(5120, i0.LOCALE_ID, i0.ɵangular_packages_core_core_s, [[3, i0.LOCALE_ID]]), i0.ɵmpd(4608, i30.NgLocalization, i30.NgLocaleLocalization, [i0.LOCALE_ID, [2, i30.ɵangular_packages_common_common_a]]), i0.ɵmpd(5120, i0.APP_ID, i0.ɵangular_packages_core_core_h, []), i0.ɵmpd(5120, i0.IterableDiffers, i0.ɵangular_packages_core_core_q, []), i0.ɵmpd(5120, i0.KeyValueDiffers, i0.ɵangular_packages_core_core_r, []), i0.ɵmpd(4608, i31.DomSanitizer, i31.ɵDomSanitizerImpl, [i30.DOCUMENT]), i0.ɵmpd(6144, i0.Sanitizer, null, [i31.DomSanitizer]), i0.ɵmpd(4608, i31.HAMMER_GESTURE_CONFIG, i31.HammerGestureConfig, []), i0.ɵmpd(5120, i31.EVENT_MANAGER_PLUGINS, function (p0_0, p0_1, p0_2, p1_0, p2_0, p2_1, p2_2, p2_3) { return [new i31.ɵDomEventsPlugin(p0_0, p0_1, p0_2), new i31.ɵKeyEventsPlugin(p1_0), new i31.ɵHammerGesturesPlugin(p2_0, p2_1, p2_2, p2_3)]; }, [i30.DOCUMENT, i0.NgZone, i0.PLATFORM_ID, i30.DOCUMENT, i30.DOCUMENT, i31.HAMMER_GESTURE_CONFIG, i0.ɵConsole, [2, i31.HAMMER_LOADER]]), i0.ɵmpd(4608, i31.EventManager, i31.EventManager, [i31.EVENT_MANAGER_PLUGINS, i0.NgZone]), i0.ɵmpd(135680, i31.ɵDomSharedStylesHost, i31.ɵDomSharedStylesHost, [i30.DOCUMENT]), i0.ɵmpd(4608, i31.ɵDomRendererFactory2, i31.ɵDomRendererFactory2, [i31.EventManager, i31.ɵDomSharedStylesHost, i0.APP_ID]), i0.ɵmpd(5120, i32.AnimationDriver, i33.ɵangular_packages_platform_browser_animations_animations_a, []), i0.ɵmpd(5120, i32.ɵAnimationStyleNormalizer, i33.ɵangular_packages_platform_browser_animations_animations_b, []), i0.ɵmpd(4608, i32.ɵAnimationEngine, i33.ɵInjectableAnimationEngine, [i30.DOCUMENT, i32.AnimationDriver, i32.ɵAnimationStyleNormalizer]), i0.ɵmpd(5120, i0.RendererFactory2, i33.ɵangular_packages_platform_browser_animations_animations_c, [i31.ɵDomRendererFactory2, i32.ɵAnimationEngine, i0.NgZone]), i0.ɵmpd(6144, i31.ɵSharedStylesHost, null, [i31.ɵDomSharedStylesHost]), i0.ɵmpd(4608, i0.Testability, i0.Testability, [i0.NgZone]), i0.ɵmpd(4608, i34.AnimationBuilder, i33.ɵBrowserAnimationBuilder, [i0.RendererFactory2, i31.DOCUMENT]), i0.ɵmpd(4608, i35.HttpXsrfTokenExtractor, i35.ɵangular_packages_common_http_http_g, [i30.DOCUMENT, i0.PLATFORM_ID, i35.ɵangular_packages_common_http_http_e]), i0.ɵmpd(4608, i35.ɵangular_packages_common_http_http_h, i35.ɵangular_packages_common_http_http_h, [i35.HttpXsrfTokenExtractor, i35.ɵangular_packages_common_http_http_f]), i0.ɵmpd(4608, i36.CookieService, i36.CookieService, [i30.DOCUMENT, i0.PLATFORM_ID]), i0.ɵmpd(5120, i35.HTTP_INTERCEPTORS, function (p0_0, p1_0, p1_1, p1_2, p2_0, p3_0) { return [p0_0, new i37.AuthInterceptor(p1_0, p1_1, p1_2), new i38.AccountKeyInterceptor(p2_0), new i39.ProgramKeyInterceptor(p3_0)]; }, [i35.ɵangular_packages_common_http_http_h, i0.Injector, i40.Router, i36.CookieService, i36.CookieService, i36.CookieService]), i0.ɵmpd(4608, i41.PaginationService, i41.PaginationService, []), i0.ɵmpd(4608, i42.PositioningService, i42.PositioningService, [i0.RendererFactory2, i0.PLATFORM_ID]), i0.ɵmpd(4608, i43.ComponentLoaderFactory, i43.ComponentLoaderFactory, [i0.ComponentFactoryResolver, i0.NgZone, i0.Injector, i42.PositioningService, i0.ApplicationRef]), i0.ɵmpd(4608, i44.TypeaheadConfig, i44.TypeaheadConfig, []), i0.ɵmpd(4608, i45.Overlay, i45.Overlay, [i45.ScrollStrategyOptions, i45.OverlayContainer, i0.ComponentFactoryResolver, i45.OverlayPositionBuilder, i45.OverlayKeyboardDispatcher, i0.Injector, i0.NgZone, i30.DOCUMENT, i46.Directionality, [2, i30.Location]]), i0.ɵmpd(5120, i45.ɵc, i45.ɵd, [i45.Overlay]), i0.ɵmpd(4608, i47.MutationObserverFactory, i47.MutationObserverFactory, []), i0.ɵmpd(5120, i48.OWL_DIALOG_SCROLL_STRATEGY, i48.OWL_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, [i45.Overlay]), i0.ɵmpd(4608, i48.OwlDialogService, i48.OwlDialogService, [i45.Overlay, i0.Injector, [2, i30.Location], i48.OWL_DIALOG_SCROLL_STRATEGY, [2, i48.OWL_DIALOG_DEFAULT_OPTIONS], [3, i48.OwlDialogService], i45.OverlayContainer]), i0.ɵmpd(4608, i49.OwlDateTimeIntl, i49.OwlDateTimeIntl, []), i0.ɵmpd(5120, i50.OWL_DTPICKER_SCROLL_STRATEGY, i50.OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY, [i45.Overlay]), i0.ɵmpd(4608, i51.DateTimeAdapter, i52.UtcDateTimeAdapter, [[2, i51.OWL_DATE_TIME_LOCALE]]), i0.ɵmpd(4608, i53.ɵangular_packages_forms_forms_j, i53.ɵangular_packages_forms_forms_j, []), i0.ɵmpd(4608, i30.DatePipe, i30.DatePipe, [i0.LOCALE_ID]), i0.ɵmpd(4608, i54.TzPipe, i54.TzPipe, []), i0.ɵmpd(4608, i55.DateFormatPipe, i55.DateFormatPipe, []), i0.ɵmpd(4608, i56.BsModalService, i56.BsModalService, [i0.RendererFactory2, i43.ComponentLoaderFactory]), i0.ɵmpd(5120, i40.ActivatedRoute, i40.ɵangular_packages_router_router_g, [i40.Router]), i0.ɵmpd(4608, i40.NoPreloading, i40.NoPreloading, []), i0.ɵmpd(6144, i40.PreloadingStrategy, null, [i40.NoPreloading]), i0.ɵmpd(135680, i40.RouterPreloader, i40.RouterPreloader, [i40.Router, i0.NgModuleFactoryLoader, i0.Compiler, i0.Injector, i40.PreloadingStrategy]), i0.ɵmpd(4608, i40.PreloadAllModules, i40.PreloadAllModules, []), i0.ɵmpd(5120, i40.ɵangular_packages_router_router_n, i40.ɵangular_packages_router_router_c, [i40.Router, i30.ViewportScroller, i40.ROUTER_CONFIGURATION]), i0.ɵmpd(5120, i40.ROUTER_INITIALIZER, i40.ɵangular_packages_router_router_j, [i40.ɵangular_packages_router_router_h]), i0.ɵmpd(5120, i0.APP_BOOTSTRAP_LISTENER, function (p0_0) { return [p0_0]; }, [i40.ROUTER_INITIALIZER]), i0.ɵmpd(4608, i57.AuthGuard, i57.AuthGuard, [i58.OidcSecurityService, i40.Router]), i0.ɵmpd(4608, i59.CrossAccountGuard, i59.CrossAccountGuard, [i40.Router, i36.CookieService, i58.OidcSecurityService]), i0.ɵmpd(4608, i60.ProgramApiService, i60.ProgramApiService, [i35.HttpClient]), i0.ɵmpd(4608, i61.CrossAccountResolver, i61.CrossAccountResolver, [i60.ProgramApiService, i40.Router]), i0.ɵmpd(4608, i62.CrossAccountService, i62.CrossAccountService, [i36.CookieService]), i0.ɵmpd(4608, i63.AccordionConfig, i63.AccordionConfig, []), i0.ɵmpd(4608, i64.TooltipConfig, i64.TooltipConfig, []), i0.ɵmpd(4608, i65.AlertConfig, i65.AlertConfig, []), i0.ɵmpd(4608, i66.TabsetConfig, i66.TabsetConfig, []), i0.ɵmpd(4608, i67.ProductApiService, i67.ProductApiService, [i35.HttpClient]), i0.ɵmpd(4608, i68.StoreApiService, i68.StoreApiService, [i35.HttpClient]), i0.ɵmpd(4608, i69.RuleSetApiService, i69.RuleSetApiService, [i35.HttpClient]), i0.ɵmpd(4608, i70.QuickActionsApiService, i70.QuickActionsApiService, [i35.HttpClient]), i0.ɵmpd(4608, i71.CategoryApiService, i71.CategoryApiService, [i35.HttpClient]), i0.ɵmpd(4608, i72.ModerationApiService, i72.ModerationApiService, [i35.HttpClient]), i0.ɵmpd(1073742336, i30.CommonModule, i30.CommonModule, []), i0.ɵmpd(1024, i0.ErrorHandler, i31.ɵangular_packages_platform_browser_platform_browser_a, []), i0.ɵmpd(1024, i0.NgProbeToken, function () { return [i40.ɵangular_packages_router_router_b()]; }, []), i0.ɵmpd(512, i40.ɵangular_packages_router_router_h, i40.ɵangular_packages_router_router_h, [i0.Injector]), i0.ɵmpd(512, i58.LoggerService, i58.LoggerService, [i58.ɵa]), i0.ɵmpd(512, i35.ɵangular_packages_common_http_http_d, i35.ɵangular_packages_common_http_http_d, []), i0.ɵmpd(2048, i35.XhrFactory, null, [i35.ɵangular_packages_common_http_http_d]), i0.ɵmpd(512, i35.HttpXhrBackend, i35.HttpXhrBackend, [i35.XhrFactory]), i0.ɵmpd(2048, i35.HttpBackend, null, [i35.HttpXhrBackend]), i0.ɵmpd(512, i35.HttpHandler, i35.ɵHttpInterceptingHandler, [i35.HttpBackend, i0.Injector]), i0.ɵmpd(512, i35.HttpClient, i35.HttpClient, [i35.HttpHandler]), i0.ɵmpd(512, i58.OidcConfigService, i58.OidcConfigService, [i58.LoggerService, i35.HttpClient]), i0.ɵmpd(1024, i0.APP_INITIALIZER, function (p0_0, p1_0, p2_0) { return [i31.ɵangular_packages_platform_browser_platform_browser_j(p0_0), i40.ɵangular_packages_router_router_i(p1_0), i73.loadConfig(p2_0)]; }, [[2, i0.NgProbeToken], i40.ɵangular_packages_router_router_h, i58.OidcConfigService]), i0.ɵmpd(512, i0.ApplicationInitStatus, i0.ApplicationInitStatus, [[2, i0.APP_INITIALIZER]]), i0.ɵmpd(131584, i0.ApplicationRef, i0.ApplicationRef, [i0.NgZone, i0.ɵConsole, i0.Injector, i0.ErrorHandler, i0.ComponentFactoryResolver, i0.ApplicationInitStatus]), i0.ɵmpd(1073742336, i0.ApplicationModule, i0.ApplicationModule, [i0.ApplicationRef]), i0.ɵmpd(1073742336, i31.BrowserModule, i31.BrowserModule, [[3, i31.BrowserModule]]), i0.ɵmpd(1073742336, i33.BrowserAnimationsModule, i33.BrowserAnimationsModule, []), i0.ɵmpd(1073742336, i64.TooltipModule, i64.TooltipModule, []), i0.ɵmpd(1073742336, i74.CollapseModule, i74.CollapseModule, []), i0.ɵmpd(1073742336, i63.AccordionModule, i63.AccordionModule, []), i0.ɵmpd(1073742336, i65.AlertModule, i65.AlertModule, []), i0.ɵmpd(1073742336, i66.TabsModule, i66.TabsModule, []), i0.ɵmpd(1073742336, i56.ModalModule, i56.ModalModule, []), i0.ɵmpd(1073742336, i35.HttpClientXsrfModule, i35.HttpClientXsrfModule, []), i0.ɵmpd(1073742336, i35.HttpClientModule, i35.HttpClientModule, []), i0.ɵmpd(1073742336, i58.AuthModule, i58.AuthModule, []), i0.ɵmpd(1073742336, i41.NgxPaginationModule, i41.NgxPaginationModule, []), i0.ɵmpd(1073742336, i44.TypeaheadModule, i44.TypeaheadModule, []), i0.ɵmpd(1073742336, i75.CustomFormsModule, i75.CustomFormsModule, []), i0.ɵmpd(1073742336, i76.SharedModule, i76.SharedModule, []), i0.ɵmpd(1073742336, i55.MomentModule, i55.MomentModule, []), i0.ɵmpd(1073742336, i46.BidiModule, i46.BidiModule, []), i0.ɵmpd(1073742336, i77.PortalModule, i77.PortalModule, []), i0.ɵmpd(1073742336, i78.PlatformModule, i78.PlatformModule, []), i0.ɵmpd(1073742336, i79.ScrollingModule, i79.ScrollingModule, []), i0.ɵmpd(1073742336, i45.OverlayModule, i45.OverlayModule, []), i0.ɵmpd(1073742336, i47.ObserversModule, i47.ObserversModule, []), i0.ɵmpd(1073742336, i80.A11yModule, i80.A11yModule, []), i0.ɵmpd(1073742336, i81.OwlDialogModule, i81.OwlDialogModule, []), i0.ɵmpd(1073742336, i82.OwlDateTimeModule, i82.OwlDateTimeModule, []), i0.ɵmpd(1073742336, i83.NativeDateTimeModule, i83.NativeDateTimeModule, []), i0.ɵmpd(1073742336, i83.OwlNativeDateTimeModule, i83.OwlNativeDateTimeModule, []), i0.ɵmpd(1073742336, i53.ɵangular_packages_forms_forms_bc, i53.ɵangular_packages_forms_forms_bc, []), i0.ɵmpd(1073742336, i53.FormsModule, i53.FormsModule, []), i0.ɵmpd(1073742336, i84.UiSwitchModule, i84.UiSwitchModule, []), i0.ɵmpd(1024, i40.ɵangular_packages_router_router_a, i40.ɵangular_packages_router_router_e, [[3, i40.Router]]), i0.ɵmpd(512, i40.UrlSerializer, i40.DefaultUrlSerializer, []), i0.ɵmpd(512, i40.ChildrenOutletContexts, i40.ChildrenOutletContexts, []), i0.ɵmpd(256, i40.ROUTER_CONFIGURATION, {}, []), i0.ɵmpd(1024, i30.LocationStrategy, i40.ɵangular_packages_router_router_d, [i30.PlatformLocation, [2, i30.APP_BASE_HREF], i40.ROUTER_CONFIGURATION]), i0.ɵmpd(512, i30.Location, i30.Location, [i30.LocationStrategy]), i0.ɵmpd(512, i0.Compiler, i0.Compiler, []), i0.ɵmpd(512, i0.NgModuleFactoryLoader, i0.SystemJsNgModuleLoader, [i0.Compiler, [2, i0.SystemJsNgModuleLoaderConfig]]), i0.ɵmpd(1024, i40.ROUTES, function () { return [[{ path: \"rulesets\", component: i85.RuleSetComponent, children: [{ path: \"\", component: i86.RuleSetsComponent }, { path: \"create\", component: i87.RulesetWizardComponent }, { path: \"create/wizard\", component: i87.RulesetWizardComponent }, { path: \":programKey/:ruleSetKey/edit\", component: i87.RulesetWizardComponent, data: i88.ɵ0 }, { path: \":programKey/:ruleSetKey/wizard\", component: i87.RulesetWizardComponent, data: i88.ɵ1 }] }], [{ path: \"stores\", component: i89.StoreComponent, children: [{ path: \"\", component: i90.StoresComponent }, { path: \"globals\", component: i91.GlobalStoresComponent }] }], [{ path: \"\", redirectTo: \"/home\", pathMatch: \"full\" }, { path: \"rulesets\", loadChildren: \"app/ruleset/ruleset.module#RuleSetModule\" }, { path: \"products\", loadChildren: \"app/product/product.module#ProductModule\" }, { path: \"boarding\", loadChildren: \"app/boarding/boarding.module#BoardingModule\" }, { path: \"actions\", loadChildren: \"app/quick-actions/quick-actions.module#QuickActionsModule\" }, { path: \"stores\", loadChildren: \"app/store/store.module#StoreModule\" }, { path: \"categories\", loadChildren: \"app/category/category.module#CategoryModule\" }, { path: \".cross-account\", component: i92.CrossAccountComponent, resolve: { crossAccount: i61.CrossAccountResolver }, data: i93.ɵ0 }, { path: \"home\", component: i94.HomeComponent, data: i93.ɵ1 }, { path: \"logon\", component: i95.LogonComponent, data: i93.ɵ2 }, { path: \"signin-oidc\", component: i96.SigninOidcComponent, data: i93.ɵ3 }, { path: \"unauthorized\", component: i97.UnauthorizedComponent, data: i93.ɵ4 }, { path: \"session-expired\", component: i98.SessionExpiredComponent, data: i93.ɵ5 }, { path: \"**\", component: i99.PageNotFoundComponent, data: i93.ɵ6 }], [{ path: \"\", component: i100.CategoryComponent, children: [{ path: \"\", component: i101.CategoriesComponent }] }]]; }, []), i0.ɵmpd(1024, i40.Router, i40.ɵangular_packages_router_router_f, [i0.ApplicationRef, i40.UrlSerializer, i40.ChildrenOutletContexts, i30.Location, i0.Injector, i0.NgModuleFactoryLoader, i0.Compiler, i40.ROUTES, i40.ROUTER_CONFIGURATION, [2, i40.UrlHandlingStrategy], [2, i40.RouteReuseStrategy]]), i0.ɵmpd(1073742336, i40.RouterModule, i40.RouterModule, [[2, i40.ɵangular_packages_router_router_a], [2, i40.Router]]), i0.ɵmpd(1073742336, i88.RuleSetRoutingModule, i88.RuleSetRoutingModule, []), i0.ɵmpd(1073742336, i102.DataTablesModule, i102.DataTablesModule, []), i0.ɵmpd(1073742336, i103.RuleSetModule, i103.RuleSetModule, []), i0.ɵmpd(1073742336, i104.StoreRoutingModule, i104.StoreRoutingModule, []), i0.ɵmpd(1073742336, i105.StoreModule, i105.StoreModule, []), i0.ɵmpd(1073742336, i93.CoreRoutingModule, i93.CoreRoutingModule, [i40.Router]), i0.ɵmpd(1073742336, i106.CategoryRoutingModule, i106.CategoryRoutingModule, []), i0.ɵmpd(1073742336, i107.ButtonsModule, i107.ButtonsModule, []), i0.ɵmpd(1073742336, i108.CategoryModule, i108.CategoryModule, []), i0.ɵmpd(512, i58.ɵc, i58.ɵc, [i35.HttpClient]), i0.ɵmpd(512, i58.OidcSecurityStorage, i58.BrowserStorage, [i58.ɵa]), i0.ɵmpd(512, i58.ɵe, i58.ɵe, [i58.OidcSecurityStorage]), i0.ɵmpd(512, i58.ɵf, i58.ɵf, []), i0.ɵmpd(512, i58.TokenHelperService, i58.TokenHelperService, [i58.LoggerService]), i0.ɵmpd(512, i58.OidcSecurityValidation, i58.OidcSecurityValidation, [i58.ɵf, i58.TokenHelperService, i58.LoggerService]), i0.ɵmpd(512, i58.ɵd, i58.ɵd, [i58.ɵe, i58.OidcSecurityValidation, i58.TokenHelperService, i58.LoggerService, i58.ɵa]), i0.ɵmpd(512, i58.ɵh, i58.ɵh, [i58.LoggerService]), i0.ɵmpd(512, i58.ɵg, i58.ɵg, [i58.ɵe, i58.LoggerService, i58.ɵh, i0.NgZone, i58.ɵa]), i0.ɵmpd(512, i58.ɵi, i58.ɵi, [i58.LoggerService, i58.ɵh]), i0.ɵmpd(512, i58.ɵj, i58.ɵj, [i58.ɵc, i58.ɵe, i58.LoggerService, i58.ɵa]), i0.ɵmpd(512, i58.OidcSecurityService, i58.OidcSecurityService, [i58.ɵc, i58.ɵd, i40.Router, i58.ɵg, i58.ɵi, i58.ɵj, i58.ɵe, i58.OidcSecurityValidation, i58.TokenHelperService, i58.LoggerService, i0.NgZone, i35.HttpClient, i58.ɵa, i58.ɵk]), i0.ɵmpd(1073742336, i73.CoreModule, i73.CoreModule, [i58.OidcSecurityService, i58.OidcConfigService, i40.Router]), i0.ɵmpd(1073742336, i1.AppModule, i1.AppModule, []), i0.ɵmpd(256, i0.ɵAPP_ROOT, true, []), i0.ɵmpd(256, i33.ANIMATION_MODULE_TYPE, \"BrowserAnimations\", []), i0.ɵmpd(256, i35.ɵangular_packages_common_http_http_e, \"XSRF-TOKEN\", []), i0.ɵmpd(256, i35.ɵangular_packages_common_http_http_f, \"X-XSRF-TOKEN\", []), i0.ɵmpd(256, i109.OWL_DATE_TIME_FORMATS, i83.ɵ0, [])]); });\nexport { AppModuleNgFactory as AppModuleNgFactory };\n","\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { environment } from './../environments/environment';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CoreModule } from './core/core.module';\nimport { AppComponent } from './app.component';\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n CoreModule.forRoot(),\n ],\n providers: [\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor() {}\n }\n","var AppModule = /** @class */ (function () {\n function AppModule() {\n }\n return AppModule;\n}());\nexport { AppModule };\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { CategoryComponent } from './category.component';\nimport { CategoriesComponent } from './pages/categories/categories.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CategoryComponent,\n children: [\n { path: '', component: CategoriesComponent }\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CategoryRoutingModule { }\n","import { Routes } from '@angular/router';\nimport { CategoryComponent } from './category.component';\nimport { CategoriesComponent } from './pages/categories/categories.component';\nvar routes = [\n {\n path: '',\n component: CategoryComponent,\n children: [\n { path: '', component: CategoriesComponent }\n ]\n }\n];\nvar CategoryRoutingModule = /** @class */ (function () {\n function CategoryRoutingModule() {\n }\n return CategoryRoutingModule;\n}());\nexport { CategoryRoutingModule };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./category.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"./category.component\";\nvar styles_CategoryComponent = [i0.styles];\nvar RenderType_CategoryComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CategoryComponent, data: {} });\nexport { RenderType_CategoryComponent as RenderType_CategoryComponent };\nexport function View_CategoryComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 16777216, null, null, 1, \"router-outlet\", [], null, null, null, null, null)), i1.ɵdid(1, 212992, null, 0, i2.RouterOutlet, [i2.ChildrenOutletContexts, i1.ViewContainerRef, i1.ComponentFactoryResolver, [8, null], i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nexport function View_CategoryComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-category\", [], null, null, null, View_CategoryComponent_0, RenderType_CategoryComponent)), i1.ɵdid(1, 114688, null, 0, i3.CategoryComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CategoryComponentNgFactory = i1.ɵccf(\"app-category\", i3.CategoryComponent, View_CategoryComponent_Host_0, {}, {}, []);\nexport { CategoryComponentNgFactory as CategoryComponentNgFactory };\n","\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L2NhdGVnb3J5LmNvbXBvbmVudC5zY3NzIn0= */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-category',\n templateUrl: './category.component.html',\n styleUrls: ['./category.component.scss']\n})\nexport class CategoryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar CategoryComponent = /** @class */ (function () {\n function CategoryComponent() {\n }\n CategoryComponent.prototype.ngOnInit = function () {\n };\n return CategoryComponent;\n}());\nexport { CategoryComponent };\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DataTablesModule } from 'angular-datatables';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { SharedModule } from '../shared/shared.module';\nimport { CategoryRoutingModule } from './category-routing.module';\nimport { CategoryComponent } from './category.component';\nimport { CategoriesComponent } from './pages/categories/categories.component';\nimport { CategoryCreateModalComponent } from './pages/category-create-modal/category-create-modal.component';\nimport { CategoryEditModalComponent } from './pages/category-edit-modal/category-edit-modal.component';\nimport { KeyEditModalComponent } from './pages/key-edit-modal/key-edit-modal.component';\nimport { KeyCreateModalComponent } from './pages/key-create-modal/key-create-modal.component';\n\n@NgModule({\n entryComponents: [\n CategoryCreateModalComponent,\n CategoryEditModalComponent,\n KeyEditModalComponent,\n KeyCreateModalComponent\n ],\n imports: [\n CommonModule,\n CategoryRoutingModule,\n TooltipModule,\n AlertModule,\n // Get around the lazy-loading problem - see https://github.com/angular/angular/issues/14324\n // and https://github.com/valor-software/ngx-bootstrap/issues/2356\n ModalModule.forRoot(),\n AccordionModule.forRoot(),\n ButtonsModule,\n CommonModule,\n FormsModule,\n SharedModule,\n DataTablesModule\n ],\n declarations: [\n CategoryComponent,\n CategoriesComponent,\n CategoryCreateModalComponent,\n CategoryEditModalComponent,\n KeyEditModalComponent,\n KeyCreateModalComponent\n ],\n exports: [\n CategoryRoutingModule,\n FormsModule\n ]\n})\n\nexport class CategoryModule { }\n","var CategoryModule = /** @class */ (function () {\n function CategoryModule() {\n }\n return CategoryModule;\n}());\nexport { CategoryModule };\n","export class CategoryCreateRequestModel {\n public name: string;\n public keys: Array = new Array();\n}\n","var CategoryCreateRequestModel = /** @class */ (function () {\n function CategoryCreateRequestModel() {\n this.keys = new Array();\n }\n return CategoryCreateRequestModel;\n}());\nexport { CategoryCreateRequestModel };\n","export class KeyRequestModel {\n public categoryKey: string;\n public name: string;\n public isActive: boolean;\n}\n","var KeyRequestModel = /** @class */ (function () {\n function KeyRequestModel() {\n }\n return KeyRequestModel;\n}());\nexport { KeyRequestModel };\n","import * as tslib_1 from \"tslib\";\nimport { KeyRequestModel } from './key-request.model';\nvar UpdateKeyRequestModel = /** @class */ (function (_super) {\n tslib_1.__extends(UpdateKeyRequestModel, _super);\n function UpdateKeyRequestModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return UpdateKeyRequestModel;\n}(KeyRequestModel));\nexport { UpdateKeyRequestModel };\n","import { KeyRequestModel } from './key-request.model';\n\nexport class UpdateKeyRequestModel extends KeyRequestModel {\n public newName: string;\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./categories.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i7 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i8 from \"../../../../../node_modules/ngx-bootstrap/accordion/ngx-bootstrap-accordion.ngfactory\";\nimport * as i9 from \"ngx-bootstrap/accordion\";\nimport * as i10 from \"./categories.component\";\nimport * as i11 from \"@angular/router\";\nimport * as i12 from \"../../../core/apis/moderation-api/program-api.service\";\nimport * as i13 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i14 from \"../../../core/apis/moderation-api/category-api.service\";\nimport * as i15 from \"ngx-bootstrap/modal\";\nvar styles_CategoriesComponent = [i0.styles];\nvar RenderType_CategoriesComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CategoriesComponent, data: {} });\nexport { RenderType_CategoriesComponent as RenderType_CategoriesComponent };\nfunction View_CategoriesComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_CategoriesComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"a\", [[\"class\", \"btn btn-outline-info text-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openCreateCategoryModal() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Category\"]))], null, null); }\nfunction View_CategoriesComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_CategoriesComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 15, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 14, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Program\"])), (_l()(), i1.ɵeld(5, 0, null, null, 11, \"select\", [[\"class\", \"form-control novalidate\"], [\"name\", \"selectedProgram\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedProgram = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.onProgramChange() !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(12, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(13, 147456, null, 0, i4.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Please Select...\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_4)), i1.ɵdid(16, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"selectedProgram\"; var currVal_8 = _co.selectedProgram; _ck(_v, 8, 0, currVal_7, currVal_8); var currVal_9 = undefined; _ck(_v, 12, 0, currVal_9); var currVal_10 = undefined; _ck(_v, 13, 0, currVal_10); var currVal_11 = _co.programs; _ck(_v, 16, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_CategoriesComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-spin fa-spinner\"]], null, null, null, null, null))], null, null); }\nfunction View_CategoriesComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-secondary btn-sm\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clearResults() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Reset\"]))], null, null); }\nfunction View_CategoriesComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"h6\", [[\"class\", \"h6 font-weight-light font-italic\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"*All times in Eastern\"]))], null, null); }\nfunction View_CategoriesComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recent Categories\"]))], null, null); }\nfunction View_CategoriesComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Search Results\"]))], null, null); }\nfunction View_CategoriesComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"col-12 mt-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No categories found.\"]))], null, null); }\nfunction View_CategoriesComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 34, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 22, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 21, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 20, \"form\", [[\"autocomplete\", \"off\"], [\"class\", \"form-inline my-3\"], [\"id\", \"category-search\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.searchCategories() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.ɵangular_packages_forms_forms_bh, [], null, null), i1.ɵdid(5, 4210688, [[\"searchForm\", 4]], 0, i4.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i4.ControlContainer, null, [i4.NgForm]), i1.ɵdid(7, 16384, null, 0, i4.NgControlStatusGroup, [[4, i4.ControlContainer]], null, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [[\"class\", \"sr-only mr-sm-2\"], [\"for\", \"search-keywords\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Search Keywords\"])), (_l()(), i1.ɵeld(10, 0, null, null, 7, \"input\", [[\"class\", \"form-control mr-2\"], [\"id\", \"search-keywords\"], [\"name\", \"search-keywords\"], [\"placeholder\", \"Keywords...\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchKeywords = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(12, 16384, null, 0, i4.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i4.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i4.RequiredValidator]), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(15, 671744, [[\"keywords\", 4]], 0, i4.NgModel, [[2, i4.ControlContainer], [6, i4.NG_VALIDATORS], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(18, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-primary mr-sm-2\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Search \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_6)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_7)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_8)), i1.ɵdid(25, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(26, 0, null, null, 5, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(27, 0, null, null, 4, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_9)), i1.ɵdid(29, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_10)), i1.ɵdid(31, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(32, 0, null, null, 2, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_11)), i1.ɵdid(34, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_15 = \"\"; _ck(_v, 12, 0, currVal_15); var currVal_16 = \"search-keywords\"; var currVal_17 = _co.searchKeywords; _ck(_v, 15, 0, currVal_16, currVal_17); var currVal_19 = _co.isSearching; _ck(_v, 21, 0, currVal_19); var currVal_20 = (_co.hasSearched && !_co.isSearching); _ck(_v, 23, 0, currVal_20); var currVal_21 = false; _ck(_v, 25, 0, currVal_21); var currVal_22 = (!_co.hasSearched && !_co.isSearching); _ck(_v, 29, 0, currVal_22); var currVal_23 = (_co.hasSearched || _co.isSearching); _ck(_v, 31, 0, currVal_23); var currVal_24 = (((_co.hasSearched && !_co.isSearching) || (_co.hasLoaded && !_co.isLoading)) && (_co.categories.length < 1)); _ck(_v, 34, 0, currVal_24); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 7).ngClassValid; var currVal_5 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_7 = (i1.ɵnov(_v, 12).required ? \"\" : null); var currVal_8 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_9 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_10 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_11 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_12 = i1.ɵnov(_v, 17).ngClassValid; var currVal_13 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_14 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 10, 0, currVal_7, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); var currVal_18 = (i1.ɵnov(_v, 15).pristine || i1.ɵnov(_v, 15).invalid); _ck(_v, 18, 0, currVal_18); }); }\nfunction View_CategoriesComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i6.View_FoldingCubeComponent_0, i6.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i7.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_CategoriesComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"a\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-check-square-o fa-lg\"]], null, null, null, null, null))], null, null); }\nfunction View_CategoriesComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"a\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-square-o fa-lg\"]], null, null, null, null, null))], null, null); }\nfunction View_CategoriesComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i6.View_FoldingCubeComponent_0, i6.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i7.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_CategoriesComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"a\", [[\"class\", \"btn btn-outline-info btn-sm text-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openCreateKeyModal(_v.parent.context.$implicit.categoryKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Key\"]))], null, null); }\nfunction View_CategoriesComponent_19(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"col-3 nowrap\"], [\"nowrap\", \"\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"a\", [[\"class\", \"btn btn-outline-light pt-0\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n $event.stopPropagation();\n var pd_0 = (_co.openEditKeyModal(_v.parent.parent.context.$implicit.categoryKey, _v.context.$implicit.name) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-edit fa-lg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [[\"nowrap\", \"\"]], [[2, \"text-danger\", null]], null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = !_v.context.$implicit.isActive; _ck(_v, 3, 0, currVal_0); var currVal_1 = _v.context.$implicit.name; _ck(_v, 4, 0, currVal_1); }); }\nfunction View_CategoriesComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_19)), i1.ɵdid(2, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.categoryKeys[_v.parent.context.$implicit.categoryKey]; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_CategoriesComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 28, \"accordion\", [[\"class\", \"panel-group\"], [\"role\", \"tablist\"], [\"style\", \"display: block\"]], [[1, \"aria-multiselectable\", 0]], null, null, i8.View_AccordionComponent_0, i8.RenderType_AccordionComponent)), i1.ɵdid(1, 49152, null, 0, i9.AccordionComponent, [i9.AccordionConfig], null, null), (_l()(), i1.ɵeld(2, 0, null, 0, 26, \"accordion-group\", [[\"class\", \"panel\"], [\"style\", \"display: block\"]], [[2, \"panel-open\", null]], [[null, \"isOpenChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"isOpenChange\" === en)) {\n var pd_0 = (_co.getKeysForCategoryStateChange($event, _v.context.$implicit.categoryKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i8.View_AccordionPanelComponent_0, i8.RenderType_AccordionPanelComponent)), i1.ɵdid(3, 245760, null, 0, i9.AccordionPanelComponent, [i9.AccordionComponent], null, { isOpenChange: \"isOpenChange\" }), (_l()(), i1.ɵeld(4, 0, null, 0, 15, \"div\", [[\"accordion-heading\", \"\"], [\"class\", \"clearfix py-0\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 14, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 3, \"div\", [[\"class\", \"col-7\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"h5\", [[\"class\", \"mb-0\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 0, \"span\", [[\"class\", \"fa accordion-caret align-self-center\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\" \", \" \"])), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"div\", [[\"class\", \"col-4\"], [\"nowrap\", \"\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Is Active: \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_14)), i1.ɵdid(13, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_15)), i1.ɵdid(15, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵted(16, null, [\" Active Keys: \", \" Inactive Keys: \", \" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 2, \"div\", [[\"class\", \"col-1\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 1, \"a\", [[\"class\", \"btn btn-outline-light pt-0\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n $event.stopPropagation();\n var pd_0 = (_co.openEditCategoryModal(_v.context.$implicit.categoryKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-edit fa-lg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, 1, 6, \"div\", [[\"class\", \"row mb-1 mt-0\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 2, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_16)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(24, 0, null, null, 2, \"div\", [[\"class\", \"col-2\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_17)), i1.ɵdid(26, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, 1, 1, null, View_CategoriesComponent_18)), i1.ɵdid(28, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; _ck(_v, 3, 0); var currVal_3 = _v.context.$implicit.isActive; _ck(_v, 13, 0, currVal_3); var currVal_4 = !_v.context.$implicit.isActive; _ck(_v, 15, 0, currVal_4); var currVal_7 = _co.isLoadingKeys[_v.context.$implicit.categoryKey]; _ck(_v, 23, 0, currVal_7); var currVal_8 = _co.selectedProgram; _ck(_v, 26, 0, currVal_8); var currVal_9 = !_co.isLoadingKeys[_v.context.$implicit.categoryKey]; _ck(_v, 28, 0, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).closeOthers; _ck(_v, 0, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 3).isOpen; _ck(_v, 2, 0, currVal_1); var currVal_2 = _v.context.$implicit.name; _ck(_v, 9, 0, currVal_2); var currVal_5 = _v.context.$implicit.activeKeyCount; var currVal_6 = _v.context.$implicit.inactiveKeyCount; _ck(_v, 16, 0, currVal_5, currVal_6); }); }\nfunction View_CategoriesComponent_20(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"my-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No more results.\"]))], null, null); }\nfunction View_CategoriesComponent_22(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-spin fa-spinner\"]], null, null, null, null, null))], null, null); }\nfunction View_CategoriesComponent_21(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-sm btn-primary my-3\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.loadMore() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Load More... \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_22)), i1.ɵdid(3, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.fetchingMore; _ck(_v, 3, 0, currVal_0); }, null); }\nexport function View_CategoriesComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 22, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Categories\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_1)), i1.ɵdid(6, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"div\", [[\"class\", \"col-2\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_2)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_3)), i1.ɵdid(11, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_5)), i1.ɵdid(13, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_12)), i1.ɵdid(15, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_13)), i1.ɵdid(17, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(18, 0, null, null, 4, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_20)), i1.ɵdid(20, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoriesComponent_21)), i1.ɵdid(22, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert; _ck(_v, 6, 0, currVal_0); var currVal_1 = _co.selectedProgram; _ck(_v, 9, 0, currVal_1); var currVal_2 = !_co.isLoadingPrograms; _ck(_v, 11, 0, currVal_2); var currVal_3 = (!_co.isLoading && _co.selectedProgram); _ck(_v, 13, 0, currVal_3); var currVal_4 = ((_co.isSearching || _co.isLoading) || _co.isLoadingPrograms); _ck(_v, 15, 0, currVal_4); var currVal_5 = _co.categories; _ck(_v, 17, 0, currVal_5); var currVal_6 = (_co.noMoreResults && (_co.hasSearched || _co.hasLoaded)); _ck(_v, 20, 0, currVal_6); var currVal_7 = (((!_co.noMoreResults && !_co.isLoading) && !_co.isSearching) && (_co.categories.length > 0)); _ck(_v, 22, 0, currVal_7); }, null); }\nexport function View_CategoriesComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-categories\", [], null, null, null, View_CategoriesComponent_0, RenderType_CategoriesComponent)), i1.ɵdid(1, 114688, null, 0, i10.CategoriesComponent, [i11.ActivatedRoute, i11.Router, i12.ProgramApiService, i13.CookieService, i14.CategoryApiService, i15.BsModalService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CategoriesComponentNgFactory = i1.ɵccf(\"app-categories\", i10.CategoriesComponent, View_CategoriesComponent_Host_0, {}, {}, []);\nexport { CategoriesComponentNgFactory as CategoriesComponentNgFactory };\n","
\n
\n
\n

Categories

\n
\n {{alert.message}}\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
*All times in Eastern
\n
\n
\n
\n
\n

Recent Categories

\n

Search Results

\n
\n
\n
\n
\n
No categories found.
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n {{category.name}}\n
\n
\n
\n Is Active:\n \n \n \n \n \n \n Active Keys: {{category.activeKeyCount}} Inactive Keys: {{category.inactiveKeyCount}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n {{key.name}}\n
\n
\n
\n
\n
\n
\n

No more results.

\n
\n \n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L3BhZ2VzL2NhdGVnb3JpZXMvY2F0ZWdvcmllcy5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { CookieService } from 'ngx-cookie-service';\n\nimport { Constants } from '../../../constants';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { ContinuationTokenResponseModel } from '../../../shared/models/continuation-token-response.model';\nimport { CategoryResultsModel } from '../../../shared/models/webapi/response/category-results.model';\nimport { CategoryModel } from '../../../shared/models/webapi/response/category.model';\nimport { KeyResultsModel } from '../../../shared/models/webapi/response/key-results.model';\nimport { KeyModel } from '../../../shared/models/webapi/response/key.model';\nimport { ProgramModel } from '../../../shared/models/webapi/response/ProgramModel';\nimport { ProgramResultsModel } from '../../../shared/models/webapi/response/ProgramResultsModel';\nimport { UpdateKeyRequestModel } from '../../models/webapi/request/update-key-request.model';\nimport { CategoryCreateModalComponent } from '../category-create-modal/category-create-modal.component';\nimport { CategoryEditModalComponent } from '../category-edit-modal/category-edit-modal.component';\nimport { KeyEditModalComponent } from '../key-edit-modal/key-edit-modal.component';\nimport { KeyCreateModalComponent } from '../key-create-modal/key-create-modal.component';\nimport { KeyRequestModel } from '../../models/webapi/request/key-request.model';\n\n@Component({\n selector: 'app-categories',\n templateUrl: './categories.component.html',\n styleUrls: ['./categories.component.scss']\n})\nexport class CategoriesComponent implements OnInit {\n isSubmittingKey: boolean;\n private maxItems = Constants.DefaultMaxItems;\n searchKeywords: string;\n isSearching: boolean;\n hasSearched: boolean;\n isLoading: boolean;\n hasLoaded: boolean;\n noMoreResults: boolean;\n loadMoreSubscription: any;\n fetchingMore: boolean;\n alert: Alert;\n\n // Programs\n isLoadingPrograms: boolean;\n programs: ProgramModel[];\n selectedProgram: ProgramModel;\n\n // The currently shown modals\n createCaterogyModalRef: BsModalRef;\n editCategoryModalRef: BsModalRef;\n createKeyModalRef: BsModalRef;\n editKeyModalRef: BsModalRef;\n\n // Category related\n categories: CategoryModel[] = [];\n categoryKeys: Map = new Map();\n isLoadingKeys: Map = new Map();\n hadLoadedKeys: Map = new Map();\n\n continuationToken: string;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private programApi: ProgramApiService,\n private cookieService: CookieService,\n private categoryApi: CategoryApiService,\n private modalService: BsModalService\n ) {\n this.isLoadingPrograms = true;\n this.isLoading = false;\n }\n\n ngOnInit() {\n this.programApi.getPrograms().subscribe((programResult: ProgramResultsModel) => {\n this.isLoadingPrograms = false;\n this.programs = programResult.programs;\n if (this.programs.length === 1) {\n // auto select the only one\n this.selectedProgram = this.programs[0];\n this.onProgramChange();\n } else if (this.cookieService.get(Constants.HeaderProgramKey)) {\n const programKey = this.cookieService.get(Constants.HeaderProgramKey);\n this.selectedProgram = this.programs.filter(p => p.programKey === programKey)[0];\n this.onProgramChange();\n }\n });\n }\n\n getRecentlyUpdatedCategories() {\n this.isLoading = true;\n this.hasLoaded = false;\n this.noMoreResults = false;\n\n this.categoryApi\n .getRecentlyUpdatedCategories(this.maxItems)\n .subscribe((response: ContinuationTokenResponseModel) => {\n this.continuationToken = response.continuationToken;\n this.isLoading = false;\n this.hasLoaded = true;\n this.categories.length = 0;\n\n if (response.model && response.model.results.length > 0) {\n this.categories.push(...response.model.results);\n }\n });\n }\n\n loadMore() {\n this.fetchingMore = true;\n if (!this.hasSearched) {\n this.loadMoreSubscription = this.categoryApi\n .getRecentlyUpdatedCategoriesContinuation(this.continuationToken)\n .subscribe((response: ContinuationTokenResponseModel) => {\n this.continuationToken = response.continuationToken;\n if (response.model && response.model.results.length > 0) {\n this.categories.push(...response.model.results);\n } else {\n this.noMoreResults = true;\n }\n this.fetchingMore = false;\n this.loadMoreSubscription.unsubscribe();\n });\n } else {\n this.loadMoreSubscription = this.categoryApi\n .searchCategoryContinuation(this.continuationToken)\n .subscribe((response: ContinuationTokenResponseModel) => {\n this.continuationToken = response.continuationToken;\n if (response.model && response.model.results.length > 0) {\n this.categories.push(...response.model.results);\n } else {\n this.noMoreResults = true;\n }\n this.fetchingMore = false;\n this.loadMoreSubscription.unsubscribe();\n });\n }\n }\n\n searchCategories() {\n this.hasSearched = false;\n this.isSearching = true;\n this.noMoreResults = false;\n\n this.categoryApi\n .searchCategories(this.searchKeywords || '', this.maxItems)\n .subscribe((response: ContinuationTokenResponseModel) => {\n this.continuationToken = response.continuationToken;\n this.hasSearched = true;\n this.isSearching = false;\n this.categories.length = 0;\n\n if (response.model && response.model.results.length > 0) {\n this.categories.push(...response.model.results);\n }\n });\n }\n\n clearResults() {\n this.hasSearched = false;\n this.isSearching = false;\n this.noMoreResults = false;\n this.searchKeywords = '';\n this.categories.length = 0;\n this.getRecentlyUpdatedCategories();\n }\n\n openCreateCategoryModal() {\n const config = {\n keyboard: true\n };\n this.createCaterogyModalRef = this.modalService.show(CategoryCreateModalComponent, config );\n this.createCaterogyModalRef.content.categoryCreated.subscribe(category => {\n this.clearResults();\n });\n }\n\n openEditCategoryModal(categoryKey: string) {\n this.categoryApi.getCategory(categoryKey).subscribe(\n (category: CategoryModel) => {\n const config = {\n keyboard: true,\n initialState: { category }\n };\n this.editCategoryModalRef = this.modalService.show(CategoryEditModalComponent, config);\n this.editCategoryModalRef.content.categoryUpdated.subscribe(result => {\n this.clearResults();\n });\n },\n error => {\n this.alert = Alert.danger('Error creating category.');\n }\n );\n }\n\n openCreateKeyModal(categoryKey: string) {\n this.alert = null;\n const createKey = new KeyRequestModel();\n createKey.categoryKey = categoryKey;\n createKey.isActive = true;\n const config = {\n keyboard: true,\n initialState: { createKey }\n };\n this.createKeyModalRef = this.modalService.show(KeyCreateModalComponent, config );\n this.createKeyModalRef.content.keyCreated.subscribe(category => {\n this.getKeysForCategory(categoryKey);\n this.categoryApi.getCategory(categoryKey).subscribe(\n (updatedCategory: CategoryModel) => {\n const parentCategory = this.categories.find(x => x.categoryKey === categoryKey);\n parentCategory.activeKeyCount = updatedCategory.activeKeyCount;\n parentCategory.inactiveKeyCount = updatedCategory.inactiveKeyCount;\n }\n );\n },\n error => {\n this.alert = Alert.danger('Error creating key.');\n });\n }\n\n openEditKeyModal(categoryKey: string, keyName: string) {\n this.alert = null;\n this.categoryApi.getKey(categoryKey, keyName).subscribe(\n (key: KeyModel) => {\n if (key) {\n const updateKey = new UpdateKeyRequestModel();\n updateKey.categoryKey = key.categoryKey;\n updateKey.name = key.name;\n updateKey.newName = key.name;\n updateKey.isActive = key.isActive;\n const config = {\n keyboard: true,\n initialState: { updateKey }\n };\n this.editKeyModalRef = this.modalService.show(KeyEditModalComponent, config);\n this.editKeyModalRef.content.keyUpdated.subscribe(result => {\n this.getKeysForCategory(categoryKey);\n this.categoryApi.getCategory(categoryKey).subscribe(\n (updatedCategory: CategoryModel) => {\n const parentCategory = this.categories.find(x => x.categoryKey === categoryKey);\n parentCategory.activeKeyCount = updatedCategory.activeKeyCount;\n parentCategory.inactiveKeyCount = updatedCategory.inactiveKeyCount;\n }\n );\n });\n } else {\n this.alert = Alert.danger('Error retrieving key.');\n }\n },\n error => {\n this.alert = Alert.danger('Error retrieving key.');\n }\n );\n }\n\n getKeysForCategoryStateChange(isOpening: EventTarget, categoryKey: string) {\n if (isOpening) {\n this.getKeysForCategory(categoryKey);\n } else {\n if (this.categoryKeys[categoryKey]) {\n this.categoryKeys[categoryKey].length = 0;\n }\n }\n }\n\n getKeysForCategory(categoryKey: string) {\n this.alert = null;\n this.isLoadingKeys[categoryKey] = true;\n this.categoryApi.getKeysForCategory(categoryKey).subscribe(\n (response: KeyResultsModel) => {\n if (this.categoryKeys[categoryKey]) {\n this.categoryKeys[categoryKey].length = 0;\n }\n\n if (response.results && response.results.length > 0) {\n this.categoryKeys[categoryKey] = response.results;\n }\n\n this.isLoadingKeys[categoryKey] = false;\n },\n error => {\n this.isLoadingKeys[categoryKey] = false;\n this.alert = Alert.danger('Error retreiving keys category.');\n }\n );\n }\n\n onProgramChange() {\n if (this.selectedProgram) {\n // The ProgramKeyInterceptor will pick this up. This is here until we get a program selection page\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.getRecentlyUpdatedCategories();\n } else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n }\n}\n","import { OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { UpdateKeyRequestModel } from '../../models/webapi/request/update-key-request.model';\nimport { CategoryCreateModalComponent } from '../category-create-modal/category-create-modal.component';\nimport { CategoryEditModalComponent } from '../category-edit-modal/category-edit-modal.component';\nimport { KeyEditModalComponent } from '../key-edit-modal/key-edit-modal.component';\nimport { KeyCreateModalComponent } from '../key-create-modal/key-create-modal.component';\nimport { KeyRequestModel } from '../../models/webapi/request/key-request.model';\nvar CategoriesComponent = /** @class */ (function () {\n function CategoriesComponent(route, router, programApi, cookieService, categoryApi, modalService) {\n this.route = route;\n this.router = router;\n this.programApi = programApi;\n this.cookieService = cookieService;\n this.categoryApi = categoryApi;\n this.modalService = modalService;\n this.maxItems = Constants.DefaultMaxItems;\n // Category related\n this.categories = [];\n this.categoryKeys = new Map();\n this.isLoadingKeys = new Map();\n this.hadLoadedKeys = new Map();\n this.isLoadingPrograms = true;\n this.isLoading = false;\n }\n CategoriesComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.programApi.getPrograms().subscribe(function (programResult) {\n _this.isLoadingPrograms = false;\n _this.programs = programResult.programs;\n if (_this.programs.length === 1) {\n // auto select the only one\n _this.selectedProgram = _this.programs[0];\n _this.onProgramChange();\n }\n else if (_this.cookieService.get(Constants.HeaderProgramKey)) {\n var programKey_1 = _this.cookieService.get(Constants.HeaderProgramKey);\n _this.selectedProgram = _this.programs.filter(function (p) { return p.programKey === programKey_1; })[0];\n _this.onProgramChange();\n }\n });\n };\n CategoriesComponent.prototype.getRecentlyUpdatedCategories = function () {\n var _this = this;\n this.isLoading = true;\n this.hasLoaded = false;\n this.noMoreResults = false;\n this.categoryApi\n .getRecentlyUpdatedCategories(this.maxItems)\n .subscribe(function (response) {\n var _a;\n _this.continuationToken = response.continuationToken;\n _this.isLoading = false;\n _this.hasLoaded = true;\n _this.categories.length = 0;\n if (response.model && response.model.results.length > 0) {\n (_a = _this.categories).push.apply(_a, response.model.results);\n }\n });\n };\n CategoriesComponent.prototype.loadMore = function () {\n var _this = this;\n this.fetchingMore = true;\n if (!this.hasSearched) {\n this.loadMoreSubscription = this.categoryApi\n .getRecentlyUpdatedCategoriesContinuation(this.continuationToken)\n .subscribe(function (response) {\n var _a;\n _this.continuationToken = response.continuationToken;\n if (response.model && response.model.results.length > 0) {\n (_a = _this.categories).push.apply(_a, response.model.results);\n }\n else {\n _this.noMoreResults = true;\n }\n _this.fetchingMore = false;\n _this.loadMoreSubscription.unsubscribe();\n });\n }\n else {\n this.loadMoreSubscription = this.categoryApi\n .searchCategoryContinuation(this.continuationToken)\n .subscribe(function (response) {\n var _a;\n _this.continuationToken = response.continuationToken;\n if (response.model && response.model.results.length > 0) {\n (_a = _this.categories).push.apply(_a, response.model.results);\n }\n else {\n _this.noMoreResults = true;\n }\n _this.fetchingMore = false;\n _this.loadMoreSubscription.unsubscribe();\n });\n }\n };\n CategoriesComponent.prototype.searchCategories = function () {\n var _this = this;\n this.hasSearched = false;\n this.isSearching = true;\n this.noMoreResults = false;\n this.categoryApi\n .searchCategories(this.searchKeywords || '', this.maxItems)\n .subscribe(function (response) {\n var _a;\n _this.continuationToken = response.continuationToken;\n _this.hasSearched = true;\n _this.isSearching = false;\n _this.categories.length = 0;\n if (response.model && response.model.results.length > 0) {\n (_a = _this.categories).push.apply(_a, response.model.results);\n }\n });\n };\n CategoriesComponent.prototype.clearResults = function () {\n this.hasSearched = false;\n this.isSearching = false;\n this.noMoreResults = false;\n this.searchKeywords = '';\n this.categories.length = 0;\n this.getRecentlyUpdatedCategories();\n };\n CategoriesComponent.prototype.openCreateCategoryModal = function () {\n var _this = this;\n var config = {\n keyboard: true\n };\n this.createCaterogyModalRef = this.modalService.show(CategoryCreateModalComponent, config);\n this.createCaterogyModalRef.content.categoryCreated.subscribe(function (category) {\n _this.clearResults();\n });\n };\n CategoriesComponent.prototype.openEditCategoryModal = function (categoryKey) {\n var _this = this;\n this.categoryApi.getCategory(categoryKey).subscribe(function (category) {\n var config = {\n keyboard: true,\n initialState: { category: category }\n };\n _this.editCategoryModalRef = _this.modalService.show(CategoryEditModalComponent, config);\n _this.editCategoryModalRef.content.categoryUpdated.subscribe(function (result) {\n _this.clearResults();\n });\n }, function (error) {\n _this.alert = Alert.danger('Error creating category.');\n });\n };\n CategoriesComponent.prototype.openCreateKeyModal = function (categoryKey) {\n var _this = this;\n this.alert = null;\n var createKey = new KeyRequestModel();\n createKey.categoryKey = categoryKey;\n createKey.isActive = true;\n var config = {\n keyboard: true,\n initialState: { createKey: createKey }\n };\n this.createKeyModalRef = this.modalService.show(KeyCreateModalComponent, config);\n this.createKeyModalRef.content.keyCreated.subscribe(function (category) {\n _this.getKeysForCategory(categoryKey);\n _this.categoryApi.getCategory(categoryKey).subscribe(function (updatedCategory) {\n var parentCategory = _this.categories.find(function (x) { return x.categoryKey === categoryKey; });\n parentCategory.activeKeyCount = updatedCategory.activeKeyCount;\n parentCategory.inactiveKeyCount = updatedCategory.inactiveKeyCount;\n });\n }, function (error) {\n _this.alert = Alert.danger('Error creating key.');\n });\n };\n CategoriesComponent.prototype.openEditKeyModal = function (categoryKey, keyName) {\n var _this = this;\n this.alert = null;\n this.categoryApi.getKey(categoryKey, keyName).subscribe(function (key) {\n if (key) {\n var updateKey = new UpdateKeyRequestModel();\n updateKey.categoryKey = key.categoryKey;\n updateKey.name = key.name;\n updateKey.newName = key.name;\n updateKey.isActive = key.isActive;\n var config = {\n keyboard: true,\n initialState: { updateKey: updateKey }\n };\n _this.editKeyModalRef = _this.modalService.show(KeyEditModalComponent, config);\n _this.editKeyModalRef.content.keyUpdated.subscribe(function (result) {\n _this.getKeysForCategory(categoryKey);\n _this.categoryApi.getCategory(categoryKey).subscribe(function (updatedCategory) {\n var parentCategory = _this.categories.find(function (x) { return x.categoryKey === categoryKey; });\n parentCategory.activeKeyCount = updatedCategory.activeKeyCount;\n parentCategory.inactiveKeyCount = updatedCategory.inactiveKeyCount;\n });\n });\n }\n else {\n _this.alert = Alert.danger('Error retrieving key.');\n }\n }, function (error) {\n _this.alert = Alert.danger('Error retrieving key.');\n });\n };\n CategoriesComponent.prototype.getKeysForCategoryStateChange = function (isOpening, categoryKey) {\n if (isOpening) {\n this.getKeysForCategory(categoryKey);\n }\n else {\n if (this.categoryKeys[categoryKey]) {\n this.categoryKeys[categoryKey].length = 0;\n }\n }\n };\n CategoriesComponent.prototype.getKeysForCategory = function (categoryKey) {\n var _this = this;\n this.alert = null;\n this.isLoadingKeys[categoryKey] = true;\n this.categoryApi.getKeysForCategory(categoryKey).subscribe(function (response) {\n if (_this.categoryKeys[categoryKey]) {\n _this.categoryKeys[categoryKey].length = 0;\n }\n if (response.results && response.results.length > 0) {\n _this.categoryKeys[categoryKey] = response.results;\n }\n _this.isLoadingKeys[categoryKey] = false;\n }, function (error) {\n _this.isLoadingKeys[categoryKey] = false;\n _this.alert = Alert.danger('Error retreiving keys category.');\n });\n };\n CategoriesComponent.prototype.onProgramChange = function () {\n if (this.selectedProgram) {\n // The ProgramKeyInterceptor will pick this up. This is here until we get a program selection page\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.getRecentlyUpdatedCategories();\n }\n else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n };\n return CategoriesComponent;\n}());\nexport { CategoriesComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./category-create-modal.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"./category-create-modal.component\";\nimport * as i7 from \"ngx-bootstrap/modal\";\nimport * as i8 from \"../../../core/apis/moderation-api/category-api.service\";\nvar styles_CategoryCreateModalComponent = [i0.styles];\nvar RenderType_CategoryCreateModalComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CategoryCreateModalComponent, data: {} });\nexport { RenderType_CategoryCreateModalComponent as RenderType_CategoryCreateModalComponent };\nfunction View_CategoryCreateModalComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_CategoryCreateModalComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nexport function View_CategoryCreateModalComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [[\"class\", \"modal-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Add Category\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 28, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 14, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 13, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"categoryName\"], [\"id\", \"categoryName-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(12, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"categoryName\"], [\"maxlength\", \"64\"], [\"minlength\", \"1\"], [\"name\", \"categoryName\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 13)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 13).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 13)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 13)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.category.name = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(13, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(14, 16384, null, 0, i4.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(15, 540672, null, 0, i4.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(16, 540672, null, 0, i4.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i4.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i4.RequiredValidator, i4.MinLengthValidator, i4.MaxLengthValidator]), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(19, 671744, null, 0, i4.NgModel, [[8, null], [6, i4.NG_VALIDATORS], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(21, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(22, 0, null, null, 10, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(23, 0, null, null, 9, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 8, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"categoryKeys\"], [\"id\", \"categoryKeys-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Keys\"])), (_l()(), i1.ɵeld(27, 0, [[\"values\", 1], [\"values\", 1]], null, 5, \"textarea\", [[\"class\", \"form-control\"], [\"id\", \"categoryKeys\"], [\"name\", \"categoryKeys\"], [\"placeholder\", \"Enter Keys separated by commas\"], [\"rows\", \"10\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"change\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 28)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 28).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 28)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 28)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (_co.keyValuesChanged(i1.ɵnov(_v, 27).value) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(28, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(30, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, null), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(32, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoryCreateModalComponent_1)), i1.ɵdid(34, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(35, 0, null, null, 6, \"div\", [[\"class\", \"modal-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-success\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.saveCategory() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Save \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoryCreateModalComponent_2)), i1.ɵdid(39, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(40, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], function (_ck, _v) { var _co = _v.component; var currVal_10 = \"\"; _ck(_v, 14, 0, currVal_10); var currVal_11 = \"1\"; _ck(_v, 15, 0, currVal_11); var currVal_12 = \"64\"; _ck(_v, 16, 0, currVal_12); var currVal_13 = \"categoryName\"; var currVal_14 = _co.category.name; _ck(_v, 19, 0, currVal_13, currVal_14); var currVal_22 = \"categoryKeys\"; var currVal_23 = _co.category.keys; _ck(_v, 30, 0, currVal_22, currVal_23); var currVal_24 = _co.alert; _ck(_v, 34, 0, currVal_24); var currVal_26 = _co.isSubmitting; _ck(_v, 39, 0, currVal_26); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (i1.ɵnov(_v, 14).required ? \"\" : null); var currVal_1 = (i1.ɵnov(_v, 15).minlength ? i1.ɵnov(_v, 15).minlength : null); var currVal_2 = (i1.ɵnov(_v, 16).maxlength ? i1.ɵnov(_v, 16).maxlength : null); var currVal_3 = i1.ɵnov(_v, 21).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 21).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 21).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 21).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 21).ngClassValid; var currVal_8 = i1.ɵnov(_v, 21).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 21).ngClassPending; _ck(_v, 12, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_15 = i1.ɵnov(_v, 32).ngClassUntouched; var currVal_16 = i1.ɵnov(_v, 32).ngClassTouched; var currVal_17 = i1.ɵnov(_v, 32).ngClassPristine; var currVal_18 = i1.ɵnov(_v, 32).ngClassDirty; var currVal_19 = i1.ɵnov(_v, 32).ngClassValid; var currVal_20 = i1.ɵnov(_v, 32).ngClassInvalid; var currVal_21 = i1.ɵnov(_v, 32).ngClassPending; _ck(_v, 27, 0, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21); var currVal_25 = _co.isSubmitting; _ck(_v, 36, 0, currVal_25); }); }\nexport function View_CategoryCreateModalComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-category-create-modal\", [], null, null, null, View_CategoryCreateModalComponent_0, RenderType_CategoryCreateModalComponent)), i1.ɵdid(1, 114688, null, 0, i6.CategoryCreateModalComponent, [i7.BsModalRef, i8.CategoryApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CategoryCreateModalComponentNgFactory = i1.ɵccf(\"app-category-create-modal\", i6.CategoryCreateModalComponent, View_CategoryCreateModalComponent_Host_0, {}, {}, []);\nexport { CategoryCreateModalComponentNgFactory as CategoryCreateModalComponentNgFactory };\n","
\n
Add Category
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n {{alert.message}}\n
\n
\n \n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L3BhZ2VzL2NhdGVnb3J5LWNyZWF0ZS1tb2RhbC9jYXRlZ29yeS1jcmVhdGUtbW9kYWwuY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { CategoryCreateRequestModel } from '../../models/webapi/request/category-create-request.model';\n\n@Component({\n selector: 'app-category-create-modal',\n templateUrl: './category-create-modal.component.html',\n styleUrls: ['./category-create-modal.component.scss']\n})\nexport class CategoryCreateModalComponent implements OnInit {\n category: CategoryCreateRequestModel = new CategoryCreateRequestModel();\n alert: Alert;\n\n isSubmitting: boolean;\n\n categoryCreated: EventEmitter = new EventEmitter();\n\n constructor(public bsModalRef: BsModalRef, private categoryApi: CategoryApiService) {}\n\n ngOnInit() {}\n\n saveCategory() {\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.createCategory(this.category).subscribe(\n (keyResult: KeyResult) => {\n this.categoryCreated.next(keyResult.key);\n this.categoryCreated.complete();\n this.bsModalRef.hide();\n },\n error => {\n this.isSubmitting = false;\n this.alert = Alert.danger('Error creating category.');\n }\n );\n }\n\n setKeys(values: string[]) {\n const cleanedValues = new Array();\n\n // Split string, trim spaces, remove empty, remove dupes.\n for (const value of values // .split(',')\n .map(el => el.trim())\n .filter(v => v.trim() !== '')\n .filter((v, i, a) => a.indexOf(v) === i)) {\n cleanedValues.push(value);\n }\n\n this.category.keys = cleanedValues;\n }\n\n keyValuesChanged(value: string) {\n const values: string[] = value.split(',');\n this.setKeys(values);\n }\n}\n","import { EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { CategoryCreateRequestModel } from '../../models/webapi/request/category-create-request.model';\nvar CategoryCreateModalComponent = /** @class */ (function () {\n function CategoryCreateModalComponent(bsModalRef, categoryApi) {\n this.bsModalRef = bsModalRef;\n this.categoryApi = categoryApi;\n this.category = new CategoryCreateRequestModel();\n this.categoryCreated = new EventEmitter();\n }\n CategoryCreateModalComponent.prototype.ngOnInit = function () { };\n CategoryCreateModalComponent.prototype.saveCategory = function () {\n var _this = this;\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.createCategory(this.category).subscribe(function (keyResult) {\n _this.categoryCreated.next(keyResult.key);\n _this.categoryCreated.complete();\n _this.bsModalRef.hide();\n }, function (error) {\n _this.isSubmitting = false;\n _this.alert = Alert.danger('Error creating category.');\n });\n };\n CategoryCreateModalComponent.prototype.setKeys = function (values) {\n var cleanedValues = new Array();\n // Split string, trim spaces, remove empty, remove dupes.\n for (var _i = 0, _a = values // .split(',')\n .map(function (el) { return el.trim(); })\n .filter(function (v) { return v.trim() !== ''; })\n .filter(function (v, i, a) { return a.indexOf(v) === i; }); _i < _a.length; _i++) {\n var value = _a[_i];\n cleanedValues.push(value);\n }\n this.category.keys = cleanedValues;\n };\n CategoryCreateModalComponent.prototype.keyValuesChanged = function (value) {\n var values = value.split(',');\n this.setKeys(values);\n };\n return CategoryCreateModalComponent;\n}());\nexport { CategoryCreateModalComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./category-edit-modal.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"./category-edit-modal.component\";\nimport * as i7 from \"ngx-bootstrap/modal\";\nimport * as i8 from \"../../../core/apis/moderation-api/category-api.service\";\nvar styles_CategoryEditModalComponent = [i0.styles];\nvar RenderType_CategoryEditModalComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CategoryEditModalComponent, data: {} });\nexport { RenderType_CategoryEditModalComponent as RenderType_CategoryEditModalComponent };\nfunction View_CategoryEditModalComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"text-danger\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"A disabled a category will not be able to be referenced.\"]))], null, null); }\nfunction View_CategoryEditModalComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_CategoryEditModalComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nexport function View_CategoryEditModalComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [[\"class\", \"modal-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Update Category\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 43, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 21, \"div\", [[\"class\", \"row mb-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 20, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input\"], [\"name\", \"isActiveStatus\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 12).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 12).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.category.isActive = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(12, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(14, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(16, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"], [\"for\", \"inlineRadio1\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Active\"])), (_l()(), i1.ɵeld(19, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input\"], [\"name\", \"isActiveStatus\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 21)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 21).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 21)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 21)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 22).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.category.isActive = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(22, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(24, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(26, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(27, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"], [\"for\", \"inlineRadio2\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Deactivated\"])), (_l()(), i1.ɵeld(29, 0, null, null, 3, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 2, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoryEditModalComponent_1)), i1.ɵdid(32, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(33, 0, null, null, 14, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 13, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"categoryName\"], [\"id\", \"categoryName-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(38, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"categoryName\"], [\"maxlength\", \"64\"], [\"minlength\", \"1\"], [\"name\", \"categoryName\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 39)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 39).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 39)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 39)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.category.name = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(39, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(40, 16384, null, 0, i4.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(41, 540672, null, 0, i4.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(42, 540672, null, 0, i4.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i4.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i4.RequiredValidator, i4.MinLengthValidator, i4.MaxLengthValidator]), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(45, 671744, null, 0, i4.NgModel, [[8, null], [6, i4.NG_VALIDATORS], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(47, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoryEditModalComponent_2)), i1.ɵdid(49, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(50, 0, null, null, 6, \"div\", [[\"class\", \"modal-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(51, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-success\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.saveCategory() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Save \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CategoryEditModalComponent_3)), i1.ɵdid(54, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(55, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"isActiveStatus\"; var currVal_8 = true; _ck(_v, 12, 0, currVal_7, currVal_8); var currVal_9 = \"isActiveStatus\"; var currVal_10 = _co.category.isActive; _ck(_v, 14, 0, currVal_9, currVal_10); var currVal_18 = \"isActiveStatus\"; var currVal_19 = false; _ck(_v, 22, 0, currVal_18, currVal_19); var currVal_20 = \"isActiveStatus\"; var currVal_21 = _co.category.isActive; _ck(_v, 24, 0, currVal_20, currVal_21); var currVal_22 = !_co.category.isActive; _ck(_v, 32, 0, currVal_22); var currVal_33 = \"\"; _ck(_v, 40, 0, currVal_33); var currVal_34 = \"1\"; _ck(_v, 41, 0, currVal_34); var currVal_35 = \"64\"; _ck(_v, 42, 0, currVal_35); var currVal_36 = \"categoryName\"; var currVal_37 = _co.category.name; _ck(_v, 45, 0, currVal_36, currVal_37); var currVal_38 = _co.alert; _ck(_v, 49, 0, currVal_38); var currVal_40 = _co.isSubmitting; _ck(_v, 54, 0, currVal_40); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 16).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 16).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 16).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 16).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 16).ngClassValid; var currVal_5 = i1.ɵnov(_v, 16).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 16).ngClassPending; _ck(_v, 10, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 26).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 26).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 26).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 26).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 26).ngClassValid; var currVal_16 = i1.ɵnov(_v, 26).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 26).ngClassPending; _ck(_v, 20, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_23 = (i1.ɵnov(_v, 40).required ? \"\" : null); var currVal_24 = (i1.ɵnov(_v, 41).minlength ? i1.ɵnov(_v, 41).minlength : null); var currVal_25 = (i1.ɵnov(_v, 42).maxlength ? i1.ɵnov(_v, 42).maxlength : null); var currVal_26 = i1.ɵnov(_v, 47).ngClassUntouched; var currVal_27 = i1.ɵnov(_v, 47).ngClassTouched; var currVal_28 = i1.ɵnov(_v, 47).ngClassPristine; var currVal_29 = i1.ɵnov(_v, 47).ngClassDirty; var currVal_30 = i1.ɵnov(_v, 47).ngClassValid; var currVal_31 = i1.ɵnov(_v, 47).ngClassInvalid; var currVal_32 = i1.ɵnov(_v, 47).ngClassPending; _ck(_v, 38, 0, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32); var currVal_39 = _co.isSubmitting; _ck(_v, 51, 0, currVal_39); }); }\nexport function View_CategoryEditModalComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-category-edit-modal\", [], null, null, null, View_CategoryEditModalComponent_0, RenderType_CategoryEditModalComponent)), i1.ɵdid(1, 114688, null, 0, i6.CategoryEditModalComponent, [i7.BsModalRef, i8.CategoryApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CategoryEditModalComponentNgFactory = i1.ɵccf(\"app-category-edit-modal\", i6.CategoryEditModalComponent, View_CategoryEditModalComponent_Host_0, {}, {}, []);\nexport { CategoryEditModalComponentNgFactory as CategoryEditModalComponentNgFactory };\n","
\n
Update Category
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n A disabled a category will not be able to be referenced.\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n {{alert.message}}\n
\n
\n \n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L3BhZ2VzL2NhdGVnb3J5LWVkaXQtbW9kYWwvY2F0ZWdvcnktZWRpdC1tb2RhbC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { CategoryRequestModel } from '../../models/webapi/request/category-request.model';\n\n@Component({\n selector: 'app-category-edit-modal',\n templateUrl: './category-edit-modal.component.html',\n styleUrls: ['./category-edit-modal.component.scss']\n})\nexport class CategoryEditModalComponent implements OnInit {\n category: CategoryRequestModel;\n alert: Alert;\n\n isSubmitting: boolean;\n\n categoryUpdated: EventEmitter = new EventEmitter();\n\n constructor(public bsModalRef: BsModalRef, private categoryApi: CategoryApiService) {}\n\n ngOnInit() {}\n\n saveCategory() {\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.updateCategory(this.category).subscribe(\n (keyResult: KeyResult) => {\n this.categoryUpdated.next('complete');\n this.categoryUpdated.complete();\n this.bsModalRef.hide();\n },\n error => {\n this.isSubmitting = false;\n this.alert = Alert.danger('Error updating category.');\n }\n );\n }\n}\n","import { EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nvar CategoryEditModalComponent = /** @class */ (function () {\n function CategoryEditModalComponent(bsModalRef, categoryApi) {\n this.bsModalRef = bsModalRef;\n this.categoryApi = categoryApi;\n this.categoryUpdated = new EventEmitter();\n }\n CategoryEditModalComponent.prototype.ngOnInit = function () { };\n CategoryEditModalComponent.prototype.saveCategory = function () {\n var _this = this;\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.updateCategory(this.category).subscribe(function (keyResult) {\n _this.categoryUpdated.next('complete');\n _this.categoryUpdated.complete();\n _this.bsModalRef.hide();\n }, function (error) {\n _this.isSubmitting = false;\n _this.alert = Alert.danger('Error updating category.');\n });\n };\n return CategoryEditModalComponent;\n}());\nexport { CategoryEditModalComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./key-create-modal.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"./key-create-modal.component\";\nimport * as i7 from \"ngx-bootstrap/modal\";\nimport * as i8 from \"../../../core/apis/moderation-api/category-api.service\";\nvar styles_KeyCreateModalComponent = [i0.styles];\nvar RenderType_KeyCreateModalComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_KeyCreateModalComponent, data: {} });\nexport { RenderType_KeyCreateModalComponent as RenderType_KeyCreateModalComponent };\nfunction View_KeyCreateModalComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_KeyCreateModalComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nexport function View_KeyCreateModalComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [[\"class\", \"modal-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Add Key\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 23, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 20, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 19, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 18, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"keyName\"], [\"id\", \"keyName-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(12, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"keyName\"], [\"maxlength\", \"64\"], [\"minlength\", \"1\"], [\"name\", \"keyName\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 13)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 13).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 13)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 13)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.createKey.name = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(13, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(14, 16384, null, 0, i4.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(15, 540672, null, 0, i4.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(16, 540672, null, 0, i4.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i4.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i4.RequiredValidator, i4.MinLengthValidator, i4.MaxLengthValidator]), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(19, 671744, null, 0, i4.NgModel, [[8, null], [6, i4.NG_VALIDATORS], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(21, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(22, 0, null, null, 5, \"input\", [[\"id\", \"categoryKey\"], [\"name\", \"categoryKey\"], [\"type\", \"hidden\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 23)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 23).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 23)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 23)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.createKey.categoryKey = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(23, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(25, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(27, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_KeyCreateModalComponent_1)), i1.ɵdid(29, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(30, 0, null, null, 6, \"div\", [[\"class\", \"modal-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-success\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.saveKey() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Save \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_KeyCreateModalComponent_2)), i1.ɵdid(34, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(35, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], function (_ck, _v) { var _co = _v.component; var currVal_10 = \"\"; _ck(_v, 14, 0, currVal_10); var currVal_11 = \"1\"; _ck(_v, 15, 0, currVal_11); var currVal_12 = \"64\"; _ck(_v, 16, 0, currVal_12); var currVal_13 = \"keyName\"; var currVal_14 = _co.createKey.name; _ck(_v, 19, 0, currVal_13, currVal_14); var currVal_22 = \"categoryKey\"; var currVal_23 = _co.createKey.categoryKey; _ck(_v, 25, 0, currVal_22, currVal_23); var currVal_24 = _co.alert; _ck(_v, 29, 0, currVal_24); var currVal_26 = _co.isSubmitting; _ck(_v, 34, 0, currVal_26); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (i1.ɵnov(_v, 14).required ? \"\" : null); var currVal_1 = (i1.ɵnov(_v, 15).minlength ? i1.ɵnov(_v, 15).minlength : null); var currVal_2 = (i1.ɵnov(_v, 16).maxlength ? i1.ɵnov(_v, 16).maxlength : null); var currVal_3 = i1.ɵnov(_v, 21).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 21).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 21).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 21).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 21).ngClassValid; var currVal_8 = i1.ɵnov(_v, 21).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 21).ngClassPending; _ck(_v, 12, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_15 = i1.ɵnov(_v, 27).ngClassUntouched; var currVal_16 = i1.ɵnov(_v, 27).ngClassTouched; var currVal_17 = i1.ɵnov(_v, 27).ngClassPristine; var currVal_18 = i1.ɵnov(_v, 27).ngClassDirty; var currVal_19 = i1.ɵnov(_v, 27).ngClassValid; var currVal_20 = i1.ɵnov(_v, 27).ngClassInvalid; var currVal_21 = i1.ɵnov(_v, 27).ngClassPending; _ck(_v, 22, 0, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21); var currVal_25 = _co.isSubmitting; _ck(_v, 31, 0, currVal_25); }); }\nexport function View_KeyCreateModalComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-key-edit-modal\", [], null, null, null, View_KeyCreateModalComponent_0, RenderType_KeyCreateModalComponent)), i1.ɵdid(1, 114688, null, 0, i6.KeyCreateModalComponent, [i7.BsModalRef, i8.CategoryApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar KeyCreateModalComponentNgFactory = i1.ɵccf(\"app-key-edit-modal\", i6.KeyCreateModalComponent, View_KeyCreateModalComponent_Host_0, {}, {}, []);\nexport { KeyCreateModalComponentNgFactory as KeyCreateModalComponentNgFactory };\n","
\n
Add Key
\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n {{alert.message}}\n
\n
\n \n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L3BhZ2VzL2tleS1jcmVhdGUtbW9kYWwva2V5LWNyZWF0ZS1tb2RhbC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { NgForm, RadioControlValueAccessor } from '@angular/forms';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { KeyRequestModel } from '../../models/webapi/request/key-request.model';\nimport { KeyResult } from '../../../shared/models/key-result.model';\n\n@Component({\n selector: 'app-key-edit-modal',\n templateUrl: './key-create-modal.component.html',\n styleUrls: ['./key-create-modal.component.scss']\n})\nexport class KeyCreateModalComponent implements OnInit {\n createKey: KeyRequestModel;\n alert: Alert;\n\n isSubmitting: boolean;\n\n keyCreated: EventEmitter = new EventEmitter();\n\n constructor(public bsModalRef: BsModalRef, private categoryApi: CategoryApiService) {}\n\n ngOnInit() {\n }\n\n saveKey() {\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.createKey(this.createKey).subscribe(\n (keyResult: KeyResult) => {\n this.keyCreated.next('complete');\n this.keyCreated.complete();\n this.bsModalRef.hide();\n },\n error => {\n console.log(error);\n this.isSubmitting = false;\n this.alert = Alert.danger(`Error creating key: ${this.createKey.name}.`);\n }\n );\n }\n}\n","import { EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nvar KeyCreateModalComponent = /** @class */ (function () {\n function KeyCreateModalComponent(bsModalRef, categoryApi) {\n this.bsModalRef = bsModalRef;\n this.categoryApi = categoryApi;\n this.keyCreated = new EventEmitter();\n }\n KeyCreateModalComponent.prototype.ngOnInit = function () {\n };\n KeyCreateModalComponent.prototype.saveKey = function () {\n var _this = this;\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.createKey(this.createKey).subscribe(function (keyResult) {\n _this.keyCreated.next('complete');\n _this.keyCreated.complete();\n _this.bsModalRef.hide();\n }, function (error) {\n console.log(error);\n _this.isSubmitting = false;\n _this.alert = Alert.danger(\"Error creating key: \" + _this.createKey.name + \".\");\n });\n };\n return KeyCreateModalComponent;\n}());\nexport { KeyCreateModalComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./key-edit-modal.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"./key-edit-modal.component\";\nimport * as i7 from \"ngx-bootstrap/modal\";\nimport * as i8 from \"../../../core/apis/moderation-api/category-api.service\";\nvar styles_KeyEditModalComponent = [i0.styles];\nvar RenderType_KeyEditModalComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_KeyEditModalComponent, data: {} });\nexport { RenderType_KeyEditModalComponent as RenderType_KeyEditModalComponent };\nfunction View_KeyEditModalComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"text-danger\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"A disabled a key will not be able to be referenced.\"]))], null, null); }\nfunction View_KeyEditModalComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_KeyEditModalComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nexport function View_KeyEditModalComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [[\"class\", \"modal-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Update Key\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 49, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 21, \"div\", [[\"class\", \"row mb-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 20, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input\"], [\"name\", \"isActiveStatus\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 12).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 12).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.updateKey.isActive = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(12, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(14, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(16, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"], [\"for\", \"inlineRadio1\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Active\"])), (_l()(), i1.ɵeld(19, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input\"], [\"name\", \"isActiveStatus\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 21)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 21).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 21)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 21)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 22).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.updateKey.isActive = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(22, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(24, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(26, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(27, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"], [\"for\", \"inlineRadio2\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Deactivated\"])), (_l()(), i1.ɵeld(29, 0, null, null, 3, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 2, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_KeyEditModalComponent_1)), i1.ɵdid(32, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(33, 0, null, null, 20, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 19, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 18, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"keyName\"], [\"id\", \"keyName-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(38, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"keyName\"], [\"maxlength\", \"64\"], [\"minlength\", \"1\"], [\"name\", \"keyName\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 39)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 39).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 39)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 39)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.updateKey.newName = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(39, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(40, 16384, null, 0, i4.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(41, 540672, null, 0, i4.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(42, 540672, null, 0, i4.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i4.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i4.RequiredValidator, i4.MinLengthValidator, i4.MaxLengthValidator]), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(45, 671744, null, 0, i4.NgModel, [[8, null], [6, i4.NG_VALIDATORS], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(47, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(48, 0, null, null, 5, \"input\", [[\"id\", \"keyOrginalName\"], [\"name\", \"keyOrginalName\"], [\"type\", \"hidden\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 49)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 49).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 49)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 49)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.updateKey.name = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(49, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(51, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(53, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_KeyEditModalComponent_2)), i1.ɵdid(55, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(56, 0, null, null, 6, \"div\", [[\"class\", \"modal-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(57, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-success\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.saveKey() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Save \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_KeyEditModalComponent_3)), i1.ɵdid(60, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(61, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.bsModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"isActiveStatus\"; var currVal_8 = true; _ck(_v, 12, 0, currVal_7, currVal_8); var currVal_9 = \"isActiveStatus\"; var currVal_10 = _co.updateKey.isActive; _ck(_v, 14, 0, currVal_9, currVal_10); var currVal_18 = \"isActiveStatus\"; var currVal_19 = false; _ck(_v, 22, 0, currVal_18, currVal_19); var currVal_20 = \"isActiveStatus\"; var currVal_21 = _co.updateKey.isActive; _ck(_v, 24, 0, currVal_20, currVal_21); var currVal_22 = !_co.updateKey.isActive; _ck(_v, 32, 0, currVal_22); var currVal_33 = \"\"; _ck(_v, 40, 0, currVal_33); var currVal_34 = \"1\"; _ck(_v, 41, 0, currVal_34); var currVal_35 = \"64\"; _ck(_v, 42, 0, currVal_35); var currVal_36 = \"keyName\"; var currVal_37 = _co.updateKey.newName; _ck(_v, 45, 0, currVal_36, currVal_37); var currVal_45 = \"keyOrginalName\"; var currVal_46 = _co.updateKey.name; _ck(_v, 51, 0, currVal_45, currVal_46); var currVal_47 = _co.alert; _ck(_v, 55, 0, currVal_47); var currVal_49 = _co.isSubmitting; _ck(_v, 60, 0, currVal_49); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 16).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 16).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 16).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 16).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 16).ngClassValid; var currVal_5 = i1.ɵnov(_v, 16).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 16).ngClassPending; _ck(_v, 10, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 26).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 26).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 26).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 26).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 26).ngClassValid; var currVal_16 = i1.ɵnov(_v, 26).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 26).ngClassPending; _ck(_v, 20, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_23 = (i1.ɵnov(_v, 40).required ? \"\" : null); var currVal_24 = (i1.ɵnov(_v, 41).minlength ? i1.ɵnov(_v, 41).minlength : null); var currVal_25 = (i1.ɵnov(_v, 42).maxlength ? i1.ɵnov(_v, 42).maxlength : null); var currVal_26 = i1.ɵnov(_v, 47).ngClassUntouched; var currVal_27 = i1.ɵnov(_v, 47).ngClassTouched; var currVal_28 = i1.ɵnov(_v, 47).ngClassPristine; var currVal_29 = i1.ɵnov(_v, 47).ngClassDirty; var currVal_30 = i1.ɵnov(_v, 47).ngClassValid; var currVal_31 = i1.ɵnov(_v, 47).ngClassInvalid; var currVal_32 = i1.ɵnov(_v, 47).ngClassPending; _ck(_v, 38, 0, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32); var currVal_38 = i1.ɵnov(_v, 53).ngClassUntouched; var currVal_39 = i1.ɵnov(_v, 53).ngClassTouched; var currVal_40 = i1.ɵnov(_v, 53).ngClassPristine; var currVal_41 = i1.ɵnov(_v, 53).ngClassDirty; var currVal_42 = i1.ɵnov(_v, 53).ngClassValid; var currVal_43 = i1.ɵnov(_v, 53).ngClassInvalid; var currVal_44 = i1.ɵnov(_v, 53).ngClassPending; _ck(_v, 48, 0, currVal_38, currVal_39, currVal_40, currVal_41, currVal_42, currVal_43, currVal_44); var currVal_48 = _co.isSubmitting; _ck(_v, 57, 0, currVal_48); }); }\nexport function View_KeyEditModalComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-key-edit-modal\", [], null, null, null, View_KeyEditModalComponent_0, RenderType_KeyEditModalComponent)), i1.ɵdid(1, 114688, null, 0, i6.KeyEditModalComponent, [i7.BsModalRef, i8.CategoryApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar KeyEditModalComponentNgFactory = i1.ɵccf(\"app-key-edit-modal\", i6.KeyEditModalComponent, View_KeyEditModalComponent_Host_0, {}, {}, []);\nexport { KeyEditModalComponentNgFactory as KeyEditModalComponentNgFactory };\n","
\n
Update Key
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n A disabled a key will not be able to be referenced.\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n {{alert.message}}\n
\n
\n \n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhdGVnb3J5L3BhZ2VzL2tleS1lZGl0LW1vZGFsL2tleS1lZGl0LW1vZGFsLmNvbXBvbmVudC5zY3NzIn0= */\"];\nexport { styles as styles };\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { NgForm, RadioControlValueAccessor } from '@angular/forms';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { UpdateKeyRequestModel } from '../../models/webapi/request/update-key-request.model';\nimport { KeyResult } from '../../../shared/models/key-result.model';\n\n@Component({\n selector: 'app-key-edit-modal',\n templateUrl: './key-edit-modal.component.html',\n styleUrls: ['./key-edit-modal.component.scss']\n})\nexport class KeyEditModalComponent implements OnInit {\n updateKey: UpdateKeyRequestModel;\n alert: Alert;\n\n isSubmitting: boolean;\n\n keyUpdated: EventEmitter = new EventEmitter();\n\n constructor(public bsModalRef: BsModalRef, private categoryApi: CategoryApiService) {}\n\n ngOnInit() {\n const test = this.updateKey.isActive;\n }\n\n saveKey() {\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.updateKey(this.updateKey).subscribe(\n (keyResult: KeyResult) => {\n this.keyUpdated.next('complete');\n this.keyUpdated.complete();\n this.bsModalRef.hide();\n },\n error => {\n console.log(error);\n this.isSubmitting = false;\n this.alert = Alert.danger(`Error updating key: ${this.updateKey.name}.`);\n }\n );\n }\n}\n","import { EventEmitter, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { CategoryApiService } from '../../../core/apis/moderation-api/category-api.service';\nimport { Alert } from '../../../shared/models/alert.model';\nvar KeyEditModalComponent = /** @class */ (function () {\n function KeyEditModalComponent(bsModalRef, categoryApi) {\n this.bsModalRef = bsModalRef;\n this.categoryApi = categoryApi;\n this.keyUpdated = new EventEmitter();\n }\n KeyEditModalComponent.prototype.ngOnInit = function () {\n var test = this.updateKey.isActive;\n };\n KeyEditModalComponent.prototype.saveKey = function () {\n var _this = this;\n this.isSubmitting = true;\n this.alert = null;\n this.categoryApi.updateKey(this.updateKey).subscribe(function (keyResult) {\n _this.keyUpdated.next('complete');\n _this.keyUpdated.complete();\n _this.bsModalRef.hide();\n }, function (error) {\n console.log(error);\n _this.isSubmitting = false;\n _this.alert = Alert.danger(\"Error updating key: \" + _this.updateKey.name + \".\");\n });\n };\n return KeyEditModalComponent;\n}());\nexport { KeyEditModalComponent };\n","export class Constants {\n public static readonly HeaderAdminAccountKey = 'x-pl-admin-accountKey';\n // This member is named \"Cookie\" because we are only storing it as a cookie for display purposes and will not be using it as a Header like HeaderAdminAccountKey is used for both\n public static readonly CookieAdminAccountName = 'x-pl-admin-accountName';\n public static readonly HeaderProgramKey = 'x-pl-program';\n public static readonly HeaderCategoryKey = 'x-pl-category';\n public static readonly HeaderContinuationToken = 'x-pl-continuation';\n public static readonly DefaultMaxItems = 20;\n public static readonly ErrorCodes = {\n InvalidRuleSetDefinition: 20002,\n DuplicateRuleSetNameOrKey: 20003\n };\n}\n","var Constants = /** @class */ (function () {\n function Constants() {\n }\n Constants.HeaderAdminAccountKey = 'x-pl-admin-accountKey';\n // This member is named \"Cookie\" because we are only storing it as a cookie for display purposes and will not be using it as a Header like HeaderAdminAccountKey is used for both\n Constants.CookieAdminAccountName = 'x-pl-admin-accountName';\n Constants.HeaderProgramKey = 'x-pl-program';\n Constants.HeaderCategoryKey = 'x-pl-category';\n Constants.HeaderContinuationToken = 'x-pl-continuation';\n Constants.DefaultMaxItems = 20;\n Constants.ErrorCodes = {\n InvalidRuleSetDefinition: 20002,\n DuplicateRuleSetNameOrKey: 20003\n };\n return Constants;\n}());\nexport { Constants };\n","import * as tslib_1 from \"tslib\";\nimport { DateTimeAdapter } from 'ng-pick-datetime';\nimport * as moment from 'moment';\nimport 'moment-timezone';\n/**\n * This file is mostly lifed directly from\n * https://github.com/DanielYKPan/date-time-picker/blob/master/src/date-time/adapter/native-date-time-adapter.class.ts\n * the source code for the NativeDateTimeAdapter class.\n *\n * I've re-created it mostly here so we can customize it as see fit,\n * namely to display dates in the EASTERN time zone as opposed to local.\n */\n/** The default month names to use if Intl API is not available. */\nvar DEFAULT_MONTH_NAMES = {\n long: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']\n};\n/** The default day of the week names to use if Intl API is not available. */\nvar DEFAULT_DAY_OF_WEEK_NAMES = {\n long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S']\n};\nvar ɵ0 = function (i) { return String(i + 1); };\nvar DEFAULT_DATE_NAMES = range(31, ɵ0);\nvar TARGET_TZ_NAME = 'UTC';\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings an with out of bounds month, date, etc.\n */\nvar ISO_8601_REGEX = /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n/** Creates an array and fills it with values. */\nfunction range(length, valueFunction) {\n var valuesArray = Array(length);\n for (var i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\nvar UtcDateTimeAdapter = /** @class */ (function (_super) {\n tslib_1.__extends(UtcDateTimeAdapter, _super);\n function UtcDateTimeAdapter(owlDateTimeLocale) {\n var _this = _super.call(this) || this;\n _this.owlDateTimeLocale = owlDateTimeLocale;\n _super.prototype.setLocale.call(_this, owlDateTimeLocale);\n _this.useUtcForDisplay = !(typeof document === 'object' && !!document && /(msie|trident)/i.test(navigator.userAgent));\n return _this;\n }\n UtcDateTimeAdapter.prototype.getYear = function (date) {\n return date.year();\n };\n UtcDateTimeAdapter.prototype.getMonth = function (date) {\n return date.month();\n };\n UtcDateTimeAdapter.prototype.getDay = function (date) {\n return date.day();\n };\n UtcDateTimeAdapter.prototype.getDate = function (date) {\n return date.date();\n };\n UtcDateTimeAdapter.prototype.getHours = function (date) {\n return date.hours();\n };\n UtcDateTimeAdapter.prototype.getMinutes = function (date) {\n return date.minutes();\n };\n UtcDateTimeAdapter.prototype.getSeconds = function (date) {\n return date.seconds();\n };\n UtcDateTimeAdapter.prototype.getTime = function (date) {\n return date.valueOf();\n };\n UtcDateTimeAdapter.prototype.getNumDaysInMonth = function (date) {\n return date.daysInMonth();\n };\n UtcDateTimeAdapter.prototype.getDateNames = function () {\n return DEFAULT_DATE_NAMES;\n };\n UtcDateTimeAdapter.prototype.differenceInCalendarDays = function (dateLeft, dateRight) {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n var dateLeftStartOfDay = this.createDate(this.getYear(dateLeft), this.getMonth(dateLeft), this.getDate(dateLeft));\n var dateRightStartOfDay = this.createDate(this.getYear(dateRight), this.getMonth(dateRight), this.getDate(dateRight));\n var timeStampLeft = this.getTime(dateLeftStartOfDay) + dateLeftStartOfDay.utcOffset() * this.milliseondsInMinute;\n var timeStampRight = this.getTime(dateRightStartOfDay) + dateRightStartOfDay.utcOffset() * this.milliseondsInMinute;\n return Math.round((timeStampLeft - timeStampRight) / this.millisecondsInDay);\n }\n else {\n return null;\n }\n };\n UtcDateTimeAdapter.prototype.getYearName = function (date) {\n return String(moment.tz(TARGET_TZ_NAME).year());\n };\n UtcDateTimeAdapter.prototype.getMonthNames = function (style) {\n return DEFAULT_MONTH_NAMES[style];\n };\n UtcDateTimeAdapter.prototype.getDayOfWeekNames = function (style) {\n return DEFAULT_DAY_OF_WEEK_NAMES[style];\n };\n UtcDateTimeAdapter.prototype.toIso8601 = function (date) {\n return date.toISOString();\n };\n UtcDateTimeAdapter.prototype.isEqual = function (dateLeft, dateRight) {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n return dateLeft.valueOf() === dateRight.valueOf();\n }\n else {\n return false;\n }\n };\n UtcDateTimeAdapter.prototype.isSameDay = function (dateLeft, dateRight) {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n var dateLeftStartOfDay = this.clone(dateLeft);\n var dateRightStartOfDay = this.clone(dateRight);\n dateLeftStartOfDay\n .hours(0)\n .minutes(0)\n .seconds(0)\n .milliseconds(0);\n dateRightStartOfDay\n .hours(0)\n .minutes(0)\n .seconds(0)\n .milliseconds(0);\n return dateLeftStartOfDay.valueOf() === dateRightStartOfDay.valueOf();\n }\n else {\n return false;\n }\n };\n UtcDateTimeAdapter.prototype.isValid = function (date) {\n return date && !isNaN(date.valueOf());\n };\n UtcDateTimeAdapter.prototype.invalid = function () {\n return moment.tz(NaN, TARGET_TZ_NAME);\n };\n UtcDateTimeAdapter.prototype.isDateInstance = function (obj) {\n return moment.isMoment(obj);\n };\n UtcDateTimeAdapter.prototype.addCalendarYears = function (date, amount) {\n return this.addCalendarMonths(date, amount * 12);\n };\n UtcDateTimeAdapter.prototype.addCalendarMonths = function (date, amount) {\n var result = this.clone(date);\n amount = Number(amount);\n var desiredMonth = result.month() + amount;\n var dateWithDesiredMonth = moment.tz([result.year(), desiredMonth, 1, 0, 0, 0, 0], TARGET_TZ_NAME);\n var daysInMonth = this.getNumDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n result.month(desiredMonth).day(Math.min(daysInMonth, result.day()));\n return result;\n };\n UtcDateTimeAdapter.prototype.addCalendarDays = function (date, amount) {\n var result = this.clone(date);\n amount = Number(amount);\n result.day(result.day() + amount);\n return result;\n };\n UtcDateTimeAdapter.prototype.setHours = function (date, amount) {\n var result = this.clone(date);\n result.hours(amount);\n return result;\n };\n UtcDateTimeAdapter.prototype.setMinutes = function (date, amount) {\n var result = this.clone(date);\n result.minutes(amount);\n return result;\n };\n UtcDateTimeAdapter.prototype.setSeconds = function (date, amount) {\n var result = this.clone(date);\n result.seconds(amount);\n return result;\n };\n UtcDateTimeAdapter.prototype.createDate = function (year, month, date, hours, minutes, seconds) {\n if (hours === void 0) { hours = 0; }\n if (minutes === void 0) { minutes = 0; }\n if (seconds === void 0) { seconds = 0; }\n if (month < 0 || month > 11) {\n throw Error(\"Invalid month index \\\"\" + month + \"\\\". Month index has to be between 0 and 11.\");\n }\n if (date < 1) {\n throw Error(\"Invalid date \\\"\" + date + \"\\\". Date has to be greater than 0.\");\n }\n if (hours < 0 || hours > 23) {\n throw Error(\"Invalid hours \\\"\" + hours + \"\\\". Hours has to be between 0 and 23.\");\n }\n if (minutes < 0 || minutes > 59) {\n throw Error(\"Invalid minutes \\\"\" + minutes + \"\\\". Minutes has to between 0 and 59.\");\n }\n if (seconds < 0 || seconds > 59) {\n throw Error(\"Invalid seconds \\\"\" + seconds + \"\\\". Seconds has to be between 0 and 59.\");\n }\n var result = this.createDateWithOverflow(year, month, date, hours, minutes, seconds);\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n // For example, createDate(2017, 1, 31) would try to create a date 2017/02/31 which is invalid\n if (result.month() !== month) {\n throw Error(\"Invalid date \\\"\" + date + \"\\\" for month with index \\\"\" + month + \"\\\".\");\n }\n return result;\n };\n UtcDateTimeAdapter.prototype.clone = function (date) {\n return moment.tz(date.valueOf(), date.tz());\n };\n UtcDateTimeAdapter.prototype.now = function () {\n return moment.tz(TARGET_TZ_NAME);\n };\n UtcDateTimeAdapter.prototype.format = function (date, displayFormat) {\n if (!this.isValid(date)) {\n throw Error('MomentJS: Cannot format invalid date.');\n }\n return this.stripDirectionalityCharacters(date.tz(TARGET_TZ_NAME).format('M/D/YY, h:mm A'));\n };\n UtcDateTimeAdapter.prototype.parse = function (value, parseFormat) {\n return value ? moment.tz(value, TARGET_TZ_NAME) : null;\n };\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n UtcDateTimeAdapter.prototype.deserialize = function (value) {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n var date = moment.tz(value, TARGET_TZ_NAME);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return _super.prototype.deserialize.call(this, value);\n };\n /**\n * Creates a date but allows the month and date to overflow.\n * @param {number} year\n * @param {number} month\n * @param {number} date\n * @param {number} hours -- default 0\n * @param {number} minutes -- default 0\n * @param {number} seconds -- default 0\n * @returns The new date, or null if invalid.\n * */\n UtcDateTimeAdapter.prototype.createDateWithOverflow = function (year, month, date, hours, minutes, seconds) {\n if (hours === void 0) { hours = 0; }\n if (minutes === void 0) { minutes = 0; }\n if (seconds === void 0) { seconds = 0; }\n var result = moment.tz([year, month, date, hours, minutes, seconds], TARGET_TZ_NAME);\n return result;\n };\n /**\n * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while\n * other browsers do not. We remove them to make output consistent and because they interfere with\n * date parsing.\n * @param str The string to strip direction characters from.\n * @returns The stripped string.\n */\n UtcDateTimeAdapter.prototype.stripDirectionalityCharacters = function (str) {\n return str.replace(/[\\u200e\\u200f]/g, '');\n };\n return UtcDateTimeAdapter;\n}(DateTimeAdapter));\nexport { UtcDateTimeAdapter };\nexport { ɵ0 };\n","import { Inject, Optional } from '@angular/core';\nimport { DateTimeAdapter, OWL_DATE_TIME_LOCALE } from 'ng-pick-datetime';\nimport * as moment from 'moment';\nimport 'moment-timezone';\n\n/**\n * This file is mostly lifed directly from\n * https://github.com/DanielYKPan/date-time-picker/blob/master/src/date-time/adapter/native-date-time-adapter.class.ts\n * the source code for the NativeDateTimeAdapter class.\n *\n * I've re-created it mostly here so we can customize it as see fit,\n * namely to display dates in the EASTERN time zone as opposed to local.\n */\n\n/** The default month names to use if Intl API is not available. */\nconst DEFAULT_MONTH_NAMES = {\n long: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']\n};\n\n/** The default day of the week names to use if Intl API is not available. */\nconst DEFAULT_DAY_OF_WEEK_NAMES = {\n long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S']\n};\n\nconst DEFAULT_DATE_NAMES = range(31, i => String(i + 1));\n\nconst TARGET_TZ_NAME = 'UTC';\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings an with out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX = /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\n/** Creates an array and fills it with values. */\nfunction range(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\nexport class UtcDateTimeAdapter extends DateTimeAdapter {\n /**\n * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.\n * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off\n * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`\n * will produce `'8/13/1800'`.\n */\n useUtcForDisplay: boolean;\n\n constructor(@Optional() @Inject(OWL_DATE_TIME_LOCALE) private owlDateTimeLocale: string) {\n super();\n super.setLocale(owlDateTimeLocale);\n\n this.useUtcForDisplay = !(typeof document === 'object' && !!document && /(msie|trident)/i.test(navigator.userAgent));\n }\n\n public getYear(date: moment.Moment): number {\n return date.year();\n }\n\n public getMonth(date: moment.Moment): number {\n return date.month();\n }\n\n public getDay(date: moment.Moment): number {\n return date.day();\n }\n\n public getDate(date: moment.Moment): number {\n return date.date();\n }\n\n public getHours(date: moment.Moment): number {\n return date.hours();\n }\n\n public getMinutes(date: moment.Moment): number {\n return date.minutes();\n }\n\n public getSeconds(date: moment.Moment): number {\n return date.seconds();\n }\n\n public getTime(date: moment.Moment): number {\n return date.valueOf();\n }\n\n public getNumDaysInMonth(date: moment.Moment): number {\n return date.daysInMonth();\n }\n\n public getDateNames(): string[] {\n return DEFAULT_DATE_NAMES;\n }\n\n public differenceInCalendarDays(dateLeft: moment.Moment, dateRight: moment.Moment): number {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n const dateLeftStartOfDay = this.createDate(this.getYear(dateLeft), this.getMonth(dateLeft), this.getDate(dateLeft));\n const dateRightStartOfDay = this.createDate(this.getYear(dateRight), this.getMonth(dateRight), this.getDate(dateRight));\n\n const timeStampLeft = this.getTime(dateLeftStartOfDay) + dateLeftStartOfDay.utcOffset() * this.milliseondsInMinute;\n const timeStampRight = this.getTime(dateRightStartOfDay) + dateRightStartOfDay.utcOffset() * this.milliseondsInMinute;\n return Math.round((timeStampLeft - timeStampRight) / this.millisecondsInDay);\n } else {\n return null;\n }\n }\n\n public getYearName(date: moment.Moment): string {\n return String(moment.tz(TARGET_TZ_NAME).year());\n }\n\n public getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return DEFAULT_MONTH_NAMES[style];\n }\n\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n return DEFAULT_DAY_OF_WEEK_NAMES[style];\n }\n\n public toIso8601(date: moment.Moment): string {\n return date.toISOString();\n }\n\n public isEqual(dateLeft: moment.Moment, dateRight: moment.Moment): boolean {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n return dateLeft.valueOf() === dateRight.valueOf();\n } else {\n return false;\n }\n }\n\n public isSameDay(dateLeft: moment.Moment, dateRight: moment.Moment): boolean {\n if (this.isValid(dateLeft) && this.isValid(dateRight)) {\n const dateLeftStartOfDay = this.clone(dateLeft);\n const dateRightStartOfDay = this.clone(dateRight);\n dateLeftStartOfDay\n .hours(0)\n .minutes(0)\n .seconds(0)\n .milliseconds(0);\n dateRightStartOfDay\n .hours(0)\n .minutes(0)\n .seconds(0)\n .milliseconds(0);\n return dateLeftStartOfDay.valueOf() === dateRightStartOfDay.valueOf();\n } else {\n return false;\n }\n }\n\n public isValid(date: moment.Moment): boolean {\n return date && !isNaN(date.valueOf());\n }\n\n public invalid(): moment.Moment {\n return moment.tz(NaN, TARGET_TZ_NAME);\n }\n\n public isDateInstance(obj: any): boolean {\n return moment.isMoment(obj);\n }\n\n public addCalendarYears(date: moment.Moment, amount: number): moment.Moment {\n return this.addCalendarMonths(date, amount * 12);\n }\n\n public addCalendarMonths(date: moment.Moment, amount: number): moment.Moment {\n const result = this.clone(date);\n amount = Number(amount);\n\n const desiredMonth = result.month() + amount;\n const dateWithDesiredMonth = moment.tz([result.year(), desiredMonth, 1, 0, 0, 0, 0], TARGET_TZ_NAME);\n\n const daysInMonth = this.getNumDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n result.month(desiredMonth).day(Math.min(daysInMonth, result.day()));\n return result;\n }\n\n public addCalendarDays(date: moment.Moment, amount: number): moment.Moment {\n const result = this.clone(date);\n amount = Number(amount);\n result.day(result.day() + amount);\n return result;\n }\n\n public setHours(date: moment.Moment, amount: number): moment.Moment {\n const result = this.clone(date);\n result.hours(amount);\n return result;\n }\n\n public setMinutes(date: moment.Moment, amount: number): moment.Moment {\n const result = this.clone(date);\n result.minutes(amount);\n return result;\n }\n\n public setSeconds(date: moment.Moment, amount: number): moment.Moment {\n const result = this.clone(date);\n result.seconds(amount);\n return result;\n }\n\n public createDate(year: number, month: number, date: number, hours: number = 0, minutes: number = 0, seconds: number = 0): moment.Moment {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n if (hours < 0 || hours > 23) {\n throw Error(`Invalid hours \"${hours}\". Hours has to be between 0 and 23.`);\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes has to between 0 and 59.`);\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds has to be between 0 and 59.`);\n }\n\n const result = this.createDateWithOverflow(year, month, date, hours, minutes, seconds);\n\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n // For example, createDate(2017, 1, 31) would try to create a date 2017/02/31 which is invalid\n if (result.month() !== month) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n public clone(date: moment.Moment): moment.Moment {\n return moment.tz(date.valueOf(), date.tz());\n }\n\n public now(): moment.Moment {\n return moment.tz(TARGET_TZ_NAME);\n }\n\n public format(date: moment.Moment, displayFormat: any): string {\n if (!this.isValid(date)) {\n throw Error('MomentJS: Cannot format invalid date.');\n }\n\n return this.stripDirectionalityCharacters(date.tz(TARGET_TZ_NAME).format('M/D/YY, h:mm A'));\n }\n\n public parse(value: any, parseFormat: any): moment.Moment | null {\n return value ? moment.tz(value, TARGET_TZ_NAME) : null;\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n public deserialize(value: any): moment.Moment | null {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n const date = moment.tz(value, TARGET_TZ_NAME);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return super.deserialize(value);\n }\n\n /**\n * Creates a date but allows the month and date to overflow.\n * @param {number} year\n * @param {number} month\n * @param {number} date\n * @param {number} hours -- default 0\n * @param {number} minutes -- default 0\n * @param {number} seconds -- default 0\n * @returns The new date, or null if invalid.\n * */\n private createDateWithOverflow(year: number, month: number, date: number, hours: number = 0, minutes: number = 0, seconds: number = 0): moment.Moment {\n const result = moment.tz([year, month, date, hours, minutes, seconds], TARGET_TZ_NAME);\n\n return result;\n }\n\n /**\n * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while\n * other browsers do not. We remove them to make output consistent and because they interfere with\n * date parsing.\n * @param str The string to strip direction characters from.\n * @returns The stripped string.\n */\n private stripDirectionalityCharacters(str: string) {\n return str.replace(/[\\u200e\\u200f]/g, '');\n }\n}\n","import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport class BaseApi {\n constructor(private urlRoot: string, protected http: HttpClient) {\n this.urlRoot = urlRoot;\n while (this.urlRoot.endsWith('/')) {\n this.urlRoot = this.urlRoot.substr(0, this.urlRoot.length - 1);\n }\n }\n\n protected urlFor(path: string): string {\n return `${this.urlRoot}${path}`;\n }\n protected getFor(path: string): Observable {\n return this.http.get(this.urlFor(path));\n }\n\n protected getWithResponseFor(path: string): Observable> {\n return this.http.get(this.urlFor(path), { observe: 'response' });\n }\n\n protected getWithParamsFor(\n path: string,\n params: HttpParams | { [param: string]: string | string[]; })\n : Observable {\n return this.http.get(this.urlFor(path), { params: params });\n }\n\n protected getWithParamsAndResponseFor(\n path: string,\n params: HttpParams | { [param: string]: string | string[]; })\n : Observable> {\n return this.http.get(this.urlFor(path), { observe: 'response', params: params });\n }\n\n protected postFor(path: string, request: TRequest): Observable {\n return this.http.post(this.urlFor(path), request);\n }\n\n protected postWithParamsFor(\n path: string,\n request: TRequest,\n params: HttpParams | { [param: string]: string | string[]; }\n ): Observable {\n return this.http.post(this.urlFor(path), request, { params: params });\n }\n\n protected putFor(path: string, request: TRequest): Observable {\n return this.http.put(this.urlFor(path), request);\n }\n\n protected deleteFor(path: string): Observable {\n return this.http.delete(this.urlFor(path));\n }\n\n protected patchFor(path: string, patch: any): Observable {\n return this.http.patch(this.urlFor(path), patch);\n }\n\n}\n","var BaseApi = /** @class */ (function () {\n function BaseApi(urlRoot, http) {\n this.urlRoot = urlRoot;\n this.http = http;\n this.urlRoot = urlRoot;\n while (this.urlRoot.endsWith('/')) {\n this.urlRoot = this.urlRoot.substr(0, this.urlRoot.length - 1);\n }\n }\n BaseApi.prototype.urlFor = function (path) {\n return \"\" + this.urlRoot + path;\n };\n BaseApi.prototype.getFor = function (path) {\n return this.http.get(this.urlFor(path));\n };\n BaseApi.prototype.getWithResponseFor = function (path) {\n return this.http.get(this.urlFor(path), { observe: 'response' });\n };\n BaseApi.prototype.getWithParamsFor = function (path, params) {\n return this.http.get(this.urlFor(path), { params: params });\n };\n BaseApi.prototype.getWithParamsAndResponseFor = function (path, params) {\n return this.http.get(this.urlFor(path), { observe: 'response', params: params });\n };\n BaseApi.prototype.postFor = function (path, request) {\n return this.http.post(this.urlFor(path), request);\n };\n BaseApi.prototype.postWithParamsFor = function (path, request, params) {\n return this.http.post(this.urlFor(path), request, { params: params });\n };\n BaseApi.prototype.putFor = function (path, request) {\n return this.http.put(this.urlFor(path), request);\n };\n BaseApi.prototype.deleteFor = function (path) {\n return this.http.delete(this.urlFor(path));\n };\n BaseApi.prototype.patchFor = function (path, patch) {\n return this.http.patch(this.urlFor(path), patch);\n };\n return BaseApi;\n}());\nexport { BaseApi };\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Constants } from '../../../constants';\nimport { ContinuationTokenResponseModel } from '../../../shared/models/continuation-token-response.model';\nimport { ModerationApiService } from './moderation-api.service';\nimport { KeyResultsModel } from '../../../shared/models/webapi/response/key-results.model';\nvar CategoryApiService = /** @class */ (function (_super) {\n tslib_1.__extends(CategoryApiService, _super);\n function CategoryApiService(http) {\n var _this = _super.call(this, http) || this;\n _this.continuationTokenHeader = Constants.HeaderContinuationToken;\n _this.defaultMaxItems = Constants.DefaultMaxItems;\n return _this;\n }\n CategoryApiService.prototype.getCategories = function (programKey) {\n return this.getFor(\"/admin/lookup/categories?programKey=\" + programKey);\n };\n CategoryApiService.prototype.createCategory = function (category) {\n return this.postFor('/admin/category', category);\n };\n CategoryApiService.prototype.getCategory = function (categoryKey) {\n return this.getFor(\"/admin/category/\" + categoryKey);\n };\n CategoryApiService.prototype.updateCategory = function (category) {\n return this.putFor(\"/admin/category/\" + category.categoryKey, category);\n };\n CategoryApiService.prototype.getKey = function (categoryKey, keyName) {\n return this.getFor(\"/admin/category/\" + categoryKey + \"/\" + keyName);\n };\n CategoryApiService.prototype.createKey = function (createKey) {\n return this.postFor('/admin/category/key', createKey);\n };\n CategoryApiService.prototype.updateKey = function (updateKey) {\n return this.putFor(\"/admin/category/key\", updateKey);\n };\n CategoryApiService.prototype.getKeysForCategory = function (categoryKey) {\n return this.http.get(this.urlFor(\"/admin/category/keys/\" + categoryKey), {\n observe: 'response'\n }).pipe(map(function (response) {\n return Object.assign(new KeyResultsModel(), {\n results: response.body.results\n });\n }));\n };\n CategoryApiService.prototype.getRecentlyUpdatedCategories = function (maxItems) {\n var _this = this;\n if (maxItems === void 0) { maxItems = this.defaultMaxItems; }\n var params = new HttpParams().set('maxItems', \"\" + maxItems);\n return this.http.get(this.urlFor('/admin/category/recently/updated'), {\n observe: 'response',\n params: params\n }).pipe(map(function (response) {\n return Object.assign(new ContinuationTokenResponseModel(), {\n continuationToken: response.headers.get(_this.continuationTokenHeader),\n model: response.body\n });\n }));\n };\n CategoryApiService.prototype.searchCategories = function (keyword, maxItems) {\n var _this = this;\n if (maxItems === void 0) { maxItems = this.defaultMaxItems; }\n var params = new HttpParams().set('maxItems', \"\" + maxItems);\n return this.http.get(this.urlFor(\"/admin/category/search/\" + keyword), {\n observe: 'response',\n params: params\n }).pipe(map(function (response) {\n return Object.assign(new ContinuationTokenResponseModel(), {\n continuationToken: response.headers.get(_this.continuationTokenHeader) || '',\n model: response.body\n });\n }));\n };\n CategoryApiService.prototype.searchCategoryContinuation = function (continuationToken) {\n var _this = this;\n var headers = new HttpHeaders().set(Constants.HeaderContinuationToken, continuationToken);\n return this.http.get(this.urlFor(\"/admin/category/search/continuation\"), {\n headers: headers,\n observe: 'response'\n })\n .pipe(map(function (response) {\n return Object.assign(new ContinuationTokenResponseModel(), {\n continuationToken: response.headers.get(_this.continuationTokenHeader),\n model: response.body\n });\n }));\n };\n CategoryApiService.prototype.getRecentlyUpdatedCategoriesContinuation = function (continuationToken) {\n var _this = this;\n var headers = new HttpHeaders().set(Constants.HeaderContinuationToken, continuationToken);\n return this.http.get(this.urlFor('/admin/category/recently/updated/continuation'), {\n headers: headers,\n observe: 'response'\n })\n .pipe(map(function (response) {\n return Object.assign(new ContinuationTokenResponseModel(), {\n continuationToken: response.headers.get(_this.continuationTokenHeader),\n model: response.body\n });\n }));\n };\n return CategoryApiService;\n}(ModerationApiService));\nexport { CategoryApiService };\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { CategoryCreateRequestModel } from '../../../category/models/webapi/request/category-create-request.model';\nimport { CategoryRequestModel } from '../../../category/models/webapi/request/category-request.model';\nimport { CategoryResultsModel } from '../../../shared/models/webapi/response/category-results.model';\nimport { CategoryModel } from '../../../shared/models/webapi/response/category.model';\nimport { Constants } from '../../../constants';\nimport { ContinuationTokenResponseModel } from '../../../shared/models/continuation-token-response.model';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { ModerationApiService } from './moderation-api.service';\nimport { KeyResultsModel } from '../../../shared/models/webapi/response/key-results.model';\nimport { UpdateKeyRequestModel } from '../../../category/models/webapi/request/update-key-request.model';\nimport { KeyModel } from '../../../shared/models/webapi/response/key.model';\nimport { KeyRequestModel } from '../../../category/models/webapi/request/key-request.model';\n\n@Injectable()\nexport class CategoryApiService extends ModerationApiService {\n\n private continuationTokenHeader = Constants.HeaderContinuationToken;\n private defaultMaxItems = Constants.DefaultMaxItems;\n\n constructor(http: HttpClient) {\n super(http);\n }\n\n public getCategories(programKey: string) {\n return this.getFor(`/admin/lookup/categories?programKey=${programKey}`);\n }\n\n public createCategory(category: CategoryCreateRequestModel) {\n return this.postFor('/admin/category', category);\n }\n\n public getCategory(categoryKey: string): Observable {\n return this.getFor(`/admin/category/${categoryKey}`);\n }\n\n public updateCategory(category: CategoryRequestModel) {\n return this.putFor(`/admin/category/${category.categoryKey}`, category);\n }\n\n public getKey(categoryKey: string, keyName): Observable {\n return this.getFor(`/admin/category/${categoryKey}/${keyName}`);\n }\n\n public createKey(createKey: KeyRequestModel) {\n return this.postFor('/admin/category/key', createKey);\n }\n\n public updateKey(updateKey: UpdateKeyRequestModel) {\n return this.putFor(`/admin/category/key`, updateKey);\n }\n\n public getKeysForCategory(\n categoryKey: string\n ): Observable {\n return this.http.get(\n this.urlFor(`/admin/category/keys/${categoryKey}`), {\n observe: 'response'\n }).pipe(\n map(response => {\n return Object.assign(\n new KeyResultsModel(),\n {\n results: response.body.results\n });\n })\n );\n }\n\n public getRecentlyUpdatedCategories(\n maxItems: number = this.defaultMaxItems\n ): Observable> {\n const params = new HttpParams().set('maxItems', `${maxItems}`);\n\n return this.http.get(\n this.urlFor('/admin/category/recently/updated'), {\n observe: 'response',\n params: params\n }).pipe(\n map(response => {\n return Object.assign(\n new ContinuationTokenResponseModel(),\n {\n continuationToken: response.headers.get(this.continuationTokenHeader),\n model: response.body\n });\n })\n );\n }\n\n public searchCategories(\n keyword: string,\n maxItems: number = this.defaultMaxItems\n ): Observable> {\n const params = new HttpParams().set('maxItems', `${maxItems}`);\n\n return this.http.get(\n this.urlFor(`/admin/category/search/${keyword}`), {\n observe: 'response',\n params: params\n }).pipe(\n map(response => {\n return Object.assign(\n new ContinuationTokenResponseModel(),\n {\n continuationToken: response.headers.get(this.continuationTokenHeader) || '',\n model: response.body\n });\n })\n );\n }\n\n public searchCategoryContinuation(\n continuationToken: string\n ): Observable> {\n const headers = new HttpHeaders().set(Constants.HeaderContinuationToken, continuationToken);\n\n return this.http.get(\n this.urlFor(`/admin/category/search/continuation`), {\n headers: headers,\n observe: 'response'\n })\n .pipe(\n map(response => {\n return Object.assign(\n new ContinuationTokenResponseModel(),\n {\n continuationToken: response.headers.get(this.continuationTokenHeader),\n model: response.body\n });\n })\n );\n }\n\n public getRecentlyUpdatedCategoriesContinuation(\n continuationToken: string\n ): Observable> {\n const headers = new HttpHeaders().set(Constants.HeaderContinuationToken, continuationToken);\n\n return this.http.get(\n this.urlFor('/admin/category/recently/updated/continuation'), {\n headers,\n observe: 'response'\n })\n .pipe(\n map(response => {\n return Object.assign(\n new ContinuationTokenResponseModel(),\n {\n continuationToken: response.headers.get(this.continuationTokenHeader),\n model: response.body\n });\n })\n );\n }\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\nimport { BaseApi } from '../base-api';\nvar ModerationApiService = /** @class */ (function (_super) {\n tslib_1.__extends(ModerationApiService, _super);\n function ModerationApiService(http) {\n return _super.call(this, environment.urls.moderationApi, http) || this;\n }\n ModerationApiService.prototype.getVersion = function () {\n return this.getFor('/.well-check/version');\n };\n return ModerationApiService;\n}(BaseApi));\nexport { ModerationApiService };\n","import { HttpClient } from '@angular/common/http';\n\nimport { environment } from '../../../../environments/environment';\nimport { BaseApi } from '../base-api';\nimport { Observable } from 'rxjs';\nimport { VersionModel } from '../../../shared/models/webapi/response/version.model';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ModerationApiService extends BaseApi {\n\n constructor(http: HttpClient) {\n super(environment.urls.moderationApi, http);\n }\n\n getVersion(): Observable {\n return this.getFor('/.well-check/version');\n }\n\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Constants } from './../../../constants';\nimport { ModerationApiService } from './moderation-api.service';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\nvar ProductApiService = /** @class */ (function (_super) {\n tslib_1.__extends(ProductApiService, _super);\n function ProductApiService(http) {\n return _super.call(this, http) || this;\n }\n ProductApiService.prototype.getProducts = function () {\n return this.getFor('/admin/lookup/products');\n };\n ProductApiService.prototype.getProductsByCategoryKey = function (categoryKey) {\n var options = { headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey) };\n // Using http directly for headers\n return this.http.get(this.urlFor('/admin/products'), options);\n };\n ProductApiService.prototype.getFullProductsByCategoryKey = function (categoryKey) {\n var options = { headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey) };\n return this.http.get(this.urlFor('/admin/products/full'), options);\n };\n ProductApiService.prototype.getProductFull = function (productKey) {\n return this.http.get(this.urlFor('/admin/products/' + productKey + '/full'));\n };\n ProductApiService.prototype.getProductAttributes = function (productKey, programKey) {\n return this.http.get(this.urlFor(\"/admin/products/\" + productKey + \"/attributes/\" + programKey));\n };\n ProductApiService.prototype.searchProductsInCategory = function (categoryKey, searchWords) {\n var options = {\n headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey),\n observe: 'response',\n params: new HttpParams().set('searchWords', searchWords)\n };\n return this.http.get(this.urlFor('/admin/products/search'), options);\n };\n ProductApiService.prototype.searchProductsInCategoryContinuation = function (token) {\n var options = {\n headers: new HttpHeaders().set(Constants.HeaderContinuationToken, token),\n observe: 'response'\n };\n return this.http.get(this.urlFor('/admin/products/search/continuation'), options);\n };\n ProductApiService.prototype.createProduct = function (request) {\n return this.postFor('/admin/products', request);\n };\n ProductApiService.prototype.updateProduct = function (request) {\n return this.putFor('/admin/products', request);\n };\n ProductApiService.prototype.upsertKeyword = function (request) {\n var data = cloneJson(request);\n delete data.isGlobal; // Delete this viewmodel-only property so it doesn't confuse when looking at the raw payload over the wire\n return this.putFor('/admin/products/keyword', data);\n };\n ProductApiService.prototype.updateAttributeList = function (request) {\n return this.putFor('/admin/products/attribute', request);\n };\n return ProductApiService;\n}(ModerationApiService));\nexport { ProductApiService };\n","import { KeyResult } from './../../../shared/models/key-result.model';\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { ProductResultsModel } from '../../../shared/models/webapi/response/product-results.model';\nimport { ProductFullModel } from '../../../shared/models/webapi/response/product-full.model';\nimport { Constants } from './../../../constants';\nimport { ModerationApiService } from './moderation-api.service';\nimport { CreateProductModel } from '../../../shared/models/webapi/request/create-product.model';\nimport { ProductRequestModel } from '../../../shared/models/webapi/request/product-request.model';\nimport { ProductKeywordUpdate } from '../../../shared/models/webapi/request/ProductKeywordUpdate.model';\nimport { ProductAttributeUpdate } from '../../../shared/models/webapi/request/ProductAttributeUpdate.model';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\nimport { ProductAttributeModel } from '../../../shared/models/webapi/response/productAttributeModel';\nimport { ProductAttributesResultsModel } from '../../../shared/models/webapi/response/product-attributes-results.model';\n\n@Injectable()\nexport class ProductApiService extends ModerationApiService {\n constructor(http: HttpClient) {\n super(http);\n }\n\n\n getProducts(): Observable {\n return this.getFor('/admin/lookup/products');\n }\n\n getProductsByCategoryKey(categoryKey: string): Observable {\n const options = { headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey) };\n // Using http directly for headers\n return this.http.get(this.urlFor('/admin/products'), options);\n }\n\n getFullProductsByCategoryKey(categoryKey: string): Observable {\n const options = { headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey) };\n\n return this.http.get(this.urlFor('/admin/products/full'), options);\n }\n\n getProductFull(productKey: string): Observable {\n return this.http.get(this.urlFor('/admin/products/' + productKey + '/full'));\n }\n\n getProductAttributes(productKey: string, programKey: string): Observable {\n return this.http.get(this.urlFor(`/admin/products/${productKey}/attributes/${programKey}`));\n }\n\n searchProductsInCategory(categoryKey: string, searchWords: string): Observable> {\n const options: {headers: HttpHeaders, observe: 'response', params: HttpParams } = {\n headers: new HttpHeaders().set(Constants.HeaderCategoryKey, categoryKey),\n observe: 'response',\n params: new HttpParams().set('searchWords', searchWords)\n };\n\n return this.http.get(this.urlFor('/admin/products/search'), options);\n }\n\n searchProductsInCategoryContinuation(token: string): Observable> {\n const options: {headers: HttpHeaders, observe: 'response' } = {\n headers: new HttpHeaders().set(Constants.HeaderContinuationToken, token),\n observe: 'response'\n };\n\n return this.http.get(this.urlFor('/admin/products/search/continuation'), options);\n }\n\n createProduct(request: CreateProductModel): Observable {\n return this.postFor('/admin/products', request);\n }\n\n public updateProduct(request: ProductRequestModel): Observable {\n return this.putFor('/admin/products', request);\n }\n\n public upsertKeyword(request: ProductKeywordUpdate) {\n const data = cloneJson(request);\n delete data.isGlobal; // Delete this viewmodel-only property so it doesn't confuse when looking at the raw payload over the wire\n return this.putFor('/admin/products/keyword', data);\n }\n\n public updateAttributeList(request: ProductAttributeUpdate) {\n return this.putFor('/admin/products/attribute', request);\n }\n\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient } from '@angular/common/http';\nimport { ModerationApiService } from './moderation-api.service';\nvar ProgramApiService = /** @class */ (function (_super) {\n tslib_1.__extends(ProgramApiService, _super);\n function ProgramApiService(http) {\n return _super.call(this, http) || this;\n }\n ProgramApiService.prototype.getAccounts = function () {\n return this.getFor('/admin/lookup/accounts');\n };\n ProgramApiService.prototype.getUnboardedAccounts = function () {\n return this.getFor('/admin/lookup/accounts/unboarded');\n };\n ProgramApiService.prototype.boardAccount = function (account) {\n return this.postFor('/admin/lookup/accounts/board', account);\n };\n ProgramApiService.prototype.getPrograms = function (accountKey) {\n accountKey = accountKey || '';\n return this.getFor(\"/admin/lookup/programs?forAccountKey=\" + accountKey);\n };\n ProgramApiService.prototype.getUnboardedPrograms = function (accountKey) {\n return this.getFor(\"/admin/lookup/account/\" + accountKey + \"/programs/unboarded?clientKey=\");\n };\n ProgramApiService.prototype.boardProgram = function (accountKey, programKey, name) {\n var data = { accountKey: accountKey, programKey: programKey, name: name };\n return this.postFor(\"/admin/lookup/account/\" + accountKey + \"/programs/board\", data);\n };\n ProgramApiService.prototype.getProgram = function (accountKey, programKey) {\n return this.getFor(\"/admin/lookup/account/\" + accountKey + \"/program/\" + programKey);\n };\n ProgramApiService.prototype.updateProgram = function (accountKey, programKey, program) {\n return this.putFor(\"/admin/lookup/account/\" + accountKey + \"/program/\" + programKey, program);\n };\n return ProgramApiService;\n}(ModerationApiService));\nexport { ProgramApiService };\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { ProgramResultsModel } from '../../../shared/models/webapi/response/ProgramResultsModel';\nimport { ModerationApiService } from './moderation-api.service';\nimport { AccountResultsModel } from '../../../shared/models/webapi/response/account-results.model';\nimport { AccountModel } from '../../../shared/models/webapi/response/account.model';\nimport { ProgramModel } from '../../../shared/models/webapi/response/ProgramModel';\n\n@Injectable()\nexport class ProgramApiService extends ModerationApiService {\n constructor(http: HttpClient) {\n super(http);\n }\n\n getAccounts(): Observable {\n return this.getFor('/admin/lookup/accounts');\n }\n\n getUnboardedAccounts(): Observable {\n return this.getFor('/admin/lookup/accounts/unboarded');\n }\n\n boardAccount(account: AccountModel) {\n return this.postFor('/admin/lookup/accounts/board', account);\n }\n\n getPrograms(accountKey?: string): Observable {\n accountKey = accountKey || '';\n return this.getFor(`/admin/lookup/programs?forAccountKey=${accountKey}`);\n }\n\n getUnboardedPrograms(accountKey: string): Observable {\n return this.getFor(`/admin/lookup/account/${accountKey}/programs/unboarded?clientKey=`);\n }\n\n boardProgram(accountKey: string, programKey: string, name: string) {\n const data: any = { accountKey, programKey, name};\n return this.postFor(`/admin/lookup/account/${accountKey}/programs/board`, data);\n }\n\n getProgram(accountKey: string, programKey: string): Observable {\n return this.getFor(`/admin/lookup/account/${accountKey}/program/${programKey}`);\n }\n\n updateProgram(accountKey: string, programKey: string, program: ProgramModel) {\n return this.putFor(`/admin/lookup/account/${accountKey}/program/${programKey}`, program);\n }\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient } from '@angular/common/http';\nimport { ModerationApiService } from './moderation-api.service';\nvar QuickActionsApiService = /** @class */ (function (_super) {\n tslib_1.__extends(QuickActionsApiService, _super);\n function QuickActionsApiService(http) {\n return _super.call(this, http) || this;\n }\n QuickActionsApiService.prototype.getRuleSets = function (programKey) {\n return this.getFor(\"/admin/actions/\" + programKey + \"/rulesets\");\n };\n QuickActionsApiService.prototype.getQuickActions = function (programKey) {\n return this.getFor(\"/admin/actions/\" + programKey);\n };\n QuickActionsApiService.prototype.getQuickAction = function (quickActionKey) {\n return this.getFor(\"/admin/actions/action/\" + quickActionKey);\n };\n QuickActionsApiService.prototype.create = function (payload) {\n return this.postFor('/admin/actions', payload);\n };\n QuickActionsApiService.prototype.update = function (quickActionKey, payload) {\n return this.putFor(\"/admin/actions/action/\" + quickActionKey, payload);\n };\n return QuickActionsApiService;\n}(ModerationApiService));\nexport { QuickActionsApiService };\n","import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { CreateEditRuleSetModel } from '../../../shared/models/webapi/request/CreateEditRuleSetModel';\nimport { RuleSetResultsModel } from '../../../shared/models/webapi/response/RuleSetResultsModel';\nimport { Constants } from './../../../constants';\nimport { ModerationApiService } from './moderation-api.service';\nimport { QuickActionResultsModel } from '../../../shared/models/webapi/response/quick-action-results.model';\nimport { QuickActionModel } from '../../../shared/models/webapi/response/quick-action.model';\n\n@Injectable()\nexport class QuickActionsApiService extends ModerationApiService {\n constructor(http: HttpClient) {\n super(http);\n }\n\n getRuleSets(programKey: string): Observable {\n return this.getFor(`/admin/actions/${programKey}/rulesets`);\n }\n\n getQuickActions(programKey: string): Observable {\n return this.getFor(`/admin/actions/${programKey}`);\n }\n\n getQuickAction(quickActionKey: string): Observable {\n return this.getFor(`/admin/actions/action/${quickActionKey}`);\n }\n\n create(payload: QuickActionModel): Observable {\n return this.postFor('/admin/actions', payload);\n }\n\n update(quickActionKey: string, payload: QuickActionModel): Observable {\n return this.putFor(`/admin/actions/action/${quickActionKey}`, payload);\n }\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\nimport { Constants } from './../../../constants';\nimport { ModerationApiService } from './moderation-api.service';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\nvar RuleSetApiService = /** @class */ (function (_super) {\n tslib_1.__extends(RuleSetApiService, _super);\n function RuleSetApiService(http) {\n return _super.call(this, http) || this;\n }\n RuleSetApiService.prototype.getRuleSetByKey = function (programKey, ruleSetKey) {\n return this.getFor('/admin/rulesets/' + programKey + '/' + ruleSetKey);\n };\n RuleSetApiService.prototype.getAllRuleSets = function () {\n return this.getWithResponseFor('/admin/rulesets');\n };\n RuleSetApiService.prototype.searchRuleSets = function (keyword) {\n return this.getWithResponseFor('/admin/rulesets/search/' + keyword);\n };\n RuleSetApiService.prototype.loadMoreRuleSets = function (token) {\n var options = {\n headers: new HttpHeaders().set(Constants.HeaderContinuationToken, token),\n observe: 'response'\n };\n return this.http.get(_super.prototype.urlFor.call(this, '/admin/rulesets/search/continuation'), options);\n };\n RuleSetApiService.prototype.isAvailableRuleSetKey = function (programKey, ruleSetKey) {\n return this.http.head(_super.prototype.urlFor.call(this, '/admin/rulesets/is-available-key/' + programKey + '/' + ruleSetKey));\n };\n RuleSetApiService.prototype.isAvailableRuleSetName = function (programKey, ruleSetName) {\n return this.http.head(_super.prototype.urlFor.call(this, '/admin/rulesets/is-available-name/' + programKey + '/' + ruleSetName));\n };\n RuleSetApiService.prototype.createRuleSet = function (payload) {\n var cleanedPayload = this.cleanCreateEditPayload(payload);\n return this.postFor('/admin/rulesets/' + cleanedPayload.programKey, cleanedPayload);\n };\n RuleSetApiService.prototype.updateRuleSet = function (payload) {\n var cleanedPayload = this.cleanCreateEditPayload(payload);\n return this.putFor('/admin/rulesets/' + cleanedPayload.programKey, cleanedPayload);\n };\n RuleSetApiService.prototype.cleanCreateEditPayload = function (payload) {\n var cleaned = cloneJson(payload);\n // Remove all the view-model fields\n // And some unneeded fields to lighten the payload\n cleaned.rules.forEach(function (rule) {\n delete rule.allProducts;\n delete rule.filteredProducts;\n delete rule.productFilter;\n delete rule.productPageNumber;\n delete rule.showSelectedProductsOnly;\n rule.products.forEach(function (product) {\n delete product.name;\n delete product.selected;\n });\n delete rule.allStores;\n delete rule.filteredStores;\n delete rule.storeFilter;\n delete rule.storePageNumber;\n delete rule.showSelectedStoresOnly;\n rule.stores.forEach(function (store) {\n delete store.aliases;\n delete store.name;\n delete store.selected;\n delete store.shouldAutoApprove;\n });\n });\n return cleaned;\n };\n return RuleSetApiService;\n}(ModerationApiService));\nexport { RuleSetApiService };\n","import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { CreateEditRuleSetModel } from '../../../shared/models/webapi/request/CreateEditRuleSetModel';\nimport { RuleSetResultsModel } from '../../../shared/models/webapi/response/RuleSetResultsModel';\nimport { Constants } from './../../../constants';\nimport { ModerationApiService } from './moderation-api.service';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\n\n@Injectable()\nexport class RuleSetApiService extends ModerationApiService {\n constructor(http: HttpClient) {\n super(http);\n }\n\n getRuleSetByKey(programKey: string, ruleSetKey: string): Observable {\n return this.getFor('/admin/rulesets/' + programKey + '/' + ruleSetKey);\n }\n\n getAllRuleSets(): Observable> {\n return this.getWithResponseFor('/admin/rulesets');\n }\n\n searchRuleSets(keyword: string): Observable> {\n return this.getWithResponseFor('/admin/rulesets/search/' + keyword);\n }\n\n loadMoreRuleSets(token: string): Observable> {\n const options: { headers: HttpHeaders; observe: 'response' } = {\n headers: new HttpHeaders().set(Constants.HeaderContinuationToken, token),\n observe: 'response'\n };\n return this.http.get(super.urlFor('/admin/rulesets/search/continuation'), options);\n }\n\n isAvailableRuleSetKey(programKey: string, ruleSetKey: string) {\n return this.http.head(super.urlFor('/admin/rulesets/is-available-key/' + programKey + '/' + ruleSetKey));\n }\n isAvailableRuleSetName(programKey: string, ruleSetName: string) {\n return this.http.head(super.urlFor('/admin/rulesets/is-available-name/' + programKey + '/' + ruleSetName));\n }\n\n createRuleSet(payload: CreateEditRuleSetModel): Observable {\n const cleanedPayload = this.cleanCreateEditPayload(payload);\n return this.postFor('/admin/rulesets/' + cleanedPayload.programKey, cleanedPayload);\n }\n\n updateRuleSet(payload: CreateEditRuleSetModel): Observable {\n const cleanedPayload = this.cleanCreateEditPayload(payload);\n return this.putFor('/admin/rulesets/' + cleanedPayload.programKey, cleanedPayload);\n }\n\n private cleanCreateEditPayload(payload: CreateEditRuleSetModel): CreateEditRuleSetModel {\n const cleaned: CreateEditRuleSetModel = cloneJson(payload);\n\n // Remove all the view-model fields\n // And some unneeded fields to lighten the payload\n cleaned.rules.forEach(rule => {\n delete rule.allProducts;\n delete rule.filteredProducts;\n delete rule.productFilter;\n delete rule.productPageNumber;\n delete rule.showSelectedProductsOnly;\n rule.products.forEach(product => {\n delete product.name;\n delete product.selected;\n });\n\n delete rule.allStores;\n delete rule.filteredStores;\n delete rule.storeFilter;\n delete rule.storePageNumber;\n delete rule.showSelectedStoresOnly;\n rule.stores.forEach(store => {\n delete store.aliases;\n delete store.name;\n delete store.selected;\n delete store.shouldAutoApprove;\n });\n });\n\n return cleaned;\n }\n}\n","import * as tslib_1 from \"tslib\";\nimport { HttpClient } from '@angular/common/http';\nimport { ModerationApiService } from './moderation-api.service';\nvar StoreApiService = /** @class */ (function (_super) {\n tslib_1.__extends(StoreApiService, _super);\n function StoreApiService(http) {\n return _super.call(this, http) || this;\n }\n StoreApiService.prototype.getStores = function () {\n return this.getFor('/admin/lookup/stores');\n };\n StoreApiService.prototype.searchStores = function (keyword, continuationToken, culture) {\n var params = {\n keyword: keyword,\n continuation: continuationToken,\n culture: culture\n };\n return this.getWithParamsFor('/store/search', params);\n };\n StoreApiService.prototype.getStoresForProgram = function (programKey) {\n return this.getFor('/admin/stores/' + programKey);\n };\n StoreApiService.prototype.createAliasesForStore = function (store, newAliases) {\n var payload = { names: newAliases };\n return this.postFor(\"/admin/stores/global/\" + store.storeKey + \"/aliases\", payload);\n };\n StoreApiService.prototype.createGlobalStores = function (newRetailers) {\n var payload = { names: newRetailers };\n return this.postFor(\"/admin/stores/global\", payload);\n };\n StoreApiService.prototype.createStore = function (payload, programKey) {\n return this.postFor('/admin/stores/' + programKey, payload);\n };\n StoreApiService.prototype.updateStore = function (payload, programKey) {\n return this.putFor('/admin/stores/' + programKey, payload);\n };\n StoreApiService.prototype.deleteStore = function (payload, programKey) {\n return this.deleteFor('/admin/stores/' + programKey + '/' + payload.storeKey);\n };\n StoreApiService.prototype.deleteAliasForStore = function (store, alias) {\n return this.deleteFor(\"/admin/stores/global/\" + store.storeKey + \"/aliases/\" + alias.name);\n };\n StoreApiService.prototype.setStoreAutoApprove = function (programKey, storeKey, autoApprove) {\n return this.postFor(\"/admin/stores/\" + programKey + \"/\" + storeKey + \"/autoapprove/\" + autoApprove, null);\n };\n return StoreApiService;\n}(ModerationApiService));\nexport { StoreApiService };\n","import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { StoreResultsModel } from '../../../shared/models/webapi/response/StoreResultsModel';\nimport { CreateEditStoreModel } from '../../../shared/models/webapi/request/CreateEditStoreModel';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { Injectable } from '@angular/core';\nimport { ModerationApiService } from './moderation-api.service';\nimport { StoreModel } from '../../../shared/models/webapi/response/StoreModel';\nimport { StoreAliasModel } from '../../../shared/models/webapi/response/store-alias.model';\n\n@Injectable()\nexport class StoreApiService extends ModerationApiService {\n constructor(http: HttpClient) {\n super(http);\n }\n\n getStores(): Observable {\n return this.getFor('/admin/lookup/stores');\n }\n\n searchStores(keyword: string, continuationToken: string, culture: string) {\n const params = {\n keyword: keyword,\n continuation: continuationToken,\n culture: culture\n };\n return this.getWithParamsFor('/store/search', params);\n }\n\n public getStoresForProgram(programKey): Observable {\n return this.getFor('/admin/stores/' + programKey);\n }\n\n createAliasesForStore(store: StoreModel, newAliases: string[]): Observable {\n const payload = { names: newAliases };\n return this.postFor(`/admin/stores/global/${store.storeKey}/aliases`, payload);\n }\n\n createGlobalStores(newRetailers: string[]): Observable {\n const payload = { names: newRetailers };\n return this.postFor(`/admin/stores/global`, payload);\n }\n\n createStore(payload: CreateEditStoreModel, programKey): Observable {\n return this.postFor('/admin/stores/' + programKey, payload);\n }\n\n updateStore(payload: StoreModel, programKey): Observable {\n return this.putFor('/admin/stores/' + programKey, payload);\n }\n\n deleteStore(payload: StoreModel, programKey): Observable {\n return this.deleteFor('/admin/stores/' + programKey + '/' + payload.storeKey);\n }\n\n deleteAliasForStore(store: StoreModel, alias: StoreAliasModel): Observable {\n return this.deleteFor(`/admin/stores/global/${store.storeKey}/aliases/${alias.name}`);\n }\n\n\n public setStoreAutoApprove(programKey: string, storeKey: string, autoApprove: boolean): Observable {\n return this.postFor(`/admin/stores/${programKey}/${storeKey}/autoapprove/${autoApprove}`, null);\n }\n}\n","import { CrossAccountResolver } from './pages/cross-account/cross-account-resolver.service';\nimport { LogonComponent } from './pages/logon/logon.component';\nimport { CrossAccountComponent } from './pages/cross-account/cross-account.component';\nimport { SessionExpiredComponent } from './pages/session-expired/session-expired.component';\nimport { Routes, RouterModule, Router, Route, CanActivate } from '@angular/router';\nimport { NgModule, Type } from '@angular/core';\nimport { AuthGuard } from './services/auth-guard.service';\nimport { CrossAccountGuard } from './services/cross-account-guard.service';\nimport { SigninOidcComponent } from './pages/signin-oidc/signin-oidc.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { PageNotFoundComponent } from './pages/page-not-found/page-not-found.component';\nimport { UnauthorizedComponent } from './pages/unauthorized/unauthorized.component';\nimport { isArray } from 'util';\nimport { CrossAccountService } from './pages/cross-account/cross-account.service';\n\n// Global routes\nconst appRoutes: Routes = [\n // Children modules\n { path: '', redirectTo: '/home', pathMatch: 'full' },\n { path: 'rulesets', loadChildren: 'app/ruleset/ruleset.module#RuleSetModule' },\n { path: 'products', loadChildren: 'app/product/product.module#ProductModule' },\n { path: 'boarding', loadChildren: 'app/boarding/boarding.module#BoardingModule' },\n { path: 'actions', loadChildren: 'app/quick-actions/quick-actions.module#QuickActionsModule' },\n { path: 'stores', loadChildren: 'app/store/store.module#StoreModule' },\n { path: 'categories', loadChildren: 'app/category/category.module#CategoryModule' },\n\n {\n path: '.cross-account',\n component: CrossAccountComponent,\n resolve: { crossAccount: CrossAccountResolver },\n data: { skipCanActivateGuards: [CrossAccountGuard] }\n },\n // Non-authorized pages\n { path: 'home', component: HomeComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } },\n { path: 'logon', component: LogonComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } },\n { path: 'signin-oidc', component: SigninOidcComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } },\n { path: 'unauthorized', component: UnauthorizedComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } },\n { path: 'session-expired', component: SessionExpiredComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } },\n { path: '**', component: PageNotFoundComponent, data: { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] } }\n];\n\n// Global CanActivate Guards\nconst canActivateGuards: Type[] = [\n CrossAccountGuard,\n AuthGuard,\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(appRoutes)\n ],\n exports: [\n RouterModule\n ],\n providers: [\n AuthGuard,\n CrossAccountGuard,\n CrossAccountResolver,\n CrossAccountService\n ]\n})\nexport class CoreRoutingModule {\n constructor(router: Router) {\n // Add the AuthGuard to all paths except those that explicitly skip\n router.config.forEach((route: Route) => {\n for (const canActivateGuard of canActivateGuards) {\n if (route.data && route.data.skipCanActivateGuards && isArray(route.data.skipCanActivateGuards)) {\n if (route.data.skipCanActivateGuards.indexOf(canActivateGuard) > -1) {\n continue;\n }\n }\n this.addCanActivateGuard(route, canActivateGuard);\n }\n\n });\n }\n\n /**\n * Adds a CanActivate guard to the specified route.\n * @param route The route to add the guard to.\n * @param guardType The Type of the guard to add to the array of CanActivate guards\n */\n private addCanActivateGuard(route: Route, guardType: Type): void {\n if (guardType != null ) {\n route.canActivate = route.canActivate === undefined ? [guardType] : [guardType].concat(route.canActivate);\n route.canActivateChild = route.canActivateChild === undefined ? [guardType] : [guardType].concat(route.canActivateChild);\n }\n }\n }\n","import { CrossAccountResolver } from './pages/cross-account/cross-account-resolver.service';\nimport { LogonComponent } from './pages/logon/logon.component';\nimport { CrossAccountComponent } from './pages/cross-account/cross-account.component';\nimport { SessionExpiredComponent } from './pages/session-expired/session-expired.component';\nimport { Routes, Router, Route, CanActivate } from '@angular/router';\nimport { Type } from '@angular/core';\nimport { AuthGuard } from './services/auth-guard.service';\nimport { CrossAccountGuard } from './services/cross-account-guard.service';\nimport { SigninOidcComponent } from './pages/signin-oidc/signin-oidc.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { PageNotFoundComponent } from './pages/page-not-found/page-not-found.component';\nimport { UnauthorizedComponent } from './pages/unauthorized/unauthorized.component';\nimport { isArray } from 'util';\nvar ɵ0 = { skipCanActivateGuards: [CrossAccountGuard] }, ɵ1 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] }, ɵ2 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] }, ɵ3 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] }, ɵ4 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] }, ɵ5 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] }, ɵ6 = { skipCanActivateGuards: [AuthGuard, CrossAccountGuard] };\n// Global routes\nvar appRoutes = [\n // Children modules\n { path: '', redirectTo: '/home', pathMatch: 'full' },\n { path: 'rulesets', loadChildren: 'app/ruleset/ruleset.module#RuleSetModule' },\n { path: 'products', loadChildren: 'app/product/product.module#ProductModule' },\n { path: 'boarding', loadChildren: 'app/boarding/boarding.module#BoardingModule' },\n { path: 'actions', loadChildren: 'app/quick-actions/quick-actions.module#QuickActionsModule' },\n { path: 'stores', loadChildren: 'app/store/store.module#StoreModule' },\n { path: 'categories', loadChildren: 'app/category/category.module#CategoryModule' },\n {\n path: '.cross-account',\n component: CrossAccountComponent,\n resolve: { crossAccount: CrossAccountResolver },\n data: ɵ0\n },\n // Non-authorized pages\n { path: 'home', component: HomeComponent, data: ɵ1 },\n { path: 'logon', component: LogonComponent, data: ɵ2 },\n { path: 'signin-oidc', component: SigninOidcComponent, data: ɵ3 },\n { path: 'unauthorized', component: UnauthorizedComponent, data: ɵ4 },\n { path: 'session-expired', component: SessionExpiredComponent, data: ɵ5 },\n { path: '**', component: PageNotFoundComponent, data: ɵ6 }\n];\n// Global CanActivate Guards\nvar canActivateGuards = [\n CrossAccountGuard,\n AuthGuard,\n];\nvar CoreRoutingModule = /** @class */ (function () {\n function CoreRoutingModule(router) {\n var _this = this;\n // Add the AuthGuard to all paths except those that explicitly skip\n router.config.forEach(function (route) {\n for (var _i = 0, canActivateGuards_1 = canActivateGuards; _i < canActivateGuards_1.length; _i++) {\n var canActivateGuard = canActivateGuards_1[_i];\n if (route.data && route.data.skipCanActivateGuards && isArray(route.data.skipCanActivateGuards)) {\n if (route.data.skipCanActivateGuards.indexOf(canActivateGuard) > -1) {\n continue;\n }\n }\n _this.addCanActivateGuard(route, canActivateGuard);\n }\n });\n }\n /**\n * Adds a CanActivate guard to the specified route.\n * @param route The route to add the guard to.\n * @param guardType The Type of the guard to add to the array of CanActivate guards\n */\n CoreRoutingModule.prototype.addCanActivateGuard = function (route, guardType) {\n if (guardType != null) {\n route.canActivate = route.canActivate === undefined ? [guardType] : [guardType].concat(route.canActivate);\n route.canActivateChild = route.canActivateChild === undefined ? [guardType] : [guardType].concat(route.canActivateChild);\n }\n };\n return CoreRoutingModule;\n}());\nexport { CoreRoutingModule };\nexport { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6 };\n","import { environment } from '../../environments/environment';\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ProgramKeyInterceptor } from './interceptors/program-key.interceptor';\nimport { AccountKeyInterceptor } from './interceptors/account-key.interceptor';\nimport { CommonModule } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport {\n AuthModule,\n OidcSecurityService,\n OpenIdConfiguration,\n OidcConfigService,\n ConfigResult\n} from 'angular-auth-oidc-client';\nimport { TopNavComponent } from './nav/top-nav/top-nav.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { SessionExpiredComponent } from './pages/session-expired/session-expired.component';\nimport { CrossAccountComponent } from './pages/cross-account/cross-account.component';\nimport { LogonComponent } from './pages/logon/logon.component';\nimport { SigninOidcComponent } from './pages/signin-oidc/signin-oidc.component';\nimport { PageNotFoundComponent } from './pages/page-not-found/page-not-found.component';\nimport { UnauthorizedComponent } from './pages/unauthorized/unauthorized.component';\nimport { ProgramApiService } from './apis/moderation-api/program-api.service';\nimport { ProductApiService } from './apis/moderation-api/product-api.service';\nimport { RuleSetApiService } from './apis/moderation-api/ruleset-api.service';\nimport { CategoryApiService } from './apis/moderation-api/category-api.service';\nimport { StoreApiService } from './apis/moderation-api/store-api.service';\nimport { AuthInterceptor } from './interceptors/auth.interceptor';\nimport { CoreRoutingModule } from './core-routing.module';\nimport { RouterModule, Router } from '@angular/router';\nimport { RuleSetModule } from '../ruleset/ruleset.module';\nimport { StoreModule } from '../store/store.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { FormsModule } from '@angular/forms';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CategoryModule } from '../category/category.module';\nimport { ModerationApiService } from './apis/moderation-api/moderation-api.service';\nimport { QuickActionsApiService } from './apis/moderation-api/quick-actions-api.service';\n\nexport const httpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: AccountKeyInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ProgramKeyInterceptor, multi: true },\n];\n\nexport const apiServices = [\n ProgramApiService,\n ProductApiService,\n StoreApiService,\n RuleSetApiService,\n QuickActionsApiService,\n CategoryApiService,\n ModerationApiService,\n StoreApiService\n];\n\nexport function loadConfig(oidcConfigService: OidcConfigService) {\n return () => oidcConfigService.load_using_stsServer(environment.oidc.server);\n}\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n TooltipModule.forRoot(),\n CollapseModule.forRoot(),\n AccordionModule.forRoot(),\n AlertModule.forRoot(),\n TabsModule.forRoot(),\n ModalModule.forRoot(),\n HttpClientModule,\n AuthModule.forRoot(),\n SharedModule,\n RuleSetModule,\n StoreModule,\n CommonModule,\n CoreRoutingModule,\n CategoryModule,\n ],\n declarations: [\n TopNavComponent,\n SessionExpiredComponent,\n CrossAccountComponent,\n LogonComponent,\n SigninOidcComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n HomeComponent,\n ],\n exports: [\n RouterModule,\n TopNavComponent,\n FormsModule\n ]\n})\nexport class CoreModule {\n constructor(public oidcSecurityService: OidcSecurityService, public oidcConfigService: OidcConfigService, router: Router) {\n this.oidcConfigService.onConfigurationLoaded.subscribe((configResult: ConfigResult) => {\n const openIDImplicitFlowConfiguration: OpenIdConfiguration = {};\n openIDImplicitFlowConfiguration.stsServer = environment.oidc.server;\n openIDImplicitFlowConfiguration.redirect_url = environment.oidc.redirectUrl;\n openIDImplicitFlowConfiguration.client_id = environment.oidc.clientId;\n openIDImplicitFlowConfiguration.response_type = 'id_token token';\n openIDImplicitFlowConfiguration.scope = environment.oidc.scopes;\n openIDImplicitFlowConfiguration.post_logout_redirect_uri = environment.oidc.logoutRedirectUrl;\n openIDImplicitFlowConfiguration.start_checksession = false;\n openIDImplicitFlowConfiguration.silent_renew = true;\n openIDImplicitFlowConfiguration.silent_renew_offset_in_seconds = 0;\n openIDImplicitFlowConfiguration.post_login_route = '/home';\n openIDImplicitFlowConfiguration.trigger_authorization_result_event = true; // don't redirect to post_login_route\n openIDImplicitFlowConfiguration.forbidden_route = '/forbidden';\n openIDImplicitFlowConfiguration.unauthorized_route = '/unauthorized';\n openIDImplicitFlowConfiguration.auto_userinfo = true;\n openIDImplicitFlowConfiguration.log_console_warning_active = true;\n openIDImplicitFlowConfiguration.log_console_debug_active = false;\n openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds = 999999999;\n // Comment out this storage override to use default Session Storage, which is tab specific\n openIDImplicitFlowConfiguration.storage = localStorage;\n\n // const authWellKnownEndpoints = new AuthWellKnownEndpoints();\n // authWellKnownEndpoints.setWellKnownEndpoints(this.oidcConfigService.wellKnownEndpoints);\n\n // Force HTTPS on all endpoints regardless of what the STS server returns. This is to help prevent blocked:mixed-content errors.\n // console.log(configResult);\n let r = JSON.stringify(configResult);\n r = r.replace(/http:/gi, 'https:');\n configResult = JSON.parse(r);\n // console.log(configResult);\n\n // this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, authWellKnownEndpoints);\n this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, configResult.authWellknownEndpoints);\n });\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n apiServices,\n httpInterceptorProviders,\n CookieService,\n OidcConfigService,\n {\n provide: APP_INITIALIZER,\n useFactory: loadConfig,\n deps: [OidcConfigService],\n multi: true\n },\n ]\n };\n }\n}\n","import { environment } from '../../environments/environment';\nimport { ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ProgramKeyInterceptor } from './interceptors/program-key.interceptor';\nimport { AccountKeyInterceptor } from './interceptors/account-key.interceptor';\nimport { CookieService } from 'ngx-cookie-service';\nimport { OidcSecurityService, OpenIdConfiguration, OidcConfigService, ConfigResult } from 'angular-auth-oidc-client';\nimport { ProgramApiService } from './apis/moderation-api/program-api.service';\nimport { ProductApiService } from './apis/moderation-api/product-api.service';\nimport { RuleSetApiService } from './apis/moderation-api/ruleset-api.service';\nimport { CategoryApiService } from './apis/moderation-api/category-api.service';\nimport { StoreApiService } from './apis/moderation-api/store-api.service';\nimport { AuthInterceptor } from './interceptors/auth.interceptor';\nimport { Router } from '@angular/router';\nimport { ModerationApiService } from './apis/moderation-api/moderation-api.service';\nimport { QuickActionsApiService } from './apis/moderation-api/quick-actions-api.service';\nexport var httpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: AccountKeyInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ProgramKeyInterceptor, multi: true },\n];\nexport var apiServices = [\n ProgramApiService,\n ProductApiService,\n StoreApiService,\n RuleSetApiService,\n QuickActionsApiService,\n CategoryApiService,\n ModerationApiService,\n StoreApiService\n];\nexport function loadConfig(oidcConfigService) {\n return function () { return oidcConfigService.load_using_stsServer(environment.oidc.server); };\n}\nvar CoreModule = /** @class */ (function () {\n function CoreModule(oidcSecurityService, oidcConfigService, router) {\n var _this = this;\n this.oidcSecurityService = oidcSecurityService;\n this.oidcConfigService = oidcConfigService;\n this.oidcConfigService.onConfigurationLoaded.subscribe(function (configResult) {\n var openIDImplicitFlowConfiguration = {};\n openIDImplicitFlowConfiguration.stsServer = environment.oidc.server;\n openIDImplicitFlowConfiguration.redirect_url = environment.oidc.redirectUrl;\n openIDImplicitFlowConfiguration.client_id = environment.oidc.clientId;\n openIDImplicitFlowConfiguration.response_type = 'id_token token';\n openIDImplicitFlowConfiguration.scope = environment.oidc.scopes;\n openIDImplicitFlowConfiguration.post_logout_redirect_uri = environment.oidc.logoutRedirectUrl;\n openIDImplicitFlowConfiguration.start_checksession = false;\n openIDImplicitFlowConfiguration.silent_renew = true;\n openIDImplicitFlowConfiguration.silent_renew_offset_in_seconds = 0;\n openIDImplicitFlowConfiguration.post_login_route = '/home';\n openIDImplicitFlowConfiguration.trigger_authorization_result_event = true; // don't redirect to post_login_route\n openIDImplicitFlowConfiguration.forbidden_route = '/forbidden';\n openIDImplicitFlowConfiguration.unauthorized_route = '/unauthorized';\n openIDImplicitFlowConfiguration.auto_userinfo = true;\n openIDImplicitFlowConfiguration.log_console_warning_active = true;\n openIDImplicitFlowConfiguration.log_console_debug_active = false;\n openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds = 999999999;\n // Comment out this storage override to use default Session Storage, which is tab specific\n openIDImplicitFlowConfiguration.storage = localStorage;\n // const authWellKnownEndpoints = new AuthWellKnownEndpoints();\n // authWellKnownEndpoints.setWellKnownEndpoints(this.oidcConfigService.wellKnownEndpoints);\n // Force HTTPS on all endpoints regardless of what the STS server returns. This is to help prevent blocked:mixed-content errors.\n // console.log(configResult);\n var r = JSON.stringify(configResult);\n r = r.replace(/http:/gi, 'https:');\n configResult = JSON.parse(r);\n // console.log(configResult);\n // this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, authWellKnownEndpoints);\n _this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, configResult.authWellknownEndpoints);\n });\n }\n CoreModule.forRoot = function () {\n return {\n ngModule: CoreModule,\n providers: [\n apiServices,\n httpInterceptorProviders,\n CookieService,\n OidcConfigService,\n {\n provide: APP_INITIALIZER,\n useFactory: loadConfig,\n deps: [OidcConfigService],\n multi: true\n },\n ]\n };\n };\n return CoreModule;\n}());\nexport { CoreModule };\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Observable } from 'rxjs';\n\nimport { Constants } from '../../constants';\n\n@Injectable()\nexport class AccountKeyInterceptor implements HttpInterceptor {\n\n constructor(\n private cookieService: CookieService\n ) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n let requestToForward = req;\n\n const headers = {};\n if (this.cookieService.check(Constants.HeaderAdminAccountKey)) {\n headers[Constants.HeaderAdminAccountKey] = this.cookieService.get(Constants.HeaderAdminAccountKey);\n console.debug(`AccountKeyInterceptor added header: ${Constants.HeaderAdminAccountKey} (${headers[Constants.HeaderAdminAccountKey]})`);\n requestToForward = req.clone({ setHeaders: headers });\n }\n\n return next.handle(requestToForward);\n }\n}\n","import { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../constants';\nvar AccountKeyInterceptor = /** @class */ (function () {\n function AccountKeyInterceptor(cookieService) {\n this.cookieService = cookieService;\n }\n AccountKeyInterceptor.prototype.intercept = function (req, next) {\n var requestToForward = req;\n var headers = {};\n if (this.cookieService.check(Constants.HeaderAdminAccountKey)) {\n headers[Constants.HeaderAdminAccountKey] = this.cookieService.get(Constants.HeaderAdminAccountKey);\n console.debug(\"AccountKeyInterceptor added header: \" + Constants.HeaderAdminAccountKey + \" (\" + headers[Constants.HeaderAdminAccountKey] + \")\");\n requestToForward = req.clone({ setHeaders: headers });\n }\n return next.handle(requestToForward);\n };\n return AccountKeyInterceptor;\n}());\nexport { AccountKeyInterceptor };\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport * as HttpStatus from 'http-status-codes';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n private oidcSecurityService: OidcSecurityService;\n\n constructor(\n private injector: Injector,\n private router: Router,\n private cookieService: CookieService\n ) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n let requestToForward = req;\n\n if (this.oidcSecurityService === undefined) {\n this.oidcSecurityService = this.injector.get(OidcSecurityService);\n }\n\n if (this.oidcSecurityService !== undefined) {\n const token = this.oidcSecurityService.getToken();\n if (token !== '') {\n const tokenValue = 'Bearer ' + token;\n\n const headers = { 'Authorization': tokenValue };\n requestToForward = req.clone({ setHeaders: headers });\n }\n } else {\n console.debug('OidcSecurityService undefined: NO auth header!');\n }\n\n return next.handle(requestToForward)\n .pipe(\n tap(\n () => {}, // Do nothing on success\n error => {\n if (error instanceof HttpErrorResponse && error.status === HttpStatus.UNAUTHORIZED) {\n console.debug('Response UNAUTHORIZED, redirecting to session expired page.');\n this.router.navigateByUrl('/sessionexpired');\n }\n }\n )\n );\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport * as HttpStatus from 'http-status-codes';\nimport { CookieService } from 'ngx-cookie-service';\nimport { tap } from 'rxjs/operators';\nvar AuthInterceptor = /** @class */ (function () {\n function AuthInterceptor(injector, router, cookieService) {\n this.injector = injector;\n this.router = router;\n this.cookieService = cookieService;\n }\n AuthInterceptor.prototype.intercept = function (req, next) {\n var _this = this;\n var requestToForward = req;\n if (this.oidcSecurityService === undefined) {\n this.oidcSecurityService = this.injector.get(OidcSecurityService);\n }\n if (this.oidcSecurityService !== undefined) {\n var token = this.oidcSecurityService.getToken();\n if (token !== '') {\n var tokenValue = 'Bearer ' + token;\n var headers = { 'Authorization': tokenValue };\n requestToForward = req.clone({ setHeaders: headers });\n }\n }\n else {\n console.debug('OidcSecurityService undefined: NO auth header!');\n }\n return next.handle(requestToForward)\n .pipe(tap(function () { }, // Do nothing on success\n function (// Do nothing on success\n error) {\n if (error instanceof HttpErrorResponse && error.status === HttpStatus.UNAUTHORIZED) {\n console.debug('Response UNAUTHORIZED, redirecting to session expired page.');\n _this.router.navigateByUrl('/sessionexpired');\n }\n }));\n };\n return AuthInterceptor;\n}());\nexport { AuthInterceptor };\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Observable } from 'rxjs';\n\nimport { Constants } from '../../constants';\n\n@Injectable()\nexport class ProgramKeyInterceptor implements HttpInterceptor {\n\n constructor(\n private cookieService: CookieService\n ) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n let requestToForward = req;\n\n const headers = {};\n if (this.cookieService.check(Constants.HeaderProgramKey)) {\n headers[Constants.HeaderProgramKey] = this.cookieService.get(Constants.HeaderProgramKey);\n console.debug(`ProgramKeyInterceptor added header: ${Constants.HeaderProgramKey} (${headers[Constants.HeaderProgramKey]})`);\n requestToForward = req.clone({ setHeaders: headers });\n }\n\n return next.handle(requestToForward);\n }\n}\n","import { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../constants';\nvar ProgramKeyInterceptor = /** @class */ (function () {\n function ProgramKeyInterceptor(cookieService) {\n this.cookieService = cookieService;\n }\n ProgramKeyInterceptor.prototype.intercept = function (req, next) {\n var requestToForward = req;\n var headers = {};\n if (this.cookieService.check(Constants.HeaderProgramKey)) {\n headers[Constants.HeaderProgramKey] = this.cookieService.get(Constants.HeaderProgramKey);\n console.debug(\"ProgramKeyInterceptor added header: \" + Constants.HeaderProgramKey + \" (\" + headers[Constants.HeaderProgramKey] + \")\");\n requestToForward = req.clone({ setHeaders: headers });\n }\n return next.handle(requestToForward);\n };\n return ProgramKeyInterceptor;\n}());\nexport { ProgramKeyInterceptor };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./top-nav.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"ngx-bootstrap/collapse\";\nimport * as i5 from \"./top-nav.component\";\nimport * as i6 from \"angular-auth-oidc-client\";\nimport * as i7 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i8 from \"../../pages/cross-account/cross-account.service\";\nimport * as i9 from \"../../apis/moderation-api/moderation-api.service\";\nvar styles_TopNavComponent = [i0.styles];\nvar RenderType_TopNavComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_TopNavComponent, data: {} });\nexport { RenderType_TopNavComponent as RenderType_TopNavComponent };\nfunction View_TopNavComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 58, \"ul\", [[\"class\", \"navbar-nav mr-auto\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"li\", [[\"class\", \"nav-item\"], [\"routerLinkActive\", \"active\"]], null, null, null, null, null)), i1.ɵdid(2, 1720320, null, 2, i2.RouterLinkActive, [i2.Router, i1.ElementRef, i1.Renderer2, i1.ChangeDetectorRef], { routerLinkActive: [0, \"routerLinkActive\"] }, null), i1.ɵqud(603979776, 1, { links: 1 }), i1.ɵqud(603979776, 2, { linksWithHrefs: 1 }), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"a\", [[\"class\", \"nav-link link\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 671744, [[2, 4]], 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(7, 1), (_l()(), i1.ɵeld(8, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-cogs\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Rules\"])), (_l()(), i1.ɵeld(10, 0, null, null, 8, \"li\", [[\"class\", \"nav-item\"], [\"routerLinkActive\", \"active\"]], null, null, null, null, null)), i1.ɵdid(11, 1720320, null, 2, i2.RouterLinkActive, [i2.Router, i1.ElementRef, i1.Renderer2, i1.ChangeDetectorRef], { routerLinkActive: [0, \"routerLinkActive\"] }, null), i1.ɵqud(603979776, 3, { links: 1 }), i1.ɵqud(603979776, 4, { linksWithHrefs: 1 }), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"a\", [[\"class\", \"nav-link link\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 15).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(15, 671744, [[4, 4]], 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(16, 1), (_l()(), i1.ɵeld(17, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-fighter-jet\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Quick Actions\"])), (_l()(), i1.ɵeld(19, 0, null, null, 8, \"li\", [[\"class\", \"nav-item\"], [\"routerLinkActive\", \"active\"]], null, null, null, null, null)), i1.ɵdid(20, 1720320, null, 2, i2.RouterLinkActive, [i2.Router, i1.ElementRef, i1.Renderer2, i1.ChangeDetectorRef], { routerLinkActive: [0, \"routerLinkActive\"] }, null), i1.ɵqud(603979776, 5, { links: 1 }), i1.ɵqud(603979776, 6, { linksWithHrefs: 1 }), (_l()(), i1.ɵeld(23, 0, null, null, 4, \"a\", [[\"class\", \"nav-link link\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 24).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(24, 671744, [[6, 4]], 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(25, 1), (_l()(), i1.ɵeld(26, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-shopping-basket\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Products\"])), (_l()(), i1.ɵeld(28, 0, null, null, 9, \"li\", [[\"class\", \"nav-item\"], [\"routerLinkActive\", \"active\"]], null, null, null, null, null)), i1.ɵdid(29, 1720320, null, 2, i2.RouterLinkActive, [i2.Router, i1.ElementRef, i1.Renderer2, i1.ChangeDetectorRef], { routerLinkActiveOptions: [0, \"routerLinkActiveOptions\"], routerLinkActive: [1, \"routerLinkActive\"] }, null), i1.ɵqud(603979776, 7, { links: 1 }), i1.ɵqud(603979776, 8, { linksWithHrefs: 1 }), i1.ɵpod(32, { exact: 0 }), (_l()(), i1.ɵeld(33, 0, null, null, 4, \"a\", [[\"class\", \"nav-link link\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 34).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(34, 671744, [[8, 4]], 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(35, 1), (_l()(), i1.ɵeld(36, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-building\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Retailers\"])), (_l()(), i1.ɵeld(38, 0, null, null, 5, \"li\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(39, 0, null, null, 4, \"a\", [[\"class\", \"nav-link link\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 40).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(40, 671744, null, 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(41, 1), (_l()(), i1.ɵeld(42, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-cubes\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Categories\"])), (_l()(), i1.ɵeld(44, 0, null, null, 14, \"li\", [[\"class\", \"nav-item dropdown\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(45, 0, null, null, 1, \"a\", [[\"aria-expanded\", \"false\"], [\"aria-haspopup\", \"true\"], [\"class\", \"nav-link dropdown-toggle\"], [\"data-toggle\", \"dropdown\"], [\"id\", \"globalsDropdown\"], [\"role\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.isGlobalsSelectorCollapsed = !_co.isGlobalsSelectorCollapsed) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Universal Settings\"])), (_l()(), i1.ɵeld(47, 0, null, null, 11, \"div\", [[\"aria-labelledby\", \"globalsDropdown\"], [\"class\", \"dropdown-menu\"]], [[2, \"collapse\", null], [4, \"display\", null], [2, \"in\", null], [2, \"show\", null], [1, \"aria-expanded\", 0], [1, \"aria-hidden\", 0], [2, \"collapsing\", null]], null, null, null, null)), i1.ɵdid(48, 16384, null, 0, i4.CollapseDirective, [i1.ElementRef, i1.Renderer2], { collapse: [0, \"collapse\"] }, null), (_l()(), i1.ɵeld(49, 0, null, null, 4, \"a\", [[\"class\", \"dropdown-item\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 50).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } if ((\"click\" === en)) {\n var pd_1 = ((_co.isGlobalsSelectorCollapsed = true) !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(50, 671744, null, 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(51, 1), (_l()(), i1.ɵeld(52, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-bank\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Accounts & Programs\"])), (_l()(), i1.ɵeld(54, 0, null, null, 4, \"a\", [[\"class\", \"dropdown-item\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 55).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } if ((\"click\" === en)) {\n var pd_1 = ((_co.isGlobalsSelectorCollapsed = true) !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(55, 671744, null, 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(56, 1), (_l()(), i1.ɵeld(57, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-building\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Retailers\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"active\"; _ck(_v, 2, 0, currVal_0); var currVal_3 = _ck(_v, 7, 0, \"/rulesets\"); _ck(_v, 6, 0, currVal_3); var currVal_4 = \"active\"; _ck(_v, 11, 0, currVal_4); var currVal_7 = _ck(_v, 16, 0, \"/actions\"); _ck(_v, 15, 0, currVal_7); var currVal_8 = \"active\"; _ck(_v, 20, 0, currVal_8); var currVal_11 = _ck(_v, 25, 0, \"/products\"); _ck(_v, 24, 0, currVal_11); var currVal_12 = _ck(_v, 32, 0, true); var currVal_13 = \"active\"; _ck(_v, 29, 0, currVal_12, currVal_13); var currVal_16 = _ck(_v, 35, 0, \"/stores\"); _ck(_v, 34, 0, currVal_16); var currVal_19 = _ck(_v, 41, 0, \"/categories\"); _ck(_v, 40, 0, currVal_19); var currVal_27 = _co.isGlobalsSelectorCollapsed; _ck(_v, 48, 0, currVal_27); var currVal_30 = _ck(_v, 51, 0, \"/boarding\"); _ck(_v, 50, 0, currVal_30); var currVal_33 = _ck(_v, 56, 0, \"/stores/globals\"); _ck(_v, 55, 0, currVal_33); }, function (_ck, _v) { var currVal_1 = i1.ɵnov(_v, 6).target; var currVal_2 = i1.ɵnov(_v, 6).href; _ck(_v, 5, 0, currVal_1, currVal_2); var currVal_5 = i1.ɵnov(_v, 15).target; var currVal_6 = i1.ɵnov(_v, 15).href; _ck(_v, 14, 0, currVal_5, currVal_6); var currVal_9 = i1.ɵnov(_v, 24).target; var currVal_10 = i1.ɵnov(_v, 24).href; _ck(_v, 23, 0, currVal_9, currVal_10); var currVal_14 = i1.ɵnov(_v, 34).target; var currVal_15 = i1.ɵnov(_v, 34).href; _ck(_v, 33, 0, currVal_14, currVal_15); var currVal_17 = i1.ɵnov(_v, 40).target; var currVal_18 = i1.ɵnov(_v, 40).href; _ck(_v, 39, 0, currVal_17, currVal_18); var currVal_20 = i1.ɵnov(_v, 48).isCollapse; var currVal_21 = i1.ɵnov(_v, 48).display; var currVal_22 = i1.ɵnov(_v, 48).isExpanded; var currVal_23 = i1.ɵnov(_v, 48).isExpanded; var currVal_24 = i1.ɵnov(_v, 48).isExpanded; var currVal_25 = i1.ɵnov(_v, 48).isCollapsed; var currVal_26 = i1.ɵnov(_v, 48).isCollapsing; _ck(_v, 47, 0, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24, currVal_25, currVal_26); var currVal_28 = i1.ɵnov(_v, 50).target; var currVal_29 = i1.ɵnov(_v, 50).href; _ck(_v, 49, 0, currVal_28, currVal_29); var currVal_31 = i1.ɵnov(_v, 55).target; var currVal_32 = i1.ɵnov(_v, 55).href; _ck(_v, 54, 0, currVal_31, currVal_32); }); }\nfunction View_TopNavComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"li\", [[\"class\", \"nav-item dropdown\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"a\", [[\"aria-expanded\", \"false\"], [\"aria-haspopup\", \"true\"], [\"class\", \"nav-link dropdown-toggle\"], [\"data-toggle\", \"dropdown\"], [\"id\", \"navbarDropdown\"], [\"role\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.isAccountSelectorCollapsed = !_co.isAccountSelectorCollapsed) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(2, null, [\" \", \" \"])), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"div\", [[\"aria-labelledby\", \"navbarDropdown\"], [\"class\", \"dropdown-menu\"]], [[2, \"collapse\", null], [4, \"display\", null], [2, \"in\", null], [2, \"show\", null], [1, \"aria-expanded\", 0], [1, \"aria-hidden\", 0], [2, \"collapsing\", null]], null, null, null, null)), i1.ɵdid(4, 16384, null, 0, i4.CollapseDirective, [i1.ElementRef, i1.Renderer2], { collapse: [0, \"collapse\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"a\", [[\"class\", \"dropdown-item\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.switchAccount() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Switch Account\"]))], function (_ck, _v) { var _co = _v.component; var currVal_8 = _co.isAccountSelectorCollapsed; _ck(_v, 4, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.accountName || \"Select Account\"); _ck(_v, 2, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 4).isCollapse; var currVal_2 = i1.ɵnov(_v, 4).display; var currVal_3 = i1.ɵnov(_v, 4).isExpanded; var currVal_4 = i1.ɵnov(_v, 4).isExpanded; var currVal_5 = i1.ɵnov(_v, 4).isExpanded; var currVal_6 = i1.ɵnov(_v, 4).isCollapsed; var currVal_7 = i1.ɵnov(_v, 4).isCollapsing; _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_TopNavComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"ul\", [[\"class\", \"navbar-nav ml-auto mr-2\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_3)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.showAccountSelector; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_TopNavComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"span\", [[\"class\", \"navbar-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [[\"class\", \"mr-2\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"a\", [[\"class\", \"link\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.logoff() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Log Off\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.userData.name; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_TopNavComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"ul\", [[\"class\", \"navbar-nav mr-auto\"]], null, null, null, null, null))], null, null); }\nfunction View_TopNavComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"span\", [[\"class\", \"navbar-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"a\", [[\"class\", \"link\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.logon() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Log On\"]))], null, null); }\nexport function View_TopNavComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, \"nav\", [[\"class\", \"navbar navbar-expand-md bg-dark fixed-top\"]], [[2, \"navbar-dark\", null], [2, \"navbar-light\", null]], null, null, null, null)), i1.ɵdid(1, 278528, null, 0, i3.NgClass, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [[\"class\", \"version\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"v\", \" (Api: v\", \")\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"class\", \"badge environment\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 4, \"a\", [[\"class\", \"navbar-brand\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 7).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(7, 671744, null, 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(8, 1), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-check-square-o\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Moderation Admin\"])), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"button\", [[\"aria-controls\", \"navbarsDefault\"], [\"aria-expanded\", \"false\"], [\"aria-label\", \"Toggle navigation\"], [\"class\", \"navbar-toggler\"], [\"data-target\", \"#navbarsDefault\"], [\"data-toggle\", \"collapse\"], [\"type\", \"button\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 0, \"span\", [[\"class\", \"navbar-toggler-icon\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 10, \"div\", [[\"class\", \"collapse navbar-collapse\"], [\"id\", \"navbarsDefault\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_1)), i1.ɵdid(15, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_2)), i1.ɵdid(17, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_4)), i1.ɵdid(19, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_5)), i1.ɵdid(21, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TopNavComponent_6)), i1.ɵdid(23, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = \"navbar navbar-expand-md bg-dark fixed-top\"; var currVal_3 = _co.environmentIndicator; _ck(_v, 1, 0, currVal_2, currVal_3); var currVal_9 = _ck(_v, 8, 0, \"/\"); _ck(_v, 7, 0, currVal_9); var currVal_10 = _co.isAuthorized; _ck(_v, 15, 0, currVal_10); var currVal_11 = _co.isAuthorized; _ck(_v, 17, 0, currVal_11); var currVal_12 = _co.isAuthorized; _ck(_v, 19, 0, currVal_12); var currVal_13 = !_co.isAuthorized; _ck(_v, 21, 0, currVal_13); var currVal_14 = !_co.isAuthorized; _ck(_v, 23, 0, currVal_14); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.environmentIndicator === \"prd\"); var currVal_1 = (_co.environmentIndicator !== \"prd\"); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_4 = _co.version; var currVal_5 = _co.apiVersion; _ck(_v, 3, 0, currVal_4, currVal_5); var currVal_6 = _co.environmentIndicator; _ck(_v, 5, 0, currVal_6); var currVal_7 = i1.ɵnov(_v, 7).target; var currVal_8 = i1.ɵnov(_v, 7).href; _ck(_v, 6, 0, currVal_7, currVal_8); }); }\nexport function View_TopNavComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-top-nav\", [], null, null, null, View_TopNavComponent_0, RenderType_TopNavComponent)), i1.ɵdid(1, 245760, null, 0, i5.TopNavComponent, [i6.OidcSecurityService, i2.Router, i7.CookieService, i8.CrossAccountService, i9.ModerationApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar TopNavComponentNgFactory = i1.ɵccf(\"app-top-nav\", i5.TopNavComponent, View_TopNavComponent_Host_0, {}, {}, []);\nexport { TopNavComponentNgFactory as TopNavComponentNgFactory };\n","\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".link[_ngcontent-%COMP%] {\\n cursor: pointer;\\n}\\n\\nli.nav-item.dropdown[_ngcontent-%COMP%] {\\n cursor: pointer;\\n}\\n\\nspan.version[_ngcontent-%COMP%] {\\n right: 0;\\n top: 0;\\n position: absolute;\\n color: white;\\n font-size: 10px;\\n}\\n\\n.badge.environment[_ngcontent-%COMP%] {\\n margin: 4px 10px 0 0;\\n background-color: #000;\\n text-transform: uppercase;\\n color: white;\\n}\\n\\n.navbar.prd[_ngcontent-%COMP%] .badge.environment[_ngcontent-%COMP%] {\\n display: none;\\n}\\n\\n.navbar.loc[_ngcontent-%COMP%] {\\n background-color: rgba(75, 61, 153, 0.35) !important;\\n}\\n\\n.navbar.dev[_ngcontent-%COMP%] {\\n background-color: #28A745 !important;\\n}\\n\\n.navbar.tst[_ngcontent-%COMP%] {\\n background-color: #17A2B8 !important;\\n}\\n\\n.navbar.stg[_ngcontent-%COMP%] {\\n background-color: #FFC107 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9jb3JlL25hdi90b3AtbmF2L3RvcC1uYXYuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvcmUvbmF2L3RvcC1uYXYvdG9wLW5hdi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQUE7QUNDRjs7QURFQTtFQUNFLGVBQUE7QUNDRjs7QURFQTtFQUNFLFFBQUE7RUFDQSxNQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0Usb0JBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtBQ0NGOztBREVBO0VBQ0Usb0RBQUE7QUNDRjs7QURFQTtFQUNFLG9DQUFBO0FDQ0Y7O0FERUE7RUFDRSxvQ0FBQTtBQ0NGOztBREVBO0VBQ0Usb0NBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvbmF2L3RvcC1uYXYvdG9wLW5hdi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5saW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5saS5uYXYtaXRlbS5kcm9wZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc3Bhbi52ZXJzaW9uIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmJhZGdlLmVudmlyb25tZW50IHtcbiAgbWFyZ2luOiA0cHggMTBweCAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm5hdmJhci5wcmQgLmJhZGdlLmVudmlyb25tZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdmJhci5sb2Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc1LCA2MSwgMTUzLCAwLjM1KSAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLmRldiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOEE3NDUgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci50c3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdBMkI4ICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXIuc3RnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzEwNyAhaW1wb3J0YW50O1xufVxuIiwiLmxpbmsge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxpLm5hdi1pdGVtLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zcGFuLnZlcnNpb24ge1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uYmFkZ2UuZW52aXJvbm1lbnQge1xuICBtYXJnaW46IDRweCAxMHB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ubmF2YmFyLnByZCAuYmFkZ2UuZW52aXJvbm1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLmxvYyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDYxLCAxNTMsIDAuMzUpICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXIuZGV2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4QTc0NSAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLnRzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxN0EyQjggIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci5zdGcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDMTA3ICFpbXBvcnRhbnQ7XG59Il19 */\"];\nexport { styles as styles };\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { OidcSecurityService, AuthorizationResult, AuthorizationState } from 'angular-auth-oidc-client';\nimport { Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nimport { PrizelogicTokenPayloadModel } from '../../../shared/models/prizelogic-token-payload-model';\nimport { CrossAccountService, AccountChangedModel } from '../../pages/cross-account/cross-account.service';\nimport { Subscription } from 'rxjs';\nimport { VersionModel } from '../../../shared/models/webapi/response/version.model';\nimport { ModerationApiService } from '../../apis/moderation-api/moderation-api.service';\nimport { ApplicationVersion } from '../../../../version';\nimport { environment } from '../../../../environments/environment';\n\n@Component({\n selector: 'app-top-nav',\n templateUrl: './top-nav.component.html',\n styleUrls: ['./top-nav.component.scss']\n})\nexport class TopNavComponent implements OnInit, OnDestroy {\n isAuthorized: boolean;\n userData: any;\n accountName: string;\n showAccountSelector = false;\n isAccountSelectorCollapsed = true;\n isGlobalsSelectorCollapsed = true;\n private accountChangedSubscription: Subscription;\n public version: string;\n public apiVersion = '...'; // retrieved later\n public environmentIndicator = 'prd';\n\n constructor(\n private oidc: OidcSecurityService,\n private router: Router,\n private cookieService: CookieService,\n private crossAccountService: CrossAccountService,\n private moderationApi: ModerationApiService\n ) {\n this.accountName = cookieService.get(Constants.CookieAdminAccountName);\n this.version = ApplicationVersion.version;\n\n this.oidc.onAuthorizationResult.subscribe((result: AuthorizationResult) => {\n this.isAuthorized = result.authorizationState === AuthorizationState.authorized;\n });\n this.environmentIndicator = this.getEnvironmentIndicator();\n }\n\n private getEnvironmentIndicator(): string {\n // HACK: Using an existing piece of data that is already in the environment files so they do not have to be updated when upgrading to this version\n const url = environment.oidc.redirectUrl;\n\n if (url.match(/localhost/i)) {\n return 'loc';\n } else if (url.match(/\\.dev\\./i)) {\n return 'dev';\n } else if (url.match(/\\.tst\\./i)) {\n return 'tst';\n } else if (url.match(/\\.staging\\./i)) {\n return 'stg';\n }\n\n return 'prd';\n }\n\n urlBase64Decode(str: string) {\n if (!str) {\n return str;\n }\n let output = str.replace('-', '+').replace('_', '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw Error('Illegal base64url string!');\n }\n\n return window.atob(output);\n }\n\n ngOnInit() {\n this.oidc.getIsAuthorized().subscribe((isAuthorized: boolean) => {\n this.isAuthorized = isAuthorized;\n\n this.moderationApi.getVersion().subscribe((data: VersionModel) => {\n this.apiVersion = data.version;\n });\n\n if (this.isAuthorized) {\n const token: string = this.oidc.getToken();\n // const payload: PrizelogicTokenPayloadModel = JSON.parse(this.urlBase64Decode(token.split('.')[1]));\n const isCrossAccount = true;\n // if (typeof payload.cross_account === 'string') {\n // isCrossAccount = (payload.cross_account).match(/true/i).length > 0;\n // } else if (typeof payload.cross_account === 'boolean') {\n // isCrossAccount = payload.cross_account;\n // }\n\n this.showAccountSelector = isCrossAccount;\n }\n });\n\n this.oidc.getUserData().subscribe((userData: any) => {\n this.userData = userData;\n });\n\n this.accountChangedSubscription = this.crossAccountService.accountChanged.subscribe((account: AccountChangedModel) => {\n if (account) {\n this.accountName = account.accountName;\n } else {\n this.accountName = '';\n }\n });\n }\n\n ngOnDestroy() {\n if (this.accountChangedSubscription) {\n this.accountChangedSubscription.unsubscribe();\n }\n }\n\n logon() {\n this.router.navigateByUrl('/logon');\n }\n\n logoff() {\n this.oidc.logoff();\n }\n\n switchAccount() {\n this.isAccountSelectorCollapsed = true;\n\n this.accountName = '';\n this.cookieService.delete(Constants.HeaderAdminAccountKey);\n this.cookieService.delete(Constants.CookieAdminAccountName);\n\n this.router.navigate(['/.cross-account'], { queryParams: { returnUrl: '/' } });\n }\n}\n","import { OnInit, OnDestroy } from '@angular/core';\nimport { OidcSecurityService, AuthorizationState } from 'angular-auth-oidc-client';\nimport { Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nimport { CrossAccountService } from '../../pages/cross-account/cross-account.service';\nimport { ModerationApiService } from '../../apis/moderation-api/moderation-api.service';\nimport { ApplicationVersion } from '../../../../version';\nimport { environment } from '../../../../environments/environment';\nvar TopNavComponent = /** @class */ (function () {\n function TopNavComponent(oidc, router, cookieService, crossAccountService, moderationApi) {\n var _this = this;\n this.oidc = oidc;\n this.router = router;\n this.cookieService = cookieService;\n this.crossAccountService = crossAccountService;\n this.moderationApi = moderationApi;\n this.showAccountSelector = false;\n this.isAccountSelectorCollapsed = true;\n this.isGlobalsSelectorCollapsed = true;\n this.apiVersion = '...'; // retrieved later\n this.environmentIndicator = 'prd';\n this.accountName = cookieService.get(Constants.CookieAdminAccountName);\n this.version = ApplicationVersion.version;\n this.oidc.onAuthorizationResult.subscribe(function (result) {\n _this.isAuthorized = result.authorizationState === AuthorizationState.authorized;\n });\n this.environmentIndicator = this.getEnvironmentIndicator();\n }\n TopNavComponent.prototype.getEnvironmentIndicator = function () {\n // HACK: Using an existing piece of data that is already in the environment files so they do not have to be updated when upgrading to this version\n var url = environment.oidc.redirectUrl;\n if (url.match(/localhost/i)) {\n return 'loc';\n }\n else if (url.match(/\\.dev\\./i)) {\n return 'dev';\n }\n else if (url.match(/\\.tst\\./i)) {\n return 'tst';\n }\n else if (url.match(/\\.staging\\./i)) {\n return 'stg';\n }\n return 'prd';\n };\n TopNavComponent.prototype.urlBase64Decode = function (str) {\n if (!str) {\n return str;\n }\n var output = str.replace('-', '+').replace('_', '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw Error('Illegal base64url string!');\n }\n return window.atob(output);\n };\n TopNavComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.oidc.getIsAuthorized().subscribe(function (isAuthorized) {\n _this.isAuthorized = isAuthorized;\n _this.moderationApi.getVersion().subscribe(function (data) {\n _this.apiVersion = data.version;\n });\n if (_this.isAuthorized) {\n var token = _this.oidc.getToken();\n // const payload: PrizelogicTokenPayloadModel = JSON.parse(this.urlBase64Decode(token.split('.')[1]));\n var isCrossAccount = true;\n // if (typeof payload.cross_account === 'string') {\n // isCrossAccount = (payload.cross_account).match(/true/i).length > 0;\n // } else if (typeof payload.cross_account === 'boolean') {\n // isCrossAccount = payload.cross_account;\n // }\n _this.showAccountSelector = isCrossAccount;\n }\n });\n this.oidc.getUserData().subscribe(function (userData) {\n _this.userData = userData;\n });\n this.accountChangedSubscription = this.crossAccountService.accountChanged.subscribe(function (account) {\n if (account) {\n _this.accountName = account.accountName;\n }\n else {\n _this.accountName = '';\n }\n });\n };\n TopNavComponent.prototype.ngOnDestroy = function () {\n if (this.accountChangedSubscription) {\n this.accountChangedSubscription.unsubscribe();\n }\n };\n TopNavComponent.prototype.logon = function () {\n this.router.navigateByUrl('/logon');\n };\n TopNavComponent.prototype.logoff = function () {\n this.oidc.logoff();\n };\n TopNavComponent.prototype.switchAccount = function () {\n this.isAccountSelectorCollapsed = true;\n this.accountName = '';\n this.cookieService.delete(Constants.HeaderAdminAccountKey);\n this.cookieService.delete(Constants.CookieAdminAccountName);\n this.router.navigate(['/.cross-account'], { queryParams: { returnUrl: '/' } });\n };\n return TopNavComponent;\n}());\nexport { TopNavComponent };\n","import { map, take } from 'rxjs/operators';\n\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Resolve, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { ProgramApiService } from '../../apis/moderation-api/program-api.service';\nimport { AccountResultsModel } from '../../../shared/models/webapi/response/account-results.model';\nimport { AccountModel } from '../../../shared/models/webapi/response/account.model';\n\n@Injectable()\nexport class CrossAccountResolver implements Resolve {\n constructor(private programApi: ProgramApiService, private router: Router) {}\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.programApi.getAccounts().pipe(\n take(1),\n map((accountResult: AccountResultsModel) => {\n if (accountResult && accountResult.accounts) {\n return accountResult.accounts.sort((a, b) => a.name.localeCompare(b.name));\n } else {\n // TODO: Send to an error page or something\n this.router.navigateByUrl('/unauthorized');\n return null;\n }\n })\n );\n }\n}\n","import { map, take } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { ProgramApiService } from '../../apis/moderation-api/program-api.service';\nvar CrossAccountResolver = /** @class */ (function () {\n function CrossAccountResolver(programApi, router) {\n this.programApi = programApi;\n this.router = router;\n }\n CrossAccountResolver.prototype.resolve = function (route, state) {\n var _this = this;\n return this.programApi.getAccounts().pipe(take(1), map(function (accountResult) {\n if (accountResult && accountResult.accounts) {\n return accountResult.accounts.sort(function (a, b) { return a.name.localeCompare(b.name); });\n }\n else {\n // TODO: Send to an error page or something\n _this.router.navigateByUrl('/unauthorized');\n return null;\n }\n }));\n };\n return CrossAccountResolver;\n}());\nexport { CrossAccountResolver };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./cross-account.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i4 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i5 from \"./cross-account.component\";\nimport * as i6 from \"@angular/router\";\nimport * as i7 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i8 from \"./cross-account.service\";\nvar styles_CrossAccountComponent = [i0.styles];\nvar RenderType_CrossAccountComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CrossAccountComponent, data: {} });\nexport { RenderType_CrossAccountComponent as RenderType_CrossAccountComponent };\nfunction View_CrossAccountComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"account-name\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.name; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_CrossAccountComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"account-name\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.name; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_CrossAccountComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"account-choice\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onAccountChoice(_v.context.$implicit.accountKey, _v.context.$implicit.name) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 278528, null, 0, i2.NgClass, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(2, { \"chosen\": 0 }), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CrossAccountComponent_3)), i1.ɵdid(4, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CrossAccountComponent_4)), i1.ɵdid(6, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"account-choice\"; var currVal_1 = _ck(_v, 2, 0, (_v.context.$implicit.accountKey === _co.chosenAccountKey)); _ck(_v, 1, 0, currVal_0, currVal_1); var currVal_2 = (_v.context.$implicit.accountKey !== _co.chosenAccountKey); _ck(_v, 4, 0, currVal_2); var currVal_3 = (_v.context.$implicit.accountKey === _co.chosenAccountKey); _ck(_v, 6, 0, currVal_3); }, null); }\nfunction View_CrossAccountComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Please choose an account to continue: \"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"section\", [[\"class\", \"account-choice-wrapper\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CrossAccountComponent_2)), i1.ɵdid(5, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.accounts; _ck(_v, 5, 0, currVal_0); }, null); }\nfunction View_CrossAccountComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i3.View_FoldingCubeComponent_0, i3.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i4.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nexport function View_CrossAccountComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_CrossAccountComponent_1)), i1.ɵdid(1, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CrossAccountComponent_5)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.redirecting; _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.redirecting; _ck(_v, 3, 0, currVal_1); }, null); }\nexport function View_CrossAccountComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-cross-account\", [], null, null, null, View_CrossAccountComponent_0, RenderType_CrossAccountComponent)), i1.ɵdid(1, 114688, null, 0, i5.CrossAccountComponent, [i6.ActivatedRoute, i6.Router, i7.CookieService, i8.CrossAccountService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CrossAccountComponentNgFactory = i1.ɵccf(\"app-cross-account\", i5.CrossAccountComponent, View_CrossAccountComponent_Host_0, {}, {}, []);\nexport { CrossAccountComponentNgFactory as CrossAccountComponentNgFactory };\n","
\n

\n Please choose an account to continue:\n

\n
\n
\n
{{account.name}}
\n
{{account.name}}
\n
\n
\n
\n
\n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".account-choice-wrapper[_ngcontent-%COMP%] {\\n display: flex;\\n flex-flow: row wrap;\\n justify-content: flex-start;\\n align-items: center;\\n align-content: center;\\n position: relative;\\n}\\n\\n.account-choice[_ngcontent-%COMP%] {\\n text-align: center;\\n width: 7em;\\n height: 7em;\\n background-color: #1A5FFF;\\n color: #fff;\\n margin-left: 1em;\\n margin-top: 1em;\\n display: flex;\\n justify-content: center;\\n flex-direction: column;\\n cursor: pointer;\\n}\\n\\n.account-choice[_ngcontent-%COMP%]:not(.chosen):hover {\\n font-weight: bold;\\n}\\n\\n.account-choice.chosen[_ngcontent-%COMP%] {\\n border: #ADC6FF solid 0.25em;\\n cursor: default;\\n}\\n\\n.account-name[_ngcontent-%COMP%] {\\n margin: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9jb3JlL3BhZ2VzL2Nyb3NzLWFjY291bnQvY3Jvc3MtYWNjb3VudC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS9wYWdlcy9jcm9zcy1hY2NvdW50L2Nyb3NzLWFjY291bnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0UsaUJBQUE7QUNDRjs7QURFQTtFQUNFLDRCQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0UsU0FBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9wYWdlcy9jcm9zcy1hY2NvdW50L2Nyb3NzLWFjY291bnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWNjb3VudC1jaG9pY2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY2NvdW50LWNob2ljZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDdlbTtcbiAgaGVpZ2h0OiA3ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQTVGRkY7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hY2NvdW50LWNob2ljZTpub3QoLmNob3Nlbik6aG92ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFjY291bnQtY2hvaWNlLmNob3NlbiB7XG4gIGJvcmRlcjogI0FEQzZGRiBzb2xpZCAwLjI1ZW07XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmFjY291bnQtbmFtZSB7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi5hY2NvdW50LWNob2ljZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFjY291bnQtY2hvaWNlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogN2VtO1xuICBoZWlnaHQ6IDdlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFBNUZGRjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjY291bnQtY2hvaWNlOm5vdCguY2hvc2VuKTpob3ZlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYWNjb3VudC1jaG9pY2UuY2hvc2VuIHtcbiAgYm9yZGVyOiAjQURDNkZGIHNvbGlkIDAuMjVlbTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYWNjb3VudC1uYW1lIHtcbiAgbWFyZ2luOiAwO1xufSJdfQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nimport { CrossAccountService } from './cross-account.service';\nimport { AccountModel } from '../../../shared/models/webapi/response/account.model';\n\n\n@Component({\n selector: 'app-cross-account',\n templateUrl: './cross-account.component.html',\n styleUrls: ['./cross-account.component.scss']\n})\nexport class CrossAccountComponent implements OnInit {\n accounts: AccountModel[];\n chosenAccountKey: string;\n chosenAccountName: string;\n redirecting: boolean;\n returnUrl: string;\n\n // TODO: Implement this so that they're shown this if they don't have the PL Admin Account Key header/cookie!\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private cookieService: CookieService,\n private crossAccountService: CrossAccountService\n ) { }\n\n ngOnInit() {\n this.returnUrl = this.route.snapshot.queryParamMap.get('returnUrl');\n this.route.data.subscribe((data: {crossAccount: AccountModel[] }) => {\n this.accounts = data.crossAccount;\n });\n\n if (this.cookieService.check(Constants.HeaderAdminAccountKey)) {\n this.chosenAccountKey = this.cookieService.get(Constants.HeaderAdminAccountKey);\n this.chosenAccountName = this.cookieService.get(Constants.CookieAdminAccountName);\n }\n }\n\n onAccountChoice(accountKey: string, accountName: string) {\n if (accountKey) {\n this.chosenAccountKey = accountKey;\n this.chosenAccountName = accountName;\n this.crossAccountService.selectAccount(accountKey, accountName);\n this.redirecting = true;\n\n if (this.returnUrl) {\n this.router.navigateByUrl(this.returnUrl);\n } else {\n this.router.navigate(['/']);\n }\n }\n }\n}\n","import { OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nimport { CrossAccountService } from './cross-account.service';\nvar CrossAccountComponent = /** @class */ (function () {\n // TODO: Implement this so that they're shown this if they don't have the PL Admin Account Key header/cookie!\n function CrossAccountComponent(route, router, cookieService, crossAccountService) {\n this.route = route;\n this.router = router;\n this.cookieService = cookieService;\n this.crossAccountService = crossAccountService;\n }\n CrossAccountComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.returnUrl = this.route.snapshot.queryParamMap.get('returnUrl');\n this.route.data.subscribe(function (data) {\n _this.accounts = data.crossAccount;\n });\n if (this.cookieService.check(Constants.HeaderAdminAccountKey)) {\n this.chosenAccountKey = this.cookieService.get(Constants.HeaderAdminAccountKey);\n this.chosenAccountName = this.cookieService.get(Constants.CookieAdminAccountName);\n }\n };\n CrossAccountComponent.prototype.onAccountChoice = function (accountKey, accountName) {\n if (accountKey) {\n this.chosenAccountKey = accountKey;\n this.chosenAccountName = accountName;\n this.crossAccountService.selectAccount(accountKey, accountName);\n this.redirecting = true;\n if (this.returnUrl) {\n this.router.navigateByUrl(this.returnUrl);\n }\n else {\n this.router.navigate(['/']);\n }\n }\n };\n return CrossAccountComponent;\n}());\nexport { CrossAccountComponent };\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { CookieService } from '../../../../../node_modules/ngx-cookie-service';\nimport { Constants } from '../../../constants';\n\nexport class AccountChangedModel {\n public accountKey: string;\n public accountName: string;\n\n constructor(key: string, name: string) {\n this.accountKey = key;\n this.accountName = name;\n }\n}\n\n@Injectable()\nexport class CrossAccountService {\n public account: AccountChangedModel;\n private accountChangedSource = new BehaviorSubject(null);\n public accountChanged = this.accountChangedSource.asObservable();\n\n constructor(private cookieService: CookieService) {\n if (cookieService.check(Constants.HeaderAdminAccountKey)) {\n this.selectAccount(cookieService.get(Constants.HeaderAdminAccountKey), cookieService.get(Constants.CookieAdminAccountName));\n }\n }\n\n public selectAccount(key: string, name: string): void {\n this.account = new AccountChangedModel(key, name);\n\n this.cookieService.delete(Constants.HeaderAdminAccountKey);\n this.cookieService.delete(Constants.CookieAdminAccountName);\n this.cookieService.set(Constants.HeaderAdminAccountKey, key);\n this.cookieService.set(Constants.CookieAdminAccountName, name);\n\n this.accountChangedSource.next(this.account);\n }\n\n public clearAccount(): void {\n this.selectAccount('', '');\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { CookieService } from '../../../../../node_modules/ngx-cookie-service';\nimport { Constants } from '../../../constants';\nvar AccountChangedModel = /** @class */ (function () {\n function AccountChangedModel(key, name) {\n this.accountKey = key;\n this.accountName = name;\n }\n return AccountChangedModel;\n}());\nexport { AccountChangedModel };\nvar CrossAccountService = /** @class */ (function () {\n function CrossAccountService(cookieService) {\n this.cookieService = cookieService;\n this.accountChangedSource = new BehaviorSubject(null);\n this.accountChanged = this.accountChangedSource.asObservable();\n if (cookieService.check(Constants.HeaderAdminAccountKey)) {\n this.selectAccount(cookieService.get(Constants.HeaderAdminAccountKey), cookieService.get(Constants.CookieAdminAccountName));\n }\n }\n CrossAccountService.prototype.selectAccount = function (key, name) {\n this.account = new AccountChangedModel(key, name);\n this.cookieService.delete(Constants.HeaderAdminAccountKey);\n this.cookieService.delete(Constants.CookieAdminAccountName);\n this.cookieService.set(Constants.HeaderAdminAccountKey, key);\n this.cookieService.set(Constants.CookieAdminAccountName, name);\n this.accountChangedSource.next(this.account);\n };\n CrossAccountService.prototype.clearAccount = function () {\n this.selectAccount('', '');\n };\n return CrossAccountService;\n}());\nexport { CrossAccountService };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./home.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"./home.component\";\nimport * as i5 from \"angular-auth-oidc-client\";\nimport * as i6 from \"ngx-cookie-service/cookie-service/cookie.service\";\nvar styles_HomeComponent = [i0.styles];\nvar RenderType_HomeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_HomeComponent, data: {} });\nexport { RenderType_HomeComponent as RenderType_HomeComponent };\nfunction View_HomeComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Welcome to the Moderation Admin! \"])), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"a\", [[\"routerLink\", \"/logon\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 3).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 671744, null, 0, i2.RouterLinkWithHref, [i2.Router, i2.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Log on\"])), (_l()(), i1.ɵted(-1, null, [\" to view and manage rules for your program. \"]))], function (_ck, _v) { var currVal_2 = \"/logon\"; _ck(_v, 3, 0, currVal_2); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 3).target; var currVal_1 = i1.ɵnov(_v, 3).href; _ck(_v, 2, 0, currVal_0, currVal_1); }); }\nfunction View_HomeComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.accountName; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_HomeComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_HomeComponent_3)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.accountName; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_HomeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-check-square-o\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Moderation Admin\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_HomeComponent_1)), i1.ɵdid(6, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_HomeComponent_2)), i1.ɵdid(8, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isAuthorized; _ck(_v, 6, 0, currVal_0); var currVal_1 = _co.isAuthorized; _ck(_v, 8, 0, currVal_1); }, null); }\nexport function View_HomeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-home\", [], null, null, null, View_HomeComponent_0, RenderType_HomeComponent)), i1.ɵdid(1, 114688, null, 0, i4.HomeComponent, [i5.OidcSecurityService, i6.CookieService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar HomeComponentNgFactory = i1.ɵccf(\"app-home\", i4.HomeComponent, View_HomeComponent_Host_0, {}, {}, []);\nexport { HomeComponentNgFactory as HomeComponentNgFactory };\n","
\n

\n \n

\n

Moderation Admin

\n

\n Welcome to the Moderation Admin!\n Log on to view and manage rules for your program.\n

\n \n \n

{{ accountName }}

\n
\n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"h1[_ngcontent-%COMP%] {\\n font-size: 5rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9jb3JlL3BhZ2VzL2hvbWUvaG9tZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS9wYWdlcy9ob21lL2hvbWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9jb3JlL3BhZ2VzL2hvbWUvaG9tZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImgxIHtcbiAgZm9udC1zaXplOiA1cmVtO1xufVxuIiwiaDEge1xuICBmb250LXNpemU6IDVyZW07XG59Il19 */\"];\nexport { styles as styles };\n","import { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { Component, OnInit } from '@angular/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n public isAuthorized: boolean;\n public accountName: string;\n\n constructor(private oidc: OidcSecurityService, private cookieService: CookieService) {\n this.accountName = cookieService.get(Constants.CookieAdminAccountName);\n\n this.oidc.getIsAuthorized().subscribe((isAuthorized: boolean) => {\n this.isAuthorized = isAuthorized;\n });\n }\n\n ngOnInit() {\n }\n\n}\n","import { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { OnInit } from '@angular/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../../constants';\nvar HomeComponent = /** @class */ (function () {\n function HomeComponent(oidc, cookieService) {\n var _this = this;\n this.oidc = oidc;\n this.cookieService = cookieService;\n this.accountName = cookieService.get(Constants.CookieAdminAccountName);\n this.oidc.getIsAuthorized().subscribe(function (isAuthorized) {\n _this.isAuthorized = isAuthorized;\n });\n }\n HomeComponent.prototype.ngOnInit = function () {\n };\n return HomeComponent;\n}());\nexport { HomeComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./logon.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i3 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i4 from \"./logon.component\";\nimport * as i5 from \"angular-auth-oidc-client\";\nvar styles_LogonComponent = [i0.styles];\nvar RenderType_LogonComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LogonComponent, data: {} });\nexport { RenderType_LogonComponent as RenderType_LogonComponent };\nexport function View_LogonComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i2.View_FoldingCubeComponent_0, i2.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i3.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nexport function View_LogonComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-logon\", [], null, null, null, View_LogonComponent_0, RenderType_LogonComponent)), i1.ɵdid(1, 114688, null, 0, i4.LogonComponent, [i5.OidcSecurityService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LogonComponentNgFactory = i1.ɵccf(\"app-logon\", i4.LogonComponent, View_LogonComponent_Host_0, {}, {}, []);\nexport { LogonComponentNgFactory as LogonComponentNgFactory };\n","
\n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvcGFnZXMvbG9nb24vbG9nb24uY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n\n@Component({\n selector: 'app-logon',\n templateUrl: './logon.component.html',\n styleUrls: ['./logon.component.scss']\n})\nexport class LogonComponent implements OnInit {\n\n constructor(private oidc: OidcSecurityService) {}\n\n ngOnInit() {\n this.oidc.authorize();\n }\n\n}\n","import { OnInit } from '@angular/core';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nvar LogonComponent = /** @class */ (function () {\n function LogonComponent(oidc) {\n this.oidc = oidc;\n }\n LogonComponent.prototype.ngOnInit = function () {\n this.oidc.authorize();\n };\n return LogonComponent;\n}());\nexport { LogonComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./page-not-found.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./page-not-found.component\";\nvar styles_PageNotFoundComponent = [i0.styles];\nvar RenderType_PageNotFoundComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PageNotFoundComponent, data: {} });\nexport { RenderType_PageNotFoundComponent as RenderType_PageNotFoundComponent };\nexport function View_PageNotFoundComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" page-not-found works!\\n\"]))], null, null); }\nexport function View_PageNotFoundComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-page-not-found\", [], null, null, null, View_PageNotFoundComponent_0, RenderType_PageNotFoundComponent)), i1.ɵdid(1, 114688, null, 0, i2.PageNotFoundComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar PageNotFoundComponentNgFactory = i1.ɵccf(\"app-page-not-found\", i2.PageNotFoundComponent, View_PageNotFoundComponent_Host_0, {}, {}, []);\nexport { PageNotFoundComponentNgFactory as PageNotFoundComponentNgFactory };\n","

\n page-not-found works!\n

\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvcGFnZXMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor() { }\n\n // TODO: Give this some style!\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar PageNotFoundComponent = /** @class */ (function () {\n function PageNotFoundComponent() {\n }\n // TODO: Give this some style!\n PageNotFoundComponent.prototype.ngOnInit = function () {\n };\n return PageNotFoundComponent;\n}());\nexport { PageNotFoundComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./session-expired.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./session-expired.component\";\nvar styles_SessionExpiredComponent = [i0.styles];\nvar RenderType_SessionExpiredComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_SessionExpiredComponent, data: {} });\nexport { RenderType_SessionExpiredComponent as RenderType_SessionExpiredComponent };\nexport function View_SessionExpiredComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" session-expired works!\\n\"]))], null, null); }\nexport function View_SessionExpiredComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-session-expired\", [], null, null, null, View_SessionExpiredComponent_0, RenderType_SessionExpiredComponent)), i1.ɵdid(1, 114688, null, 0, i2.SessionExpiredComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar SessionExpiredComponentNgFactory = i1.ɵccf(\"app-session-expired\", i2.SessionExpiredComponent, View_SessionExpiredComponent_Host_0, {}, {}, []);\nexport { SessionExpiredComponentNgFactory as SessionExpiredComponentNgFactory };\n","

\n session-expired works!\n

\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvcGFnZXMvc2Vzc2lvbi1leHBpcmVkL3Nlc3Npb24tZXhwaXJlZC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-session-expired',\n templateUrl: './session-expired.component.html',\n styleUrls: ['./session-expired.component.scss']\n})\nexport class SessionExpiredComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar SessionExpiredComponent = /** @class */ (function () {\n function SessionExpiredComponent() {\n }\n SessionExpiredComponent.prototype.ngOnInit = function () {\n };\n return SessionExpiredComponent;\n}());\nexport { SessionExpiredComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./signin-oidc.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i3 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i4 from \"./signin-oidc.component\";\nimport * as i5 from \"angular-auth-oidc-client\";\nimport * as i6 from \"@angular/router\";\nvar styles_SigninOidcComponent = [i0.styles];\nvar RenderType_SigninOidcComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_SigninOidcComponent, data: {} });\nexport { RenderType_SigninOidcComponent as RenderType_SigninOidcComponent };\nexport function View_SigninOidcComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i2.View_FoldingCubeComponent_0, i2.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i3.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nexport function View_SigninOidcComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-signin-oidc\", [], null, null, null, View_SigninOidcComponent_0, RenderType_SigninOidcComponent)), i1.ɵdid(1, 114688, null, 0, i4.SigninOidcComponent, [i5.OidcSecurityService, i6.Router], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar SigninOidcComponentNgFactory = i1.ɵccf(\"app-signin-oidc\", i4.SigninOidcComponent, View_SigninOidcComponent_Host_0, {}, {}, []);\nexport { SigninOidcComponentNgFactory as SigninOidcComponentNgFactory };\n","
\n \n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvcGFnZXMvc2lnbmluLW9pZGMvc2lnbmluLW9pZGMuY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\nimport { OidcSecurityService, AuthorizationResult, AuthorizationState } from 'angular-auth-oidc-client';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-signin-oidc',\n templateUrl: './signin-oidc.component.html',\n styleUrls: ['./signin-oidc.component.scss']\n})\nexport class SigninOidcComponent implements OnInit {\n constructor(private oidc: OidcSecurityService, private router: Router) {\n if (this.oidc.moduleSetup) {\n this.doCallbackLogicIfRequired();\n } else {\n this.oidc.onModuleSetup.subscribe(() => {\n this.doCallbackLogicIfRequired();\n });\n }\n\n this.oidc.onAuthorizationResult.subscribe((result: AuthorizationResult) => {\n // console.log(result);\n if (result.authorizationState === AuthorizationState.authorized) {\n // TODO: Take them to where they were attempting to go\n this.router.navigateByUrl('/home');\n } else if (result.authorizationState === AuthorizationState.unauthorized) {\n this.router.navigateByUrl('/unauthorized');\n }\n });\n }\n\n doCallbackLogicIfRequired(): void {\n if (window.location.hash) {\n this.oidc.authorizedImplicitFlowCallback();\n }\n }\n\n ngOnInit() {}\n}\n","import { OnInit } from '@angular/core';\nimport { OidcSecurityService, AuthorizationState } from 'angular-auth-oidc-client';\nimport { Router } from '@angular/router';\nvar SigninOidcComponent = /** @class */ (function () {\n function SigninOidcComponent(oidc, router) {\n var _this = this;\n this.oidc = oidc;\n this.router = router;\n if (this.oidc.moduleSetup) {\n this.doCallbackLogicIfRequired();\n }\n else {\n this.oidc.onModuleSetup.subscribe(function () {\n _this.doCallbackLogicIfRequired();\n });\n }\n this.oidc.onAuthorizationResult.subscribe(function (result) {\n // console.log(result);\n if (result.authorizationState === AuthorizationState.authorized) {\n // TODO: Take them to where they were attempting to go\n _this.router.navigateByUrl('/home');\n }\n else if (result.authorizationState === AuthorizationState.unauthorized) {\n _this.router.navigateByUrl('/unauthorized');\n }\n });\n }\n SigninOidcComponent.prototype.doCallbackLogicIfRequired = function () {\n if (window.location.hash) {\n this.oidc.authorizedImplicitFlowCallback();\n }\n };\n SigninOidcComponent.prototype.ngOnInit = function () { };\n return SigninOidcComponent;\n}());\nexport { SigninOidcComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./unauthorized.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./unauthorized.component\";\nvar styles_UnauthorizedComponent = [i0.styles];\nvar RenderType_UnauthorizedComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_UnauthorizedComponent, data: {} });\nexport { RenderType_UnauthorizedComponent as RenderType_UnauthorizedComponent };\nexport function View_UnauthorizedComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Unauthorized\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"You are unauthorized to view this page.\"]))], null, null); }\nexport function View_UnauthorizedComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-unauthorized\", [], null, null, null, View_UnauthorizedComponent_0, RenderType_UnauthorizedComponent)), i1.ɵdid(1, 114688, null, 0, i2.UnauthorizedComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar UnauthorizedComponentNgFactory = i1.ɵccf(\"app-unauthorized\", i2.UnauthorizedComponent, View_UnauthorizedComponent_Host_0, {}, {}, []);\nexport { UnauthorizedComponentNgFactory as UnauthorizedComponentNgFactory };\n","
\n

Unauthorized

\n

You are unauthorized to view this page.

\n
\n\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvcGFnZXMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html',\n styleUrls: ['./unauthorized.component.scss']\n})\nexport class UnauthorizedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar UnauthorizedComponent = /** @class */ (function () {\n function UnauthorizedComponent() {\n }\n UnauthorizedComponent.prototype.ngOnInit = function () {\n };\n return UnauthorizedComponent;\n}());\nexport { UnauthorizedComponent };\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class AuthGuard implements CanActivate, CanActivateChild {\n\n constructor(private oidc: OidcSecurityService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\n return this.oidc.getIsAuthorized().pipe(\n map((isAuthorized: boolean) => {\n if (!isAuthorized) {\n this.router.navigateByUrl('/logon');\n }\n\n return isAuthorized;\n })\n );\n }\n\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\n return this.canActivate(childRoute, state);\n }\n\n}\n","import { Router } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { map } from 'rxjs/operators';\nvar AuthGuard = /** @class */ (function () {\n function AuthGuard(oidc, router) {\n this.oidc = oidc;\n this.router = router;\n }\n AuthGuard.prototype.canActivate = function (route, state) {\n var _this = this;\n return this.oidc.getIsAuthorized().pipe(map(function (isAuthorized) {\n if (!isAuthorized) {\n _this.router.navigateByUrl('/logon');\n }\n return isAuthorized;\n }));\n };\n AuthGuard.prototype.canActivateChild = function (childRoute, state) {\n return this.canActivate(childRoute, state);\n };\n return AuthGuard;\n}());\nexport { AuthGuard };\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../constants';\nimport { PrizelogicTokenPayloadModel } from '../../shared/models/prizelogic-token-payload-model';\n\n@Injectable()\nexport class CrossAccountGuard implements CanActivate, CanActivateChild {\n constructor(private router: Router, private cookieService: CookieService, private oidc: OidcSecurityService) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\n const hasAdminAccountKeyCookie: boolean = this.cookieService.check(Constants.HeaderAdminAccountKey);\n\n // TODO: Check 'cross_account' in token payload as well\n let isCrossAccount = false;\n const token: string = this.oidc.getToken();\n if (token) {\n const payload: PrizelogicTokenPayloadModel = JSON.parse(this.urlBase64Decode(token.split('.')[1]));\n // Right now, 'cross_account' comes back as a string. In the future it might become a boolean, so let's check\n if (typeof payload.cross_account === 'string') {\n isCrossAccount = (payload.cross_account).match(/true/i).length > 0;\n } else if (typeof payload.cross_account === 'boolean') {\n isCrossAccount = payload.cross_account;\n }\n }\n\n if (!hasAdminAccountKeyCookie && isCrossAccount) {\n const returnUrl = state.url;\n this.router.navigate(['/.cross-account'], { queryParams: { returnUrl } });\n }\n\n return true;\n }\n\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\n return this.canActivate(childRoute, state);\n }\n\n urlBase64Decode(str: string) {\n if (!str) {\n return str;\n }\n let output = str.replace('-', '+').replace('_', '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw Error('Illegal base64url string!');\n }\n\n return window.atob(output);\n }\n}\n","import { Router } from '@angular/router';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Constants } from '../../constants';\nvar CrossAccountGuard = /** @class */ (function () {\n function CrossAccountGuard(router, cookieService, oidc) {\n this.router = router;\n this.cookieService = cookieService;\n this.oidc = oidc;\n }\n CrossAccountGuard.prototype.canActivate = function (route, state) {\n var hasAdminAccountKeyCookie = this.cookieService.check(Constants.HeaderAdminAccountKey);\n // TODO: Check 'cross_account' in token payload as well\n var isCrossAccount = false;\n var token = this.oidc.getToken();\n if (token) {\n var payload = JSON.parse(this.urlBase64Decode(token.split('.')[1]));\n // Right now, 'cross_account' comes back as a string. In the future it might become a boolean, so let's check\n if (typeof payload.cross_account === 'string') {\n isCrossAccount = payload.cross_account.match(/true/i).length > 0;\n }\n else if (typeof payload.cross_account === 'boolean') {\n isCrossAccount = payload.cross_account;\n }\n }\n if (!hasAdminAccountKeyCookie && isCrossAccount) {\n var returnUrl = state.url;\n this.router.navigate(['/.cross-account'], { queryParams: { returnUrl: returnUrl } });\n }\n return true;\n };\n CrossAccountGuard.prototype.canActivateChild = function (childRoute, state) {\n return this.canActivate(childRoute, state);\n };\n CrossAccountGuard.prototype.urlBase64Decode = function (str) {\n if (!str) {\n return str;\n }\n var output = str.replace('-', '+').replace('_', '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw Error('Illegal base64url string!');\n }\n return window.atob(output);\n };\n return CrossAccountGuard;\n}());\nexport { CrossAccountGuard };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./ruleset-wizard.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i3 from \"ngx-bootstrap/alert\";\nimport * as i4 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i5 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i6 from \"@angular/forms\";\nimport * as i7 from \"../../../../../node_modules/ngx-ui-switch/index.ngfactory\";\nimport * as i8 from \"ngx-ui-switch\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"ngx-pagination\";\nimport * as i11 from \"../../../../../node_modules/ngx-pagination/dist/ngx-pagination.ngfactory\";\nimport * as i12 from \"ng-pick-datetime/date-time/date-time-picker-input.directive\";\nimport * as i13 from \"ng-pick-datetime/date-time/adapter/date-time-adapter.class\";\nimport * as i14 from \"ng-pick-datetime/date-time/adapter/date-time-format.class\";\nimport * as i15 from \"../../../../../node_modules/ng-pick-datetime/date-time/date-time-picker.component.ngfactory\";\nimport * as i16 from \"ng-pick-datetime/date-time/date-time-picker.component\";\nimport * as i17 from \"@angular/cdk/overlay\";\nimport * as i18 from \"ng-pick-datetime/dialog/dialog.service\";\nimport * as i19 from \"ng-pick-datetime/date-time/date-time-picker-trigger.directive\";\nimport * as i20 from \"ngx-custom-validators\";\nimport * as i21 from \"./ruleset-wizard.component\";\nimport * as i22 from \"@angular/router\";\nimport * as i23 from \"../../../core/apis/moderation-api/ruleset-api.service\";\nimport * as i24 from \"ngx-bootstrap/modal\";\nimport * as i25 from \"../../../core/apis/moderation-api/store-api.service\";\nimport * as i26 from \"../../../core/apis/moderation-api/product-api.service\";\nimport * as i27 from \"../../../shared/pipes/tz.pipe\";\nimport * as i28 from \"../../../core/apis/moderation-api/program-api.service\";\nvar styles_RulesetWizardComponent = [i0.styles];\nvar RenderType_RulesetWizardComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_RulesetWizardComponent, data: {} });\nexport { RenderType_RulesetWizardComponent as RenderType_RulesetWizardComponent };\nfunction View_RulesetWizardComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i2.View_AlertComponent_0, i2.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertComponent, [i3.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_RulesetWizardComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i4.View_FoldingCubeComponent_0, i4.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i5.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_RulesetWizardComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i6.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i6.SelectControlValueAccessor]], { value: [0, \"value\"] }, null), i1.ɵdid(2, 147456, null, 0, i6.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { value: [0, \"value\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit.programKey; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit.programKey; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_RulesetWizardComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"row mt-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"col-2 text-right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"OCR\"])), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"div\", [[\"class\", \"col-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 5, \"ui-switch\", [[\"checkedLabel\", \"Send to OCR\"], [\"name\", \"isAutomaticReceiptPaidFor\"], [\"uncheckedLabel\", \"Skip OCR\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onToggle($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = ((_co.payload.isAutomaticReceiptPaidFor = $event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i7.View_UiSwitchComponent_0, i7.RenderType_UiSwitchComponent)), i1.ɵdid(6, 49152, null, 0, i8.UiSwitchComponent, [[2, i8.ɵa], i1.ChangeDetectorRef], { checkedLabel: [0, \"checkedLabel\"], uncheckedLabel: [1, \"uncheckedLabel\"] }, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.UiSwitchComponent]), i1.ɵdid(8, 671744, null, 0, i6.NgModel, [[2, i6.ControlContainer], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(10, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"Send to OCR\"; var currVal_8 = \"Skip OCR\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"isAutomaticReceiptPaidFor\"; var currVal_10 = _co.payload.isAutomaticReceiptPaidFor; _ck(_v, 8, 0, currVal_9, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_RulesetWizardComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"button\", [[\"class\", \"btn btn-outline-info mr-2\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleBoolean() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Yes/No\"]))], null, null); }\nfunction View_RulesetWizardComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"button\", [[\"class\", \"btn btn-outline-info mr-2\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleReceiptPurchaseDate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Purchase Date Rule\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"button\", [[\"class\", \"btn btn-outline-info mr-2\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleReceiptStore() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Retailer Rule\"])), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"button\", [[\"class\", \"btn btn-outline-info mr-2\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openAddRuleProductBased(i1.ɵnov(_v.parent.parent, 13)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Product Rule\"]))], null, null); }\nfunction View_RulesetWizardComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"float-right clickable danger\"], [\"data-effect\", \"fadeOut\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"i\", [[\"class\", \"fa fa-times\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.removeRule(_v.parent.context.index) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nfunction View_RulesetWizardComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_13)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 12); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_15)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 11); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_17)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 10); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_19(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_19)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_21(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_20(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_21)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_23(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_22(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_23)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_25(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_24(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_25)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_27(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_26(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_27)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_29(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, null, null, null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_28(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_29)), i1.ɵdid(2, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(3, { rule: 0, index: 1 }), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _ck(_v, 3, 0, _v.parent.context.$implicit, _v.parent.context.index); var currVal_1 = i1.ɵnov(_v.parent.parent.parent, 9); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_RulesetWizardComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 31, \"div\", [[\"class\", \"card\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 30, \"div\", [[\"class\", \"card-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 9, \"h5\", [[\"class\", \"card-title mb-4\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\" Rule #\", \" - \"])), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_9)), i1.ɵdid(5, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(6, { rule: 0, index: 1 }), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_RulesetWizardComponent_10)), i1.ɵdid(8, 540672, null, 0, i9.NgTemplateOutlet, [i1.ViewContainerRef], { ngTemplateOutletContext: [0, \"ngTemplateOutletContext\"], ngTemplateOutlet: [1, \"ngTemplateOutlet\"] }, null), i1.ɵpod(9, { rule: 0, index: 1 }), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_11)), i1.ɵdid(11, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(12, 0, null, null, 19, null, null, null, null, null, null, null)), i1.ɵdid(13, 16384, null, 0, i9.NgSwitch, [], { ngSwitch: [0, \"ngSwitch\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_12)), i1.ɵdid(15, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_14)), i1.ɵdid(17, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_16)), i1.ɵdid(19, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_18)), i1.ɵdid(21, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_20)), i1.ɵdid(23, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_22)), i1.ɵdid(25, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_24)), i1.ɵdid(27, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_26)), i1.ɵdid(29, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_28)), i1.ɵdid(31, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _ck(_v, 6, 0, _v.context.$implicit, _v.context.index); var currVal_2 = i1.ɵnov(_v.parent.parent, 8); _ck(_v, 5, 0, currVal_1, currVal_2); var currVal_3 = _ck(_v, 9, 0, _v.context.$implicit, _v.context.index); var currVal_4 = i1.ɵnov(_v.parent.parent, 7); _ck(_v, 8, 0, currVal_3, currVal_4); var currVal_5 = !_v.context.$implicit.isUsed; _ck(_v, 11, 0, currVal_5); var currVal_6 = _v.context.$implicit.kind; _ck(_v, 13, 0, currVal_6); var currVal_7 = _co.ruleKinds.Boolean; _ck(_v, 15, 0, currVal_7); var currVal_8 = _co.ruleKinds.ReceiptPurchaseDate; _ck(_v, 17, 0, currVal_8); var currVal_9 = _co.ruleKinds.ReceiptStore; _ck(_v, 19, 0, currVal_9); var currVal_10 = _co.ruleKinds.ReceiptItemProductQuantity; _ck(_v, 21, 0, currVal_10); var currVal_11 = _co.ruleKinds.ReceiptItemProductTotal; _ck(_v, 23, 0, currVal_11); var currVal_12 = _co.ruleKinds.ReceiptItemProductQuantityAndTotal; _ck(_v, 25, 0, currVal_12); var currVal_13 = _co.ruleKinds.ReceiptItemProductMinimumQuantity; _ck(_v, 27, 0, currVal_13); var currVal_14 = _co.ruleKinds.ReceiptItemProductMinimumTotal; _ck(_v, 29, 0, currVal_14); var currVal_15 = _co.ruleKinds.ReceiptItemProductMinimumQuantityAndTotal; _ck(_v, 31, 0, currVal_15); }, function (_ck, _v) { var currVal_0 = (_v.context.index + 1); _ck(_v, 3, 0, currVal_0); }); }\nfunction View_RulesetWizardComponent_30(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nfunction View_RulesetWizardComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 112, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \" Rule Set\"])), (_l()(), i1.ɵeld(5, 0, null, null, 3, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 2, \"button\", [[\"class\", \"btn btn-sm btn-outline-primary float-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.cancelForm() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-chevron-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Back\"])), (_l()(), i1.ɵeld(9, 0, null, null, 103, \"form\", [[\"class\", \"form\"], [\"id\", \"create-rule-set-form\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngSubmit\"], [null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngSubmit\" === en)) {\n var pd_2 = (_co.submitForm(i1.ɵnov(_v, 11)) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(10, 16384, null, 0, i6.ɵangular_packages_forms_forms_bh, [], null, null), i1.ɵdid(11, 4210688, [[\"createForm\", 4]], 0, i6.NgForm, [[8, null], [8, null]], null, { ngSubmit: \"ngSubmit\" }), i1.ɵprd(2048, null, i6.ControlContainer, null, [i6.NgForm]), i1.ɵdid(13, 16384, null, 0, i6.NgControlStatusGroup, [[4, i6.ControlContainer]], null, null), (_l()(), i1.ɵeld(14, 0, null, null, 16, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"program-name\"], [\"id\", \"program-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Program\"])), (_l()(), i1.ɵeld(17, 0, null, null, 13, \"select\", [[\"class\", \"form-control\"], [\"id\", \"program-name\"], [\"name\", \"program-name\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.payload.programKey = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.programChange() !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i6.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(19, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i6.RequiredValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.SelectControlValueAccessor]), i1.ɵdid(22, 671744, [[\"programName\", 4]], 0, i6.NgModel, [[2, i6.ControlContainer], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(24, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(25, 0, null, null, 3, \"option\", [[\"selected\", \"\"], [\"value\", \"\"]], null, null, null, null, null)), i1.ɵdid(26, 147456, null, 0, i6.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i6.SelectControlValueAccessor]], { value: [0, \"value\"] }, null), i1.ɵdid(27, 147456, null, 0, i6.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { value: [0, \"value\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Please Select Program\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_4)), i1.ɵdid(30, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(31, 0, null, null, 48, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(32, 0, null, null, 19, \"div\", [[\"class\", \"col-2\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(33, 0, null, null, 18, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"type-name\"], [\"id\", \"type-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Type of Content\"])), (_l()(), i1.ɵeld(36, 0, null, null, 15, \"select\", [[\"class\", \"form-control\"], [\"id\", \"rule-set-type\"], [\"name\", \"rule-set-type\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 37).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 37).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.payload.ruleSetType = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(37, 16384, null, 0, i6.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(38, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i6.RequiredValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.SelectControlValueAccessor]), i1.ɵdid(41, 671744, [[\"formType\", 4]], 0, i6.NgModel, [[2, i6.ControlContainer], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(43, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(44, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(45, 147456, null, 0, i6.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i6.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(46, 147456, null, 0, i6.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"UGC\"])), (_l()(), i1.ɵeld(48, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(49, 147456, null, 0, i6.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i6.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(50, 147456, null, 0, i6.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Receipt\"])), (_l()(), i1.ɵeld(52, 0, null, null, 13, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(53, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(54, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"rule-set-name\"], [\"id\", \"rule-set-name-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(56, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"rule-set-name\"], [\"maxlength\", \"200\"], [\"minlength\", \"3\"], [\"name\", \"rule-set-name\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 57)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 57).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 57)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 57)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.payload.name = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.autoKey(64) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (_co.sanitizeName() !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(57, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(58, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(59, 540672, null, 0, i6.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(60, 540672, null, 0, i6.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i6.RequiredValidator, i6.MinLengthValidator, i6.MaxLengthValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(63, 671744, [[\"formName\", 4]], 0, i6.NgModel, [[2, i6.ControlContainer], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(65, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(66, 0, null, null, 13, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(67, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(68, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"rule-set-key\"], [\"id\", \"rule-set-key-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Key\"])), (_l()(), i1.ɵeld(70, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"id\", \"rule-set-key\"], [\"maxlength\", \"64\"], [\"minlength\", \"3\"], [\"name\", \"rule-set-key\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 71)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 71).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 71)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 71)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.payload.ruleSetKey = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.setAutoFillable(i1.ɵnov(_v, 77).pristine) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (_co.sanitizeKey() !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(71, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(72, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(73, 540672, null, 0, i6.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(74, 540672, null, 0, i6.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i6.RequiredValidator, i6.MinLengthValidator, i6.MaxLengthValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(77, 671744, [[\"formIdentifier\", 4]], 0, i6.NgModel, [[2, i6.ControlContainer], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(79, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(80, 0, null, null, 15, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(81, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"rule-set-key\"], [\"id\", \"rule-set-key-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rule Set Settings\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_5)), i1.ɵdid(84, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(85, 0, null, null, 10, \"div\", [[\"class\", \"row mt-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(86, 0, null, null, 2, \"div\", [[\"class\", \"col-2 text-right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(87, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Auto-Approval\"])), (_l()(), i1.ɵeld(89, 0, null, null, 6, \"div\", [[\"class\", \"col-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(90, 0, null, null, 5, \"ui-switch\", [[\"checkedLabel\", \"Eligible\"], [\"name\", \"isEligibleForAutoApprove\"], [\"uncheckedLabel\", \"Not Eligible\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 91).onToggle($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = ((_co.payload.isEligibleForAutoApprove = $event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i7.View_UiSwitchComponent_0, i7.RenderType_UiSwitchComponent)), i1.ɵdid(91, 49152, null, 0, i8.UiSwitchComponent, [[2, i8.ɵa], i1.ChangeDetectorRef], { checkedLabel: [0, \"checkedLabel\"], uncheckedLabel: [1, \"uncheckedLabel\"] }, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.UiSwitchComponent]), i1.ɵdid(93, 671744, null, 0, i6.NgModel, [[2, i6.ControlContainer], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(95, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(96, 0, null, null, 5, \"div\", [[\"class\", \"row mt-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(97, 0, null, null, 4, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_6)), i1.ɵdid(99, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_7)), i1.ɵdid(101, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(102, 0, null, null, 2, \"div\", [[\"class\", \"card-columns single-column mt-4\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_8)), i1.ɵdid(104, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(105, 0, null, null, 7, \"div\", [[\"class\", \"row mt-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(106, 0, null, null, 6, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(107, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-success\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵted(108, null, [\"\", \" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_30)), i1.ɵdid(110, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(111, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.cancelForm() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], function (_ck, _v) { var _co = _v.component; var currVal_16 = \"\"; _ck(_v, 19, 0, currVal_16); var currVal_17 = \"program-name\"; var currVal_18 = _co.isUpdate; var currVal_19 = _co.payload.programKey; _ck(_v, 22, 0, currVal_17, currVal_18, currVal_19); var currVal_20 = \"\"; _ck(_v, 26, 0, currVal_20); var currVal_21 = \"\"; _ck(_v, 27, 0, currVal_21); var currVal_22 = _co.allPrograms; _ck(_v, 30, 0, currVal_22); var currVal_31 = \"\"; _ck(_v, 38, 0, currVal_31); var currVal_32 = \"rule-set-type\"; var currVal_33 = (_co.isUpdate || (_co.payload.rules.length > 0)); var currVal_34 = _co.payload.ruleSetType; _ck(_v, 41, 0, currVal_32, currVal_33, currVal_34); var currVal_35 = _co.ruleSetTypes.UserGenerated; _ck(_v, 45, 0, currVal_35); var currVal_36 = _co.ruleSetTypes.UserGenerated; _ck(_v, 46, 0, currVal_36); var currVal_37 = _co.ruleSetTypes.Receipt; _ck(_v, 49, 0, currVal_37); var currVal_38 = _co.ruleSetTypes.Receipt; _ck(_v, 50, 0, currVal_38); var currVal_49 = \"\"; _ck(_v, 58, 0, currVal_49); var currVal_50 = \"3\"; _ck(_v, 59, 0, currVal_50); var currVal_51 = \"200\"; _ck(_v, 60, 0, currVal_51); var currVal_52 = \"rule-set-name\"; var currVal_53 = _co.isUpdate; var currVal_54 = _co.payload.name; _ck(_v, 63, 0, currVal_52, currVal_53, currVal_54); var currVal_65 = \"\"; _ck(_v, 72, 0, currVal_65); var currVal_66 = \"3\"; _ck(_v, 73, 0, currVal_66); var currVal_67 = \"64\"; _ck(_v, 74, 0, currVal_67); var currVal_68 = \"rule-set-key\"; var currVal_69 = _co.isUpdate; var currVal_70 = _co.payload.ruleSetKey; _ck(_v, 77, 0, currVal_68, currVal_69, currVal_70); var currVal_71 = (_co.payload.ruleSetType === _co.ruleSetTypes.Receipt); _ck(_v, 84, 0, currVal_71); var currVal_79 = \"Eligible\"; var currVal_80 = \"Not Eligible\"; _ck(_v, 91, 0, currVal_79, currVal_80); var currVal_81 = \"isEligibleForAutoApprove\"; var currVal_82 = _co.payload.isEligibleForAutoApprove; _ck(_v, 93, 0, currVal_81, currVal_82); var currVal_83 = (_co.payload.ruleSetType === _co.ruleSetTypes.UserGenerated); _ck(_v, 99, 0, currVal_83); var currVal_84 = (_co.payload.ruleSetType === _co.ruleSetTypes.Receipt); _ck(_v, 101, 0, currVal_84); var currVal_85 = _co.payload.rules; _ck(_v, 104, 0, currVal_85); var currVal_88 = _co.isSubmitting; _ck(_v, 110, 0, currVal_88); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.title; _ck(_v, 4, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 13).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 13).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 13).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 13).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 13).ngClassValid; var currVal_6 = i1.ɵnov(_v, 13).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 13).ngClassPending; _ck(_v, 9, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_8 = (i1.ɵnov(_v, 19).required ? \"\" : null); var currVal_9 = i1.ɵnov(_v, 24).ngClassUntouched; var currVal_10 = i1.ɵnov(_v, 24).ngClassTouched; var currVal_11 = i1.ɵnov(_v, 24).ngClassPristine; var currVal_12 = i1.ɵnov(_v, 24).ngClassDirty; var currVal_13 = i1.ɵnov(_v, 24).ngClassValid; var currVal_14 = i1.ɵnov(_v, 24).ngClassInvalid; var currVal_15 = i1.ɵnov(_v, 24).ngClassPending; _ck(_v, 17, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15); var currVal_23 = (i1.ɵnov(_v, 38).required ? \"\" : null); var currVal_24 = i1.ɵnov(_v, 43).ngClassUntouched; var currVal_25 = i1.ɵnov(_v, 43).ngClassTouched; var currVal_26 = i1.ɵnov(_v, 43).ngClassPristine; var currVal_27 = i1.ɵnov(_v, 43).ngClassDirty; var currVal_28 = i1.ɵnov(_v, 43).ngClassValid; var currVal_29 = i1.ɵnov(_v, 43).ngClassInvalid; var currVal_30 = i1.ɵnov(_v, 43).ngClassPending; _ck(_v, 36, 0, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30); var currVal_39 = (i1.ɵnov(_v, 58).required ? \"\" : null); var currVal_40 = (i1.ɵnov(_v, 59).minlength ? i1.ɵnov(_v, 59).minlength : null); var currVal_41 = (i1.ɵnov(_v, 60).maxlength ? i1.ɵnov(_v, 60).maxlength : null); var currVal_42 = i1.ɵnov(_v, 65).ngClassUntouched; var currVal_43 = i1.ɵnov(_v, 65).ngClassTouched; var currVal_44 = i1.ɵnov(_v, 65).ngClassPristine; var currVal_45 = i1.ɵnov(_v, 65).ngClassDirty; var currVal_46 = i1.ɵnov(_v, 65).ngClassValid; var currVal_47 = i1.ɵnov(_v, 65).ngClassInvalid; var currVal_48 = i1.ɵnov(_v, 65).ngClassPending; _ck(_v, 56, 0, currVal_39, currVal_40, currVal_41, currVal_42, currVal_43, currVal_44, currVal_45, currVal_46, currVal_47, currVal_48); var currVal_55 = (i1.ɵnov(_v, 72).required ? \"\" : null); var currVal_56 = (i1.ɵnov(_v, 73).minlength ? i1.ɵnov(_v, 73).minlength : null); var currVal_57 = (i1.ɵnov(_v, 74).maxlength ? i1.ɵnov(_v, 74).maxlength : null); var currVal_58 = i1.ɵnov(_v, 79).ngClassUntouched; var currVal_59 = i1.ɵnov(_v, 79).ngClassTouched; var currVal_60 = i1.ɵnov(_v, 79).ngClassPristine; var currVal_61 = i1.ɵnov(_v, 79).ngClassDirty; var currVal_62 = i1.ɵnov(_v, 79).ngClassValid; var currVal_63 = i1.ɵnov(_v, 79).ngClassInvalid; var currVal_64 = i1.ɵnov(_v, 79).ngClassPending; _ck(_v, 70, 0, currVal_55, currVal_56, currVal_57, currVal_58, currVal_59, currVal_60, currVal_61, currVal_62, currVal_63, currVal_64); var currVal_72 = i1.ɵnov(_v, 95).ngClassUntouched; var currVal_73 = i1.ɵnov(_v, 95).ngClassTouched; var currVal_74 = i1.ɵnov(_v, 95).ngClassPristine; var currVal_75 = i1.ɵnov(_v, 95).ngClassDirty; var currVal_76 = i1.ɵnov(_v, 95).ngClassValid; var currVal_77 = i1.ɵnov(_v, 95).ngClassInvalid; var currVal_78 = i1.ɵnov(_v, 95).ngClassPending; _ck(_v, 90, 0, currVal_72, currVal_73, currVal_74, currVal_75, currVal_76, currVal_77, currVal_78); var currVal_86 = (i1.ɵnov(_v, 11).invalid || _co.isSubmitting); _ck(_v, 107, 0, currVal_86); var currVal_87 = _co.submitCtaText; _ck(_v, 108, 0, currVal_87); }); }\nfunction View_RulesetWizardComponent_33(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"rule-key\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.parent.context.rule.ruleKey; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_RulesetWizardComponent_32(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"rule-key-wrap ml-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"i\", [[\"class\", \"fa\"], [\"title\", \"Toggle Rule Key\"]], [[2, \"fa-eye\", null], [2, \"fa-eye-slash\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = ((_v.parent.context.rule.showKey = !_v.parent.context.rule.showKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_33)), i1.ɵdid(3, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_2 = _v.parent.context.rule.showKey; _ck(_v, 3, 0, currVal_2); }, function (_ck, _v) { var currVal_0 = !_v.parent.context.rule.showKey; var currVal_1 = _v.parent.context.rule.showKey; _ck(_v, 1, 0, currVal_0, currVal_1); }); }\nfunction View_RulesetWizardComponent_31(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_32)), i1.ɵdid(1, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = !!_v.context.rule.ruleKey; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_RulesetWizardComponent_35(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Yes / No\"]))], null, null); }\nfunction View_RulesetWizardComponent_36(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Purchase Date\"]))], null, null); }\nfunction View_RulesetWizardComponent_37(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retailer\"]))], null, null); }\nfunction View_RulesetWizardComponent_38(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Quantity\"]))], null, null); }\nfunction View_RulesetWizardComponent_39(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Price\"]))], null, null); }\nfunction View_RulesetWizardComponent_40(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Quantity & Price\"]))], null, null); }\nfunction View_RulesetWizardComponent_41(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Minimum Quantity\"]))], null, null); }\nfunction View_RulesetWizardComponent_42(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Minimum Price\"]))], null, null); }\nfunction View_RulesetWizardComponent_43(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product - Minimum Quantity & Price\"]))], null, null); }\nfunction View_RulesetWizardComponent_34(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 19, null, null, null, null, null, null, null)), i1.ɵdid(1, 16384, null, 0, i9.NgSwitch, [], { ngSwitch: [0, \"ngSwitch\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_35)), i1.ɵdid(3, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_36)), i1.ɵdid(5, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_37)), i1.ɵdid(7, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_38)), i1.ɵdid(9, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_39)), i1.ɵdid(11, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_40)), i1.ɵdid(13, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_41)), i1.ɵdid(15, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_42)), i1.ɵdid(17, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_43)), i1.ɵdid(19, 278528, null, 0, i9.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i9.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.rule.kind; _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.ruleKinds.Boolean; _ck(_v, 3, 0, currVal_1); var currVal_2 = _co.ruleKinds.ReceiptPurchaseDate; _ck(_v, 5, 0, currVal_2); var currVal_3 = _co.ruleKinds.ReceiptStore; _ck(_v, 7, 0, currVal_3); var currVal_4 = _co.ruleKinds.ReceiptItemProductQuantity; _ck(_v, 9, 0, currVal_4); var currVal_5 = _co.ruleKinds.ReceiptItemProductTotal; _ck(_v, 11, 0, currVal_5); var currVal_6 = _co.ruleKinds.ReceiptItemProductQuantityAndTotal; _ck(_v, 13, 0, currVal_6); var currVal_7 = _co.ruleKinds.ReceiptItemProductMinimumQuantity; _ck(_v, 15, 0, currVal_7); var currVal_8 = _co.ruleKinds.ReceiptItemProductMinimumTotal; _ck(_v, 17, 0, currVal_8); var currVal_9 = _co.ruleKinds.ReceiptItemProductMinimumQuantityAndTotal; _ck(_v, 19, 0, currVal_9); }, null); }\nfunction View_RulesetWizardComponent_45(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Minimum Quantity Purchase\"])), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"input\", [[\"class\", \"form-control\"], [\"name\", \"minimumQuantity\"], [\"step\", \"0.01\"], [\"type\", \"number\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 5)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 5)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_7 = ((_v.parent.context.rule.minimumQuantity = $event) !== false);\n ad = (pd_7 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(6, 16384, null, 0, i6.ɵangular_packages_forms_forms_be, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i6.DefaultValueAccessor, i6.ɵangular_packages_forms_forms_be]), i1.ɵdid(8, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(10, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null)], function (_ck, _v) { var currVal_7 = \"minimumQuantity\"; var currVal_8 = _v.parent.context.rule.minimumQuantity; _ck(_v, 8, 0, currVal_7, currVal_8); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_RulesetWizardComponent_46(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Minimum Price Purchase\"])), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"input\", [[\"class\", \"form-control\"], [\"name\", \"minimumTotal\"], [\"step\", \"0.01\"], [\"type\", \"number\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 5)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 5)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_7 = ((_v.parent.context.rule.minimumTotal = $event) !== false);\n ad = (pd_7 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(6, 16384, null, 0, i6.ɵangular_packages_forms_forms_be, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i6.DefaultValueAccessor, i6.ɵangular_packages_forms_forms_be]), i1.ɵdid(8, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(10, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null)], function (_ck, _v) { var currVal_7 = \"minimumTotal\"; var currVal_8 = _v.parent.context.rule.minimumTotal; _ck(_v, 8, 0, currVal_7, currVal_8); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_RulesetWizardComponent_47(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-info\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵted(-1, null, [\" of \"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.rule.filteredProducts.length; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_RulesetWizardComponent_48(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"card borderless\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"input\", [[\"name\", \"product\"], [\"type\", \"checkbox\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.toggleProduct(_v.parent.context.rule, _v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(3, null, [\" \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.selected; _ck(_v, 2, 0, currVal_0); var currVal_1 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_1); }); }\nfunction View_RulesetWizardComponent_44(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_45)), i1.ɵdid(2, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_46)), i1.ɵdid(4, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 39, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 12, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"h6\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Product List\"])), (_l()(), i1.ɵeld(9, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Showing: \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_47)), i1.ɵdid(12, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-info\"]], null, null, null, null, null)), (_l()(), i1.ɵted(14, null, [\"\", \"\"])), (_l()(), i1.ɵeld(15, 0, null, null, 3, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Selected: \"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-success\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵeld(19, 0, null, null, 25, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 10, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 6, \"input\", [[\"class\", \"form-control novalidate\"], [\"placeholder\", \"Search\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 22)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 22)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 22)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_v.context.rule.productFilter = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.filterProducts(_v.context.rule) !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(22, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(24, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { model: [0, \"model\"], options: [1, \"options\"] }, { update: \"ngModelChange\" }), i1.ɵpod(25, { standalone: 0 }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(27, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(28, 0, null, null, 2, \"div\", [[\"class\", \"input-group-append\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clearProductFilter(_v.context.rule) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-secondary\"], [\"type\", \"button\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clear\"])), (_l()(), i1.ɵeld(31, 0, null, null, 7, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(32, 0, null, null, 5, \"input\", [[\"name\", \"showSelectedProductsOnly\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 33).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 33).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_v.context.rule.showSelectedProductsOnly = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.filterProducts(_v.context.rule) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(33, 16384, null, 0, i6.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.CheckboxControlValueAccessor]), i1.ɵdid(35, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(37, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" Show Selected Only\"])), (_l()(), i1.ɵeld(39, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectVisibleProducts(_v.context.rule, true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select Visible\"])), (_l()(), i1.ɵeld(41, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectAllProducts(_v.context.rule, true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select All\"])), (_l()(), i1.ɵeld(43, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectAllProducts(_v.context.rule, false) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clear All\"])), (_l()(), i1.ɵeld(45, 0, null, null, 0, \"hr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(46, 0, null, null, 4, \"div\", [[\"class\", \"card-columns\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 3, null, View_RulesetWizardComponent_48)), i1.ɵdid(48, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), i1.ɵpod(49, { itemsPerPage: 0, currentPage: 1, id: 2 }), i1.ɵpid(0, i10.PaginatePipe, [i10.PaginationService]), (_l()(), i1.ɵeld(51, 0, null, null, 1, \"pagination-controls\", [[\"id\", \"productPagination\"]], null, [[null, \"pageChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"pageChange\" === en)) {\n var pd_0 = (_co.productPageChange(_v.context.rule, $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i11.View_PaginationControlsComponent_0, i11.RenderType_PaginationControlsComponent)), i1.ɵdid(52, 49152, null, 0, i10.PaginationControlsComponent, [], { id: [0, \"id\"] }, { pageChange: \"pageChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_v.context.rule.kind === _co.ruleKinds.ReceiptItemProductMinimumQuantity) || (_v.context.rule.kind === _co.ruleKinds.ReceiptItemProductMinimumQuantityAndTotal)); _ck(_v, 2, 0, currVal_0); var currVal_1 = ((_v.context.rule.kind === _co.ruleKinds.ReceiptItemProductMinimumTotal) || (_v.context.rule.kind === _co.ruleKinds.ReceiptItemProductMinimumQuantityAndTotal)); _ck(_v, 4, 0, currVal_1); var currVal_2 = _v.context.rule.productFilter; _ck(_v, 12, 0, currVal_2); var currVal_12 = _v.context.rule.productFilter; var currVal_13 = _ck(_v, 25, 0, true); _ck(_v, 24, 0, currVal_12, currVal_13); var currVal_21 = \"showSelectedProductsOnly\"; var currVal_22 = _v.context.rule.showSelectedProductsOnly; _ck(_v, 35, 0, currVal_21, currVal_22); var currVal_23 = i1.ɵunv(_v, 48, 0, i1.ɵnov(_v, 50).transform(_v.context.rule.filteredProducts, _ck(_v, 49, 0, _co.itemsPerPage, _v.context.rule.productPageNumber, \"productPagination\"))); _ck(_v, 48, 0, currVal_23); var currVal_24 = \"productPagination\"; _ck(_v, 52, 0, currVal_24); }, function (_ck, _v) { var currVal_3 = _v.context.rule.allProducts.length; _ck(_v, 14, 0, currVal_3); var currVal_4 = _v.context.rule.products.length; _ck(_v, 18, 0, currVal_4); var currVal_5 = i1.ɵnov(_v, 27).ngClassUntouched; var currVal_6 = i1.ɵnov(_v, 27).ngClassTouched; var currVal_7 = i1.ɵnov(_v, 27).ngClassPristine; var currVal_8 = i1.ɵnov(_v, 27).ngClassDirty; var currVal_9 = i1.ɵnov(_v, 27).ngClassValid; var currVal_10 = i1.ɵnov(_v, 27).ngClassInvalid; var currVal_11 = i1.ɵnov(_v, 27).ngClassPending; _ck(_v, 21, 0, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_14 = i1.ɵnov(_v, 37).ngClassUntouched; var currVal_15 = i1.ɵnov(_v, 37).ngClassTouched; var currVal_16 = i1.ɵnov(_v, 37).ngClassPristine; var currVal_17 = i1.ɵnov(_v, 37).ngClassDirty; var currVal_18 = i1.ɵnov(_v, 37).ngClassValid; var currVal_19 = i1.ɵnov(_v, 37).ngClassInvalid; var currVal_20 = i1.ɵnov(_v, 37).ngClassPending; _ck(_v, 32, 0, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20); }); }\nfunction View_RulesetWizardComponent_50(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-info\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵted(-1, null, [\" of \"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.rule.filteredStores.length; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_RulesetWizardComponent_51(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"card borderless\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"input\", [[\"name\", \"store\"], [\"type\", \"checkbox\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.toggleStore(_v.parent.context.rule, _v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(3, null, [\" \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.selected; _ck(_v, 2, 0, currVal_0); var currVal_1 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_1); }); }\nfunction View_RulesetWizardComponent_49(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 39, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 12, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"h6\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retailer List\"])), (_l()(), i1.ɵeld(4, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Showing: \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_50)), i1.ɵdid(7, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-info\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Selected: \"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"span\", [[\"class\", \"badge badge-success\"]], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 25, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 10, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 6, \"input\", [[\"class\", \"form-control novalidate\"], [\"placeholder\", \"Search\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 17)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 17).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 17)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 17)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_v.context.rule.storeFilter = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.filterStores(_v.context.rule) !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(17, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(19, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { model: [0, \"model\"], options: [1, \"options\"] }, { update: \"ngModelChange\" }), i1.ɵpod(20, { standalone: 0 }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(22, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(23, 0, null, null, 2, \"div\", [[\"class\", \"input-group-append\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clearStoreFilter(_v.context.rule) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-secondary\"], [\"type\", \"button\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clear\"])), (_l()(), i1.ɵeld(26, 0, null, null, 7, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(27, 0, null, null, 5, \"input\", [[\"name\", \"showSelectedStoresOnly\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 28).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 28).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_v.context.rule.showSelectedStoresOnly = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.filterStores(_v.context.rule) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(28, 16384, null, 0, i6.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.CheckboxControlValueAccessor]), i1.ɵdid(30, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(32, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" Show Selected Only\"])), (_l()(), i1.ɵeld(34, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectVisibleStores(_v.context.rule, true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select Visible\"])), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectAllStores(_v.context.rule, true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select All\"])), (_l()(), i1.ɵeld(38, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-link\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.selectAllStores(_v.context.rule, false) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clear All\"])), (_l()(), i1.ɵeld(40, 0, null, null, 0, \"hr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(41, 0, null, null, 4, \"div\", [[\"class\", \"card-columns\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 3, null, View_RulesetWizardComponent_51)), i1.ɵdid(43, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), i1.ɵpod(44, { itemsPerPage: 0, currentPage: 1, id: 2 }), i1.ɵpid(0, i10.PaginatePipe, [i10.PaginationService]), (_l()(), i1.ɵeld(46, 0, null, null, 1, \"pagination-controls\", [[\"id\", \"storePagination\"]], null, [[null, \"pageChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"pageChange\" === en)) {\n var pd_0 = (_co.storePageChange(_v.context.rule, $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i11.View_PaginationControlsComponent_0, i11.RenderType_PaginationControlsComponent)), i1.ɵdid(47, 49152, null, 0, i10.PaginationControlsComponent, [], { id: [0, \"id\"] }, { pageChange: \"pageChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.rule.storeFilter; _ck(_v, 7, 0, currVal_0); var currVal_10 = _v.context.rule.storeFilter; var currVal_11 = _ck(_v, 20, 0, true); _ck(_v, 19, 0, currVal_10, currVal_11); var currVal_19 = \"showSelectedStoresOnly\"; var currVal_20 = _v.context.rule.showSelectedStoresOnly; _ck(_v, 30, 0, currVal_19, currVal_20); var currVal_21 = i1.ɵunv(_v, 43, 0, i1.ɵnov(_v, 45).transform(_v.context.rule.filteredStores, _ck(_v, 44, 0, _co.itemsPerPage, _v.context.rule.storePageNumber, \"storePagination\"))); _ck(_v, 43, 0, currVal_21); var currVal_22 = \"storePagination\"; _ck(_v, 47, 0, currVal_22); }, function (_ck, _v) { var currVal_1 = _v.context.rule.allStores.length; _ck(_v, 9, 0, currVal_1); var currVal_2 = _v.context.rule.stores.length; _ck(_v, 13, 0, currVal_2); var currVal_3 = i1.ɵnov(_v, 22).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 22).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 22).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 22).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 22).ngClassValid; var currVal_8 = i1.ɵnov(_v, 22).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 22).ngClassPending; _ck(_v, 16, 0, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_12 = i1.ɵnov(_v, 32).ngClassUntouched; var currVal_13 = i1.ɵnov(_v, 32).ngClassTouched; var currVal_14 = i1.ɵnov(_v, 32).ngClassPristine; var currVal_15 = i1.ɵnov(_v, 32).ngClassDirty; var currVal_16 = i1.ɵnov(_v, 32).ngClassValid; var currVal_17 = i1.ɵnov(_v, 32).ngClassInvalid; var currVal_18 = i1.ɵnov(_v, 32).ngClassPending; _ck(_v, 27, 0, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18); }); }\nfunction View_RulesetWizardComponent_52(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 8, \"ul\", [[\"class\", \"notes\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"li\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"i\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Note 1:\"])), (_l()(), i1.ɵted(-1, null, [\" The Start and End dates & times are inclusive.\"])), (_l()(), i1.ɵeld(7, 0, null, null, 3, \"li\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"i\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Note 2:\"])), (_l()(), i1.ɵted(-1, null, [\" Time zones do not apply to purchase periods.\"])), (_l()(), i1.ɵeld(11, 0, null, null, 39, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 18, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"purchaseOnStart\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Start Date\"])), (_l()(), i1.ɵeld(15, 0, null, null, 15, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 8, \"input\", [[\"class\", \"form-control\"], [\"name\", \"purchaseOnStartInput\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"aria-haspopup\", 0], [1, \"aria-owns\", 0], [1, \"min\", 0], [1, \"max\", 0], [8, \"disabled\", 0], [1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keydown\"], [null, \"blur\"], [null, \"input\"], [null, \"change\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"keydown\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 17).handleKeydownOnHost($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 17).handleBlurOnHost($event) !== false);\n ad = (pd_1 && ad);\n } if ((\"input\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 17).handleInputOnHost($event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 17).handleChangeOnHost($event) !== false);\n ad = (pd_3 && ad);\n } if ((\"input\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 18)._handleInput($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 18)._compositionStart() !== false);\n ad = (pd_6 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 18)._compositionEnd($event.target.value) !== false);\n ad = (pd_7 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_8 = ((_v.context.rule.receiptPurchasedOnStart = $event) !== false);\n ad = (pd_8 && ad);\n } return ad; }, null, null)), i1.ɵdid(17, 1261568, null, 0, i12.OwlDateTimeInputDirective, [i1.ElementRef, i1.Renderer2, [2, i13.DateTimeAdapter], [2, i14.OWL_DATE_TIME_FORMATS]], { owlDateTime: [0, \"owlDateTime\"] }, null), i1.ɵdid(18, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(19, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i12.OwlDateTimeInputDirective, i6.RequiredValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i12.OwlDateTimeInputDirective, i6.DefaultValueAccessor]), i1.ɵdid(22, 671744, [[\"purchaseOnStartInput\", 4]], 0, i6.NgModel, [[8, null], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(24, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(25, 16777216, null, null, 1, \"owl-date-time\", [[\"pickerMode\", \"dialog\"], [\"pickerType\", \"both\"]], null, null, null, i15.View_OwlDateTimeComponent_0, i15.RenderType_OwlDateTimeComponent)), i1.ɵdid(26, 245760, [[\"purchaseOnStart\", 4]], 0, i16.OwlDateTimeComponent, [i17.Overlay, i1.ViewContainerRef, i18.OwlDialogService, i1.NgZone, i1.ChangeDetectorRef, [2, i13.DateTimeAdapter], i16.OWL_DTPICKER_SCROLL_STRATEGY, [2, i14.OWL_DATE_TIME_FORMATS], [2, i9.DOCUMENT]], { hour12Timer: [0, \"hour12Timer\"], pickerType: [1, \"pickerType\"], pickerMode: [2, \"pickerMode\"] }, null), (_l()(), i1.ɵeld(27, 0, null, null, 3, \"div\", [[\"class\", \"input-group-append\"]], [[2, \"owl-dt-trigger-disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 28).handleClickOnHost($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(28, 1785856, null, 0, i19.OwlDateTimeTriggerDirective, [i1.ChangeDetectorRef], { dtPicker: [0, \"dtPicker\"] }, null), (_l()(), i1.ɵeld(29, 0, null, null, 1, \"span\", [[\"class\", \"input-group-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-calendar cursor-pointer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 19, \"div\", [[\"class\", \"col\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(32, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"purchaseOnEnd\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"End Date\"])), (_l()(), i1.ɵeld(34, 0, null, null, 16, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"name\", \"purchaseOnEndInput\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"aria-haspopup\", 0], [1, \"aria-owns\", 0], [1, \"min\", 0], [1, \"max\", 0], [8, \"disabled\", 0], [1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keydown\"], [null, \"blur\"], [null, \"input\"], [null, \"change\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"keydown\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 36).handleKeydownOnHost($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 36).handleBlurOnHost($event) !== false);\n ad = (pd_1 && ad);\n } if ((\"input\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 36).handleInputOnHost($event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 36).handleChangeOnHost($event) !== false);\n ad = (pd_3 && ad);\n } if ((\"input\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 37)._handleInput($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 37).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 37)._compositionStart() !== false);\n ad = (pd_6 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 37)._compositionEnd($event.target.value) !== false);\n ad = (pd_7 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_8 = ((_v.context.rule.receiptPurchasedOnEnd = $event) !== false);\n ad = (pd_8 && ad);\n } return ad; }, null, null)), i1.ɵdid(36, 1261568, null, 0, i12.OwlDateTimeInputDirective, [i1.ElementRef, i1.Renderer2, [2, i13.DateTimeAdapter], [2, i14.OWL_DATE_TIME_FORMATS]], { owlDateTime: [0, \"owlDateTime\"], min: [1, \"min\"] }, null), i1.ɵdid(37, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(38, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(39, 606208, null, 0, i20.ɵbq, [], { min: [0, \"min\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i12.OwlDateTimeInputDirective, i6.RequiredValidator, i20.ɵbq]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i12.OwlDateTimeInputDirective, i6.DefaultValueAccessor]), i1.ɵdid(42, 671744, [[\"purchaseOnEndInput\", 4]], 0, i6.NgModel, [[8, null], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(44, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(45, 16777216, null, null, 1, \"owl-date-time\", [[\"pickerMode\", \"dialog\"], [\"pickerType\", \"both\"]], null, null, null, i15.View_OwlDateTimeComponent_0, i15.RenderType_OwlDateTimeComponent)), i1.ɵdid(46, 245760, [[\"purchaseOnEnd\", 4]], 0, i16.OwlDateTimeComponent, [i17.Overlay, i1.ViewContainerRef, i18.OwlDialogService, i1.NgZone, i1.ChangeDetectorRef, [2, i13.DateTimeAdapter], i16.OWL_DTPICKER_SCROLL_STRATEGY, [2, i14.OWL_DATE_TIME_FORMATS], [2, i9.DOCUMENT]], { hour12Timer: [0, \"hour12Timer\"], pickerType: [1, \"pickerType\"], pickerMode: [2, \"pickerMode\"] }, null), (_l()(), i1.ɵeld(47, 0, null, null, 3, \"div\", [[\"class\", \"input-group-append\"]], [[2, \"owl-dt-trigger-disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 48).handleClickOnHost($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(48, 1785856, null, 0, i19.OwlDateTimeTriggerDirective, [i1.ChangeDetectorRef], { dtPicker: [0, \"dtPicker\"] }, null), (_l()(), i1.ɵeld(49, 0, null, null, 1, \"span\", [[\"class\", \"input-group-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(50, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-calendar cursor-pointer\"]], null, null, null, null, null))], function (_ck, _v) { var currVal_13 = i1.ɵnov(_v, 26); _ck(_v, 17, 0, currVal_13); var currVal_14 = \"\"; _ck(_v, 19, 0, currVal_14); var currVal_15 = \"purchaseOnStartInput\"; var currVal_16 = _v.context.rule.receiptPurchasedOnStart; _ck(_v, 22, 0, currVal_15, currVal_16); var currVal_17 = true; var currVal_18 = \"both\"; var currVal_19 = \"dialog\"; _ck(_v, 26, 0, currVal_17, currVal_18, currVal_19); var currVal_21 = i1.ɵnov(_v, 26); _ck(_v, 28, 0, currVal_21); var currVal_35 = i1.ɵnov(_v, 46); var currVal_36 = _v.context.rule.receiptPurchasedOnStart; _ck(_v, 36, 0, currVal_35, currVal_36); var currVal_37 = \"\"; _ck(_v, 38, 0, currVal_37); var currVal_38 = _v.context.rule.receiptPurchasedOnStart; _ck(_v, 39, 0, currVal_38); var currVal_39 = \"purchaseOnEndInput\"; var currVal_40 = _v.context.rule.receiptPurchasedOnEnd; _ck(_v, 42, 0, currVal_39, currVal_40); var currVal_41 = true; var currVal_42 = \"both\"; var currVal_43 = \"dialog\"; _ck(_v, 46, 0, currVal_41, currVal_42, currVal_43); var currVal_45 = i1.ɵnov(_v, 46); _ck(_v, 48, 0, currVal_45); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 17).owlDateTimeInputAriaHaspopup; var currVal_1 = i1.ɵnov(_v, 17).owlDateTimeInputAriaOwns; var currVal_2 = i1.ɵnov(_v, 17).minIso8601; var currVal_3 = i1.ɵnov(_v, 17).maxIso8601; var currVal_4 = i1.ɵnov(_v, 17).owlDateTimeInputDisabled; var currVal_5 = (i1.ɵnov(_v, 19).required ? \"\" : null); var currVal_6 = i1.ɵnov(_v, 24).ngClassUntouched; var currVal_7 = i1.ɵnov(_v, 24).ngClassTouched; var currVal_8 = i1.ɵnov(_v, 24).ngClassPristine; var currVal_9 = i1.ɵnov(_v, 24).ngClassDirty; var currVal_10 = i1.ɵnov(_v, 24).ngClassValid; var currVal_11 = i1.ɵnov(_v, 24).ngClassInvalid; var currVal_12 = i1.ɵnov(_v, 24).ngClassPending; _ck(_v, 16, 1, [currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12]); var currVal_20 = i1.ɵnov(_v, 28).owlDTTriggerDisabledClass; _ck(_v, 27, 0, currVal_20); var currVal_22 = i1.ɵnov(_v, 36).owlDateTimeInputAriaHaspopup; var currVal_23 = i1.ɵnov(_v, 36).owlDateTimeInputAriaOwns; var currVal_24 = i1.ɵnov(_v, 36).minIso8601; var currVal_25 = i1.ɵnov(_v, 36).maxIso8601; var currVal_26 = i1.ɵnov(_v, 36).owlDateTimeInputDisabled; var currVal_27 = (i1.ɵnov(_v, 38).required ? \"\" : null); var currVal_28 = i1.ɵnov(_v, 44).ngClassUntouched; var currVal_29 = i1.ɵnov(_v, 44).ngClassTouched; var currVal_30 = i1.ɵnov(_v, 44).ngClassPristine; var currVal_31 = i1.ɵnov(_v, 44).ngClassDirty; var currVal_32 = i1.ɵnov(_v, 44).ngClassValid; var currVal_33 = i1.ɵnov(_v, 44).ngClassInvalid; var currVal_34 = i1.ɵnov(_v, 44).ngClassPending; _ck(_v, 35, 1, [currVal_22, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32, currVal_33, currVal_34]); var currVal_44 = i1.ɵnov(_v, 48).owlDTTriggerDisabledClass; _ck(_v, 47, 0, currVal_44); }); }\nfunction View_RulesetWizardComponent_53(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 39, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 13, \"div\", [[\"class\", \"col-8\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"rule-text\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Yes/No Question\"])), (_l()(), i1.ɵeld(5, 0, null, null, 9, \"input\", [[\"class\", \"form-control\"], [\"maxlength\", \"200\"], [\"minlength\", \"3\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 6)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 6)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_v.context.rule.text = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(7, 16384, null, 0, i6.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(8, 540672, null, 0, i6.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵdid(9, 540672, null, 0, i6.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i6.NG_VALIDATORS, function (p0_0, p1_0, p2_0) { return [p0_0, p1_0, p2_0]; }, [i6.RequiredValidator, i6.MinLengthValidator, i6.MaxLengthValidator]), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(12, 671744, null, 0, i6.NgModel, [[8, null], [6, i6.NG_VALIDATORS], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(14, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(15, 0, null, null, 24, \"div\", [[\"class\", \"col-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 23, \"div\", [[\"class\", \"form-group ml-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Passing Value\"])), (_l()(), i1.ɵeld(19, 0, null, null, 20, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], [[2, \"passing\", null]], null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input novalidate\"], [\"type\", \"radio\"]], [[8, \"id\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 22)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 22)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 22)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 23).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 23).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_v.context.rule.passingBooleanValue = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(22, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(23, 212992, null, 0, i6.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i6.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i6.DefaultValueAccessor, i6.RadioControlValueAccessor]), i1.ɵdid(25, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(27, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"]], [[8, \"htmlFor\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Yes\"])), (_l()(), i1.ɵeld(30, 0, null, null, 9, \"div\", [[\"class\", \"form-check form-check-inline\"]], [[2, \"passing\", null]], null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 6, \"input\", [[\"class\", \"form-check-input novalidate\"], [\"type\", \"radio\"]], [[8, \"id\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 32)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 32).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 32)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 32)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 33).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 33).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_v.context.rule.passingBooleanValue = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(32, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(33, 212992, null, 0, i6.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i6.ɵangular_packages_forms_forms_j, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i6.DefaultValueAccessor, i6.RadioControlValueAccessor]), i1.ɵdid(35, 671744, null, 0, i6.NgModel, [[8, null], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(37, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(38, 0, null, null, 1, \"label\", [[\"class\", \"form-check-label\"]], [[8, \"htmlFor\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No\"]))], function (_ck, _v) { var currVal_10 = \"\"; _ck(_v, 7, 0, currVal_10); var currVal_11 = \"3\"; _ck(_v, 8, 0, currVal_11); var currVal_12 = \"200\"; _ck(_v, 9, 0, currVal_12); var currVal_13 = i1.ɵinlineInterpolate(1, \"ruleText_\", _v.context.index, \"\"); var currVal_14 = _v.context.rule.text; _ck(_v, 12, 0, currVal_13, currVal_14); var currVal_24 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"\"); var currVal_25 = true; _ck(_v, 23, 0, currVal_24, currVal_25); var currVal_26 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"\"); var currVal_27 = _v.context.rule.passingBooleanValue; _ck(_v, 25, 0, currVal_26, currVal_27); var currVal_38 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"\"); var currVal_39 = false; _ck(_v, 33, 0, currVal_38, currVal_39); var currVal_40 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"\"); var currVal_41 = _v.context.rule.passingBooleanValue; _ck(_v, 35, 0, currVal_40, currVal_41); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 7).required ? \"\" : null); var currVal_1 = (i1.ɵnov(_v, 8).minlength ? i1.ɵnov(_v, 8).minlength : null); var currVal_2 = (i1.ɵnov(_v, 9).maxlength ? i1.ɵnov(_v, 9).maxlength : null); var currVal_3 = i1.ɵnov(_v, 14).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 14).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 14).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 14).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 14).ngClassValid; var currVal_8 = i1.ɵnov(_v, 14).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 14).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_15 = _v.context.rule.passingBooleanValue; _ck(_v, 20, 0, currVal_15); var currVal_16 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"_true\"); var currVal_17 = i1.ɵnov(_v, 27).ngClassUntouched; var currVal_18 = i1.ɵnov(_v, 27).ngClassTouched; var currVal_19 = i1.ɵnov(_v, 27).ngClassPristine; var currVal_20 = i1.ɵnov(_v, 27).ngClassDirty; var currVal_21 = i1.ɵnov(_v, 27).ngClassValid; var currVal_22 = i1.ɵnov(_v, 27).ngClassInvalid; var currVal_23 = i1.ɵnov(_v, 27).ngClassPending; _ck(_v, 21, 0, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23); var currVal_28 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"_true\"); _ck(_v, 28, 0, currVal_28); var currVal_29 = !_v.context.rule.passingBooleanValue; _ck(_v, 30, 0, currVal_29); var currVal_30 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"_false\"); var currVal_31 = i1.ɵnov(_v, 37).ngClassUntouched; var currVal_32 = i1.ɵnov(_v, 37).ngClassTouched; var currVal_33 = i1.ɵnov(_v, 37).ngClassPristine; var currVal_34 = i1.ɵnov(_v, 37).ngClassDirty; var currVal_35 = i1.ɵnov(_v, 37).ngClassValid; var currVal_36 = i1.ɵnov(_v, 37).ngClassInvalid; var currVal_37 = i1.ɵnov(_v, 37).ngClassPending; _ck(_v, 31, 0, currVal_30, currVal_31, currVal_32, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37); var currVal_42 = i1.ɵinlineInterpolate(1, \"passingBooleanValue_\", _v.context.index, \"_false\"); _ck(_v, 38, 0, currVal_42); }); }\nfunction View_RulesetWizardComponent_54(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select Product Rule Type\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.productRuleKindSelectorModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 20, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 9, \"div\", [[\"class\", \"row mb-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Minimum Purchase Required \"])), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductMinimumQuantity) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Quantity\"])), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductMinimumTotal) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Price\"])), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductMinimumQuantityAndTotal) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Both\"])), (_l()(), i1.ɵeld(17, 0, null, null, 9, \"div\", [[\"class\", \"row mb-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 1, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" No Minimum Required \"])), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"div\", [[\"class\", \"col-6\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-secondary\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductQuantity) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Quantity\"])), (_l()(), i1.ɵeld(23, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-secondary\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductTotal) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Price\"])), (_l()(), i1.ɵeld(25, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline-secondary\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addRuleProductBased(_co.ruleKinds.ReceiptItemProductQuantityAndTotal) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Both\"]))], null, null); }\nexport function View_RulesetWizardComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"container mb-5\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_1)), i1.ɵdid(2, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_2)), i1.ɵdid(4, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RulesetWizardComponent_3)), i1.ɵdid(6, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, [[\"ruleKeyViewer\", 2]], null, 0, null, View_RulesetWizardComponent_31)), (_l()(), i1.ɵand(0, [[\"ruleTypeName\", 2]], null, 0, null, View_RulesetWizardComponent_34)), (_l()(), i1.ɵand(0, [[\"ruleReceiptProductBased\", 2]], null, 0, null, View_RulesetWizardComponent_44)), (_l()(), i1.ɵand(0, [[\"ruleReceiptStore\", 2]], null, 0, null, View_RulesetWizardComponent_49)), (_l()(), i1.ɵand(0, [[\"ruleReceiptPurchaseDate\", 2]], null, 0, null, View_RulesetWizardComponent_52)), (_l()(), i1.ɵand(0, [[\"ruleBoolean\", 2]], null, 0, null, View_RulesetWizardComponent_53)), (_l()(), i1.ɵand(0, [[\"productRuleKindSelector\", 2]], null, 0, null, View_RulesetWizardComponent_54))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert; _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 4, 0, currVal_1); var currVal_2 = !_co.isLoading; _ck(_v, 6, 0, currVal_2); }, null); }\nexport function View_RulesetWizardComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-ruleset-wizard\", [], null, null, null, View_RulesetWizardComponent_0, RenderType_RulesetWizardComponent)), i1.ɵdid(1, 114688, null, 0, i21.RulesetWizardComponent, [i22.Router, i22.ActivatedRoute, i23.RuleSetApiService, i24.BsModalService, i25.StoreApiService, i26.ProductApiService, i27.TzPipe, i28.ProgramApiService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RulesetWizardComponentNgFactory = i1.ɵccf(\"app-ruleset-wizard\", i21.RulesetWizardComponent, View_RulesetWizardComponent_Host_0, {}, {}, []);\nexport { RulesetWizardComponentNgFactory as RulesetWizardComponentNgFactory };\n","
\n {{ alert.message }}\n
\n \n
\n \n
\n
\n

{{ title }} Rule Set

\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 \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
\n Rule #{{ index + 1 }} - \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 {{ rule.ruleKey }}\n
\n
\n\n\n \n Yes / No\n Purchase Date\n Retailer\n Product - Quantity\n Product - Price\n Product - Quantity & Price\n Product - Minimum Quantity\n Product - Minimum Price\n Product - Minimum Quantity & Price\n \n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
Product List
\n
\n Showing:\n {{ rule.filteredProducts.length }} of\n \n {{ rule.allProducts.length }}\n
\n
\n Selected: {{ rule.products.length }}\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
Retailer List
\n
\n Showing:\n {{ rule.filteredStores.length }} of\n \n {{ rule.allStores.length }}\n
\n
\n Selected: {{ rule.stores.length }}\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
  • Note 1: The Start and End dates & times are inclusive.
  • \n
  • Note 2: Time zones do not apply to purchase periods.
  • \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
\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

Select Product Rule Type

\n \n
\n
\n
\n
\n Minimum Purchase Required\n
\n
\n \n \n \n
\n
\n
\n
\n No Minimum Required\n
\n
\n \n \n \n
\n
\n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"@charset \\\"UTF-8\\\";\\n\\n[_ngcontent-%COMP%]:root {\\n --blue: #007bff;\\n --indigo: #6610f2;\\n --purple: #6f42c1;\\n --pink: #e83e8c;\\n --red: #dc3545;\\n --orange: #fd7e14;\\n --yellow: #ffc107;\\n --green: #28a745;\\n --teal: #20c997;\\n --cyan: #17a2b8;\\n --white: #fff;\\n --gray: #6c757d;\\n --gray-dark: #343a40;\\n --primary: #007bff;\\n --secondary: #6c757d;\\n --success: #28a745;\\n --info: #17a2b8;\\n --warning: #ffc107;\\n --danger: #dc3545;\\n --light: #f8f9fa;\\n --dark: #343a40;\\n --breakpoint-xs: 0;\\n --breakpoint-sm: 576px;\\n --breakpoint-md: 768px;\\n --breakpoint-lg: 992px;\\n --breakpoint-xl: 1200px;\\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\n*[_ngcontent-%COMP%], *[_ngcontent-%COMP%]::before, *[_ngcontent-%COMP%]::after {\\n box-sizing: border-box;\\n}\\nhtml[_ngcontent-%COMP%] {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -ms-text-size-adjust: 100%;\\n -ms-overflow-style: scrollbar;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n@-ms-viewport {\\n width: device-width;\\n}\\narticle[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], dialog[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%] {\\n display: block;\\n}\\nbody[_ngcontent-%COMP%] {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff;\\n}\\n[tabindex=\\\"-1\\\"][_ngcontent-%COMP%]:focus {\\n outline: 0 !important;\\n}\\nhr[_ngcontent-%COMP%] {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n}\\nh1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-bottom: 0.5rem;\\n}\\np[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\nabbr[title][_ngcontent-%COMP%], abbr[data-original-title][_ngcontent-%COMP%] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n}\\naddress[_ngcontent-%COMP%] {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit;\\n}\\nol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%], dl[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\nol[_ngcontent-%COMP%] ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], ol[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n}\\ndt[_ngcontent-%COMP%] {\\n font-weight: 700;\\n}\\ndd[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem;\\n margin-left: 0;\\n}\\nblockquote[_ngcontent-%COMP%] {\\n margin: 0 0 1rem;\\n}\\ndfn[_ngcontent-%COMP%] {\\n font-style: italic;\\n}\\nb[_ngcontent-%COMP%], strong[_ngcontent-%COMP%] {\\n font-weight: bolder;\\n}\\nsmall[_ngcontent-%COMP%] {\\n font-size: 80%;\\n}\\nsub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%] {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n}\\nsub[_ngcontent-%COMP%] {\\n bottom: -0.25em;\\n}\\nsup[_ngcontent-%COMP%] {\\n top: -0.5em;\\n}\\na[_ngcontent-%COMP%] {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n -webkit-text-decoration-skip: objects;\\n}\\na[_ngcontent-%COMP%]:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n}\\na[_ngcontent-%COMP%]:not([href]):not([tabindex]) {\\n color: inherit;\\n text-decoration: none;\\n}\\na[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus {\\n color: inherit;\\n text-decoration: none;\\n}\\na[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus {\\n outline: 0;\\n}\\npre[_ngcontent-%COMP%], code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], samp[_ngcontent-%COMP%] {\\n font-family: monospace, monospace;\\n font-size: 1em;\\n}\\npre[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n overflow: auto;\\n -ms-overflow-style: scrollbar;\\n}\\nfigure[_ngcontent-%COMP%] {\\n margin: 0 0 1rem;\\n}\\nimg[_ngcontent-%COMP%] {\\n vertical-align: middle;\\n border-style: none;\\n}\\nsvg[_ngcontent-%COMP%]:not(:root) {\\n overflow: hidden;\\n}\\ntable[_ngcontent-%COMP%] {\\n border-collapse: collapse;\\n}\\ncaption[_ngcontent-%COMP%] {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n}\\nth[_ngcontent-%COMP%] {\\n text-align: inherit;\\n}\\nlabel[_ngcontent-%COMP%] {\\n display: inline-block;\\n margin-bottom: 0.5rem;\\n}\\nbutton[_ngcontent-%COMP%] {\\n border-radius: 0;\\n}\\nbutton[_ngcontent-%COMP%]:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\ninput[_ngcontent-%COMP%], button[_ngcontent-%COMP%], select[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%] {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}\\nbutton[_ngcontent-%COMP%], input[_ngcontent-%COMP%] {\\n overflow: visible;\\n}\\nbutton[_ngcontent-%COMP%], select[_ngcontent-%COMP%] {\\n text-transform: none;\\n}\\nbutton[_ngcontent-%COMP%], html[_ngcontent-%COMP%] [type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%] {\\n -webkit-appearance: button;\\n}\\nbutton[_ngcontent-%COMP%]::-moz-focus-inner, [type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}\\ninput[type=radio][_ngcontent-%COMP%], input[type=checkbox][_ngcontent-%COMP%] {\\n box-sizing: border-box;\\n padding: 0;\\n}\\ninput[type=date][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%] {\\n -webkit-appearance: listbox;\\n}\\ntextarea[_ngcontent-%COMP%] {\\n overflow: auto;\\n resize: vertical;\\n}\\nfieldset[_ngcontent-%COMP%] {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n}\\nlegend[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 0.5rem;\\n font-size: 1.5rem;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n}\\nprogress[_ngcontent-%COMP%] {\\n vertical-align: baseline;\\n}\\n[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button {\\n height: auto;\\n}\\n[type=search][_ngcontent-%COMP%] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n}\\n[type=search][_ngcontent-%COMP%]::-webkit-search-cancel-button, [type=search][_ngcontent-%COMP%]::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n[_ngcontent-%COMP%]::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n}\\noutput[_ngcontent-%COMP%] {\\n display: inline-block;\\n}\\nsummary[_ngcontent-%COMP%] {\\n display: list-item;\\n cursor: pointer;\\n}\\ntemplate[_ngcontent-%COMP%] {\\n display: none;\\n}\\n[hidden][_ngcontent-%COMP%] {\\n display: none !important;\\n}\\nh1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%], .h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem;\\n font-family: inherit;\\n font-weight: 500;\\n line-height: 1.2;\\n color: inherit;\\n}\\nh1[_ngcontent-%COMP%], .h1[_ngcontent-%COMP%] {\\n font-size: 2.5rem;\\n}\\nh2[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%] {\\n font-size: 2rem;\\n}\\nh3[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%] {\\n font-size: 1.75rem;\\n}\\nh4[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%] {\\n font-size: 1.5rem;\\n}\\nh5[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%] {\\n font-size: 1.25rem;\\n}\\nh6[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%] {\\n font-size: 1rem;\\n}\\n.lead[_ngcontent-%COMP%] {\\n font-size: 1.25rem;\\n font-weight: 300;\\n}\\n.display-1[_ngcontent-%COMP%] {\\n font-size: 6rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n.display-2[_ngcontent-%COMP%] {\\n font-size: 5.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n.display-3[_ngcontent-%COMP%] {\\n font-size: 4.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n.display-4[_ngcontent-%COMP%] {\\n font-size: 3.5rem;\\n font-weight: 300;\\n line-height: 1.2;\\n}\\nhr[_ngcontent-%COMP%] {\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n border: 0;\\n border-top: 1px solid rgba(0, 0, 0, 0.1);\\n}\\nsmall[_ngcontent-%COMP%], .small[_ngcontent-%COMP%] {\\n font-size: 80%;\\n font-weight: 400;\\n}\\nmark[_ngcontent-%COMP%], .mark[_ngcontent-%COMP%] {\\n padding: 0.2em;\\n background-color: #fcf8e3;\\n}\\n.list-unstyled[_ngcontent-%COMP%] {\\n padding-left: 0;\\n list-style: none;\\n}\\n.list-inline[_ngcontent-%COMP%] {\\n padding-left: 0;\\n list-style: none;\\n}\\n.list-inline-item[_ngcontent-%COMP%] {\\n display: inline-block;\\n}\\n.list-inline-item[_ngcontent-%COMP%]:not(:last-child) {\\n margin-right: 0.5rem;\\n}\\n.initialism[_ngcontent-%COMP%] {\\n font-size: 90%;\\n text-transform: uppercase;\\n}\\n.blockquote[_ngcontent-%COMP%] {\\n margin-bottom: 1rem;\\n font-size: 1.25rem;\\n}\\n.blockquote-footer[_ngcontent-%COMP%] {\\n display: block;\\n font-size: 80%;\\n color: #6c757d;\\n}\\n.blockquote-footer[_ngcontent-%COMP%]::before {\\n content: \\\"\\u2014\\u00A0\\\";\\n}\\n.img-fluid[_ngcontent-%COMP%] {\\n max-width: 100%;\\n height: auto;\\n}\\n.img-thumbnail[_ngcontent-%COMP%] {\\n padding: 0.25rem;\\n background-color: #fff;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n max-width: 100%;\\n height: auto;\\n}\\n.figure[_ngcontent-%COMP%] {\\n display: inline-block;\\n}\\n.figure-img[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem;\\n line-height: 1;\\n}\\n.figure-caption[_ngcontent-%COMP%] {\\n font-size: 90%;\\n color: #6c757d;\\n}\\ncode[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%] {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\ncode[_ngcontent-%COMP%] {\\n font-size: 87.5%;\\n color: #e83e8c;\\n word-break: break-word;\\n}\\na[_ngcontent-%COMP%] > code[_ngcontent-%COMP%] {\\n color: inherit;\\n}\\nkbd[_ngcontent-%COMP%] {\\n padding: 0.2rem 0.4rem;\\n font-size: 87.5%;\\n color: #fff;\\n background-color: #212529;\\n border-radius: 0.2rem;\\n}\\nkbd[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\\n padding: 0;\\n font-size: 100%;\\n font-weight: 700;\\n}\\npre[_ngcontent-%COMP%] {\\n display: block;\\n font-size: 87.5%;\\n color: #212529;\\n}\\npre[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\\n font-size: inherit;\\n color: inherit;\\n word-break: normal;\\n}\\n.pre-scrollable[_ngcontent-%COMP%] {\\n max-height: 340px;\\n overflow-y: scroll;\\n}\\n.container[_ngcontent-%COMP%] {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto;\\n}\\n@media (min-width: 576px) {\\n .container[_ngcontent-%COMP%] {\\n max-width: 540px;\\n }\\n}\\n@media (min-width: 768px) {\\n .container[_ngcontent-%COMP%] {\\n max-width: 720px;\\n }\\n}\\n@media (min-width: 992px) {\\n .container[_ngcontent-%COMP%] {\\n max-width: 960px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .container[_ngcontent-%COMP%] {\\n max-width: 1140px;\\n }\\n}\\n.container-fluid[_ngcontent-%COMP%] {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto;\\n}\\n.row[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: -15px;\\n}\\n.no-gutters[_ngcontent-%COMP%] {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n.col-xl[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%] {\\n position: relative;\\n width: 100%;\\n min-height: 1px;\\n padding-right: 15px;\\n padding-left: 15px;\\n}\\n.col[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n max-width: 100%;\\n}\\n.col-auto[_ngcontent-%COMP%] {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n}\\n.col-1[_ngcontent-%COMP%] {\\n flex: 0 0 8.3333333333%;\\n max-width: 8.3333333333%;\\n}\\n.col-2[_ngcontent-%COMP%] {\\n flex: 0 0 16.6666666667%;\\n max-width: 16.6666666667%;\\n}\\n.col-3[_ngcontent-%COMP%] {\\n flex: 0 0 25%;\\n max-width: 25%;\\n}\\n.col-4[_ngcontent-%COMP%] {\\n flex: 0 0 33.3333333333%;\\n max-width: 33.3333333333%;\\n}\\n.col-5[_ngcontent-%COMP%] {\\n flex: 0 0 41.6666666667%;\\n max-width: 41.6666666667%;\\n}\\n.col-6[_ngcontent-%COMP%] {\\n flex: 0 0 50%;\\n max-width: 50%;\\n}\\n.col-7[_ngcontent-%COMP%] {\\n flex: 0 0 58.3333333333%;\\n max-width: 58.3333333333%;\\n}\\n.col-8[_ngcontent-%COMP%] {\\n flex: 0 0 66.6666666667%;\\n max-width: 66.6666666667%;\\n}\\n.col-9[_ngcontent-%COMP%] {\\n flex: 0 0 75%;\\n max-width: 75%;\\n}\\n.col-10[_ngcontent-%COMP%] {\\n flex: 0 0 83.3333333333%;\\n max-width: 83.3333333333%;\\n}\\n.col-11[_ngcontent-%COMP%] {\\n flex: 0 0 91.6666666667%;\\n max-width: 91.6666666667%;\\n}\\n.col-12[_ngcontent-%COMP%] {\\n flex: 0 0 100%;\\n max-width: 100%;\\n}\\n.order-first[_ngcontent-%COMP%] {\\n order: -1;\\n}\\n.order-last[_ngcontent-%COMP%] {\\n order: 13;\\n}\\n.order-0[_ngcontent-%COMP%] {\\n order: 0;\\n}\\n.order-1[_ngcontent-%COMP%] {\\n order: 1;\\n}\\n.order-2[_ngcontent-%COMP%] {\\n order: 2;\\n}\\n.order-3[_ngcontent-%COMP%] {\\n order: 3;\\n}\\n.order-4[_ngcontent-%COMP%] {\\n order: 4;\\n}\\n.order-5[_ngcontent-%COMP%] {\\n order: 5;\\n}\\n.order-6[_ngcontent-%COMP%] {\\n order: 6;\\n}\\n.order-7[_ngcontent-%COMP%] {\\n order: 7;\\n}\\n.order-8[_ngcontent-%COMP%] {\\n order: 8;\\n}\\n.order-9[_ngcontent-%COMP%] {\\n order: 9;\\n}\\n.order-10[_ngcontent-%COMP%] {\\n order: 10;\\n}\\n.order-11[_ngcontent-%COMP%] {\\n order: 11;\\n}\\n.order-12[_ngcontent-%COMP%] {\\n order: 12;\\n}\\n.offset-1[_ngcontent-%COMP%] {\\n margin-left: 8.3333333333%;\\n}\\n.offset-2[_ngcontent-%COMP%] {\\n margin-left: 16.6666666667%;\\n}\\n.offset-3[_ngcontent-%COMP%] {\\n margin-left: 25%;\\n}\\n.offset-4[_ngcontent-%COMP%] {\\n margin-left: 33.3333333333%;\\n}\\n.offset-5[_ngcontent-%COMP%] {\\n margin-left: 41.6666666667%;\\n}\\n.offset-6[_ngcontent-%COMP%] {\\n margin-left: 50%;\\n}\\n.offset-7[_ngcontent-%COMP%] {\\n margin-left: 58.3333333333%;\\n}\\n.offset-8[_ngcontent-%COMP%] {\\n margin-left: 66.6666666667%;\\n}\\n.offset-9[_ngcontent-%COMP%] {\\n margin-left: 75%;\\n}\\n.offset-10[_ngcontent-%COMP%] {\\n margin-left: 83.3333333333%;\\n}\\n.offset-11[_ngcontent-%COMP%] {\\n margin-left: 91.6666666667%;\\n}\\n@media (min-width: 576px) {\\n .col-sm[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-sm-auto[_ngcontent-%COMP%] {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n .col-sm-1[_ngcontent-%COMP%] {\\n flex: 0 0 8.3333333333%;\\n max-width: 8.3333333333%;\\n }\\n .col-sm-2[_ngcontent-%COMP%] {\\n flex: 0 0 16.6666666667%;\\n max-width: 16.6666666667%;\\n }\\n .col-sm-3[_ngcontent-%COMP%] {\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-sm-4[_ngcontent-%COMP%] {\\n flex: 0 0 33.3333333333%;\\n max-width: 33.3333333333%;\\n }\\n .col-sm-5[_ngcontent-%COMP%] {\\n flex: 0 0 41.6666666667%;\\n max-width: 41.6666666667%;\\n }\\n .col-sm-6[_ngcontent-%COMP%] {\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-sm-7[_ngcontent-%COMP%] {\\n flex: 0 0 58.3333333333%;\\n max-width: 58.3333333333%;\\n }\\n .col-sm-8[_ngcontent-%COMP%] {\\n flex: 0 0 66.6666666667%;\\n max-width: 66.6666666667%;\\n }\\n .col-sm-9[_ngcontent-%COMP%] {\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-sm-10[_ngcontent-%COMP%] {\\n flex: 0 0 83.3333333333%;\\n max-width: 83.3333333333%;\\n }\\n .col-sm-11[_ngcontent-%COMP%] {\\n flex: 0 0 91.6666666667%;\\n max-width: 91.6666666667%;\\n }\\n .col-sm-12[_ngcontent-%COMP%] {\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-sm-first[_ngcontent-%COMP%] {\\n order: -1;\\n }\\n .order-sm-last[_ngcontent-%COMP%] {\\n order: 13;\\n }\\n .order-sm-0[_ngcontent-%COMP%] {\\n order: 0;\\n }\\n .order-sm-1[_ngcontent-%COMP%] {\\n order: 1;\\n }\\n .order-sm-2[_ngcontent-%COMP%] {\\n order: 2;\\n }\\n .order-sm-3[_ngcontent-%COMP%] {\\n order: 3;\\n }\\n .order-sm-4[_ngcontent-%COMP%] {\\n order: 4;\\n }\\n .order-sm-5[_ngcontent-%COMP%] {\\n order: 5;\\n }\\n .order-sm-6[_ngcontent-%COMP%] {\\n order: 6;\\n }\\n .order-sm-7[_ngcontent-%COMP%] {\\n order: 7;\\n }\\n .order-sm-8[_ngcontent-%COMP%] {\\n order: 8;\\n }\\n .order-sm-9[_ngcontent-%COMP%] {\\n order: 9;\\n }\\n .order-sm-10[_ngcontent-%COMP%] {\\n order: 10;\\n }\\n .order-sm-11[_ngcontent-%COMP%] {\\n order: 11;\\n }\\n .order-sm-12[_ngcontent-%COMP%] {\\n order: 12;\\n }\\n .offset-sm-0[_ngcontent-%COMP%] {\\n margin-left: 0;\\n }\\n .offset-sm-1[_ngcontent-%COMP%] {\\n margin-left: 8.3333333333%;\\n }\\n .offset-sm-2[_ngcontent-%COMP%] {\\n margin-left: 16.6666666667%;\\n }\\n .offset-sm-3[_ngcontent-%COMP%] {\\n margin-left: 25%;\\n }\\n .offset-sm-4[_ngcontent-%COMP%] {\\n margin-left: 33.3333333333%;\\n }\\n .offset-sm-5[_ngcontent-%COMP%] {\\n margin-left: 41.6666666667%;\\n }\\n .offset-sm-6[_ngcontent-%COMP%] {\\n margin-left: 50%;\\n }\\n .offset-sm-7[_ngcontent-%COMP%] {\\n margin-left: 58.3333333333%;\\n }\\n .offset-sm-8[_ngcontent-%COMP%] {\\n margin-left: 66.6666666667%;\\n }\\n .offset-sm-9[_ngcontent-%COMP%] {\\n margin-left: 75%;\\n }\\n .offset-sm-10[_ngcontent-%COMP%] {\\n margin-left: 83.3333333333%;\\n }\\n .offset-sm-11[_ngcontent-%COMP%] {\\n margin-left: 91.6666666667%;\\n }\\n}\\n@media (min-width: 768px) {\\n .col-md[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-md-auto[_ngcontent-%COMP%] {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n .col-md-1[_ngcontent-%COMP%] {\\n flex: 0 0 8.3333333333%;\\n max-width: 8.3333333333%;\\n }\\n .col-md-2[_ngcontent-%COMP%] {\\n flex: 0 0 16.6666666667%;\\n max-width: 16.6666666667%;\\n }\\n .col-md-3[_ngcontent-%COMP%] {\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-md-4[_ngcontent-%COMP%] {\\n flex: 0 0 33.3333333333%;\\n max-width: 33.3333333333%;\\n }\\n .col-md-5[_ngcontent-%COMP%] {\\n flex: 0 0 41.6666666667%;\\n max-width: 41.6666666667%;\\n }\\n .col-md-6[_ngcontent-%COMP%] {\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-md-7[_ngcontent-%COMP%] {\\n flex: 0 0 58.3333333333%;\\n max-width: 58.3333333333%;\\n }\\n .col-md-8[_ngcontent-%COMP%] {\\n flex: 0 0 66.6666666667%;\\n max-width: 66.6666666667%;\\n }\\n .col-md-9[_ngcontent-%COMP%] {\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-md-10[_ngcontent-%COMP%] {\\n flex: 0 0 83.3333333333%;\\n max-width: 83.3333333333%;\\n }\\n .col-md-11[_ngcontent-%COMP%] {\\n flex: 0 0 91.6666666667%;\\n max-width: 91.6666666667%;\\n }\\n .col-md-12[_ngcontent-%COMP%] {\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-md-first[_ngcontent-%COMP%] {\\n order: -1;\\n }\\n .order-md-last[_ngcontent-%COMP%] {\\n order: 13;\\n }\\n .order-md-0[_ngcontent-%COMP%] {\\n order: 0;\\n }\\n .order-md-1[_ngcontent-%COMP%] {\\n order: 1;\\n }\\n .order-md-2[_ngcontent-%COMP%] {\\n order: 2;\\n }\\n .order-md-3[_ngcontent-%COMP%] {\\n order: 3;\\n }\\n .order-md-4[_ngcontent-%COMP%] {\\n order: 4;\\n }\\n .order-md-5[_ngcontent-%COMP%] {\\n order: 5;\\n }\\n .order-md-6[_ngcontent-%COMP%] {\\n order: 6;\\n }\\n .order-md-7[_ngcontent-%COMP%] {\\n order: 7;\\n }\\n .order-md-8[_ngcontent-%COMP%] {\\n order: 8;\\n }\\n .order-md-9[_ngcontent-%COMP%] {\\n order: 9;\\n }\\n .order-md-10[_ngcontent-%COMP%] {\\n order: 10;\\n }\\n .order-md-11[_ngcontent-%COMP%] {\\n order: 11;\\n }\\n .order-md-12[_ngcontent-%COMP%] {\\n order: 12;\\n }\\n .offset-md-0[_ngcontent-%COMP%] {\\n margin-left: 0;\\n }\\n .offset-md-1[_ngcontent-%COMP%] {\\n margin-left: 8.3333333333%;\\n }\\n .offset-md-2[_ngcontent-%COMP%] {\\n margin-left: 16.6666666667%;\\n }\\n .offset-md-3[_ngcontent-%COMP%] {\\n margin-left: 25%;\\n }\\n .offset-md-4[_ngcontent-%COMP%] {\\n margin-left: 33.3333333333%;\\n }\\n .offset-md-5[_ngcontent-%COMP%] {\\n margin-left: 41.6666666667%;\\n }\\n .offset-md-6[_ngcontent-%COMP%] {\\n margin-left: 50%;\\n }\\n .offset-md-7[_ngcontent-%COMP%] {\\n margin-left: 58.3333333333%;\\n }\\n .offset-md-8[_ngcontent-%COMP%] {\\n margin-left: 66.6666666667%;\\n }\\n .offset-md-9[_ngcontent-%COMP%] {\\n margin-left: 75%;\\n }\\n .offset-md-10[_ngcontent-%COMP%] {\\n margin-left: 83.3333333333%;\\n }\\n .offset-md-11[_ngcontent-%COMP%] {\\n margin-left: 91.6666666667%;\\n }\\n}\\n@media (min-width: 992px) {\\n .col-lg[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-lg-auto[_ngcontent-%COMP%] {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n .col-lg-1[_ngcontent-%COMP%] {\\n flex: 0 0 8.3333333333%;\\n max-width: 8.3333333333%;\\n }\\n .col-lg-2[_ngcontent-%COMP%] {\\n flex: 0 0 16.6666666667%;\\n max-width: 16.6666666667%;\\n }\\n .col-lg-3[_ngcontent-%COMP%] {\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-lg-4[_ngcontent-%COMP%] {\\n flex: 0 0 33.3333333333%;\\n max-width: 33.3333333333%;\\n }\\n .col-lg-5[_ngcontent-%COMP%] {\\n flex: 0 0 41.6666666667%;\\n max-width: 41.6666666667%;\\n }\\n .col-lg-6[_ngcontent-%COMP%] {\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-lg-7[_ngcontent-%COMP%] {\\n flex: 0 0 58.3333333333%;\\n max-width: 58.3333333333%;\\n }\\n .col-lg-8[_ngcontent-%COMP%] {\\n flex: 0 0 66.6666666667%;\\n max-width: 66.6666666667%;\\n }\\n .col-lg-9[_ngcontent-%COMP%] {\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-lg-10[_ngcontent-%COMP%] {\\n flex: 0 0 83.3333333333%;\\n max-width: 83.3333333333%;\\n }\\n .col-lg-11[_ngcontent-%COMP%] {\\n flex: 0 0 91.6666666667%;\\n max-width: 91.6666666667%;\\n }\\n .col-lg-12[_ngcontent-%COMP%] {\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-lg-first[_ngcontent-%COMP%] {\\n order: -1;\\n }\\n .order-lg-last[_ngcontent-%COMP%] {\\n order: 13;\\n }\\n .order-lg-0[_ngcontent-%COMP%] {\\n order: 0;\\n }\\n .order-lg-1[_ngcontent-%COMP%] {\\n order: 1;\\n }\\n .order-lg-2[_ngcontent-%COMP%] {\\n order: 2;\\n }\\n .order-lg-3[_ngcontent-%COMP%] {\\n order: 3;\\n }\\n .order-lg-4[_ngcontent-%COMP%] {\\n order: 4;\\n }\\n .order-lg-5[_ngcontent-%COMP%] {\\n order: 5;\\n }\\n .order-lg-6[_ngcontent-%COMP%] {\\n order: 6;\\n }\\n .order-lg-7[_ngcontent-%COMP%] {\\n order: 7;\\n }\\n .order-lg-8[_ngcontent-%COMP%] {\\n order: 8;\\n }\\n .order-lg-9[_ngcontent-%COMP%] {\\n order: 9;\\n }\\n .order-lg-10[_ngcontent-%COMP%] {\\n order: 10;\\n }\\n .order-lg-11[_ngcontent-%COMP%] {\\n order: 11;\\n }\\n .order-lg-12[_ngcontent-%COMP%] {\\n order: 12;\\n }\\n .offset-lg-0[_ngcontent-%COMP%] {\\n margin-left: 0;\\n }\\n .offset-lg-1[_ngcontent-%COMP%] {\\n margin-left: 8.3333333333%;\\n }\\n .offset-lg-2[_ngcontent-%COMP%] {\\n margin-left: 16.6666666667%;\\n }\\n .offset-lg-3[_ngcontent-%COMP%] {\\n margin-left: 25%;\\n }\\n .offset-lg-4[_ngcontent-%COMP%] {\\n margin-left: 33.3333333333%;\\n }\\n .offset-lg-5[_ngcontent-%COMP%] {\\n margin-left: 41.6666666667%;\\n }\\n .offset-lg-6[_ngcontent-%COMP%] {\\n margin-left: 50%;\\n }\\n .offset-lg-7[_ngcontent-%COMP%] {\\n margin-left: 58.3333333333%;\\n }\\n .offset-lg-8[_ngcontent-%COMP%] {\\n margin-left: 66.6666666667%;\\n }\\n .offset-lg-9[_ngcontent-%COMP%] {\\n margin-left: 75%;\\n }\\n .offset-lg-10[_ngcontent-%COMP%] {\\n margin-left: 83.3333333333%;\\n }\\n .offset-lg-11[_ngcontent-%COMP%] {\\n margin-left: 91.6666666667%;\\n }\\n}\\n@media (min-width: 1200px) {\\n .col-xl[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n .col-xl-auto[_ngcontent-%COMP%] {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n .col-xl-1[_ngcontent-%COMP%] {\\n flex: 0 0 8.3333333333%;\\n max-width: 8.3333333333%;\\n }\\n .col-xl-2[_ngcontent-%COMP%] {\\n flex: 0 0 16.6666666667%;\\n max-width: 16.6666666667%;\\n }\\n .col-xl-3[_ngcontent-%COMP%] {\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n .col-xl-4[_ngcontent-%COMP%] {\\n flex: 0 0 33.3333333333%;\\n max-width: 33.3333333333%;\\n }\\n .col-xl-5[_ngcontent-%COMP%] {\\n flex: 0 0 41.6666666667%;\\n max-width: 41.6666666667%;\\n }\\n .col-xl-6[_ngcontent-%COMP%] {\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n .col-xl-7[_ngcontent-%COMP%] {\\n flex: 0 0 58.3333333333%;\\n max-width: 58.3333333333%;\\n }\\n .col-xl-8[_ngcontent-%COMP%] {\\n flex: 0 0 66.6666666667%;\\n max-width: 66.6666666667%;\\n }\\n .col-xl-9[_ngcontent-%COMP%] {\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n .col-xl-10[_ngcontent-%COMP%] {\\n flex: 0 0 83.3333333333%;\\n max-width: 83.3333333333%;\\n }\\n .col-xl-11[_ngcontent-%COMP%] {\\n flex: 0 0 91.6666666667%;\\n max-width: 91.6666666667%;\\n }\\n .col-xl-12[_ngcontent-%COMP%] {\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n .order-xl-first[_ngcontent-%COMP%] {\\n order: -1;\\n }\\n .order-xl-last[_ngcontent-%COMP%] {\\n order: 13;\\n }\\n .order-xl-0[_ngcontent-%COMP%] {\\n order: 0;\\n }\\n .order-xl-1[_ngcontent-%COMP%] {\\n order: 1;\\n }\\n .order-xl-2[_ngcontent-%COMP%] {\\n order: 2;\\n }\\n .order-xl-3[_ngcontent-%COMP%] {\\n order: 3;\\n }\\n .order-xl-4[_ngcontent-%COMP%] {\\n order: 4;\\n }\\n .order-xl-5[_ngcontent-%COMP%] {\\n order: 5;\\n }\\n .order-xl-6[_ngcontent-%COMP%] {\\n order: 6;\\n }\\n .order-xl-7[_ngcontent-%COMP%] {\\n order: 7;\\n }\\n .order-xl-8[_ngcontent-%COMP%] {\\n order: 8;\\n }\\n .order-xl-9[_ngcontent-%COMP%] {\\n order: 9;\\n }\\n .order-xl-10[_ngcontent-%COMP%] {\\n order: 10;\\n }\\n .order-xl-11[_ngcontent-%COMP%] {\\n order: 11;\\n }\\n .order-xl-12[_ngcontent-%COMP%] {\\n order: 12;\\n }\\n .offset-xl-0[_ngcontent-%COMP%] {\\n margin-left: 0;\\n }\\n .offset-xl-1[_ngcontent-%COMP%] {\\n margin-left: 8.3333333333%;\\n }\\n .offset-xl-2[_ngcontent-%COMP%] {\\n margin-left: 16.6666666667%;\\n }\\n .offset-xl-3[_ngcontent-%COMP%] {\\n margin-left: 25%;\\n }\\n .offset-xl-4[_ngcontent-%COMP%] {\\n margin-left: 33.3333333333%;\\n }\\n .offset-xl-5[_ngcontent-%COMP%] {\\n margin-left: 41.6666666667%;\\n }\\n .offset-xl-6[_ngcontent-%COMP%] {\\n margin-left: 50%;\\n }\\n .offset-xl-7[_ngcontent-%COMP%] {\\n margin-left: 58.3333333333%;\\n }\\n .offset-xl-8[_ngcontent-%COMP%] {\\n margin-left: 66.6666666667%;\\n }\\n .offset-xl-9[_ngcontent-%COMP%] {\\n margin-left: 75%;\\n }\\n .offset-xl-10[_ngcontent-%COMP%] {\\n margin-left: 83.3333333333%;\\n }\\n .offset-xl-11[_ngcontent-%COMP%] {\\n margin-left: 91.6666666667%;\\n }\\n}\\n.table[_ngcontent-%COMP%] {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 1rem;\\n background-color: transparent;\\n}\\n.table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\\n padding: 0.75rem;\\n vertical-align: top;\\n border-top: 1px solid #dee2e6;\\n}\\n.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\\n vertical-align: bottom;\\n border-bottom: 2px solid #dee2e6;\\n}\\n.table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%] {\\n border-top: 2px solid #dee2e6;\\n}\\n.table[_ngcontent-%COMP%] .table[_ngcontent-%COMP%] {\\n background-color: #fff;\\n}\\n.table-sm[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\\n padding: 0.3rem;\\n}\\n.table-bordered[_ngcontent-%COMP%] {\\n border: 1px solid #dee2e6;\\n}\\n.table-bordered[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\\n border: 1px solid #dee2e6;\\n}\\n.table-bordered[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\\n border-bottom-width: 2px;\\n}\\n.table-striped[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-of-type(odd) {\\n background-color: rgba(0, 0, 0, 0.05);\\n}\\n.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #b8daff;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-primary[_ngcontent-%COMP%]:hover {\\n background-color: #9fcdff;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #9fcdff;\\n}\\n.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #d6d8db;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-secondary[_ngcontent-%COMP%]:hover {\\n background-color: #c8cbcf;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #c8cbcf;\\n}\\n.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #c3e6cb;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-success[_ngcontent-%COMP%]:hover {\\n background-color: #b1dfbb;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #b1dfbb;\\n}\\n.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #bee5eb;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-info[_ngcontent-%COMP%]:hover {\\n background-color: #abdde5;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #abdde5;\\n}\\n.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #ffeeba;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-warning[_ngcontent-%COMP%]:hover {\\n background-color: #ffe8a1;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #ffe8a1;\\n}\\n.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #f5c6cb;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-danger[_ngcontent-%COMP%]:hover {\\n background-color: #f1b0b7;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #f1b0b7;\\n}\\n.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #fdfdfe;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-light[_ngcontent-%COMP%]:hover {\\n background-color: #ececf6;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #ececf6;\\n}\\n.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: #c6c8ca;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-dark[_ngcontent-%COMP%]:hover {\\n background-color: #b9bbbe;\\n}\\n.table-hover[_ngcontent-%COMP%] .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: #b9bbbe;\\n}\\n.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%] {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n.table-hover[_ngcontent-%COMP%] .table-active[_ngcontent-%COMP%]:hover {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n.table-hover[_ngcontent-%COMP%] .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%] .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%] {\\n background-color: rgba(0, 0, 0, 0.075);\\n}\\n.table[_ngcontent-%COMP%] .thead-dark[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #212529;\\n border-color: #32383e;\\n}\\n.table[_ngcontent-%COMP%] .thead-light[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\\n color: #495057;\\n background-color: #e9ecef;\\n border-color: #dee2e6;\\n}\\n.table-dark[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #212529;\\n}\\n.table-dark[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\\n border-color: #32383e;\\n}\\n.table-dark.table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n}\\n.table-dark.table-striped[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-of-type(odd) {\\n background-color: rgba(255, 255, 255, 0.05);\\n}\\n.table-dark.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\\n background-color: rgba(255, 255, 255, 0.075);\\n}\\n@media (max-width: 575.98px) {\\n .table-responsive-sm[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n }\\n .table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .table-responsive-md[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n }\\n .table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .table-responsive-lg[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n }\\n .table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .table-responsive-xl[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n }\\n .table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n }\\n}\\n.table-responsive[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n}\\n.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%] {\\n border: 0;\\n}\\n.form-control[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n.form-control[_ngcontent-%COMP%]::-ms-expand {\\n background-color: transparent;\\n border: 0;\\n}\\n.form-control[_ngcontent-%COMP%]:focus {\\n color: #495057;\\n background-color: #fff;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.form-control[_ngcontent-%COMP%]::-webkit-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n.form-control[_ngcontent-%COMP%]::-moz-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n.form-control[_ngcontent-%COMP%]:-ms-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n.form-control[_ngcontent-%COMP%]::-ms-input-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n.form-control[_ngcontent-%COMP%]::placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n.form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%] {\\n background-color: #e9ecef;\\n opacity: 1;\\n}\\nselect.form-control[_ngcontent-%COMP%]:not([size]):not([multiple]) {\\n height: calc(2.25rem + 2px);\\n}\\nselect.form-control[_ngcontent-%COMP%]:focus::-ms-value {\\n color: #495057;\\n background-color: #fff;\\n}\\n.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n}\\n.col-form-label[_ngcontent-%COMP%] {\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: inherit;\\n line-height: 1.5;\\n}\\n.col-form-label-lg[_ngcontent-%COMP%] {\\n padding-top: calc(0.5rem + 1px);\\n padding-bottom: calc(0.5rem + 1px);\\n font-size: 1.25rem;\\n line-height: 1.5;\\n}\\n.col-form-label-sm[_ngcontent-%COMP%] {\\n padding-top: calc(0.25rem + 1px);\\n padding-bottom: calc(0.25rem + 1px);\\n font-size: 0.875rem;\\n line-height: 1.5;\\n}\\n.form-control-plaintext[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n padding-top: 0.375rem;\\n padding-bottom: 0.375rem;\\n margin-bottom: 0;\\n line-height: 1.5;\\n background-color: transparent;\\n border: solid transparent;\\n border-width: 1px 0;\\n}\\n.form-control-plaintext.form-control-sm[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control-plaintext.form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .form-control-plaintext.input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .form-control-plaintext.input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .form-control-plaintext.btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .form-control-plaintext.btn[_ngcontent-%COMP%], .form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control-plaintext.form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .form-control-plaintext.input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .form-control-plaintext.input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .form-control-plaintext.btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .form-control-plaintext.btn[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n.form-control-sm[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem;\\n}\\nselect.form-control-sm[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-sm[_ngcontent-%COMP%] > select.form-control[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > select.input-group-text[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > select.input-group-text[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > select.btn[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > select.btn[_ngcontent-%COMP%]:not([size]):not([multiple]) {\\n height: calc(1.8125rem + 2px);\\n}\\n.form-control-lg[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem;\\n}\\nselect.form-control-lg[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-lg[_ngcontent-%COMP%] > select.form-control[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > select.input-group-text[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > select.input-group-text[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > select.btn[_ngcontent-%COMP%]:not([size]):not([multiple]), .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > select.btn[_ngcontent-%COMP%]:not([size]):not([multiple]) {\\n height: calc(2.875rem + 2px);\\n}\\n.form-group[_ngcontent-%COMP%] {\\n margin-bottom: 1rem;\\n}\\n.form-text[_ngcontent-%COMP%] {\\n display: block;\\n margin-top: 0.25rem;\\n}\\n.form-row[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -5px;\\n margin-left: -5px;\\n}\\n.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%] {\\n padding-right: 5px;\\n padding-left: 5px;\\n}\\n.form-check[_ngcontent-%COMP%] {\\n position: relative;\\n display: block;\\n padding-left: 1.25rem;\\n}\\n.form-check-input[_ngcontent-%COMP%] {\\n position: absolute;\\n margin-top: 0.3rem;\\n margin-left: -1.25rem;\\n}\\n.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%] {\\n color: #6c757d;\\n}\\n.form-check-label[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n}\\n.form-check-inline[_ngcontent-%COMP%] {\\n display: inline-flex;\\n align-items: center;\\n padding-left: 0;\\n margin-right: 0.75rem;\\n}\\n.form-check-inline[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%] {\\n position: static;\\n margin-top: 0;\\n margin-right: 0.3125rem;\\n margin-left: 0;\\n}\\n.valid-feedback[_ngcontent-%COMP%] {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #28a745;\\n}\\n.valid-tooltip[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.5rem;\\n margin-top: 0.1rem;\\n font-size: 0.875rem;\\n line-height: 1;\\n color: #fff;\\n background-color: rgba(40, 167, 69, 0.8);\\n border-radius: 0.2rem;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:valid, .form-control.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:valid, .custom-select.is-valid[_ngcontent-%COMP%] {\\n border-color: #28a745;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:valid:focus, .form-control.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:valid:focus, .custom-select.is-valid[_ngcontent-%COMP%]:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%] {\\n color: #28a745;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%] {\\n color: #28a745;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #71dd8a;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #34ce57;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%] {\\n border-color: #28a745;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]::before, .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%]::before {\\n border-color: inherit;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\\n}\\n.invalid-feedback[_ngcontent-%COMP%] {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #dc3545;\\n}\\n.invalid-tooltip[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.5rem;\\n margin-top: 0.1rem;\\n font-size: 0.875rem;\\n line-height: 1;\\n color: #fff;\\n background-color: rgba(220, 53, 69, 0.8);\\n border-radius: 0.2rem;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:invalid, .form-control.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:invalid, .custom-select.is-invalid[_ngcontent-%COMP%] {\\n border-color: #dc3545;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:invalid:focus, .form-control.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:invalid:focus, .custom-select.is-invalid[_ngcontent-%COMP%]:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n.was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%] {\\n color: #dc3545;\\n}\\n.was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%] {\\n color: #dc3545;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #efa2a9;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #e4606d;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%] {\\n border-color: #dc3545;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]::before, .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%]::before {\\n border-color: inherit;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.was-validated[_ngcontent-%COMP%] .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\\n}\\n.form-inline[_ngcontent-%COMP%] {\\n display: flex;\\n flex-flow: row wrap;\\n align-items: center;\\n}\\n.form-inline[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] {\\n width: 100%;\\n}\\n@media (min-width: 576px) {\\n .form-inline[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin-bottom: 0;\\n }\\n .form-inline[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\\n display: flex;\\n flex: 0 0 auto;\\n flex-flow: row wrap;\\n align-items: center;\\n margin-bottom: 0;\\n }\\n .form-inline[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%] {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle;\\n }\\n .form-inline[_ngcontent-%COMP%] .form-control-plaintext[_ngcontent-%COMP%] {\\n display: inline-block;\\n }\\n .form-inline[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] {\\n width: auto;\\n }\\n .form-inline[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: auto;\\n padding-left: 0;\\n }\\n .form-inline[_ngcontent-%COMP%] .form-check-input[_ngcontent-%COMP%] {\\n position: relative;\\n margin-top: 0;\\n margin-right: 0.25rem;\\n margin-left: 0;\\n }\\n .form-inline[_ngcontent-%COMP%] .custom-control[_ngcontent-%COMP%] {\\n align-items: center;\\n justify-content: center;\\n }\\n .form-inline[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n }\\n}\\n.btn[_ngcontent-%COMP%] {\\n display: inline-block;\\n font-weight: 400;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border: 1px solid transparent;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\n border-radius: 0.25rem;\\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n.btn[_ngcontent-%COMP%]:hover, .btn[_ngcontent-%COMP%]:focus {\\n text-decoration: none;\\n}\\n.btn[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%] {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled {\\n opacity: 0.65;\\n}\\n.btn[_ngcontent-%COMP%]:not(:disabled):not(.disabled) {\\n cursor: pointer;\\n}\\n.btn[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active {\\n background-image: none;\\n}\\na.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled a.btn[_ngcontent-%COMP%] {\\n pointer-events: none;\\n}\\n.btn-primary[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.btn-primary[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n}\\n.btn-primary[_ngcontent-%COMP%]:focus, .btn-primary.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf;\\n}\\n.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n.btn-secondary[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n.btn-secondary[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n}\\n.btn-secondary[_ngcontent-%COMP%]:focus, .btn-secondary.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b;\\n}\\n.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n.btn-success[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n.btn-success[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n}\\n.btn-success[_ngcontent-%COMP%]:focus, .btn-success.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430;\\n}\\n.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n.btn-info[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n.btn-info[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n}\\n.btn-info[_ngcontent-%COMP%]:focus, .btn-info.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f;\\n}\\n.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n.btn-warning[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n.btn-warning[_ngcontent-%COMP%]:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n}\\n.btn-warning[_ngcontent-%COMP%]:focus, .btn-warning.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500;\\n}\\n.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n.btn-danger[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n.btn-danger[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n}\\n.btn-danger[_ngcontent-%COMP%]:focus, .btn-danger.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d;\\n}\\n.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n.btn-light[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n.btn-light[_ngcontent-%COMP%]:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n}\\n.btn-light[_ngcontent-%COMP%]:focus, .btn-light.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df;\\n}\\n.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n.btn-dark[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n.btn-dark[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n}\\n.btn-dark[_ngcontent-%COMP%]:focus, .btn-dark.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d;\\n}\\n.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n.btn-outline-primary[_ngcontent-%COMP%] {\\n color: #007bff;\\n background-color: transparent;\\n background-image: none;\\n border-color: #007bff;\\n}\\n.btn-outline-primary[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.btn-outline-primary[_ngcontent-%COMP%]:focus, .btn-outline-primary.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled {\\n color: #007bff;\\n background-color: transparent;\\n}\\n.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\\n}\\n.btn-outline-secondary[_ngcontent-%COMP%] {\\n color: #6c757d;\\n background-color: transparent;\\n background-image: none;\\n border-color: #6c757d;\\n}\\n.btn-outline-secondary[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n.btn-outline-secondary[_ngcontent-%COMP%]:focus, .btn-outline-secondary.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled {\\n color: #6c757d;\\n background-color: transparent;\\n}\\n.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d;\\n}\\n.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\\n}\\n.btn-outline-success[_ngcontent-%COMP%] {\\n color: #28a745;\\n background-color: transparent;\\n background-image: none;\\n border-color: #28a745;\\n}\\n.btn-outline-success[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n.btn-outline-success[_ngcontent-%COMP%]:focus, .btn-outline-success.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled {\\n color: #28a745;\\n background-color: transparent;\\n}\\n.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745;\\n}\\n.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\\n}\\n.btn-outline-info[_ngcontent-%COMP%] {\\n color: #17a2b8;\\n background-color: transparent;\\n background-image: none;\\n border-color: #17a2b8;\\n}\\n.btn-outline-info[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n.btn-outline-info[_ngcontent-%COMP%]:focus, .btn-outline-info.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled {\\n color: #17a2b8;\\n background-color: transparent;\\n}\\n.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8;\\n}\\n.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\\n}\\n.btn-outline-warning[_ngcontent-%COMP%] {\\n color: #ffc107;\\n background-color: transparent;\\n background-image: none;\\n border-color: #ffc107;\\n}\\n.btn-outline-warning[_ngcontent-%COMP%]:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n.btn-outline-warning[_ngcontent-%COMP%]:focus, .btn-outline-warning.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled {\\n color: #ffc107;\\n background-color: transparent;\\n}\\n.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107;\\n}\\n.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\\n}\\n.btn-outline-danger[_ngcontent-%COMP%] {\\n color: #dc3545;\\n background-color: transparent;\\n background-image: none;\\n border-color: #dc3545;\\n}\\n.btn-outline-danger[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n.btn-outline-danger[_ngcontent-%COMP%]:focus, .btn-outline-danger.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled {\\n color: #dc3545;\\n background-color: transparent;\\n}\\n.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545;\\n}\\n.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\\n}\\n.btn-outline-light[_ngcontent-%COMP%] {\\n color: #f8f9fa;\\n background-color: transparent;\\n background-image: none;\\n border-color: #f8f9fa;\\n}\\n.btn-outline-light[_ngcontent-%COMP%]:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n.btn-outline-light[_ngcontent-%COMP%]:focus, .btn-outline-light.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled {\\n color: #f8f9fa;\\n background-color: transparent;\\n}\\n.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa;\\n}\\n.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\\n}\\n.btn-outline-dark[_ngcontent-%COMP%] {\\n color: #343a40;\\n background-color: transparent;\\n background-image: none;\\n border-color: #343a40;\\n}\\n.btn-outline-dark[_ngcontent-%COMP%]:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n.btn-outline-dark[_ngcontent-%COMP%]:focus, .btn-outline-dark.focus[_ngcontent-%COMP%] {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled {\\n color: #343a40;\\n background-color: transparent;\\n}\\n.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40;\\n}\\n.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\\n}\\n.btn-link[_ngcontent-%COMP%] {\\n font-weight: 400;\\n color: #007bff;\\n background-color: transparent;\\n}\\n.btn-link[_ngcontent-%COMP%]:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n background-color: transparent;\\n border-color: transparent;\\n}\\n.btn-link[_ngcontent-%COMP%]:focus, .btn-link.focus[_ngcontent-%COMP%] {\\n text-decoration: underline;\\n border-color: transparent;\\n box-shadow: none;\\n}\\n.btn-link[_ngcontent-%COMP%]:disabled, .btn-link.disabled[_ngcontent-%COMP%] {\\n color: #6c757d;\\n}\\n.btn-lg[_ngcontent-%COMP%], .btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem;\\n}\\n.btn-sm[_ngcontent-%COMP%], .btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem;\\n}\\n.btn-block[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n}\\n.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%] {\\n margin-top: 0.5rem;\\n}\\ninput[type=submit].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=button].btn-block[_ngcontent-%COMP%] {\\n width: 100%;\\n}\\n.fade[_ngcontent-%COMP%] {\\n opacity: 0;\\n transition: opacity 0.15s linear;\\n}\\n.fade.show[_ngcontent-%COMP%] {\\n opacity: 1;\\n}\\n.collapse[_ngcontent-%COMP%] {\\n display: none;\\n}\\n.collapse.show[_ngcontent-%COMP%] {\\n display: block;\\n}\\ntr.collapse.show[_ngcontent-%COMP%] {\\n display: table-row;\\n}\\ntbody.collapse.show[_ngcontent-%COMP%] {\\n display: table-row-group;\\n}\\n.collapsing[_ngcontent-%COMP%] {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n transition: height 0.35s ease;\\n}\\n.dropup[_ngcontent-%COMP%], .dropdown[_ngcontent-%COMP%] {\\n position: relative;\\n}\\n.dropdown-toggle[_ngcontent-%COMP%]::after {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0;\\n border-left: 0.3em solid transparent;\\n}\\n.dropdown-toggle[_ngcontent-%COMP%]:empty::after {\\n margin-left: 0;\\n}\\n.dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 10rem;\\n padding: 0.5rem 0;\\n margin: 0.125rem 0 0;\\n font-size: 1rem;\\n color: #212529;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 0.25rem;\\n}\\n.dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-bottom: 0.125rem;\\n}\\n.dropup[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::after {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0.3em solid;\\n border-left: 0.3em solid transparent;\\n}\\n.dropup[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:empty::after {\\n margin-left: 0;\\n}\\n.dropright[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-left: 0.125rem;\\n}\\n.dropright[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::after {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-bottom: 0.3em solid transparent;\\n border-left: 0.3em solid;\\n}\\n.dropright[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:empty::after {\\n margin-left: 0;\\n}\\n.dropright[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::after {\\n vertical-align: 0;\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n margin-top: 0;\\n margin-right: 0.125rem;\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::after {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::after {\\n display: none;\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::before {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-right: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-right: 0.3em solid;\\n border-bottom: 0.3em solid transparent;\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:empty::after {\\n margin-left: 0;\\n}\\n.dropleft[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]::before {\\n vertical-align: 0;\\n}\\n.dropdown-divider[_ngcontent-%COMP%] {\\n height: 0;\\n margin: 0.5rem 0;\\n overflow: hidden;\\n border-top: 1px solid #e9ecef;\\n}\\n.dropdown-item[_ngcontent-%COMP%] {\\n display: block;\\n width: 100%;\\n padding: 0.25rem 1.5rem;\\n clear: both;\\n font-weight: 400;\\n color: #212529;\\n text-align: inherit;\\n white-space: nowrap;\\n background-color: transparent;\\n border: 0;\\n}\\n.dropdown-item[_ngcontent-%COMP%]:hover, .dropdown-item[_ngcontent-%COMP%]:focus {\\n color: #16181b;\\n text-decoration: none;\\n background-color: #f8f9fa;\\n}\\n.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active {\\n color: #fff;\\n text-decoration: none;\\n background-color: #007bff;\\n}\\n.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled {\\n color: #6c757d;\\n background-color: transparent;\\n}\\n.dropdown-menu.show[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.dropdown-header[_ngcontent-%COMP%] {\\n display: block;\\n padding: 0.5rem 1.5rem;\\n margin-bottom: 0;\\n font-size: 0.875rem;\\n color: #6c757d;\\n white-space: nowrap;\\n}\\n.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] {\\n position: relative;\\n display: inline-flex;\\n vertical-align: middle;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n position: relative;\\n flex: 0 1 auto;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover {\\n z-index: 1;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%] {\\n z-index: 1;\\n}\\n.btn-group[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%] {\\n margin-left: -1px;\\n}\\n.btn-toolbar[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n}\\n.btn-toolbar[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] {\\n width: auto;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:first-child {\\n margin-left: 0;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%] {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%] {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.dropdown-toggle-split[_ngcontent-%COMP%] {\\n padding-right: 0.5625rem;\\n padding-left: 0.5625rem;\\n}\\n.dropdown-toggle-split[_ngcontent-%COMP%]::after {\\n margin-left: 0;\\n}\\n.btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%] {\\n padding-right: 0.375rem;\\n padding-left: 0.375rem;\\n}\\n.btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%] {\\n padding-right: 0.75rem;\\n padding-left: 0.75rem;\\n}\\n.btn-group-vertical[_ngcontent-%COMP%] {\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n}\\n.btn-group-vertical[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%] {\\n width: 100%;\\n}\\n.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] + .btn-group[_ngcontent-%COMP%] {\\n margin-top: -1px;\\n margin-left: 0;\\n}\\n.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%] {\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%] {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n}\\n.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n}\\n.input-group[_ngcontent-%COMP%] {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: stretch;\\n width: 100%;\\n}\\n.input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] {\\n position: relative;\\n flex: 1 1 auto;\\n width: 1%;\\n margin-bottom: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:focus {\\n z-index: 3;\\n}\\n.input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%] {\\n margin-left: -1px;\\n}\\n.input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n}\\n.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child) .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child) .custom-file-label[_ngcontent-%COMP%]::before {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child) .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child) .custom-file-label[_ngcontent-%COMP%]::before {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.input-group-prepend[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] {\\n display: flex;\\n}\\n.input-group-prepend[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\\n position: relative;\\n z-index: 2;\\n}\\n.input-group-prepend[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%] .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%] .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%] .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%] {\\n margin-left: -1px;\\n}\\n.input-group-prepend[_ngcontent-%COMP%] {\\n margin-right: -1px;\\n}\\n.input-group-append[_ngcontent-%COMP%] {\\n margin-left: -1px;\\n}\\n.input-group-text[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n padding: 0.375rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #e9ecef;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n}\\n.input-group-text[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\\n margin-top: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.custom-control[_ngcontent-%COMP%] {\\n position: relative;\\n display: block;\\n min-height: 1.5rem;\\n padding-left: 1.5rem;\\n}\\n.custom-control-inline[_ngcontent-%COMP%] {\\n display: inline-flex;\\n margin-right: 1rem;\\n}\\n.custom-control-input[_ngcontent-%COMP%] {\\n position: absolute;\\n z-index: -1;\\n opacity: 0;\\n}\\n.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n color: #fff;\\n background-color: #007bff;\\n}\\n.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.custom-control-input[_ngcontent-%COMP%]:active ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n color: #fff;\\n background-color: #b3d7ff;\\n}\\n.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%] {\\n color: #6c757d;\\n}\\n.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #e9ecef;\\n}\\n.custom-control-label[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n}\\n.custom-control-label[_ngcontent-%COMP%]::before {\\n position: absolute;\\n top: 0.25rem;\\n left: 0;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n pointer-events: none;\\n content: \\\"\\\";\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n background-color: #dee2e6;\\n}\\n.custom-control-label[_ngcontent-%COMP%]::after {\\n position: absolute;\\n top: 0.25rem;\\n left: 0;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n content: \\\"\\\";\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: 50% 50%;\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::before {\\n border-radius: 0.25rem;\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #007bff;\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\\\");\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #007bff;\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\\\");\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n.custom-checkbox[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n.custom-radio[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::before {\\n border-radius: 50%;\\n}\\n.custom-radio[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: #007bff;\\n}\\n.custom-radio[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\\\");\\n}\\n.custom-radio[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\\n background-color: rgba(0, 123, 255, 0.5);\\n}\\n.custom-select[_ngcontent-%COMP%] {\\n display: inline-block;\\n width: 100%;\\n height: calc(2.25rem + 2px);\\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n vertical-align: middle;\\n background: #fff url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\\\") no-repeat right 0.75rem center;\\n background-size: 8px 10px;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n.custom-select[_ngcontent-%COMP%]:focus {\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\\n}\\n.custom-select[_ngcontent-%COMP%]:focus::-ms-value {\\n color: #495057;\\n background-color: #fff;\\n}\\n.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size=\\\"1\\\"]) {\\n height: auto;\\n padding-right: 0.75rem;\\n background-image: none;\\n}\\n.custom-select[_ngcontent-%COMP%]:disabled {\\n color: #6c757d;\\n background-color: #e9ecef;\\n}\\n.custom-select[_ngcontent-%COMP%]::-ms-expand {\\n opacity: 0;\\n}\\n.custom-select-sm[_ngcontent-%COMP%] {\\n height: calc(1.8125rem + 2px);\\n padding-top: 0.375rem;\\n padding-bottom: 0.375rem;\\n font-size: 75%;\\n}\\n.custom-select-lg[_ngcontent-%COMP%] {\\n height: calc(2.875rem + 2px);\\n padding-top: 0.375rem;\\n padding-bottom: 0.375rem;\\n font-size: 125%;\\n}\\n.custom-file[_ngcontent-%COMP%] {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: calc(2.25rem + 2px);\\n margin-bottom: 0;\\n}\\n.custom-file-input[_ngcontent-%COMP%] {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: calc(2.25rem + 2px);\\n margin: 0;\\n opacity: 0;\\n}\\n.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-control[_ngcontent-%COMP%] {\\n border-color: #80bdff;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-control[_ngcontent-%COMP%]::before {\\n border-color: #80bdff;\\n}\\n.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after {\\n content: \\\"Browse\\\";\\n}\\n.custom-file-label[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1;\\n height: calc(2.25rem + 2px);\\n padding: 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n}\\n.custom-file-label[_ngcontent-%COMP%]::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 3;\\n display: block;\\n height: calc(calc(2.25rem + 2px) - 1px * 2);\\n padding: 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n content: \\\"Browse\\\";\\n background-color: #e9ecef;\\n border-left: 1px solid #ced4da;\\n border-radius: 0 0.25rem 0.25rem 0;\\n}\\n.nav[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n.nav-link[_ngcontent-%COMP%] {\\n display: block;\\n padding: 0.5rem 1rem;\\n}\\n.nav-link[_ngcontent-%COMP%]:hover, .nav-link[_ngcontent-%COMP%]:focus {\\n text-decoration: none;\\n}\\n.nav-link.disabled[_ngcontent-%COMP%] {\\n color: #6c757d;\\n}\\n.nav-tabs[_ngcontent-%COMP%] {\\n border-bottom: 1px solid #dee2e6;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] {\\n margin-bottom: -1px;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n border: 1px solid transparent;\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .nav-tabs[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus {\\n border-color: #e9ecef #e9ecef #dee2e6;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .nav-link.disabled[_ngcontent-%COMP%] {\\n color: #6c757d;\\n background-color: transparent;\\n border-color: transparent;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%] .nav-item.show[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n color: #495057;\\n background-color: #fff;\\n border-color: #dee2e6 #dee2e6 #fff;\\n}\\n.nav-tabs[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n margin-top: -1px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n.nav-pills[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n border-radius: 0.25rem;\\n}\\n.nav-pills[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%] .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #007bff;\\n}\\n.nav-fill[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] {\\n flex: 1 1 auto;\\n text-align: center;\\n}\\n.nav-justified[_ngcontent-%COMP%] .nav-item[_ngcontent-%COMP%] {\\n flex-basis: 0;\\n flex-grow: 1;\\n text-align: center;\\n}\\n.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%] {\\n display: none;\\n}\\n.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.navbar[_ngcontent-%COMP%] {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n padding: 0.5rem 1rem;\\n}\\n.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n}\\n.navbar-brand[_ngcontent-%COMP%] {\\n display: inline-block;\\n padding-top: 0.3125rem;\\n padding-bottom: 0.3125rem;\\n margin-right: 1rem;\\n font-size: 1.25rem;\\n line-height: inherit;\\n white-space: nowrap;\\n}\\n.navbar-brand[_ngcontent-%COMP%]:hover, .navbar-brand[_ngcontent-%COMP%]:focus {\\n text-decoration: none;\\n}\\n.navbar-nav[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n.navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n.navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: static;\\n float: none;\\n}\\n.navbar-text[_ngcontent-%COMP%] {\\n display: inline-block;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n}\\n.navbar-collapse[_ngcontent-%COMP%] {\\n flex-basis: 100%;\\n flex-grow: 1;\\n align-items: center;\\n}\\n.navbar-toggler[_ngcontent-%COMP%] {\\n padding: 0.25rem 0.75rem;\\n font-size: 1.25rem;\\n line-height: 1;\\n background-color: transparent;\\n border: 1px solid transparent;\\n border-radius: 0.25rem;\\n}\\n.navbar-toggler[_ngcontent-%COMP%]:hover, .navbar-toggler[_ngcontent-%COMP%]:focus {\\n text-decoration: none;\\n}\\n.navbar-toggler[_ngcontent-%COMP%]:not(:disabled):not(.disabled) {\\n cursor: pointer;\\n}\\n.navbar-toggler-icon[_ngcontent-%COMP%] {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n content: \\\"\\\";\\n background: no-repeat center center;\\n background-size: 100% 100%;\\n}\\n@media (max-width: 575.98px) {\\n .navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n@media (min-width: 576px) {\\n .navbar-expand-sm[_ngcontent-%COMP%] {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] {\\n flex-direction: row;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%] {\\n right: 0;\\n left: auto;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-collapse[_ngcontent-%COMP%] {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n display: none;\\n }\\n .navbar-expand-sm[_ngcontent-%COMP%] .dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n top: auto;\\n bottom: 100%;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-expand-md[_ngcontent-%COMP%] {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] {\\n flex-direction: row;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%] {\\n right: 0;\\n left: auto;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-collapse[_ngcontent-%COMP%] {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n display: none;\\n }\\n .navbar-expand-md[_ngcontent-%COMP%] .dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n top: auto;\\n bottom: 100%;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n@media (min-width: 992px) {\\n .navbar-expand-lg[_ngcontent-%COMP%] {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] {\\n flex-direction: row;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%] {\\n right: 0;\\n left: auto;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-collapse[_ngcontent-%COMP%] {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n display: none;\\n }\\n .navbar-expand-lg[_ngcontent-%COMP%] .dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n top: auto;\\n bottom: 100%;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n}\\n@media (min-width: 1200px) {\\n .navbar-expand-xl[_ngcontent-%COMP%] {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] {\\n flex-direction: row;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%] {\\n right: 0;\\n left: auto;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n flex-wrap: nowrap;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-collapse[_ngcontent-%COMP%] {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n display: none;\\n }\\n .navbar-expand-xl[_ngcontent-%COMP%] .dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n top: auto;\\n bottom: 100%;\\n }\\n}\\n.navbar-expand[_ngcontent-%COMP%] {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n}\\n.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] {\\n flex-direction: row;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n position: absolute;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%] {\\n right: 0;\\n left: auto;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n}\\n.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%] {\\n flex-wrap: nowrap;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-collapse[_ngcontent-%COMP%] {\\n display: flex !important;\\n flex-basis: auto;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n display: none;\\n}\\n.navbar-expand[_ngcontent-%COMP%] .dropup[_ngcontent-%COMP%] .dropdown-menu[_ngcontent-%COMP%] {\\n top: auto;\\n bottom: 100%;\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%]:hover, .navbar-light[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%]:focus {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus {\\n color: rgba(0, 0, 0, 0.7);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.disabled[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.3);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.5);\\n border-color: rgba(0, 0, 0, 0.1);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-toggler-icon[_ngcontent-%COMP%] {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\\\");\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n.navbar-light[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .navbar-light[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus {\\n color: rgba(0, 0, 0, 0.9);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%] {\\n color: #fff;\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%]:hover, .navbar-dark[_ngcontent-%COMP%] .navbar-brand[_ngcontent-%COMP%]:focus {\\n color: #fff;\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] {\\n color: rgba(255, 255, 255, 0.5);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus {\\n color: rgba(255, 255, 255, 0.75);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.disabled[_ngcontent-%COMP%] {\\n color: rgba(255, 255, 255, 0.25);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%] .navbar-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] {\\n color: #fff;\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-toggler[_ngcontent-%COMP%] {\\n color: rgba(255, 255, 255, 0.5);\\n border-color: rgba(255, 255, 255, 0.1);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-toggler-icon[_ngcontent-%COMP%] {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\\\");\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] {\\n color: rgba(255, 255, 255, 0.5);\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\\n color: #fff;\\n}\\n.navbar-dark[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .navbar-dark[_ngcontent-%COMP%] .navbar-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus {\\n color: #fff;\\n}\\n.card[_ngcontent-%COMP%] {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n min-width: 0;\\n word-wrap: break-word;\\n background-color: #fff;\\n background-clip: border-box;\\n border: 1px solid rgba(0, 0, 0, 0.125);\\n border-radius: 0.25rem;\\n}\\n.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%] {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child .list-group-item[_ngcontent-%COMP%]:first-child {\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child .list-group-item[_ngcontent-%COMP%]:last-child {\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n.card-body[_ngcontent-%COMP%] {\\n flex: 1 1 auto;\\n padding: 1.25rem;\\n}\\n.card-title[_ngcontent-%COMP%] {\\n margin-bottom: 0.75rem;\\n}\\n.card-subtitle[_ngcontent-%COMP%] {\\n margin-top: -0.375rem;\\n margin-bottom: 0;\\n}\\n.card-text[_ngcontent-%COMP%]:last-child {\\n margin-bottom: 0;\\n}\\n.card-link[_ngcontent-%COMP%]:hover {\\n text-decoration: none;\\n}\\n.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%] {\\n margin-left: 1.25rem;\\n}\\n.card-header[_ngcontent-%COMP%] {\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 0;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n.card-header[_ngcontent-%COMP%]:first-child {\\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\\n}\\n.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%] .list-group-item[_ngcontent-%COMP%]:first-child {\\n border-top: 0;\\n}\\n.card-footer[_ngcontent-%COMP%] {\\n padding: 0.75rem 1.25rem;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-top: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n.card-footer[_ngcontent-%COMP%]:last-child {\\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\\n}\\n.card-header-tabs[_ngcontent-%COMP%] {\\n margin-right: -0.625rem;\\n margin-bottom: -0.75rem;\\n margin-left: -0.625rem;\\n border-bottom: 0;\\n}\\n.card-header-pills[_ngcontent-%COMP%] {\\n margin-right: -0.625rem;\\n margin-left: -0.625rem;\\n}\\n.card-img-overlay[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: 1.25rem;\\n}\\n.card-img[_ngcontent-%COMP%] {\\n width: 100%;\\n border-radius: calc(0.25rem - 1px);\\n}\\n.card-img-top[_ngcontent-%COMP%] {\\n width: 100%;\\n border-top-left-radius: calc(0.25rem - 1px);\\n border-top-right-radius: calc(0.25rem - 1px);\\n}\\n.card-img-bottom[_ngcontent-%COMP%] {\\n width: 100%;\\n border-bottom-right-radius: calc(0.25rem - 1px);\\n border-bottom-left-radius: calc(0.25rem - 1px);\\n}\\n.card-deck[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n}\\n.card-deck[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\\n margin-bottom: 15px;\\n}\\n@media (min-width: 576px) {\\n .card-deck[_ngcontent-%COMP%] {\\n flex-flow: row wrap;\\n margin-right: -15px;\\n margin-left: -15px;\\n }\\n .card-deck[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\\n display: flex;\\n flex: 1 0 0%;\\n flex-direction: column;\\n margin-right: 15px;\\n margin-bottom: 0;\\n margin-left: 15px;\\n }\\n}\\n.card-group[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n}\\n.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] {\\n margin-bottom: 15px;\\n}\\n@media (min-width: 576px) {\\n .card-group[_ngcontent-%COMP%] {\\n flex-flow: row wrap;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] {\\n flex: 1 0 0%;\\n margin-bottom: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%] {\\n margin-left: 0;\\n border-left: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-child {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-child .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-child .card-header[_ngcontent-%COMP%] {\\n border-top-right-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-child .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-child .card-footer[_ngcontent-%COMP%] {\\n border-bottom-right-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-child {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-child .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-child .card-header[_ngcontent-%COMP%] {\\n border-top-left-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-child .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-child .card-footer[_ngcontent-%COMP%] {\\n border-bottom-left-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:only-child {\\n border-radius: 0.25rem;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:only-child .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:only-child .card-header[_ngcontent-%COMP%] {\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:only-child .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:only-child .card-footer[_ngcontent-%COMP%] {\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child):not(:last-child):not(:only-child) {\\n border-radius: 0;\\n }\\n .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child):not(:last-child):not(:only-child) .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child):not(:last-child):not(:only-child) .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child):not(:last-child):not(:only-child) .card-footer[_ngcontent-%COMP%] {\\n border-radius: 0;\\n }\\n}\\n.card-columns[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\\n margin-bottom: 0.75rem;\\n}\\n@media (min-width: 576px) {\\n .card-columns[_ngcontent-%COMP%] {\\n -webkit-column-count: 3;\\n -moz-column-count: 3;\\n column-count: 3;\\n -webkit-column-gap: 1.25rem;\\n -moz-column-gap: 1.25rem;\\n column-gap: 1.25rem;\\n }\\n .card-columns[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\\n display: inline-block;\\n width: 100%;\\n }\\n}\\n.breadcrumb[_ngcontent-%COMP%] {\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0.75rem 1rem;\\n margin-bottom: 1rem;\\n list-style: none;\\n background-color: #e9ecef;\\n border-radius: 0.25rem;\\n}\\n.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before {\\n display: inline-block;\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n color: #6c757d;\\n content: \\\"/\\\";\\n}\\n.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before {\\n text-decoration: underline;\\n}\\n.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before {\\n text-decoration: none;\\n}\\n.breadcrumb-item.active[_ngcontent-%COMP%] {\\n color: #6c757d;\\n}\\n.pagination[_ngcontent-%COMP%] {\\n display: flex;\\n padding-left: 0;\\n list-style: none;\\n border-radius: 0.25rem;\\n}\\n.page-link[_ngcontent-%COMP%] {\\n position: relative;\\n display: block;\\n padding: 0.5rem 0.75rem;\\n margin-left: -1px;\\n line-height: 1.25;\\n color: #007bff;\\n background-color: #fff;\\n border: 1px solid #dee2e6;\\n}\\n.page-link[_ngcontent-%COMP%]:hover {\\n color: #0056b3;\\n text-decoration: none;\\n background-color: #e9ecef;\\n border-color: #dee2e6;\\n}\\n.page-link[_ngcontent-%COMP%]:focus {\\n z-index: 2;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.page-link[_ngcontent-%COMP%]:not(:disabled):not(.disabled) {\\n cursor: pointer;\\n}\\n.page-item[_ngcontent-%COMP%]:first-child .page-link[_ngcontent-%COMP%] {\\n margin-left: 0;\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n.page-item[_ngcontent-%COMP%]:last-child .page-link[_ngcontent-%COMP%] {\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n}\\n.page-item.active[_ngcontent-%COMP%] .page-link[_ngcontent-%COMP%] {\\n z-index: 1;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.page-item.disabled[_ngcontent-%COMP%] .page-link[_ngcontent-%COMP%] {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: auto;\\n background-color: #fff;\\n border-color: #dee2e6;\\n}\\n.pagination-lg[_ngcontent-%COMP%] .page-link[_ngcontent-%COMP%] {\\n padding: 0.75rem 1.5rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n}\\n.pagination-lg[_ngcontent-%COMP%] .page-item[_ngcontent-%COMP%]:first-child .page-link[_ngcontent-%COMP%] {\\n border-top-left-radius: 0.3rem;\\n border-bottom-left-radius: 0.3rem;\\n}\\n.pagination-lg[_ngcontent-%COMP%] .page-item[_ngcontent-%COMP%]:last-child .page-link[_ngcontent-%COMP%] {\\n border-top-right-radius: 0.3rem;\\n border-bottom-right-radius: 0.3rem;\\n}\\n.pagination-sm[_ngcontent-%COMP%] .page-link[_ngcontent-%COMP%] {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n}\\n.pagination-sm[_ngcontent-%COMP%] .page-item[_ngcontent-%COMP%]:first-child .page-link[_ngcontent-%COMP%] {\\n border-top-left-radius: 0.2rem;\\n border-bottom-left-radius: 0.2rem;\\n}\\n.pagination-sm[_ngcontent-%COMP%] .page-item[_ngcontent-%COMP%]:last-child .page-link[_ngcontent-%COMP%] {\\n border-top-right-radius: 0.2rem;\\n border-bottom-right-radius: 0.2rem;\\n}\\n.badge[_ngcontent-%COMP%] {\\n display: inline-block;\\n padding: 0.25em 0.4em;\\n font-size: 75%;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n border-radius: 0.25rem;\\n}\\n.badge[_ngcontent-%COMP%]:empty {\\n display: none;\\n}\\n.btn[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\\n position: relative;\\n top: -1px;\\n}\\n.badge-pill[_ngcontent-%COMP%] {\\n padding-right: 0.6em;\\n padding-left: 0.6em;\\n border-radius: 10rem;\\n}\\n.badge-primary[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #007bff;\\n}\\n.badge-primary[href][_ngcontent-%COMP%]:hover, .badge-primary[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #0062cc;\\n}\\n.badge-secondary[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #6c757d;\\n}\\n.badge-secondary[href][_ngcontent-%COMP%]:hover, .badge-secondary[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #545b62;\\n}\\n.badge-success[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #28a745;\\n}\\n.badge-success[href][_ngcontent-%COMP%]:hover, .badge-success[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #1e7e34;\\n}\\n.badge-info[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #17a2b8;\\n}\\n.badge-info[href][_ngcontent-%COMP%]:hover, .badge-info[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #117a8b;\\n}\\n.badge-warning[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #ffc107;\\n}\\n.badge-warning[href][_ngcontent-%COMP%]:hover, .badge-warning[href][_ngcontent-%COMP%]:focus {\\n color: #212529;\\n text-decoration: none;\\n background-color: #d39e00;\\n}\\n.badge-danger[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #dc3545;\\n}\\n.badge-danger[href][_ngcontent-%COMP%]:hover, .badge-danger[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #bd2130;\\n}\\n.badge-light[_ngcontent-%COMP%] {\\n color: #212529;\\n background-color: #f8f9fa;\\n}\\n.badge-light[href][_ngcontent-%COMP%]:hover, .badge-light[href][_ngcontent-%COMP%]:focus {\\n color: #212529;\\n text-decoration: none;\\n background-color: #dae0e5;\\n}\\n.badge-dark[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #343a40;\\n}\\n.badge-dark[href][_ngcontent-%COMP%]:hover, .badge-dark[href][_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #1d2124;\\n}\\n.jumbotron[_ngcontent-%COMP%] {\\n padding: 2rem 1rem;\\n margin-bottom: 2rem;\\n background-color: #e9ecef;\\n border-radius: 0.3rem;\\n}\\n@media (min-width: 576px) {\\n .jumbotron[_ngcontent-%COMP%] {\\n padding: 4rem 2rem;\\n }\\n}\\n.jumbotron-fluid[_ngcontent-%COMP%] {\\n padding-right: 0;\\n padding-left: 0;\\n border-radius: 0;\\n}\\n.alert[_ngcontent-%COMP%] {\\n position: relative;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 1rem;\\n border: 1px solid transparent;\\n border-radius: 0.25rem;\\n}\\n.alert-heading[_ngcontent-%COMP%] {\\n color: inherit;\\n}\\n.alert-link[_ngcontent-%COMP%] {\\n font-weight: 700;\\n}\\n.alert-dismissible[_ngcontent-%COMP%] {\\n padding-right: 4rem;\\n}\\n.alert-dismissible[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 0.75rem 1.25rem;\\n color: inherit;\\n}\\n.alert-primary[_ngcontent-%COMP%] {\\n color: #004085;\\n background-color: #cce5ff;\\n border-color: #b8daff;\\n}\\n.alert-primary[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #9fcdff;\\n}\\n.alert-primary[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #002752;\\n}\\n.alert-secondary[_ngcontent-%COMP%] {\\n color: #383d41;\\n background-color: #e2e3e5;\\n border-color: #d6d8db;\\n}\\n.alert-secondary[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #c8cbcf;\\n}\\n.alert-secondary[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #202326;\\n}\\n.alert-success[_ngcontent-%COMP%] {\\n color: #155724;\\n background-color: #d4edda;\\n border-color: #c3e6cb;\\n}\\n.alert-success[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #b1dfbb;\\n}\\n.alert-success[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #0b2e13;\\n}\\n.alert-info[_ngcontent-%COMP%] {\\n color: #0c5460;\\n background-color: #d1ecf1;\\n border-color: #bee5eb;\\n}\\n.alert-info[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #abdde5;\\n}\\n.alert-info[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #062c33;\\n}\\n.alert-warning[_ngcontent-%COMP%] {\\n color: #856404;\\n background-color: #fff3cd;\\n border-color: #ffeeba;\\n}\\n.alert-warning[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #ffe8a1;\\n}\\n.alert-warning[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #533f03;\\n}\\n.alert-danger[_ngcontent-%COMP%] {\\n color: #721c24;\\n background-color: #f8d7da;\\n border-color: #f5c6cb;\\n}\\n.alert-danger[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #f1b0b7;\\n}\\n.alert-danger[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #491217;\\n}\\n.alert-light[_ngcontent-%COMP%] {\\n color: #818182;\\n background-color: #fefefe;\\n border-color: #fdfdfe;\\n}\\n.alert-light[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #ececf6;\\n}\\n.alert-light[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #686868;\\n}\\n.alert-dark[_ngcontent-%COMP%] {\\n color: #1b1e21;\\n background-color: #d6d8d9;\\n border-color: #c6c8ca;\\n}\\n.alert-dark[_ngcontent-%COMP%] hr[_ngcontent-%COMP%] {\\n border-top-color: #b9bbbe;\\n}\\n.alert-dark[_ngcontent-%COMP%] .alert-link[_ngcontent-%COMP%] {\\n color: #040505;\\n}\\n@-webkit-keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n.progress[_ngcontent-%COMP%] {\\n display: flex;\\n height: 1rem;\\n overflow: hidden;\\n font-size: 0.75rem;\\n background-color: #e9ecef;\\n border-radius: 0.25rem;\\n}\\n.progress-bar[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #fff;\\n text-align: center;\\n background-color: #007bff;\\n transition: width 0.6s ease;\\n}\\n.progress-bar-striped[_ngcontent-%COMP%] {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-size: 1rem 1rem;\\n}\\n.progress-bar-animated[_ngcontent-%COMP%] {\\n -webkit-animation: progress-bar-stripes 1s linear infinite;\\n animation: progress-bar-stripes 1s linear infinite;\\n}\\n.media[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: flex-start;\\n}\\n.media-body[_ngcontent-%COMP%] {\\n flex: 1;\\n}\\n.list-group[_ngcontent-%COMP%] {\\n display: flex;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n}\\n.list-group-item-action[_ngcontent-%COMP%] {\\n width: 100%;\\n color: #495057;\\n text-align: inherit;\\n}\\n.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #495057;\\n text-decoration: none;\\n background-color: #f8f9fa;\\n}\\n.list-group-item-action[_ngcontent-%COMP%]:active {\\n color: #212529;\\n background-color: #e9ecef;\\n}\\n.list-group-item[_ngcontent-%COMP%] {\\n position: relative;\\n display: block;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: -1px;\\n background-color: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.125);\\n}\\n.list-group-item[_ngcontent-%COMP%]:first-child {\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem;\\n}\\n.list-group-item[_ngcontent-%COMP%]:last-child {\\n margin-bottom: 0;\\n border-bottom-right-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n}\\n.list-group-item[_ngcontent-%COMP%]:hover, .list-group-item[_ngcontent-%COMP%]:focus {\\n z-index: 1;\\n text-decoration: none;\\n}\\n.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled {\\n color: #6c757d;\\n background-color: #fff;\\n}\\n.list-group-item.active[_ngcontent-%COMP%] {\\n z-index: 2;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff;\\n}\\n.list-group-flush[_ngcontent-%COMP%] .list-group-item[_ngcontent-%COMP%] {\\n border-right: 0;\\n border-left: 0;\\n border-radius: 0;\\n}\\n.list-group-flush[_ngcontent-%COMP%]:first-child .list-group-item[_ngcontent-%COMP%]:first-child {\\n border-top: 0;\\n}\\n.list-group-flush[_ngcontent-%COMP%]:last-child .list-group-item[_ngcontent-%COMP%]:last-child {\\n border-bottom: 0;\\n}\\n.list-group-item-primary[_ngcontent-%COMP%] {\\n color: #004085;\\n background-color: #b8daff;\\n}\\n.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #004085;\\n background-color: #9fcdff;\\n}\\n.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #004085;\\n border-color: #004085;\\n}\\n.list-group-item-secondary[_ngcontent-%COMP%] {\\n color: #383d41;\\n background-color: #d6d8db;\\n}\\n.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #383d41;\\n background-color: #c8cbcf;\\n}\\n.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #383d41;\\n border-color: #383d41;\\n}\\n.list-group-item-success[_ngcontent-%COMP%] {\\n color: #155724;\\n background-color: #c3e6cb;\\n}\\n.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #155724;\\n background-color: #b1dfbb;\\n}\\n.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #155724;\\n border-color: #155724;\\n}\\n.list-group-item-info[_ngcontent-%COMP%] {\\n color: #0c5460;\\n background-color: #bee5eb;\\n}\\n.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #0c5460;\\n background-color: #abdde5;\\n}\\n.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #0c5460;\\n border-color: #0c5460;\\n}\\n.list-group-item-warning[_ngcontent-%COMP%] {\\n color: #856404;\\n background-color: #ffeeba;\\n}\\n.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #856404;\\n background-color: #ffe8a1;\\n}\\n.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #856404;\\n border-color: #856404;\\n}\\n.list-group-item-danger[_ngcontent-%COMP%] {\\n color: #721c24;\\n background-color: #f5c6cb;\\n}\\n.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #721c24;\\n background-color: #f1b0b7;\\n}\\n.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #721c24;\\n border-color: #721c24;\\n}\\n.list-group-item-light[_ngcontent-%COMP%] {\\n color: #818182;\\n background-color: #fdfdfe;\\n}\\n.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #818182;\\n background-color: #ececf6;\\n}\\n.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #818182;\\n border-color: #818182;\\n}\\n.list-group-item-dark[_ngcontent-%COMP%] {\\n color: #1b1e21;\\n background-color: #c6c8ca;\\n}\\n.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus {\\n color: #1b1e21;\\n background-color: #b9bbbe;\\n}\\n.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%] {\\n color: #fff;\\n background-color: #1b1e21;\\n border-color: #1b1e21;\\n}\\n.close[_ngcontent-%COMP%] {\\n float: right;\\n font-size: 1.5rem;\\n font-weight: 700;\\n line-height: 1;\\n color: #000;\\n text-shadow: 0 1px 0 #fff;\\n opacity: 0.5;\\n}\\n.close[_ngcontent-%COMP%]:hover, .close[_ngcontent-%COMP%]:focus {\\n color: #000;\\n text-decoration: none;\\n opacity: 0.75;\\n}\\n.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled) {\\n cursor: pointer;\\n}\\nbutton.close[_ngcontent-%COMP%] {\\n padding: 0;\\n background-color: transparent;\\n border: 0;\\n -webkit-appearance: none;\\n}\\n.modal-open[_ngcontent-%COMP%] {\\n overflow: hidden;\\n}\\n.modal[_ngcontent-%COMP%] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1050;\\n display: none;\\n overflow: hidden;\\n outline: 0;\\n}\\n.modal-open[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] {\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n.modal-dialog[_ngcontent-%COMP%] {\\n position: relative;\\n width: auto;\\n margin: 0.5rem;\\n pointer-events: none;\\n}\\n.modal.fade[_ngcontent-%COMP%] .modal-dialog[_ngcontent-%COMP%] {\\n transition: -webkit-transform 0.3s ease-out;\\n transition: transform 0.3s ease-out;\\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\\n -webkit-transform: translate(0, -25%);\\n transform: translate(0, -25%);\\n}\\n.modal.show[_ngcontent-%COMP%] .modal-dialog[_ngcontent-%COMP%] {\\n -webkit-transform: translate(0, 0);\\n transform: translate(0, 0);\\n}\\n.modal-dialog-centered[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n min-height: calc(100% - 0.5rem * 2);\\n}\\n.modal-content[_ngcontent-%COMP%] {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n pointer-events: auto;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 0.3rem;\\n outline: 0;\\n}\\n.modal-backdrop[_ngcontent-%COMP%] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1040;\\n background-color: #000;\\n}\\n.modal-backdrop.fade[_ngcontent-%COMP%] {\\n opacity: 0;\\n}\\n.modal-backdrop.show[_ngcontent-%COMP%] {\\n opacity: 0.5;\\n}\\n.modal-header[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: flex-start;\\n justify-content: space-between;\\n padding: 1rem;\\n border-bottom: 1px solid #e9ecef;\\n border-top-left-radius: 0.3rem;\\n border-top-right-radius: 0.3rem;\\n}\\n.modal-header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] {\\n padding: 1rem;\\n margin: -1rem -1rem -1rem auto;\\n}\\n.modal-title[_ngcontent-%COMP%] {\\n margin-bottom: 0;\\n line-height: 1.5;\\n}\\n.modal-body[_ngcontent-%COMP%] {\\n position: relative;\\n flex: 1 1 auto;\\n padding: 1rem;\\n}\\n.modal-footer[_ngcontent-%COMP%] {\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n padding: 1rem;\\n border-top: 1px solid #e9ecef;\\n}\\n.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child) {\\n margin-left: 0.25rem;\\n}\\n.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child) {\\n margin-right: 0.25rem;\\n}\\n.modal-scrollbar-measure[_ngcontent-%COMP%] {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll;\\n}\\n@media (min-width: 576px) {\\n .modal-dialog[_ngcontent-%COMP%] {\\n max-width: 500px;\\n margin: 1.75rem auto;\\n }\\n .modal-dialog-centered[_ngcontent-%COMP%] {\\n min-height: calc(100% - 1.75rem * 2);\\n }\\n .modal-sm[_ngcontent-%COMP%] {\\n max-width: 300px;\\n }\\n}\\n@media (min-width: 992px) {\\n .modal-lg[_ngcontent-%COMP%] {\\n max-width: 800px;\\n }\\n}\\n.tooltip[_ngcontent-%COMP%] {\\n position: absolute;\\n z-index: 1070;\\n display: block;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n white-space: normal;\\n line-break: auto;\\n font-size: 0.875rem;\\n word-wrap: break-word;\\n opacity: 0;\\n}\\n.tooltip.show[_ngcontent-%COMP%] {\\n opacity: 0.9;\\n}\\n.tooltip[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n position: absolute;\\n display: block;\\n width: 0.8rem;\\n height: 0.4rem;\\n}\\n.tooltip[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n}\\n.bs-tooltip-top[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%] {\\n padding: 0.4rem 0;\\n}\\n.bs-tooltip-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n bottom: 0;\\n}\\n.bs-tooltip-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n top: 0;\\n border-width: 0.4rem 0.4rem 0;\\n border-top-color: #000;\\n}\\n.bs-tooltip-right[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%] {\\n padding: 0 0.4rem;\\n}\\n.bs-tooltip-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n left: 0;\\n width: 0.4rem;\\n height: 0.8rem;\\n}\\n.bs-tooltip-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n right: 0;\\n border-width: 0.4rem 0.4rem 0.4rem 0;\\n border-right-color: #000;\\n}\\n.bs-tooltip-bottom[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%] {\\n padding: 0.4rem 0;\\n}\\n.bs-tooltip-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n top: 0;\\n}\\n.bs-tooltip-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n bottom: 0;\\n border-width: 0 0.4rem 0.4rem;\\n border-bottom-color: #000;\\n}\\n.bs-tooltip-left[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%] {\\n padding: 0 0.4rem;\\n}\\n.bs-tooltip-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n right: 0;\\n width: 0.4rem;\\n height: 0.8rem;\\n}\\n.bs-tooltip-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n left: 0;\\n border-width: 0.4rem 0 0.4rem 0.4rem;\\n border-left-color: #000;\\n}\\n.tooltip-inner[_ngcontent-%COMP%] {\\n max-width: 200px;\\n padding: 0.25rem 0.5rem;\\n color: #fff;\\n text-align: center;\\n background-color: #000;\\n border-radius: 0.25rem;\\n}\\n.popover[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: block;\\n max-width: 276px;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n white-space: normal;\\n line-break: auto;\\n font-size: 0.875rem;\\n word-wrap: break-word;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 0.3rem;\\n}\\n.popover[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n position: absolute;\\n display: block;\\n width: 1rem;\\n height: 0.5rem;\\n margin: 0 0.3rem;\\n}\\n.popover[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .popover[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n}\\n.bs-popover-top[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem;\\n}\\n.bs-popover-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n bottom: calc((0.5rem + 1px) * -1);\\n}\\n.bs-popover-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n border-width: 0.5rem 0.5rem 0;\\n}\\n.bs-popover-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n bottom: 0;\\n border-top-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-top[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n bottom: 1px;\\n border-top-color: #fff;\\n}\\n.bs-popover-right[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] {\\n margin-left: 0.5rem;\\n}\\n.bs-popover-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n left: calc((0.5rem + 1px) * -1);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0;\\n}\\n.bs-popover-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n border-width: 0.5rem 0.5rem 0.5rem 0;\\n}\\n.bs-popover-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n left: 0;\\n border-right-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-right[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n left: 1px;\\n border-right-color: #fff;\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] {\\n margin-top: 0.5rem;\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n top: calc((0.5rem + 1px) * -1);\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n border-width: 0 0.5rem 0.5rem 0.5rem;\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n top: 0;\\n border-bottom-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n top: 1px;\\n border-bottom-color: #fff;\\n}\\n.bs-popover-bottom[_ngcontent-%COMP%] .popover-header[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] .popover-header[_ngcontent-%COMP%]::before {\\n position: absolute;\\n top: 0;\\n left: 50%;\\n display: block;\\n width: 1rem;\\n margin-left: -0.5rem;\\n content: \\\"\\\";\\n border-bottom: 1px solid #f7f7f7;\\n}\\n.bs-popover-left[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] {\\n margin-right: 0.5rem;\\n}\\n.bs-popover-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%] {\\n right: calc((0.5rem + 1px) * -1);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0;\\n}\\n.bs-popover-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n border-width: 0.5rem 0 0.5rem 0.5rem;\\n}\\n.bs-popover-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before, .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::before {\\n right: 0;\\n border-left-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-left[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after, .bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]::after {\\n right: 1px;\\n border-left-color: #fff;\\n}\\n.popover-header[_ngcontent-%COMP%] {\\n padding: 0.5rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n color: inherit;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-top-left-radius: calc(0.3rem - 1px);\\n border-top-right-radius: calc(0.3rem - 1px);\\n}\\n.popover-header[_ngcontent-%COMP%]:empty {\\n display: none;\\n}\\n.popover-body[_ngcontent-%COMP%] {\\n padding: 0.5rem 0.75rem;\\n color: #212529;\\n}\\n.carousel[_ngcontent-%COMP%] {\\n position: relative;\\n}\\n.carousel-inner[_ngcontent-%COMP%] {\\n position: relative;\\n width: 100%;\\n overflow: hidden;\\n}\\n.carousel-item[_ngcontent-%COMP%] {\\n position: relative;\\n display: none;\\n align-items: center;\\n width: 100%;\\n transition: -webkit-transform 0.6s ease;\\n transition: transform 0.6s ease;\\n transition: transform 0.6s ease, -webkit-transform 0.6s ease;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n -webkit-perspective: 1000px;\\n perspective: 1000px;\\n}\\n.carousel-item.active[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n}\\n.carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%] {\\n -webkit-transform: translateX(0);\\n transform: translateX(0);\\n}\\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\\n .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%] {\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n }\\n}\\n.carousel-item-next[_ngcontent-%COMP%], .active.carousel-item-right[_ngcontent-%COMP%] {\\n -webkit-transform: translateX(100%);\\n transform: translateX(100%);\\n}\\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\\n .carousel-item-next[_ngcontent-%COMP%], .active.carousel-item-right[_ngcontent-%COMP%] {\\n -webkit-transform: translate3d(100%, 0, 0);\\n transform: translate3d(100%, 0, 0);\\n }\\n}\\n.carousel-item-prev[_ngcontent-%COMP%], .active.carousel-item-left[_ngcontent-%COMP%] {\\n -webkit-transform: translateX(-100%);\\n transform: translateX(-100%);\\n}\\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\\n .carousel-item-prev[_ngcontent-%COMP%], .active.carousel-item-left[_ngcontent-%COMP%] {\\n -webkit-transform: translate3d(-100%, 0, 0);\\n transform: translate3d(-100%, 0, 0);\\n }\\n}\\n.carousel-control-prev[_ngcontent-%COMP%], .carousel-control-next[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 15%;\\n color: #fff;\\n text-align: center;\\n opacity: 0.5;\\n}\\n.carousel-control-prev[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-next[_ngcontent-%COMP%]:focus {\\n color: #fff;\\n text-decoration: none;\\n outline: 0;\\n opacity: 0.9;\\n}\\n.carousel-control-prev[_ngcontent-%COMP%] {\\n left: 0;\\n}\\n.carousel-control-next[_ngcontent-%COMP%] {\\n right: 0;\\n}\\n.carousel-control-prev-icon[_ngcontent-%COMP%], .carousel-control-next-icon[_ngcontent-%COMP%] {\\n display: inline-block;\\n width: 20px;\\n height: 20px;\\n background: transparent no-repeat center center;\\n background-size: 100% 100%;\\n}\\n.carousel-control-prev-icon[_ngcontent-%COMP%] {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\\\");\\n}\\n.carousel-control-next-icon[_ngcontent-%COMP%] {\\n background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\\\");\\n}\\n.carousel-indicators[_ngcontent-%COMP%] {\\n position: absolute;\\n right: 0;\\n bottom: 10px;\\n left: 0;\\n z-index: 15;\\n display: flex;\\n justify-content: center;\\n padding-left: 0;\\n margin-right: 15%;\\n margin-left: 15%;\\n list-style: none;\\n}\\n.carousel-indicators[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\\n position: relative;\\n flex: 0 1 auto;\\n width: 30px;\\n height: 3px;\\n margin-right: 3px;\\n margin-left: 3px;\\n text-indent: -999px;\\n background-color: rgba(255, 255, 255, 0.5);\\n}\\n.carousel-indicators[_ngcontent-%COMP%] li[_ngcontent-%COMP%]::before {\\n position: absolute;\\n top: -10px;\\n left: 0;\\n display: inline-block;\\n width: 100%;\\n height: 10px;\\n content: \\\"\\\";\\n}\\n.carousel-indicators[_ngcontent-%COMP%] li[_ngcontent-%COMP%]::after {\\n position: absolute;\\n bottom: -10px;\\n left: 0;\\n display: inline-block;\\n width: 100%;\\n height: 10px;\\n content: \\\"\\\";\\n}\\n.carousel-indicators[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] {\\n background-color: #fff;\\n}\\n.carousel-caption[_ngcontent-%COMP%] {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center;\\n}\\n.align-baseline[_ngcontent-%COMP%] {\\n vertical-align: baseline !important;\\n}\\n.align-top[_ngcontent-%COMP%] {\\n vertical-align: top !important;\\n}\\n.align-middle[_ngcontent-%COMP%] {\\n vertical-align: middle !important;\\n}\\n.align-bottom[_ngcontent-%COMP%] {\\n vertical-align: bottom !important;\\n}\\n.align-text-bottom[_ngcontent-%COMP%] {\\n vertical-align: text-bottom !important;\\n}\\n.align-text-top[_ngcontent-%COMP%] {\\n vertical-align: text-top !important;\\n}\\n.bg-primary[_ngcontent-%COMP%] {\\n background-color: #007bff !important;\\n}\\na.bg-primary[_ngcontent-%COMP%]:hover, a.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus {\\n background-color: #0062cc !important;\\n}\\n.bg-secondary[_ngcontent-%COMP%] {\\n background-color: #6c757d !important;\\n}\\na.bg-secondary[_ngcontent-%COMP%]:hover, a.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus {\\n background-color: #545b62 !important;\\n}\\n.bg-success[_ngcontent-%COMP%] {\\n background-color: #28a745 !important;\\n}\\na.bg-success[_ngcontent-%COMP%]:hover, a.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus {\\n background-color: #1e7e34 !important;\\n}\\n.bg-info[_ngcontent-%COMP%] {\\n background-color: #17a2b8 !important;\\n}\\na.bg-info[_ngcontent-%COMP%]:hover, a.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus {\\n background-color: #117a8b !important;\\n}\\n.bg-warning[_ngcontent-%COMP%] {\\n background-color: #ffc107 !important;\\n}\\na.bg-warning[_ngcontent-%COMP%]:hover, a.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus {\\n background-color: #d39e00 !important;\\n}\\n.bg-danger[_ngcontent-%COMP%] {\\n background-color: #dc3545 !important;\\n}\\na.bg-danger[_ngcontent-%COMP%]:hover, a.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus {\\n background-color: #bd2130 !important;\\n}\\n.bg-light[_ngcontent-%COMP%] {\\n background-color: #f8f9fa !important;\\n}\\na.bg-light[_ngcontent-%COMP%]:hover, a.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus {\\n background-color: #dae0e5 !important;\\n}\\n.bg-dark[_ngcontent-%COMP%] {\\n background-color: #343a40 !important;\\n}\\na.bg-dark[_ngcontent-%COMP%]:hover, a.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus {\\n background-color: #1d2124 !important;\\n}\\n.bg-white[_ngcontent-%COMP%] {\\n background-color: #fff !important;\\n}\\n.bg-transparent[_ngcontent-%COMP%] {\\n background-color: transparent !important;\\n}\\n.border[_ngcontent-%COMP%] {\\n border: 1px solid #dee2e6 !important;\\n}\\n.border-top[_ngcontent-%COMP%] {\\n border-top: 1px solid #dee2e6 !important;\\n}\\n.border-right[_ngcontent-%COMP%] {\\n border-right: 1px solid #dee2e6 !important;\\n}\\n.border-bottom[_ngcontent-%COMP%] {\\n border-bottom: 1px solid #dee2e6 !important;\\n}\\n.border-left[_ngcontent-%COMP%] {\\n border-left: 1px solid #dee2e6 !important;\\n}\\n.border-0[_ngcontent-%COMP%] {\\n border: 0 !important;\\n}\\n.border-top-0[_ngcontent-%COMP%] {\\n border-top: 0 !important;\\n}\\n.border-right-0[_ngcontent-%COMP%] {\\n border-right: 0 !important;\\n}\\n.border-bottom-0[_ngcontent-%COMP%] {\\n border-bottom: 0 !important;\\n}\\n.border-left-0[_ngcontent-%COMP%] {\\n border-left: 0 !important;\\n}\\n.border-primary[_ngcontent-%COMP%] {\\n border-color: #007bff !important;\\n}\\n.border-secondary[_ngcontent-%COMP%] {\\n border-color: #6c757d !important;\\n}\\n.border-success[_ngcontent-%COMP%] {\\n border-color: #28a745 !important;\\n}\\n.border-info[_ngcontent-%COMP%] {\\n border-color: #17a2b8 !important;\\n}\\n.border-warning[_ngcontent-%COMP%] {\\n border-color: #ffc107 !important;\\n}\\n.border-danger[_ngcontent-%COMP%] {\\n border-color: #dc3545 !important;\\n}\\n.border-light[_ngcontent-%COMP%] {\\n border-color: #f8f9fa !important;\\n}\\n.border-dark[_ngcontent-%COMP%] {\\n border-color: #343a40 !important;\\n}\\n.border-white[_ngcontent-%COMP%] {\\n border-color: #fff !important;\\n}\\n.rounded[_ngcontent-%COMP%] {\\n border-radius: 0.25rem !important;\\n}\\n.rounded-top[_ngcontent-%COMP%] {\\n border-top-left-radius: 0.25rem !important;\\n border-top-right-radius: 0.25rem !important;\\n}\\n.rounded-right[_ngcontent-%COMP%] {\\n border-top-right-radius: 0.25rem !important;\\n border-bottom-right-radius: 0.25rem !important;\\n}\\n.rounded-bottom[_ngcontent-%COMP%] {\\n border-bottom-right-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important;\\n}\\n.rounded-left[_ngcontent-%COMP%] {\\n border-top-left-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important;\\n}\\n.rounded-circle[_ngcontent-%COMP%] {\\n border-radius: 50% !important;\\n}\\n.rounded-0[_ngcontent-%COMP%] {\\n border-radius: 0 !important;\\n}\\n.clearfix[_ngcontent-%COMP%]::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n.d-none[_ngcontent-%COMP%] {\\n display: none !important;\\n}\\n.d-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n}\\n.d-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n}\\n.d-block[_ngcontent-%COMP%] {\\n display: block !important;\\n}\\n.d-table[_ngcontent-%COMP%] {\\n display: table !important;\\n}\\n.d-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n}\\n.d-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n}\\n.d-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n}\\n.d-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n}\\n@media (min-width: 576px) {\\n .d-sm-none[_ngcontent-%COMP%] {\\n display: none !important;\\n }\\n .d-sm-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n }\\n .d-sm-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n }\\n .d-sm-block[_ngcontent-%COMP%] {\\n display: block !important;\\n }\\n .d-sm-table[_ngcontent-%COMP%] {\\n display: table !important;\\n }\\n .d-sm-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n }\\n .d-sm-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n }\\n .d-sm-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n }\\n .d-sm-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .d-md-none[_ngcontent-%COMP%] {\\n display: none !important;\\n }\\n .d-md-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n }\\n .d-md-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n }\\n .d-md-block[_ngcontent-%COMP%] {\\n display: block !important;\\n }\\n .d-md-table[_ngcontent-%COMP%] {\\n display: table !important;\\n }\\n .d-md-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n }\\n .d-md-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n }\\n .d-md-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n }\\n .d-md-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .d-lg-none[_ngcontent-%COMP%] {\\n display: none !important;\\n }\\n .d-lg-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n }\\n .d-lg-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n }\\n .d-lg-block[_ngcontent-%COMP%] {\\n display: block !important;\\n }\\n .d-lg-table[_ngcontent-%COMP%] {\\n display: table !important;\\n }\\n .d-lg-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n }\\n .d-lg-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n }\\n .d-lg-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n }\\n .d-lg-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .d-xl-none[_ngcontent-%COMP%] {\\n display: none !important;\\n }\\n .d-xl-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n }\\n .d-xl-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n }\\n .d-xl-block[_ngcontent-%COMP%] {\\n display: block !important;\\n }\\n .d-xl-table[_ngcontent-%COMP%] {\\n display: table !important;\\n }\\n .d-xl-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n }\\n .d-xl-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n }\\n .d-xl-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n }\\n .d-xl-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n }\\n}\\n@media print {\\n .d-print-none[_ngcontent-%COMP%] {\\n display: none !important;\\n }\\n .d-print-inline[_ngcontent-%COMP%] {\\n display: inline !important;\\n }\\n .d-print-inline-block[_ngcontent-%COMP%] {\\n display: inline-block !important;\\n }\\n .d-print-block[_ngcontent-%COMP%] {\\n display: block !important;\\n }\\n .d-print-table[_ngcontent-%COMP%] {\\n display: table !important;\\n }\\n .d-print-table-row[_ngcontent-%COMP%] {\\n display: table-row !important;\\n }\\n .d-print-table-cell[_ngcontent-%COMP%] {\\n display: table-cell !important;\\n }\\n .d-print-flex[_ngcontent-%COMP%] {\\n display: flex !important;\\n }\\n .d-print-inline-flex[_ngcontent-%COMP%] {\\n display: inline-flex !important;\\n }\\n}\\n.embed-responsive[_ngcontent-%COMP%] {\\n position: relative;\\n display: block;\\n width: 100%;\\n padding: 0;\\n overflow: hidden;\\n}\\n.embed-responsive[_ngcontent-%COMP%]::before {\\n display: block;\\n content: \\\"\\\";\\n}\\n.embed-responsive[_ngcontent-%COMP%] .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%] embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%] object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%] video[_ngcontent-%COMP%] {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0;\\n}\\n.embed-responsive-21by9[_ngcontent-%COMP%]::before {\\n padding-top: 42.8571428571%;\\n}\\n.embed-responsive-16by9[_ngcontent-%COMP%]::before {\\n padding-top: 56.25%;\\n}\\n.embed-responsive-4by3[_ngcontent-%COMP%]::before {\\n padding-top: 75%;\\n}\\n.embed-responsive-1by1[_ngcontent-%COMP%]::before {\\n padding-top: 100%;\\n}\\n.flex-row[_ngcontent-%COMP%] {\\n flex-direction: row !important;\\n}\\n.flex-column[_ngcontent-%COMP%] {\\n flex-direction: column !important;\\n}\\n.flex-row-reverse[_ngcontent-%COMP%] {\\n flex-direction: row-reverse !important;\\n}\\n.flex-column-reverse[_ngcontent-%COMP%] {\\n flex-direction: column-reverse !important;\\n}\\n.flex-wrap[_ngcontent-%COMP%] {\\n flex-wrap: wrap !important;\\n}\\n.flex-nowrap[_ngcontent-%COMP%] {\\n flex-wrap: nowrap !important;\\n}\\n.flex-wrap-reverse[_ngcontent-%COMP%] {\\n flex-wrap: wrap-reverse !important;\\n}\\n.justify-content-start[_ngcontent-%COMP%] {\\n justify-content: flex-start !important;\\n}\\n.justify-content-end[_ngcontent-%COMP%] {\\n justify-content: flex-end !important;\\n}\\n.justify-content-center[_ngcontent-%COMP%] {\\n justify-content: center !important;\\n}\\n.justify-content-between[_ngcontent-%COMP%] {\\n justify-content: space-between !important;\\n}\\n.justify-content-around[_ngcontent-%COMP%] {\\n justify-content: space-around !important;\\n}\\n.align-items-start[_ngcontent-%COMP%] {\\n align-items: flex-start !important;\\n}\\n.align-items-end[_ngcontent-%COMP%] {\\n align-items: flex-end !important;\\n}\\n.align-items-center[_ngcontent-%COMP%] {\\n align-items: center !important;\\n}\\n.align-items-baseline[_ngcontent-%COMP%] {\\n align-items: baseline !important;\\n}\\n.align-items-stretch[_ngcontent-%COMP%] {\\n align-items: stretch !important;\\n}\\n.align-content-start[_ngcontent-%COMP%] {\\n align-content: flex-start !important;\\n}\\n.align-content-end[_ngcontent-%COMP%] {\\n align-content: flex-end !important;\\n}\\n.align-content-center[_ngcontent-%COMP%] {\\n align-content: center !important;\\n}\\n.align-content-between[_ngcontent-%COMP%] {\\n align-content: space-between !important;\\n}\\n.align-content-around[_ngcontent-%COMP%] {\\n align-content: space-around !important;\\n}\\n.align-content-stretch[_ngcontent-%COMP%] {\\n align-content: stretch !important;\\n}\\n.align-self-auto[_ngcontent-%COMP%] {\\n align-self: auto !important;\\n}\\n.align-self-start[_ngcontent-%COMP%] {\\n align-self: flex-start !important;\\n}\\n.align-self-end[_ngcontent-%COMP%] {\\n align-self: flex-end !important;\\n}\\n.align-self-center[_ngcontent-%COMP%] {\\n align-self: center !important;\\n}\\n.align-self-baseline[_ngcontent-%COMP%] {\\n align-self: baseline !important;\\n}\\n.align-self-stretch[_ngcontent-%COMP%] {\\n align-self: stretch !important;\\n}\\n@media (min-width: 576px) {\\n .flex-sm-row[_ngcontent-%COMP%] {\\n flex-direction: row !important;\\n }\\n .flex-sm-column[_ngcontent-%COMP%] {\\n flex-direction: column !important;\\n }\\n .flex-sm-row-reverse[_ngcontent-%COMP%] {\\n flex-direction: row-reverse !important;\\n }\\n .flex-sm-column-reverse[_ngcontent-%COMP%] {\\n flex-direction: column-reverse !important;\\n }\\n .flex-sm-wrap[_ngcontent-%COMP%] {\\n flex-wrap: wrap !important;\\n }\\n .flex-sm-nowrap[_ngcontent-%COMP%] {\\n flex-wrap: nowrap !important;\\n }\\n .flex-sm-wrap-reverse[_ngcontent-%COMP%] {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-sm-start[_ngcontent-%COMP%] {\\n justify-content: flex-start !important;\\n }\\n .justify-content-sm-end[_ngcontent-%COMP%] {\\n justify-content: flex-end !important;\\n }\\n .justify-content-sm-center[_ngcontent-%COMP%] {\\n justify-content: center !important;\\n }\\n .justify-content-sm-between[_ngcontent-%COMP%] {\\n justify-content: space-between !important;\\n }\\n .justify-content-sm-around[_ngcontent-%COMP%] {\\n justify-content: space-around !important;\\n }\\n .align-items-sm-start[_ngcontent-%COMP%] {\\n align-items: flex-start !important;\\n }\\n .align-items-sm-end[_ngcontent-%COMP%] {\\n align-items: flex-end !important;\\n }\\n .align-items-sm-center[_ngcontent-%COMP%] {\\n align-items: center !important;\\n }\\n .align-items-sm-baseline[_ngcontent-%COMP%] {\\n align-items: baseline !important;\\n }\\n .align-items-sm-stretch[_ngcontent-%COMP%] {\\n align-items: stretch !important;\\n }\\n .align-content-sm-start[_ngcontent-%COMP%] {\\n align-content: flex-start !important;\\n }\\n .align-content-sm-end[_ngcontent-%COMP%] {\\n align-content: flex-end !important;\\n }\\n .align-content-sm-center[_ngcontent-%COMP%] {\\n align-content: center !important;\\n }\\n .align-content-sm-between[_ngcontent-%COMP%] {\\n align-content: space-between !important;\\n }\\n .align-content-sm-around[_ngcontent-%COMP%] {\\n align-content: space-around !important;\\n }\\n .align-content-sm-stretch[_ngcontent-%COMP%] {\\n align-content: stretch !important;\\n }\\n .align-self-sm-auto[_ngcontent-%COMP%] {\\n align-self: auto !important;\\n }\\n .align-self-sm-start[_ngcontent-%COMP%] {\\n align-self: flex-start !important;\\n }\\n .align-self-sm-end[_ngcontent-%COMP%] {\\n align-self: flex-end !important;\\n }\\n .align-self-sm-center[_ngcontent-%COMP%] {\\n align-self: center !important;\\n }\\n .align-self-sm-baseline[_ngcontent-%COMP%] {\\n align-self: baseline !important;\\n }\\n .align-self-sm-stretch[_ngcontent-%COMP%] {\\n align-self: stretch !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .flex-md-row[_ngcontent-%COMP%] {\\n flex-direction: row !important;\\n }\\n .flex-md-column[_ngcontent-%COMP%] {\\n flex-direction: column !important;\\n }\\n .flex-md-row-reverse[_ngcontent-%COMP%] {\\n flex-direction: row-reverse !important;\\n }\\n .flex-md-column-reverse[_ngcontent-%COMP%] {\\n flex-direction: column-reverse !important;\\n }\\n .flex-md-wrap[_ngcontent-%COMP%] {\\n flex-wrap: wrap !important;\\n }\\n .flex-md-nowrap[_ngcontent-%COMP%] {\\n flex-wrap: nowrap !important;\\n }\\n .flex-md-wrap-reverse[_ngcontent-%COMP%] {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-md-start[_ngcontent-%COMP%] {\\n justify-content: flex-start !important;\\n }\\n .justify-content-md-end[_ngcontent-%COMP%] {\\n justify-content: flex-end !important;\\n }\\n .justify-content-md-center[_ngcontent-%COMP%] {\\n justify-content: center !important;\\n }\\n .justify-content-md-between[_ngcontent-%COMP%] {\\n justify-content: space-between !important;\\n }\\n .justify-content-md-around[_ngcontent-%COMP%] {\\n justify-content: space-around !important;\\n }\\n .align-items-md-start[_ngcontent-%COMP%] {\\n align-items: flex-start !important;\\n }\\n .align-items-md-end[_ngcontent-%COMP%] {\\n align-items: flex-end !important;\\n }\\n .align-items-md-center[_ngcontent-%COMP%] {\\n align-items: center !important;\\n }\\n .align-items-md-baseline[_ngcontent-%COMP%] {\\n align-items: baseline !important;\\n }\\n .align-items-md-stretch[_ngcontent-%COMP%] {\\n align-items: stretch !important;\\n }\\n .align-content-md-start[_ngcontent-%COMP%] {\\n align-content: flex-start !important;\\n }\\n .align-content-md-end[_ngcontent-%COMP%] {\\n align-content: flex-end !important;\\n }\\n .align-content-md-center[_ngcontent-%COMP%] {\\n align-content: center !important;\\n }\\n .align-content-md-between[_ngcontent-%COMP%] {\\n align-content: space-between !important;\\n }\\n .align-content-md-around[_ngcontent-%COMP%] {\\n align-content: space-around !important;\\n }\\n .align-content-md-stretch[_ngcontent-%COMP%] {\\n align-content: stretch !important;\\n }\\n .align-self-md-auto[_ngcontent-%COMP%] {\\n align-self: auto !important;\\n }\\n .align-self-md-start[_ngcontent-%COMP%] {\\n align-self: flex-start !important;\\n }\\n .align-self-md-end[_ngcontent-%COMP%] {\\n align-self: flex-end !important;\\n }\\n .align-self-md-center[_ngcontent-%COMP%] {\\n align-self: center !important;\\n }\\n .align-self-md-baseline[_ngcontent-%COMP%] {\\n align-self: baseline !important;\\n }\\n .align-self-md-stretch[_ngcontent-%COMP%] {\\n align-self: stretch !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .flex-lg-row[_ngcontent-%COMP%] {\\n flex-direction: row !important;\\n }\\n .flex-lg-column[_ngcontent-%COMP%] {\\n flex-direction: column !important;\\n }\\n .flex-lg-row-reverse[_ngcontent-%COMP%] {\\n flex-direction: row-reverse !important;\\n }\\n .flex-lg-column-reverse[_ngcontent-%COMP%] {\\n flex-direction: column-reverse !important;\\n }\\n .flex-lg-wrap[_ngcontent-%COMP%] {\\n flex-wrap: wrap !important;\\n }\\n .flex-lg-nowrap[_ngcontent-%COMP%] {\\n flex-wrap: nowrap !important;\\n }\\n .flex-lg-wrap-reverse[_ngcontent-%COMP%] {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-lg-start[_ngcontent-%COMP%] {\\n justify-content: flex-start !important;\\n }\\n .justify-content-lg-end[_ngcontent-%COMP%] {\\n justify-content: flex-end !important;\\n }\\n .justify-content-lg-center[_ngcontent-%COMP%] {\\n justify-content: center !important;\\n }\\n .justify-content-lg-between[_ngcontent-%COMP%] {\\n justify-content: space-between !important;\\n }\\n .justify-content-lg-around[_ngcontent-%COMP%] {\\n justify-content: space-around !important;\\n }\\n .align-items-lg-start[_ngcontent-%COMP%] {\\n align-items: flex-start !important;\\n }\\n .align-items-lg-end[_ngcontent-%COMP%] {\\n align-items: flex-end !important;\\n }\\n .align-items-lg-center[_ngcontent-%COMP%] {\\n align-items: center !important;\\n }\\n .align-items-lg-baseline[_ngcontent-%COMP%] {\\n align-items: baseline !important;\\n }\\n .align-items-lg-stretch[_ngcontent-%COMP%] {\\n align-items: stretch !important;\\n }\\n .align-content-lg-start[_ngcontent-%COMP%] {\\n align-content: flex-start !important;\\n }\\n .align-content-lg-end[_ngcontent-%COMP%] {\\n align-content: flex-end !important;\\n }\\n .align-content-lg-center[_ngcontent-%COMP%] {\\n align-content: center !important;\\n }\\n .align-content-lg-between[_ngcontent-%COMP%] {\\n align-content: space-between !important;\\n }\\n .align-content-lg-around[_ngcontent-%COMP%] {\\n align-content: space-around !important;\\n }\\n .align-content-lg-stretch[_ngcontent-%COMP%] {\\n align-content: stretch !important;\\n }\\n .align-self-lg-auto[_ngcontent-%COMP%] {\\n align-self: auto !important;\\n }\\n .align-self-lg-start[_ngcontent-%COMP%] {\\n align-self: flex-start !important;\\n }\\n .align-self-lg-end[_ngcontent-%COMP%] {\\n align-self: flex-end !important;\\n }\\n .align-self-lg-center[_ngcontent-%COMP%] {\\n align-self: center !important;\\n }\\n .align-self-lg-baseline[_ngcontent-%COMP%] {\\n align-self: baseline !important;\\n }\\n .align-self-lg-stretch[_ngcontent-%COMP%] {\\n align-self: stretch !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .flex-xl-row[_ngcontent-%COMP%] {\\n flex-direction: row !important;\\n }\\n .flex-xl-column[_ngcontent-%COMP%] {\\n flex-direction: column !important;\\n }\\n .flex-xl-row-reverse[_ngcontent-%COMP%] {\\n flex-direction: row-reverse !important;\\n }\\n .flex-xl-column-reverse[_ngcontent-%COMP%] {\\n flex-direction: column-reverse !important;\\n }\\n .flex-xl-wrap[_ngcontent-%COMP%] {\\n flex-wrap: wrap !important;\\n }\\n .flex-xl-nowrap[_ngcontent-%COMP%] {\\n flex-wrap: nowrap !important;\\n }\\n .flex-xl-wrap-reverse[_ngcontent-%COMP%] {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-xl-start[_ngcontent-%COMP%] {\\n justify-content: flex-start !important;\\n }\\n .justify-content-xl-end[_ngcontent-%COMP%] {\\n justify-content: flex-end !important;\\n }\\n .justify-content-xl-center[_ngcontent-%COMP%] {\\n justify-content: center !important;\\n }\\n .justify-content-xl-between[_ngcontent-%COMP%] {\\n justify-content: space-between !important;\\n }\\n .justify-content-xl-around[_ngcontent-%COMP%] {\\n justify-content: space-around !important;\\n }\\n .align-items-xl-start[_ngcontent-%COMP%] {\\n align-items: flex-start !important;\\n }\\n .align-items-xl-end[_ngcontent-%COMP%] {\\n align-items: flex-end !important;\\n }\\n .align-items-xl-center[_ngcontent-%COMP%] {\\n align-items: center !important;\\n }\\n .align-items-xl-baseline[_ngcontent-%COMP%] {\\n align-items: baseline !important;\\n }\\n .align-items-xl-stretch[_ngcontent-%COMP%] {\\n align-items: stretch !important;\\n }\\n .align-content-xl-start[_ngcontent-%COMP%] {\\n align-content: flex-start !important;\\n }\\n .align-content-xl-end[_ngcontent-%COMP%] {\\n align-content: flex-end !important;\\n }\\n .align-content-xl-center[_ngcontent-%COMP%] {\\n align-content: center !important;\\n }\\n .align-content-xl-between[_ngcontent-%COMP%] {\\n align-content: space-between !important;\\n }\\n .align-content-xl-around[_ngcontent-%COMP%] {\\n align-content: space-around !important;\\n }\\n .align-content-xl-stretch[_ngcontent-%COMP%] {\\n align-content: stretch !important;\\n }\\n .align-self-xl-auto[_ngcontent-%COMP%] {\\n align-self: auto !important;\\n }\\n .align-self-xl-start[_ngcontent-%COMP%] {\\n align-self: flex-start !important;\\n }\\n .align-self-xl-end[_ngcontent-%COMP%] {\\n align-self: flex-end !important;\\n }\\n .align-self-xl-center[_ngcontent-%COMP%] {\\n align-self: center !important;\\n }\\n .align-self-xl-baseline[_ngcontent-%COMP%] {\\n align-self: baseline !important;\\n }\\n .align-self-xl-stretch[_ngcontent-%COMP%] {\\n align-self: stretch !important;\\n }\\n}\\n.float-left[_ngcontent-%COMP%] {\\n float: left !important;\\n}\\n.float-right[_ngcontent-%COMP%] {\\n float: right !important;\\n}\\n.float-none[_ngcontent-%COMP%] {\\n float: none !important;\\n}\\n@media (min-width: 576px) {\\n .float-sm-left[_ngcontent-%COMP%] {\\n float: left !important;\\n }\\n .float-sm-right[_ngcontent-%COMP%] {\\n float: right !important;\\n }\\n .float-sm-none[_ngcontent-%COMP%] {\\n float: none !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .float-md-left[_ngcontent-%COMP%] {\\n float: left !important;\\n }\\n .float-md-right[_ngcontent-%COMP%] {\\n float: right !important;\\n }\\n .float-md-none[_ngcontent-%COMP%] {\\n float: none !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .float-lg-left[_ngcontent-%COMP%] {\\n float: left !important;\\n }\\n .float-lg-right[_ngcontent-%COMP%] {\\n float: right !important;\\n }\\n .float-lg-none[_ngcontent-%COMP%] {\\n float: none !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .float-xl-left[_ngcontent-%COMP%] {\\n float: left !important;\\n }\\n .float-xl-right[_ngcontent-%COMP%] {\\n float: right !important;\\n }\\n .float-xl-none[_ngcontent-%COMP%] {\\n float: none !important;\\n }\\n}\\n.position-static[_ngcontent-%COMP%] {\\n position: static !important;\\n}\\n.position-relative[_ngcontent-%COMP%] {\\n position: relative !important;\\n}\\n.position-absolute[_ngcontent-%COMP%] {\\n position: absolute !important;\\n}\\n.position-fixed[_ngcontent-%COMP%] {\\n position: fixed !important;\\n}\\n.position-sticky[_ngcontent-%COMP%] {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n}\\n.fixed-top[_ngcontent-%COMP%] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n.fixed-bottom[_ngcontent-%COMP%] {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n@supports ((position: -webkit-sticky) or (position: sticky)) {\\n .sticky-top[_ngcontent-%COMP%] {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n}\\n.sr-only[_ngcontent-%COMP%] {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n -webkit-clip-path: inset(50%);\\n clip-path: inset(50%);\\n border: 0;\\n}\\n.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n overflow: visible;\\n clip: auto;\\n white-space: normal;\\n -webkit-clip-path: none;\\n clip-path: none;\\n}\\n.w-25[_ngcontent-%COMP%] {\\n width: 25% !important;\\n}\\n.w-50[_ngcontent-%COMP%] {\\n width: 50% !important;\\n}\\n.w-75[_ngcontent-%COMP%] {\\n width: 75% !important;\\n}\\n.w-100[_ngcontent-%COMP%] {\\n width: 100% !important;\\n}\\n.h-25[_ngcontent-%COMP%] {\\n height: 25% !important;\\n}\\n.h-50[_ngcontent-%COMP%] {\\n height: 50% !important;\\n}\\n.h-75[_ngcontent-%COMP%] {\\n height: 75% !important;\\n}\\n.h-100[_ngcontent-%COMP%] {\\n height: 100% !important;\\n}\\n.mw-100[_ngcontent-%COMP%] {\\n max-width: 100% !important;\\n}\\n.mh-100[_ngcontent-%COMP%] {\\n max-height: 100% !important;\\n}\\n.m-0[_ngcontent-%COMP%] {\\n margin: 0 !important;\\n}\\n.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%] {\\n margin-top: 0 !important;\\n}\\n.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%] {\\n margin-right: 0 !important;\\n}\\n.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%] {\\n margin-bottom: 0 !important;\\n}\\n.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%] {\\n margin-left: 0 !important;\\n}\\n.m-1[_ngcontent-%COMP%] {\\n margin: 0.25rem !important;\\n}\\n.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%] {\\n margin-top: 0.25rem !important;\\n}\\n.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%] {\\n margin-right: 0.25rem !important;\\n}\\n.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%] {\\n margin-bottom: 0.25rem !important;\\n}\\n.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%] {\\n margin-left: 0.25rem !important;\\n}\\n.m-2[_ngcontent-%COMP%] {\\n margin: 0.5rem !important;\\n}\\n.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%] {\\n margin-top: 0.5rem !important;\\n}\\n.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%] {\\n margin-right: 0.5rem !important;\\n}\\n.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem !important;\\n}\\n.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%] {\\n margin-left: 0.5rem !important;\\n}\\n.m-3[_ngcontent-%COMP%] {\\n margin: 1rem !important;\\n}\\n.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%] {\\n margin-top: 1rem !important;\\n}\\n.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%] {\\n margin-right: 1rem !important;\\n}\\n.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%] {\\n margin-bottom: 1rem !important;\\n}\\n.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%] {\\n margin-left: 1rem !important;\\n}\\n.m-4[_ngcontent-%COMP%] {\\n margin: 1.5rem !important;\\n}\\n.mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%] {\\n margin-top: 1.5rem !important;\\n}\\n.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%] {\\n margin-right: 1.5rem !important;\\n}\\n.mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%] {\\n margin-bottom: 1.5rem !important;\\n}\\n.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%] {\\n margin-left: 1.5rem !important;\\n}\\n.m-5[_ngcontent-%COMP%] {\\n margin: 3rem !important;\\n}\\n.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%] {\\n margin-top: 3rem !important;\\n}\\n.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%] {\\n margin-right: 3rem !important;\\n}\\n.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%] {\\n margin-bottom: 3rem !important;\\n}\\n.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%] {\\n margin-left: 3rem !important;\\n}\\n.p-0[_ngcontent-%COMP%] {\\n padding: 0 !important;\\n}\\n.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%] {\\n padding-top: 0 !important;\\n}\\n.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%] {\\n padding-right: 0 !important;\\n}\\n.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%] {\\n padding-bottom: 0 !important;\\n}\\n.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%] {\\n padding-left: 0 !important;\\n}\\n.p-1[_ngcontent-%COMP%] {\\n padding: 0.25rem !important;\\n}\\n.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%] {\\n padding-top: 0.25rem !important;\\n}\\n.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%] {\\n padding-right: 0.25rem !important;\\n}\\n.pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%] {\\n padding-bottom: 0.25rem !important;\\n}\\n.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%] {\\n padding-left: 0.25rem !important;\\n}\\n.p-2[_ngcontent-%COMP%] {\\n padding: 0.5rem !important;\\n}\\n.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%] {\\n padding-top: 0.5rem !important;\\n}\\n.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%] {\\n padding-right: 0.5rem !important;\\n}\\n.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%] {\\n padding-bottom: 0.5rem !important;\\n}\\n.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%] {\\n padding-left: 0.5rem !important;\\n}\\n.p-3[_ngcontent-%COMP%] {\\n padding: 1rem !important;\\n}\\n.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%] {\\n padding-top: 1rem !important;\\n}\\n.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%] {\\n padding-right: 1rem !important;\\n}\\n.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%] {\\n padding-bottom: 1rem !important;\\n}\\n.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%] {\\n padding-left: 1rem !important;\\n}\\n.p-4[_ngcontent-%COMP%] {\\n padding: 1.5rem !important;\\n}\\n.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%] {\\n padding-top: 1.5rem !important;\\n}\\n.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%] {\\n padding-right: 1.5rem !important;\\n}\\n.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%] {\\n padding-bottom: 1.5rem !important;\\n}\\n.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%] {\\n padding-left: 1.5rem !important;\\n}\\n.p-5[_ngcontent-%COMP%] {\\n padding: 3rem !important;\\n}\\n.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%] {\\n padding-top: 3rem !important;\\n}\\n.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%] {\\n padding-right: 3rem !important;\\n}\\n.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%] {\\n padding-bottom: 3rem !important;\\n}\\n.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%] {\\n padding-left: 3rem !important;\\n}\\n.m-auto[_ngcontent-%COMP%] {\\n margin: auto !important;\\n}\\n.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%] {\\n margin-top: auto !important;\\n}\\n.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%] {\\n margin-right: auto !important;\\n}\\n.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%] {\\n margin-bottom: auto !important;\\n}\\n.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%] {\\n margin-left: auto !important;\\n}\\n@media (min-width: 576px) {\\n .m-sm-0[_ngcontent-%COMP%] {\\n margin: 0 !important;\\n }\\n .mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%] {\\n margin-top: 0 !important;\\n }\\n .mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%] {\\n margin-right: 0 !important;\\n }\\n .mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%] {\\n margin-bottom: 0 !important;\\n }\\n .ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%] {\\n margin-left: 0 !important;\\n }\\n .m-sm-1[_ngcontent-%COMP%] {\\n margin: 0.25rem !important;\\n }\\n .mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%] {\\n margin-top: 0.25rem !important;\\n }\\n .mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%] {\\n margin-right: 0.25rem !important;\\n }\\n .mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%] {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%] {\\n margin-left: 0.25rem !important;\\n }\\n .m-sm-2[_ngcontent-%COMP%] {\\n margin: 0.5rem !important;\\n }\\n .mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%] {\\n margin-top: 0.5rem !important;\\n }\\n .mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%] {\\n margin-right: 0.5rem !important;\\n }\\n .mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%] {\\n margin-left: 0.5rem !important;\\n }\\n .m-sm-3[_ngcontent-%COMP%] {\\n margin: 1rem !important;\\n }\\n .mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%] {\\n margin-top: 1rem !important;\\n }\\n .mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%] {\\n margin-right: 1rem !important;\\n }\\n .mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%] {\\n margin-bottom: 1rem !important;\\n }\\n .ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%] {\\n margin-left: 1rem !important;\\n }\\n .m-sm-4[_ngcontent-%COMP%] {\\n margin: 1.5rem !important;\\n }\\n .mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%] {\\n margin-top: 1.5rem !important;\\n }\\n .mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%] {\\n margin-right: 1.5rem !important;\\n }\\n .mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%] {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%] {\\n margin-left: 1.5rem !important;\\n }\\n .m-sm-5[_ngcontent-%COMP%] {\\n margin: 3rem !important;\\n }\\n .mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%] {\\n margin-top: 3rem !important;\\n }\\n .mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%] {\\n margin-right: 3rem !important;\\n }\\n .mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%] {\\n margin-bottom: 3rem !important;\\n }\\n .ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%] {\\n margin-left: 3rem !important;\\n }\\n .p-sm-0[_ngcontent-%COMP%] {\\n padding: 0 !important;\\n }\\n .pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%] {\\n padding-top: 0 !important;\\n }\\n .pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%] {\\n padding-right: 0 !important;\\n }\\n .pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%] {\\n padding-bottom: 0 !important;\\n }\\n .pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%] {\\n padding-left: 0 !important;\\n }\\n .p-sm-1[_ngcontent-%COMP%] {\\n padding: 0.25rem !important;\\n }\\n .pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%] {\\n padding-top: 0.25rem !important;\\n }\\n .pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%] {\\n padding-right: 0.25rem !important;\\n }\\n .pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%] {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%] {\\n padding-left: 0.25rem !important;\\n }\\n .p-sm-2[_ngcontent-%COMP%] {\\n padding: 0.5rem !important;\\n }\\n .pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%] {\\n padding-top: 0.5rem !important;\\n }\\n .pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%] {\\n padding-right: 0.5rem !important;\\n }\\n .pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%] {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%] {\\n padding-left: 0.5rem !important;\\n }\\n .p-sm-3[_ngcontent-%COMP%] {\\n padding: 1rem !important;\\n }\\n .pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%] {\\n padding-top: 1rem !important;\\n }\\n .pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%] {\\n padding-right: 1rem !important;\\n }\\n .pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%] {\\n padding-bottom: 1rem !important;\\n }\\n .pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%] {\\n padding-left: 1rem !important;\\n }\\n .p-sm-4[_ngcontent-%COMP%] {\\n padding: 1.5rem !important;\\n }\\n .pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%] {\\n padding-top: 1.5rem !important;\\n }\\n .pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%] {\\n padding-right: 1.5rem !important;\\n }\\n .pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%] {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%] {\\n padding-left: 1.5rem !important;\\n }\\n .p-sm-5[_ngcontent-%COMP%] {\\n padding: 3rem !important;\\n }\\n .pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%] {\\n padding-top: 3rem !important;\\n }\\n .pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%] {\\n padding-right: 3rem !important;\\n }\\n .pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%] {\\n padding-bottom: 3rem !important;\\n }\\n .pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%] {\\n padding-left: 3rem !important;\\n }\\n .m-sm-auto[_ngcontent-%COMP%] {\\n margin: auto !important;\\n }\\n .mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%] {\\n margin-top: auto !important;\\n }\\n .mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%] {\\n margin-right: auto !important;\\n }\\n .mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%] {\\n margin-bottom: auto !important;\\n }\\n .ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%] {\\n margin-left: auto !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .m-md-0[_ngcontent-%COMP%] {\\n margin: 0 !important;\\n }\\n .mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%] {\\n margin-top: 0 !important;\\n }\\n .mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%] {\\n margin-right: 0 !important;\\n }\\n .mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%] {\\n margin-bottom: 0 !important;\\n }\\n .ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%] {\\n margin-left: 0 !important;\\n }\\n .m-md-1[_ngcontent-%COMP%] {\\n margin: 0.25rem !important;\\n }\\n .mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%] {\\n margin-top: 0.25rem !important;\\n }\\n .mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%] {\\n margin-right: 0.25rem !important;\\n }\\n .mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%] {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%] {\\n margin-left: 0.25rem !important;\\n }\\n .m-md-2[_ngcontent-%COMP%] {\\n margin: 0.5rem !important;\\n }\\n .mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%] {\\n margin-top: 0.5rem !important;\\n }\\n .mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%] {\\n margin-right: 0.5rem !important;\\n }\\n .mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%] {\\n margin-left: 0.5rem !important;\\n }\\n .m-md-3[_ngcontent-%COMP%] {\\n margin: 1rem !important;\\n }\\n .mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%] {\\n margin-top: 1rem !important;\\n }\\n .mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%] {\\n margin-right: 1rem !important;\\n }\\n .mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%] {\\n margin-bottom: 1rem !important;\\n }\\n .ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%] {\\n margin-left: 1rem !important;\\n }\\n .m-md-4[_ngcontent-%COMP%] {\\n margin: 1.5rem !important;\\n }\\n .mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%] {\\n margin-top: 1.5rem !important;\\n }\\n .mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%] {\\n margin-right: 1.5rem !important;\\n }\\n .mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%] {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%] {\\n margin-left: 1.5rem !important;\\n }\\n .m-md-5[_ngcontent-%COMP%] {\\n margin: 3rem !important;\\n }\\n .mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%] {\\n margin-top: 3rem !important;\\n }\\n .mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%] {\\n margin-right: 3rem !important;\\n }\\n .mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%] {\\n margin-bottom: 3rem !important;\\n }\\n .ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%] {\\n margin-left: 3rem !important;\\n }\\n .p-md-0[_ngcontent-%COMP%] {\\n padding: 0 !important;\\n }\\n .pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%] {\\n padding-top: 0 !important;\\n }\\n .pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%] {\\n padding-right: 0 !important;\\n }\\n .pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%] {\\n padding-bottom: 0 !important;\\n }\\n .pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%] {\\n padding-left: 0 !important;\\n }\\n .p-md-1[_ngcontent-%COMP%] {\\n padding: 0.25rem !important;\\n }\\n .pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%] {\\n padding-top: 0.25rem !important;\\n }\\n .pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%] {\\n padding-right: 0.25rem !important;\\n }\\n .pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%] {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%] {\\n padding-left: 0.25rem !important;\\n }\\n .p-md-2[_ngcontent-%COMP%] {\\n padding: 0.5rem !important;\\n }\\n .pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%] {\\n padding-top: 0.5rem !important;\\n }\\n .pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%] {\\n padding-right: 0.5rem !important;\\n }\\n .pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%] {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%] {\\n padding-left: 0.5rem !important;\\n }\\n .p-md-3[_ngcontent-%COMP%] {\\n padding: 1rem !important;\\n }\\n .pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%] {\\n padding-top: 1rem !important;\\n }\\n .pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%] {\\n padding-right: 1rem !important;\\n }\\n .pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%] {\\n padding-bottom: 1rem !important;\\n }\\n .pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%] {\\n padding-left: 1rem !important;\\n }\\n .p-md-4[_ngcontent-%COMP%] {\\n padding: 1.5rem !important;\\n }\\n .pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%] {\\n padding-top: 1.5rem !important;\\n }\\n .pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%] {\\n padding-right: 1.5rem !important;\\n }\\n .pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%] {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%] {\\n padding-left: 1.5rem !important;\\n }\\n .p-md-5[_ngcontent-%COMP%] {\\n padding: 3rem !important;\\n }\\n .pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%] {\\n padding-top: 3rem !important;\\n }\\n .pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%] {\\n padding-right: 3rem !important;\\n }\\n .pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%] {\\n padding-bottom: 3rem !important;\\n }\\n .pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%] {\\n padding-left: 3rem !important;\\n }\\n .m-md-auto[_ngcontent-%COMP%] {\\n margin: auto !important;\\n }\\n .mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%] {\\n margin-top: auto !important;\\n }\\n .mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%] {\\n margin-right: auto !important;\\n }\\n .mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%] {\\n margin-bottom: auto !important;\\n }\\n .ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%] {\\n margin-left: auto !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .m-lg-0[_ngcontent-%COMP%] {\\n margin: 0 !important;\\n }\\n .mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%] {\\n margin-top: 0 !important;\\n }\\n .mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%] {\\n margin-right: 0 !important;\\n }\\n .mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%] {\\n margin-bottom: 0 !important;\\n }\\n .ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%] {\\n margin-left: 0 !important;\\n }\\n .m-lg-1[_ngcontent-%COMP%] {\\n margin: 0.25rem !important;\\n }\\n .mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%] {\\n margin-top: 0.25rem !important;\\n }\\n .mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%] {\\n margin-right: 0.25rem !important;\\n }\\n .mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%] {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%] {\\n margin-left: 0.25rem !important;\\n }\\n .m-lg-2[_ngcontent-%COMP%] {\\n margin: 0.5rem !important;\\n }\\n .mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%] {\\n margin-top: 0.5rem !important;\\n }\\n .mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%] {\\n margin-right: 0.5rem !important;\\n }\\n .mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%] {\\n margin-left: 0.5rem !important;\\n }\\n .m-lg-3[_ngcontent-%COMP%] {\\n margin: 1rem !important;\\n }\\n .mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%] {\\n margin-top: 1rem !important;\\n }\\n .mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%] {\\n margin-right: 1rem !important;\\n }\\n .mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%] {\\n margin-bottom: 1rem !important;\\n }\\n .ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%] {\\n margin-left: 1rem !important;\\n }\\n .m-lg-4[_ngcontent-%COMP%] {\\n margin: 1.5rem !important;\\n }\\n .mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%] {\\n margin-top: 1.5rem !important;\\n }\\n .mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%] {\\n margin-right: 1.5rem !important;\\n }\\n .mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%] {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%] {\\n margin-left: 1.5rem !important;\\n }\\n .m-lg-5[_ngcontent-%COMP%] {\\n margin: 3rem !important;\\n }\\n .mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%] {\\n margin-top: 3rem !important;\\n }\\n .mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%] {\\n margin-right: 3rem !important;\\n }\\n .mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%] {\\n margin-bottom: 3rem !important;\\n }\\n .ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%] {\\n margin-left: 3rem !important;\\n }\\n .p-lg-0[_ngcontent-%COMP%] {\\n padding: 0 !important;\\n }\\n .pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%] {\\n padding-top: 0 !important;\\n }\\n .pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%] {\\n padding-right: 0 !important;\\n }\\n .pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%] {\\n padding-bottom: 0 !important;\\n }\\n .pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%] {\\n padding-left: 0 !important;\\n }\\n .p-lg-1[_ngcontent-%COMP%] {\\n padding: 0.25rem !important;\\n }\\n .pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%] {\\n padding-top: 0.25rem !important;\\n }\\n .pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%] {\\n padding-right: 0.25rem !important;\\n }\\n .pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%] {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%] {\\n padding-left: 0.25rem !important;\\n }\\n .p-lg-2[_ngcontent-%COMP%] {\\n padding: 0.5rem !important;\\n }\\n .pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%] {\\n padding-top: 0.5rem !important;\\n }\\n .pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%] {\\n padding-right: 0.5rem !important;\\n }\\n .pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%] {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%] {\\n padding-left: 0.5rem !important;\\n }\\n .p-lg-3[_ngcontent-%COMP%] {\\n padding: 1rem !important;\\n }\\n .pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%] {\\n padding-top: 1rem !important;\\n }\\n .pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%] {\\n padding-right: 1rem !important;\\n }\\n .pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%] {\\n padding-bottom: 1rem !important;\\n }\\n .pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%] {\\n padding-left: 1rem !important;\\n }\\n .p-lg-4[_ngcontent-%COMP%] {\\n padding: 1.5rem !important;\\n }\\n .pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%] {\\n padding-top: 1.5rem !important;\\n }\\n .pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%] {\\n padding-right: 1.5rem !important;\\n }\\n .pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%] {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%] {\\n padding-left: 1.5rem !important;\\n }\\n .p-lg-5[_ngcontent-%COMP%] {\\n padding: 3rem !important;\\n }\\n .pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%] {\\n padding-top: 3rem !important;\\n }\\n .pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%] {\\n padding-right: 3rem !important;\\n }\\n .pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%] {\\n padding-bottom: 3rem !important;\\n }\\n .pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%] {\\n padding-left: 3rem !important;\\n }\\n .m-lg-auto[_ngcontent-%COMP%] {\\n margin: auto !important;\\n }\\n .mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%] {\\n margin-top: auto !important;\\n }\\n .mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%] {\\n margin-right: auto !important;\\n }\\n .mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%] {\\n margin-bottom: auto !important;\\n }\\n .ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%] {\\n margin-left: auto !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .m-xl-0[_ngcontent-%COMP%] {\\n margin: 0 !important;\\n }\\n .mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%] {\\n margin-top: 0 !important;\\n }\\n .mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%] {\\n margin-right: 0 !important;\\n }\\n .mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%] {\\n margin-bottom: 0 !important;\\n }\\n .ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%] {\\n margin-left: 0 !important;\\n }\\n .m-xl-1[_ngcontent-%COMP%] {\\n margin: 0.25rem !important;\\n }\\n .mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%] {\\n margin-top: 0.25rem !important;\\n }\\n .mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%] {\\n margin-right: 0.25rem !important;\\n }\\n .mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%] {\\n margin-bottom: 0.25rem !important;\\n }\\n .ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%] {\\n margin-left: 0.25rem !important;\\n }\\n .m-xl-2[_ngcontent-%COMP%] {\\n margin: 0.5rem !important;\\n }\\n .mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%] {\\n margin-top: 0.5rem !important;\\n }\\n .mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%] {\\n margin-right: 0.5rem !important;\\n }\\n .mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%] {\\n margin-bottom: 0.5rem !important;\\n }\\n .ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%] {\\n margin-left: 0.5rem !important;\\n }\\n .m-xl-3[_ngcontent-%COMP%] {\\n margin: 1rem !important;\\n }\\n .mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%] {\\n margin-top: 1rem !important;\\n }\\n .mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%] {\\n margin-right: 1rem !important;\\n }\\n .mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%] {\\n margin-bottom: 1rem !important;\\n }\\n .ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%] {\\n margin-left: 1rem !important;\\n }\\n .m-xl-4[_ngcontent-%COMP%] {\\n margin: 1.5rem !important;\\n }\\n .mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%] {\\n margin-top: 1.5rem !important;\\n }\\n .mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%] {\\n margin-right: 1.5rem !important;\\n }\\n .mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%] {\\n margin-bottom: 1.5rem !important;\\n }\\n .ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%] {\\n margin-left: 1.5rem !important;\\n }\\n .m-xl-5[_ngcontent-%COMP%] {\\n margin: 3rem !important;\\n }\\n .mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%] {\\n margin-top: 3rem !important;\\n }\\n .mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%] {\\n margin-right: 3rem !important;\\n }\\n .mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%] {\\n margin-bottom: 3rem !important;\\n }\\n .ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%] {\\n margin-left: 3rem !important;\\n }\\n .p-xl-0[_ngcontent-%COMP%] {\\n padding: 0 !important;\\n }\\n .pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%] {\\n padding-top: 0 !important;\\n }\\n .pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%] {\\n padding-right: 0 !important;\\n }\\n .pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%] {\\n padding-bottom: 0 !important;\\n }\\n .pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%] {\\n padding-left: 0 !important;\\n }\\n .p-xl-1[_ngcontent-%COMP%] {\\n padding: 0.25rem !important;\\n }\\n .pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%] {\\n padding-top: 0.25rem !important;\\n }\\n .pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%] {\\n padding-right: 0.25rem !important;\\n }\\n .pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%] {\\n padding-bottom: 0.25rem !important;\\n }\\n .pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%] {\\n padding-left: 0.25rem !important;\\n }\\n .p-xl-2[_ngcontent-%COMP%] {\\n padding: 0.5rem !important;\\n }\\n .pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%] {\\n padding-top: 0.5rem !important;\\n }\\n .pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%] {\\n padding-right: 0.5rem !important;\\n }\\n .pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%] {\\n padding-bottom: 0.5rem !important;\\n }\\n .pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%] {\\n padding-left: 0.5rem !important;\\n }\\n .p-xl-3[_ngcontent-%COMP%] {\\n padding: 1rem !important;\\n }\\n .pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%] {\\n padding-top: 1rem !important;\\n }\\n .pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%] {\\n padding-right: 1rem !important;\\n }\\n .pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%] {\\n padding-bottom: 1rem !important;\\n }\\n .pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%] {\\n padding-left: 1rem !important;\\n }\\n .p-xl-4[_ngcontent-%COMP%] {\\n padding: 1.5rem !important;\\n }\\n .pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%] {\\n padding-top: 1.5rem !important;\\n }\\n .pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%] {\\n padding-right: 1.5rem !important;\\n }\\n .pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%] {\\n padding-bottom: 1.5rem !important;\\n }\\n .pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%] {\\n padding-left: 1.5rem !important;\\n }\\n .p-xl-5[_ngcontent-%COMP%] {\\n padding: 3rem !important;\\n }\\n .pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%] {\\n padding-top: 3rem !important;\\n }\\n .pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%] {\\n padding-right: 3rem !important;\\n }\\n .pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%] {\\n padding-bottom: 3rem !important;\\n }\\n .pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%] {\\n padding-left: 3rem !important;\\n }\\n .m-xl-auto[_ngcontent-%COMP%] {\\n margin: auto !important;\\n }\\n .mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%] {\\n margin-top: auto !important;\\n }\\n .mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%] {\\n margin-right: auto !important;\\n }\\n .mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%] {\\n margin-bottom: auto !important;\\n }\\n .ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%] {\\n margin-left: auto !important;\\n }\\n}\\n.text-justify[_ngcontent-%COMP%] {\\n text-align: justify !important;\\n}\\n.text-nowrap[_ngcontent-%COMP%] {\\n white-space: nowrap !important;\\n}\\n.text-truncate[_ngcontent-%COMP%] {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.text-left[_ngcontent-%COMP%] {\\n text-align: left !important;\\n}\\n.text-right[_ngcontent-%COMP%] {\\n text-align: right !important;\\n}\\n.text-center[_ngcontent-%COMP%] {\\n text-align: center !important;\\n}\\n@media (min-width: 576px) {\\n .text-sm-left[_ngcontent-%COMP%] {\\n text-align: left !important;\\n }\\n .text-sm-right[_ngcontent-%COMP%] {\\n text-align: right !important;\\n }\\n .text-sm-center[_ngcontent-%COMP%] {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .text-md-left[_ngcontent-%COMP%] {\\n text-align: left !important;\\n }\\n .text-md-right[_ngcontent-%COMP%] {\\n text-align: right !important;\\n }\\n .text-md-center[_ngcontent-%COMP%] {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .text-lg-left[_ngcontent-%COMP%] {\\n text-align: left !important;\\n }\\n .text-lg-right[_ngcontent-%COMP%] {\\n text-align: right !important;\\n }\\n .text-lg-center[_ngcontent-%COMP%] {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .text-xl-left[_ngcontent-%COMP%] {\\n text-align: left !important;\\n }\\n .text-xl-right[_ngcontent-%COMP%] {\\n text-align: right !important;\\n }\\n .text-xl-center[_ngcontent-%COMP%] {\\n text-align: center !important;\\n }\\n}\\n.text-lowercase[_ngcontent-%COMP%] {\\n text-transform: lowercase !important;\\n}\\n.text-uppercase[_ngcontent-%COMP%] {\\n text-transform: uppercase !important;\\n}\\n.text-capitalize[_ngcontent-%COMP%] {\\n text-transform: capitalize !important;\\n}\\n.font-weight-light[_ngcontent-%COMP%] {\\n font-weight: 300 !important;\\n}\\n.font-weight-normal[_ngcontent-%COMP%] {\\n font-weight: 400 !important;\\n}\\n.font-weight-bold[_ngcontent-%COMP%] {\\n font-weight: 700 !important;\\n}\\n.font-italic[_ngcontent-%COMP%] {\\n font-style: italic !important;\\n}\\n.text-white[_ngcontent-%COMP%] {\\n color: #fff !important;\\n}\\n.text-primary[_ngcontent-%COMP%] {\\n color: #007bff !important;\\n}\\na.text-primary[_ngcontent-%COMP%]:hover, a.text-primary[_ngcontent-%COMP%]:focus {\\n color: #0062cc !important;\\n}\\n.text-secondary[_ngcontent-%COMP%] {\\n color: #6c757d !important;\\n}\\na.text-secondary[_ngcontent-%COMP%]:hover, a.text-secondary[_ngcontent-%COMP%]:focus {\\n color: #545b62 !important;\\n}\\n.text-success[_ngcontent-%COMP%] {\\n color: #28a745 !important;\\n}\\na.text-success[_ngcontent-%COMP%]:hover, a.text-success[_ngcontent-%COMP%]:focus {\\n color: #1e7e34 !important;\\n}\\n.text-info[_ngcontent-%COMP%] {\\n color: #17a2b8 !important;\\n}\\na.text-info[_ngcontent-%COMP%]:hover, a.text-info[_ngcontent-%COMP%]:focus {\\n color: #117a8b !important;\\n}\\n.text-warning[_ngcontent-%COMP%] {\\n color: #ffc107 !important;\\n}\\na.text-warning[_ngcontent-%COMP%]:hover, a.text-warning[_ngcontent-%COMP%]:focus {\\n color: #d39e00 !important;\\n}\\n.text-danger[_ngcontent-%COMP%] {\\n color: #dc3545 !important;\\n}\\na.text-danger[_ngcontent-%COMP%]:hover, a.text-danger[_ngcontent-%COMP%]:focus {\\n color: #bd2130 !important;\\n}\\n.text-light[_ngcontent-%COMP%] {\\n color: #f8f9fa !important;\\n}\\na.text-light[_ngcontent-%COMP%]:hover, a.text-light[_ngcontent-%COMP%]:focus {\\n color: #dae0e5 !important;\\n}\\n.text-dark[_ngcontent-%COMP%] {\\n color: #343a40 !important;\\n}\\na.text-dark[_ngcontent-%COMP%]:hover, a.text-dark[_ngcontent-%COMP%]:focus {\\n color: #1d2124 !important;\\n}\\n.text-muted[_ngcontent-%COMP%] {\\n color: #6c757d !important;\\n}\\n.text-hide[_ngcontent-%COMP%] {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0;\\n}\\n.visible[_ngcontent-%COMP%] {\\n visibility: visible !important;\\n}\\n.invisible[_ngcontent-%COMP%] {\\n visibility: hidden !important;\\n}\\n@media print {\\n *[_ngcontent-%COMP%], *[_ngcontent-%COMP%]::before, *[_ngcontent-%COMP%]::after {\\n text-shadow: none !important;\\n box-shadow: none !important;\\n }\\n a[_ngcontent-%COMP%]:not(.btn) {\\n text-decoration: underline;\\n }\\n abbr[title][_ngcontent-%COMP%]::after {\\n content: \\\" (\\\" attr(title) \\\")\\\";\\n }\\n pre[_ngcontent-%COMP%] {\\n white-space: pre-wrap !important;\\n }\\n pre[_ngcontent-%COMP%], blockquote[_ngcontent-%COMP%] {\\n border: 1px solid #999;\\n page-break-inside: avoid;\\n }\\n thead[_ngcontent-%COMP%] {\\n display: table-header-group;\\n }\\n tr[_ngcontent-%COMP%], img[_ngcontent-%COMP%] {\\n page-break-inside: avoid;\\n }\\n p[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%] {\\n orphans: 3;\\n widows: 3;\\n }\\n h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%] {\\n page-break-after: avoid;\\n }\\n @page {\\n size[_ngcontent-%COMP%]: a3[_ngcontent-%COMP%];\\n }\\n body[_ngcontent-%COMP%] {\\n min-width: 992px !important;\\n }\\n .container[_ngcontent-%COMP%] {\\n min-width: 992px !important;\\n }\\n .navbar[_ngcontent-%COMP%] {\\n display: none;\\n }\\n .badge[_ngcontent-%COMP%] {\\n border: 1px solid #000;\\n }\\n .table[_ngcontent-%COMP%] {\\n border-collapse: collapse !important;\\n }\\n .table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\\n background-color: #fff !important;\\n }\\n .table-bordered[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\\n border: 1px solid #ddd !important;\\n }\\n}\\nui-switch[_ngcontent-%COMP%] {\\n display: block;\\n}\\n.passing[_ngcontent-%COMP%] {\\n border-bottom: 2px solid #28a745;\\n}\\ndiv.form-check-inline[_ngcontent-%COMP%] {\\n min-width: 50px;\\n}\\n.card.borderless[_ngcontent-%COMP%] {\\n border: 0 !important;\\n}\\nul.notes[_ngcontent-%COMP%] {\\n list-style-type: none;\\n}\\n.card-columns.single-column[_ngcontent-%COMP%] {\\n -webkit-column-count: 1;\\n -moz-column-count: 1;\\n column-count: 1;\\n}\\nspan.danger[_ngcontent-%COMP%] {\\n color: rgba(220, 53, 69, 0.6);\\n}\\ndiv.rule-key-wrap[_ngcontent-%COMP%] {\\n display: inline-block;\\n}\\nspan.rule-key[_ngcontent-%COMP%] {\\n font-size: 0.8rem;\\n}\\n.rule-key-wrap[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .clickable[_ngcontent-%COMP%] {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcnVsZXNldC9wYWdlcy9ydWxlc2V0LXdpemFyZC9ydWxlc2V0LXdpemFyZC5jb21wb25lbnQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9ydWxlc2V0L3BhZ2VzL3J1bGVzZXQtd2l6YXJkL3J1bGVzZXQtd2l6YXJkLmNvbXBvbmVudC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIvaG9tZS92c3RzL3dvcmsvMS9zL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi9ob21lL3ZzdHMvd29yay8xL3Mvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiL2hvbWUvdnN0cy93b3JrLzEvcy9zdGRpbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VBQUE7QUNBQTtFQUdJLGVBQUE7RUFBQSxpQkFBQTtFQUFBLGlCQUFBO0VBQUEsZUFBQTtFQUFBLGNBQUE7RUFBQSxpQkFBQTtFQUFBLGlCQUFBO0VBQUEsZ0JBQUE7RUFBQSxlQUFBO0VBQUEsZUFBQTtFQUFBLGFBQUE7RUFBQSxlQUFBO0VBQUEsb0JBQUE7RUFJQSxrQkFBQTtFQUFBLG9CQUFB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QUdxR0E7RUFNRSxZQUFBO0VBRUEsVUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0FIeEdGO0FHNkdBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtBSDFHRjtBRzZHQTtFQUNFLHdCQUFBO0FIMUdGO0FHOEdBOztFQUVFLFlBQUE7QUgzR0Y7QUc4R0E7RUFLRSxvQkFBQTtFQUNBLHdCQUFBO0FIL0dGO0FHc0hBOztFQUVFLHdCQUFBO0FIbkhGO0FHMkhBO0VBQ0UsYUFBQTtFQUNBLDBCQUFBO0FIeEhGO0FHK0hBO0VBQ0UscUJBQUE7QUg1SEY7QUcrSEE7RUFDRSxrQkFBQTtFQUNBLGVBQUE7QUg1SEY7QUcrSEE7RUFDRSxhQUFBO0FINUhGO0FHaUlBO0VBQ0Usd0JBQUE7QUg5SEY7QU01VkE7O0VBRUUscUJGbVA0QjtFRWxQNUIsb0JGbVA0QjtFRWxQNUIsZ0JGbVA0QjtFRWxQNUIsZ0JGbVA0QjtFRWxQNUIsY0ZtUDRCO0FKNEc5QjtBTTVWQTtFQUFVLGlCRnFPb0I7QUoySDlCO0FNL1ZBO0VBQVUsZUZxT29CO0FKOEg5QjtBTWxXQTtFQUFVLGtCRnFPb0I7QUppSTlCO0FNcldBO0VBQVUsaUJGcU9vQjtBSm9JOUI7QU14V0E7RUFBVSxrQkZxT29CO0FKdUk5QjtBTTNXQTtFQUFVLGVGcU5vQjtBSjBKOUI7QU03V0E7RUFDRSxrQkZxUDRCO0VFcFA1QixnQkZxUDRCO0FKMkg5QjtBTTVXQTtFQUNFLGVGb080QjtFRW5PNUIsZ0JGd080QjtFRXZPNUIsZ0JGK040QjtBSmdKOUI7QU03V0E7RUFDRSxpQkZnTzRCO0VFL041QixnQkZvTzRCO0VFbk81QixnQkYwTjRCO0FKc0o5QjtBTTlXQTtFQUNFLGlCRjRONEI7RUUzTjVCLGdCRmdPNEI7RUUvTjVCLGdCRnFONEI7QUo0SjlCO0FNL1dBO0VBQ0UsaUJGd040QjtFRXZONUIsZ0JGNE40QjtFRTNONUIsZ0JGZ040QjtBSmtLOUI7QU0xV0E7RUFDRSxnQkY4RE87RUU3RFAsbUJGNkRPO0VFNURQLFNBQUE7RUFDQSx3Q0FBQTtBTjZXRjtBTXJXQTs7RUFFRSxjRjJNNEI7RUUxTTVCLGdCRnlLNEI7QUorTDlCO0FNcldBOztFQUVFLGNGK000QjtFRTlNNUIseUJGdU40QjtBSmlKOUI7QU1oV0E7RUMvRUUsZUFBQTtFQUNBLGdCQUFBO0FQbWJGO0FNaFdBO0VDcEZFLGVBQUE7RUFDQSxnQkFBQTtBUHdiRjtBTWxXQTtFQUNFLHFCQUFBO0FOcVdGO0FNbldFO0VBQ0Usb0JGaU0wQjtBSm9LOUI7QU0zVkE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7QU44VkY7QU0xVkE7RUFDRSxtQkZLTztFRUpQLGtCRm1LNEI7QUowTDlCO0FNMVZBO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxjRnRHUztBSm1jWDtBTTNWRTtFQUNFLGFBQUE7QU42Vko7QVFoZEE7RUNJRSxlQUFBO0VBR0EsWUFBQTtBVDhjRjtBUS9jQTtFQUNFLGdCSnF5QmtDO0VJcHlCbEMsc0JKSlM7RUlLVCx5QkFBQTtFRVpFLHNCTjZNMEI7RUt0TTVCLGVBQUE7RUFHQSxZQUFBO0FUdWRGO0FRemNBO0VBRUUscUJBQUE7QVIyY0Y7QVF4Y0E7RUFDRSxxQkFBQTtFQUNBLGNBQUE7QVIyY0Y7QVF4Y0E7RUFDRSxjSnN4QmtDO0VJcnhCbEMsY0p2QlM7QUprZVg7QVdsZkE7Ozs7RUFJRSxpR1BnTzRCO0FKcVI5QjtBV2pmQTtFQUNFLGdCUG8yQmtDO0VPbjJCbEMsY1A0QlE7RU8zQlIsc0JBQUE7QVhvZkY7QVdqZkU7RUFDRSxjQUFBO0FYbWZKO0FXOWVBO0VBQ0Usc0JBQUE7RUFDQSxnQlB1MUJrQztFT3QxQmxDLFdQYlM7RU9jVCx5QlBMUztFTWhCUCxxQk4rTTBCO0FKd1Q5QjtBVzllRTtFQUNFLFVBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JQK00wQjtBSmlTOUI7QVcxZUE7RUFDRSxjQUFBO0VBQ0EsZ0JQczBCa0M7RU9yMEJsQyxjUHJCUztBSmtnQlg7QVcxZUU7RUFDRSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtBWDRlSjtBV3ZlQTtFQUNFLGlCUG0wQmtDO0VPbDBCbEMsa0JBQUE7QVgwZUY7QVkzaEJFO0VDQUEsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0FiK2hCRjtBYzVlSTtFRnZERjtJQ1lJLGdCVHFLaUI7RUpzWHJCO0FBQ0Y7QWNqZkk7RUZ2REY7SUNZSSxnQlRxS2lCO0VKMlhyQjtBQUNGO0FjdGZJO0VGdkRGO0lDWUksZ0JUcUtpQjtFSmdZckI7QUFDRjtBYzNmSTtFRnZERjtJQ1lJLGlCVHFLaUI7RUpxWXJCO0FBQ0Y7QVkzaUJFO0VDWkEsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0FiMmpCRjtBWXppQkU7RUNKQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QWJpakJGO0FZMWlCRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0FaNmlCSjtBWTNpQkk7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FaNmlCTjtBZTlrQkU7Ozs7OztFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0Fmc2xCSjtBZW5rQk07RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QWZza0JSO0FlcGtCTTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBZnVrQlI7QWVua0JRO0VGRk4sdUJBQUE7RUFJQSx3QkFBQTtBYnNrQkY7QWV4a0JRO0VGRk4sd0JBQUE7RUFJQSx5QkFBQTtBYjJrQkY7QWU3a0JRO0VGRk4sYUFBQTtFQUlBLGNBQUE7QWJnbEJGO0FlbGxCUTtFRkZOLHdCQUFBO0VBSUEseUJBQUE7QWJxbEJGO0FldmxCUTtFRkZOLHdCQUFBO0VBSUEseUJBQUE7QWIwbEJGO0FlNWxCUTtFRkZOLGFBQUE7RUFJQSxjQUFBO0FiK2xCRjtBZWptQlE7RUZGTix3QkFBQTtFQUlBLHlCQUFBO0Fib21CRjtBZXRtQlE7RUZGTix3QkFBQTtFQUlBLHlCQUFBO0FieW1CRjtBZTNtQlE7RUZGTixhQUFBO0VBSUEsY0FBQTtBYjhtQkY7QWVobkJRO0VGRk4sd0JBQUE7RUFJQSx5QkFBQTtBYm1uQkY7QWVybkJRO0VGRk4sd0JBQUE7RUFJQSx5QkFBQTtBYnduQkY7QWUxbkJRO0VGRk4sY0FBQTtFQUlBLGVBQUE7QWI2bkJGO0FlMW5CTTtFQUF3QixTQUFBO0FmOG5COUI7QWU1bkJNO0VBQXVCLFNBQUE7QWZnb0I3QjtBZTduQlE7RUFBd0IsUUFEYjtBZmtvQm5CO0Flam9CUTtFQUF3QixRQURiO0Fmc29CbkI7QWVyb0JRO0VBQXdCLFFBRGI7QWYwb0JuQjtBZXpvQlE7RUFBd0IsUUFEYjtBZjhvQm5CO0FlN29CUTtFQUF3QixRQURiO0Fma3BCbkI7QWVqcEJRO0VBQXdCLFFBRGI7QWZzcEJuQjtBZXJwQlE7RUFBd0IsUUFEYjtBZjBwQm5CO0FlenBCUTtFQUF3QixRQURiO0FmOHBCbkI7QWU3cEJRO0VBQXdCLFFBRGI7QWZrcUJuQjtBZWpxQlE7RUFBd0IsUUFEYjtBZnNxQm5CO0FlcnFCUTtFQUF3QixTQURiO0FmMHFCbkI7QWV6cUJRO0VBQXdCLFNBRGI7QWY4cUJuQjtBZTdxQlE7RUFBd0IsU0FEYjtBZmtyQm5CO0FlM3FCVTtFRlRSLDBCQUFBO0Fid3JCRjtBZS9xQlU7RUZUUiwyQkFBQTtBYjRyQkY7QWVuckJVO0VGVFIsZ0JBQUE7QWJnc0JGO0FldnJCVTtFRlRSLDJCQUFBO0Fib3NCRjtBZTNyQlU7RUZUUiwyQkFBQTtBYndzQkY7QWUvckJVO0VGVFIsZ0JBQUE7QWI0c0JGO0FlbnNCVTtFRlRSLDJCQUFBO0FiZ3RCRjtBZXZzQlU7RUZUUiwyQkFBQTtBYm90QkY7QWUzc0JVO0VGVFIsZ0JBQUE7QWJ3dEJGO0FlL3NCVTtFRlRSLDJCQUFBO0FiNHRCRjtBZW50QlU7RUZUUiwyQkFBQTtBYmd1QkY7QWN0dEJJO0VDN0JFO0lBQ0UsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VmdXZCTjtFZXJ2Qkk7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RWZ1dkJOO0VlbnZCTTtJRkZOLHVCQUFBO0lBSUEsd0JBQUE7RWJxdkJBO0VldnZCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJ5dkJBO0VlM3ZCTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0ViNnZCQTtFZS92Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViaXdCQTtFZW53Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VicXdCQTtFZXZ3Qk07SUZGTixhQUFBO0lBSUEsY0FBQTtFYnl3QkE7RWUzd0JNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYjZ3QkE7RWUvd0JNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYml4QkE7RWVueEJNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWJxeEJBO0VldnhCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJ5eEJBO0VlM3hCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWI2eEJBO0VlL3hCTTtJRkZOLGNBQUE7SUFJQSxlQUFBO0ViaXlCQTtFZTl4Qkk7SUFBd0IsU0FBQTtFZml5QjVCO0VlL3hCSTtJQUF1QixTQUFBO0Vma3lCM0I7RWUveEJNO0lBQXdCLFFBRGI7RWZteUJqQjtFZWx5Qk07SUFBd0IsUUFEYjtFZnN5QmpCO0VlcnlCTTtJQUF3QixRQURiO0VmeXlCakI7RWV4eUJNO0lBQXdCLFFBRGI7RWY0eUJqQjtFZTN5Qk07SUFBd0IsUUFEYjtFZit5QmpCO0VlOXlCTTtJQUF3QixRQURiO0Vma3pCakI7RWVqekJNO0lBQXdCLFFBRGI7RWZxekJqQjtFZXB6Qk07SUFBd0IsUUFEYjtFZnd6QmpCO0VldnpCTTtJQUF3QixRQURiO0VmMnpCakI7RWUxekJNO0lBQXdCLFFBRGI7RWY4ekJqQjtFZTd6Qk07SUFBd0IsU0FEYjtFZmkwQmpCO0VlaDBCTTtJQUF3QixTQURiO0VmbzBCakI7RWVuMEJNO0lBQXdCLFNBRGI7RWZ1MEJqQjtFZWgwQlE7SUZUUixjQUFBO0ViNDBCQTtFZW4wQlE7SUZUUiwwQkFBQTtFYiswQkE7RWV0MEJRO0lGVFIsMkJBQUE7RWJrMUJBO0VlejBCUTtJRlRSLGdCQUFBO0VicTFCQTtFZTUwQlE7SUZUUiwyQkFBQTtFYncxQkE7RWUvMEJRO0lGVFIsMkJBQUE7RWIyMUJBO0VlbDFCUTtJRlRSLGdCQUFBO0ViODFCQTtFZXIxQlE7SUZUUiwyQkFBQTtFYmkyQkE7RWV4MUJRO0lGVFIsMkJBQUE7RWJvMkJBO0VlMzFCUTtJRlRSLGdCQUFBO0VidTJCQTtFZTkxQlE7SUZUUiwyQkFBQTtFYjAyQkE7RWVqMkJRO0lGVFIsMkJBQUE7RWI2MkJBO0FBQ0Y7QWNwMkJJO0VDN0JFO0lBQ0UsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VmbzRCTjtFZWw0Qkk7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RWZvNEJOO0VlaDRCTTtJRkZOLHVCQUFBO0lBSUEsd0JBQUE7RWJrNEJBO0VlcDRCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJzNEJBO0VleDRCTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0ViMDRCQTtFZTU0Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViODRCQTtFZWg1Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViazVCQTtFZXA1Qk07SUZGTixhQUFBO0lBSUEsY0FBQTtFYnM1QkE7RWV4NUJNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYjA1QkE7RWU1NUJNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYjg1QkE7RWVoNkJNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWJrNkJBO0VlcDZCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJzNkJBO0VleDZCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWIwNkJBO0VlNTZCTTtJRkZOLGNBQUE7SUFJQSxlQUFBO0ViODZCQTtFZTM2Qkk7SUFBd0IsU0FBQTtFZjg2QjVCO0VlNTZCSTtJQUF1QixTQUFBO0VmKzZCM0I7RWU1NkJNO0lBQXdCLFFBRGI7RWZnN0JqQjtFZS82Qk07SUFBd0IsUUFEYjtFZm03QmpCO0VlbDdCTTtJQUF3QixRQURiO0VmczdCakI7RWVyN0JNO0lBQXdCLFFBRGI7RWZ5N0JqQjtFZXg3Qk07SUFBd0IsUUFEYjtFZjQ3QmpCO0VlMzdCTTtJQUF3QixRQURiO0VmKzdCakI7RWU5N0JNO0lBQXdCLFFBRGI7RWZrOEJqQjtFZWo4Qk07SUFBd0IsUUFEYjtFZnE4QmpCO0VlcDhCTTtJQUF3QixRQURiO0VmdzhCakI7RWV2OEJNO0lBQXdCLFFBRGI7RWYyOEJqQjtFZTE4Qk07SUFBd0IsU0FEYjtFZjg4QmpCO0VlNzhCTTtJQUF3QixTQURiO0VmaTlCakI7RWVoOUJNO0lBQXdCLFNBRGI7RWZvOUJqQjtFZTc4QlE7SUZUUixjQUFBO0VieTlCQTtFZWg5QlE7SUZUUiwwQkFBQTtFYjQ5QkE7RWVuOUJRO0lGVFIsMkJBQUE7RWIrOUJBO0VldDlCUTtJRlRSLGdCQUFBO0ViaytCQTtFZXo5QlE7SUZUUiwyQkFBQTtFYnErQkE7RWU1OUJRO0lGVFIsMkJBQUE7RWJ3K0JBO0VlLzlCUTtJRlRSLGdCQUFBO0ViMitCQTtFZWwrQlE7SUZUUiwyQkFBQTtFYjgrQkE7RWVyK0JRO0lGVFIsMkJBQUE7RWJpL0JBO0VleCtCUTtJRlRSLGdCQUFBO0Viby9CQTtFZTMrQlE7SUZUUiwyQkFBQTtFYnUvQkE7RWU5K0JRO0lGVFIsMkJBQUE7RWIwL0JBO0FBQ0Y7QWNqL0JJO0VDN0JFO0lBQ0UsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VmaWhDTjtFZS9nQ0k7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RWZpaENOO0VlN2dDTTtJRkZOLHVCQUFBO0lBSUEsd0JBQUE7RWIrZ0NBO0VlamhDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJtaENBO0VlcmhDTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0VidWhDQTtFZXpoQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViMmhDQTtFZTdoQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViK2hDQTtFZWppQ007SUZGTixhQUFBO0lBSUEsY0FBQTtFYm1pQ0E7RWVyaUNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYnVpQ0E7RWV6aUNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYjJpQ0E7RWU3aUNNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWIraUNBO0VlampDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJtakNBO0VlcmpDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJ1akNBO0VlempDTTtJRkZOLGNBQUE7SUFJQSxlQUFBO0ViMmpDQTtFZXhqQ0k7SUFBd0IsU0FBQTtFZjJqQzVCO0VlempDSTtJQUF1QixTQUFBO0VmNGpDM0I7RWV6akNNO0lBQXdCLFFBRGI7RWY2akNqQjtFZTVqQ007SUFBd0IsUUFEYjtFZmdrQ2pCO0VlL2pDTTtJQUF3QixRQURiO0VmbWtDakI7RWVsa0NNO0lBQXdCLFFBRGI7RWZza0NqQjtFZXJrQ007SUFBd0IsUUFEYjtFZnlrQ2pCO0VleGtDTTtJQUF3QixRQURiO0VmNGtDakI7RWUza0NNO0lBQXdCLFFBRGI7RWYra0NqQjtFZTlrQ007SUFBd0IsUUFEYjtFZmtsQ2pCO0VlamxDTTtJQUF3QixRQURiO0VmcWxDakI7RWVwbENNO0lBQXdCLFFBRGI7RWZ3bENqQjtFZXZsQ007SUFBd0IsU0FEYjtFZjJsQ2pCO0VlMWxDTTtJQUF3QixTQURiO0VmOGxDakI7RWU3bENNO0lBQXdCLFNBRGI7RWZpbUNqQjtFZTFsQ1E7SUZUUixjQUFBO0Vic21DQTtFZTdsQ1E7SUZUUiwwQkFBQTtFYnltQ0E7RWVobUNRO0lGVFIsMkJBQUE7RWI0bUNBO0Vlbm1DUTtJRlRSLGdCQUFBO0ViK21DQTtFZXRtQ1E7SUZUUiwyQkFBQTtFYmtuQ0E7RWV6bUNRO0lGVFIsMkJBQUE7RWJxbkNBO0VlNW1DUTtJRlRSLGdCQUFBO0Vid25DQTtFZS9tQ1E7SUZUUiwyQkFBQTtFYjJuQ0E7RWVsbkNRO0lGVFIsMkJBQUE7RWI4bkNBO0Vlcm5DUTtJRlRSLGdCQUFBO0ViaW9DQTtFZXhuQ1E7SUZUUiwyQkFBQTtFYm9vQ0E7RWUzbkNRO0lGVFIsMkJBQUE7RWJ1b0NBO0FBQ0Y7QWM5bkNJO0VDN0JFO0lBQ0UsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VmOHBDTjtFZTVwQ0k7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RWY4cENOO0VlMXBDTTtJRkZOLHVCQUFBO0lBSUEsd0JBQUE7RWI0cENBO0VlOXBDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJncUNBO0VlbHFDTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0Vib3FDQTtFZXRxQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0Vid3FDQTtFZTFxQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0ViNHFDQTtFZTlxQ007SUZGTixhQUFBO0lBSUEsY0FBQTtFYmdyQ0E7RWVsckNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYm9yQ0E7RWV0ckNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFYndyQ0E7RWUxckNNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWI0ckNBO0VlOXJDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJnc0NBO0VlbHNDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWJvc0NBO0VldHNDTTtJRkZOLGNBQUE7SUFJQSxlQUFBO0Vid3NDQTtFZXJzQ0k7SUFBd0IsU0FBQTtFZndzQzVCO0VldHNDSTtJQUF1QixTQUFBO0VmeXNDM0I7RWV0c0NNO0lBQXdCLFFBRGI7RWYwc0NqQjtFZXpzQ007SUFBd0IsUUFEYjtFZjZzQ2pCO0VlNXNDTTtJQUF3QixRQURiO0VmZ3RDakI7RWUvc0NNO0lBQXdCLFFBRGI7RWZtdENqQjtFZWx0Q007SUFBd0IsUUFEYjtFZnN0Q2pCO0VlcnRDTTtJQUF3QixRQURiO0VmeXRDakI7RWV4dENNO0lBQXdCLFFBRGI7RWY0dENqQjtFZTN0Q007SUFBd0IsUUFEYjtFZit0Q2pCO0VlOXRDTTtJQUF3QixRQURiO0Vma3VDakI7RWVqdUNNO0lBQXdCLFFBRGI7RWZxdUNqQjtFZXB1Q007SUFBd0IsU0FEYjtFZnd1Q2pCO0VldnVDTTtJQUF3QixTQURiO0VmMnVDakI7RWUxdUNNO0lBQXdCLFNBRGI7RWY4dUNqQjtFZXZ1Q1E7SUZUUixjQUFBO0VibXZDQTtFZTF1Q1E7SUZUUiwwQkFBQTtFYnN2Q0E7RWU3dUNRO0lGVFIsMkJBQUE7RWJ5dkNBO0VlaHZDUTtJRlRSLGdCQUFBO0ViNHZDQTtFZW52Q1E7SUZUUiwyQkFBQTtFYit2Q0E7RWV0dkNRO0lGVFIsMkJBQUE7RWJrd0NBO0VlenZDUTtJRlRSLGdCQUFBO0VicXdDQTtFZTV2Q1E7SUZUUiwyQkFBQTtFYnd3Q0E7RWUvdkNRO0lGVFIsMkJBQUE7RWIyd0NBO0VlbHdDUTtJRlRSLGdCQUFBO0ViOHdDQTtFZXJ3Q1E7SUZUUiwyQkFBQTtFYml4Q0E7RWV4d0NRO0lGVFIsMkJBQUE7RWJveENBO0FBQ0Y7QWdCbjBDQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsbUJaOEdPO0VZN0dQLDZCWnNTNEI7QUoraEM5QjtBZ0JuMENFOztFQUVFLGdCWitSMEI7RVk5UjFCLG1CQUFBO0VBQ0EsNkJBQUE7QWhCcTBDSjtBZ0JsMENFO0VBQ0Usc0JBQUE7RUFDQSxnQ0FBQTtBaEJvMENKO0FnQmowQ0U7RUFDRSw2QkFBQTtBaEJtMENKO0FnQmgwQ0U7RUFDRSxzQlpoQk87QUprMUNYO0FnQnh6Q0U7O0VBRUUsZVpxUTBCO0FKc2pDOUI7QWdCbHpDQTtFQUNFLHlCQUFBO0FoQnF6Q0Y7QWdCbnpDRTs7RUFFRSx5QkFBQTtBaEJxekNKO0FnQmp6Q0k7O0VBRUUsd0JBQUE7QWhCbXpDTjtBZ0J4eUNFO0VBQ0UscUNad08wQjtBSm1rQzlCO0FLcDJDRTtFV3FFSSxzQ1o2TndCO0FKc2tDOUI7QWlCaDNDSTs7O0VBR0UseUJEc0YrQjtBaEI2eENyQztBSzkyQ0U7RVlNTSx5QkFKZTtBakJnM0N2QjtBaUIxMkNROztFQUVFLHlCQVJhO0FqQm8zQ3ZCO0FpQjkzQ0k7OztFQUdFLHlCRHNGK0I7QWhCMnlDckM7QUs1M0NFO0VZTU0seUJBSmU7QWpCODNDdkI7QWlCeDNDUTs7RUFFRSx5QkFSYTtBakJrNEN2QjtBaUI1NENJOzs7RUFHRSx5QkRzRitCO0FoQnl6Q3JDO0FLMTRDRTtFWU1NLHlCQUplO0FqQjQ0Q3ZCO0FpQnQ0Q1E7O0VBRUUseUJBUmE7QWpCZzVDdkI7QWlCMTVDSTs7O0VBR0UseUJEc0YrQjtBaEJ1MENyQztBS3g1Q0U7RVlNTSx5QkFKZTtBakIwNUN2QjtBaUJwNUNROztFQUVFLHlCQVJhO0FqQjg1Q3ZCO0FpQng2Q0k7OztFQUdFLHlCRHNGK0I7QWhCcTFDckM7QUt0NkNFO0VZTU0seUJBSmU7QWpCdzZDdkI7QWlCbDZDUTs7RUFFRSx5QkFSYTtBakI0NkN2QjtBaUJ0N0NJOzs7RUFHRSx5QkRzRitCO0FoQm0yQ3JDO0FLcDdDRTtFWU1NLHlCQUplO0FqQnM3Q3ZCO0FpQmg3Q1E7O0VBRUUseUJBUmE7QWpCMDdDdkI7QWlCcDhDSTs7O0VBR0UseUJEc0YrQjtBaEJpM0NyQztBS2w4Q0U7RVlNTSx5QkFKZTtBakJvOEN2QjtBaUI5N0NROztFQUVFLHlCQVJhO0FqQnc4Q3ZCO0FpQmw5Q0k7OztFQUdFLHlCRHNGK0I7QWhCKzNDckM7QUtoOUNFO0VZTU0seUJBSmU7QWpCazlDdkI7QWlCNThDUTs7RUFFRSx5QkFSYTtBakJzOUN2QjtBaUJoK0NJOzs7RUFHRSxzQ2J1U3dCO0FKNHJDOUI7QUs5OUNFO0VZTU0sc0NBSmU7QWpCZytDdkI7QWlCMTlDUTs7RUFFRSxzQ0FSYTtBakJvK0N2QjtBZ0J4NENJO0VBQ0UsV1psR0s7RVltR0wseUJaMUZLO0VZMkZMLHFCWjZNd0I7QUo4ckM5QjtBZ0J0NENJO0VBQ0UsY1puR0s7RVlvR0wseUJaekdLO0VZMEdMLHFCWnpHSztBSmkvQ1g7QWdCbjRDQTtFQUNFLFdabEhTO0VZbUhULHlCWjFHUztBSmcvQ1g7QWdCcDRDRTs7O0VBR0UscUJaeUwwQjtBSjZzQzlCO0FnQm40Q0U7RUFDRSxTQUFBO0FoQnE0Q0o7QWdCajRDSTtFQUNFLDJDWjhLd0I7QUpxdEM5QjtBS2pnREU7RVdxSU0sNENad0tzQjtBSnV0QzlCO0FjejhDSTtFRTJGQTtJQUVJLGNBQUE7SUFDQSxXQUFBO0lBQ0EsZ0JBQUE7SUFDQSxpQ0FBQTtJQUNBLDRDQUFBO0VoQmkzQ047RWdCOTJDTTtJQUNFLFNBQUE7RWhCZzND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K0RFO0VDekRBLFdBQUE7RUZBRSx5QmpCb0VXO0VtQmxFYixxQm5Ca0VhO0FKaytEZjtBSzloRUU7RWtCRkUsV0FBQTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXZCNGlFekc7QXVCaGlFRTtFQU1JLGlEQUFBO0F2QjZoRU47QXVCeGhFRTtFQUVFLFdBQUE7RUFDQSx5Qm5CMkNXO0VtQjFDWCxxQm5CMENXO0FKKytEZjtBdUJ0aEVFO0VBR0UsV0FBQTtFQUNBLHlCQWxDK0k7RUFzQy9JLHFCQXRDeUw7QXZCeWpFN0w7QXVCamhFSTtFQUtJLGlEQUFBO0F2QitnRVI7QXNCbGdFRTtFQ3pEQSxXQUFBO0VGQUUseUJqQm9FVztFbUJsRWIscUJuQmtFYTtBSjYvRGY7QUt6akVFO0VrQkZFLFdBQUE7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F2QnVrRXpHO0F1QjNqRUU7RUFNSSwrQ0FBQTtBdkJ3akVOO0F1Qm5qRUU7RUFFRSxXQUFBO0VBQ0EseUJuQjJDVztFbUIxQ1gscUJuQjBDVztBSjBnRWY7QXVCampFRTtFQUdFLFdBQUE7RUFDQSx5QkFsQytJO0VBc0MvSSxxQkF0Q3lMO0F2Qm9sRTdMO0F1QjVpRUk7RUFLSSwrQ0FBQTtBdkIwaUVSO0FzQjdoRUU7RUN6REEsV0FBQTtFRkFFLHlCakJvRVc7RW1CbEViLHFCbkJrRWE7QUp3aEVmO0FLcGxFRTtFa0JGRSxXQUFBO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBdkJrbUV6RztBdUJ0bEVFO0VBTUksZ0RBQUE7QXZCbWxFTjtBdUI5a0VFO0VBRUUsV0FBQTtFQUNBLHlCbkIyQ1c7RW1CMUNYLHFCbkIwQ1c7QUpxaUVmO0F1QjVrRUU7RUFHRSxXQUFBO0VBQ0EseUJBbEMrSTtFQXNDL0kscUJBdEN5TDtBdkIrbUU3TDtBdUJ2a0VJO0VBS0ksZ0RBQUE7QXZCcWtFUjtBc0J4akVFO0VDekRBLGNBQUE7RUZBRSx5QmpCb0VXO0VtQmxFYixxQm5Ca0VhO0FKbWpFZjtBSy9tRUU7RWtCRkUsY0FBQTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXZCNm5Fekc7QXVCam5FRTtFQU1JLCtDQUFBO0F2QjhtRU47QXVCem1FRTtFQUVFLGNBQUE7RUFDQSx5Qm5CMkNXO0VtQjFDWCxxQm5CMENXO0FKZ2tFZjtBdUJ2bUVFO0VBR0UsY0FBQTtFQUNBLHlCQWxDK0k7RUFzQy9JLHFCQXRDeUw7QXZCMG9FN0w7QXVCbG1FSTtFQUtJLCtDQUFBO0F2QmdtRVI7QXNCbmxFRTtFQ3pEQSxXQUFBO0VGQUUseUJqQm9FVztFbUJsRWIscUJuQmtFYTtBSjhrRWY7QUsxb0VFO0VrQkZFLFdBQUE7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F2QndwRXpHO0F1QjVvRUU7RUFNSSwrQ0FBQTtBdkJ5b0VOO0F1QnBvRUU7RUFFRSxXQUFBO0VBQ0EseUJuQjJDVztFbUIxQ1gscUJuQjBDVztBSjJsRWY7QXVCbG9FRTtFQUdFLFdBQUE7RUFDQSx5QkFsQytJO0VBc0MvSSxxQkF0Q3lMO0F2QnFxRTdMO0F1QjduRUk7RUFLSSwrQ0FBQTtBdkIybkVSO0FzQjltRUU7RUN6REEsY0FBQTtFRkFFLHlCakJvRVc7RW1CbEViLHFCbkJrRWE7QUp5bUVmO0FLcnFFRTtFa0JGRSxjQUFBO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBdkJtckV6RztBdUJ2cUVFO0VBTUksaURBQUE7QXZCb3FFTjtBdUIvcEVFO0VBRUUsY0FBQTtFQUNBLHlCbkIyQ1c7RW1CMUNYLHFCbkIwQ1c7QUpzbkVmO0F1QjdwRUU7RUFHRSxjQUFBO0VBQ0EseUJBbEMrSTtFQXNDL0kscUJBdEN5TDtBdkJnc0U3TDtBdUJ4cEVJO0VBS0ksaURBQUE7QXZCc3BFUjtBc0J6b0VFO0VDekRBLFdBQUE7RUZBRSx5QmpCb0VXO0VtQmxFYixxQm5Ca0VhO0FKb29FZjtBS2hzRUU7RWtCRkUsV0FBQTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXZCOHNFekc7QXVCbHNFRTtFQU1JLDhDQUFBO0F2QityRU47QXVCMXJFRTtFQUVFLFdBQUE7RUFDQSx5Qm5CMkNXO0VtQjFDWCxxQm5CMENXO0FKaXBFZjtBdUJ4ckVFO0VBR0UsV0FBQTtFQUNBLHlCQWxDK0k7RUFzQy9JLHFCQXRDeUw7QXZCMnRFN0w7QXVCbnJFSTtFQUtJLDhDQUFBO0F2QmlyRVI7QXNCOXBFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSmdxRWY7QXVCNXFFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUpxcUVmO0F1QjNxRUU7RUFFRSwrQ0FBQTtBdkI0cUVKO0F1QnpxRUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkIwcUVKO0F1QnZxRUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSmlyRWY7QXVCcnFFSTtFQUtJLCtDQUFBO0F2Qm1xRVI7QXNCenJFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSjJyRWY7QXVCdnNFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUpnc0VmO0F1QnRzRUU7RUFFRSxpREFBQTtBdkJ1c0VKO0F1QnBzRUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkJxc0VKO0F1QmxzRUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSjRzRWY7QXVCaHNFSTtFQUtJLGlEQUFBO0F2QjhyRVI7QXNCcHRFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSnN0RWY7QXVCbHVFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUoydEVmO0F1Qmp1RUU7RUFFRSwrQ0FBQTtBdkJrdUVKO0F1Qi90RUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkJndUVKO0F1Qjd0RUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSnV1RWY7QXVCM3RFSTtFQUtJLCtDQUFBO0F2Qnl0RVI7QXNCL3VFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSml2RWY7QXVCN3ZFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUpzdkVmO0F1QjV2RUU7RUFFRSxnREFBQTtBdkI2dkVKO0F1QjF2RUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkIydkVKO0F1Qnh2RUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSmt3RWY7QXVCdHZFSTtFQUtJLGdEQUFBO0F2Qm92RVI7QXNCMXdFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSjR3RWY7QXVCeHhFRTtFQUNFLGNBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUppeEVmO0F1QnZ4RUU7RUFFRSwrQ0FBQTtBdkJ3eEVKO0F1QnJ4RUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkJzeEVKO0F1Qm54RUU7RUFHRSxjQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSjZ4RWY7QXVCanhFSTtFQUtJLCtDQUFBO0F2Qit3RVI7QXNCcnlFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSnV5RWY7QXVCbnpFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUo0eUVmO0F1Qmx6RUU7RUFFRSwrQ0FBQTtBdkJtekVKO0F1Qmh6RUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkJpekVKO0F1Qjl5RUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSnd6RWY7QXVCNXlFSTtFQUtJLCtDQUFBO0F2QjB5RVI7QXNCaDBFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSmswRWY7QXVCOTBFRTtFQUNFLGNBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUp1MEVmO0F1QjcwRUU7RUFFRSxpREFBQTtBdkI4MEVKO0F1QjMwRUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkI0MEVKO0F1QnowRUU7RUFHRSxjQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSm0xRWY7QXVCdjBFSTtFQUtJLGlEQUFBO0F2QnEwRVI7QXNCMzFFRTtFQ1pBLGNuQmlCYTtFbUJoQmIsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCbkJjYTtBSjYxRWY7QXVCejJFRTtFQUNFLFdBUGdEO0VBUWhELHlCbkJVVztFbUJUWCxxQm5CU1c7QUprMkVmO0F1QngyRUU7RUFFRSw4Q0FBQTtBdkJ5MkVKO0F1QnQyRUU7RUFFRSxjbkJEVztFbUJFWCw2QkFBQTtBdkJ1MkVKO0F1QnAyRUU7RUFHRSxXQUFBO0VBQ0EseUJuQlRXO0VtQlVYLHFCbkJWVztBSjgyRWY7QXVCbDJFSTtFQUtJLDhDQUFBO0F2QmcyRVI7QXNCMzJFQTtFQUNFLGdCbEI2SjRCO0VrQjVKNUIsY2xCbUUwQjtFa0JsRTFCLDZCQUFBO0F0QjgyRUY7QUtuN0VFO0VpQndFRSxjbEJpRXdCO0VrQmhFeEIsMEJsQmlFd0I7RWtCaEV4Qiw2QkFBQTtFQUNBLHlCQUFBO0F0QjgyRUo7QXNCMzJFRTtFQUVFLDBCbEIwRHdCO0VrQnpEeEIseUJBQUE7RUFDQSxnQkFBQTtBdEI0MkVKO0FzQnoyRUU7RUFFRSxjbEJwRk87QUo4N0VYO0FzQi8xRUE7RUNiRSxvQkFBQTtFQUNBLGtCbkJzSTRCO0VtQnJJNUIsZ0JuQnNHNEI7RW1CbkcxQixxQm5CMEcwQjtBSm93RTlCO0FzQmwyRUE7RUNqQkUsdUJBQUE7RUFDQSxtQm5CdUk0QjtFbUJ0STVCLGdCbkJ1RzRCO0VtQnBHMUIscUJuQjJHMEI7QUowd0U5QjtBc0JoMkVBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7QXRCbTJFRjtBc0JoMkVFO0VBQ0Usa0JsQitPMEI7QUptbkU5QjtBc0IxMUVFOzs7RUFDRSxXQUFBO0F0QisxRUo7QXdCeitFQTtFQUNFLFVBQUE7RUxFSSxnQ0tESjtBeEI0K0VGO0F3QjErRUU7RUFDRSxVQUFBO0F4QjQrRUo7QXdCeCtFQTtFQUNFLGFBQUE7QXhCMitFRjtBd0IxK0VFO0VBQ0UsY0FB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TjtBNkJ4eEZJOztFbkJwQkEsMEJtQm9Ca0Q7RW5CbkJsRCw2Qm1CbUJrRDtBN0I2eEZ0RDtBNkI1eEZJOztFbkJQQSx5Qm1CT2tEO0VuQk5sRCw0Qm1CTWtEO0E3Qml5RnREO0E2QjV4RkU7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7QTdCOHhGSjtBNkI1eEZJO0VuQjlCQSwwQm1CK0I2RTtFbkI5QjdFLDZCbUI4QjZFO0E3Qit4RmpGO0E2Qjl4Rkk7RW5CbEJBLHlCbUJtQjZFO0VuQmxCN0UsNEJtQmtCNkU7QTdCaXlGakY7QTZCdHhGQTs7RUFFRSxhQUFBO0E3Qnl4RkY7QTZCcHhGRTs7RUFDRSxrQkFBQTtFQUNBLFVBQUE7QTdCdXhGSjtBNkJweEZFOzs7Ozs7OztFQUlFLGlCQUFBO0E3QjB4Rko7QTZCdHhGQTtFQUF1QixrQkFBQTtBN0IweEZ2QjtBNkJ6eEZBO0VBQXNCLGlCQUFBO0E3QjZ4RnRCO0E2QnJ4RkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZXpCMEk0QjtFeUJ6STVCLGdCekI4STRCO0V5QjdJNUIsZ0J6QmlKNEI7RXlCaEo1QixjekJoRlM7RXlCaUZULGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QnpCeEZTO0V5QnlGVCx5QkFBQTtFbkJsR0Usc0JONk0wQjtBSjhxRjlCO0E2QnJ4RkU7O0VBRUUsYUFBQTtBN0J1eEZKO0E2QnJ2RkE7Ozs7OztFbkI3SEksMEJtQm1JMkI7RW5CbEkzQiw2Qm1Ca0kyQjtBN0J5dkYvQjtBNkJ0dkZBOzs7Ozs7RW5CeEhJLHlCbUI4SDBCO0VuQjdIMUIsNEJtQjZIMEI7QTdCMHZGOUI7QThCOTRGQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0IxQjZhc0M7QUpvK0V4QztBOEI5NEZBO0VBQ0Usb0JBQUE7RUFDQSxrQjFCeWFzQztBSncrRXhDO0E4Qjk0RkE7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0E5Qmk1RkY7QThCLzRGRTtFQUNFLFcxQmhCTztFaUJMUCx5QmpCZ04wQjtBSnV0RjlCO0E4Qjc0RkU7RUFFRSxnRTFCd2E0QztBSnMrRWhEO0E4QjM0RkU7RUFDRSxXMUIzQk87RTBCNEJQLHlCMUJzYTRDO0FKdStFaEQ7QThCeDRGSTtFQUNFLGMxQjVCSztBSnM2Rlg7QThCeDRGTTtFQUNFLHlCMUJuQ0c7QUo2NkZYO0E4Qmg0RkE7RUFDRSxnQkFBQTtBOUJtNEZGO0E4Qmg0RkU7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxPQUFBO0VBQ0EsY0FBQTtFQUNBLFcxQjBYb0M7RTBCelhwQyxZMUJ5WG9DO0UwQnhYcEMsb0JBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7S0FBQSxzQkFBQTtNQUFBLHFCQUFBO1VBQUEsaUJBQUE7RUFDQSx5QjFCMURPO0FKNDdGWDtBOEI3M0ZFO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBQTtFQUNBLGNBQUE7RUFDQSxXMUIyV29DO0UwQjFXcEMsWTFCMFdvQztFMEJ6V3BDLFdBQUE7RUFDQSw0QkFBQTtFQUNBLGtDQUFBO0VBQ0Esd0IxQndXb0M7QUp1aEZ4QztBOEJyM0ZFO0VwQjdGRSxzQk42TTBCO0FKeXdGOUI7QThCcDNGSTtFVGhHQSx5QmpCZ04wQjtBSnV3RjlCO0E4QnAzRkk7RUFDRSwwTjFCdVcwQztBSitnRmhEO0E4QmozRkk7RVR6R0EseUJqQmdOMEI7QUo2d0Y5QjtBOEJoM0ZJO0VBQ0UsdUsxQmlXMEM7QUppaEZoRDtBOEI3MkZJO0VBQ0Usd0MxQjZVMEM7QUpraUZoRDtBOEI3MkZJO0VBQ0Usd0MxQjBVMEM7QUpxaUZoRDtBOEJyMkZFO0VBQ0Usa0IxQmdWNEM7QUp3aEZoRDtBOEJwMkZJO0VUdElBLHlCakJnTjBCO0FKNnhGOUI7QThCcDJGSTtFQUNFLG9LMUJ5VTBDO0FKNmhGaEQ7QThCajJGSTtFQUNFLHdDMUJpVDBDO0FKa2pGaEQ7QThCdjFGQTtFQUNFLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLDJCMUI0UHNDO0UwQjNQdEMsMENBQUE7RUFDQSxnQjFCMkU0QjtFMEIxRTVCLGMxQnRKUztFMEJ1SlQsc0JBQUE7RUFDQSxzTkFBQTtFQUNBLHlCMUJ5VGtDO0UwQnhUbEMseUJBQUE7RUFFRSxzQjFCbUMwQjtFMEIvQjVCLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtBOUJzMUZGO0E4QnAxRkU7RUFDRSxxQjFCa09vQztFMEJqT3BDLFVBQUE7RUFDQSxrRjFCcVRnQztBSmlpRnBDO0E4QnAxRkk7RUFNRSxjMUI3S0s7RTBCOEtMLHNCMUJyTEs7QUpzZ0dYO0E4QjcwRkU7RUFFRSxZQUFBO0VBQ0Esc0IxQnFSK0I7RTBCcFIvQixzQkFBQTtBOUI4MEZKO0E4QjMwRkU7RUFDRSxjMUIzTE87RTBCNExQLHlCMUJoTU87QUo2Z0dYO0E4QnowRkU7RUFDRSxVQUFBO0E5QjIwRko7QThCdjBGQTtFQUNFLDZCMUI2TXNDO0UwQjVNdEMscUIxQm1Ra0M7RTBCbFFsQyx3QjFCa1FrQztFMEJqUWxDLGMxQm9Sa0M7QUpzakZwQztBOEJ2MEZBO0VBQ0UsNEIxQnlNc0M7RTBCeE10QyxxQjFCNFBrQztFMEIzUGxDLHdCMUIyUGtDO0UwQjFQbEMsZTFCZ1JrQztBSjBqRnBDO0E4QmwwRkE7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLDJCMUJvTHNDO0UwQm5MdEMsZ0JBQUE7QTlCcTBGRjtBOEJsMEZBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLDJCMUI0S3NDO0UwQjNLdEMsU0FBQTtFQUNBLFVBQUE7QTlCcTBGRjtBOEJuMEZFO0VBQ0UscUIxQjZKb0M7RTBCNUpwQyxnRDFCK0UwQjtBSnN2RjlCO0E4Qm4wRkk7RUFDRSxxQjFCeUprQztBSjRxRnhDO0E4QmgwRkk7RUFDRSxpQjFCK1BhO0FKbWtGbkI7QThCN3pGQTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLDJCMUJrSnNDO0UwQmpKdEMseUJBQUE7RUFDQSxnQjFCL0I0QjtFMEJnQzVCLGMxQmhRUztFMEJpUVQsc0IxQnhRUztFMEJ5UVQseUJBQUE7RXBCaFJFLHNCTjZNMEI7QUpvNEY5QjtBOEI3ekZFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLDJDQUFBO0VBQ0EseUJBQUE7RUFDQSxnQjFCL0MwQjtFMEJnRDFCLGMxQmhSTztFMEJpUlAsaUJBQUE7RVQ3UkEseUJqQk9PO0UwQndSUCw4QkFBQTtFcEJqU0Esa0NvQmtTdUI7QTlCK3pGM0I7QStCaG1HQTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QS9CbW1HRjtBK0JobUdBO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0EvQm1tR0Y7QUtobUdFO0UwQkFFLHFCQUFBO0EvQm1tR0o7QStCL2xHRTtFQUNFLGMzQk5PO0FKdW1HWDtBK0J6bEdBO0VBQ0UsZ0NBQUE7QS9CNGxHRjtBK0IxbEdFO0VBQ0UsbUJBQUE7QS9CNGxHSjtBK0J6bEdFO0VBQ0UsNkJBQUE7RXJCN0JBLCtCTnVNMEI7RU10TTFCLGdDTnNNMEI7QUptN0Y5QjtBS2xuR0U7RTBCeUJJLHFDM0J1aEI4QjtBSnFrRnBDO0ErQnpsR0k7RUFDRSxjM0I5Qks7RTJCK0JMLDZCQUFBO0VBQ0EseUJBQUE7QS9CMmxHTjtBK0J2bEdFOztFQUVFLGMzQnJDTztFMkJzQ1Asc0IzQjdDTztFMkI4Q1Asa0MzQjRnQmdDO0FKNmtGcEM7QStCdGxHRTtFQUVFLGdCQUFBO0VyQnBEQSx5QnFCc0QyQjtFckJyRDNCLDBCcUJxRDJCO0EvQnVsRy9CO0ErQjdrR0U7RXJCdEVFLHNCTjZNMEI7QUowOEY5QjtBK0I3a0dFOztFQUVFLFczQnJFTztFMkJzRVAseUIzQnFJMEI7QUowOEY5QjtBK0Jya0dFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0EvQndrR0o7QStCbmtHRTtFQUNFLGFBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QS9Cc2tHSjtBK0I1akdFO0VBQ0UsYUFBQTtBL0IrakdKO0ErQjdqR0U7RUFDRSxjQUFBO0EvQitqR0o7QWdDanFHQTtFQUNFLGtCQUFB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RWdDN3JHUTtJQUNFLFNBQUE7SUFDQSxZQUFBO0VoQytyR1Y7QUFDRjtBYzF6R0k7RWtCeUVJOztJQUVFLGdCQUFBO0lBQ0EsZUFBQTtFaENvdkdSO0FBQ0Y7QWM5MEdJO0VrQm9GQTtJQVVJLHFCQUFBO0lBQ0EsMkJBQUE7RWhDb3ZHTjtFZ0NsdkdNO0lBQ0UsbUJBQUE7RWhDb3ZHUjtFZ0NsdkdRO0lBQ0Usa0JBQUE7RWhDb3ZHVjtFZ0NqdkdRO0lBQ0UsUUFBQTtJQUNBLFVBQUE7RWhDbXZHVjtFZ0NodkdRO0lBQ0UscUI1QnNhd0I7STRCcmF4QixvQjVCcWF3QjtFSjYwRmxDO0VnQzd1R007O0lBRUUsaUJBQUE7RWhDK3VHUjtFZ0M1dUdNO0lBQ0Usd0JBQUE7SUFHQSxnQkFBQTtFaEM0dUdSO0VnQ3p1R007SUFDRSxhQUFBO0VoQzJ1R1I7RWdDdnVHUTtJQUNFLFNBQUE7SUFDQSxZQUFBO0VoQ3l1R1Y7QUFDRjtBZ0M3eEdJO0VBVUkscUJBQUE7RUFDQSwyQkFBQTtBaENzeEdSO0FnQy94R1E7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FoQ2l5R1Y7QWdDenhHUTtFQUNFLG1CQUFBO0FoQzJ4R1Y7QWdDenhHVTtFQUNFLGtCQUFBO0FoQzJ4R1o7QWdDeHhHVTtFQUNFLFFBQUE7RUFDQSxVQUFBO0FoQzB4R1o7QWdDdnhHVTtFQUNFLHFCNUJzYXdCO0U0QnJheEIsb0I1QnFhd0I7QUpvM0ZwQztBZ0NweEdROztFQUVFLGlCQUFBO0FoQ3N4R1Y7QWdDbnhHUTtFQUNFLHdCQUFBO0VBR0EsZ0JBQUE7QWhDbXhHVjtBZ0NoeEdRO0VBQ0UsYUFBQTtBaENreEdWO0FnQzl3R1U7RUFDRSxTQUFBO0VBQ0EsWUFBQTtBaENneEdaO0FnQ2p3R0U7RUFDRSx5QjVCbVpnQztBSmkzRnBDO0FLcjhHRTtFMkJvTUkseUI1QmdaOEI7QUpvM0ZwQztBZ0MvdkdJO0VBQ0UseUI1QndZOEI7QUp5M0ZwQztBSzM4R0U7RTJCNk1NLHlCNUJzWTRCO0FKMjNGcEM7QWdDOXZHTTtFQUNFLHlCNUJvWTRCO0FKNDNGcEM7QWdDNXZHSTs7OztFQUlFLHlCNUIyWDhCO0FKbTRGcEM7QWdDMXZHRTtFQUNFLHlCNUJvWGdDO0U0Qm5YaEMsZ0M1QndYZ0M7QUpvNEZwQztBZ0N6dkdFO0VBQ0UscVE1Qm1YZ0M7QUp3NEZwQztBZ0N4dkdFO0VBQ0UseUI1QjJXZ0M7QUorNEZwQztBZ0N6dkdJO0VBQ0UseUI1QjJXOEI7QUpnNUZwQztBS3ArR0U7RTJCNE9NLHlCNUJ3VzRCO0FKbTVGcEM7QWdDbnZHRTtFQUNFLFc1QjVQTztBSmsvR1g7QUszK0dFO0UyQndQSSxXNUIvUEs7QUpxL0dYO0FnQ2p2R0k7RUFDRSwrQjVCNlU4QjtBSnM2RnBDO0FLai9HRTtFMkJpUU0sZ0M1QjJVNEI7QUp3NkZwQztBZ0NodkdNO0VBQ0UsZ0M1QnlVNEI7QUp5NkZwQztBZ0M5dUdJOzs7O0VBSUUsVzVCcFJLO0FKb2dIWDtBZ0M1dUdFO0VBQ0UsK0I1QnlUZ0M7RTRCeFRoQyxzQzVCNlRnQztBSmk3RnBDO0FnQzN1R0U7RUFDRSwyUTVCd1RnQztBSnE3RnBDO0FnQzF1R0U7RUFDRSwrQjVCZ1RnQztBSjQ3RnBDO0FnQzN1R0k7RUFDRSxXNUJwU0s7QUppaEhYO0FLMWdIRTtFMkJnU00sVzVCdlNHO0FKb2hIWDtBaUMzaEhBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxzQjdCQ1M7RTZCQVQsMkJBQUE7RUFDQSxzQ0FBQTtFdkJSRSxzQk42TTBCO0FKMDFHOUI7QWlDNWhIRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0FqQzhoSEo7QWlDMWhISTtFdkJYQSwrQk51TTBCO0VNdE0xQixnQ05zTTBCO0FKazJHOUI7QWlDeGhISTtFdkJIQSxtQ055TDBCO0VNeEwxQixrQ053TDBCO0FKczJHOUI7QWlDdGhIQTtFQUdFLGNBQUE7RUFDQSxnQjdCNm1Ca0M7QUowNkZwQztBaUNwaEhBO0VBQ0Usc0I3QndtQmtDO0FKKzZGcEM7QWlDcGhIQTtFQUNFLHFCQUFBO0VBQ0EsZ0JBQUE7QWpDdWhIRjtBaUNwaEhBO0VBQ0UsZ0JBQUE7QWpDdWhIRjtBSzNqSEU7RTRCeUNFLHFCQUFBO0FqQ3NoSEo7QWlDbmhIRTtFQUNFLG9CN0J1bEJnQztBSjg3RnBDO0FpQzdnSEE7RUFDRSx3QkFBQTtFQUNBLGdCQUFBO0VBQ0EscUM3QmlsQmtDO0U2QmhsQmxDLDZDQUFBO0FqQ2doSEY7QWlDOWdIRTtFdkJyRUUsMER1QnNFdUI7QWpDZ2hIM0I7QWlDNWdISTtFQUNFLGFBQUE7QWpDOGdITjtBaUN6Z0hBO0VBQ0Usd0JBQUE7RUFDQSxxQzdCaWtCa0M7RTZCaGtCbEMsMENBQUE7QWpDNGdIRjtBaUMxZ0hFO0V2QnJGRSwwRHVCc0Z1QjtBakM0Z0gzQjtBaUNuZ0hBO0VBQ0UsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QWpDc2dIRjtBaUNuZ0hBO0VBQ0UsdUJBQUE7RUFDQSxzQkFBQTtBakNzZ0hGO0FpQ2xnSEE7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxnQjdCb2lCa0M7QUppK0ZwQztBaUNsZ0hBO0VBQ0UsV0FBQTtFdkJ0SEUsa0NOa3BCZ0M7QUowK0ZwQztBaUNqZ0hBO0VBQ0UsV0FBQTtFdkJ0SEUsMkNONG9CZ0M7RU0zb0JoQyw0Q04yb0JnQztBSmcvRnBDO0FpQ2xnSEE7RUFDRSxXQUFBO0V2QjdHRSwrQ044bkJnQztFTTduQmhDLDhDTjZuQmdDO0FKcy9GcEM7QWlDaGdIQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtBakNtZ0hGO0FpQ2pnSEU7RUFDRSxtQjdCMmdCZ0M7QUp3L0ZwQztBY3hsSEk7RW1CZ0ZKO0lBU0ksbUJBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0VqQ21nSEY7RWlDamdIRTtJQUNFLGFBQUE7SUFFQSxZQUFBO0lBQ0Esc0JBQUE7SUFDQSxrQjdCOGY4QjtJNkI3ZjlCLGdCQUFBO0lBQ0EsaUI3QjRmOEI7RUpzZ0dsQztBQUNGO0FpQ3ovR0E7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7QWpDNC9HRjtBaUN4L0dFO0VBQ0UsbUI3QjJlZ0M7QUorZ0dwQztBYy9tSEk7RW1COEdKO0lBV0ksbUJBQUE7RWpDMC9HRjtFaUN2L0dFO0lBRUUsWUFBQTtJQUNBLGdCQUFBO0VqQ3cvR0o7RWlDdC9HSTtJQUNFLGNBQUE7SUFDQSxjQUFBO0VqQ3cvR047RWlDbi9HTTtJdkJuTEosMEJ1Qm9MbUM7SXZCbkxuQyw2QnVCbUxtQztFakNzL0dyQztFaUNwL0dROztJQUVFLDBCQUFBO0VqQ3MvR1Y7RWlDcC9HUTs7SUFFRSw2QkFBQTtFakNzL0dWO0VpQ2wvR007SXZCbExKLHlCdUJtTGtDO0l2QmxMbEMsNEJ1QmtMa0M7RWpDcS9HcEM7RWlDbi9HUTs7SUFFRSx5QkFBQTtFakNxL0dWO0VpQ24vR1E7O0lBRUUsNEJBQUE7RWpDcS9HVjtFaUNqL0dNO0l2QjFOSixzQk42TTBCO0VKaWdINUI7RWlDai9HUTs7SXZCdk5OLCtCTnVNMEI7SU10TTFCLGdDTnNNMEI7RUpzZ0g1QjtFaUNsL0dROztJdkI3TU4sbUNOeUwwQjtJTXhMMUIsa0NOd0wwQjtFSjJnSDVCO0VpQ2ovR007SXZCdk9KLGdCdUJ3TzZCO0VqQ20vRy9CO0VpQ2ovR1E7Ozs7SXZCMU9OLGdCdUI4TytCO0VqQ20vR2pDO0FBQ0Y7QWlDdCtHRTtFQUNFLHNCN0JnWmdDO0FKeWxHcEM7QWM5cUhJO0VtQm1NSjtJQU1JLHVCN0IwWmdDO082QjFaaEMsb0I3QjBaZ0M7WTZCMVpoQyxlN0IwWmdDO0k2QnpaaEMsMkI3QjBaZ0M7TzZCMVpoQyx3QjdCMFpnQztZNkIxWmhDLG1CN0IwWmdDO0VKK2tHbEM7RWlDditHRTtJQUNFLHFCQUFBO0lBQ0EsV0FBQTtFakN5K0dKO0FBQ0Y7QWtDcHZIQTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7RUFDQSxtQjlCbTBCa0M7RThCbDBCbEMsZ0JBQUE7RUFDQSx5QjlCT1M7RU1UUCxzQk42TTBCO0FKNmlIOUI7QWtDbHZIRTtFQUNFLHFCQUFBO0VBQ0EscUI5QnV6QmdDO0U4QnR6QmhDLG9COUJzekJnQztFOEJyekJoQyxjOUJDTztFOEJBUCxZQUFBO0FsQ3F2SEo7QWtDNXVIRTtFQUNFLDBCQUFBO0FsQzh1SEo7QWtDM3VIRTtFQUNFLHFCQUFBO0FsQzZ1SEo7QWtDMXVIRTtFQUNFLGM5QmxCTztBSjh2SFg7QW1DL3dIQTtFQUNFLGFBQUE7RTVCR0EsZUFBQTtFQUNBLGdCQUFBO0VHREUsc0JONk0wQjtBSnFrSDlCO0FtQ2h4SEE7RUFDRSxrQkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUIvQndtQmtDO0UrQnZtQmxDLGMvQnlJMEI7RStCeEkxQixzQi9CRlM7RStCR1QseUJBQUE7QW5DbXhIRjtBbUNqeEhFO0VBQ0UsYy9Cc0l3QjtFK0JySXhCLHFCQUFBO0VBQ0EseUIvQk5PO0UrQk9QLHFCL0JOTztBSnl4SFg7QW1DaHhIRTtFQUNFLFVBQUE7RUFDQSxVQUFBO0VBQ0EsZ0QvQmdUMEI7QUprK0c5QjtBbUM5d0hFO0VBQ0UsZUFBQTtBbkNneEhKO0FtQzF3SEk7RUFDRSxjQUFBO0V6QlBGLCtCTmtMMEI7RU1qTDFCLGtDTmlMMEI7QUpvbUg5QjtBbUMxd0hJO0V6QjFCQSxnQ05nTTBCO0VNL0wxQixtQ04rTDBCO0FKd21IOUI7QW1DendIRTtFQUNFLFVBQUE7RUFDQSxXL0J2Q087RStCd0NQLHlCL0JtSzBCO0UrQmxLMUIscUIvQmtLMEI7QUp5bUg5QjtBbUN4d0hFO0VBQ0UsYy9CdkNPO0UrQndDUCxvQkFBQTtFQUVBLFlBQUE7RUFDQSxzQi9CakRPO0UrQmtEUCxxQi9CL0NPO0FKd3pIWDtBb0NuMEhFO0VBQ0UsdUJBQUE7RUFDQSxrQmhDcU8wQjtFZ0NwTzFCLGdCaENxTTBCO0FKaW9IOUI7QW9DajBITTtFMUJvQkYsOEJObUwwQjtFTWxMMUIsaUNOa0wwQjtBSjhuSDlCO0FvQ2gwSE07RTFCQ0YsK0JOaU0wQjtFTWhNMUIsa0NOZ00wQjtBSmtvSDlCO0FvQ2oxSEU7RUFDRSx1QkFBQTtFQUNBLG1CaENzTzBCO0VnQ3JPMUIsZ0JoQ3NNMEI7QUo4b0g5QjtBb0MvMEhNO0UxQm9CRiw4Qk5vTDBCO0VNbkwxQixpQ05tTDBCO0FKMm9IOUI7QW9DOTBITTtFMUJDRiwrQk5rTTBCO0VNak0xQixrQ05pTTBCO0FKK29IOUI7QXFDNzFIQTtFQUNFLHFCQUFBO0VBQ0EscUJBQUE7RUFDQSxjakN5c0JrQztFaUN4c0JsQyxnQmpDc080QjtFaUNyTzVCLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7RTNCVEUsc0JONk0wQjtBSjZwSDlCO0FxQzcxSEU7RUFDRSxhQUFBO0FyQysxSEo7QXFDMTFIQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtBckM2MUhGO0FxQ3QxSEE7RUFDRSxvQmpDc3JCa0M7RWlDcnJCbEMsbUJqQ3FyQmtDO0VNbnRCaEMsb0JOc3RCZ0M7QUprcUdwQztBcUNqMUhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKdXpIZjtBSy8ySEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDODNITjtBcUMzMUhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKaTBIZjtBS3ozSEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDdzRITjtBcUNyMkhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKMjBIZjtBS240SEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDazVITjtBcUMvMkhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKcTFIZjtBSzc0SEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDNDVITjtBcUN6M0hFO0VDMUNBLGNBQUE7RUFDQSx5QmxDd0VhO0FKKzFIZjtBS3Y1SEU7RWlDWkksY0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDczZITjtBcUNuNEhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKeTJIZjtBS2o2SEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDZzdITjtBcUM3NEhFO0VDMUNBLGNBQUE7RUFDQSx5QmxDd0VhO0FKbTNIZjtBSzM2SEU7RWlDWkksY0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDMDdITjtBcUN2NUhFO0VDMUNBLFdBQUE7RUFDQSx5QmxDd0VhO0FKNjNIZjtBS3I3SEU7RWlDWkksV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXRDbzhITjtBdUM1OEhBO0VBQ0Usa0JBQUE7RUFDQSxtQm5DeW9Ca0M7RW1DeG9CbEMseUJuQ1VTO0VNVFAscUJOOE0wQjtBSml3SDlCO0FjdjVISTtFeUI1REo7SUFPSSxrQkFBQTtFdkNnOUhGO0FBQ0Y7QXVDNzhIQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFN0JURSxnQjZCVXFCO0F2Q2c5SHpCO0F3QzE5SEE7RUFDRSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0EsbUJwQzJ2QmtDO0VvQzF2QmxDLDZCQUFBO0U5QkpFLHNCTjZNMEI7QUpxeEg5QjtBd0N6OUhBO0VBRUUsY0FBQTtBeEMyOUhGO0F3Q3Y5SEE7RUFDRSxnQnBDMk40QjtBSit2SDlCO0F3Q2w5SEE7RUFDRSxtQkFBQTtBeENxOUhGO0F3Q2w5SEU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0Esd0JBQUE7RUFDQSxjQUFBO0F4Q285SEo7QXdDMThIRTtFQzlDQSxjRCtDcUg7RW5CMUNuSCx5Qm1CMEN1QjtFQzdDekIscUJENkNxRTtBeEMrOEh2RTtBeUMxL0hFO0VBQ0UseUJBQUE7QXpDNC9ISjtBeUN6L0hFO0VBQ0UsY0FBQTtBekMyL0hKO0F3Q3Q5SEU7RUM5Q0EsY0QrQ3FIO0VuQjFDbkgseUJtQjBDdUI7RUM3Q3pCLHFCRDZDcUU7QXhDMjlIdkU7QXlDdGdJRTtFQUNFLHlCQUFBO0F6Q3dnSUo7QXlDcmdJRTtFQUNFLGNBQUE7QXpDdWdJSjtBd0NsK0hFO0VDOUNBLGNEK0NxSDtFbkIxQ25ILHlCbUIwQ3VCO0VDN0N6QixxQkQ2Q3FFO0F4Q3UrSHZFO0F5Q2xoSUU7RUFDRSx5QkFBQTtBekNvaElKO0F5Q2poSUU7RUFDRSxjQUFBO0F6Q21oSUo7QXdDOStIRTtFQzlDQSxjRCtDcUg7RW5CMUNuSCx5Qm1CMEN1QjtFQzdDekIscUJENkNxRTtBeENtL0h2RTtBeUM5aElFO0VBQ0UseUJBQUE7QXpDZ2lJSjtBeUM3aElFO0VBQ0UsY0FBQTtBekMraElKO0F3QzEvSEU7RUM5Q0EsY0QrQ3FIO0VuQjFDbkgseUJtQjBDdUI7RUM3Q3pCLHFCRDZDcUU7QXhDKy9IdkU7QXlDMWlJRTtFQUNFLHlCQUFBO0F6QzRpSUo7QXlDemlJRTtFQUNFLGNBQUE7QXpDMmlJSjtBd0N0Z0lFO0VDOUNBLGNEK0NxSDtFbkIxQ25ILHlCbUIwQ3VCO0VDN0N6QixxQkQ2Q3FFO0F4QzJnSXZFO0F5Q3RqSUU7RUFDRSx5QkFBQTtBekN3aklKO0F5Q3JqSUU7RUFDRSxjQUFBO0F6Q3VqSUo7QXdDbGhJRTtFQzlDQSxjRCtDcUg7RW5CMUNuSCx5Qm1CMEN1QjtFQzdDekIscUJENkNxRTtBeEN1aEl2RTtBeUNsa0lFO0VBQ0UseUJBQUE7QXpDb2tJSjtBeUNqa0lFO0VBQ0UsY0FBQTtBekNta0lKO0F3QzloSUU7RUM5Q0EsY0QrQ3FIO0VuQjFDbkgseUJtQjBDdUI7RUM3Q3pCLHFCRDZDcUU7QXhDbWlJdkU7QXlDOWtJRTtFQUNFLHlCQUFBO0F6Q2dsSUo7QXlDN2tJRTtFQUNFLGNBQUE7QXpDK2tJSjtBMEN6bElBO0VBQ0U7SUFBTywyQkFBQTtFMUM2bElQO0UwQzVsSUE7SUFBSyx3QkFBQTtFMUMrbElMO0FBQ0Y7QTBDbG1JQTtFQUNFO0lBQU8sMkJBQUE7RTFDNmxJUDtFMEM1bElBO0lBQUssd0JBQUE7RTFDK2xJTDtBQUNGO0EwQzdsSUE7RUFDRSxhQUFBO0VBQ0EsWXRDdXdCa0M7RXNDdHdCbEMsZ0JBQUE7RUFDQSxrQnRDc3dCa0M7RXNDcndCbEMseUJ0Q0dTO0VNVFAsc0JONk0wQjtBSnk1SDlCO0EwQzNsSUE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLFd0Q1JTO0VzQ1NULGtCQUFBO0VBQ0EseUJ0Qyt2QmtDO0VlL3dCOUIsMkJ1QmlCSjtBMUM4bElGO0EwQzNsSUE7RXJCa0JFLHFNQUFBO0VxQmhCQSwwQkFBQTtBMUM4bElGO0EwQzNsSUE7RUFDRSwwREFBQTtVQUFBLGtEQUFBO0ExQzhsSUY7QTJDN25JQTtFQUNFLGFBQUE7RUFDQSx1QkFBQTtBM0Nnb0lGO0EyQzduSUE7RUFDRSxPQUFBO0EzQ2dvSUY7QTRDbG9JQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUdBLGVBQUE7RUFDQSxnQkFBQTtBNUNtb0lGO0E0QzFuSUE7RUFDRSxXQUFBO0VBQ0EsY3hDSFM7RXdDSVQsbUJBQUE7QTVDNm5JRjtBS2pvSUU7RXVDUUUsY3hDUk87RXdDU1AscUJBQUE7RUFDQSx5QnhDaEJPO0FKNG9JWDtBNEN6bklFO0VBQ0UsY3hDWk87RXdDYVAseUJ4Q3BCTztBSitvSVg7QTRDbG5JQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLHdCQUFBO0VBRUEsbUJBQUE7RUFDQSxzQnhDckNTO0V3Q3NDVCxzQ0FBQTtBNUNvbklGO0E0Q2xuSUU7RWxDekNFLCtCTnVNMEI7RU10TTFCLGdDTnNNMEI7QUp3OUg5QjtBNENsbklFO0VBQ0UsZ0JBQUE7RWxDaENBLG1DTnlMMEI7RU14TDFCLGtDTndMMEI7QUo2OUg5QjtBSzVwSUU7RXVDMkNFLFVBQUE7RUFDQSxxQkFBQTtBNUNvbklKO0E0Q2puSUU7RUFFRSxjeENsRE87RXdDbURQLHNCeEN6RE87QUoycUlYO0E0QzltSUU7RUFDRSxVQUFBO0VBQ0EsV3hDL0RPO0V3Q2dFUCx5QnhDMkkwQjtFd0MxSTFCLHFCeEMwSTBCO0FKcytIOUI7QTRDcm1JRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VsQ3JGQSxnQmtDc0Z1QjtBNUN3bUkzQjtBNENwbUlJO0VBQ0UsYUFBQTtBNUNzbUlOO0E0Q2ptSUk7RUFDRSxnQkFBQTtBNUNtbUlOO0E2Q3JzSUU7RUFDRSxjRDZHc0U7RUM1R3RFLHlCRDRHdUM7QTVDNGxJM0M7QUszcklFO0V3Q1RNLGNEd0drRTtFQ3ZHbEUseUJBQUE7QTdDdXNJUjtBNkNwc0lNO0VBQ0UsV0FBQTtFQUNBLHlCRGtHa0U7RUNqR2xFLHFCRGlHa0U7QTVDcW1JMUU7QTZDbnRJRTtFQUNFLGNENkdzRTtFQzVHdEUseUJENEd1QztBNUMwbUkzQztBS3pzSUU7RXdDVE0sY0R3R2tFO0VDdkdsRSx5QkFBQTtBN0NxdElSO0E2Q2x0SU07RUFDRSxXQUFBO0VBQ0EseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBNUNtbkkxRTtBNkNqdUlFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E1Q3duSTNDO0FLdnRJRTtFd0NUTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E3Q211SVI7QTZDaHVJTTtFQUNFLFdBQUE7RUFDQSx5QkRrR2tFO0VDakdsRSxxQkRpR2tFO0E1Q2lvSTFFO0E2Qy91SUU7RUFDRSxjRDZHc0U7RUM1R3RFLHlCRDRHdUM7QTVDc29JM0M7QUtydUlFO0V3Q1RNLGNEd0drRTtFQ3ZHbEUseUJBQUE7QTdDaXZJUjtBNkM5dUlNO0VBQ0UsV0FBQTtFQUNBLHlCRGtHa0U7RUNqR2xFLHFCRGlHa0U7QTVDK29JMUU7QTZDN3ZJRTtFQUNFLGNENkdzRTtFQzVHdEUseUJENEd1QztBNUNvcEkzQztBS252SUU7RXdDVE0sY0R3R2tFO0VDdkdsRSx5QkFBQTtBN0MrdklSO0E2QzV2SU07RUFDRSxXQUFBO0VBQ0EseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBNUM2cEkxRTtBNkMzd0lFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E1Q2txSTNDO0FLandJRTtFd0NUTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E3QzZ3SVI7QTZDMXdJTTtFQUNFLFdBQUE7RUFDQSx5QkRrR2tFO0VDakdsRSxxQkRpR2tFO0E1QzJxSTFFO0E2Q3p4SUU7RUFDRSxjRDZHc0U7RUM1R3RFLHlCRDRHdUM7QTVDZ3JJM0M7QUsvd0lFO0V3Q1RNLGNEd0drRTtFQ3ZHbEUseUJBQUE7QTdDMnhJUjtBNkN4eElNO0VBQ0UsV0FBQTtFQUNBLHlCRGtHa0U7RUNqR2xFLHFCRGlHa0U7QTVDeXJJMUU7QTZDdnlJRTtFQUNFLGNENkdzRTtFQzVHdEUseUJENEd1QztBNUM4ckkzQztBSzd4SUU7RXdDVE0sY0R3R2tFO0VDdkds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RjtBd0Q1bEtFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0F4RCtsS0o7QXlEemxLSTtFQUEyQix3QkFBQTtBekQ2bEsvQjtBeUQ1bEtJO0VBQTJCLDBCQUFBO0F6RGdtSy9CO0F5RC9sS0k7RUFBMkIsZ0NBQUE7QXpEbW1LL0I7QXlEbG1LSTtFQUEyQix5QkFBQTtBekRzbUsvQjtBeURybUtJO0VBQTJCLHlCQUFBO0F6RHltSy9CO0F5RHhtS0k7RUFBMkIsNkJBQUE7QXpENG1LL0I7QXlEM21LSTtFQUEyQiw4QkFBQTtBekQrbUsvQjtBeUQ5bUtJO0VBQTJCLHdCQUFBO0F6RGtuSy9CO0F5RGpuS0k7RUFBMkIsK0JBQUE7QXpEcW5LL0I7QWMza0tJO0UyQ2xEQTtJQUEyQix3QkFBQTtFekRrb0s3QjtFeURqb0tFO0lBQTJCLDBCQUFBO0V6RG9vSzdCO0V5RG5vS0U7SUFBMkIsZ0NBQUE7RXpEc29LN0I7RXlEcm9LRTtJQUEyQix5QkFBQTtFekR3b0s3QjtFeUR2b0tFO0lBQTJCLHlCQUFBO0V6RDBvSzdCO0V5RHpvS0U7SUFBMkIsNkJBQUE7RXpENG9LN0I7RXlEM29LRTtJQUEyQiw4QkFBQTtFekQ4b0s3QjtFeUQ3b0tFO0lBQTJCLHdCQUFBO0V6RGdwSzdCO0V5RC9vS0U7SUFBMkIsK0JBQUE7RXpEa3BLN0I7QUFDRjtBY3ptS0k7RTJDbERBO0lBQTJCLHdCQUFBO0V6RCtwSzdCO0V5RDlwS0U7SUFBMkIsMEJBQUE7RXpEaXFLN0I7RXlEaHFLRTtJQUEyQixnQ0FBQTtFekRtcUs3QjtFeURscUtFO0lBQTJCLHlCQUFBO0V6RHFxSzdCO0V5RHBxS0U7SUFBMkIseUJBQUE7RXpEdXFLN0I7RXlEdHFLRTtJQUEyQiw2QkFBQTtFekR5cUs3QjtFeUR4cUtFO0lBQTJCLDhCQUFBO0V6RDJxSzdCO0V5RDFxS0U7SUFBMkIsd0JBQUE7RXpENnFLN0I7RXlENXFLRTtJQUEyQiwrQkFBQTtFekQrcUs3QjtBQUNGO0FjdG9LSTtFMkNsREE7SUFBMkIsd0JBQUE7RXpENHJLN0I7RXlEM3JLRTtJQUEyQiwwQkFBQTtFekQ4cks3QjtFeUQ3cktFO0lBQTJCLGdDQUFBO0V6RGdzSzdCO0V5RC9yS0U7SUFBMkIseUJBQUE7RXpEa3NLN0I7RXlEanNLRTtJQUEyQix5QkFBQTtFekRvc0s3QjtFeURuc0tFO0lBQTJCLDZCQUFBO0V6RHNzSzdCO0V5RHJzS0U7SUFBMkIsOEJBQUE7RXpEd3NLN0I7RXlEdnNLRTtJQUEyQix3QkFBQTtFekQwc0s3QjtFeUR6c0tFO0lBQTJCLCtCQUFBO0V6RDRzSzdCO0FBQ0Y7QWNucUtJO0UyQ2xEQTtJQUEyQix3QkFBQTtFekR5dEs3QjtFeUR4dEtFO0lBQTJCLDBCQUFBO0V6RDJ0SzdCO0V5RDF0S0U7SUFBMkIsZ0NBQUE7RXpENnRLN0I7RXlENXRLRTtJQUEyQix5QkFBQTtFekQrdEs3QjtFeUQ5dEtFO0lBQTJCLHlCQUFBO0V6RGl1SzdCO0V5RGh1S0U7SUFBMkIsNkJBQUE7RXpEbXVLN0I7RXlEbHVLRTtJQUEyQiw4QkFBQTtFekRxdUs3QjtFeURwdUtFO0lBQTJCLHdCQUFBO0V6RHV1SzdCO0V5RHR1S0U7SUFBMkIsK0JBQUE7RXpEeXVLN0I7QUFDRjtBeURqdUtBO0VBQ0U7SUFBd0Isd0JBQUE7RXpEb3VLeEI7RXlEbnVLQTtJQUF3QiwwQkFBQTtFekRzdUt4QjtFeURydUtBO0lBQXdCLGdDQUFBO0V6RHd1S3hCO0V5RHZ1S0E7SUFBd0IseUJBQUE7RXpEMHVLeEI7RXlEenVLQTtJQUF3Qix5QkFBQTtFekQ0dUt4QjtFeUQzdUtBO0lBQXdCLDZCQUFBO0V6RDh1S3hCO0V5RDd1S0E7SUFBd0IsOEJBQUE7RXpEZ3ZLeEI7RXlEL3VLQTtJQUF3Qix3QkFBQTtFekRrdkt4QjtFeURqdktBO0lBQXdCLCtCQUFBO0V6RG92S3hCO0FBQ0Y7QTBEdnhLQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QTFEeXhLRjtBMER2eEtFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7QTFEeXhLSjtBMER0eEtFOzs7OztFQUtFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0ExRHd4S0o7QTBEbnhLRTtFQUNFLDJCQUFBO0ExRHN4S0o7QTBEanhLRTtFQUNFLG1CQUFBO0ExRG94S0o7QTBEL3dLRTtFQUNFLGdCQUFBO0ExRGt4S0o7QTBEN3dLRTtFQUNFLGlCQUFBO0ExRGd4S0o7QTJEdnpLSTtFQUFnQyw4QkFBQTtBM0QyektwQztBMkQxektJO0VBQWdDLGlDQUFBO0EzRDh6S3BDO0EyRDd6S0k7RUFBZ0Msc0NBQUE7QTNEaTBLcEM7QTJEaDBLSTtFQUFnQyx5Q0FBQTtBM0RvMEtwQztBMkRsMEtJO0VBQThCLDBCQUFBO0EzRHMwS2xDO0EyRHIwS0k7RUFBOEIsNEJBQUE7QTNEeTBLbEM7QTJEeDBLSTtFQUE4QixrQ0FBQTtBM0Q0MEtsQztBMkQxMEtJO0VBQW9DLHNDQUFBO0EzRDgwS3hDO0EyRDcwS0k7RUFBb0Msb0NBQUE7QTNEaTFLeEM7QTJEaDFLSTtFQUFvQyxrQ0FBQTtBM0RvMUt4QztBMkRuMUtJO0VBQW9DLHlDQUFBO0EzRHUxS3hDO0EyRHQxS0k7RUFBb0Msd0NBQUE7QTNEMDFLeEM7QTJEeDFLSTtFQUFpQyxrQ0FBQTtBM0Q0MUtyQztBMkQzMUtJO0VBQWlDLGdDQUFBO0EzRCsxS3JDO0EyRDkxS0k7RUFBaUMsOEJBQUE7QTNEazJLckM7QTJEajJLSTtFQUFpQyxnQ0FBQTtBM0RxMktyQztBMkRwMktJO0VBQWlDLCtCQUFBO0EzRHcyS3JDO0EyRHQyS0k7RUFBa0Msb0NBQUE7QTNEMDJLdEM7QTJEejJLSTtFQUFrQyxrQ0FBQTtBM0Q2Mkt0QztBMkQ1MktJO0VBQWtDLGdDQUFBO0EzRGczS3RDO0EyRC8yS0k7RUFBa0MsdUNBQUE7QTNEbTNLdEM7QTJEbDNLSTtFQUFrQyxzQ0FBQTtBM0RzM0t0QztBMkRyM0tJO0VBQWtDLGlDQUFBO0EzRHkzS3RDO0EyRHYzS0k7RUFBZ0MsMkJBQUE7QTNEMjNLcEM7QTJEMTNLSTtFQUFnQyxpQ0FBQTtBM0Q4M0twQztBMkQ3M0tJO0VBQWdDLCtCQUFBO0EzRGk0S3BDO0EyRGg0S0k7RUFBZ0MsNkJBQUE7QTNEbzRLcEM7QTJEbjRLSTtFQUFnQywrQkFBQTtBM0R1NEtwQztBMkR0NEtJO0VBQWdDLDhCQUFBO0EzRDA0S3BDO0FjejNLSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTNEZzdLbEM7RTJELzZLRTtJQUFnQyxpQ0FBQTtFM0RrN0tsQztFMkRqN0tFO0lBQWdDLHNDQUFBO0UzRG83S2xDO0UyRG43S0U7SUFBZ0MseUNBQUE7RTNEczdLbEM7RTJEcDdLRTtJQUE4QiwwQkFBQTtFM0R1N0toQztFMkR0N0tFO0lBQThCLDRCQUFBO0UzRHk3S2hDO0UyRHg3S0U7SUFBOEIsa0NBQUE7RTNEMjdLaEM7RTJEejdLRTtJQUFvQyxzQ0FBQTtFM0Q0N0t0QztFMkQzN0tFO0lBQW9DLG9DQUFBO0UzRDg3S3RDO0UyRDc3S0U7SUFBb0Msa0NBQUE7RTNEZzhLdEM7RTJELzdLRTtJQUFvQyx5Q0FBQTtFM0RrOEt0QztFMkRqOEtFO0lBQW9DLHdDQUFBO0UzRG84S3RDO0UyRGw4S0U7SUFBaUMsa0NBQUE7RTNEcThLbkM7RTJEcDhLRTtJQUFpQyxnQ0FBQTtFM0R1OEtuQztFMkR0OEtFO0lBQWlDLDhCQUFBO0UzRHk4S25DO0UyRHg4S0U7SUFBaUMsZ0NBQUE7RTNEMjhLbkM7RTJEMThLRTtJQUFpQywrQkFBQTtFM0Q2OEtuQztFMkQzOEtFO0lBQWtDLG9DQUFBO0UzRDg4S3BDO0UyRDc4S0U7SUFBa0Msa0NBQUE7RTNEZzlLcEM7RTJELzhLRTtJQUFrQyxnQ0FBQTtFM0RrOUtwQztFMkRqOUtFO0lBQWtDLHVDQUFBO0UzRG85S3BDO0UyRG45S0U7SUFBa0Msc0NBQUE7RTNEczlLcEM7RTJEcjlLRTtJQUFrQyxpQ0FBQTtFM0R3OUtwQztFMkR0OUtFO0lBQWdDLDJCQUFBO0UzRHk5S2xDO0UyRHg5S0U7SUFBZ0MsaUNBQUE7RTNEMjlLbEM7RTJEMTlLRTtJQUFnQywrQkFBQTtFM0Q2OUtsQztFMkQ1OUtFO0lBQWdDLDZCQUFBO0UzRCs5S2xDO0UyRDk5S0U7SUFBZ0MsK0JBQUE7RTNEaStLbEM7RTJEaCtLRTtJQUFnQyw4QkFBQTtFM0RtK0tsQztBQUNGO0FjbjlLSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTNEeWdMbEM7RTJEeGdMRTtJQUFnQyxpQ0FBQTtFM0QyZ0xsQztFMkQxZ0xFO0lBQWdDLHNDQUFBO0UzRDZnTGxDO0UyRDVnTEU7SUFBZ0MseUNBQUE7RTNEK2dMbEM7RTJEN2dMRTtJQUE4QiwwQkFBQTtFM0RnaExoQztFMkQvZ0xFO0lBQThCLDRCQUFBO0UzRGtoTGhDO0UyRGpoTEU7SUFBOEIsa0NBQUE7RTNEb2hMaEM7RTJEbGhMRTtJQUFvQyxzQ0FBQTtFM0RxaEx0QztFMkRwaExFO0lBQW9DLG9DQUFBO0UzRHVoTHRDO0UyRHRoTEU7SUFBb0Msa0NBQUE7RTNEeWhMdEM7RTJEeGhMRTtJQUFvQyx5Q0FBQTtFM0QyaEx0QztFMkQxaExFO0lBQW9DLHdDQUFBO0UzRDZoTHRDO0UyRDNoTEU7SUFBaUMsa0NBQUE7RTNEOGhMbkM7RTJEN2hMRTtJQUFpQyxnQ0FBQTtFM0RnaUxuQztFMkQvaExFO0lBQWlDLDhCQUFBO0UzRGtpTG5DO0UyRGppTEU7SUFBaUMsZ0NBQUE7RTNEb2lMbkM7RTJEbmlMRTtJQUFpQywrQkFBQTtFM0RzaUxuQztFMkRwaUxFO0lBQWtDLG9DQUFBO0UzRHVpTHBDO0UyRHRpTEU7SUFBa0Msa0NBQUE7RTNEeWlMcEM7RTJEeGlMRTtJQUFrQyxnQ0FBQTtFM0QyaUxwQztFMkQxaUxFO0lBQWtDLHVDQUFBO0UzRDZpTHBDO0UyRDVpTEU7SUFBa0Msc0NBQUE7RTNEK2lMcEM7RTJEOWlMRTtJQUFrQyxpQ0FBQTtFM0RpakxwQztFMkQvaUxFO0lBQWdDLDJCQUFBO0UzRGtqTGxDO0UyRGpqTEU7SUFBZ0MsaUNBQUE7RTNEb2pMbEM7RTJEbmpMRTtJQUFnQywrQkFBQTtFM0RzakxsQztFMkRyakxFO0lBQWdDLDZCQUFBO0UzRHdqTGxDO0UyRHZqTEU7SUFBZ0MsK0JBQUE7RTNEMGpMbEM7RTJEempMRTtJQUFnQyw4QkFBQTtFM0Q0akxsQztBQUNGO0FjNWlMSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTNEa21MbEM7RTJEam1MRTtJQUFnQyxpQ0FBQTtFM0RvbUxsQztFMkRubUxFO0lBQWdDLHNDQUFBO0UzRHNtTGxDO0UyRHJtTEU7SUFBZ0MseUNBQUE7RTNEd21MbEM7RTJEdG1MRTtJQUE4QiwwQkFBQTtFM0R5bUxoQztFMkR4bUxFO0lBQThCLDRCQUFBO0UzRDJtTGhDO0UyRDFtTEU7SUFBOEIsa0NBQUE7RTNENm1MaEM7RTJEM21MRTtJQUFvQyxzQ0FBQTtFM0Q4bUx0QztFMkQ3bUxFO0lBQW9DLG9DQUFBO0UzRGduTHRDO0UyRC9tTEU7SUFBb0Msa0NBQUE7RTNEa25MdEM7RTJEam5MRTtJQUFvQyx5Q0FBQTtFM0Rvbkx0QztFMkRubkxFO0lBQW9DLHdDQUFBO0UzRHNuTHRDO0UyRHBuTEU7SUFBaUMsa0NBQUE7RTNEdW5MbkM7RTJEdG5MRTtJQUFpQyxnQ0FBQTtFM0R5bkxuQztFMkR4bkxFO0lBQWlDLDhCQUFBO0UzRDJuTG5DO0UyRDFuTEU7SUFBaUMsZ0NBQUE7RTNENm5MbkM7RTJENW5MRTtJQUFpQywrQkFBQTtFM0QrbkxuQztFMkQ3bkxFO0lBQWtDLG9DQUFBO0UzRGdvTHBDO0UyRC9uTEU7SUFBa0Msa0NBQUE7RTNEa29McEM7RTJEam9MRTtJQUFrQyxnQ0FBQTtFM0Rvb0xwQztFMkRub0xFO0lBQWtDLHVDQUFBO0UzRHNvTHBDO0UyRHJvTEU7SUFBa0Msc0NBQUE7RTNEd29McEM7RTJEdm9MRTtJQUFrQyxpQ0FBQTtFM0Qwb0xwQztFMkR4b0xFO0lBQWdDLDJCQUFBO0UzRDJvTGxDO0UyRDFvTEU7SUFBZ0MsaUNBQUE7RTNENm9MbEM7RTJENW9MRTtJQUFnQywrQkFBQTtFM0Qrb0xsQztFMkQ5b0xFO0lBQWdDLDZCQUFBO0UzRGlwTGxDO0UyRGhwTEU7SUFBZ0MsK0JBQUE7RTNEbXBMbEM7RTJEbHBMRTtJQUFnQyw4QkFBQTtFM0RxcExsQztBQUNGO0Fjcm9MSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTNEMnJMbEM7RTJEMXJMRTtJQUFnQyxpQ0FBQTtFM0Q2ckxsQztFMkQ1ckxFO0lBQWdDLHNDQUFBO0UzRCtyTGxDO0UyRDlyTEU7SUFBZ0MseUNBQUE7RTNEaXNMbEM7RTJEL3JMRTtJQUE4QiwwQkFBQTtFM0Rrc0xoQztFMkRqc0xFO0lBQThCLDRCQUFBO0UzRG9zTGhDO0UyRG5zTEU7SUFBOEIsa0NBQUE7RTNEc3NMaEM7RTJEcHNMRTtJQUFvQyxzQ0FBQTtFM0R1c0x0QztFMkR0c0xFO0lBQW9DLG9DQUFBO0UzRHlzTHRDO0UyRHhzTEU7SUFBb0Msa0NBQUE7RTNEMnNMdEM7RTJEMXNMRTtJQUFvQyx5Q0FBQTtFM0Q2c0x0QztFMkQ1c0xFO0lBQW9DLHdDQUFBO0UzRCtzTHRDO0UyRDdzTEU7SUFBaUMsa0NBQUE7RTNEZ3RMbkM7RTJEL3NMRTtJQUFpQyxnQ0FBQTtFM0RrdExuQztFMkRqdExFO0lBQWlDLDhCQUFBO0UzRG90TG5DO0UyRG50TEU7SUFBaUMsZ0NBQUE7RTNEc3RMbkM7RTJEcnRMRTtJQUFpQywrQkFBQTtFM0R3dExuQztFMkR0dExFO0lBQWtDLG9DQUFBO0UzRHl0THBDO0UyRHh0TEU7SUFBa0Msa0NBQUE7RTNEMnRMcEM7RTJEMXRMRTtJQUFrQyxnQ0FBQTtFM0Q2dExwQztFMkQ1dExFO0lBQWtDLHVDQUFBO0UzRCt0THBDO0UyRDl0TEU7SUFBa0Msc0NBQUE7RTNEaXVMcEM7RTJEaHVMRTtJQUFrQyxpQ0FBQTtFM0RtdUxwQztFMkRqdUxFO0lBQWdDLDJCQUFBO0UzRG91TGxDO0UyRG51TEU7SUFBZ0MsaUNBQUE7RTNEc3VMbEM7RTJEcnVMRTtJQUFnQywrQkFBQTtFM0R3dUxsQztFMkR2dUxFO0lBQWdDLDZCQUFBO0UzRDB1TGxDO0UyRHp1TEU7SUFBZ0MsK0JBQUE7RTNENHVMbEM7RTJEM3VMRTtJQUFnQyw4QkFBQTtFM0Q4dUxsQztBQUNGO0E0RHR4TEk7RUNERixzQkFBQTtBN0QweExGO0E0RHh4TEk7RUNDRix1QkFBQTtBN0QyeExGO0E0RDN4TEk7RUNHRixzQkFBQTtBN0Q0eExG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O0FsRWlnTVY7QWtFaGhNUTtFQUFnQyx5QkFBQTtBbEVvaE14QztBa0VuaE1ROztFQUVFLDZCQUFBO0FsRXNoTVY7QWtFcGhNUTs7RUFFRSwrQkFBQTtBbEV1aE1WO0FrRXJoTVE7O0VBRUUsZ0NBQUE7QWxFd2hNVjtBa0V0aE1ROztFQUVFLDhCQUFBO0FsRXloTVY7QWtFeGlNUTtFQUFnQyx1QkFBQTtBbEU0aU14QztBa0UzaU1ROztFQUVFLDJCQUFBO0FsRThpTVY7QWtFNWlNUTs7RUFFRSw2QkFBQTtBbEUraU1WO0FrRTdpTVE7O0VBRUUsOEJBQUE7QWxFZ2pNVjtBa0U5aU1ROztFQUVFLDRCQUFBO0FsRWlqTVY7QWtFaGtNUTtFQUFnQyxxQkFBQTtBbEVva014QztBa0Vua01ROztFQUVFLHlCQUFBO0FsRXNrTVY7QWtFcGtNUTs7RUFFRSwyQkFBQTtBbEV1a01WO0FrRXJrTVE7O0VBRUUsNEJBQUE7QWxFd2tNVjtBa0V0a01ROztFQUVFLDBCQUFBO0FsRXlrTVY7QWtFeGxNUTtFQUFnQywyQkFBQTtBbEU0bE14QztBa0UzbE1ROztFQUVFLCtCQUFBO0FsRThsTVY7QWtFNWxNUTs7RUFFRSxpQ0FBQTtBbEUrbE1WO0FrRTdsTVE7O0VBRUUsa0NBQUE7QWxFZ21NVjtBa0U5bE1ROztFQUVFLGdDQUFBO0FsRWltTVY7QWtFaG5NUTtFQUFnQywwQkFBQTtBbEVvbk14QztBa0Vubk1ROztFQUVFLDhCQUFBO0FsRXNuTVY7QWtFcG5NUTs7RUFFRSxnQ0FBQTtBbEV1bk1WO0FrRXJuTVE7O0VBRUUsaUNBQUE7QWxFd25NVjtBa0V0bk1ROztFQUVFLCtCQUFBO0FsRXluTVY7QWtFeG9NUTtFQUFnQyx3QkFBQTtBbEU0b014QztBa0Uzb01ROztFQUVFLDRCQUFBO0FsRThvTVY7QWtFNW9NUTs7RUFFRSw4QkFBQTtBbEUrb01WO0FrRTdvTVE7O0VBRUUsK0JBQUE7QWxFZ3BNVjtBa0U5b01ROztFQUVFLDZCQUFBO0FsRWlwTVY7QWtFaHFNUTtFQUFnQywwQkFBQTtBbEVvcU14QztBa0VucU1ROztFQUVFLDhCQUFBO0FsRXNxTVY7QWtFcHFNUTs7RUFFRSxnQ0FBQTtBbEV1cU1WO0FrRXJxTVE7O0VBRUUsaUNBQUE7QWxFd3FNVjtBa0V0cU1ROztFQUVFLCtCQUFBO0FsRXlxTVY7QWtFeHJNUTtFQUFnQyx3QkFBQTtBbEU0ck14QztBa0Uzck1ROztFQUVFLDRCQUFBO0FsRThyTVY7QWtFNXJNUTs7RUFFRSw4QkFBQTtBbEUrck1WO0FrRTdyTVE7O0VBRUUsK0JBQUE7QWxFZ3NNVjtBa0U5ck1ROztFQUVFLDZCQUFBO0FsRWlzTVY7QWtFM3JNSTtFQUFtQix1QkFBQTtBbEUrck12QjtBa0U5ck1JOztFQUVFLDJCQUFBO0FsRWlzTU47QWtFL3JNSTs7RUFFRSw2QkFBQTtBbEVrc01OO0FrRWhzTUk7O0VBRUUsOEJBQUE7QWxFbXNNTjtBa0Vqc01JOztFQUVFLDRCQUFBO0FsRW9zTU47QWN2ck1JO0VvRGpESTtJQUFnQyxvQkFBQTtFbEU2dU10QztFa0U1dU1NOztJQUVFLHdCQUFBO0VsRTh1TVI7RWtFNXVNTTs7SUFFRSwwQkFBQTtFbEU4dU1SO0VrRTV1TU07O0lBRUUsMkJBQUE7RWxFOHVNUjtFa0U1dU1NOztJQUVFLHlCQUFBO0VsRTh1TVI7RWtFN3ZNTTtJQUFnQywwQkFBQTtFbEVnd010QztFa0Uvdk1NOztJQUVFLDhCQUFBO0VsRWl3TVI7RWtFL3ZNTTs7SUFFRSxnQ0FBQTtFbEVpd01SO0VrRS92TU07O0lBRUUsaUNBQUE7RWxFaXdNUjtFa0Uvdk1NOztJQUVFLCtCQUFBO0VsRWl3TVI7RWtFaHhNTTtJQUFnQyx5QkFBQTtFbEVteE10QztFa0VseE1NOztJQUVFLDZCQUFBO0VsRW94TVI7RWtFbHhNTTs7SUFFRSwrQkFBQTtFbEVveE1SO0VrRWx4TU07O0lBRUUsZ0NBQUE7RWxFb3hNUjtFa0VseE1NOztJQUVFLDhCQUFBO0VsRW94TVI7RWtFbnlNTTtJQUFnQyx1QkFBQTtFbEVzeU10QztFa0VyeU1NOztJQUVFLDJCQUFBO0VsRXV5TVI7RWtFcnlNTTs7SUFFRSw2QkFBQTtFbEV1eU1SO0VrRXJ5TU07O0lBRUUsOEJBQUE7RWxFdXlNUjtFa0VyeU1NOztJQUVFLDRCQUFBO0VsRXV5TVI7RWtFdHpNTTtJQUFnQyx5QkFBQTtFbEV5ek10QztFa0V4ek1NOztJQUVFLDZCQUFBO0VsRTB6TVI7RWtFeHpNTTs7SUFFRSwrQkFBQTtFbEUwek1SO0VrRXh6TU07O0lBRUUsZ0NBQUE7RWxFMHpNUjtFa0V4ek1NOztJQUVFLDhCQUFBO0VsRTB6TVI7RWtFejBNTTtJQUFnQyx1QkFBQTtFbEU0ME10QztFa0UzME1NOztJQUVFLDJCQUFBO0VsRTYwTVI7RWtFMzBNTTs7SUFFRSw2QkFBQTtFbEU2ME1SO0VrRTMwTU07O0lBRUUsOEJBQUE7RWxFNjBNUjtFa0UzME1NOztJQUVFLDRCQUFBO0VsRTYwTVI7RWtFNTFNTTtJQUFnQyxxQkFBQTtFbEUrMU10QztFa0U5MU1NOztJQUVFLHlCQUFBO0VsRWcyTVI7RWtFOTFNTTs7SUFFRSwyQkFBQTtFbEVnMk1SO0VrRTkxTU07O0lBRUUsNEJBQUE7RWxFZzJNUjtFa0U5MU1NOztJQUVFLDBCQUFBO0VsRWcyTVI7RWtFLzJNTTtJQUFnQywyQkFBQTtFbEVrM010QztFa0VqM01NOztJQUVFLCtCQUFBO0VsRW0zTVI7RWtFajNNTTs7SUFFRSxpQ0FBQTtFbEVtM01SO0VrRWozTU07O0lBRUUsa0NBQUE7RWxFbTNNUjtFa0VqM01NOztJQUVFLGdDQUFBO0VsRW0zTVI7RWtFbDRNTTtJQUFnQywwQkFBQTtFbEVxNE10QztFa0VwNE1NOztJQUVFLDhCQUFBO0VsRXM0TVI7RWtFcDRNTTs7SUFFRSxnQ0FBQTtFbEVzNE1SO0VrRXA0TU07O0lBRUUsaUNBQUE7RWxFczRNUjtFa0VwNE1NOztJQUVFLCtCQUFBO0VsRXM0TVI7RWtFcjVNTTtJQUFnQyx3QkFBQTtFbEV3NU10QztFa0V2NU1NOztJQUVFLDRCQUFBO0VsRXk1TVI7RWtFdjVNTTs7SUFFRSw4QkFBQTtFbEV5NU1SO0VrRXY1TU07O0lBRUUsK0JBQUE7RWxFeTVNUjtFa0V2NU1NOztJQUVFLDZCQUFBO0VsRXk1TVI7RWtFeDZNTTtJQUFnQywwQkFBQTtFbEUyNk10QztFa0UxNk1NOztJQUVFLDhCQUFBO0VsRTQ2TVI7RWtFMTZNTTs7SUFFRSxnQ0FBQTtFbEU0Nk1SO0VrRTE2TU07O0lBRUUsaUNBQUE7RWxFNDZNUjtFa0UxNk1NOztJQUVFLCtCQUFBO0VsRTQ2TVI7RWtFMzdNTTtJQUFnQyx3QkFBQTtFbEU4N010QztFa0U3N01NOztJQUVFLDRCQUFBO0VsRSs3TVI7RWtFNzdNTTs7SUFFRSw4QkFBQTtFbEUrN01SO0VrRTc3TU07O0lBRUUsK0JBQUE7RWxFKzdNUjtFa0U3N01NOztJQUVFLDZCQUFBO0VsRSs3TVI7RWtFejdNRTtJQUFtQix1QkFBQTtFbEU0N01yQjtFa0UzN01FOztJQUVFLDJCQUFBO0VsRTY3TUo7RWtFMzdNRTs7SUFFRSw2QkFBQTtFbEU2N01KO0VrRTM3TUU7O0lBRUUsOEJBQUE7RWxFNjdNSjtFa0UzN01FOztJQUVFLDRCQUFBO0VsRTY3TUo7QUFDRjtBY2o3TUk7RW9EakRJO0lBQWdDLG9CQUFBO0VsRXMrTXRDO0VrRXIrTU07O0lBRUUsd0JBQUE7RWxFdStNUjtFa0VyK01NOztJQUVFLDBCQUFBO0VsRXUrTVI7RWtFcitNTTs7SUFFRSwyQkFBQTtFbEV1K01SO0VrRXIrTU07O0lBRUUseUJBQUE7RWxFdStNUjtFa0V0L01NO0lBQWdDLDBCQUFBO0VsRXkvTXRDO0VrRXgvTU07O0lBRUUsOEJBQUE7RWxFMC9NUjtFa0V4L01NOztJQUVFLGdDQUFBO0VsRTAvTVI7RWtFeC9NTTs7SUFFRSxpQ0FBQTtFbEUwL01SO0VrRXgvTU07O0lBRUUsK0JBQUE7RWxFMC9NUjtFa0V6Z05NO0lBQWdDLHlCQUFBO0VsRTRnTnRDO0VrRTNnTk07O0lBRUUsNkJBQUE7RWxFNmdOUjtFa0UzZ05NOztJQUVFLCtCQUFBO0VsRTZnTlI7RWtFM2dOTTs7SUFFRSxnQ0FBQTtFbEU2Z05SO0VrRTNnTk07O0lBRUUsOEJBQUE7RWxFNmdOUjtFa0U1aE5NO0lBQWdDLHVCQUFBO0VsRStoTnRDO0VrRTloTk07O0lBRUUsMkJBQUE7RWxFZ2lOUjtFa0U5aE5NOztJQUVFLDZCQUFBO0VsRWdpTlI7RWtFOWhOTTs7SUFFRSw4QkFBQTtFbEVnaU5SO0VrRTloTk07O0lBRUUsNEJBQUE7RWxFZ2lOUjtFa0UvaU5NO0lBQWdDLHlCQUFBO0VsRWtqTnRDO0VrRWpqTk07O0lBRUUsNkJBQUE7RWxFbWpOUjtFa0Vqak5NOztJQUVFLCtCQUFBO0VsRW1qTlI7RWtFampOTTs7SUFFRSxnQ0FBQTtFbEVtak5SO0VrRWpqTk07O0lBRUUsOEJBQUE7RWxFbWpOUjtFa0Vsa05NO0lBQWdDLHVCQUFBO0VsRXFrTnRDO0VrRXBrTk07O0lBRUUsMkJBQUE7RWxFc2tOUjtFa0Vwa05NOztJQUVFLDZCQUFBO0VsRXNrTlI7RWtFcGtOTTs7SUFFRSw4QkFBQTtFbEVza05SO0VrRXBrTk07O0lBRUUsNEJBQUE7RWxFc2tOUjtFa0VybE5NO0lBQWdDLHFCQUFBO0VsRXdsTnRDO0VrRXZsTk07O0lBRUUseUJBQUE7RWxFeWxOUjtFa0V2bE5NOztJQUVFLDJCQUFBO0VsRXlsTlI7RWtFdmxOTTs7SUFFRSw0QkFBQTtFbEV5bE5SO0VrRXZsTk07O0lBRUUsMEJBQUE7RWxFeWxOUjtFa0V4bU5NO0lBQWdDLDJCQUFBO0VsRTJtTnRDO0VrRTFtTk07O0lBRUUsK0JBQUE7RWxFNG1OUjtFa0UxbU5NOztJQUVFLGlDQUFBO0VsRTRtTlI7RWtFMW1OTTs7SUFFRSxrQ0FBQTtFbEU0bU5SO0VrRTFtTk07O0lBRUUsZ0NBQUE7RWxFNG1OUjtFa0Uzbk5NO0lBQWdDLDBCQUFBO0VsRThuTnRDO0VrRTduTk07O0lBRUUsOEJBQUE7RWxFK25OUjtFa0U3bk5NOztJQUVFLGdDQUFBO0VsRStuTlI7RWtFN25OTTs7SUFFRSxpQ0FBQTtFbEUrbk5SO0VrRTduTk07O0lBRUUsK0JBQUE7RWxFK25OUjtFa0U5b05NO0lBQWdDLHdCQUFBO0VsRWlwTnRDO0VrRWhwTk07O0lBRUUsNEJBQUE7RWxFa3BOUjtFa0VocE5NOztJQUVFLDhCQUFBO0VsRWtwTlI7RWtFaHBOTTs7SUFFRSwrQkFBQTtFbEVrcE5SO0VrRWhwTk07O0lBRUUsNkJBQUE7RWxFa3BOUjtFa0VqcU5NO0lBQWdDLDBCQUFBO0VsRW9xTnRDO0VrRW5xTk07O0lBRUUsOEJBQUE7RWxFcXFOUjtFa0VucU5NOztJQUVFLGdDQUFBO0VsRXFxTlI7RWtFbnFOTTs7SUFFRSxpQ0FBQTtFbEVxcU5SO0VrRW5xTk07O0lBRUUsK0JBQUE7RWxFcXFOUjtFa0Vwck5NO0lBQWdDLHdCQUFBO0VsRXVyTnRDO0VrRXRyTk07O0lBRUUsNEJBQUE7RWxFd3JOUjtFa0V0ck5NOztJQUVFLDhCQUFBO0VsRXdyTlI7RWtFdHJOTTs7SUFFRSwrQkFBQTtFbEV3ck5SO0VrRXRyTk07O0lBRUUsNkJBQUE7RWxFd3JOUjtFa0Vsck5FO0lBQW1CLHVCQUFBO0VsRXFyTnJCO0VrRXByTkU7O0lBRUUsMkJBQUE7RWxFc3JOSjtFa0Vwck5FOztJQUVFLDZCQUFBO0VsRXNyTko7RWtFcHJORTs7SUFFRSw4QkFBQTtFbEVzck5KO0VrRXByTkU7O0lBRUUsNEJBQUE7RWxFc3JOSjtBQUNGO0FjMXFOSTtFb0RqREk7SUFBZ0Msb0JBQUE7RWxFK3ROdEM7RWtFOXROTTs7SUFFRSx3QkFBQTtFbEVndU5SO0VrRTl0Tk07O0lBRUUsMEJBQUE7RWxFZ3VOUjtFa0U5dE5NOztJQUVFLDJCQUFBO0VsRWd1TlI7RWtFOXROTTs7SUFFRSx5QkFBQTtFbEVndU5SO0VrRS91Tk07SUFBZ0MsMEJBQUE7RWxFa3ZOdEM7RWtFanZOTTs7SUFFRSw4QkFBQTtFbEVtdk5SO0VrRWp2Tk07O0lBRUUsZ0NBQUE7RWxFbXZOUjtFa0Vqdk5NOztJQUVFLGlDQUFBO0VsRW12TlI7RWtFanZOTTs7SUFFRSwrQkFBQTtFbEVtdk5SO0VrRWx3Tk07SUFBZ0MseUJBQUE7RWxFcXdOdEM7RWtFcHdOTTs7SUFFRSw2QkFBQTtFbEVzd05SO0VrRXB3Tk07O0lBRUUsK0JBQUE7RWxFc3dOUjtFa0Vwd05NOztJQUVFLGdDQUFBO0VsRXN3TlI7RWtFcHdOTTs7SUFFRSw4QkFBQTtFbEVzd05SO0VrRXJ4Tk07SUFBZ0MsdUJBQUE7RWxFd3hOdEM7RWtFdnhOTTs7SUFFRSwyQkFBQTtFbEV5eE5SO0VrRXZ4Tk07O0lBRUUsNkJBQUE7RWxFeXhOUjtFa0V2eE5NOztJQUVFLDhCQUFBO0VsRXl4TlI7RWtFdnhOTTs7SUFFRSw0QkFBQTtFbEV5eE5SO0VrRXh5Tk07SUFBZ0MseUJBQUE7RWxFMnlOdEM7RWtFMXlOTTs7SUFFRSw2QkFBQTtFbEU0eU5SO0VrRTF5Tk07O0lBRUUsK0JBQUE7RWxFNHlOUjtFa0UxeU5NOztJQUVFLGdDQUFBO0VsRTR5TlI7RWtFMXlOTTs7SUFFRSw4QkFBQTtFbEU0eU5SO0VrRTN6Tk07SUFBZ0MsdUJBQUE7RWxFOHpOdEM7RWtFN3pOTTs7SUFFRSwyQkFBQTtFbEUrek5SO0VrRTd6Tk07O0lBRUUsNkJBQUE7RWxFK3pOUjtFa0U3ek5NOztJQUVFLDhCQUFBO0VsRSt6TlI7RWtFN3pOTTs7SUFFRSw0QkFBQTtFbEUrek5SO0VrRTkwTk07SUFBZ0MscUJBQUE7RWxFaTFOdEM7RWtFaDFOTTs7SUFFRSx5QkFBQTtFbEVrMU5SO0VrRWgxTk07O0lBRUUsMkJBQUE7RWxFazFOUjtFa0VoMU5NOztJQUVFLDRCQUFBO0VsRWsxTlI7RWtFaDFOTTs7SUFFRSwwQkFBQTtFbEVrMU5SO0VrRWoyTk07SUFBZ0MsMkJBQUE7RWxFbzJOdEM7RWtFbjJOTTs7SUFFRSwrQkFBQTtFbEVxMk5SO0VrRW4yTk07O0lBRUUsaUNBQUE7RWxFcTJOUjtFa0VuMk5NOztJQUVFLGtDQUFBO0VsRXEyTlI7RWtFbjJOTTs7SUFFRSxnQ0FBQTtFbEVxMk5SO0VrRXAzTk07SUFBZ0MsMEJBQUE7RWxFdTNOdEM7RWtFdDNOTTs7SUFFRSw4QkFBQTtFbEV3M05SO0VrRXQzTk07O0lBRUUsZ0NBQUE7RWxFdzNOUjtFa0V0M05NOztJQUVFLGlDQUFBO0VsRXczTlI7RWtFdDNOTTs7SUFFRSwrQkFBQTtFbEV3M05SO0VrRXY0Tk07SUFBZ0Msd0JBQUE7RWxFMDROdEM7RWtFejROTTs7SUFFRSw0QkFBQTtFbEUyNE5SO0VrRXo0Tk07O0lBRUUsOEJBQUE7RWxFMjROUjtFa0V6NE5NOztJQUVFLCtCQUFBO0VsRTI0TlI7RWtFejROTTs7SUFFRSw2QkFBQTtFbEUyNE5SO0VrRTE1Tk07SUFBZ0MsMEJBQUE7RWxFNjVOdEM7RWtFNTVOTTs7SUFFRSw4QkFBQTtFbEU4NU5SO0VrRTU1Tk07O0lBRUUsZ0NBQUE7RWxFODVOUjtFa0U1NU5NOztJQUVFLGlDQUFBO0VsRTg1TlI7RWtFNTVOTTs7SUFFRSwrQkFBQTtFbEU4NU5SO0VrRTc2Tk07SUFBZ0Msd0JBQUE7RWxFZzdOdEM7RWtFLzZOTTs7SUFFRSw0QkFBQTtFbEVpN05SO0VrRS82Tk07O0lBRUUsOEJBQUE7RWxFaTdOUjtFa0UvNk5NOztJQUVFLCtCQUFBO0VsRWk3TlI7RWtFLzZOTTs7SUFFRSw2QkFBQTtFbEVpN05SO0VrRTM2TkU7SUFBbUIsdUJBQUE7RWxFODZOckI7RWtFNzZORTs7SUFFRSwyQkFBQTtFbEUrNk5KO0VrRTc2TkU7O0lBRUUsNkJBQUE7RWxFKzZOSjtFa0U3Nk5FOztJQUVFLDhCQUFBO0VsRSs2Tko7RWtFNzZORTs7SUFFRSw0QkFBQTtFbEUrNk5KO0FBQ0Y7QWNuNk5JO0VvRGpESTtJQUFnQyxvQkFBQTtFbEV3OU50QztFa0V2OU5NOztJQUVFLHdCQUFBO0VsRXk5TlI7RWtFdjlOTTs7SUFFRSwwQkFBQTtFbEV5OU5SO0VrRXY5Tk07O0lBRUUsMkJBQUE7RWxFeTlOUjtFa0V2OU5NOztJQUVFLHlCQUFBO0VsRXk5TlI7RWtFeCtOTTtJQUFnQywwQkFBQTtFbEUyK050QztFa0UxK05NOztJQUVFLDhCQUFBO0VsRTQrTlI7RWtFMStOTTs7SUFFRSxnQ0FBQTtFbEU0K05SO0VrRTErTk07O0lBRUUsaUNBQUE7RWxFNCtOUjtFa0UxK05NOztJQUVFLCtCQUFBO0VsRTQrTlI7RWtFMy9OTTtJQUFnQyx5QkFBQTtFbEU4L050QztFa0U3L05NOztJQUVFLDZCQUFBO0VsRSsvTlI7RWtFNy9OTTs7SUFFRSwrQkFBQTtFbEUrL05SO0VrRTcvTk07O0lBRUUsZ0NBQUE7RWxFKy9OUjtFa0U3L05NOztJQUVFLDhCQUFBO0VsRSsvTlI7RWtFOWdPTTtJQUFnQyx1QkFBQTtFbEVpaE90QztFa0VoaE9NOztJQUVFLDJCQUFBO0VsRWtoT1I7RWtFaGhPTTs7SUFFRSw2QkFBQTtFbEVraE9SO0VrRWhoT007O0lBRUUsOEJBQUE7RWxFa2hPUjtFa0VoaE9NOztJQUVFLDRCQUFBO0VsRWtoT1I7RWtFamlPTTtJQUFnQyx5QkFBQTtFbEVvaU90QztFa0VuaU9NOztJQUVFLDZCQUFBO0VsRXFpT1I7RWtFbmlPTTs7SUFFRSwrQkFBQTtFbEVxaU9SO0VrRW5pT007O0lBRUUsZ0NBQUE7RWxFcWlPUjtFa0VuaU9NOztJQUVFLDhCQUFBO0VsRXFpT1I7RWtFcGpPTTtJQUFnQyx1QkFBQTtFbEV1ak90QztFa0V0ak9NOztJQUVFLDJCQUFBO0VsRXdqT1I7RWtFdGpPTTs7SUFFRSw2QkFBQTtFbEV3ak9SO0VrRXRqT007O0lBRUUsOEJBQUE7RWxFd2pPUjtFa0V0ak9NOztJQUVFLDRCQUFBO0VsRXdqT1I7RWtFdmtPTTtJQUFnQyxxQkFBQTtFbEUwa090QztFa0V6a09NOztJQUVFLHlCQUFBO0VsRTJrT1I7RWtFemtPTTs7SUFFRSwyQkFBQTtFbEUya09SO0VrRXprT007O0lBRUUsNEJBQUE7RWxFMmtPUjtFa0V6a09NOztJQUVFLDBCQUFBO0VsRTJrT1I7RWtFMWxPTTtJQUFnQywyQkFBQTtFbEU2bE90QztFa0U1bE9NOztJQUVFLCtCQUFBO0VsRThsT1I7RWtFNWxPTTs7SUFFRSxpQ0FBQTtFbEU4bE9SO0VrRTVsT007O0lBRUUsa0NBQUE7RWxFOGxPUjtFa0U1bE9NOztJQUVFLGdDQUFBO0VsRThsT1I7RWtFN21PTTtJQUFnQywwQkFBQTtFbEVnbk90QztFa0UvbU9NOztJQUVFLDhCQUFBO0VsRWluT1I7RWtFL21PTTs7SUFFRSxnQ0FBQTtFbEVpbk9SO0VrRS9tT007O0lBRUUsaUNBQUE7RWxFaW5PUjtFa0UvbU9NOztJQUVFLCtCQUFBO0VsRWluT1I7RWtFaG9PTTtJQUFnQyx3QkFBQTtFbEVtb090QztFa0Vsb09NOztJQUVFLDRCQUFBO0VsRW9vT1I7RWtFbG9PTTs7SUFFRSw4QkFBQTtFbEVvb09SO0VrRWxvT007O0lBRUUsK0JBQUE7RWxFb29PUjtFa0Vsb09NOztJQUVFLDZCQUFBO0VsRW9vT1I7RWtFbnBPTTtJQUFnQywwQkFBQTtFbEVzcE90QztFa0VycE9NOztJQUVFLDhCQUFBO0VsRXVwT1I7RWtFcnBPTTs7SUFFRSxnQ0FBQTtFbEV1cE9SO0VrRXJwT007O0lBRUUsaUNBQUE7RWxFdXBPUjtFa0VycE9NOztJQUVFLCtCQUFBO0VsRXVwT1I7RWtFdHFPTTtJQUFnQyx3QkFBQTtFbEV5cU90QztFa0V4cU9NOztJQUVFLDRCQUFBO0VsRTBxT1I7RWtFeHFPTTs7SUFFRSw4QkFBQTtFbEUwcU9SO0VrRXhxT007O0lBRUUsK0JBQUE7RWxFMHFPUjtFa0V4cU9NOztJQUVFLDZCQUFBO0VsRTBxT1I7RWtFcHFPRTtJQUFtQix1QkFBQTtFbEV1cU9yQjtFa0V0cU9FOztJQUVFLDJCQUFBO0VsRXdxT0o7RWtFdHFPRTs7SUFFRSw2QkFBQTtFbEV3cU9KO0VrRXRxT0U7O0lBRUUsOEJBQUE7RWxFd3FPSjtFa0V0cU9FOztJQUVFLDRCQUFBO0VsRXdxT0o7QUFDRjtBbUVodE9BO0VBQWlCLDhCQUFBO0FuRW10T2pCO0FtRWx0T0E7RUFBaUIsOEJBQUE7QW5Fc3RPakI7QW1FcnRPQTtFQ05FLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBcEUrdE9GO0FtRW50T0k7RUFBd0IsMkJBQUE7QW5FdXRPNUI7QW1FdHRPSTtFQUF3Qiw0QkFBQTtBbkUwdE81QjtBbUV6dE9JO0VBQXdCLDZCQUFBO0FuRTZ0TzVCO0FjcnJPSTtFcUQxQ0E7SUFBd0IsMkJBQUE7RW5Fb3VPMUI7RW1FbnVPRTtJQUF3Qiw0QkFBQTtFbkVzdU8xQjtFbUVydU9FO0lBQXdCLDZCQUFBO0VuRXd1TzFCO0FBQ0Y7QWNqc09JO0VxRDFDQTtJQUF3QiwyQkFBQTtFbkUrdU8xQjtFbUU5dU9FO0lBQXdCLDRCQUFBO0VuRWl2TzFCO0VtRWh2T0U7SUFBd0IsNkJBQUE7RW5FbXZPMUI7QUFDRjtBYzVzT0k7RXFEMUNBO0lBQXdCLDJCQUFBO0VuRTB2TzFCO0VtRXp2T0U7SUFBd0IsNEJBQUE7RW5FNHZPMUI7RW1FM3ZPRTtJQUF3Qiw2QkFBQTtFbkU4dk8xQjtBQUNGO0FjdnRPSTtFcUQxQ0E7SUFBd0IsMkJBQUE7RW5FcXdPMUI7RW1FcHdPRTtJQUF3Qiw0QkFBQTtFbkV1d08xQjtFbUV0d09FO0lBQXdCLDZCQUFBO0VuRXl3TzFCO0FBQ0Y7QW1FcHdPQTtFQUFtQixvQ0FBQTtBbkV1d09uQjtBbUV0d09BO0VBQW1CLG9DQUFBO0FuRTB3T25CO0FtRXp3T0E7RUFBbUIscUNBQUE7QW5FNndPbkI7QW1FendPQTtFQUFzQiwyQkFBQTtBbkU2d090QjtBbUU1d09BO0VBQXNCLDJCQUFBO0FuRWd4T3RCO0FtRS93T0E7RUFBc0IsMkJBQUE7QW5FbXhPdEI7QW1FbHhPQTtFQUFzQiw2QkFBQTtBbkVzeE90QjtBbUVseE9BO0VBQWMsc0JBQUE7QW5Fc3hPZDtBcUV4ek9FO0VBQ0UseUJBQUE7QXJFMnpPSjtBSy95T0U7RWdFUkkseUJBQUE7QXJFMnpPTjtBcUVoME9FO0VBQ0UseUJBQUE7QXJFbTBPSjtBS3Z6T0U7RWdFUkkseUJBQUE7QXJFbTBPTjtBcUV4ME9FO0VBQ0UseUJBQUE7QXJFMjBPSjtBSy96T0U7RWdFUkkseUJBQUE7QXJFMjBPTjtBcUVoMU9FO0VBQ0UseUJBQUE7QXJFbTFPSjtBS3YwT0U7RWdFUkkseUJBQUE7QXJFbTFPTjtBcUV4MU9FO0VBQ0UseUJBQUE7QXJFMjFPSjtBSy8wT0U7RWdFUkkseUJBQUE7QXJFMjFPTjtBcUVoMk9FO0VBQ0UseUJBQUE7QXJFbTJPSjtBS3YxT0U7RWdFUkkseUJBQUE7QXJFbTJPTjtBcUV4Mk9FO0VBQ0UseUJBQUE7QXJFMjJPSjtBSy8xT0U7RWdFUkkseUJBQUE7QXJFMjJPTjtBcUVoM09FO0VBQ0UseUJBQUE7QXJFbTNPSjtBS3YyT0U7RWdFUkkseUJBQUE7QXJFbTNPTjtBbUVoMU9BO0VBQWMseUJBQUE7QW5FbzFPZDtBbUVoMU9BO0VHOUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxTQUFBO0F0RWs0T0Y7QXVFcjRPQTtFQ0NFLDhCQUFBO0F4RXc0T0Y7QXVFcjRPQTtFQ0hFLDZCQUFBO0F4RTQ0T0Y7QXlFdDRPRTtFQUNFOzs7SUFLRSw0QkFBQTtJQUVBLDJCQUFBO0V6RXM0T0o7RXlFbDRPSTtJQUNFLDBCQUFBO0V6RW80T047RXlFMzNPRTtJQUNFLDZCQUFBO0V6RTYzT0o7RXlFLzJPRTtJQUNFLGdDQUFBO0V6RWkzT0o7RXlFLzJPRTs7SUFFRSxzQkFBQTtJQUNBLHdCQUFBO0V6RWkzT0o7RXlFejJPRTtJQUNFLDJCQUFBO0V6RTIyT0o7RXlFeDJPRTs7SUFFRSx3QkFBQTtFekUwMk9KO0V5RXYyT0U7OztJQUdFLFVBQUE7SUFDQSxTQUFBO0V6RXkyT0o7RXlFdDJPRTs7SUFFRSx1QkFBQTtFekV3Mk9KO0V5RWgyT0U7SUFDRSxRckVteUI4QjtFSitqTmxDO0V5RWgyT0U7SUFDRSwyQkFBQTtFekVrMk9KO0V5RWgyT0U7SUFDRSwyQkFBQTtFekVrMk9KO0V5RTkxT0U7SUFDRSxhQUFBO0V6RWcyT0o7RXlFOTFPRTtJQUNFLHNCQUFBO0V6RWcyT0o7RXlFNzFPRTtJQUNFLG9DQUFBO0V6RSsxT0o7RXlFNzFPSTs7SUFFRSxpQ0FBQTtFekUrMU9OO0V5RTMxT0k7O0lBRUUsaUNBQUE7RXpFNjFPTjtBQUNGO0EwRWo5T0E7RUFDRSxjQUFBO0ExRW05T0Y7QTBFaDlPQTtFQUNFLGdDQUFBO0ExRW05T0Y7QTBFaDlPQTtFQUNFLGVBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0Usb0JBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UscUJBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UsdUJBQUE7S0FBQSxvQkFBQTtVQUFBLGVBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UsNkJBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UscUJBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UsaUJBQUE7QTFFbTlPRjtBMEVoOU9BO0VBQ0UsZUFBQTtBMUVtOU9GIiwiZmlsZSI6InNyYy9hcHAvcnVsZXNldC9wYWdlcy9ydWxlc2V0LXdpemFyZC9ydWxlc2V0LXdpemFyZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogQm9vdHN0cmFwIHY0LjAuMCAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTggVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuOnJvb3Qge1xuICAtLWJsdWU6ICMwMDdiZmY7XG4gIC0taW5kaWdvOiAjNjYxMGYyO1xuICAtLXB1cnBsZTogIzZmNDJjMTtcbiAgLS1waW5rOiAjZTgzZThjO1xuICAtLXJlZDogI2RjMzU0NTtcbiAgLS1vcmFuZ2U6ICNmZDdlMTQ7XG4gIC0teWVsbG93OiAjZmZjMTA3O1xuICAtLWdyZWVuOiAjMjhhNzQ1O1xuICAtLXRlYWw6ICMyMGM5OTc7XG4gIC0tY3lhbjogIzE3YTJiODtcbiAgLS13aGl0ZTogI2ZmZjtcbiAgLS1ncmF5OiAjNmM3NTdkO1xuICAtLWdyYXktZGFyazogIzM0M2E0MDtcbiAgLS1wcmltYXJ5OiAjMDA3YmZmO1xuICAtLXNlY29uZGFyeTogIzZjNzU3ZDtcbiAgLS1zdWNjZXNzOiAjMjhhNzQ1O1xuICAtLWluZm86ICMxN2EyYjg7XG4gIC0td2FybmluZzogI2ZmYzEwNztcbiAgLS1kYW5nZXI6ICNkYzM1NDU7XG4gIC0tbGlnaHQ6ICNmOGY5ZmE7XG4gIC0tZGFyazogIzM0M2E0MDtcbiAgLS1icmVha3BvaW50LXhzOiAwO1xuICAtLWJyZWFrcG9pbnQtc206IDU3NnB4O1xuICAtLWJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuICAtLWJyZWFrcG9pbnQtbGc6IDk5MnB4O1xuICAtLWJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hIHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICMwMDU2YjM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpob3ZlciwgYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnByZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dLFxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPWRhdGVdLFxuaW5wdXRbdHlwZT10aW1lXSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuaW5wdXRbdHlwZT1tb250aF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogNS41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaHIge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5saXN0LWlubGluZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG4uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUwqBcIjtcbn1cblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjZTgzZThjO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuYSA+IGNvZGUge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxua2JkIHtcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cbmtiZCBrYmQge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogIzIxMjUyOTtcbn1cbnByZSBjb2RlIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xufVxuXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm5vLWd1dHRlcnMgPiAuY29sLFxuLm5vLWd1dHRlcnMgPiBbY2xhc3MqPWNvbC1dIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29sLXhsLFxuLmNvbC14bC1hdXRvLCAuY29sLXhsLTEyLCAuY29sLXhsLTExLCAuY29sLXhsLTEwLCAuY29sLXhsLTksIC5jb2wteGwtOCwgLmNvbC14bC03LCAuY29sLXhsLTYsIC5jb2wteGwtNSwgLmNvbC14bC00LCAuY29sLXhsLTMsIC5jb2wteGwtMiwgLmNvbC14bC0xLCAuY29sLWxnLFxuLmNvbC1sZy1hdXRvLCAuY29sLWxnLTEyLCAuY29sLWxnLTExLCAuY29sLWxnLTEwLCAuY29sLWxnLTksIC5jb2wtbGctOCwgLmNvbC1sZy03LCAuY29sLWxnLTYsIC5jb2wtbGctNSwgLmNvbC1sZy00LCAuY29sLWxnLTMsIC5jb2wtbGctMiwgLmNvbC1sZy0xLCAuY29sLW1kLFxuLmNvbC1tZC1hdXRvLCAuY29sLW1kLTEyLCAuY29sLW1kLTExLCAuY29sLW1kLTEwLCAuY29sLW1kLTksIC5jb2wtbWQtOCwgLmNvbC1tZC03LCAuY29sLW1kLTYsIC5jb2wtbWQtNSwgLmNvbC1tZC00LCAuY29sLW1kLTMsIC5jb2wtbWQtMiwgLmNvbC1tZC0xLCAuY29sLXNtLFxuLmNvbC1zbS1hdXRvLCAuY29sLXNtLTEyLCAuY29sLXNtLTExLCAuY29sLXNtLTEwLCAuY29sLXNtLTksIC5jb2wtc20tOCwgLmNvbC1zbS03LCAuY29sLXNtLTYsIC5jb2wtc20tNSwgLmNvbC1zbS00LCAuY29sLXNtLTMsIC5jb2wtc20tMiwgLmNvbC1zbS0xLCAuY29sLFxuLmNvbC1hdXRvLCAuY29sLTEyLCAuY29sLTExLCAuY29sLTEwLCAuY29sLTksIC5jb2wtOCwgLmNvbC03LCAuY29sLTYsIC5jb2wtNSwgLmNvbC00LCAuY29sLTMsIC5jb2wtMiwgLmNvbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jb2wge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbC1hdXRvIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5jb2wtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jb2wtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuXG4uY29sLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm9yZGVyLWZpcnN0IHtcbiAgb3JkZXI6IC0xO1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiAxMztcbn1cblxuLm9yZGVyLTAge1xuICBvcmRlcjogMDtcbn1cblxuLm9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLm9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuLm9yZGVyLTcge1xuICBvcmRlcjogNztcbn1cblxuLm9yZGVyLTgge1xuICBvcmRlcjogODtcbn1cblxuLm9yZGVyLTkge1xuICBvcmRlcjogOTtcbn1cblxuLm9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwO1xufVxuXG4ub3JkZXItMTEge1xuICBvcmRlcjogMTE7XG59XG5cbi5vcmRlci0xMiB7XG4gIG9yZGVyOiAxMjtcbn1cblxuLm9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLm9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4ub2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4ub2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbC1zbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtc20tYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5jb2wtc20tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm9yZGVyLXNtLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgLm9yZGVyLXNtLWxhc3Qge1xuICAgIG9yZGVyOiAxMztcbiAgfVxuICAub3JkZXItc20tMCB7XG4gICAgb3JkZXI6IDA7XG4gIH1cbiAgLm9yZGVyLXNtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5vcmRlci1zbS0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAub3JkZXItc20tMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm9yZGVyLXNtLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5vcmRlci1zbS01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAub3JkZXItc20tNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbiAgLm9yZGVyLXNtLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG4gIC5vcmRlci1zbS04IHtcbiAgICBvcmRlcjogODtcbiAgfVxuICAub3JkZXItc20tOSB7XG4gICAgb3JkZXI6IDk7XG4gIH1cbiAgLm9yZGVyLXNtLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cbiAgLm9yZGVyLXNtLTExIHtcbiAgICBvcmRlcjogMTE7XG4gIH1cbiAgLm9yZGVyLXNtLTEyIHtcbiAgICBvcmRlcjogMTI7XG4gIH1cbiAgLm9mZnNldC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LXNtLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1zbS04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1tZC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLmNvbC1tZC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLW1kLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAub3JkZXItbWQtZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG4gIC5vcmRlci1tZC0wIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuICAub3JkZXItbWQtMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm9yZGVyLW1kLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5vcmRlci1tZC0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAub3JkZXItbWQtNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLm9yZGVyLW1kLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5vcmRlci1tZC02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxuICAub3JkZXItbWQtNyB7XG4gICAgb3JkZXI6IDc7XG4gIH1cbiAgLm9yZGVyLW1kLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG4gIC5vcmRlci1tZC05IHtcbiAgICBvcmRlcjogOTtcbiAgfVxuICAub3JkZXItbWQtMTAge1xuICAgIG9yZGVyOiAxMDtcbiAgfVxuICAub3JkZXItbWQtMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuICAub3JkZXItbWQtMTIge1xuICAgIG9yZGVyOiAxMjtcbiAgfVxuICAub2Zmc2V0LW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtbWQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGcge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLWxnLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5vcmRlci1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5vcmRlci1sZy1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cbiAgLm9yZGVyLWxnLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5vcmRlci1sZy0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXItbGctMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLWxnLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5vcmRlci1sZy00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAub3JkZXItbGctNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm9yZGVyLWxnLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5vcmRlci1sZy03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuICAub3JkZXItbGctOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cbiAgLm9yZGVyLWxnLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG4gIC5vcmRlci1sZy0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG4gIC5vcmRlci1sZy0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG4gIC5vcmRlci1sZy0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG4gIC5vZmZzZXQtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1sZy02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtbGctNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1sZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wteGwge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLXhsLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAuY29sLXhsLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXhsLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wteGwtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5vcmRlci14bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5vcmRlci14bC1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cbiAgLm9yZGVyLXhsLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5vcmRlci14bC0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXIteGwtMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLXhsLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5vcmRlci14bC00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAub3JkZXIteGwtNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm9yZGVyLXhsLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5vcmRlci14bC03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuICAub3JkZXIteGwtOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cbiAgLm9yZGVyLXhsLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG4gIC5vcmRlci14bC0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG4gIC5vcmRlci14bC0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG4gIC5vcmRlci14bC0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG4gIC5vZmZzZXQteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC14bC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQteGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG59XG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi50YWJsZSB0aCxcbi50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlIHRoZWFkIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlIC50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi50YWJsZS1zbSB0aCxcbi50YWJsZS1zbSB0ZCB7XG4gIHBhZGRpbmc6IDAuM3JlbTtcbn1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi50YWJsZS1ib3JkZXJlZCB0aCxcbi50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlLXByaW1hcnksXG4udGFibGUtcHJpbWFyeSA+IHRoLFxuLnRhYmxlLXByaW1hcnkgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjtcbn1cblxuLnRhYmxlLXNlY29uZGFyeSxcbi50YWJsZS1zZWNvbmRhcnkgPiB0aCxcbi50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cblxuLnRhYmxlLXN1Y2Nlc3MsXG4udGFibGUtc3VjY2VzcyA+IHRoLFxuLnRhYmxlLXN1Y2Nlc3MgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcbn1cblxuLnRhYmxlLWluZm8sXG4udGFibGUtaW5mbyA+IHRoLFxuLnRhYmxlLWluZm8gPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcbn1cblxuLnRhYmxlLXdhcm5pbmcsXG4udGFibGUtd2FybmluZyA+IHRoLFxuLnRhYmxlLXdhcm5pbmcgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbn1cblxuLnRhYmxlLWRhbmdlcixcbi50YWJsZS1kYW5nZXIgPiB0aCxcbi50YWJsZS1kYW5nZXIgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cblxuLnRhYmxlLWxpZ2h0LFxuLnRhYmxlLWxpZ2h0ID4gdGgsXG4udGFibGUtbGlnaHQgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcbn1cblxuLnRhYmxlLWRhcmssXG4udGFibGUtZGFyayA+IHRoLFxuLnRhYmxlLWRhcmsgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcbn1cblxuLnRhYmxlLWFjdGl2ZSxcbi50YWJsZS1hY3RpdmUgPiB0aCxcbi50YWJsZS1hY3RpdmUgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XG4gIGJvcmRlci1jb2xvcjogIzMyMzgzZTtcbn1cbi50YWJsZSAudGhlYWQtbGlnaHQgdGgge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5O1xufVxuLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzIzODNlO1xufVxuLnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG59XG4udGFibGUtZGFyay50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xufVxuLnRhYmxlLWRhcmsudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1zbSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG4udGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogIzgwYmRmZjtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgb3BhY2l0eTogMTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XG59XG5zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIDFweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMC4zNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDA7XG59XG4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZm9ybS1jb250cm9sLXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gc2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpO1xufVxuXG4uZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLWxnID4gc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KTtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cbi5mb3JtLXJvdyA+IC5jb2wsXG4uZm9ybS1yb3cgPiBbY2xhc3MqPWNvbC1dIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG5cbi52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQsXG4uY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cyxcbi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLmZvcm0tY29udHJvbC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCB+IC52YWxpZC10b29sdGlwLFxuLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogIzI4YTc0NTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDhhO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1Nztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTtcbn1cblxuLmludmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZGMzNTQ1O1xufVxuXG4uaW52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQsXG4uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkOmZvY3VzLFxuLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCxcbi5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICNkYzM1NDU7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICNkYzM1NDU7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmYTJhOTtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xufVxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZvcm0taW5saW5lIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbi5idG46aG92ZXIsIC5idG46Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG4uYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cbi5idG4tcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OWQ5O1xuICBib3JkZXItY29sb3I6ICMwMDYyY2M7XG59XG4uYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4tcHJpbWFyeS5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xufVxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XG4gIGJvcmRlci1jb2xvcjogIzAwNWNiZjtcbn1cbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG4uYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWE2MjY4O1xuICBib3JkZXItY29sb3I6ICM1NDViNjI7XG59XG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyO1xuICBib3JkZXItY29sb3I6ICM0ZTU1NWI7XG59XG4uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg4Mzg7XG4gIGJvcmRlci1jb2xvcjogIzFlN2UzNDtcbn1cbi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XG59XG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tc3VjY2VzczpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XG59XG4uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlN2UzNDtcbiAgYm9yZGVyLWNvbG9yOiAjMWM3NDMwO1xufVxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XG59XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG4uYnRuLWluZm86aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzODQ5NjtcbiAgYm9yZGVyLWNvbG9yOiAjMTE3YThiO1xufVxuLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7XG59XG4uYnRuLWluZm8uZGlzYWJsZWQsIC5idG4taW5mbzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG4uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjtcbiAgYm9yZGVyLWNvbG9yOiAjMTA3MDdmO1xufVxuLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xufVxuXG4uYnRuLXdhcm5pbmcge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuLmJ0bi13YXJuaW5nOmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGE4MDA7XG4gIGJvcmRlci1jb2xvcjogI2QzOWUwMDtcbn1cbi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XG59XG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDtcbiAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwO1xufVxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XG59XG5cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbn1cbi5idG4tZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzM7XG4gIGJvcmRlci1jb2xvcjogI2JkMjEzMDtcbn1cbi5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpO1xufVxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbn1cbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwO1xuICBib3JkZXItY29sb3I6ICNiMjFmMmQ7XG59XG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcbn1cblxuLmJ0bi1saWdodCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG4uYnRuLWxpZ2h0OmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmU2ZWE7XG4gIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcbn1cbi5idG4tbGlnaHQ6Zm9jdXMsIC5idG4tbGlnaHQuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xufVxuLmJ0bi1saWdodC5kaXNhYmxlZCwgLmJ0bi1saWdodDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG4uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkOWRmO1xufVxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcbn1cblxuLmJ0bi1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDtcbn1cbi5idG4tZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyNzJiO1xuICBib3JkZXItY29sb3I6ICMxZDIxMjQ7XG59XG4uYnRuLWRhcms6Zm9jdXMsIC5idG4tZGFyay5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XG59XG4uYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG4uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjMTcxYTFkO1xufVxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICBjb2xvcjogIzAwN2JmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMjhhNzQ1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBjb2xvcjogIzI4YTc0NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1pbmZvIHtcbiAgY29sb3I6ICMxN2EyYjg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQge1xuICBjb2xvcjogIzE3YTJiODtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcbiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4O1xufVxuLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIGNvbG9yOiAjZmZjMTA3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmYzEwNztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBjb2xvcjogI2RjMzU0NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG4uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgY29sb3I6ICNmOGY5ZmE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuLmJ0bi1vdXRsaW5lLWxpZ2h0OmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLWxpZ2h0LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogI2Y4ZjlmYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcmsge1xuICBjb2xvcjogIzM0M2E0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDtcbn1cbi5idG4tb3V0bGluZS1kYXJrOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDtcbn1cbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQge1xuICBjb2xvcjogIzM0M2E0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xufVxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTtcbn1cblxuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDU2YjM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rLmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWxpbms6ZGlzYWJsZWQsIC5idG4tbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbmlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG59XG4uZmFkZS5zaG93IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb2xsYXBzZS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnRyLmNvbGxhcHNlLnNob3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbnRib2R5LmNvbGxhcHNlLnNob3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cyBlYXNlO1xufVxuXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBtYXJnaW46IDAuMTI1cmVtIDAgMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO1xufVxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZDtcbn1cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtOmZvY3VzIHtcbiAgY29sb3I6ICMxNjE4MWI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbn1cbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIge1xuICB6LWluZGV4OiAxO1xufVxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjphY3RpdmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUge1xuICB6LWluZGV4OiAxO1xufVxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biArIC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC41NjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbn1cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPXJhZGlvXSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1yYWRpb10sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiAxJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpmb2N1cyB7XG4gIHotaW5kZXg6IDM7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLWZpbGUge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bixcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuYnRuLFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0bixcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1yYWRpb10sXG4uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7XG59XG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7XG59XG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG59XG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcbn1cblxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG59XG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMS43NXJlbSAwLjM3NXJlbSAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDEyOCwgMTg5LCAyNTUsIDAuNSk7XG59XG4uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cbi5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6IGNhbGMoMS44MTI1cmVtICsgMnB4KTtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogY2FsYygyLjg3NXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDEyNSU7XG59XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbn1cbi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG59XG4uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xufVxuLmN1c3RvbS1maWxlLWlucHV0OmxhbmcoZW4pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYyhjYWxjKDIuMjVyZW0gKyAycHgpIC0gMXB4ICogMik7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7XG59XG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuLm5hdi1saW5rOmhvdmVyLCAubmF2LWxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7XG59XG4ubmF2LXRhYnMgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTllY2VmICNlOWVjZWYgI2RlZTJlNjtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2ICNkZWUyZTYgI2ZmZjtcbn1cbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubmF2LXBpbGxzIC5uYXYtbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG59XG5cbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuLm5hdmJhciA+IC5jb250YWluZXIsXG4ubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4ubmF2YmFyLXRvZ2dsZXI6aG92ZXIsIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20ge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsXG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsXG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubmF2YmFyLWV4cGFuZC14bCB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgfVxufVxuLm5hdmJhci1leHBhbmQge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4ubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5hdmJhci1leHBhbmQgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5jYXJkID4gaHIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG4uY2FyZCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xufVxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KSBjYWxjKDAuMjVyZW0gLSAxcHgpIDAgMDtcbn1cbi5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uY2FyZC1pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaW1nLXRvcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uY2FyZC1kZWNrIC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY2FyZC1kZWNrIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICB9XG4gIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gICAgZmxleDogMSAwIDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCArIC5jYXJkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3AsXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaW1nLXRvcCxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy10b3AsXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07XG4gIH1cbiAgLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBjb250ZW50OiBcIi9cIjtcbn1cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMDA3YmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLnBhZ2UtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDA1NmIzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcbn1cbi5wYWdlLWxpbms6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG59XG4ucGFnZS1saW5rOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbn1cbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xufVxuLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG59XG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xufVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtO1xufVxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xufVxuXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTtcbn1cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4uYmFkZ2U6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbn1cblxuLmJhZGdlLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cbi5iYWRnZS1wcmltYXJ5W2hyZWZdOmhvdmVyLCAuYmFkZ2UtcHJpbWFyeVtocmVmXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XG59XG5cbi5iYWRnZS1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcbn1cbi5iYWRnZS1zZWNvbmRhcnlbaHJlZl06aG92ZXIsIC5iYWRnZS1zZWNvbmRhcnlbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyO1xufVxuXG4uYmFkZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xufVxuLmJhZGdlLXN1Y2Nlc3NbaHJlZl06aG92ZXIsIC5iYWRnZS1zdWNjZXNzW2hyZWZdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlN2UzNDtcbn1cblxuLmJhZGdlLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcbn1cbi5iYWRnZS1pbmZvW2hyZWZdOmhvdmVyLCAuYmFkZ2UtaW5mb1tocmVmXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTdhOGI7XG59XG5cbi5iYWRnZS13YXJuaW5nIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XG59XG4uYmFkZ2Utd2FybmluZ1tocmVmXTpob3ZlciwgLmJhZGdlLXdhcm5pbmdbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwO1xufVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG59XG4uYmFkZ2UtZGFuZ2VyW2hyZWZdOmhvdmVyLCAuYmFkZ2UtZGFuZ2VyW2hyZWZdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDtcbn1cblxuLmJhZGdlLWxpZ2h0IHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG59XG4uYmFkZ2UtbGlnaHRbaHJlZl06aG92ZXIsIC5iYWRnZS1saWdodFtocmVmXTpmb2N1cyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7XG59XG5cbi5iYWRnZS1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG59XG4uYmFkZ2UtZGFya1tocmVmXTpob3ZlciwgLmJhZGdlLWRhcmtbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0O1xufVxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZzogMnJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmp1bWJvdHJvbiB7XG4gICAgcGFkZGluZzogNHJlbSAycmVtO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmFsZXJ0LWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xufVxuLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmFsZXJ0LXByaW1hcnkge1xuICBjb2xvcjogIzAwNDA4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTVmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmO1xufVxuLmFsZXJ0LXByaW1hcnkgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjOWZjZGZmO1xufVxuLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzAwMjc1Mjtcbn1cblxuLmFsZXJ0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMzgzZDQxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1O1xuICBib3JkZXItY29sb3I6ICNkNmQ4ZGI7XG59XG4uYWxlcnQtc2Vjb25kYXJ5IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2M4Y2JjZjtcbn1cbi5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzIwMjMyNjtcbn1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbiAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjFkZmJiO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzBiMmUxMztcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBjb2xvcjogIzBjNTQ2MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZWNmMTtcbiAgYm9yZGVyLWNvbG9yOiAjYmVlNWViO1xufVxuLmFsZXJ0LWluZm8gaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYWJkZGU1O1xufVxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzA2MmMzMztcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhO1xufVxuLmFsZXJ0LXdhcm5pbmcgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZlOGExO1xufVxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzUzM2YwMztcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIGNvbG9yOiAjNzIxYzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhO1xuICBib3JkZXItY29sb3I6ICNmNWM2Y2I7XG59XG4uYWxlcnQtZGFuZ2VyIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2YxYjBiNztcbn1cbi5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzQ5MTIxNztcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgY29sb3I6ICM4MTgxODI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1jb2xvcjogI2ZkZmRmZTtcbn1cbi5hbGVydC1saWdodCBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlY2VjZjY7XG59XG4uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzY4Njg2ODtcbn1cblxuLmFsZXJ0LWRhcmsge1xuICBjb2xvcjogIzFiMWUyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTtcbiAgYm9yZGVyLWNvbG9yOiAjYzZjOGNhO1xufVxuLmFsZXJ0LWRhcmsgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjliYmJlO1xufVxuLmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzA0MDUwNTtcbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDtcbiAgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG59XG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4ubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZlIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG4ubGlzdC1ncm91cC1pdGVtOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtOmZvY3VzIHtcbiAgei1pbmRleDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwgLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xufVxuXG4ubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICBjb2xvcjogIzAwNDA4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMDA0MDg1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZjZGZmO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQwODU7XG4gIGJvcmRlci1jb2xvcjogIzAwNDA4NTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODNkNDE7XG4gIGJvcmRlci1jb2xvcjogIzM4M2Q0MTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7XG59XG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU1NzI0O1xuICBib3JkZXItY29sb3I6ICMxNTU3MjQ7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiAjMGM1NDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMwYzU0NjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7XG59XG4ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBjNTQ2MDtcbiAgYm9yZGVyLWNvbG9yOiAjMGM1NDYwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWViYTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjODU2NDA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTY0MDQ7XG4gIGJvcmRlci1jb2xvcjogIzg1NjQwNDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBjb2xvcjogIzcyMWMyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzcyMWMyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MjFjMjQ7XG4gIGJvcmRlci1jb2xvcjogIzcyMWMyNDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzgxODE4MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxODE4MjtcbiAgYm9yZGVyLWNvbG9yOiAjODE4MTgyO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsge1xuICBjb2xvcjogIzFiMWUyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzhjYTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMWIxZTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFlMjE7XG4gIGJvcmRlci1jb2xvcjogIzFiMWUyMTtcbn1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICBvcGFjaXR5OiAwLjU7XG59XG4uY2xvc2U6aG92ZXIsIC5jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG4uY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogMDtcbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMC41cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG59XG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjVyZW0gKiAyKTtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xufVxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87XG59XG5cbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmO1xufVxuLm1vZGFsLWZvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuLm1vZGFsLWZvb3RlciA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAxLjc1cmVtIGF1dG87XG4gIH1cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMS43NXJlbSAqIDIpO1xuICB9XG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcbn1cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiAwLjk7XG59XG4udG9vbHRpcCAuYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC44cmVtO1xuICBoZWlnaHQ6IDAuNHJlbTtcbn1cbi50b29sdGlwIC5hcnJvdzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uYnMtdG9vbHRpcC10b3AsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0ge1xuICBwYWRkaW5nOiAwLjRyZW0gMDtcbn1cbi5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93IHtcbiAgYm90dG9tOiAwO1xufVxuLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSB7XG4gIHBhZGRpbmc6IDAgMC40cmVtO1xufVxuLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG59XG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwO1xufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20sIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0ge1xuICBwYWRkaW5nOiAwLjRyZW0gMDtcbn1cbi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93IHtcbiAgdG9wOiAwO1xufVxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cblxuLmJzLXRvb2x0aXAtbGVmdCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0ge1xuICBwYWRkaW5nOiAwIDAuNHJlbTtcbn1cbi5icy10b29sdGlwLWxlZnQgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3cge1xuICByaWdodDogMDtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG59XG4uYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAgMC40cmVtIDAuNHJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7XG59XG5cbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDI3NnB4O1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuLnBvcG92ZXIgLmFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW46IDAgMC4zcmVtO1xufVxuLnBvcG92ZXIgLmFycm93OjpiZWZvcmUsIC5wb3BvdmVyIC5hcnJvdzo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uYnMtcG9wb3Zlci10b3AsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uYnMtcG9wb3Zlci10b3AgLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcbn1cbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSxcbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyLFxuLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG59XG4uYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUge1xuICBib3R0b206IDA7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyIHtcbiAgYm90dG9tOiAxcHg7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93IHtcbiAgbGVmdDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDAuM3JlbSAwO1xufVxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmJlZm9yZSxcbi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsXG4uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbn1cbi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjphZnRlciB7XG4gIGxlZnQ6IDFweDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20sIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdyB7XG4gIHRvcDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSxcbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLFxuLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xufVxuLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjphZnRlciB7XG4gIHRvcDogMXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7XG59XG5cbi5icy1wb3BvdmVyLWxlZnQsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4uYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93IHtcbiAgcmlnaHQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlLFxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVyLFxuLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbn1cbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmFmdGVyIHtcbiAgcmlnaHQ6IDFweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xufVxuLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbn1cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5Ac3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIC5jYXJvdXNlbC1pdGVtLW5leHQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIC5jYXJvdXNlbC1pdGVtLXByZXYsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUlO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3Zlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMHB4O1xuICBjb250ZW50OiBcIlwiO1xufVxuLmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xMHB4O1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNSU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMTUlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWxpZ24tYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50O1xufVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDtcbn1cblxuYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsXG5idXR0b24uYmctcHJpbWFyeTpob3ZlcixcbmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYyAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXNlY29uZGFyeTpob3ZlciwgYS5iZy1zZWNvbmRhcnk6Zm9jdXMsXG5idXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLFxuYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjIgIWltcG9ydGFudDtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLFxuYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsXG5idXR0b24uYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDtcbn1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLFxuYnV0dG9uLmJnLWluZm86aG92ZXIsXG5idXR0b24uYmctaW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTdhOGIgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctd2FybmluZzpob3ZlciwgYS5iZy13YXJuaW5nOmZvY3VzLFxuYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsXG5idXR0b24uYmctd2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDAgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbn1cblxuYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLFxuYnV0dG9uLmJnLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cyxcbmJ1dHRvbi5iZy1saWdodDpob3ZlcixcbmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZGFyazpob3ZlciwgYS5iZy1kYXJrOmZvY3VzLFxuYnV0dG9uLmJnLWRhcms6aG92ZXIsXG5idXR0b24uYmctZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcmlnaHQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sZWZ0IHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMCB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcC0wIHtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXJpZ2h0LTAge1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20tMCB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sZWZ0LTAge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zZWNvbmRhcnkge1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYW5nZXIge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUtcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZS1mbGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5kLXNtLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmQtbWQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZC14bC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLmQtcHJpbnQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLFxuLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsXG4uZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4uZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNDI4NTcxJTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA3NSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuXG4uZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RhcnQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWVuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWNlbnRlciB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYXV0byB7XG4gIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZmxleC1zbS1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxleC1sZy1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsZXgteGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZmxvYXQtc20tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtc20tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsb2F0LW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbG9hdC1sZy1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1sZy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LWxnLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsb2F0LXhsLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXhsLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gIC5zdGlja3ktdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi53LTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnctNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDtcbn1cblxuLmgtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uaC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubXctMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5taC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tLTAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLm10LTAsXG4ubXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm1yLTAsXG4ubXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWItMCxcbi5teS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubWwtMCxcbi5teC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm0tMSB7XG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMSxcbi5teS0xIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItMSxcbi5teC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0xLFxuLm15LTEge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC0xLFxuLm14LTEge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTIsXG4ubXktMiB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItMixcbi5teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTIsXG4ubXktMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtMixcbi5teC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0zIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0zLFxuLm15LTMge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci0zLFxuLm14LTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTMsXG4ubXktMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTMsXG4ubXgtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTQge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNCxcbi5teS00IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci00LFxuLm14LTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNCxcbi5teS00IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC00LFxuLm14LTQge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTUge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTUsXG4ubXktNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTUsXG4ubXgtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNSxcbi5teS01IHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtNSxcbi5teC01IHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnB0LTAsXG4ucHktMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wci0wLFxuLnB4LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0wLFxuLnB5LTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucGwtMCxcbi5weC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wLTEge1xuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0xLFxuLnB5LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItMSxcbi5weC0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMSxcbi5weS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTEsXG4ucHgtMSB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0yIHtcbiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0yLFxuLnB5LTIge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci0yLFxuLnB4LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTIsXG4ucHktMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTIsXG4ucHgtMiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTMge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0zLFxuLnB5LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItMyxcbi5weC0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMyxcbi5weS0zIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTMsXG4ucHgtMyB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC00IHtcbiAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC00LFxuLnB5LTQge1xuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci00LFxuLnB4LTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTQsXG4ucHktNCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTQsXG4ucHgtNCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTUge1xuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC01LFxuLnB5LTUge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItNSxcbi5weC01IHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItNSxcbi5weS01IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTUsXG4ucHgtNSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1hdXRvLFxuLm15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tci1hdXRvLFxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1iLWF1dG8sXG4ubXktYXV0byB7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1sLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubS1zbS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMCxcbiAgLm15LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tMCxcbiAgLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0wLFxuICAubXktc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS0wLFxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMSxcbiAgLm15LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tMSxcbiAgLm14LXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0xLFxuICAubXktc20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS0xLFxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTMsXG4gIC5teS1zbS0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLTMsXG4gIC5teC1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMyxcbiAgLm15LXNtLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tMyxcbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS01LFxuICAubXktc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS01LFxuICAubXgtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTUsXG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXNtLTUsXG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMCxcbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXNtLTAsXG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTAsXG4gIC5weS1zbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS0wLFxuICAucHgtc20tMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS0xLFxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItc20tMSxcbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tMSxcbiAgLnB5LXNtLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXNtLTEsXG4gIC5weC1zbS0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMixcbiAgLnB5LXNtLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItc20tMixcbiAgLnB4LXNtLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0yLFxuICAucHktc20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS0yLFxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTMsXG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1zbS0zLFxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0zLFxuICAucHktc20tMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtc20tMyxcbiAgLnB4LXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS00LFxuICAucHktc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1zbS00LFxuICAucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTQsXG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXNtLTQsXG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tNSxcbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXNtLTUsXG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTUsXG4gIC5weS1zbS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS01LFxuICAucHgtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLWF1dG8sXG4gIC5teS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLWF1dG8sXG4gIC5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tYXV0byxcbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tYXV0byxcbiAgLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubS1tZC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMCxcbiAgLm15LW1kLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtMCxcbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0wLFxuICAubXktbWQtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC0wLFxuICAubXgtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMSxcbiAgLm15LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtMSxcbiAgLm14LW1kLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0xLFxuICAubXktbWQtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC0xLFxuICAubXgtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0yLFxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLTIsXG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0yLFxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLTIsXG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTMsXG4gIC5teS1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLTMsXG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMyxcbiAgLm15LW1kLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbWQtMyxcbiAgLm14LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtNCxcbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC00LFxuICAubXgtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtNCxcbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC00LFxuICAubXgtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC01LFxuICAubXktbWQtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC01LFxuICAubXgtbWQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTUsXG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLTUsXG4gIC5teC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtMCxcbiAgLnB5LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLW1kLTAsXG4gIC5weC1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTAsXG4gIC5weS1tZC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1tZC0wLFxuICAucHgtbWQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0xLFxuICAucHktbWQtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbWQtMSxcbiAgLnB4LW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMSxcbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLW1kLTEsXG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtMixcbiAgLnB5LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbWQtMixcbiAgLnB4LW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC0yLFxuICAucHktbWQtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1tZC0yLFxuICAucHgtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTMsXG4gIC5weS1tZC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1tZC0zLFxuICAucHgtbWQtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC0zLFxuICAucHktbWQtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbWQtMyxcbiAgLnB4LW1kLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC00LFxuICAucHktbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1tZC00LFxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTQsXG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLW1kLTQsXG4gIC5weC1tZC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtNSxcbiAgLnB5LW1kLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLW1kLTUsXG4gIC5weC1tZC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTUsXG4gIC5weS1tZC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1tZC01LFxuICAucHgtbWQtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLWF1dG8sXG4gIC5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLWF1dG8sXG4gIC5teC1tZC1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtYXV0byxcbiAgLm15LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbWQtYXV0byxcbiAgLm14LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubS1sZy0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMCxcbiAgLm15LWxnLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctMCxcbiAgLm14LWxnLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0wLFxuICAubXktbGctMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy0wLFxuICAubXgtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMSxcbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctMSxcbiAgLm14LWxnLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0xLFxuICAubXktbGctMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy0xLFxuICAubXgtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0yLFxuICAubXktbGctMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLTIsXG4gIC5teC1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0yLFxuICAubXktbGctMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLTIsXG4gIC5teC1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTMsXG4gIC5teS1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLTMsXG4gIC5teC1sZy0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMyxcbiAgLm15LWxnLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctMyxcbiAgLm14LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctNCxcbiAgLm15LWxnLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy00LFxuICAubXgtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctNCxcbiAgLm15LWxnLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy00LFxuICAubXgtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy01LFxuICAubXktbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy01LFxuICAubXgtbGctNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTUsXG4gIC5teS1sZy01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLTUsXG4gIC5teC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMCxcbiAgLnB5LWxnLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLWxnLTAsXG4gIC5weC1sZy0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTAsXG4gIC5weS1sZy0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1sZy0wLFxuICAucHgtbGctMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0xLFxuICAucHktbGctMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbGctMSxcbiAgLnB4LWxnLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctMSxcbiAgLnB5LWxnLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLWxnLTEsXG4gIC5weC1sZy0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMixcbiAgLnB5LWxnLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbGctMixcbiAgLnB4LWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0yLFxuICAucHktbGctMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1sZy0yLFxuICAucHgtbGctMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTMsXG4gIC5weS1sZy0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1sZy0zLFxuICAucHgtbGctMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0zLFxuICAucHktbGctMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbGctMyxcbiAgLnB4LWxnLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy00LFxuICAucHktbGctNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1sZy00LFxuICAucHgtbGctNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTQsXG4gIC5weS1sZy00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLWxnLTQsXG4gIC5weC1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctNSxcbiAgLnB5LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLWxnLTUsXG4gIC5weC1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTUsXG4gIC5weS1sZy01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1sZy01LFxuICAucHgtbGctNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLWF1dG8sXG4gIC5teS1sZy1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLWF1dG8sXG4gIC5teC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctYXV0byxcbiAgLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctYXV0byxcbiAgLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm0teGwtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTAsXG4gIC5teS14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLTAsXG4gIC5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMCxcbiAgLm15LXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtMCxcbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTEsXG4gIC5teS14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLTEsXG4gIC5teC14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMSxcbiAgLm15LXhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtMSxcbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0zLFxuICAubXkteGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC0zLFxuICAubXgteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTMsXG4gIC5teS14bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLTMsXG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtNSxcbiAgLm15LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtNSxcbiAgLm14LXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC01LFxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC14bC01LFxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTAsXG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wci14bC0wLFxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC0wLFxuICAucHkteGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtMCxcbiAgLnB4LXhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtMSxcbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXhsLTEsXG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTEsXG4gIC5weS14bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC14bC0xLFxuICAucHgteGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTIsXG4gIC5weS14bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXhsLTIsXG4gIC5weC14bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMixcbiAgLnB5LXhsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtMixcbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC0zLFxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHIteGwtMyxcbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMyxcbiAgLnB5LXhsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXhsLTMsXG4gIC5weC14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtNCxcbiAgLnB5LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHIteGwtNCxcbiAgLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC00LFxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC14bC00LFxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTUsXG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci14bC01LFxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC01LFxuICAucHkteGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtNSxcbiAgLnB4LXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC1hdXRvLFxuICAubXkteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC1hdXRvLFxuICAubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLWF1dG8sXG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLWF1dG8sXG4gIC5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudGV4dC1zbS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZXh0LW1kLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1tZC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1tZC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1wcmltYXJ5OmhvdmVyLCBhLnRleHQtcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA2MmNjICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1zZWNvbmRhcnk6aG92ZXIsIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzU0NWI2MiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1pbmZvOmhvdmVyLCBhLnRleHQtaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiAjMTE3YThiICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtd2FybmluZzpob3ZlciwgYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2QzOWUwMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNiZDIxMzAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtbGlnaHQ6aG92ZXIsIGEudGV4dC1saWdodDpmb2N1cyB7XG4gIGNvbG9yOiAjZGFlMGU1ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmsge1xuICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFyazpob3ZlciwgYS50ZXh0LWRhcms6Zm9jdXMge1xuICBjb2xvcjogIzFkMjEyNCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYTpub3QoLmJ0bikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIHNpemU6IGEzO1xuICB9XG4gIGJvZHkge1xuICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudDtcbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYmFkZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIH1cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRhYmxlIHRkLFxuICAudGFibGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICB9XG59XG51aS1zd2l0Y2gge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBhc3Npbmcge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzI4YTc0NTtcbn1cblxuZGl2LmZvcm0tY2hlY2staW5saW5lIHtcbiAgbWluLXdpZHRoOiA1MHB4O1xufVxuXG4uY2FyZC5ib3JkZXJsZXNzIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbnVsLm5vdGVzIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uY2FyZC1jb2x1bW5zLnNpbmdsZS1jb2x1bW4ge1xuICBjb2x1bW4tY291bnQ6IDE7XG59XG5cbnNwYW4uZGFuZ2VyIHtcbiAgY29sb3I6IHJnYmEoMjIwLCA1MywgNjksIDAuNik7XG59XG5cbmRpdi5ydWxlLWtleS13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zcGFuLnJ1bGUta2V5IHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5ydWxlLWtleS13cmFwIGksIC5jbGlja2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59IiwiLyohXG4gKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gU2V0dGluZyBAdmlld3BvcnQgY2F1c2VzIHNjcm9sbGJhcnMgdG8gb3ZlcmxhcCBjb250ZW50IGluIElFMTEgYW5kIEVkZ2UsIHNvXG4vLyAgICB3ZSBmb3JjZSBhIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhciB0byBjb3VudGVyYWN0LlxuLy8gNi4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjsgLy8gNVxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIDZcbn1cblxuLy8gSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzLlxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2VycylcbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2UgdGhlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC13ZWlnaHQtbm90YXRpb25cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZvbnQtd2VpZ2h0LW5vdGF0aW9uXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC1mYW1pbHktbm8tZHVwbGljYXRlLW5hbWVzXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgZm9udC1zaXplOiAxZW07IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgZm9udC1mYW1pbHktbm8tZHVwbGljYXRlLW5hbWVzXG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIFdlIGhhdmUgQHZpZXdwb3J0IHNldCB3aGljaCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbiAgLy8gd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBmcm9tIHRoZSBgPGJvZHk+YCwgb3IgdGhlXG4gIC8vIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZSgoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbiksICRncmF5cyk7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pLCAkY29sb3JzKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSwgJHRoZW1lLWNvbG9ycyk7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZSgoXG4gIDA6IDAsXG4gIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgMjogKCRzcGFjZXIgKiAuNSksXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgNTogKCRzcGFjZXIgKiAzKVxuKSwgJHNwYWNlcnMpO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbiksICRzaXplcyk7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cyk7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSksIDAgMCA1cHggcmdiYSgkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgNzUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgMTI1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdhbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1PigJRhbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzdWVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkxLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6ICRkaXNwbGF5My1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXk0LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBmb250LXNpemU6ICRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGtiZC1mb250LXNpemU7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG59XG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGggMTAwJSB3aWR0aCBmb3Jcbi8vIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cbn1cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTAwNTdcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1zbSB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZyB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwiaW52YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yKTtcblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkZm9udC1zaXplLWJhc2UsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAvLyBTaGFyZSBob3ZlciBhbmQgZm9jdXMgc3R5bGVzXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAuYnRuIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnRyIHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbn1cblxudGJvZHkge1xuICAmLmNvbGxhcHNlLnNob3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBSZWRlY2xhcmUgYmVjYXVzZSBuZXN0aW5nIGNhbiBjYXVzZSBpbmhlcml0YW5jZSBpc3N1ZXNcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICgkc3BhY2VyIC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLXNtO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICgxcmVtICogJGxpbmUtaGVpZ2h0LWJhc2UpO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzdWVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMik7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCgkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWluZGljYXRvciBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZztcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBjYWxjKCN7JGN1c3RvbS1maWxlLWhlaWdodH0gLSAjeyRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGh9ICogMik7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVyaXRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJG5hdmJhci1icmFuZC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW5hdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItdG9nZ2xlci1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3B1cCB7XG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDYXJkIGltYWdlIGNhcHNcbi5jYXJkLWltZy10b3Age1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzQtZmxleC1zaG9ydGhhbmQtZGVjbGFyYXRpb25zLXdpdGgtdW5pdGxlc3MtZmxleC1iYXNpcy12YWx1ZXMtYXJlLWlnbm9yZWRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjNC1mbGV4LXNob3J0aGFuZC1kZWNsYXJhdGlvbnMtd2l0aC11bml0bGVzcy1mbGV4LWJhc2lzLXZhbHVlcy1hcmUtaWdub3JlZFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6b25seS1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIsXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1kaXZpZGVyfVwiO1xuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAucGFnZS1saW5rIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDIpO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCJAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBmb250LXNpemU6ICRwcm9ncmVzcy1mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9hY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICRjbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogLjc1O1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5jbG9zZSBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGVcbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcblxuICAubW9kYWwtb3BlbiAmIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufSAqIDIpKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHNob3VsZCB0aGVyZSBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9ICogMikpO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxuXG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnIHsgbWF4LXdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkcG9wb3Zlci1mb250LXNpemU7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRib3JkZXItcmFkaXVzLWxnO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gLTIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gICRvZmZzZXQtYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGJvcmRlci1yYWRpdXMtbGd9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG9mZnNldC1ib3JkZXItd2lkdGgpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG4vLyBDU1MzIHRyYW5zZm9ybXMgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXJcbi5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXYsXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSBhIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAuMjUpLCByZ2JhKDAsIDAsIDAsIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMCwgMCwgMCwgLjI1KSwgcmdiYSgwLCAwLCAwLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmcsIC41KTtcblxuICAgIC8vIFVzZSBwc2V1ZG8gY2xhc3NlcyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1mbGV4ICAgICAgICAgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMjEpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMTYpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDMgLyA0KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgxIC8gMSk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgQGluY2x1ZGUgZmxvYXQtbm9uZTsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuXG4vLyBTYXNzIGxpc3Qgbm90IGluIHZhcmlhYmxlcyBzaW5jZSBpdCdzIG5vdCBpbnRlbmRlZCBmb3IgY3VzdG9taXphdGlvbi5cbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5O1xuXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4iLCIvL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKHZpc2libGUpO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKGhpZGRlbik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cDovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjOTk5OyAgIC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIkBpbXBvcnQgJ35ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2Nzcyc7XG5cbnVpLXN3aXRjaCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGFzc2luZyB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc3VjY2Vzcztcbn1cblxuZGl2LmZvcm0tY2hlY2staW5saW5lIHtcbiAgbWluLXdpZHRoOiA1MHB4O1xufVxuXG4uY2FyZC5ib3JkZXJsZXNzIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbnVsLm5vdGVzIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uY2FyZC1jb2x1bW5zLnNpbmdsZS1jb2x1bW4ge1xuICBjb2x1bW4tY291bnQ6IDE7XG59XG5cbnNwYW4uZGFuZ2VyIHtcbiAgY29sb3I6IHJnYmEoJGRhbmdlciwgMC42KTtcbn1cblxuZGl2LnJ1bGUta2V5LXdyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnNwYW4ucnVsZS1rZXkge1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLnJ1bGUta2V5LXdyYXAgaSwgLmNsaWNrYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiJdfQ== */\"];\nexport { styles as styles };\n","\nimport {zip as observableZip, Observable } from 'rxjs';\nimport { Component, OnInit, TemplateRef } from '@angular/core';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { RuleSetApiService } from '../../../core/apis/moderation-api/ruleset-api.service';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { RuleSetType } from '../../../shared/models/rule-set-type.enum';\nimport { NgForm } from '@angular/forms';\nimport { ProgramModel } from '../../../shared/models/webapi/response/ProgramModel';\nimport { RuleKind } from '../../../shared/models/rule-kind.enum';\nimport { Constants } from '../../../constants';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { CreateEditRuleSetModel } from '../../../shared/models/webapi/request/CreateEditRuleSetModel';\nimport { CreateEditRuleModel } from '../../../shared/models/webapi/request/create-edit-rule.model';\nimport { toDate } from '../../../../i18n/date_util';\nimport { StoreModel } from '../../../shared/models/webapi/response/StoreModel';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\nimport { ProductModel } from '../../../shared/models/webapi/response/product.model';\nimport { ProductApiService } from '../../../core/apis/moderation-api/product-api.service';\nimport { TzPipe } from '../../../shared/pipes/tz.pipe';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\n\n\n@Component({\n selector: 'app-ruleset-wizard',\n templateUrl: './ruleset-wizard.component.html',\n styleUrls: ['./ruleset-wizard.component.scss']\n})\nexport class RulesetWizardComponent implements OnInit {\n title: string;\n submitCtaText = 'Create';\n isUpdate = false;\n allPrograms: Array;\n\n itemsPerPage = 9;\n\n isSubmitting: boolean;\n isIdentifierAutoFillable = true;\n isLoading: boolean;\n alert: Alert;\n payload: CreateEditRuleSetModel;\n ruleSetTypes: typeof RuleSetType;\n ruleKinds: typeof RuleKind;\n\n masterListOfStores: Array;\n masterListOfProducts: Array;\n\n protected productRuleKindSelectorModalRef: BsModalRef;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private ruleSetApi: RuleSetApiService,\n private bsModalService: BsModalService,\n private storeApi: StoreApiService,\n private productApi: ProductApiService,\n private tzPipe: TzPipe,\n private programApi: ProgramApiService\n ) {\n if (route.snapshot.data.isEdit) {\n this.title = 'Edit';\n this.submitCtaText = 'Update';\n this.isUpdate = true;\n } else {\n this.payload = new CreateEditRuleSetModel();\n this.payload.ruleSetType = RuleSetType.Receipt;\n this.title = 'Create';\n this.isUpdate = false;\n }\n\n this.ruleSetTypes = RuleSetType;\n this.ruleKinds = RuleKind;\n }\n\n ngOnInit() {\n this.isLoading = true;\n\n const lookups = observableZip(this.programApi.getPrograms(), this.storeApi.getStores(), this.productApi.getProducts());\n\n lookups.subscribe(datum => {\n const programs = datum[0];\n const stores = datum[1];\n const products = datum[2];\n\n this.allPrograms = programs.programs;\n if (this.allPrograms.length === 0) {\n this.alert = Alert.danger('No programs available for this account', 30000);\n } else if (this.allPrograms.length === 1 && this.payload != null) {\n this.payload.programKey = this.allPrograms[0].programKey;\n }\n\n this.masterListOfStores = stores.stores;\n this.masterListOfProducts = products.products;\n\n if (this.route.snapshot.data.isEdit) {\n this.loadRuleSet(this.route.snapshot.paramMap.get('programKey'), this.route.snapshot.paramMap.get('ruleSetKey'));\n } else {\n this.isLoading = false;\n }\n });\n }\n\n private loadRuleSet(programKey: string, ruleSetKey: string): void {\n this.ruleSetApi.getRuleSetByKey(programKey, ruleSetKey).subscribe(ruleset => {\n this.payload = ruleset;\n\n this.payload.rules.forEach(rule => {\n switch (rule.kind) {\n case RuleKind.ReceiptPurchaseDate:\n /* Since the purchase date is not timezone aware (it is a DateTime representing the date/time that is printed on the receipt),\n we want to treat it as UTC.\n Therefore, force the incoming value to be UTC by adding a Z at the end\n */\n if (rule.receiptPurchasedOnStart && !rule.receiptPurchasedOnStart.toString().endsWith('Z')) {\n rule.receiptPurchasedOnStart = rule.receiptPurchasedOnStart + 'Z';\n }\n if (rule.receiptPurchasedOnEnd && !rule.receiptPurchasedOnEnd.toString().endsWith('Z')) {\n rule.receiptPurchasedOnEnd = rule.receiptPurchasedOnEnd + 'Z';\n }\n\n rule.receiptPurchasedOnStart = this.toUtcMoment(rule.receiptPurchasedOnStart);\n rule.receiptPurchasedOnEnd = this.toUtcMoment(rule.receiptPurchasedOnEnd);\n break;\n case RuleKind.ReceiptStore:\n rule.allStores = cloneJson(this.masterListOfStores);\n rule.stores.forEach(store => (rule.allStores.find(all => all.storeKey === store.storeKey).selected = true));\n rule.filteredStores = [];\n rule.storeFilter = '';\n this.filterStores(rule);\n break;\n case RuleKind.ReceiptItemProductQuantity:\n case RuleKind.ReceiptItemProductQuantityAndTotal:\n case RuleKind.ReceiptItemProductTotal:\n case RuleKind.ReceiptItemProductMinimumQuantity:\n case RuleKind.ReceiptItemProductMinimumQuantityAndTotal:\n case RuleKind.ReceiptItemProductMinimumTotal:\n rule.allProducts = cloneJson(this.masterListOfProducts);\n rule.products.forEach(product => (rule.allProducts.find(all => all.productKey === product.productKey).selected = true));\n rule.filteredProducts = [];\n rule.productFilter = '';\n this.filterProducts(rule);\n break;\n }\n });\n\n this.isLoading = false;\n });\n }\n\n private toUtcMoment(value: string | number | Date) {\n const parsedDate = toDate(value);\n return this.tzPipe.transform(parsedDate, 'UTC');\n }\n\n cancelForm() {\n this.router.navigate(['/rulesets']);\n }\n\n submitForm(form: NgForm) {\n if (form.valid) {\n this.isSubmitting = true;\n this.alert = null;\n let resultKeyObservable: Observable = null;\n if (this.isUpdate) {\n resultKeyObservable = this.ruleSetApi.updateRuleSet(this.payload);\n } else {\n resultKeyObservable = this.ruleSetApi.createRuleSet(this.payload);\n }\n resultKeyObservable.subscribe(\n keyResult => {\n this.isSubmitting = false;\n this.router.navigate(['/rulesets']);\n },\n errorResponse => {\n this.isSubmitting = false;\n let message = 'Error creating rule set.';\n\n if (errorResponse.error && errorResponse.error.errors && errorResponse.error.errors.length > 0) {\n const e = errorResponse.error.errors[0];\n switch (e.errorCode) {\n case Constants.ErrorCodes.DuplicateRuleSetNameOrKey:\n message = 'A rule set with that name or key already exists.';\n break;\n case Constants.ErrorCodes.InvalidRuleSetDefinition:\n message = e.message;\n break;\n default:\n message = e.message;\n break;\n }\n }\n\n this.alert = Alert.danger(message, 30000);\n window.scrollTo(0, 0);\n }\n );\n }\n }\n\n autoKey(maxLength: number) {\n if (this.isIdentifierAutoFillable) {\n if (!this.payload.name) {\n this.payload.ruleSetKey = '';\n }\n\n this.payload.ruleSetKey = this.sanitizeString(this.payload.name).substr(0, maxLength);\n }\n }\n\n setAutoFillable(value: boolean) {\n this.isIdentifierAutoFillable = value;\n }\n\n sanitizeString(input: string): string {\n if (!input) {\n return input;\n }\n return input.replace(/[^0-9a-zA-Z]/g, '-').toLocaleLowerCase();\n }\n\n sanitizeName() {\n this.payload.name = this.sanitizeString(this.payload.name);\n }\n\n sanitizeKey() {\n this.payload.ruleSetKey = this.sanitizeString(this.payload.ruleSetKey);\n }\n\n programChange() {\n this.sanitizeKey();\n this.sanitizeName();\n }\n\n //#region __ Add Rule Types __\n private addRule(kind: RuleKind): CreateEditRuleModel {\n const rule = new CreateEditRuleModel();\n rule.kind = kind;\n this.payload.rules.push(rule);\n return rule;\n }\n\n addRuleBoolean(): CreateEditRuleModel {\n return this.addRule(RuleKind.Boolean);\n }\n\n addRuleReceiptPurchaseDate(): CreateEditRuleModel {\n return this.addRule(RuleKind.ReceiptPurchaseDate);\n }\n\n addRuleReceiptStore(): CreateEditRuleModel {\n const rule = this.addRule(RuleKind.ReceiptStore);\n\n rule.allStores = cloneJson(this.masterListOfStores);\n rule.allStores.forEach(s => (s.selected = false));\n this.filterStores(rule);\n\n return rule;\n }\n\n openAddRuleProductBased(template: TemplateRef): void {\n this.productRuleKindSelectorModalRef = this.bsModalService.show(template);\n }\n\n addRuleProductBased(kind: RuleKind): CreateEditRuleModel {\n const rule = this.addRule(kind);\n\n rule.allProducts = cloneJson(this.masterListOfProducts);\n rule.allProducts.forEach(p => (p.selected = false));\n this.filterProducts(rule);\n\n this.productRuleKindSelectorModalRef.hide();\n return rule;\n }\n //#endregion\n\n removeRule(index: number): void {\n this.payload.rules.splice(index, 1);\n }\n\n //#region Stores\n clearStoreFilter(rule: CreateEditRuleModel): void {\n rule.storeFilter = '';\n this.filterStores(rule);\n }\n\n filterStores(rule: CreateEditRuleModel): void {\n rule.filteredStores.splice(0, rule.filteredStores.length);\n const self = this;\n\n const nameContains: (store: StoreModel) => boolean = function(s: StoreModel): boolean {\n return self.containsAllWords(s.name, rule.storeFilter);\n };\n\n const isSelectedIfApplicable: (store: StoreModel) => boolean = function(s: StoreModel): boolean {\n return rule.showSelectedStoresOnly ? s.selected : true;\n };\n\n rule.allStores\n .filter(s => nameContains(s) && isSelectedIfApplicable(s))\n .forEach(s => {\n rule.filteredStores.push(s);\n });\n }\n\n selectVisibleStores(rule: CreateEditRuleModel, selected: boolean): void {\n rule.filteredStores.slice((rule.storePageNumber - 1) * this.itemsPerPage, rule.storePageNumber * this.itemsPerPage).forEach(s => (s.selected = selected));\n this.updateStoresInPayload(rule);\n }\n\n selectAllStores(rule: CreateEditRuleModel, selected: boolean): void {\n rule.allStores.forEach(s => (s.selected = selected));\n this.updateStoresInPayload(rule);\n }\n\n toggleStore(rule: CreateEditRuleModel, store: StoreModel): void {\n store.selected = !store.selected;\n this.updateStoresInPayload(rule);\n }\n\n updateStoresInPayload(rule: CreateEditRuleModel): void {\n rule.stores.splice(0, rule.stores.length);\n\n rule.allStores.filter(s => s.selected).forEach(s => rule.stores.push(s));\n }\n\n storePageChange(rule: CreateEditRuleModel, $event: any): void {\n rule.storePageNumber = $event;\n }\n //#endregion\n\n //#region Products\n clearProductFilter(rule: CreateEditRuleModel): void {\n rule.productFilter = '';\n this.filterProducts(rule);\n }\n\n filterProducts(rule: CreateEditRuleModel): void {\n rule.filteredProducts.splice(0, rule.filteredProducts.length);\n const self = this;\n\n const nameContains: (product: ProductModel) => boolean = function(p: ProductModel): boolean {\n return self.containsAllWords(p.name, rule.productFilter);\n };\n\n const isSelectedIfApplicable: (product: ProductModel) => boolean = function(s: ProductModel): boolean {\n return rule.showSelectedProductsOnly ? s.selected : true;\n };\n\n rule.allProducts\n .filter(s => nameContains(s) && isSelectedIfApplicable(s))\n .forEach(s => {\n rule.filteredProducts.push(s);\n });\n }\n\n selectVisibleProducts(rule: CreateEditRuleModel, selected: boolean): void {\n rule.filteredProducts.slice((rule.productPageNumber - 1) * this.itemsPerPage, rule.productPageNumber * this.itemsPerPage).forEach(s => (s.selected = selected));\n this.updateProductsInPayload(rule);\n }\n selectAllProducts(rule: CreateEditRuleModel, selected: boolean): void {\n rule.allProducts.forEach(s => (s.selected = selected));\n this.updateProductsInPayload(rule);\n }\n\n toggleProduct(rule: CreateEditRuleModel, product: ProductModel): void {\n product.selected = !product.selected;\n this.updateProductsInPayload(rule);\n }\n\n updateProductsInPayload(rule: CreateEditRuleModel): void {\n rule.products.splice(0, rule.products.length);\n\n rule.allProducts.filter(s => s.selected).forEach(s => rule.products.push(s));\n }\n\n productPageChange(rule: CreateEditRuleModel, $event: any): void {\n rule.productPageNumber = $event;\n }\n //#endregion\n\n private containsAllWords(text: string, wordsAsString: string): boolean {\n const words: Array = wordsAsString.split(' ');\n\n for (let i = 0; i < words.length; i++) {\n const matchesWord = text.toLowerCase().indexOf(words[i].toLowerCase()) > -1;\n if (!matchesWord) {\n return false;\n }\n }\n\n return true;\n }\n}\n","import { zip as observableZip } from 'rxjs';\nimport { OnInit, TemplateRef } from '@angular/core';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { RuleSetApiService } from '../../../core/apis/moderation-api/ruleset-api.service';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { RuleSetType } from '../../../shared/models/rule-set-type.enum';\nimport { RuleKind } from '../../../shared/models/rule-kind.enum';\nimport { Constants } from '../../../constants';\nimport { CreateEditRuleSetModel } from '../../../shared/models/webapi/request/CreateEditRuleSetModel';\nimport { CreateEditRuleModel } from '../../../shared/models/webapi/request/create-edit-rule.model';\nimport { toDate } from '../../../../i18n/date_util';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ProductApiService } from '../../../core/apis/moderation-api/product-api.service';\nimport { TzPipe } from '../../../shared/pipes/tz.pipe';\nimport { cloneJson } from '../../../shared/utils/cloneJson';\nvar RulesetWizardComponent = /** @class */ (function () {\n function RulesetWizardComponent(router, route, ruleSetApi, bsModalService, storeApi, productApi, tzPipe, programApi) {\n this.router = router;\n this.route = route;\n this.ruleSetApi = ruleSetApi;\n this.bsModalService = bsModalService;\n this.storeApi = storeApi;\n this.productApi = productApi;\n this.tzPipe = tzPipe;\n this.programApi = programApi;\n this.submitCtaText = 'Create';\n this.isUpdate = false;\n this.itemsPerPage = 9;\n this.isIdentifierAutoFillable = true;\n if (route.snapshot.data.isEdit) {\n this.title = 'Edit';\n this.submitCtaText = 'Update';\n this.isUpdate = true;\n }\n else {\n this.payload = new CreateEditRuleSetModel();\n this.payload.ruleSetType = RuleSetType.Receipt;\n this.title = 'Create';\n this.isUpdate = false;\n }\n this.ruleSetTypes = RuleSetType;\n this.ruleKinds = RuleKind;\n }\n RulesetWizardComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.isLoading = true;\n var lookups = observableZip(this.programApi.getPrograms(), this.storeApi.getStores(), this.productApi.getProducts());\n lookups.subscribe(function (datum) {\n var programs = datum[0];\n var stores = datum[1];\n var products = datum[2];\n _this.allPrograms = programs.programs;\n if (_this.allPrograms.length === 0) {\n _this.alert = Alert.danger('No programs available for this account', 30000);\n }\n else if (_this.allPrograms.length === 1 && _this.payload != null) {\n _this.payload.programKey = _this.allPrograms[0].programKey;\n }\n _this.masterListOfStores = stores.stores;\n _this.masterListOfProducts = products.products;\n if (_this.route.snapshot.data.isEdit) {\n _this.loadRuleSet(_this.route.snapshot.paramMap.get('programKey'), _this.route.snapshot.paramMap.get('ruleSetKey'));\n }\n else {\n _this.isLoading = false;\n }\n });\n };\n RulesetWizardComponent.prototype.loadRuleSet = function (programKey, ruleSetKey) {\n var _this = this;\n this.ruleSetApi.getRuleSetByKey(programKey, ruleSetKey).subscribe(function (ruleset) {\n _this.payload = ruleset;\n _this.payload.rules.forEach(function (rule) {\n switch (rule.kind) {\n case RuleKind.ReceiptPurchaseDate:\n /* Since the purchase date is not timezone aware (it is a DateTime representing the date/time that is printed on the receipt),\n we want to treat it as UTC.\n Therefore, force the incoming value to be UTC by adding a Z at the end\n */\n if (rule.receiptPurchasedOnStart && !rule.receiptPurchasedOnStart.toString().endsWith('Z')) {\n rule.receiptPurchasedOnStart = rule.receiptPurchasedOnStart + 'Z';\n }\n if (rule.receiptPurchasedOnEnd && !rule.receiptPurchasedOnEnd.toString().endsWith('Z')) {\n rule.receiptPurchasedOnEnd = rule.receiptPurchasedOnEnd + 'Z';\n }\n rule.receiptPurchasedOnStart = _this.toUtcMoment(rule.receiptPurchasedOnStart);\n rule.receiptPurchasedOnEnd = _this.toUtcMoment(rule.receiptPurchasedOnEnd);\n break;\n case RuleKind.ReceiptStore:\n rule.allStores = cloneJson(_this.masterListOfStores);\n rule.stores.forEach(function (store) { return (rule.allStores.find(function (all) { return all.storeKey === store.storeKey; }).selected = true); });\n rule.filteredStores = [];\n rule.storeFilter = '';\n _this.filterStores(rule);\n break;\n case RuleKind.ReceiptItemProductQuantity:\n case RuleKind.ReceiptItemProductQuantityAndTotal:\n case RuleKind.ReceiptItemProductTotal:\n case RuleKind.ReceiptItemProductMinimumQuantity:\n case RuleKind.ReceiptItemProductMinimumQuantityAndTotal:\n case RuleKind.ReceiptItemProductMinimumTotal:\n rule.allProducts = cloneJson(_this.masterListOfProducts);\n rule.products.forEach(function (product) { return (rule.allProducts.find(function (all) { return all.productKey === product.productKey; }).selected = true); });\n rule.filteredProducts = [];\n rule.productFilter = '';\n _this.filterProducts(rule);\n break;\n }\n });\n _this.isLoading = false;\n });\n };\n RulesetWizardComponent.prototype.toUtcMoment = function (value) {\n var parsedDate = toDate(value);\n return this.tzPipe.transform(parsedDate, 'UTC');\n };\n RulesetWizardComponent.prototype.cancelForm = function () {\n this.router.navigate(['/rulesets']);\n };\n RulesetWizardComponent.prototype.submitForm = function (form) {\n var _this = this;\n if (form.valid) {\n this.isSubmitting = true;\n this.alert = null;\n var resultKeyObservable = null;\n if (this.isUpdate) {\n resultKeyObservable = this.ruleSetApi.updateRuleSet(this.payload);\n }\n else {\n resultKeyObservable = this.ruleSetApi.createRuleSet(this.payload);\n }\n resultKeyObservable.subscribe(function (keyResult) {\n _this.isSubmitting = false;\n _this.router.navigate(['/rulesets']);\n }, function (errorResponse) {\n _this.isSubmitting = false;\n var message = 'Error creating rule set.';\n if (errorResponse.error && errorResponse.error.errors && errorResponse.error.errors.length > 0) {\n var e = errorResponse.error.errors[0];\n switch (e.errorCode) {\n case Constants.ErrorCodes.DuplicateRuleSetNameOrKey:\n message = 'A rule set with that name or key already exists.';\n break;\n case Constants.ErrorCodes.InvalidRuleSetDefinition:\n message = e.message;\n break;\n default:\n message = e.message;\n break;\n }\n }\n _this.alert = Alert.danger(message, 30000);\n window.scrollTo(0, 0);\n });\n }\n };\n RulesetWizardComponent.prototype.autoKey = function (maxLength) {\n if (this.isIdentifierAutoFillable) {\n if (!this.payload.name) {\n this.payload.ruleSetKey = '';\n }\n this.payload.ruleSetKey = this.sanitizeString(this.payload.name).substr(0, maxLength);\n }\n };\n RulesetWizardComponent.prototype.setAutoFillable = function (value) {\n this.isIdentifierAutoFillable = value;\n };\n RulesetWizardComponent.prototype.sanitizeString = function (input) {\n if (!input) {\n return input;\n }\n return input.replace(/[^0-9a-zA-Z]/g, '-').toLocaleLowerCase();\n };\n RulesetWizardComponent.prototype.sanitizeName = function () {\n this.payload.name = this.sanitizeString(this.payload.name);\n };\n RulesetWizardComponent.prototype.sanitizeKey = function () {\n this.payload.ruleSetKey = this.sanitizeString(this.payload.ruleSetKey);\n };\n RulesetWizardComponent.prototype.programChange = function () {\n this.sanitizeKey();\n this.sanitizeName();\n };\n //#region __ Add Rule Types __\n RulesetWizardComponent.prototype.addRule = function (kind) {\n var rule = new CreateEditRuleModel();\n rule.kind = kind;\n this.payload.rules.push(rule);\n return rule;\n };\n RulesetWizardComponent.prototype.addRuleBoolean = function () {\n return this.addRule(RuleKind.Boolean);\n };\n RulesetWizardComponent.prototype.addRuleReceiptPurchaseDate = function () {\n return this.addRule(RuleKind.ReceiptPurchaseDate);\n };\n RulesetWizardComponent.prototype.addRuleReceiptStore = function () {\n var rule = this.addRule(RuleKind.ReceiptStore);\n rule.allStores = cloneJson(this.masterListOfStores);\n rule.allStores.forEach(function (s) { return (s.selected = false); });\n this.filterStores(rule);\n return rule;\n };\n RulesetWizardComponent.prototype.openAddRuleProductBased = function (template) {\n this.productRuleKindSelectorModalRef = this.bsModalService.show(template);\n };\n RulesetWizardComponent.prototype.addRuleProductBased = function (kind) {\n var rule = this.addRule(kind);\n rule.allProducts = cloneJson(this.masterListOfProducts);\n rule.allProducts.forEach(function (p) { return (p.selected = false); });\n this.filterProducts(rule);\n this.productRuleKindSelectorModalRef.hide();\n return rule;\n };\n //#endregion\n RulesetWizardComponent.prototype.removeRule = function (index) {\n this.payload.rules.splice(index, 1);\n };\n //#region Stores\n RulesetWizardComponent.prototype.clearStoreFilter = function (rule) {\n rule.storeFilter = '';\n this.filterStores(rule);\n };\n RulesetWizardComponent.prototype.filterStores = function (rule) {\n rule.filteredStores.splice(0, rule.filteredStores.length);\n var self = this;\n var nameContains = function (s) {\n return self.containsAllWords(s.name, rule.storeFilter);\n };\n var isSelectedIfApplicable = function (s) {\n return rule.showSelectedStoresOnly ? s.selected : true;\n };\n rule.allStores\n .filter(function (s) { return nameContains(s) && isSelectedIfApplicable(s); })\n .forEach(function (s) {\n rule.filteredStores.push(s);\n });\n };\n RulesetWizardComponent.prototype.selectVisibleStores = function (rule, selected) {\n rule.filteredStores.slice((rule.storePageNumber - 1) * this.itemsPerPage, rule.storePageNumber * this.itemsPerPage).forEach(function (s) { return (s.selected = selected); });\n this.updateStoresInPayload(rule);\n };\n RulesetWizardComponent.prototype.selectAllStores = function (rule, selected) {\n rule.allStores.forEach(function (s) { return (s.selected = selected); });\n this.updateStoresInPayload(rule);\n };\n RulesetWizardComponent.prototype.toggleStore = function (rule, store) {\n store.selected = !store.selected;\n this.updateStoresInPayload(rule);\n };\n RulesetWizardComponent.prototype.updateStoresInPayload = function (rule) {\n rule.stores.splice(0, rule.stores.length);\n rule.allStores.filter(function (s) { return s.selected; }).forEach(function (s) { return rule.stores.push(s); });\n };\n RulesetWizardComponent.prototype.storePageChange = function (rule, $event) {\n rule.storePageNumber = $event;\n };\n //#endregion\n //#region Products\n RulesetWizardComponent.prototype.clearProductFilter = function (rule) {\n rule.productFilter = '';\n this.filterProducts(rule);\n };\n RulesetWizardComponent.prototype.filterProducts = function (rule) {\n rule.filteredProducts.splice(0, rule.filteredProducts.length);\n var self = this;\n var nameContains = function (p) {\n return self.containsAllWords(p.name, rule.productFilter);\n };\n var isSelectedIfApplicable = function (s) {\n return rule.showSelectedProductsOnly ? s.selected : true;\n };\n rule.allProducts\n .filter(function (s) { return nameContains(s) && isSelectedIfApplicable(s); })\n .forEach(function (s) {\n rule.filteredProducts.push(s);\n });\n };\n RulesetWizardComponent.prototype.selectVisibleProducts = function (rule, selected) {\n rule.filteredProducts.slice((rule.productPageNumber - 1) * this.itemsPerPage, rule.productPageNumber * this.itemsPerPage).forEach(function (s) { return (s.selected = selected); });\n this.updateProductsInPayload(rule);\n };\n RulesetWizardComponent.prototype.selectAllProducts = function (rule, selected) {\n rule.allProducts.forEach(function (s) { return (s.selected = selected); });\n this.updateProductsInPayload(rule);\n };\n RulesetWizardComponent.prototype.toggleProduct = function (rule, product) {\n product.selected = !product.selected;\n this.updateProductsInPayload(rule);\n };\n RulesetWizardComponent.prototype.updateProductsInPayload = function (rule) {\n rule.products.splice(0, rule.products.length);\n rule.allProducts.filter(function (s) { return s.selected; }).forEach(function (s) { return rule.products.push(s); });\n };\n RulesetWizardComponent.prototype.productPageChange = function (rule, $event) {\n rule.productPageNumber = $event;\n };\n //#endregion\n RulesetWizardComponent.prototype.containsAllWords = function (text, wordsAsString) {\n var words = wordsAsString.split(' ');\n for (var i = 0; i < words.length; i++) {\n var matchesWord = text.toLowerCase().indexOf(words[i].toLowerCase()) > -1;\n if (!matchesWord) {\n return false;\n }\n }\n return true;\n };\n return RulesetWizardComponent;\n}());\nexport { RulesetWizardComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./rulesets.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i5 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i6 from \"@angular/router\";\nimport * as i7 from \"angular-datatables/src/angular-datatables.directive\";\nimport * as i8 from \"./rulesets.component\";\nimport * as i9 from \"ngx-cookie-service/cookie-service/cookie.service\";\nimport * as i10 from \"../../../core/apis/moderation-api/program-api.service\";\nimport * as i11 from \"../../../core/apis/moderation-api/ruleset-api.service\";\nvar styles_RuleSetsComponent = [i0.styles];\nvar RenderType_RuleSetsComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_RuleSetsComponent, data: {} });\nexport { RenderType_RuleSetsComponent as RenderType_RuleSetsComponent };\nfunction View_RuleSetsComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_RuleSetsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 15, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 14, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Program\"])), (_l()(), i1.ɵeld(5, 0, null, null, 11, \"select\", [[\"class\", \"form-control novalidate\"], [\"name\", \"selectedProgram\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedProgram = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.onProgramChange() !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(8, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(10, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(12, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(13, 147456, null, 0, i2.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Please Select...\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_2)), i1.ɵdid(16, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"selectedProgram\"; var currVal_8 = _co.selectedProgram; _ck(_v, 8, 0, currVal_7, currVal_8); var currVal_9 = undefined; _ck(_v, 12, 0, currVal_9); var currVal_10 = undefined; _ck(_v, 13, 0, currVal_10); var currVal_11 = _co.programs; _ck(_v, 16, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_RuleSetsComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger btn-sm ml-4\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.resetResults() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clear Results\"]))], null, null); }\nfunction View_RuleSetsComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i4.View_FoldingCubeComponent_0, i4.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i5.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_RuleSetsComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 6, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No rule sets created. \"])), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"a\", [], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 671744, null, 0, i6.RouterLinkWithHref, [i6.Router, i6.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(5, 2), (_l()(), i1.ɵted(-1, null, [\"Create one\"])), (_l()(), i1.ɵted(-1, null, [\" now.\"]))], function (_ck, _v) { var currVal_2 = _ck(_v, 5, 0, \"/rulesets\", \"create\"); _ck(_v, 4, 0, currVal_2); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 4).target; var currVal_1 = i1.ɵnov(_v, 4).href; _ck(_v, 3, 0, currVal_0, currVal_1); }); }\nfunction View_RuleSetsComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"table\", [[\"class\", \"table table-hover table-sm prizelogic-table\"], [\"datatable\", \"\"], [\"id\", \"rulesets-table\"]], [[2, \"d-none\", null]], null, null, null, null)), i1.ɵdid(1, 212992, [[1, 4]], 0, i7.DataTableDirective, [i1.ElementRef], { dtOptions: [0, \"dtOptions\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.dtOptions; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isSearching; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_RuleSetsComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-spin fa-spinner\"]], null, null, null, null, null))], null, null); }\nfunction View_RuleSetsComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"btn btn-sm btn-primary my-3\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.loadMoreRuleSets() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Load More \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_8)), i1.ɵdid(3, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoadingMore; _ck(_v, 3, 0, currVal_0); }, null); }\nfunction View_RuleSetsComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [[\"class\", \"my-3\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No more results.\"]))], null, null); }\nexport function View_RuleSetsComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(671088640, 1, { dataTableDirective: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 45, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 9, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"div\", [[\"class\", \"col-7\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rule Sets\"])), (_l()(), i1.ɵeld(6, 0, null, null, 5, \"div\", [[\"class\", \"col-5\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 4, \"a\", [[\"class\", \"btn btn-outline-info pull-right mr-2\"]], [[1, \"target\", 0], [8, \"href\", 4]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 8).onClick($event.button, $event.ctrlKey, $event.metaKey, $event.shiftKey) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(8, 671744, null, 0, i6.RouterLinkWithHref, [i6.Router, i6.ActivatedRoute, i3.LocationStrategy], { routerLink: [0, \"routerLink\"] }, null), i1.ɵpad(9, 2), (_l()(), i1.ɵeld(10, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-magic\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Rule Set\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_1)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 32, \"div\", [], [[4, \"visibility\", null]], null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 19, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 18, \"form\", [[\"autocomplete\", \"off\"], [\"class\", \"form-inline my-3\"], [\"id\", \"ruleset-search\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.searchRuleSets() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(17, 16384, null, 0, i2.ɵangular_packages_forms_forms_bh, [], null, null), i1.ɵdid(18, 4210688, [[\"searchForm\", 4]], 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(20, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"label\", [[\"class\", \"sr-only\"], [\"for\", \"search-keywords\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Search Keywords\"])), (_l()(), i1.ɵeld(23, 0, null, null, 7, \"input\", [[\"class\", \"form-control mr-2\"], [\"id\", \"search-keywords\"], [\"name\", \"search-keywords\"], [\"placeholder\", \"Keywords...\"], [\"required\", \"\"], [\"type\", \"text\"]], [[2, \"is-valid\", null], [2, \"is-invalid\", null], [1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 24)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 24).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 24)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 24)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchKeywords = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(24, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(25, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(28, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(30, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(31, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-primary\"], [\"type\", \"submit\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Search\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_3)), i1.ɵdid(34, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(35, 0, null, null, 1, \"h3\", [[\"class\", \"my-3\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rule Sets\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_4)), i1.ɵdid(38, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_5)), i1.ɵdid(40, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_6)), i1.ɵdid(42, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_7)), i1.ɵdid(44, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RuleSetsComponent_9)), i1.ɵdid(46, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = _ck(_v, 9, 0, \"create\", \"wizard\"); _ck(_v, 8, 0, currVal_2); var currVal_3 = !_co.isLoadingPrograms; _ck(_v, 13, 0, currVal_3); var currVal_22 = \"\"; _ck(_v, 25, 0, currVal_22); var currVal_23 = \"search-keywords\"; var currVal_24 = _co.searchKeywords; _ck(_v, 28, 0, currVal_23, currVal_24); var currVal_25 = (_co.hasSearched && !_co.isSearching); _ck(_v, 34, 0, currVal_25); var currVal_26 = (_co.isSearching && !_co.hasSearched); _ck(_v, 38, 0, currVal_26); var currVal_27 = (((!_co.hasSearched && !_co.isSearching) && _co.ruleSets) && (_co.ruleSets.items.length < 1)); _ck(_v, 40, 0, currVal_27); var currVal_28 = _co.ruleSets; _ck(_v, 42, 0, currVal_28); var currVal_29 = (!_co.isSearching && !_co.noMoreSearchResults); _ck(_v, 44, 0, currVal_29); var currVal_30 = (!_co.isSearching && _co.noMoreSearchResults); _ck(_v, 46, 0, currVal_30); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 8).target; var currVal_1 = i1.ɵnov(_v, 8).href; _ck(_v, 7, 0, currVal_0, currVal_1); var currVal_4 = (_co.selectedProgram ? \"visible\" : \"hidden\"); _ck(_v, 14, 0, currVal_4); var currVal_5 = i1.ɵnov(_v, 20).ngClassUntouched; var currVal_6 = i1.ɵnov(_v, 20).ngClassTouched; var currVal_7 = i1.ɵnov(_v, 20).ngClassPristine; var currVal_8 = i1.ɵnov(_v, 20).ngClassDirty; var currVal_9 = i1.ɵnov(_v, 20).ngClassValid; var currVal_10 = i1.ɵnov(_v, 20).ngClassInvalid; var currVal_11 = i1.ɵnov(_v, 20).ngClassPending; _ck(_v, 16, 0, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_12 = (i1.ɵnov(_v, 18).valid && !i1.ɵnov(_v, 18).pristine); var currVal_13 = (i1.ɵnov(_v, 18).invalid && !i1.ɵnov(_v, 18).pristine); var currVal_14 = (i1.ɵnov(_v, 25).required ? \"\" : null); var currVal_15 = i1.ɵnov(_v, 30).ngClassUntouched; var currVal_16 = i1.ɵnov(_v, 30).ngClassTouched; var currVal_17 = i1.ɵnov(_v, 30).ngClassPristine; var currVal_18 = i1.ɵnov(_v, 30).ngClassDirty; var currVal_19 = i1.ɵnov(_v, 30).ngClassValid; var currVal_20 = i1.ɵnov(_v, 30).ngClassInvalid; var currVal_21 = i1.ɵnov(_v, 30).ngClassPending; _ck(_v, 23, 0, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21); }); }\nexport function View_RuleSetsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-rulesets\", [], null, null, null, View_RuleSetsComponent_0, RenderType_RuleSetsComponent)), i1.ɵdid(1, 4308992, null, 0, i8.RuleSetsComponent, [i9.CookieService, i10.ProgramApiService, i11.RuleSetApiService, i6.Router], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RuleSetsComponentNgFactory = i1.ɵccf(\"app-rulesets\", i8.RuleSetsComponent, View_RuleSetsComponent_Host_0, {}, {}, []);\nexport { RuleSetsComponentNgFactory as RuleSetsComponentNgFactory };\n","
\n
\n
\n

Rule Sets

\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n \n \n \n
\n
\n

Rule Sets

\n
\n \n
\n
\n
No rule sets created. Create one now.
\n
\n \n
\n \n

No more results.

\n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3J1bGVzZXQvcGFnZXMvcnVsZXNldHMvcnVsZXNldHMuY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import { DatePipe } from '@angular/common';\nimport { AfterViewInit, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DataTableDirective } from 'angular-datatables';\n\nimport { RuleSetModel } from '../../../shared/models/webapi/response/RuleSetModel';\nimport { RuleSetResultsModel } from '../../../shared/models/webapi/response/RuleSetResultsModel';\nimport { RuleSetApiService } from './../../../core/apis/moderation-api/ruleset-api.service';\nimport { Constants } from '../../../constants';\nimport { ProgramModel } from '../../../shared/models/webapi/response/ProgramModel';\nimport { ProgramResultsModel } from '../../../shared/models/webapi/response/ProgramResultsModel';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { RuleSetType } from '../../../shared/models/rule-set-type.enum';\n\n@Component({\n selector: 'app-rulesets',\n templateUrl: './rulesets.component.html',\n styleUrls: ['./rulesets.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class RuleSetsComponent implements OnInit, AfterViewInit {\n // DataTable related\n @ViewChild(DataTableDirective)\n private dataTableDirective: DataTableDirective;\n private dataTable: DataTables.Api;\n public dtOptions: DataTables.Settings;\n\n // Searching/filtering related\n public searchKeywords: string;\n public isSearching: boolean;\n public hasSearched: boolean;\n public appliedStatusFilters: string[] = [];\n private searchContinuationToken: string;\n isLoadingMore: boolean;\n noMoreSearchResults: boolean;\n\n public ruleSets: RuleSetResultsModel;\n maxRows = Constants.DefaultMaxItems;\n\n // Programs\n isLoadingPrograms = true;\n programs: ProgramModel[];\n selectedProgram: ProgramModel;\n\n constructor(private cookieService: CookieService, private programApi: ProgramApiService, private ruleSetApi: RuleSetApiService, private router: Router) {\n // This allows the DataTable object to be set up during page load before a Program is selected and RuleSets are loaded\n this.ruleSets = new RuleSetResultsModel();\n this.ruleSets.items = new Array();\n\n this.isSearching = false;\n this.hasSearched = false;\n }\n\n ngOnInit() {\n this.programApi.getPrograms().subscribe((programResult: ProgramResultsModel) => {\n this.isLoadingPrograms = false;\n this.programs = programResult.programs;\n if (this.programs.length === 1) {\n // auto select the only one\n this.selectedProgram = this.programs[0];\n this.onProgramChange();\n } else if (this.cookieService.get(Constants.HeaderProgramKey)) {\n const programKey = this.cookieService.get(Constants.HeaderProgramKey);\n this.selectedProgram = this.programs.filter(p => p.programKey === programKey)[0];\n this.onProgramChange();\n }\n });\n\n const _self = this;\n $.fn.dataTable.ext.errMode = 'throw';\n this.dtOptions = {\n paging: false,\n info: false,\n data: this.ruleSets.items,\n searching: true,\n ordering: true,\n order: [[0, 'desc']],\n dom: 'lrtip', // Used to disable the filter box\n columns: [\n { title: 'Type', data: 'ruleSetType', createdCell: this.onTypeCellCreate, orderable: true },\n {\n title: 'Name',\n data: 'name',\n createdCell: this.onNameCellCreate,\n orderable: true\n },\n { title: 'Key', data: 'ruleSetKey', orderable: false },\n { title: 'Rules', data: 'ruleCount', orderable: true }\n ],\n rowCallback: (row: Node, data: any | Object | RuleSetModel, index: number) => {\n // We've got to bind here because the html we inject isn't recognized by Angular\n $('.ruleset-edit-link', row).off('click');\n $('.ruleset-edit-link', row).on('click', e => {\n e.preventDefault();\n e.stopPropagation();\n _self.router.navigate(['/rulesets', data.programKey, data.ruleSetKey, 'wizard']);\n });\n }\n };\n }\n\n /**\n * Called for each cell created in the 'Name' column, used to inject links to manage page\n * @param cell The cell being created\n * @param cellData The data inside the cell\n * @param rowData The data for the whole row\n * @param row The number of the row\n * @param col The number of the column\n */\n onNameCellCreate(cell: HTMLElement, cellData: any, rowData: any, row: number, col: number): void {\n const html = `${cellData}`;\n cell.innerHTML = html;\n }\n\n onTypeCellCreate(cell: HTMLElement, cellData: any, rowData: any, row: number, col: number): void {\n cell.innerHTML = rowData.ruleSetType === RuleSetType.UserGenerated ? 'UGC' : 'Receipt';\n }\n\n /**\n * Called for each cell created in the 'Status' column, used to inject icons\n * @param cell The cell being created\n * @param cellData The data inside the cell\n * @param rowData The data for the whole row\n * @param row The number of the row\n * @param col The number of the column\n */\n onStatusCreate(cell: HTMLElement, cellData: any, rowData: any, row: number, col: number): void {\n let faClass = '';\n switch (cellData) {\n case 'Unpublished':\n faClass = 'fa-calendar-o';\n break;\n case 'Live':\n faClass = 'fa-calendar-check-o';\n break;\n case 'Future':\n faClass = 'fa-calendar-minus-o';\n break;\n case 'Old':\n faClass = 'fa-calendar-times-o';\n break;\n }\n\n const statusClass = cellData.toLowerCase();\n const html = ` ${cellData}`;\n cell.innerHTML = html;\n }\n\n ngAfterViewInit() {\n this.dataTableDirective.dtInstance.then(api => {\n this.dataTable = api;\n });\n }\n\n getAllRuleSets() {\n this.hasSearched = false;\n this.isSearching = true;\n\n this.ruleSetApi.getAllRuleSets().subscribe(httpResponse => {\n this.ruleSets = httpResponse.body;\n this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n if (this.ruleSets.items.length < this.maxRows) {\n this.noMoreSearchResults = true;\n } else {\n this.noMoreSearchResults = false;\n }\n this.clearAndRefreshDataTable(this.ruleSets);\n this.isSearching = false;\n });\n }\n\n searchRuleSets() {\n this.hasSearched = false;\n this.isSearching = true;\n\n this.ruleSetApi.searchRuleSets(this.searchKeywords).subscribe(httpResponse => {\n this.ruleSets = httpResponse.body;\n this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n this.hasSearched = true;\n this.isSearching = false;\n if (this.ruleSets.items.length < this.maxRows) {\n this.noMoreSearchResults = true;\n } else {\n this.noMoreSearchResults = false;\n }\n this.clearAndRefreshDataTable(this.ruleSets);\n });\n }\n\n loadMoreRuleSets() {\n this.isLoadingMore = true;\n\n this.ruleSetApi.loadMoreRuleSets(this.searchContinuationToken).subscribe(httpResponse => {\n const results = httpResponse.body;\n this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n if (results.items.length < 1) {\n this.noMoreSearchResults = true;\n } else {\n this.ruleSets = results;\n this.dataTable.rows.add(results.items).draw();\n this.noMoreSearchResults = false;\n }\n this.isLoadingMore = false;\n });\n }\n\n resetResults() {\n this.clearResults();\n this.getAllRuleSets();\n }\n\n clearResults() {\n this.hasSearched = false;\n this.isSearching = false;\n this.searchKeywords = '';\n }\n\n clearAndRefreshDataTable(newData: RuleSetResultsModel): void {\n this.dataTable.clear();\n this.dataTable.rows.add(newData.items).draw();\n }\n\n onProgramChange() {\n if (this.selectedProgram) {\n // The ProgramKeyInterceptor will pick this up. This is here until we get a program selection page\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.resetResults();\n } else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n }\n}\n","import { AfterViewInit, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataTableDirective } from 'angular-datatables';\nimport { RuleSetResultsModel } from '../../../shared/models/webapi/response/RuleSetResultsModel';\nimport { RuleSetApiService } from './../../../core/apis/moderation-api/ruleset-api.service';\nimport { Constants } from '../../../constants';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { RuleSetType } from '../../../shared/models/rule-set-type.enum';\nvar RuleSetsComponent = /** @class */ (function () {\n function RuleSetsComponent(cookieService, programApi, ruleSetApi, router) {\n this.cookieService = cookieService;\n this.programApi = programApi;\n this.ruleSetApi = ruleSetApi;\n this.router = router;\n this.appliedStatusFilters = [];\n this.maxRows = Constants.DefaultMaxItems;\n // Programs\n this.isLoadingPrograms = true;\n // This allows the DataTable object to be set up during page load before a Program is selected and RuleSets are loaded\n this.ruleSets = new RuleSetResultsModel();\n this.ruleSets.items = new Array();\n this.isSearching = false;\n this.hasSearched = false;\n }\n RuleSetsComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.programApi.getPrograms().subscribe(function (programResult) {\n _this.isLoadingPrograms = false;\n _this.programs = programResult.programs;\n if (_this.programs.length === 1) {\n // auto select the only one\n _this.selectedProgram = _this.programs[0];\n _this.onProgramChange();\n }\n else if (_this.cookieService.get(Constants.HeaderProgramKey)) {\n var programKey_1 = _this.cookieService.get(Constants.HeaderProgramKey);\n _this.selectedProgram = _this.programs.filter(function (p) { return p.programKey === programKey_1; })[0];\n _this.onProgramChange();\n }\n });\n var _self = this;\n $.fn.dataTable.ext.errMode = 'throw';\n this.dtOptions = {\n paging: false,\n info: false,\n data: this.ruleSets.items,\n searching: true,\n ordering: true,\n order: [[0, 'desc']],\n dom: 'lrtip',\n columns: [\n { title: 'Type', data: 'ruleSetType', createdCell: this.onTypeCellCreate, orderable: true },\n {\n title: 'Name',\n data: 'name',\n createdCell: this.onNameCellCreate,\n orderable: true\n },\n { title: 'Key', data: 'ruleSetKey', orderable: false },\n { title: 'Rules', data: 'ruleCount', orderable: true }\n ],\n rowCallback: function (row, data, index) {\n // We've got to bind here because the html we inject isn't recognized by Angular\n $('.ruleset-edit-link', row).off('click');\n $('.ruleset-edit-link', row).on('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n _self.router.navigate(['/rulesets', data.programKey, data.ruleSetKey, 'wizard']);\n });\n }\n };\n };\n /**\n * Called for each cell created in the 'Name' column, used to inject links to manage page\n * @param cell The cell being created\n * @param cellData The data inside the cell\n * @param rowData The data for the whole row\n * @param row The number of the row\n * @param col The number of the column\n */\n RuleSetsComponent.prototype.onNameCellCreate = function (cell, cellData, rowData, row, col) {\n var html = \"\" + cellData + \"\";\n cell.innerHTML = html;\n };\n RuleSetsComponent.prototype.onTypeCellCreate = function (cell, cellData, rowData, row, col) {\n cell.innerHTML = rowData.ruleSetType === RuleSetType.UserGenerated ? 'UGC' : 'Receipt';\n };\n /**\n * Called for each cell created in the 'Status' column, used to inject icons\n * @param cell The cell being created\n * @param cellData The data inside the cell\n * @param rowData The data for the whole row\n * @param row The number of the row\n * @param col The number of the column\n */\n RuleSetsComponent.prototype.onStatusCreate = function (cell, cellData, rowData, row, col) {\n var faClass = '';\n switch (cellData) {\n case 'Unpublished':\n faClass = 'fa-calendar-o';\n break;\n case 'Live':\n faClass = 'fa-calendar-check-o';\n break;\n case 'Future':\n faClass = 'fa-calendar-minus-o';\n break;\n case 'Old':\n faClass = 'fa-calendar-times-o';\n break;\n }\n var statusClass = cellData.toLowerCase();\n var html = \" \" + cellData;\n cell.innerHTML = html;\n };\n RuleSetsComponent.prototype.ngAfterViewInit = function () {\n var _this = this;\n this.dataTableDirective.dtInstance.then(function (api) {\n _this.dataTable = api;\n });\n };\n RuleSetsComponent.prototype.getAllRuleSets = function () {\n var _this = this;\n this.hasSearched = false;\n this.isSearching = true;\n this.ruleSetApi.getAllRuleSets().subscribe(function (httpResponse) {\n _this.ruleSets = httpResponse.body;\n _this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n if (_this.ruleSets.items.length < _this.maxRows) {\n _this.noMoreSearchResults = true;\n }\n else {\n _this.noMoreSearchResults = false;\n }\n _this.clearAndRefreshDataTable(_this.ruleSets);\n _this.isSearching = false;\n });\n };\n RuleSetsComponent.prototype.searchRuleSets = function () {\n var _this = this;\n this.hasSearched = false;\n this.isSearching = true;\n this.ruleSetApi.searchRuleSets(this.searchKeywords).subscribe(function (httpResponse) {\n _this.ruleSets = httpResponse.body;\n _this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n _this.hasSearched = true;\n _this.isSearching = false;\n if (_this.ruleSets.items.length < _this.maxRows) {\n _this.noMoreSearchResults = true;\n }\n else {\n _this.noMoreSearchResults = false;\n }\n _this.clearAndRefreshDataTable(_this.ruleSets);\n });\n };\n RuleSetsComponent.prototype.loadMoreRuleSets = function () {\n var _this = this;\n this.isLoadingMore = true;\n this.ruleSetApi.loadMoreRuleSets(this.searchContinuationToken).subscribe(function (httpResponse) {\n var results = httpResponse.body;\n _this.searchContinuationToken = httpResponse.headers.get(Constants.HeaderContinuationToken);\n if (results.items.length < 1) {\n _this.noMoreSearchResults = true;\n }\n else {\n _this.ruleSets = results;\n _this.dataTable.rows.add(results.items).draw();\n _this.noMoreSearchResults = false;\n }\n _this.isLoadingMore = false;\n });\n };\n RuleSetsComponent.prototype.resetResults = function () {\n this.clearResults();\n this.getAllRuleSets();\n };\n RuleSetsComponent.prototype.clearResults = function () {\n this.hasSearched = false;\n this.isSearching = false;\n this.searchKeywords = '';\n };\n RuleSetsComponent.prototype.clearAndRefreshDataTable = function (newData) {\n this.dataTable.clear();\n this.dataTable.rows.add(newData.items).draw();\n };\n RuleSetsComponent.prototype.onProgramChange = function () {\n if (this.selectedProgram) {\n // The ProgramKeyInterceptor will pick this up. This is here until we get a program selection page\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.resetResults();\n }\n else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n };\n return RuleSetsComponent;\n}());\nexport { RuleSetsComponent };\n","import { RuleSetsComponent } from './pages/rulesets/rulesets.component';\nimport { Routes, RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\nimport { RuleSetComponent } from './ruleset.component';\nimport { RulesetWizardComponent } from './pages/ruleset-wizard/ruleset-wizard.component';\n\nconst ruleSetRoutes: Routes = [\n {\n path: 'rulesets',\n component: RuleSetComponent,\n children: [\n // Retain old paths for compatibility, but use new component\n { path: '', component: RuleSetsComponent },\n { path: 'create', component: RulesetWizardComponent },\n { path: 'create/wizard', component: RulesetWizardComponent },\n { path: ':programKey/:ruleSetKey/edit', component: RulesetWizardComponent, data: { isEdit: true } },\n { path: ':programKey/:ruleSetKey/wizard', component: RulesetWizardComponent, data: { isEdit: true } },\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(ruleSetRoutes)],\n exports: [RouterModule],\n providers: []\n})\nexport class RuleSetRoutingModule { }\n","import { RuleSetsComponent } from './pages/rulesets/rulesets.component';\nimport { Routes } from '@angular/router';\nimport { RuleSetComponent } from './ruleset.component';\nimport { RulesetWizardComponent } from './pages/ruleset-wizard/ruleset-wizard.component';\nvar ɵ0 = { isEdit: true }, ɵ1 = { isEdit: true };\nvar ruleSetRoutes = [\n {\n path: 'rulesets',\n component: RuleSetComponent,\n children: [\n // Retain old paths for compatibility, but use new component\n { path: '', component: RuleSetsComponent },\n { path: 'create', component: RulesetWizardComponent },\n { path: 'create/wizard', component: RulesetWizardComponent },\n { path: ':programKey/:ruleSetKey/edit', component: RulesetWizardComponent, data: ɵ0 },\n { path: ':programKey/:ruleSetKey/wizard', component: RulesetWizardComponent, data: ɵ1 },\n ]\n }\n];\nvar RuleSetRoutingModule = /** @class */ (function () {\n function RuleSetRoutingModule() {\n }\n return RuleSetRoutingModule;\n}());\nexport { RuleSetRoutingModule };\nexport { ɵ0, ɵ1 };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./ruleset.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"./ruleset.component\";\nvar styles_RuleSetComponent = [i0.styles];\nvar RenderType_RuleSetComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_RuleSetComponent, data: {} });\nexport { RenderType_RuleSetComponent as RenderType_RuleSetComponent };\nexport function View_RuleSetComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 16777216, null, null, 1, \"router-outlet\", [], null, null, null, null, null)), i1.ɵdid(1, 212992, null, 0, i2.RouterOutlet, [i2.ChildrenOutletContexts, i1.ViewContainerRef, i1.ComponentFactoryResolver, [8, null], i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nexport function View_RuleSetComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-rule-set\", [], null, null, null, View_RuleSetComponent_0, RenderType_RuleSetComponent)), i1.ɵdid(1, 114688, null, 0, i3.RuleSetComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RuleSetComponentNgFactory = i1.ɵccf(\"app-rule-set\", i3.RuleSetComponent, View_RuleSetComponent_Host_0, {}, {}, []);\nexport { RuleSetComponentNgFactory as RuleSetComponentNgFactory };\n","\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3J1bGVzZXQvcnVsZXNldC5jb21wb25lbnQuc2NzcyJ9 */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-rule-set',\n templateUrl: './ruleset.component.html',\n styleUrls: ['./ruleset.component.scss']\n})\nexport class RuleSetComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar RuleSetComponent = /** @class */ (function () {\n function RuleSetComponent() {\n }\n RuleSetComponent.prototype.ngOnInit = function () {\n };\n return RuleSetComponent;\n}());\nexport { RuleSetComponent };\n","import { RuleSetRoutingModule } from './ruleset-routing.module';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { RuleSetsComponent } from './pages/rulesets/rulesets.component';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { RuleSetComponent } from './ruleset.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { DataTablesModule } from 'angular-datatables';\nimport { DateTimeAdapter, OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\nimport { UiSwitchModule } from 'ngx-ui-switch';\nimport { RulesetWizardComponent } from './pages/ruleset-wizard/ruleset-wizard.component';\nimport { UtcDateTimeAdapter } from '../core/adapters/UtcDateTimeAdapter';\nimport { MomentModule, DateFormatPipe } from 'ngx-moment';\nimport { TzPipe } from '../shared/pipes/tz.pipe';\n\n@NgModule({\n imports: [\n MomentModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n TooltipModule,\n CollapseModule,\n UiSwitchModule,\n AccordionModule,\n AlertModule,\n CommonModule,\n FormsModule,\n SharedModule,\n RuleSetRoutingModule,\n DataTablesModule\n ],\n declarations: [\n RuleSetComponent,\n RuleSetsComponent,\n RulesetWizardComponent\n ],\n exports: [\n RuleSetRoutingModule,\n FormsModule\n ],\n providers: [\n DatePipe,\n TzPipe,\n DateFormatPipe,\n { provide: DateTimeAdapter, useClass: UtcDateTimeAdapter },\n ]\n})\nexport class RuleSetModule {}\n","var RuleSetModule = /** @class */ (function () {\n function RuleSetModule() {\n }\n return RuleSetModule;\n}());\nexport { RuleSetModule };\n","export class Alert {\n public type: 'success' | 'warning' | 'info' | 'danger';\n public message: string;\n public timeout: number;\n\n static success(message: string, timeout: number = 5000) {\n return Object.assign(new Alert(), {\n type: 'success',\n message: message,\n timeout: timeout\n });\n }\n\n static warning(message: string, timeout: number = 5000) {\n return Object.assign(new Alert(), {\n type: 'warning',\n message: message,\n timeout: timeout\n });\n }\n\n static info(message: string, timeout: number = 5000) {\n return Object.assign(new Alert(), {\n type: 'info',\n message: message,\n timeout: timeout\n });\n }\n\n static danger(message: string, timeout: number = 5000): Alert {\n return Object.assign(new Alert(), {\n type: 'danger',\n message: message,\n timeout: timeout\n });\n }\n}\n","var Alert = /** @class */ (function () {\n function Alert() {\n }\n Alert.success = function (message, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return Object.assign(new Alert(), {\n type: 'success',\n message: message,\n timeout: timeout\n });\n };\n Alert.warning = function (message, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return Object.assign(new Alert(), {\n type: 'warning',\n message: message,\n timeout: timeout\n });\n };\n Alert.info = function (message, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return Object.assign(new Alert(), {\n type: 'info',\n message: message,\n timeout: timeout\n });\n };\n Alert.danger = function (message, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return Object.assign(new Alert(), {\n type: 'danger',\n message: message,\n timeout: timeout\n });\n };\n return Alert;\n}());\nexport { Alert };\n","export class ContinuationTokenResponseModel {\n continuationToken: string;\n model: T;\n}\n","var ContinuationTokenResponseModel = /** @class */ (function () {\n function ContinuationTokenResponseModel() {\n }\n return ContinuationTokenResponseModel;\n}());\nexport { ContinuationTokenResponseModel };\n","export enum RuleKind {\n Boolean = 1,\n ReceiptPurchaseDate,\n ReceiptItemProductQuantity,\n ReceiptStore,\n ReceiptItemProductTotal,\n ReceiptItemProductQuantityAndTotal,\n ReceiptItemProductMinimumQuantity,\n ReceiptItemProductMinimumTotal,\n ReceiptItemProductMinimumQuantityAndTotal,\n}\n","export enum RuleSetType {\n Receipt = 1,\n UserGenerated,\n}\n","import { StoreModel } from '../response/StoreModel';\nimport { ProductModel } from '../response/product.model';\nimport { RuleSetType } from '../../rule-set-type.enum';\nimport { CreateEditRuleModel } from './create-edit-rule.model';\n\nexport class CreateEditRuleSetModel {\n ruleSetType: RuleSetType = RuleSetType.Receipt;\n name = '';\n ruleSetKey = '';\n isAutomaticReceiptPaidFor = true;\n isEligibleForAutoApprove = true;\n programKey = '';\n rules: Array = new Array();\n}\n","import { RuleSetType } from '../../rule-set-type.enum';\nvar CreateEditRuleSetModel = /** @class */ (function () {\n function CreateEditRuleSetModel() {\n this.ruleSetType = RuleSetType.Receipt;\n this.name = '';\n this.ruleSetKey = '';\n this.isAutomaticReceiptPaidFor = true;\n this.isEligibleForAutoApprove = true;\n this.programKey = '';\n this.rules = new Array();\n }\n return CreateEditRuleSetModel;\n}());\nexport { CreateEditRuleSetModel };\n","export class CreateEditStoreModel {\n programKey = '';\n name = '';\n}\n","var CreateEditStoreModel = /** @class */ (function () {\n function CreateEditStoreModel() {\n this.programKey = '';\n this.name = '';\n }\n return CreateEditStoreModel;\n}());\nexport { CreateEditStoreModel };\n","import { RuleKind } from '../../rule-kind.enum';\nimport { StoreModel } from '../response/StoreModel';\nimport { ProductModel } from '../response/product.model';\n\nexport class CreateEditRuleModel {\n ruleKey: string;\n text: string;\n kind: RuleKind;\n passingBooleanValue: boolean;\n receiptPurchasedOnStart: Date | string | null;\n receiptPurchasedOnEnd: Date | string | null;\n minimumQuantity: number | null;\n minimumTotal: number | null;\n stores: Array = new Array();\n products: Array = new Array();\n isUsed: boolean;\n\n // View model fields\n allStores: Array = new Array();\n filteredStores: Array = new Array();\n showSelectedStoresOnly: boolean;\n storeFilter: string;\n storePageNumber = 1;\n\n allProducts: Array;\n filteredProducts: Array = new Array();\n productFilter = '';\n productPageNumber = 1;\n showSelectedProductsOnly = false;\n\n\n constructor() {\n this.kind = RuleKind.Boolean;\n this.ruleKey = '';\n this.text = '';\n this.passingBooleanValue = true;\n this.showSelectedStoresOnly = false;\n this.showSelectedProductsOnly = false;\n this.storeFilter = '';\n this.productFilter = '';\n this.storePageNumber = 1;\n this.productPageNumber = 1;\n }\n}\n","import { RuleKind } from '../../rule-kind.enum';\nvar CreateEditRuleModel = /** @class */ (function () {\n function CreateEditRuleModel() {\n this.stores = new Array();\n this.products = new Array();\n // View model fields\n this.allStores = new Array();\n this.filteredStores = new Array();\n this.storePageNumber = 1;\n this.filteredProducts = new Array();\n this.productFilter = '';\n this.productPageNumber = 1;\n this.showSelectedProductsOnly = false;\n this.kind = RuleKind.Boolean;\n this.ruleKey = '';\n this.text = '';\n this.passingBooleanValue = true;\n this.showSelectedStoresOnly = false;\n this.showSelectedProductsOnly = false;\n this.storeFilter = '';\n this.productFilter = '';\n this.storePageNumber = 1;\n this.productPageNumber = 1;\n }\n return CreateEditRuleModel;\n}());\nexport { CreateEditRuleModel };\n","import { RuleSetModel } from './RuleSetModel';\n\nexport class RuleSetResultsModel {\n public items: Array;\n}\n","var RuleSetResultsModel = /** @class */ (function () {\n function RuleSetResultsModel() {\n }\n return RuleSetResultsModel;\n}());\nexport { RuleSetResultsModel };\n","import { StoreAliasModel } from './store-alias.model';\n\nexport class StoreModel {\n storeKey: string;\n name: string;\n shouldAutoApprove: boolean;\n aliases: Array;\n\n // Part of ViewModel\n selected: boolean;\n autoApproveUpdating: boolean;\n autoApproveHadError: boolean;\n}\n","var StoreModel = /** @class */ (function () {\n function StoreModel() {\n }\n return StoreModel;\n}());\nexport { StoreModel };\n","import { StoreModel } from './StoreModel';\n\nexport class StoreResultsModel {\n public stores: Array;\n}\n","var StoreResultsModel = /** @class */ (function () {\n function StoreResultsModel() {\n }\n return StoreResultsModel;\n}());\nexport { StoreResultsModel };\n","import { KeyModel } from './key.model';\n\nexport class KeyResultsModel {\n results: Array;\n}\n","var KeyResultsModel = /** @class */ (function () {\n function KeyResultsModel() {\n }\n return KeyResultsModel;\n}());\nexport { KeyResultsModel };\n","/*\nTaken from angular-moment-timezone that does not seem to be getting any fresh updates(commits) and currently doesn't work with Angular 7\n*/\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as momentFromTz from 'moment-timezone';\nimport * as moment from 'moment';\n\n@Pipe({\n name: 'amTz'\n})\nexport class TzPipe implements PipeTransform {\n /**\n * Parse or Convert moment value for selected TZData.

\n * Examples:\n *

    \n *
  • {{ '2007-03-01T13:00:00Z' }} (raw: TZ - UTC)
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amDateFormat }} (formatted: in current TZ, parse in UTC) = 2007-03-01T16:00:00+03:00
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in UTC )\n * = 2007-03-01T08:00:00-05:00
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in UTC)\n * = 2007-03-01T08:00:00-05:00
  • \n *
  • ----
  • \n *
  • {{ '2007-03-01T13:00:00' }} (raw: TZ - Unknown )
  • \n *
  • {{ '2007-03-01T13:00:00' | amDateFormat }} (formatted: in current TZ, parse in current TZ) = 2007-03-01T13:00:00+03:00
  • \n *
  • {{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in current TZ)\n * = 2007-03-01T05:00:00-05:00
  • \n *
  • {{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in America/NY TZ)\n * = 2007-03-01T13:00:00-05:00
  • \n *
\n * @param {moment.MomentInput} value date/time/timestamp value - can be with TimeZone id or shift, or without it.

\n * See wikipedia article for most usable string formats.

\n * Example:

\n * - 2007-03-01T13:00:00Z - With TimeZone info ('Z' = UTC);

\n * - 2007-03-01T13:00:00 - Without TimeZone info.

\n * @param {string} tzdata TZData value.

\n * See wikipedia examples

\n * @param {boolean} parseInZone

\n * If TRUE - parse value (without TZ id or shift) in defined TZData (Parse mode).

\n * If FALSE - convert value (without TZ id or shift) to defined TZData (Conversion mode), and parse\n * it in current TZ.

\n * NOTE: If moment value has TZ id or shift part - Parse mode will be used and \"parseInZone\"\n * will be ignored.

\n * @returns {any} new moment value for defined TZData\n */\n transform(value: moment.MomentInput, tzdata: string, parseInZone: boolean = false): any {\n if (parseInZone) {\n return momentFromTz.tz(value, tzdata);\n }\n return moment(value).tz(tzdata);\n }\n}\n","/*\nTaken from angular-moment-timezone that does not seem to be getting any fresh updates(commits) and currently doesn't work with Angular 7\n*/\nimport { PipeTransform } from '@angular/core';\nimport * as momentFromTz from 'moment-timezone';\nimport * as moment from 'moment';\nvar TzPipe = /** @class */ (function () {\n function TzPipe() {\n }\n /**\n * Parse or Convert moment value for selected TZData.

\n * Examples:\n *

    \n *
  • {{ '2007-03-01T13:00:00Z' }} (raw: TZ - UTC)
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amDateFormat }} (formatted: in current TZ, parse in UTC) = 2007-03-01T16:00:00+03:00
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in UTC )\n * = 2007-03-01T08:00:00-05:00
  • \n *
  • {{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in UTC)\n * = 2007-03-01T08:00:00-05:00
  • \n *
  • ----
  • \n *
  • {{ '2007-03-01T13:00:00' }} (raw: TZ - Unknown )
  • \n *
  • {{ '2007-03-01T13:00:00' | amDateFormat }} (formatted: in current TZ, parse in current TZ) = 2007-03-01T13:00:00+03:00
  • \n *
  • {{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in current TZ)\n * = 2007-03-01T05:00:00-05:00
  • \n *
  • {{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in America/NY TZ)\n * = 2007-03-01T13:00:00-05:00
  • \n *
\n * @param {moment.MomentInput} value date/time/timestamp value - can be with TimeZone id or shift, or without it.

\n * See wikipedia article for most usable string formats.

\n * Example:

\n * - 2007-03-01T13:00:00Z - With TimeZone info ('Z' = UTC);

\n * - 2007-03-01T13:00:00 - Without TimeZone info.

\n * @param {string} tzdata TZData value.

\n * See wikipedia examples

\n * @param {boolean} parseInZone

\n * If TRUE - parse value (without TZ id or shift) in defined TZData (Parse mode).

\n * If FALSE - convert value (without TZ id or shift) to defined TZData (Conversion mode), and parse\n * it in current TZ.

\n * NOTE: If moment value has TZ id or shift part - Parse mode will be used and \"parseInZone\"\n * will be ignored.

\n * @returns {any} new moment value for defined TZData\n */\n TzPipe.prototype.transform = function (value, tzdata, parseInZone) {\n if (parseInZone === void 0) { parseInZone = false; }\n if (parseInZone) {\n return momentFromTz.tz(value, tzdata);\n }\n return moment(value).tz(tzdata);\n };\n return TzPipe;\n}());\nexport { TzPipe };\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CustomFormsModule } from 'ngx-custom-validators';\nimport { NgxPaginationModule } from 'ngx-pagination';\n\nimport { SanitizedAutoFillerDirective } from './directives/sanitized-auto-filler/sanitized-auto-filler.directive';\nimport { UniqueValidatorDirective } from './directives/unique/unique.directive';\nimport { SearchFilterPipe } from './pipes/search-filter.pipe';\nimport { FoldingCubeComponent } from './widgets/folding-cube/folding-cube.component';\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { BooleanIndicatorComponent } from './widgets/boolean-indicator/boolean-indicator.component';\nimport { OrdinalPipe } from './pipes/ordinal.pipe';\nimport { TzPipe } from './pipes/tz.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n NgxPaginationModule,\n TypeaheadModule.forRoot(),\n CustomFormsModule\n ],\n declarations: [\n // Widget Components\n FoldingCubeComponent,\n BooleanIndicatorComponent,\n\n // Pipes\n SearchFilterPipe,\n OrdinalPipe,\n TzPipe,\n\n // Directives\n SanitizedAutoFillerDirective,\n\n // Directives (Validators)\n UniqueValidatorDirective,\n ],\n exports: [\n // Modules\n NgxPaginationModule,\n CustomFormsModule,\n TypeaheadModule,\n\n // Widget Components\n FoldingCubeComponent,\n BooleanIndicatorComponent,\n\n // Pipes\n SearchFilterPipe,\n OrdinalPipe,\n\n // Directives\n SanitizedAutoFillerDirective,\n\n // Directives (Validators)\n UniqueValidatorDirective,\n ]\n})\nexport class SharedModule { }\n","var SharedModule = /** @class */ (function () {\n function SharedModule() {\n }\n return SharedModule;\n}());\nexport { SharedModule };\n","export function cloneJson(payload: any): any {\n return JSON.parse(JSON.stringify(payload));\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./folding-cube.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./folding-cube.component\";\nvar styles_FoldingCubeComponent = [i0.styles];\nvar RenderType_FoldingCubeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_FoldingCubeComponent, data: {} });\nexport { RenderType_FoldingCubeComponent as RenderType_FoldingCubeComponent };\nexport function View_FoldingCubeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"sk-folding-cube\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"sk-cube1 sk-cube\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"div\", [[\"class\", \"sk-cube2 sk-cube\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [[\"class\", \"sk-cube4 sk-cube\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"div\", [[\"class\", \"sk-cube3 sk-cube\"]], null, null, null, null, null))], null, null); }\nexport function View_FoldingCubeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, View_FoldingCubeComponent_0, RenderType_FoldingCubeComponent)), i1.ɵdid(1, 114688, null, 0, i2.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar FoldingCubeComponentNgFactory = i1.ɵccf(\"app-folding-cube\", i2.FoldingCubeComponent, View_FoldingCubeComponent_Host_0, {}, {}, []);\nexport { FoldingCubeComponentNgFactory as FoldingCubeComponentNgFactory };\n","

\n
\n
\n
\n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".sk-folding-cube[_ngcontent-%COMP%] {\\n margin: 20px auto;\\n width: 40px;\\n height: 40px;\\n position: relative;\\n -webkit-transform: rotateZ(45deg);\\n transform: rotateZ(45deg);\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube[_ngcontent-%COMP%] {\\n float: left;\\n width: 50%;\\n height: 50%;\\n position: relative;\\n -webkit-transform: scale(1.1);\\n transform: scale(1.1);\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube[_ngcontent-%COMP%]:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgb(16, 199, 153);\\n -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;\\n animation: sk-foldCubeAngle 2.4s infinite linear both;\\n -webkit-transform-origin: 100% 100%;\\n transform-origin: 100% 100%;\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube2[_ngcontent-%COMP%] {\\n -webkit-transform: scale(1.1) rotateZ(90deg);\\n transform: scale(1.1) rotateZ(90deg);\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube3[_ngcontent-%COMP%] {\\n -webkit-transform: scale(1.1) rotateZ(180deg);\\n transform: scale(1.1) rotateZ(180deg);\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube4[_ngcontent-%COMP%] {\\n -webkit-transform: scale(1.1) rotateZ(270deg);\\n transform: scale(1.1) rotateZ(270deg);\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube2[_ngcontent-%COMP%]:before {\\n -webkit-animation-delay: 0.3s;\\n animation-delay: 0.3s;\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube3[_ngcontent-%COMP%]:before {\\n -webkit-animation-delay: 0.6s;\\n animation-delay: 0.6s;\\n}\\n\\n.sk-folding-cube[_ngcontent-%COMP%] .sk-cube4[_ngcontent-%COMP%]:before {\\n -webkit-animation-delay: 0.9s;\\n animation-delay: 0.9s;\\n}\\n\\n@-webkit-keyframes sk-foldCubeAngle {\\n 0%, 10% {\\n -webkit-transform: perspective(140px) rotateX(-180deg);\\n transform: perspective(140px) rotateX(-180deg);\\n opacity: 0;\\n }\\n 25%, 75% {\\n -webkit-transform: perspective(140px) rotateX(0deg);\\n transform: perspective(140px) rotateX(0deg);\\n opacity: 1;\\n }\\n 90%, 100% {\\n -webkit-transform: perspective(140px) rotateY(180deg);\\n transform: perspective(140px) rotateY(180deg);\\n opacity: 0;\\n }\\n}\\n\\n@keyframes sk-foldCubeAngle {\\n 0%, 10% {\\n -webkit-transform: perspective(140px) rotateX(-180deg);\\n transform: perspective(140px) rotateX(-180deg);\\n opacity: 0;\\n }\\n 25%, 75% {\\n -webkit-transform: perspective(140px) rotateX(0deg);\\n transform: perspective(140px) rotateX(0deg);\\n opacity: 1;\\n }\\n 90%, 100% {\\n -webkit-transform: perspective(140px) rotateY(180deg);\\n transform: perspective(140px) rotateY(180deg);\\n opacity: 0;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9zaGFyZWQvd2lkZ2V0cy9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvd2lkZ2V0cy9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUNBQUE7RUFDUSx5QkFBQTtBQ0NWOztBREVBO0VBQ0UsV0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkFBQTtFQUVRLHFCQUFBO0FDQ1Y7O0FEQ0E7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUNBQUE7RUFDQSw2REFBQTtFQUNRLHFEQUFBO0VBQ1IsbUNBQUE7RUFFUSwyQkFBQTtBQ0VWOztBREFBO0VBQ0UsNENBQUE7RUFDUSxvQ0FBQTtBQ0dWOztBRERBO0VBQ0UsNkNBQUE7RUFDUSxxQ0FBQTtBQ0lWOztBREZBO0VBQ0UsNkNBQUE7RUFDUSxxQ0FBQTtBQ0tWOztBREhBO0VBQ0UsNkJBQUE7RUFDUSxxQkFBQTtBQ01WOztBREpBO0VBQ0UsNkJBQUE7RUFDUSxxQkFBQTtBQ09WOztBRExBO0VBQ0UsNkJBQUE7RUFDUSxxQkFBQTtBQ1FWOztBRE5BO0VBQ0U7SUFDRSxzREFBQTtJQUNRLDhDQUFBO0lBQ1IsVUFBQTtFQ1NGO0VEUkU7SUFDQSxtREFBQTtJQUNRLDJDQUFBO0lBQ1IsVUFBQTtFQ1VGO0VEVEU7SUFDQSxxREFBQTtJQUNRLDZDQUFBO0lBQ1IsVUFBQTtFQ1dGO0FBQ0Y7O0FEUkE7RUFDRTtJQUNFLHNEQUFBO0lBQ1EsOENBQUE7SUFDUixVQUFBO0VDVUY7RURURTtJQUNBLG1EQUFBO0lBQ1EsMkNBQUE7SUFDUixVQUFBO0VDV0Y7RURWRTtJQUNBLHFEQUFBO0lBQ1EsNkNBQUE7SUFDUixVQUFBO0VDWUY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC93aWRnZXRzL2ZvbGRpbmctY3ViZS9mb2xkaW5nLWN1YmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2stZm9sZGluZy1jdWJlIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG59XG5cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTYsIDE5OSwgMTUzKTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNrLWZvbGRDdWJlQW5nbGUgMi40cyBpbmZpbml0ZSBsaW5lYXIgYm90aDtcbiAgICAgICAgICBhbmltYXRpb246IHNrLWZvbGRDdWJlQW5nbGUgMi40cyBpbmZpbml0ZSBsaW5lYXIgYm90aDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbn1cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmUyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWig5MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooOTBkZWcpO1xufVxuLnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGVaKDE4MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMTgwZGVnKTtcbn1cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmU0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWigyNzBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGVaKDI3MGRlZyk7XG59XG4uc2stZm9sZGluZy1jdWJlIC5zay1jdWJlMjpiZWZvcmUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG59XG4uc2stZm9sZGluZy1jdWJlIC5zay1jdWJlMzpiZWZvcmUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNnM7XG59XG4uc2stZm9sZGluZy1jdWJlIC5zay1jdWJlNDpiZWZvcmUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC45cztcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuOXM7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stZm9sZEN1YmVBbmdsZSB7XG4gIDAlLCAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgtMTgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoLTE4MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfSAyNSUsIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9IDkwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNrLWZvbGRDdWJlQW5nbGUge1xuICAwJSwgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoLTE4MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVYKC0xODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH0gMjUlLCA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfSA5MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi5zay1mb2xkaW5nLWN1YmUge1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG59XG5cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE2LCAxOTksIDE1Myk7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzay1mb2xkQ3ViZUFuZ2xlIDIuNHMgaW5maW5pdGUgbGluZWFyIGJvdGg7XG4gIGFuaW1hdGlvbjogc2stZm9sZEN1YmVBbmdsZSAyLjRzIGluZmluaXRlIGxpbmVhciBib3RoO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xufVxuXG4uc2stZm9sZGluZy1jdWJlIC5zay1jdWJlMiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooOTBkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWig5MGRlZyk7XG59XG5cbi5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmUzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWigxODBkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWigxODBkZWcpO1xufVxuXG4uc2stZm9sZGluZy1jdWJlIC5zay1jdWJlNCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMjcwZGVnKTtcbn1cblxuLnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTI6YmVmb3JlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbn1cblxuLnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTM6YmVmb3JlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNnM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC42cztcbn1cblxuLnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTQ6YmVmb3JlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuOXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC45cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWZvbGRDdWJlQW5nbGUge1xuICAwJSwgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoLTE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgtMTgwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDI1JSwgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDkwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2stZm9sZEN1YmVBbmdsZSB7XG4gIDAlLCAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVYKC0xODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMjUlLCA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDE0MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufSJdfQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-folding-cube',\n templateUrl: './folding-cube.component.html',\n styleUrls: ['./folding-cube.component.scss']\n})\nexport class FoldingCubeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar FoldingCubeComponent = /** @class */ (function () {\n function FoldingCubeComponent() {\n }\n FoldingCubeComponent.prototype.ngOnInit = function () {\n };\n return FoldingCubeComponent;\n}());\nexport { FoldingCubeComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./global-stores.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i3 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i4 from \"../../../../../node_modules/ngx-bootstrap/alert/ngx-bootstrap-alert.ngfactory\";\nimport * as i5 from \"ngx-bootstrap/alert\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"@angular/forms\";\nimport * as i8 from \"./global-stores.component\";\nimport * as i9 from \"../../../core/apis/moderation-api/store-api.service\";\nimport * as i10 from \"ngx-bootstrap/modal\";\nvar styles_GlobalStoresComponent = [i0.styles];\nvar RenderType_GlobalStoresComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_GlobalStoresComponent, data: {} });\nexport { RenderType_GlobalStoresComponent as RenderType_GlobalStoresComponent };\nfunction View_GlobalStoresComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i2.View_FoldingCubeComponent_0, i2.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i3.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_GlobalStoresComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"alert\", [], null, null, null, i4.View_AlertComponent_0, i4.RenderType_AlertComponent)), i1.ɵdid(1, 114688, null, 0, i5.AlertComponent, [i5.AlertConfig, i1.ChangeDetectorRef], { type: [0, \"type\"], dismissOnTimeout: [1, \"dismissOnTimeout\"] }, null), (_l()(), i1.ɵted(2, 0, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert.type; var currVal_1 = _co.alert.timeout; _ck(_v, 1, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.alert.message; _ck(_v, 2, 0, currVal_2); }); }\nfunction View_GlobalStoresComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"li\", [[\"class\", \"mr-3\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \" \"])), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"i\", [[\"class\", \"fa fa-remove\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openDeleteAlias(_v.parent.context.$implicit, _v.context.$implicit, i1.ɵnov(_v.parent.parent.parent, 15)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.name; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_GlobalStoresComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵeld(3, 0, null, null, 5, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 4, \"ul\", [[\"class\", \"aliases\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"li\", [[\"class\", \"mr-3\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"i\", [[\"class\", \"fa fa-plus\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openCreateAliases(_v.context.$implicit, i1.ɵnov(_v.parent.parent, 14)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_GlobalStoresComponent_5)), i1.ɵdid(8, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.aliases; _ck(_v, 8, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.name; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_GlobalStoresComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 30, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_GlobalStoresComponent_3)), i1.ɵdid(2, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 15, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 14, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 10, \"div\", [[\"class\", \"pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 9, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 5, \"input\", [[\"class\", \"form-control\"], [\"id\", \"txtSearchTerm\"], [\"placeholder\", \"Search Retailers\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 8)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 8).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 8)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 8)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchTerm = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.filterStores() !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(8, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(10, 671744, null, 0, i7.NgModel, [[8, null], [8, null], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(12, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵeld(13, 0, null, null, 2, \"div\", [[\"class\", \"input-group-append cursor-pointer\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clearTerm() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"span\", [[\"class\", \"input-group-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-times cursor-pointer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 2, \"a\", [[\"class\", \"btn btn-outline-info ml-2 text-info pull-right\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openCreateStores(i1.ɵnov(_v.parent, 13)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Retailer\"])), (_l()(), i1.ɵeld(19, 0, null, null, 11, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 10, \"div\", [[\"class\", \"col-12\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 9, \"table\", [[\"class\", \"table table-sm mt-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(22, 0, null, null, 5, \"thead\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(23, 0, null, null, 4, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"th\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name\"])), (_l()(), i1.ɵeld(26, 0, null, null, 1, \"th\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aliases\"])), (_l()(), i1.ɵeld(28, 0, null, null, 2, \"tbody\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_GlobalStoresComponent_4)), i1.ɵdid(30, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alert; _ck(_v, 2, 0, currVal_0); var currVal_8 = _co.searchTerm; _ck(_v, 10, 0, currVal_8); var currVal_9 = _co.filteredStores; _ck(_v, 30, 0, currVal_9); }, function (_ck, _v) { var currVal_1 = i1.ɵnov(_v, 12).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 12).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 12).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 12).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 12).ngClassValid; var currVal_6 = i1.ɵnov(_v, 12).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 12).ngClassPending; _ck(_v, 7, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_GlobalStoresComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Create Retailers\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.createModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 12, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 9, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Names (1 per line): \"])), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"textarea\", [[\"class\", \"form-group\"], [\"cols\", \"50\"], [\"rows\", \"10\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.newRetailerText = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(13, 671744, null, 0, i7.NgModel, [[8, null], [8, null], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(15, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-primary\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.createStores() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Save\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.newRetailerText; _ck(_v, 13, 0, currVal_7); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 15).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 15).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 15).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 15).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 15).ngClassValid; var currVal_5 = i1.ɵnov(_v, 15).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 15).ngClassPending; _ck(_v, 10, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_GlobalStoresComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"Create Aliases for \", \"\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.createAliasModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 12, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 9, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Names (1 per line): \"])), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"textarea\", [[\"class\", \"form-group\"], [\"cols\", \"50\"], [\"rows\", \"10\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.newAliasText = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(13, 671744, null, 0, i7.NgModel, [[8, null], [8, null], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(15, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-primary\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.createAliases() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Save\"]))], function (_ck, _v) { var _co = _v.component; var currVal_8 = _co.newAliasText; _ck(_v, 13, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedStoreForAlias.name; _ck(_v, 2, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 15).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 15).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 15).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 15).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 15).ngClassValid; var currVal_6 = i1.ɵnov(_v, 15).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 15).ngClassPending; _ck(_v, 10, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_GlobalStoresComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Remove Alias\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteAliasModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 7, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"Are you sure you want to remove \", \" from \", \"?\"])), (_l()(), i1.ɵeld(9, 0, null, null, 4, \"div\", [[\"class\", \"mt-4\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-danger\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteAlias() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Delete\"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-outline\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteAliasModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cancel\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedAlias.name; var currVal_1 = _co.selectedStoreForAlias.name; _ck(_v, 8, 0, currVal_0, currVal_1); }); }\nexport function View_GlobalStoresComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 6, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Global Retailers\"])), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Changes here will affect all Programs.\"])), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"p\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retailer names and Aliases are not case-sensitive.\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_GlobalStoresComponent_1)), i1.ɵdid(10, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_GlobalStoresComponent_2)), i1.ɵdid(12, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, [[\"createTemplate\", 2]], null, 0, null, View_GlobalStoresComponent_6)), (_l()(), i1.ɵand(0, [[\"createAliasTemplate\", 2]], null, 0, null, View_GlobalStoresComponent_7)), (_l()(), i1.ɵand(0, [[\"deleteAliasConfirmation\", 2]], null, 0, null, View_GlobalStoresComponent_8))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isProcessing; _ck(_v, 10, 0, currVal_0); var currVal_1 = !_co.isProcessing; _ck(_v, 12, 0, currVal_1); }, null); }\nexport function View_GlobalStoresComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-global-stores\", [], null, null, null, View_GlobalStoresComponent_0, RenderType_GlobalStoresComponent)), i1.ɵdid(1, 114688, null, 0, i8.GlobalStoresComponent, [i9.StoreApiService, i10.BsModalService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar GlobalStoresComponentNgFactory = i1.ɵccf(\"app-global-stores\", i8.GlobalStoresComponent, View_GlobalStoresComponent_Host_0, {}, {}, []);\nexport { GlobalStoresComponentNgFactory as GlobalStoresComponentNgFactory };\n","
\n
\n
\n

Global Retailers

\n
Changes here will affect all Programs.
\n

Retailer names and Aliases are not case-sensitive.

\n
\n
\n
\n \n
\n \n {{ alert.message }}\n
\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n Add Retailer
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameAliases
{{ store.name }}\n
    \n
  • \n
  • {{ alias.name }}
  • \n
\n
\n
\n
\n
\n
\n\n\n
\n

Create Retailers

\n \n
\n
\n
\n \n \n
\n \n
\n
\n\n\n
\n

Create Aliases for {{ selectedStoreForAlias.name }}

\n \n
\n
\n
\n \n \n
\n \n
\n
\n\n\n
\n

Remove Alias

\n \n
\n
\n Are you sure you want to remove {{ selectedAlias.name }} from {{ selectedStoreForAlias.name }}?\n
\n \n \n
\n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"ul.aliases[_ngcontent-%COMP%] {\\n list-style-type: none;\\n padding-left: 0;\\n}\\n\\nul.aliases[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\\n float: left;\\n border: 1px solid #cecece;\\n border-radius: 8px;\\n padding: 4px 8px;\\n}\\n\\nul.aliases[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3ZzdHMvd29yay8xL3Mvc3JjL2FwcC9zdG9yZS9wYWdlcy9nbG9iYWwtc3RvcmVzL2dsb2JhbC1zdG9yZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3N0b3JlL3BhZ2VzL2dsb2JhbC1zdG9yZXMvZ2xvYmFsLXN0b3Jlcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBQ0NGOztBREVBO0VBQ0UsZUFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvc3RvcmUvcGFnZXMvZ2xvYmFsLXN0b3Jlcy9nbG9iYWwtc3RvcmVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidWwuYWxpYXNlcyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG51bC5hbGlhc2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxudWwuYWxpYXNlcyBsaSBpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwidWwuYWxpYXNlcyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG51bC5hbGlhc2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxudWwuYWxpYXNlcyBsaSBpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSJdfQ== */\"];\nexport { styles as styles };\n","import { Component, OnInit, TemplateRef } from '@angular/core';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { StoreResultsModel } from '../../../shared/models/webapi/response/StoreResultsModel';\nimport { StoreModel } from '../../../shared/models/webapi/response/StoreModel';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { StoreAliasModel } from '../../../shared/models/webapi/response/store-alias.model';\n\n@Component({\n selector: 'app-global-stores',\n templateUrl: './global-stores.component.html',\n styleUrls: ['./global-stores.component.scss']\n})\nexport class GlobalStoresComponent implements OnInit {\n public isProcessing = true;\n storeResults: StoreResultsModel;\n hasStores = false;\n alert: Alert;\n public searchTerm = '';\n public filteredStores: Array = [];\n public createAliasModalRef: BsModalRef;\n public newAliasText = '';\n public deleteAliasModalRef: BsModalRef;\n public createModalRef: BsModalRef;\n public newRetailerText = '';\n public selectedStoreForAlias: StoreModel;\n public selectedAlias: StoreAliasModel;\n\n constructor(private storeApi: StoreApiService, private bsModalService: BsModalService) {}\n\n ngOnInit() {\n this.refreshStores();\n }\n\n private refreshStores(): void {\n this.storeApi.getStores().subscribe((storeResults: StoreResultsModel) => {\n if (storeResults) {\n this.storeResults = storeResults;\n this.hasStores = this.storeResults.stores.length > 0;\n this.filteredStores = this.storeResults.stores;\n this.filterStores(); // sort\n this.isProcessing = false;\n }\n });\n }\n\n clearTerm() {\n this.searchTerm = '';\n this.filterStores();\n }\n\n filterStores() {\n if (this.searchTerm.trim() === '') {\n this.filteredStores = this.storeResults.stores.sort(this.storeSort);\n return;\n }\n\n const searchString = this.searchTerm.trim().toLocaleLowerCase();\n\n const storeMatch = function(store: StoreModel): boolean {\n return store.name.toLocaleLowerCase().indexOf(searchString) > -1 || store.aliases.filter(a => a.name.toLocaleLowerCase().indexOf(searchString) > -1).length > 0;\n };\n\n // this.filteredStores = this.storeResults.stores.filter(x => x.name.toLocaleLowerCase().indexOf(this.searchTerm.trim().toLocaleLowerCase()) > -1).sort(this.storeSort);\n this.filteredStores = this.storeResults.stores.filter(storeMatch).sort(this.storeSort);\n }\n\n private storeSort = function(a: StoreModel, b: StoreModel) {\n return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : b.name.toLowerCase() > a.name.toLowerCase() ? -1 : 0;\n };\n\n openCreateStores(template: TemplateRef) {\n this.createModalRef = this.bsModalService.show(template);\n }\n\n openCreateAliases(store: StoreModel, template: TemplateRef) {\n this.selectedStoreForAlias = store;\n this.createAliasModalRef = this.bsModalService.show(template);\n }\n\n openDeleteAlias(store: StoreModel, alias: StoreAliasModel, template: TemplateRef) {\n this.selectedStoreForAlias = store;\n this.selectedAlias = alias;\n this.deleteAliasModalRef = this.bsModalService.show(template);\n }\n\n deleteAlias() {\n this.alert = undefined;\n this.isProcessing = true;\n this.deleteAliasModalRef.hide();\n\n this.storeApi.deleteAliasForStore(this.selectedStoreForAlias, this.selectedAlias).subscribe(\n () => {\n this.refreshStores();\n },\n errorResponse => {\n const error = errorResponse.error;\n this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n const err = error.errors[0];\n this.alert = Alert.danger(err.message);\n } else {\n this.alert = Alert.danger('Unknown error deleting aliases.');\n }\n }\n );\n }\n\n createStores() {\n this.alert = undefined;\n this.newRetailerText = this.newRetailerText.trim();\n\n const newStoreTexts: Array = [];\n this.newRetailerText.split('\\n').forEach(text => {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newStoreTexts.find(x => x.toLowerCase() === text.toLowerCase())) {\n return;\n }\n newStoreTexts.push(text);\n }, this);\n\n this.createModalRef.hide();\n\n if (newStoreTexts.length === 0) {\n return;\n }\n\n this.isProcessing = true;\n\n this.storeApi.createGlobalStores(newStoreTexts).subscribe(\n () => {\n this.newRetailerText = '';\n this.refreshStores();\n },\n errorResponse => {\n const error = errorResponse.error;\n this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n const err = error.errors[0];\n this.alert = Alert.danger(err.message);\n } else {\n this.alert = Alert.danger('Unknown error adding Retailers.');\n }\n }\n );\n }\n\n createAliases() {\n this.alert = undefined;\n this.newAliasText = this.newAliasText.trim();\n\n const newAliases: Array = [];\n this.newAliasText.split('\\n').forEach(text => {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newAliases.find(x => x.toLowerCase() === text.toLowerCase())) {\n return;\n }\n newAliases.push(text);\n }, this);\n\n this.createAliasModalRef.hide();\n if (newAliases.length === 0) {\n return;\n }\n\n this.isProcessing = true;\n\n this.storeApi.createAliasesForStore(this.selectedStoreForAlias, newAliases).subscribe(\n () => {\n this.newAliasText = '';\n this.refreshStores();\n },\n errorResponse => {\n const error = errorResponse.error;\n this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n const err = error.errors[0];\n this.alert = Alert.danger(err.message);\n } else {\n this.alert = Alert.danger('Unknown error adding aliases.');\n }\n }\n );\n }\n}\n","import { OnInit, TemplateRef } from '@angular/core';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { Alert } from '../../../shared/models/alert.model';\nvar GlobalStoresComponent = /** @class */ (function () {\n function GlobalStoresComponent(storeApi, bsModalService) {\n this.storeApi = storeApi;\n this.bsModalService = bsModalService;\n this.isProcessing = true;\n this.hasStores = false;\n this.searchTerm = '';\n this.filteredStores = [];\n this.newAliasText = '';\n this.newRetailerText = '';\n this.storeSort = function (a, b) {\n return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : b.name.toLowerCase() > a.name.toLowerCase() ? -1 : 0;\n };\n }\n GlobalStoresComponent.prototype.ngOnInit = function () {\n this.refreshStores();\n };\n GlobalStoresComponent.prototype.refreshStores = function () {\n var _this = this;\n this.storeApi.getStores().subscribe(function (storeResults) {\n if (storeResults) {\n _this.storeResults = storeResults;\n _this.hasStores = _this.storeResults.stores.length > 0;\n _this.filteredStores = _this.storeResults.stores;\n _this.filterStores(); // sort\n _this.isProcessing = false;\n }\n });\n };\n GlobalStoresComponent.prototype.clearTerm = function () {\n this.searchTerm = '';\n this.filterStores();\n };\n GlobalStoresComponent.prototype.filterStores = function () {\n if (this.searchTerm.trim() === '') {\n this.filteredStores = this.storeResults.stores.sort(this.storeSort);\n return;\n }\n var searchString = this.searchTerm.trim().toLocaleLowerCase();\n var storeMatch = function (store) {\n return store.name.toLocaleLowerCase().indexOf(searchString) > -1 || store.aliases.filter(function (a) { return a.name.toLocaleLowerCase().indexOf(searchString) > -1; }).length > 0;\n };\n // this.filteredStores = this.storeResults.stores.filter(x => x.name.toLocaleLowerCase().indexOf(this.searchTerm.trim().toLocaleLowerCase()) > -1).sort(this.storeSort);\n this.filteredStores = this.storeResults.stores.filter(storeMatch).sort(this.storeSort);\n };\n GlobalStoresComponent.prototype.openCreateStores = function (template) {\n this.createModalRef = this.bsModalService.show(template);\n };\n GlobalStoresComponent.prototype.openCreateAliases = function (store, template) {\n this.selectedStoreForAlias = store;\n this.createAliasModalRef = this.bsModalService.show(template);\n };\n GlobalStoresComponent.prototype.openDeleteAlias = function (store, alias, template) {\n this.selectedStoreForAlias = store;\n this.selectedAlias = alias;\n this.deleteAliasModalRef = this.bsModalService.show(template);\n };\n GlobalStoresComponent.prototype.deleteAlias = function () {\n var _this = this;\n this.alert = undefined;\n this.isProcessing = true;\n this.deleteAliasModalRef.hide();\n this.storeApi.deleteAliasForStore(this.selectedStoreForAlias, this.selectedAlias).subscribe(function () {\n _this.refreshStores();\n }, function (errorResponse) {\n var error = errorResponse.error;\n _this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n var err = error.errors[0];\n _this.alert = Alert.danger(err.message);\n }\n else {\n _this.alert = Alert.danger('Unknown error deleting aliases.');\n }\n });\n };\n GlobalStoresComponent.prototype.createStores = function () {\n var _this = this;\n this.alert = undefined;\n this.newRetailerText = this.newRetailerText.trim();\n var newStoreTexts = [];\n this.newRetailerText.split('\\n').forEach(function (text) {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newStoreTexts.find(function (x) { return x.toLowerCase() === text.toLowerCase(); })) {\n return;\n }\n newStoreTexts.push(text);\n }, this);\n this.createModalRef.hide();\n if (newStoreTexts.length === 0) {\n return;\n }\n this.isProcessing = true;\n this.storeApi.createGlobalStores(newStoreTexts).subscribe(function () {\n _this.newRetailerText = '';\n _this.refreshStores();\n }, function (errorResponse) {\n var error = errorResponse.error;\n _this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n var err = error.errors[0];\n _this.alert = Alert.danger(err.message);\n }\n else {\n _this.alert = Alert.danger('Unknown error adding Retailers.');\n }\n });\n };\n GlobalStoresComponent.prototype.createAliases = function () {\n var _this = this;\n this.alert = undefined;\n this.newAliasText = this.newAliasText.trim();\n var newAliases = [];\n this.newAliasText.split('\\n').forEach(function (text) {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newAliases.find(function (x) { return x.toLowerCase() === text.toLowerCase(); })) {\n return;\n }\n newAliases.push(text);\n }, this);\n this.createAliasModalRef.hide();\n if (newAliases.length === 0) {\n return;\n }\n this.isProcessing = true;\n this.storeApi.createAliasesForStore(this.selectedStoreForAlias, newAliases).subscribe(function () {\n _this.newAliasText = '';\n _this.refreshStores();\n }, function (errorResponse) {\n var error = errorResponse.error;\n _this.isProcessing = false;\n console.log(error);\n if (error.errors && error.errors.length > 0) {\n var err = error.errors[0];\n _this.alert = Alert.danger(err.message);\n }\n else {\n _this.alert = Alert.danger('Unknown error adding aliases.');\n }\n });\n };\n return GlobalStoresComponent;\n}());\nexport { GlobalStoresComponent };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./stores.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"../../../shared/widgets/folding-cube/folding-cube.component.ngfactory\";\nimport * as i5 from \"../../../shared/widgets/folding-cube/folding-cube.component\";\nimport * as i6 from \"../../../../../node_modules/ngx-ui-switch/index.ngfactory\";\nimport * as i7 from \"ngx-ui-switch\";\nimport * as i8 from \"./stores.component\";\nimport * as i9 from \"@angular/router\";\nimport * as i10 from \"../../../core/apis/moderation-api/program-api.service\";\nimport * as i11 from \"../../../core/apis/moderation-api/store-api.service\";\nimport * as i12 from \"ngx-bootstrap/modal\";\nimport * as i13 from \"ngx-cookie-service/cookie-service/cookie.service\";\nvar styles_StoresComponent = [i0.styles];\nvar RenderType_StoresComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_StoresComponent, data: {} });\nexport { RenderType_StoresComponent as RenderType_StoresComponent };\nfunction View_StoresComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.name; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_StoresComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 18, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 17, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 16, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [[\"class\", \"form-label\"], [\"for\", \"program-name\"], [\"id\", \"program-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Program\"])), (_l()(), i1.ɵeld(5, 0, null, null, 13, \"select\", [[\"class\", \"form-control\"], [\"id\", \"program-name\"], [\"name\", \"program-name\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedProgram = $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"change\" === en)) {\n var pd_3 = (_co.onSelectProgram() !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(7, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(10, 671744, [[\"programName\", 4]], 0, i2.NgModel, [[8, null], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(12, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(13, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(14, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(15, 147456, null, 0, i2.ɵangular_packages_forms_forms_s, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Please Select...\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_2)), i1.ɵdid(18, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = \"\"; _ck(_v, 7, 0, currVal_8); var currVal_9 = \"program-name\"; var currVal_10 = _co.selectedProgram; _ck(_v, 10, 0, currVal_9, currVal_10); var currVal_11 = undefined; _ck(_v, 14, 0, currVal_11); var currVal_12 = undefined; _ck(_v, 15, 0, currVal_12); var currVal_13 = _co.programs; _ck(_v, 18, 0, currVal_13); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 7).required ? \"\" : null); var currVal_1 = i1.ɵnov(_v, 12).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 12).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 12).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 12).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 12).ngClassValid; var currVal_6 = i1.ɵnov(_v, 12).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 12).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_StoresComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"center-stage\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-folding-cube\", [], null, null, null, i4.View_FoldingCubeComponent_0, i4.RenderType_FoldingCubeComponent)), i1.ɵdid(2, 114688, null, 0, i5.FoldingCubeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_StoresComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 4, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"No retailers created. \"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"a\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenCreate(i1.ɵnov(_v.parent.parent, 9)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\">Create one\"])), (_l()(), i1.ɵted(-1, null, [\" now.\"]))], null, null); }\nfunction View_StoresComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"input\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"], [\"value\", \"Delete\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenDelete(i1.ɵnov(_v.parent.parent, 11)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nfunction View_StoresComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"input\", [[\"class\", \"btn\"], [\"type\", \"button\"], [\"value\", \"Edit\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenEdit(i1.ɵnov(_v.parent.parent, 10)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nfunction View_StoresComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa-spin fa-spinner fa\"]], null, null, null, null, null))], null, null); }\nfunction View_StoresComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-times error\"], [\"title\", \"Error updating auto-approve flag.\"]], null, null, null, null, null))], null, null); }\nfunction View_StoresComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, \"div\", [[\"class\", \"card\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 22, \"div\", [[\"class\", \"card-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 8, \"h5\", [[\"class\", \"card-title\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 7, \"label\", [], [[8, \"htmlFor\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 5, \"input\", [[\"name\", \"selectedStores\"], [\"type\", \"checkbox\"]], [[8, \"id\", 0], [8, \"value\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"change\"], [null, \"ngModelChange\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"change\" === en)) {\n var pd_2 = (_co.onSelectStore(_v.context.$implicit, $event) !== false);\n ad = (pd_2 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_3 = ((_v.context.$implicit.selected = $event) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(7, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(9, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵted(10, null, [\" \", \"\"])), (_l()(), i1.ɵeld(11, 0, null, null, 12, \"p\", [[\"class\", \"card-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Auto-Approve\"])), (_l()(), i1.ɵeld(14, 0, null, null, 5, \"ui-switch\", [[\"checkedLabel\", \"Enabled\"], [\"name\", \"shouldAutoApprove\"], [\"uncheckedLabel\", \"Disabled\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 15).onToggle($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = ((_v.context.$implicit.shouldAutoApprove = $event) !== false);\n ad = (pd_1 && ad);\n } if ((\"change\" === en)) {\n var pd_2 = (_co.toggleShouldAutoApprove(_v.context.$implicit) !== false);\n ad = (pd_2 && ad);\n } return ad; }, i6.View_UiSwitchComponent_0, i6.RenderType_UiSwitchComponent)), i1.ɵdid(15, 49152, null, 0, i7.UiSwitchComponent, [[2, i7.ɵa], i1.ChangeDetectorRef], { checkedLabel: [0, \"checkedLabel\"], uncheckedLabel: [1, \"uncheckedLabel\"] }, { change: \"change\" }), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.UiSwitchComponent]), i1.ɵdid(17, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(19, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_9)), i1.ɵdid(21, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_10)), i1.ɵdid(23, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_10 = \"selectedStores\"; var currVal_11 = _v.context.$implicit.selected; _ck(_v, 7, 0, currVal_10, currVal_11); var currVal_20 = \"Enabled\"; var currVal_21 = \"Disabled\"; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = \"shouldAutoApprove\"; var currVal_23 = _v.context.$implicit.shouldAutoApprove; _ck(_v, 17, 0, currVal_22, currVal_23); var currVal_24 = _v.context.$implicit.autoApproveUpdating; _ck(_v, 21, 0, currVal_24); var currVal_25 = _v.context.$implicit.autoApproveHadError; _ck(_v, 23, 0, currVal_25); }, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"check\", _v.context.index, \"\"); _ck(_v, 3, 0, currVal_0); var currVal_1 = i1.ɵinlineInterpolate(1, \"check\", _v.context.index, \"\"); var currVal_2 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.storeKey, \"\"); var currVal_3 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 9).ngClassValid; var currVal_8 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_12 = _v.context.$implicit.name; _ck(_v, 10, 0, currVal_12); var currVal_13 = i1.ɵnov(_v, 19).ngClassUntouched; var currVal_14 = i1.ɵnov(_v, 19).ngClassTouched; var currVal_15 = i1.ɵnov(_v, 19).ngClassPristine; var currVal_16 = i1.ɵnov(_v, 19).ngClassDirty; var currVal_17 = i1.ɵnov(_v, 19).ngClassValid; var currVal_18 = i1.ɵnov(_v, 19).ngClassInvalid; var currVal_19 = i1.ɵnov(_v, 19).ngClassPending; _ck(_v, 14, 0, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19); }); }\nfunction View_StoresComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"input\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"], [\"value\", \"Delete\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenDelete(i1.ɵnov(_v.parent.parent, 11)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nfunction View_StoresComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"input\", [[\"class\", \"btn\"], [\"type\", \"button\"], [\"value\", \"Edit\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenEdit(i1.ɵnov(_v.parent.parent, 10)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nfunction View_StoresComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 49, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 10, \"div\", [[\"class\", \"pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 9, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 5, \"input\", [[\"class\", \"form-control\"], [\"id\", \"txtSearchTerm\"], [\"placeholder\", \"Search Retailers\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keyup\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchTerm = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"keyup\" === en)) {\n var pd_5 = (_co.filterStores() !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(6, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(8, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 2, \"div\", [[\"class\", \"input-group-append cursor-pointer\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clearTerm() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"span\", [[\"class\", \"input-group-text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-times cursor-pointer\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_4)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_5)), i1.ɵdid(15, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 11, \"div\", [[\"class\", \"pull-right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 5, \"input\", [[\"id\", \"chkSelectAll\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"change\"], [null, \"ngModelChange\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"change\" === en)) {\n var pd_2 = (_co.onSelectAllStores() !== false);\n ad = (pd_2 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_3 = ((_co.allSelected = $event) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(20, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(22, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(23, 0, null, null, 1, \"label\", [[\"for\", \"chkSelectAll\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Select All\"])), (_l()(), i1.ɵeld(25, 0, null, null, 2, \"a\", [[\"class\", \"btn btn-outline-info ml-2 text-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onOpenCreate(i1.ɵnov(_v.parent, 9)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 0, \"span\", [[\"class\", \"fa fa-plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Add Retailer\"])), (_l()(), i1.ɵeld(28, 0, null, null, 0, \"br\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 0, \"hr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 4, \"div\", [[\"class\", \"pull-right\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_6)), i1.ɵdid(32, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_7)), i1.ɵdid(34, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(35, 0, null, null, 0, \"br\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 0, \"hr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(37, 0, null, null, 3, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(38, 0, null, null, 2, \"div\", [[\"class\", \"card-columns\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_8)), i1.ɵdid(40, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(41, 0, null, null, 0, \"br\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(42, 0, null, null, 0, \"hr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(43, 0, null, null, 4, \"div\", [[\"class\", \"pull-right\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_11)), i1.ɵdid(45, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_12)), i1.ɵdid(47, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(48, 0, null, null, 0, \"br\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(49, 0, null, null, 0, \"hr\", [], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.searchTerm; _ck(_v, 6, 0, currVal_7); var currVal_8 = _co.isProcessing; _ck(_v, 13, 0, currVal_8); var currVal_9 = (!_co.isProcessing && !_co.hasStores); _ck(_v, 15, 0, currVal_9); var currVal_17 = _co.allSelected; _ck(_v, 20, 0, currVal_17); var currVal_18 = (_co.selectedStores.length > 0); _ck(_v, 32, 0, currVal_18); var currVal_19 = (_co.selectedStores.length === 1); _ck(_v, 34, 0, currVal_19); var currVal_20 = _co.filteredStores; _ck(_v, 40, 0, currVal_20); var currVal_21 = (_co.selectedStores.length > 0); _ck(_v, 45, 0, currVal_21); var currVal_22 = (_co.selectedStores.length === 1); _ck(_v, 47, 0, currVal_22); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_10 = i1.ɵnov(_v, 22).ngClassUntouched; var currVal_11 = i1.ɵnov(_v, 22).ngClassTouched; var currVal_12 = i1.ɵnov(_v, 22).ngClassPristine; var currVal_13 = i1.ɵnov(_v, 22).ngClassDirty; var currVal_14 = i1.ɵnov(_v, 22).ngClassValid; var currVal_15 = i1.ɵnov(_v, 22).ngClassInvalid; var currVal_16 = i1.ɵnov(_v, 22).ngClassPending; _ck(_v, 17, 0, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16); }); }\nfunction View_StoresComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Create Retailers\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.createModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 12, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 9, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Names (1 per line): \"])), (_l()(), i1.ɵeld(10, 0, null, null, 6, \"textarea\", [[\"class\", \"form-group\"], [\"cols\", \"50\"], [\"rows\", \"10\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.newRetailerText = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(13, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(15, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-success\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onCreateStores() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Add\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.newRetailerText; _ck(_v, 13, 0, currVal_7); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 15).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 15).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 15).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 15).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 15).ngClassValid; var currVal_5 = i1.ɵnov(_v, 15).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 15).ngClassPending; _ck(_v, 10, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_StoresComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Edit Retailer\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.editModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 11, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 8, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Name: \"])), (_l()(), i1.ɵeld(10, 0, null, null, 5, \"input\", [[\"class\", \"form-control\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 11)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 11).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 11)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 11)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.editStore.name = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(13, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(15, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(16, 0, null, null, 1, \"button\", [[\"class\", \"btn btn-success\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onEditStore() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Edit\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.editStore.name; _ck(_v, 13, 0, currVal_7); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 15).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 15).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 15).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 15).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 15).ngClassValid; var currVal_5 = i1.ɵnov(_v, 15).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 15).ngClassPending; _ck(_v, 10, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_StoresComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"modal-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h4\", [[\"class\", \"modal-title pull-left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Remove Retailer(s)\"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"button\", [[\"aria-label\", \"Close\"], [\"class\", \"close pull-right\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"aria-hidden\", \"true\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(6, 0, null, null, 4, \"div\", [[\"class\", \"modal-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"Are you sure you want to remove \", \" store(s) from \", \"?\"])), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"input\", [[\"class\", \"btn btn-danger\"], [\"type\", \"button\"], [\"value\", \"YES\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onDeleteConfirmed() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 0, \"input\", [[\"class\", \"btn btn-success\"], [\"type\", \"button\"], [\"value\", \"NO\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteModalRef.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedStores.length.toString(); var currVal_1 = _co.selectedProgram.name; _ck(_v, 8, 0, currVal_0, currVal_1); }); }\nexport function View_StoresComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"div\", [[\"class\", \"row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"div\", [[\"class\", \"col-10\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retailers\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_1)), i1.ɵdid(6, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_StoresComponent_3)), i1.ɵdid(8, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, [[\"createTemplate\", 2]], null, 0, null, View_StoresComponent_13)), (_l()(), i1.ɵand(0, [[\"editTemplate\", 2]], null, 0, null, View_StoresComponent_14)), (_l()(), i1.ɵand(0, [[\"deleteConfirmation\", 2]], null, 0, null, View_StoresComponent_15))], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoadingPrograms; _ck(_v, 6, 0, currVal_0); var currVal_1 = (_co.selectedProgram && !_co.isProcessing); _ck(_v, 8, 0, currVal_1); }, null); }\nexport function View_StoresComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-stores\", [], null, null, null, View_StoresComponent_0, RenderType_StoresComponent)), i1.ɵdid(1, 4308992, null, 0, i8.StoresComponent, [i9.ActivatedRoute, i10.ProgramApiService, i11.StoreApiService, i9.Router, i3.DatePipe, i12.BsModalService, i13.CookieService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar StoresComponentNgFactory = i1.ɵccf(\"app-stores\", i8.StoresComponent, View_StoresComponent_Host_0, {}, {}, []);\nexport { StoresComponentNgFactory as StoresComponentNgFactory };\n","
\n
\n
\n

Retailers

\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
No retailers created. >Create one now.
\n
\n\n
\n \n Add Retailer\n
\n
\n
\n
\n 0\" (click)=\"onOpenDelete(deleteConfirmation)\" type=\"button\" value=\"Delete\" class=\"btn btn-danger\">\n \n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n \n \n \n

\n
\n
\n
\n
\n
\n
\n
\n 0\" (click)=\"onOpenDelete(deleteConfirmation)\" type=\"button\" value=\"Delete\" class=\"btn btn-danger\">\n \n
\n
\n
\n\n
\n
\n\n\n
\n

Create Retailers

\n \n
\n
\n
\n \n \n
\n \n
\n
\n\n\n
\n

Edit Retailer

\n \n
\n
\n
\n \n \n
\n \n
\n
\n\n\n
\n

Remove Retailer(s)

\n \n
\n
\n Are you sure you want to remove {{ selectedStores.length.toString() }} store(s) from {{ selectedProgram.name }}?\n \n \n
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3N0b3JlL3BhZ2VzL3N0b3Jlcy9zdG9yZXMuY29tcG9uZW50LnNjc3MifQ== */\"];\nexport { styles as styles };\n","import * as tslib_1 from \"tslib\";\nimport { OnInit, AfterViewInit, TemplateRef } from '@angular/core';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { DatePipe } from '@angular/common';\nimport { StoreModel } from '../../../shared/models/webapi/response/StoreModel';\nimport { StoreResultsModel } from '../../../shared/models/webapi/response/StoreResultsModel';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { CreateEditStoreModel } from '../../../shared/models/webapi/request/CreateEditStoreModel';\nimport { Constants } from '../../../constants';\nimport { CookieService } from 'ngx-cookie-service';\nvar StoresComponent = /** @class */ (function () {\n function StoresComponent(route, programApi, storeApi, router, datePipe, bsModalService, cookieService) {\n this.route = route;\n this.programApi = programApi;\n this.storeApi = storeApi;\n this.router = router;\n this.datePipe = datePipe;\n this.bsModalService = bsModalService;\n this.cookieService = cookieService;\n // store related\n this.programStores = new StoreResultsModel();\n this.hasStores = false;\n this.selectedStores = [];\n // filtering related\n this.searchTerm = '';\n this.filteredStores = [];\n // page directives\n this.isProcessing = true;\n this.allSelected = false;\n this.newRetailerText = '';\n this.storeSort = function (a, b) {\n return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : b.name.toLowerCase() > a.name.toLowerCase() ? -1 : 0;\n };\n this.programStores.stores = new Array();\n }\n StoresComponent.prototype.ngOnInit = function () {\n var _this = this;\n this.isLoadingPrograms = true;\n this.programApi.getPrograms().subscribe(function (model) {\n _this.programs = model.programs;\n _this.isLoadingPrograms = false;\n if (_this.programs.length === 0) {\n _this.alert = Alert.danger('No programs available for this account', 30000);\n }\n else if (_this.programs.length === 1) {\n _this.selectedProgram = _this.programs[0];\n _this.onSelectProgram();\n }\n else if (_this.cookieService.get(Constants.HeaderProgramKey)) {\n var programKey_1 = _this.cookieService.get(Constants.HeaderProgramKey);\n _this.selectedProgram = _this.programs.filter(function (p) { return p.programKey === programKey_1; })[0];\n _this.onSelectProgram();\n }\n });\n };\n StoresComponent.prototype.onOpenCreate = function (template) {\n this.createModalRef = this.bsModalService.show(template);\n };\n StoresComponent.prototype.onOpenEdit = function (template) {\n // open the edit modal\n this.editStore = tslib_1.__assign({}, this.selectedStores[0]);\n this.editModalRef = this.bsModalService.show(template);\n };\n StoresComponent.prototype.onOpenDelete = function (template) {\n this.deleteModalRef = this.bsModalService.show(template);\n };\n StoresComponent.prototype.onDeleteConfirmed = function () {\n var _this = this;\n this.deleteModalRef.hide();\n this.selectedStores.forEach(function (store) {\n _this.storeApi.deleteStore(store, _this.selectedProgram.programKey).subscribe(function () {\n _this.selectedStores.splice(_this.selectedStores.indexOf(store), 1);\n _this.programStores.stores.splice(_this.programStores.stores.indexOf(store), 1);\n _this.filterStores();\n });\n }, this);\n };\n StoresComponent.prototype.onEditStore = function () {\n var _this = this;\n // update the model\n this.editStore.name = this.editStore.name.trim();\n this.editModalRef.hide();\n if (this.editStore.name === '') {\n return;\n }\n this.isProcessing = true;\n this.storeApi.updateStore(this.editStore, this.selectedProgram.programKey).subscribe(function (storeKey) {\n _this.isProcessing = false;\n if (_this.editStore.storeKey === storeKey.key) {\n var existingStore = _this.programStores.stores.find(function (x) { return x.storeKey === storeKey.key; });\n existingStore.name = _this.editStore.name;\n _this.filterStores(); // update sorting\n return;\n }\n var removedStore = _this.programStores.stores.find(function (x) { return x.storeKey === _this.editStore.storeKey; });\n _this.programStores.stores.splice(_this.programStores.stores.indexOf(removedStore), 1);\n _this.selectedStores = new Array();\n if (!_this.programStores.stores.find(function (x) { return x.storeKey === storeKey.key; })) {\n _this.editStore.storeKey = storeKey.key;\n _this.programStores.stores.push(_this.editStore);\n }\n else {\n var match = _this.programStores.stores.find(function (x) { return x.storeKey === storeKey.key; });\n match.selected = true;\n _this.selectedStores.push(match);\n }\n _this.filterStores();\n });\n };\n StoresComponent.prototype.onSelectProgram = function () {\n var _this = this;\n if (this.selectedProgram) {\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.isProcessing = true;\n this.storeApi.getStoresForProgram(this.selectedProgram.programKey).subscribe(function (storeResults) {\n if (storeResults) {\n _this.programStores = storeResults;\n _this.hasStores = _this.programStores.stores.length > 0;\n _this.filteredStores = _this.programStores.stores;\n _this.filterStores(); // sort\n _this.isProcessing = false;\n }\n else {\n // TODO: Send them somewhere important\n _this.router.navigateByUrl('/unauthorized');\n }\n });\n }\n else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n };\n StoresComponent.prototype.onSelectStore = function (store) {\n if (store.selected) {\n this.selectedStores.push(store);\n if (this.selectedStores.length === this.programStores.stores.length) {\n this.allSelected = true;\n }\n }\n else {\n this.selectedStores.splice(this.selectedStores.indexOf(store), 1);\n if (this.selectedStores.length === 0) {\n this.allSelected = false;\n }\n }\n };\n StoresComponent.prototype.onSelectAllStores = function () {\n var _this = this;\n this.programStores.stores.filter(function (x) { return x.selected !== _this.allSelected; }).forEach(function (store) {\n store.selected = _this.allSelected;\n _this.onSelectStore(store);\n }, this);\n };\n StoresComponent.prototype.ngAfterViewInit = function () { };\n StoresComponent.prototype.clearResults = function () {\n this.programStores = new StoreResultsModel();\n this.programStores.stores = new Array();\n this.selectedStores = new Array();\n this.isProcessing = false;\n this.searchTerm = '';\n this.filteredStores = new Array();\n };\n StoresComponent.prototype.filterStores = function () {\n var _this = this;\n if (this.searchTerm.trim() === '') {\n this.filteredStores = this.programStores.stores.sort(this.storeSort);\n return;\n }\n this.filteredStores = this.programStores.stores\n .filter(function (x) { return x.name.toLocaleLowerCase().indexOf(_this.searchTerm.trim().toLocaleLowerCase()) > -1; })\n .sort(this.storeSort);\n };\n StoresComponent.prototype.clearTerm = function () {\n this.searchTerm = '';\n this.filterStores();\n };\n StoresComponent.prototype.onCreateStores = function () {\n var _this = this;\n this.newRetailerText = this.newRetailerText.trim();\n var newRetailerTexts = [];\n this.newRetailerText.split('\\n').forEach(function (text) {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newRetailerTexts.find(function (x) { return x.toLowerCase() === text.toLowerCase(); })) {\n return;\n }\n newRetailerTexts.push(text);\n }, this);\n this.createModalRef.hide();\n if (newRetailerTexts.length === 0) {\n return;\n }\n this.isProcessing = true; // Display the loader gif\n newRetailerTexts.forEach(function (text) {\n var existingStore = _this.programStores.stores.find(function (x) { return x.name.toLocaleLowerCase() === text.toLocaleLowerCase(); });\n if (existingStore) {\n // the store name already exists, but possibly cased differently\n if (text === existingStore.name) {\n return;\n } // the names are exactly the same\n existingStore.name = text; // the name is only cased differently, and will not be updated in data\n return;\n }\n var createStore = new CreateEditStoreModel();\n createStore.programKey = _this.selectedProgram.programKey;\n createStore.name = text;\n _this.storeApi.createStore(createStore, _this.selectedProgram.programKey).subscribe(function (keyResult) {\n var newStore = new StoreModel();\n newStore.name = text;\n newStore.selected = false;\n newStore.storeKey = keyResult.key;\n _this.programStores.stores.push(newStore);\n _this.filterStores();\n });\n }, this);\n this.isProcessing = false; // Hide the loader gif, would be nice to track the threads and turn this off after all threads complete.\n };\n StoresComponent.prototype.toggleShouldAutoApprove = function (store) {\n store.autoApproveUpdating = true;\n store.autoApproveHadError = false;\n this.storeApi.setStoreAutoApprove(this.selectedProgram.programKey, store.storeKey, !store.shouldAutoApprove).subscribe(function (_) {\n store.autoApproveUpdating = false;\n }, function (_) {\n store.autoApproveUpdating = false;\n store.autoApproveHadError = true;\n store.shouldAutoApprove = !store.shouldAutoApprove;\n });\n };\n return StoresComponent;\n}());\nexport { StoresComponent };\n","import { Component, OnInit, ViewChild, AfterViewInit, ViewEncapsulation, TemplateRef } from '@angular/core';\nimport { Alert } from '../../../shared/models/alert.model';\nimport { ActivatedRoute, CanActivateChild, Router } from '@angular/router';\nimport { ProgramApiService } from '../../../core/apis/moderation-api/program-api.service';\nimport { StoreApiService } from '../../../core/apis/moderation-api/store-api.service';\nimport { DatePipe } from '@angular/common';\nimport { StoreModel } from '../../../shared/models/webapi/response/StoreModel';\nimport { StoreResultsModel } from '../../../shared/models/webapi/response/StoreResultsModel';\nimport { ProgramModel } from '../../../shared/models/webapi/response/ProgramModel';\nimport { ProgramResultsModel } from '../../../shared/models/webapi/response/ProgramResultsModel';\nimport { Subject } from 'rxjs';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { CreateEditStoreModel } from '../../../shared/models/webapi/request/CreateEditStoreModel';\nimport { KeyResult } from '../../../shared/models/key-result.model';\nimport { Constants } from '../../../constants';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Component({\n selector: 'app-stores',\n templateUrl: './stores.component.html',\n styleUrls: ['./stores.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class StoresComponent implements OnInit, AfterViewInit {\n public alert: Alert;\n public isLoadingPrograms: boolean;\n\n // program related\n public selectedProgram: ProgramModel;\n public programs: Array;\n\n // store related\n public programStores: StoreResultsModel = new StoreResultsModel();\n public hasStores = false;\n public selectedStores: Array = [];\n\n // filtering related\n public searchTerm = '';\n public filteredStores: Array = [];\n\n // page directives\n public isProcessing = true;\n public allSelected = false;\n\n // create\n public createModalRef: BsModalRef;\n public newRetailerText = '';\n\n // edit\n public editModalRef: BsModalRef;\n public editStore: StoreModel;\n\n // delete\n public deleteModalRef: BsModalRef;\n\n constructor(\n private route: ActivatedRoute,\n private programApi: ProgramApiService,\n private storeApi: StoreApiService,\n private router: Router,\n private datePipe: DatePipe,\n private bsModalService: BsModalService,\n private cookieService: CookieService\n ) {\n this.programStores.stores = new Array();\n }\n\n ngOnInit() {\n this.isLoadingPrograms = true;\n this.programApi.getPrograms().subscribe((model: ProgramResultsModel) => {\n this.programs = model.programs;\n this.isLoadingPrograms = false;\n if (this.programs.length === 0) {\n this.alert = Alert.danger('No programs available for this account', 30000);\n } else if (this.programs.length === 1) {\n this.selectedProgram = this.programs[0];\n this.onSelectProgram();\n } else if (this.cookieService.get(Constants.HeaderProgramKey)) {\n const programKey = this.cookieService.get(Constants.HeaderProgramKey);\n this.selectedProgram = this.programs.filter(p => p.programKey === programKey)[0];\n this.onSelectProgram();\n }\n });\n }\n\n onOpenCreate(template: TemplateRef) {\n this.createModalRef = this.bsModalService.show(template);\n }\n\n onOpenEdit(template: TemplateRef) {\n // open the edit modal\n this.editStore = { ...this.selectedStores[0] };\n this.editModalRef = this.bsModalService.show(template);\n }\n\n onOpenDelete(template: TemplateRef) {\n this.deleteModalRef = this.bsModalService.show(template);\n }\n\n onDeleteConfirmed() {\n this.deleteModalRef.hide();\n this.selectedStores.forEach(store => {\n this.storeApi.deleteStore(store, this.selectedProgram.programKey).subscribe(() => {\n this.selectedStores.splice(this.selectedStores.indexOf(store), 1);\n this.programStores.stores.splice(this.programStores.stores.indexOf(store), 1);\n this.filterStores();\n });\n }, this);\n }\n\n onEditStore() {\n // update the model\n this.editStore.name = this.editStore.name.trim();\n this.editModalRef.hide();\n if (this.editStore.name === '') {\n return;\n }\n this.isProcessing = true;\n this.storeApi.updateStore(this.editStore, this.selectedProgram.programKey).subscribe((storeKey: KeyResult) => {\n this.isProcessing = false;\n if (this.editStore.storeKey === storeKey.key) {\n const existingStore = this.programStores.stores.find(x => x.storeKey === storeKey.key);\n existingStore.name = this.editStore.name;\n this.filterStores(); // update sorting\n return;\n }\n const removedStore = this.programStores.stores.find(x => x.storeKey === this.editStore.storeKey);\n this.programStores.stores.splice(this.programStores.stores.indexOf(removedStore), 1);\n this.selectedStores = new Array();\n if (!this.programStores.stores.find(x => x.storeKey === storeKey.key)) {\n this.editStore.storeKey = storeKey.key;\n this.programStores.stores.push(this.editStore);\n } else {\n const match = this.programStores.stores.find(x => x.storeKey === storeKey.key);\n match.selected = true;\n this.selectedStores.push(match);\n }\n this.filterStores();\n });\n }\n\n onSelectProgram() {\n if (this.selectedProgram) {\n this.cookieService.set(Constants.HeaderProgramKey, this.selectedProgram.programKey);\n this.isProcessing = true;\n this.storeApi.getStoresForProgram(this.selectedProgram.programKey).subscribe((storeResults: StoreResultsModel) => {\n if (storeResults) {\n this.programStores = storeResults;\n this.hasStores = this.programStores.stores.length > 0;\n this.filteredStores = this.programStores.stores;\n this.filterStores(); // sort\n this.isProcessing = false;\n } else {\n // TODO: Send them somewhere important\n this.router.navigateByUrl('/unauthorized');\n }\n });\n } else {\n this.cookieService.delete(Constants.HeaderProgramKey);\n this.clearResults();\n }\n }\n\n onSelectStore(store: StoreModel) {\n if (store.selected) {\n this.selectedStores.push(store);\n if (this.selectedStores.length === this.programStores.stores.length) {\n this.allSelected = true;\n }\n } else {\n this.selectedStores.splice(this.selectedStores.indexOf(store), 1);\n if (this.selectedStores.length === 0) {\n this.allSelected = false;\n }\n }\n }\n\n onSelectAllStores() {\n this.programStores.stores.filter(x => x.selected !== this.allSelected).forEach(store => {\n store.selected = this.allSelected;\n this.onSelectStore(store);\n }, this);\n }\n\n ngAfterViewInit() {}\n\n clearResults() {\n this.programStores = new StoreResultsModel();\n this.programStores.stores = new Array();\n this.selectedStores = new Array();\n this.isProcessing = false;\n this.searchTerm = '';\n this.filteredStores = new Array();\n }\n\n filterStores() {\n if (this.searchTerm.trim() === '') {\n this.filteredStores = this.programStores.stores.sort(this.storeSort);\n return;\n }\n this.filteredStores = this.programStores.stores\n .filter(x => x.name.toLocaleLowerCase().indexOf(this.searchTerm.trim().toLocaleLowerCase()) > -1)\n .sort(this.storeSort);\n }\n\n storeSort = function(a: StoreModel, b: StoreModel) {\n return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : b.name.toLowerCase() > a.name.toLowerCase() ? -1 : 0;\n };\n\n clearTerm() {\n this.searchTerm = '';\n this.filterStores();\n }\n\n onCreateStores() {\n this.newRetailerText = this.newRetailerText.trim();\n\n const newRetailerTexts: Array = [];\n this.newRetailerText.split('\\n').forEach(text => {\n text = text.trim();\n if (text === '') {\n return;\n }\n if (newRetailerTexts.find(x => x.toLowerCase() === text.toLowerCase())) {\n return;\n }\n newRetailerTexts.push(text);\n }, this);\n\n this.createModalRef.hide();\n if (newRetailerTexts.length === 0) {\n return;\n }\n this.isProcessing = true; // Display the loader gif\n\n newRetailerTexts.forEach(text => {\n const existingStore: StoreModel = this.programStores.stores.find(x => x.name.toLocaleLowerCase() === text.toLocaleLowerCase());\n if (existingStore) {\n // the store name already exists, but possibly cased differently\n if (text === existingStore.name) {\n return;\n } // the names are exactly the same\n existingStore.name = text; // the name is only cased differently, and will not be updated in data\n return;\n }\n\n const createStore: CreateEditStoreModel = new CreateEditStoreModel();\n createStore.programKey = this.selectedProgram.programKey;\n createStore.name = text;\n\n this.storeApi.createStore(createStore, this.selectedProgram.programKey).subscribe((keyResult: KeyResult) => {\n const newStore: StoreModel = new StoreModel();\n newStore.name = text;\n newStore.selected = false;\n newStore.storeKey = keyResult.key;\n this.programStores.stores.push(newStore);\n this.filterStores();\n });\n }, this);\n\n this.isProcessing = false; // Hide the loader gif, would be nice to track the threads and turn this off after all threads complete.\n }\n\n public toggleShouldAutoApprove(store: StoreModel): void {\n store.autoApproveUpdating = true;\n store.autoApproveHadError = false;\n this.storeApi.setStoreAutoApprove(this.selectedProgram.programKey, store.storeKey, !store.shouldAutoApprove).subscribe(_ => {\n store.autoApproveUpdating = false;\n }, (_: any) => {\n store.autoApproveUpdating = false;\n store.autoApproveHadError = true;\n store.shouldAutoApprove = !store.shouldAutoApprove;\n });\n }\n}\n","import { StoresComponent } from './pages/stores/stores.component';\nimport { Routes, RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\nimport { StoreComponent } from './store.component';\nimport { GlobalStoresComponent } from './pages/global-stores/global-stores.component';\n\nconst storeRoutes: Routes = [\n {\n path: 'stores',\n component: StoreComponent,\n children: [\n { path: '', component: StoresComponent },\n { path: 'globals', component: GlobalStoresComponent}\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(storeRoutes)],\n exports: [RouterModule],\n providers: [\n ]\n})\nexport class StoreRoutingModule { }\n","import { StoresComponent } from './pages/stores/stores.component';\nimport { Routes } from '@angular/router';\nimport { StoreComponent } from './store.component';\nimport { GlobalStoresComponent } from './pages/global-stores/global-stores.component';\nvar storeRoutes = [\n {\n path: 'stores',\n component: StoreComponent,\n children: [\n { path: '', component: StoresComponent },\n { path: 'globals', component: GlobalStoresComponent }\n ]\n }\n];\nvar StoreRoutingModule = /** @class */ (function () {\n function StoreRoutingModule() {\n }\n return StoreRoutingModule;\n}());\nexport { StoreRoutingModule };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./store.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"./store.component\";\nvar styles_StoreComponent = [i0.styles];\nvar RenderType_StoreComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_StoreComponent, data: {} });\nexport { RenderType_StoreComponent as RenderType_StoreComponent };\nexport function View_StoreComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 16777216, null, null, 1, \"router-outlet\", [], null, null, null, null, null)), i1.ɵdid(1, 212992, null, 0, i2.RouterOutlet, [i2.ChildrenOutletContexts, i1.ViewContainerRef, i1.ComponentFactoryResolver, [8, null], i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nexport function View_StoreComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-store\", [], null, null, null, View_StoreComponent_0, RenderType_StoreComponent)), i1.ɵdid(1, 114688, null, 0, i3.StoreComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar StoreComponentNgFactory = i1.ɵccf(\"app-store\", i3.StoreComponent, View_StoreComponent_Host_0, {}, {}, []);\nexport { StoreComponentNgFactory as StoreComponentNgFactory };\n","\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3N0b3JlL3N0b3JlLmNvbXBvbmVudC5zY3NzIn0= */\"];\nexport { styles as styles };\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-store',\n templateUrl: './store.component.html',\n styleUrls: ['./store.component.scss']\n})\nexport class StoreComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { OnInit } from '@angular/core';\nvar StoreComponent = /** @class */ (function () {\n function StoreComponent() {\n }\n StoreComponent.prototype.ngOnInit = function () {\n };\n return StoreComponent;\n}());\nexport { StoreComponent };\n","import { StoreRoutingModule } from './store-routing.module';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { StoresComponent } from './pages/stores/stores.component';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { CoreModule } from '../core/core.module';\nimport { StoreComponent } from './store.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { DataTablesModule } from 'angular-datatables';\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\nimport { UiSwitchModule } from 'ngx-ui-switch';\nimport { GlobalStoresComponent } from './pages/global-stores/global-stores.component';\n\n@NgModule({\n imports: [\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n UiSwitchModule,\n TooltipModule,\n CollapseModule,\n AccordionModule,\n AlertModule,\n TabsModule,\n ModalModule.forRoot(),\n CommonModule,\n FormsModule,\n SharedModule,\n StoreRoutingModule,\n DataTablesModule\n ],\n declarations: [\n StoreComponent,\n StoresComponent,\n GlobalStoresComponent\n ],\n exports: [\n StoreRoutingModule,\n FormsModule\n ],\n providers: [\n // TODO: Move this to core if we need it elsewhere\n DatePipe\n ]\n})\nexport class StoreModule {}\n","var StoreModule = /** @class */ (function () {\n function StoreModule() {\n }\n return StoreModule;\n}());\nexport { StoreModule };\n","export const environment = {\n production: false,\n urls: {\n moderationApi: 'https://moderation-api.qa.az.ebbo.com/'\n },\n oidc: {\n server: 'https://login.microsoftonline.com/050ea3de-6ab5-4bb6-ae57-0100b14df04d/v2.0',\n redirectUrl: 'https://moderation-admin.qa.az.ebbo.com/signin-oidc',\n clientId: '6cc6a7ce-65d3-475d-8ef3-4a0b8c64c3e2',\n scopes: 'openid profile',\n logoutRedirectUrl: 'https://moderation-admin.qa.az.ebbo.com/',\n issuerUri: 'https://login.microsoftonline.com/050ea3de-6ab5-4bb6-ae57-0100b14df04d/v2.0'\n },\n retryAttempts: 2\n};\n","/*\n\nBorrowed from angular: https://github.com/angular/angular/blob/master/packages/common/src/i18n/format_date.ts\n\n*/\n\nexport const ISO8601_DATE_REGEX =\n /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n\nexport function toDate(value: string | number | Date): Date {\n if (isDate(value)) {\n return value;\n }\n\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n\n if (typeof value === 'string') {\n value = value.trim();\n\n const parsedNb = parseFloat(value);\n\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value as any - parsedNb)) {\n return new Date(parsedNb);\n }\n\n if (/^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m, d] = value.split('-').map((val: string) => +val);\n return new Date(y, m - 1, d);\n }\n\n let match: RegExpMatchArray|null;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n\n const date = new Date(value as any);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\nexport function isoStringToDate(match: RegExpMatchArray): Date {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n const ms = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","import { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport * as __NgCli_bootstrap_1 from \"./app/app.module.ngfactory\";\nimport * as __NgCli_bootstrap_2 from \"@angular/platform-browser\";\nif (environment.production) {\n enableProdMode();\n}\n__NgCli_bootstrap_2.platformBrowser().bootstrapModuleFactory(__NgCli_bootstrap_1.AppModuleNgFactory)\n .catch(function (err) { return console.log(err); });\n","export class ApplicationVersion {\n static version = '4.16.0';\n}\n","var ApplicationVersion = /** @class */ (function () {\n function ApplicationVersion() {\n }\n ApplicationVersion.version = '4.16.0';\n return ApplicationVersion;\n}());\nexport { ApplicationVersion };\n"],"sourceRoot":""}