{"version":3,"sources":["./node_modules/core-js/es6/reflect.js","./node_modules/core-js/es7/reflect.js","./node_modules/core-js/modules/_a-function.js","./node_modules/core-js/modules/_an-instance.js","./node_modules/core-js/modules/_an-object.js","./node_modules/core-js/modules/_array-from-iterable.js","./node_modules/core-js/modules/_array-includes.js","./node_modules/core-js/modules/_array-methods.js","./node_modules/core-js/modules/_array-species-constructor.js","./node_modules/core-js/modules/_array-species-create.js","./node_modules/core-js/modules/_bind.js","./node_modules/core-js/modules/_classof.js","./node_modules/core-js/modules/_cof.js","./node_modules/core-js/modules/_collection-strong.js","./node_modules/core-js/modules/_collection-weak.js","./node_modules/core-js/modules/_collection.js","./node_modules/core-js/modules/_core.js","./node_modules/core-js/modules/_ctx.js","./node_modules/core-js/modules/_defined.js","./node_modules/core-js/modules/_descriptors.js","./node_modules/core-js/modules/_dom-create.js","./node_modules/core-js/modules/_enum-bug-keys.js","./node_modules/core-js/modules/_export.js","./node_modules/core-js/modules/_fails.js","./node_modules/core-js/modules/_for-of.js","./node_modules/core-js/modules/_global.js","./node_modules/core-js/modules/_has.js","./node_modules/core-js/modules/_hide.js","./node_modules/core-js/modules/_html.js","./node_modules/core-js/modules/_ie8-dom-define.js","./node_modules/core-js/modules/_inherit-if-required.js","./node_modules/core-js/modules/_invoke.js","./node_modules/core-js/modules/_iobject.js","./node_modules/core-js/modules/_is-array-iter.js","./node_modules/core-js/modules/_is-array.js","./node_modules/core-js/modules/_is-object.js","./node_modules/core-js/modules/_iter-call.js","./node_modules/core-js/modules/_iter-create.js","./node_modules/core-js/modules/_iter-define.js","./node_modules/core-js/modules/_iter-detect.js","./node_modules/core-js/modules/_iter-step.js","./node_modules/core-js/modules/_iterators.js","./node_modules/core-js/modules/_library.js","./node_modules/core-js/modules/_meta.js","./node_modules/core-js/modules/_metadata.js","./node_modules/core-js/modules/_object-assign.js","./node_modules/core-js/modules/_object-create.js","./node_modules/core-js/modules/_object-dp.js","./node_modules/core-js/modules/_object-dps.js","./node_modules/core-js/modules/_object-gopd.js","./node_modules/core-js/modules/_object-gopn.js","./node_modules/core-js/modules/_object-gops.js","./node_modules/core-js/modules/_object-gpo.js","./node_modules/core-js/modules/_object-keys-internal.js","./node_modules/core-js/modules/_object-keys.js","./node_modules/core-js/modules/_object-pie.js","./node_modules/core-js/modules/_own-keys.js","./node_modules/core-js/modules/_property-desc.js","./node_modules/core-js/modules/_redefine-all.js","./node_modules/core-js/modules/_redefine.js","./node_modules/core-js/modules/_set-proto.js","./node_modules/core-js/modules/_set-species.js","./node_modules/core-js/modules/_set-to-string-tag.js","./node_modules/core-js/modules/_shared-key.js","./node_modules/core-js/modules/_shared.js","./node_modules/core-js/modules/_to-absolute-index.js","./node_modules/core-js/modules/_to-integer.js","./node_modules/core-js/modules/_to-iobject.js","./node_modules/core-js/modules/_to-length.js","./node_modules/core-js/modules/_to-object.js","./node_modules/core-js/modules/_to-primitive.js","./node_modules/core-js/modules/_uid.js","./node_modules/core-js/modules/_validate-collection.js","./node_modules/core-js/modules/_wks.js","./node_modules/core-js/modules/core.get-iterator-method.js","./node_modules/core-js/modules/es6.map.js","./node_modules/core-js/modules/es6.reflect.apply.js","./node_modules/core-js/modules/es6.reflect.construct.js","./node_modules/core-js/modules/es6.reflect.define-property.js","./node_modules/core-js/modules/es6.reflect.delete-property.js","./node_modules/core-js/modules/es6.reflect.enumerate.js","./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","./node_modules/core-js/modules/es6.reflect.get.js","./node_modules/core-js/modules/es6.reflect.has.js","./node_modules/core-js/modules/es6.reflect.is-extensible.js","./node_modules/core-js/modules/es6.reflect.own-keys.js","./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","./node_modules/core-js/modules/es6.reflect.set.js","./node_modules/core-js/modules/es6.set.js","./node_modules/core-js/modules/es6.weak-map.js","./node_modules/core-js/modules/es7.reflect.define-metadata.js","./node_modules/core-js/modules/es7.reflect.delete-metadata.js","./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","./node_modules/core-js/modules/es7.reflect.get-metadata.js","./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","./node_modules/core-js/modules/es7.reflect.has-metadata.js","./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","./node_modules/core-js/modules/es7.reflect.metadata.js","./node_modules/hammerjs/hammer.js","./src/app/app.component.html","./src/app/components/account/account.component.html","./src/app/components/debt/debt.component.html","./src/app/components/dogovor-info/dogovor-info.component.html","./src/app/components/dogovor-short/dogovor-short.component.html","./src/app/components/last-pay-info/last-pay-info.component.html","./src/app/components/last-pay-list/last-pay-list.component.html","./src/app/components/list-documents/list-documents.component.html","./src/app/components/list-dogovor-main/list-dogovor-main.component.html","./src/app/components/list-dogovors/list-dogovors.component.html","./src/app/components/login/login.component.html","./src/app/components/main/main.component.html","./src/app/components/mobile-version/mobile-version.component.html","./src/app/components/password-recovery/password-recovery.component.html","./src/app/components/pay-by-card-attr-req/pay-by-card-attr-req.component.html","./src/app/components/pay-wait/pay-wait.component.html","./src/app/components/pay/pay.component.html","./src/app/components/registration/registration.component.html","./src/app/components/revise-act/revise-act.component.html","./src/app/components/tenant/tenant-detail.component.html","./src/app/components/tenant/tenant.component.html","./node_modules/zone.js/dist/zone.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/components/account/account.component.css","./src/app/components/account/account.component.ts","./src/app/components/ag-grid-custom-tooltip.component.ts","./src/app/components/debt/debt.component.css","./src/app/components/debt/debt.component.ts","./src/app/components/dogovor-info/dogovor-info.component.css","./src/app/components/dogovor-info/dogovor-info.component.ts","./src/app/components/dogovor-short/dogovor-short.component.css","./src/app/components/dogovor-short/dogovor-short.component.ts","./src/app/components/last-pay-info/last-pay-info.component.css","./src/app/components/last-pay-info/last-pay-info.component.ts","./src/app/components/last-pay-list/last-pay-list.component.css","./src/app/components/last-pay-list/last-pay-list.component.ts","./src/app/components/list-documents/list-documents.component.css","./src/app/components/list-documents/list-documents.component.ts","./src/app/components/list-dogovor-main/list-dogovor-main.component.css","./src/app/components/list-dogovor-main/list-dogovor-main.component.ts","./src/app/components/list-dogovors/list-dogovors.component.css","./src/app/components/list-dogovors/list-dogovors.component.ts","./src/app/components/login/login.component.css","./src/app/components/login/login.component.ts","./src/app/components/main/main.component.css","./src/app/components/main/main.component.ts","./src/app/components/mobile-version/mobile-version.component.css","./src/app/components/mobile-version/mobile-version.component.ts","./src/app/components/password-recovery/password-recovery.component.css","./src/app/components/password-recovery/password-recovery.component.ts","./src/app/components/pay-by-card-attr-req/pay-by-card-attr-req.component.css","./src/app/components/pay-by-card-attr-req/pay-by-card-attr-req.component.ts","./src/app/components/pay-wait/pay-wait.component.css","./src/app/components/pay-wait/pay-wait.component.ts","./src/app/components/pay/pay.component.css","./src/app/components/pay/pay.component.ts","./src/app/components/registration/registration.component.css","./src/app/components/registration/registration.component.ts","./src/app/components/revise-act/revise-act.component.css","./src/app/components/revise-act/revise-act.component.ts","./src/app/components/tenant/tenant-detail.component.css","./src/app/components/tenant/tenant-detail.component.ts","./src/app/components/tenant/tenant.component.css","./src/app/components/tenant/tenant.component.ts","./src/app/directives/input-mask-directive.ts","./src/app/dummy.component.ts","./src/app/models/AccountInfoAttrEnum.ts","./src/app/pipes/bhdate.pipe.ts","./src/app/pipes/declension.pipe.ts","./src/app/providers/CustomDatepickerI18n .ts","./src/app/providers/ngb-date-parser-formatter.ts","./src/app/services/account.service.ts","./src/app/services/auth-guard.service.ts","./src/app/services/authentication.service.ts","./src/app/services/calc-doc.service.ts","./src/app/services/config.service.ts","./src/app/services/dogovor-type.service.ts","./src/app/services/dogovor.service.ts","./src/app/services/esia.service.ts","./src/app/services/jwt-interceptor.service.ts","./src/app/services/object.service.ts","./src/app/services/pay.service.ts","./src/app/services/report.service.ts","./src/app/services/tenant.service.ts","./src/app/services/utils.service.ts","./src/environments/environment.ts","./src/main.ts","./src/polyfills.ts"],"names":[],"mappings":"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AAiB,mBAAO,CAAC,sEAAgB;AACzC,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ia;AACb,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,kEAAc;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,YAAY,mBAAO,CAAC,4DAAW;AAC/B,wBAAwB,mBAAO,CAAC,0EAAkB;AAClD,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;ACpFa;AACb,aAAa,mBAAO,CAAC,4DAAW;AAChC,cAAc,mBAAO,CAAC,4DAAW;AACjC,eAAe,mBAAO,CAAC,gEAAa;AACpC,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,WAAW,mBAAO,CAAC,wDAAS;AAC5B,YAAY,mBAAO,CAAC,4DAAW;AAC/B,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,eAAe,mBAAO,CAAC,kEAAc;AACrC,YAAY,mBAAO,CAAC,0DAAU;AAC9B,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,qBAAqB,mBAAO,CAAC,kFAAsB;AACnD,wBAAwB,mBAAO,CAAC,sFAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,mCAAmC,gCAAgC,aAAa;AACvF,8BAA8B,mCAAmC,aAAa;AAC9E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA,wDAAwD,aAAa,EAAE,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AAC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AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpDA,UAAU,mBAAO,CAAC,4DAAW;AAC7B,cAAc,mBAAO,CAAC,4DAAW;AACjC,aAAa,mBAAO,CAAC,4DAAW;AAChC,iDAAiD,mBAAO,CAAC,sEAAgB;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,gBAAgB,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClDa;AACb;AACA,cAAc,mBAAO,CAAC,sEAAgB;AACtC,WAAW,mBAAO,CAAC,sEAAgB;AACnC,UAAU,mBAAO,CAAC,oEAAe;AACjC,eAAe,mBAAO,CAAC,kEAAc;AACrC,cAAc,mBAAO,CAAC,8DAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,0DAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACjCD;AACA,eAAe,mBAAO,CAAC,kEAAc;AACrC,UAAU,mBAAO,CAAC,oEAAe;AACjC,kBAAkB,mBAAO,CAAC,0EAAkB;AAC5C,eAAe,mBAAO,CAAC,oEAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEA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AC,EAAE;;;;;;;;;;;;ACRH,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,gBAAgB,mBAAO,CAAC,oEAAe;AACvC;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACdH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,UAAU;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,MAAM;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK;AAC3C,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,MAAM,GAAG,KAAK,EAAE,KAAK;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO,KAAK;AACvB,WAAW,OAAO,KAAK;AACvB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA,UAAU;AACV,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA,UAAU;AACV,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,4BAA4B,8BAA8B;;AAE1D;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA;AACA,iBAAiB;AACjB;AACA,gCAAgC,EAAE;;AAElC;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,WAAW;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C,2BAA2B,cAAc;AACzC,2BAA2B,gCAAgC;AAC3D,yBAAyB,gCAAgC;AACzD;AACA,yBAAyB,4BAA4B;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB;AACA;AACA;AACA,4BAA4B,gCAAgC;;AAE5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,WAAW;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAC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AK,aAAa,gaAAga,yBAAyB,6H;;;;;;;;;;;ACAlsB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA0C,GAAG,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AAChE,QAAQ,SAAS;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iEAAiE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,kCAAkC,+BAA+B,EAAE;AACnE;AACA;AACA,aAAa;AACb;AACA,kCAAkC,qBAAqB,EAAE;AACzD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB,EAAE;AACzD;AACA;AACA,aAAa;AACb;AACA,kCAAkC,mBAAmB,EAAE;AACvD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,kBAAkB;AAC7D,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qEAAqE,+CAA+C,EAAE;AACtH,kEAAkE,4CAA4C,EAAE;AAChH,sFAAsF,gEAAgE,EAAE;AACxJ,gEAAgE,0CAA0C;AAC1G;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB,EAAE;AACvD;AACA;AACA,aAAa;AACb;AACA,kCAAkC,oBAAoB,EAAE;AACxD;AACA;AACA,aAAa;AACb,oEAAoE,8CAA8C;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;AACA;AACA;AACA,4CAA4C,6DAA6D,EAAE;AAC3G,2CAA2C,WAAW,EAAE;AACxD;AACA,sCAAsC,aAAa,EAAE;AACrD,wCAAwC,WAAW,EAAE;AACrD,oCAAoC,aAAa,EAAE;AACnD,yCAAyC,aAAa,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,8CAA8C,aAAa,EAAE;AAC7D,qCAAqC,cAAc,EAAE;AACrD,2CAA2C,kBAAkB,EAAE;AAC/D,+CAA+C,aAAa,EAAE;AAC9D,yDAAyD,kBAAkB,EAAE;AAC7E,uCAAuC,kBAAkB,EAAE;AAC3D,qCAAqC,WAAW,EAAE;AAClD,qCAAqC,aAAa,EAAE;AACpD,8CAA8C,aAAa,EAAE;AAC7D,2CAA2C,WAAW,EAAE;AACxD,gDAAgD,aAAa,EAAE;AAC/D,4CAA4C,aAAa,EAAE;AAC3D,yCAAyC,aAAa;AACtD;AACA,iCAAiC;AACjC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gIAAgI,wBAAwB,oCAAoC;AAC5L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,4BAA4B,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,4BAA4B;AAChE,2CAA2C,cAAc;AACzD,8CAA8C,2CAA2C;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,qCAAqC,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,sEAAsE;AAC1J;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oDAAoD;AAChG;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,yEAAyE,gBAAgB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,2CAA2C,gBAAgB;AAC3D,0CAA0C,eAAe;AACzD;AACA,uFAAuF,kBAAkB;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ,gBAAgB;AACvD;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA,sDAAsD,iDAAiD;AACvG;AACA;AACA;AACA,oDAAoD,UAAU,oCAAoC,EAAE,EAAE;AACtG,mDAAmD,UAAU,kCAAkC,EAAE;AACjG,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,kBAAkB;AACzG;AACA;AACA;AACA;AACA,+BAA+B,QAAQ,gBAAgB;AACvD;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,2CAA2C,EAAE;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,0CAA0C,wCAAwC;AAClF,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,yCAAyC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oCAAoC;AACrF;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,cAAc,mBAAmB,yBAAyB,EAAE,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,oCAAoC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,sBAAsB;AACpE,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F;AAC9F;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,6BAA6B,EAAE;AACxF;AACA;AACA;AACA;AACA,kDAAkD,kDAAkD,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,wDAAwD;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,UAAU;AACtD,gLAAgL,EAAE;AAClL,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,+CAA+C,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,0BAA0B,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,+BAA+B,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,gBAAgB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,yDAAyD,aAAa,EAAE,EAAE;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,yDAAyD,aAAa,EAAE,EAAE;AAChK;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+CAA+C,EAAE;AACnF,uCAAuC,gDAAgD;AACvF,aAAa;AACb;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,wCAAwC;AAC1E;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,yBAAyB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,sBAAsB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB,yFAAyF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,0CAA0C;AAChH;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACv2GD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;ACZA;AAAe,8EAAe,4BAA4B,oDAAoD,KAAK,uBAAuB,2BAA2B,KAAK,qBAAqB,sBAAsB,mBAAmB,KAAK,0BAA0B,sBAAsB,KAAK,4BAA4B,0BAA0B,kCAAkC,qBAAqB,KAAK,8CAA8C,mBAAmB,8BAA8B,+BAA+B,SAAS,0BAA0B,6BAA6B,SAAS,qBAAqB,gCAAgC,SAAS,sBAAsB,wBAAwB,4BAA4B,yBAAyB,SAAS,uBAAuB,yBAAyB,wBAAwB,sBAAsB,sBAAsB,SAAS,0BAA0B,4BAA4B,8BAA8B,4BAA4B,8BAA8B,6BAA6B,SAAS,4BAA4B,4BAA4B,SAAS,KAAK,8CAA8C,mBAAmB,8BAA8B,+BAA+B,SAAS,sBAAsB,yBAAyB,yBAAyB,SAAS,0BAA0B,gCAAgC,SAAS,qBAAqB,gCAAgC,SAAS,uBAAuB,yBAAyB,wBAAwB,uBAAuB,sBAAsB,SAAS,0BAA0B,4BAA4B,8BAA8B,4BAA4B,8BAA8B,gCAAgC,SAAS,4BAA4B,4BAA4B,SAAS,KAAK,+CAA+C,mBAAmB,+BAA+B,gCAAgC,SAAS,sBAAsB,yBAAyB,yBAAyB,SAAS,0BAA0B,gCAAgC,SAAS,qBAAqB,gCAAgC,SAAS,uBAAuB,yBAAyB,wBAAwB,uBAAuB,sBAAsB,SAAS,0BAA0B,8BAA8B,4BAA4B,8BAA8B,SAAS,4BAA4B,4BAA4B,SAAS,KAAK,+CAA+C,usJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAx+E;AACG;AACZ;AAEiC;AAE1E;;GAEG;AAMH;IAKI;;;;;OAKG;IACH,sBACY,MAAc,EACd,qBAA4C,EAC7C,MAAiB;QAFhB,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7C,WAAM,GAAN,MAAM,CAAW;IAC5B,CAAC;IAED;;OAEG;IACI,+BAAQ,GAAf;QACI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,+BAAQ,GAAf;QACI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;;gBAlBmB,sDAAM;gBACS,sFAAqB;gBACrC,kEAAS;;IAdnB,YAAY;QALxB,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,mKAAiC;;SAEpC,CAAC;yCAasB,sDAAM;YACS,sFAAqB;YACrC,kEAAS;OAdnB,YAAY,CA+BxB;IAAD,mBAAC;CAAA;AA/BwB;;;;;;;;;;;;;ACdzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAa;;;;;;;;;;AAE2B;AAGO;AAC4B;AACV;AACS;AAChB;AACA;AACE;AACF;AACU;AACR;AACD;AACV;AACmB;AACmC;AACd;AAClB;AACN;AAC6B;AACS;AACX;AACD;AACD;AACA;AACzB;AAC0B;AACT;AACM;AACd;AACb;AACc;AACO;AAC5B;AACuD;AAE1D;AAE+B;AAElF,cAAc;AACsC;AACuB;AAClC;AACyB;AACR;AACkB;AACrB;AACN;AACQ;AAEE;AACY;AAExB;AACN;AACwB;AACf;AAClD,2EAAkB,CAAC,kEAAQ,CAAC,CAAC;AAuCF;AAkH3B;IAAA;IAEA,CAAC;IAFY,SAAS;QAhHrB,+DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,kEAAc;gBACd,wEAAa;gBACb,mEAAmB;gBACnB,sEAAgB;gBAChB,oDAAO;gBACP,2DAAW;gBAEX,gEAAa;gBACb,iEAAc;gBACd,mEAAgB;gBAChB,mEAAgB;gBAChB,wEAAqB;gBACrB,iEAAc;gBACd,uEAAoB;gBACpB,kEAAe;gBACf,wEAAqB;gBACrB,gEAAa;gBACb,oEAAiB;gBACjB,iEAAc;gBACd,mEAAgB;gBAChB,sEAAmB;gBACnB,kEAAe;gBACf,mEAAgB;gBAChB,qEAAkB;gBAClB,oEAAiB;gBACjB,gEAAa;gBACb,iEAAc;gBACd,gEAAa;gBACb,gEAAa;gBACb,sEAAmB;gBACnB,qEAAkB;gBAClB,uEAAoB;gBACpB,2EAAwB;gBACxB,iEAAc;gBACd,kEAAe;gBACf,kEAAe;gBACf,mEAAgB;gBAChB,kEAAe;gBACf,uEAAoB;gBACpB,oEAAiB;gBACjB,gEAAa;gBACb,iEAAc;gBACd,gEAAa;gBACb,mEAAgB;gBAChB,mEAAgB;gBAChB,gEAAa;gBAEb,0FAAoB;gBACpB,qEAAS,CAAC,OAAO,EAAE;gBAEnB,yEAAqB;gBAErB,6DAAY,CAAC,cAAc,CAAC,CAAC,iGAAmB,CAAC,CAAC;gBAClD,uDAAa,CAAC,OAAO,EAAE;aAC1B;YACD,YAAY,EAAE;gBACV,2DAAY;gBACZ,8DAAU;gBACV,sEAAc;gBACd,gEAAc;gBACd,iFAAc;gBACd,oHAAyB;gBACzB,sGAAqB;gBACrB,8EAAa;gBACb,wGAAqB;gBACrB,2GAAsB;gBACtB,oFAAkB;gBAClB,oFAAe;gBACf,8EAAa;gBACb,2GAAsB;gBACtB,oHAAyB;gBACzB,wGAAqB;gBACrB,uGAAoB;gBACpB,uGAAoB;gBACpB,+FAAkB;gBAClB,qGAAoB;gBACpB,uFAAgB;gBAChB,iGAAmB;gBACnB,2EAAY;gBACZ,yFAAgB;gBAChB,iGAAqB;gBACrB,0HAAyB;aAC5B;YACD,eAAe,EAAE;gBACb,+FAAkB;gBAClB,2EAAY;gBACZ,yFAAgB;gBAChB,0HAAyB;aAC5B;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,uEAAiB;oBAC1B,QAAQ,EAAE,uFAAqB;oBAC/B,KAAK,EAAE,IAAI;iBACd;gBACD,6EAAgB;gBAChB,sFAAqB;gBACrB,sEAAa;gBACb,sEAAa;gBACb,wEAAc;gBACd,sEAAa;gBACb,iFAAkB;gBAClB,0EAAc;gBACd,yEAAc;gBACd,iEAAU;gBACV,mEAAW;aACd;YACD,SAAS,EAAE,CAAC,2DAAY,CAAC;SAC5B,CAAC;OAEW,SAAS,CAErB;IAAD,gBAAC;CAAA;AAFqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtNiC;AACU;AACG;AACL;AAC0B;AACH;AACM;AACS;AACd;AACL;AAElF,IAAM,SAAS,GAAW;IACtB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,6EAAa,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IACvE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gFAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,mHAAyB,EAAE;IACnE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qGAAqB,EAAE;IAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,6EAAa,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IAC3E,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,uGAAqB,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IAC5F,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,oGAAoB,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IAC1F,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,0GAAsB,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,gGAAqB,EAAE,WAAW,EAAE,CAAC,6EAAgB,CAAC,EAAE;IACrF,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAG;CAElC,CAAC;AAEK,IAAM,OAAO,GAAG,4DAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;;;;;;;;;;;;;ACzBvD;AAAe,2EAAY,2BAA2B,qBAAqB,oBAAoB,KAAK,2BAA2B,wBAAwB,uBAAuB,yBAAyB,4BAA4B,KAAK,yBAAyB,2BAA2B,KAAK,oBAAoB,4BAA4B,uBAAuB,oBAAoB,KAAK,0BAA0B,2BAA2B,oBAAoB,KAAK,qBAAqB,2BAA2B,qBAAqB,oBAAoB,mBAAmB,KAAK,sBAAsB,2BAA2B,oBAAoB,KAAK,6BAA6B,4BAA4B,oDAAoD,0BAA0B,6BAA6B,2BAA2B,4BAA4B,uBAAuB,qBAAqB,wBAAwB,4BAA4B,4BAA4B,0BAA0B,KAAK,mCAAmC,sBAAsB,KAAK,yCAAyC,2BAA2B,KAAK,sBAAsB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,yBAAyB,2BAA2B,KAAK,6BAA6B,0BAA0B,KAAK,8CAA8C,mBAAmB,iCAAiC,SAAS,2BAA2B,4BAA4B,SAAS,oBAAoB,4BAA4B,SAAS,0BAA0B,0BAA0B,2CAA2C,wBAAwB,SAAS,0CAA0C,yBAAyB,SAAS,0CAA0C,gCAAgC,SAAS,qBAAqB,0BAA0B,SAAS,KAAK,8CAA8C,mBAAmB,+BAA+B,SAAS,2BAA2B,4BAA4B,SAAS,oBAAoB,4BAA4B,SAAS,0BAA0B,4BAA4B,yBAAyB,SAAS,0CAA0C,wBAAwB,SAAS,0CAA0C,+BAA+B,SAAS,yBAAyB,4BAA4B,SAAS,KAAK,+CAA+C,mBAAmB,+BAA+B,SAAS,2BAA2B,4BAA4B,SAAS,oBAAoB,4BAA4B,SAAS,qBAAqB,4BAA4B,SAAS,SAAS,mDAAmD,+vK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3vF;AACJ;AACS;AAED;AACoB;AAQtE;IASI,0BAAqB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IACtC,CAAC;IAED,oBAAoB;IACpB,oCAAoC;IAC7B,mCAAQ,GAAf,cAAyB,CAAC;IAE1B,+BAA+B;IACxB,wCAAa,GAApB;QACI,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAe,+DAAY,EAAE;YAC3D,UAAU,EAAE,sBAAsB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC9B;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,8CAAmB,GAA1B,UAA2B,KAAK;QAC5B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAqB,mFAAkB,EAAE;YACvE,UAAU,EAAE,sBAAsB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,KAAK,CAAC,CAAC;gBACf,MAAM,EAAE,KAAK,CAAC,CAAC;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;;gBA/B4B,kEAAS;;IALtC;QADC,2DAAK,EAAE;;qDACiB;IAGzB;QADC,2DAAK,EAAE;;mDACa;IAPZ,gBAAgB;QAN5B,+DAAS,CAAC;YACP,QAAQ,EAAE,aAAa;YACvB,8LAAqC;;SAExC,CAAC;QACF,gCAAgC;;yCAUC,kEAAS;OAT7B,gBAAgB,CA0C5B;IAAD,uBAAC;CAAA;AA1C4B;;;;;;;;;;;;;;;;;;;;;;;;;ACbW;AAExC;;GAEG;AAKH;IAAA;IAwBA,CAAC;IAtBG,kCAAI,GAAJ,UAAK,MAAM;QACP,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,yDAAyD;QAEzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS;YACf,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,oCAAM,GAAN;QACI,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAvBQ,mBAAmB;QAJ/B,+DAAS,CAAC;YACP,QAAQ,EAAE,kCAAkC;YAC5C,QAAQ,EAAE,EAAE;SACf,CAAC;OACW,mBAAmB,CAwB/B;IAAD,0BAAC;CAAA;AAxB+B;;;;;;;;;;;;;ACThC;AAAe,gFAAiB,2BAA2B,qBAAqB,sBAAsB,4BAA4B,oDAAoD,KAAK,0BAA0B,sBAAsB,sBAAsB,KAAK,uBAAuB,oBAAoB,qBAAqB,KAAK,+BAA+B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,sBAAsB,4BAA4B,uBAAuB,2BAA2B,KAAK,wBAAwB,2BAA2B,4BAA4B,KAAK,6BAA6B,2BAA2B,wBAAwB,0BAA0B,uBAAuB,KAAK,4BAA4B,2BAA2B,wBAAwB,0BAA0B,uBAAuB,KAAK,gCAAgC,2BAA2B,wBAAwB,0BAA0B,uBAAuB,KAAK,uBAAuB,2BAA2B,6BAA6B,KAAK,wBAAwB,2BAA2B,4BAA4B,KAAK,8BAA8B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,yCAAyC,KAAK,yBAAyB,oBAAoB,4BAA4B,KAAK,iCAAiC,qBAAqB,yBAAyB,KAAK,8BAA8B,qBAAqB,KAAK,gCAAgC,qBAAqB,4BAA4B,0BAA0B,KAAK,oCAAoC,0BAA0B,uBAAuB,KAAK,gCAAgC,0BAA0B,uBAAuB,KAAK,iCAAiC,uBAAuB,KAAK,8BAA8B,uBAAuB,KAAK,kCAAkC,4BAA4B,wBAAwB,0BAA0B,0BAA0B,yBAAyB,gCAAgC,4BAA4B,KAAK,uBAAuB,4BAA4B,wBAAwB,0BAA0B,gDAAgD,gDAAgD,2BAA2B,0BAA0B,KAAK,yBAAyB,uBAAuB,KAAK,sBAAsB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,yBAAyB,2BAA2B,KAAK,0BAA0B,0BAA0B,wBAAwB,KAAK,4BAA4B,yBAAyB,KAAK,oCAAoC,wBAAwB,yBAAyB,SAAS,6BAA6B,4BAA4B,8BAA8B,SAAS,iCAAiC,yBAAyB,SAAS,8BAA8B,yBAAyB,SAAS,gCAAgC,yBAAyB,SAAS,sBAAsB,6BAA6B,SAAS,SAAS,mCAAmC,wBAAwB,yBAAyB,0BAA0B,SAAS,0BAA0B,0BAA0B,iCAAiC,SAAS,uBAAuB,wBAAwB,yBAAyB,SAAS,+BAA+B,gCAAgC,4BAA4B,8BAA8B,SAAS,wBAAwB,+BAA+B,iCAAiC,SAAS,6BAA6B,gCAAgC,4BAA4B,8BAA8B,SAAS,uBAAuB,+BAA+B,iCAAiC,SAAS,wBAAwB,+BAA+B,gCAAgC,SAAS,iCAAiC,wBAAwB,SAAS,8BAA8B,yBAAyB,SAAS,gCAAgC,yBAAyB,6BAA6B,+BAA+B,SAAS,uBAAuB,+BAA+B,8BAA8B,SAAS,sBAAsB,6BAA6B,SAAS,0BAA0B,0BAA0B,SAAS,KAAK,+CAA+C,moR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtkJ;AACqB;AAEP;AACJ;AAQ5D;IAaI;;;OAGG;IACH,uBACY,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAZ1C,oBAAoB;QACb,QAAG,GAAS,IAAI,IAAI,EAAE,CAAC;IAY9B,CAAC;IAED;;OAEG;IACI,gCAAQ,GAAf;QAAA,iBAYC;QAXG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,+EAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CACvD,UAAC,IAAI;YACD,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAf,CAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAA3C,CAA2C,EAAE,CAAC,CAAC,CAAC;YACvG,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACX,CAAC;;gBAlB2B,wEAAc;;IAlBjC,aAAa;QANzB,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,qLAAkC;;SAErC,CAAC;QACF,qCAAqC;;yCAmBL,wEAAc;OAlBjC,aAAa,CAqCzB;IAAD,oBAAC;CAAA;AArCyB;;;;;;;;;;;;;ACZ1B;AAAe,kFAAmB,sBAAsB,KAAK,gBAAgB,gCAAgC,KAAK,qBAAqB,2BAA2B,KAAK,uBAAuB,uBAAuB,yBAAyB,KAAK,oBAAoB,4BAA4B,gCAAgC,4BAA4B,yBAAyB,KAAK,yBAAyB,uBAAuB,KAAK,0BAA0B,uBAAuB,KAAK,sBAAsB,4BAA4B,2BAA2B,KAAK,sBAAsB,oBAAoB,4BAA4B,KAAK,oDAAoD,uBAAuB,KAAK,6BAA6B,2BAA2B,sBAAsB,KAAK,4BAA4B,uBAAuB,KAAK,4BAA4B,uBAAuB,KAAK,yBAAyB,6BAA6B,KAAK,2BAA2B,2BAA2B,oBAAoB,4BAA4B,KAAK,qBAAqB,uBAAuB,KAAK,wBAAwB,4BAA4B,KAAK,sBAAsB,sBAAsB,uBAAuB,6BAA6B,wCAAwC,OAAO,kBAAkB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,KAAK,sBAAsB,2BAA2B,KAAK,gFAAgF,mBAAmB,KAAK,4FAA4F,kCAAkC,4BAA4B,KAAK,6FAA6F,kCAAkC,4BAA4B,KAAK,0CAA0C,oBAAoB,0BAA0B,SAAS,0BAA0B,4BAA4B,mCAAmC,SAAS,wBAAwB,yBAAyB,yBAAyB,6BAA6B,SAAS,0BAA0B,yBAAyB,yBAAyB,6BAA6B,6BAA6B,6BAA6B,SAAS,2BAA2B,4BAA4B,gCAAgC,SAAS,0CAA0C,kCAAkC,0CAA0C,+BAA+B,SAAS,oCAAoC,yBAAyB,SAAS,2BAA2B,4BAA4B,SAAS,gCAAgC,4BAA4B,8BAA8B,SAAS,gCAAgC,4BAA4B,8BAA8B,SAAS,yBAAyB,4BAA4B,SAAS,4BAA4B,6BAA6B,yBAAyB,yBAAyB,SAAS,0BAA0B,6BAA6B,gCAAgC,SAAS,qKAAqK,8BAA8B,SAAS,gFAAgF,yBAAyB,SAAS,gFAAgF,wBAAwB,SAAS,SAAS,0CAA0C,oBAAoB,0BAA0B,SAAS,0BAA0B,8BAA8B,mCAAmC,SAAS,wBAAwB,yBAAyB,wBAAwB,6BAA6B,SAAS,0BAA0B,wBAAwB,yBAAyB,6BAA6B,6BAA6B,6BAA6B,SAAS,8CAA8C,gCAAgC,yBAAyB,+BAA+B,SAAS,0CAA0C,+BAA+B,yBAAyB,SAAS,oCAAoC,wBAAwB,SAAS,+BAA+B,4BAA4B,gCAAgC,SAAS,uBAAuB,4BAA4B,SAAS,oCAAoC,4BAA4B,8BAA8B,SAAS,gCAAgC,4BAA4B,8BAA8B,SAAS,yBAAyB,4BAA4B,SAAS,4BAA4B,6BAA6B,yBAAyB,0BAA0B,SAAS,sBAAsB,6BAA6B,gCAAgC,SAAS,gFAAgF,uBAAuB,SAAS,4EAA4E,uBAAuB,SAAS,4EAA4E,wBAAwB,SAAS,aAAa,2CAA2C,oBAAoB,0BAA0B,SAAS,0BAA0B,8BAA8B,gCAAgC,SAAS,wBAAwB,0BAA0B,yBAAyB,6BAA6B,SAAS,0BAA0B,wBAAwB,6BAA6B,0BAA0B,8BAA8B,4BAA4B,SAAS,0CAA0C,gCAAgC,+BAA+B,SAAS,0CAA0C,+BAA+B,SAAS,oCAAoC,yBAAyB,SAAS,+BAA+B,4BAA4B,gCAAgC,SAAS,uBAAuB,4BAA4B,SAAS,gCAAgC,4BAA4B,8BAA8B,SAAS,gCAAgC,4BAA4B,8BAA8B,SAAS,yBAAyB,4BAA4B,SAAS,gCAAgC,6BAA6B,yBAAyB,0BAA0B,SAAS,gFAAgF,yBAAyB,SAAS,4EAA4E,yBAAyB,SAAS,4EAA4E,yBAAyB,SAAS,4EAA4E,uBAAuB,SAAS,SAAS,0EAA0E,iKAAiK,+BAA+B,SAAS,wHAAwH,8BAA8B,SAAS,KAAK,2CAA2C,iKAAiK,+BAA+B,SAAS,qFAAqF,8BAA8B,SAAS,KAAK,2CAA2C,iKAAiK,+BAA+B,SAAS,wHAAwH,8BAA8B,SAAS,KAAK,2CAA2C,iKAAiK,+BAA+B,SAAS,qFAAqF,8BAA8B,SAAS,KAAK,mDAAmD,2ue;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACC3nR;AACO;AAIe;AACC;AACD;AACJ;AAQ5D;IAkBI;;;;;;OAMG;IACH,8BACc,KAAqB,EACvB,cAA8B,EAC9B,cAA8B,EAC9B,cAA8B;QAH5B,UAAK,GAAL,KAAK,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAtB1C,yCAAyC;QAClC,kBAAa,GAAY,IAAI,CAAC;IAsBrC,CAAC;IAEM,uCAAQ,GAAf;QAAA,iBAmCC;QAlCG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,SAAS,CAChD,UAAC,QAAQ;YACL,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gBAC/B,WAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAAjE,CAAiE,CAAC,CAAC;YACvE,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,aAAa,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CACzD,UAAC,QAAQ;YACL,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,aAAa,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CACzC,UAAC,OAAO;YACJ,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,YAAY,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC,CACJ,CAAC;IACN,CAAC;;gBAzCoB,8DAAc;gBACP,wEAAc;gBACd,yEAAc;gBACd,wEAAc;;IA7BjC,oBAAoB;QANhC,+DAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;YAC5B,6MAA0C;;SAE7C,CAAC;QACF,gDAAgD;;yCA2BvB,8DAAc;YACP,wEAAc;YACd,yEAAc;YACd,wEAAc;OA7BjC,oBAAoB,CAoEhC;IAAD,2BAAC;CAAA;AApEgC;;;;;;;;;;;;;ACjBjC;AAAe,8EAAe,4BAA4B,oDAAoD,sBAAsB,KAAK,6DAA6D,kCAAkC,sDAAsD,KAAK,8DAA8D,kCAAkC,wCAAwC,KAAK,qBAAqB,sBAAsB,sBAAsB,4BAA4B,4BAA4B,4BAA4B,KAAK,yBAAyB,oBAAoB,qBAAqB,KAAK,0BAA0B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,uBAAuB,0BAA0B,oBAAoB,KAAK,2BAA2B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,gCAAgC,4BAA4B,yBAAyB,0BAA0B,qBAAqB,KAAK,0BAA0B,4BAA4B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,sBAAsB,4BAA4B,2BAA2B,uBAAuB,qBAAqB,KAAK,4BAA4B,0BAA0B,KAAK,wBAAwB,0BAA0B,4BAA4B,KAAK,6BAA6B,2BAA2B,KAAK,6BAA6B,4BAA4B,2BAA2B,yBAAyB,wBAAwB,0BAA0B,4BAA4B,2BAA2B,uBAAuB,2BAA2B,KAAK,8BAA8B,4BAA4B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,4BAA4B,2BAA2B,uBAAuB,KAAK,uBAAuB,2BAA2B,0BAA0B,sBAAsB,yBAAyB,KAAK,wBAAwB,4BAA4B,2BAA2B,0BAA0B,sBAAsB,KAAK,8BAA8B,uBAAuB,sBAAsB,yBAAyB,yBAAyB,KAAK,eAAe,uBAAuB,4BAA4B,yBAAyB,KAAK,kCAAkC,kCAAkC,KAAK,8BAA8B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,2BAA2B,2BAA2B,yBAAyB,gCAAgC,4BAA4B,KAAK,kCAAkC,4BAA4B,wBAAwB,0BAA0B,2BAA2B,yBAAyB,gCAAgC,4BAA4B,KAAK,8BAA8B,qBAAqB,oBAAoB,KAAK,+DAA+D,oBAAoB,gCAAgC,KAAK,sBAAsB,oBAAoB,yBAAyB,2BAA2B,uBAAuB,mBAAmB,mBAAmB,eAAe,qBAAqB,mBAAmB,0BAA0B,KAAK,4BAA4B,mBAAmB,KAAK,2BAA2B,kBAAkB,KAAK,uDAAuD,6DAA6D,2BAA2B,kCAAkC,0BAA0B,KAAK,iDAAiD,mBAAmB,kCAAkC,SAAS,KAAK,uDAAuD,2BAA2B,4DAA4D,kCAAkC,SAAS,KAAK,sBAAsB,sBAAsB,yBAAyB,0BAA0B,4BAA4B,oCAAoC,KAAK,6BAA6B,2BAA2B,4BAA4B,oDAAoD,0BAA0B,6BAA6B,2BAA2B,4BAA4B,uBAAuB,qBAAqB,sBAAsB,wBAAwB,KAAK,oCAAoC,sBAAsB,2BAA2B,4BAA4B,KAAK,sBAAsB,4BAA4B,wBAAwB,0BAA0B,uBAAuB,0BAA0B,2BAA2B,KAAK,0BAA0B,2BAA2B,wBAAwB,KAAK,4BAA4B,sBAAsB,KAAK,gCAAgC,sBAAsB,KAAK,oCAAoC,wBAAwB,6BAA6B,SAAS,KAAK,oCAAoC,sBAAsB,yBAAyB,SAAS,2BAA2B,yBAAyB,SAAS,sBAAsB,8BAA8B,+BAA+B,SAAS,KAAK,mCAAmC,sBAAsB,8BAA8B,SAAS,qBAAqB,0BAA0B,gCAAgC,SAAS,yBAAyB,wBAAwB,yBAAyB,SAAS,gCAAgC,4BAA4B,SAAS,0BAA0B,8BAA8B,SAAS,2BAA2B,yBAAyB,8BAA8B,SAAS,wBAAwB,0BAA0B,SAAS,4BAA4B,0BAA0B,SAAS,wBAAwB,8BAA8B,gCAAgC,SAAS,6BAA6B,4BAA4B,8BAA8B,SAAS,8BAA8B,4BAA4B,8BAA8B,+BAA+B,SAAS,6BAA6B,8BAA8B,6BAA6B,gCAAgC,8BAA8B,+BAA+B,2BAA2B,yBAAyB,4BAA4B,SAAS,sBAAsB,gCAAgC,6BAA6B,8BAA8B,+BAA+B,iCAAiC,SAAS,yBAAyB,4BAA4B,8BAA8B,wBAAwB,yBAAyB,SAAS,gCAAgC,4BAA4B,8BAA8B,yBAAyB,yBAAyB,SAAS,sBAAsB,8BAA8B,8BAA8B,SAAS,0BAA0B,0BAA0B,SAAS,8BAA8B,0BAA0B,SAAS,8BAA8B,4BAA4B,8BAA8B,8BAA8B,SAAS,kCAAkC,4BAA4B,8BAA8B,8BAA8B,SAAS,wBAAwB,8BAA8B,0BAA0B,6BAA6B,SAAS,KAAK,+CAA+C,urd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5rP;AACnE;AAEoB;AAER;AACjB;AACA;AACgB;AACX;AACI;AAC0B;AACpB;AACM;AAQ1D;IAqDI;;;MAGE;IACF,+BACW,QAAmB,EAClB,aAA4B,EAC5B,GAAe,EAChB,MAAiB;QAHjB,aAAQ,GAAR,QAAQ,CAAW;QAClB,kBAAa,GAAb,aAAa,CAAe;QAC5B,QAAG,GAAH,GAAG,CAAY;QAChB,WAAM,GAAN,MAAM,CAAW;QAvD5B,uFAAuF;QAEhF,sBAAiB,GAAG,KAAK,CAAC;QAEjC,cAAc;QACP,eAAU,GAAc,EAAE,CAAC;QA0BlC;;;;;WAKG;QACK,eAAU,GAAW,CAAC,CAAC;QAE/B,4CAA4C;QACpC,kBAAa,GAAkB,IAAI,4CAAO,EAAQ,CAAC;IAgB3D,CAAC;IAED,mCAAmC;IACnC,2CAAW,GAAX,UAAY,OAAsB;QAAlC,iBAeC;QAdG,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;YACjD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CACpE,UAAC,OAAO;gBACJ,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;gBAC1B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC,EAAE,UAAC,KAAK;gBACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,KAAI,CAAC,KAAK,GAAG,qEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAChC,IAAI,CAAC,YAAY,EAAE;aACtB;SACJ;IACL,CAAC;IAGD,2BAA2B;IAC3B,wCAAQ,GAAR;QAAA,iBAMC;QALG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+DAAQ,CAAC,aAAG,IAAI,4DAAQ,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACjC,KAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,uCAAuC;IAEvC,wCAAQ,GAAR;QACI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,mDAAmB,GAA1B,UAA2B,KAAK;QAC5B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAqB,mFAAkB,EAAE;YACvE,UAAU,EAAE,sBAAsB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,KAAK,CAAC,CAAC;gBACf,MAAM,EAAE,KAAK,CAAC,CAAC;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B;IACxB,6CAAa,GAApB;QACI,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAe,+DAAY,EAAE;YAC3D,UAAU,EAAE,sBAAsB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC9B;SACJ,CAAC,CAAC;IACP,CAAC;IAED,+DAA+D;IACxD,qDAAqB,GAA5B;QACI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO,EAAE,CAAC;SACb;aAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;YAC9C,OAAO,iBAAiB,CAAC;SAC5B;aAAM;YACH,OAAQ,kBAAkB,CAAC;SAC9B;IACL,CAAC;IAED;;;OAGG;IACI,gDAAgB,GAAvB;QACI,IAAK,CAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;YAC9E,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC3C,4CAAY,GAApB;QAAA,iBAmCC;QAlCG,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,2EAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAC,CAAC;YACjC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,GAAG,2EAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAC,CAAC;YAChC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,GAAG,2EAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC/B,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAGH,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,2EAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC9B,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,UAAU,GAAG,2EAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,2EAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,kEAAkE;IAC1D,6CAAa,GAArB;QACI,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;SAC/C;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACL,CAAC;IAED,mDAAmD;IAC3C,gDAAgB,GAAxB;QAAA,iBAqBC;QApBG,iCAAiC;QACjC,sFAAsF;QACtF,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvG,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvG,IAAI,CAAC,wBAAwB,GAAG,eAAe,CAAC,SAAS,CAAC,UAAC,CAAC;YACxD,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,SAAS,CAAC,UAAC,CAAC;YACtD,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAC,CAAC;YACxD,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAC,CAAC;YACtD,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;IAED,wEAAwE;IAChE,iDAAiB,GAAzB,UAA0B,CAAC;QACvB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,EAAE;gBAC5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,OAAO;aACV;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACtC;iBAAM;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;SACJ;IACL,CAAC;IAED,mEAAmE;IAC3D,+CAAe,GAAvB,UAAwB,CAAC;QACrB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,EAAE;gBAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,OAAO;aACV;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;iBAAM;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACtC;SACJ;IACL,CAAC;IAED,kCAAkC;IAC1B,4CAAY,GAApB;QACI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAG;gBAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;oBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;gBAClD,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpD,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;aACnD;iBAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,EAAG;gBAC7D,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;oBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;gBAClD,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpD,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;aACnD;iBAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,EAAG;gBAClC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;oBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACtB;SACJ;aAAM;YACH,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBAClD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;aACrB;iBAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBACtF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACtB;iBAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACtB;SACJ;IACL,CAAC;;gBAzPoB,uDAAS;gBACH,sEAAa;gBACvB,wDAAU;gBACR,2DAAS;;IAzD5B;QADC,2DAAK,EAAE;;0DACiB;IAIzB;QADC,2DAAK,EAAE;;oEACyB;IA2CjC;QADC,2DAAK,EAAE;;wDACa;IA2CrB;QADC,kEAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDAGzC;IAhGQ,qBAAqB;QANjC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,gNAA2C;;SAE9C,CAAC;QACF,gDAAgD;;yCA2DvB,uDAAS;YACH,sEAAa;YACvB,wDAAU;YACR,2DAAS;OA7DnB,qBAAqB,CAoTjC;IAAD,4BAAC;CAAA;AApTiC;;;;;;;;;;;;;ACrBlC;AAAe,8EAAe,sBAAsB,4BAA4B,oDAAoD,yBAAyB,KAAK,qBAAqB,2BAA2B,qBAAqB,sBAAsB,mBAAmB,qBAAqB,yBAAyB,2BAA2B,KAAK,qBAAqB,sBAAsB,KAAK,6BAA6B,sBAAsB,6BAA6B,KAAK,kCAAkC,4BAA4B,wBAAwB,0BAA0B,uBAAuB,4BAA4B,KAAK,mCAAmC,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,yBAAyB,gCAAgC,4BAA4B,KAAK,sBAAsB,4BAA4B,wBAAwB,0BAA0B,uBAAuB,0BAA0B,2BAA2B,KAAK,yBAAyB,wBAAwB,0BAA0B,uBAAuB,0BAA0B,2BAA2B,KAAK,6BAA6B,2BAA2B,KAAK,6BAA6B,2BAA2B,qBAAqB,mBAAmB,wBAAwB,KAAK,oCAAoC,sBAAsB,gCAAgC,SAAS,qBAAqB,+BAA+B,SAAS,KAAK,mCAAmC,sBAAsB,+BAA+B,SAAS,qBAAqB,+BAA+B,SAAS,KAAK,+CAA+C,u/G;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjtD;AASzD;IAcI;;OAEG;IACH;IACA,CAAC;IAED;;OAEG;IACI,uCAAQ,GAAf;IACA,CAAC;IApBD;QADC,2DAAK,EAAE;;yDACiB;IAIzB;QADC,2DAAK,EAAE;;uDACa;IAIrB;QADC,2DAAK,EAAE;;wDACe;IAZd,oBAAoB;QANhC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,gNAA2C;;SAE9C,CAAC;QACF,sDAAsD;;;OACzC,oBAAoB,CAyBhC;IAAD,2BAAC;CAAA;AAzBgC;;;;;;;;;;;;;ACTjC;AAAe,8EAAe,sBAAsB,yBAAyB,KAAK,qBAAqB,qBAAqB,sBAAsB,4BAA4B,4BAA4B,oDAAoD,wBAAwB,4BAA4B,sBAAsB,KAAK,qBAAqB,oBAAoB,qBAAqB,KAAK,sBAAsB,4BAA4B,yBAAyB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,KAAK,0BAA0B,wBAAwB,wBAAwB,KAAK,gCAAgC,2BAA2B,oBAAoB,4BAA4B,yBAAyB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,yBAAyB,KAAK,4BAA4B,0BAA0B,KAAK,6BAA6B,sBAAsB,KAAK,oBAAoB,qCAAqC,KAAK,+CAA+C,qBAAqB,2BAA2B,KAAK,qBAAqB,kCAAkC,KAAK,4BAA4B,sBAAsB,KAAK,oCAAoC,sBAAsB,yBAAyB,SAAS,6BAA6B,6BAA6B,SAAS,+CAA+C,yBAAyB,SAAS,4BAA4B,gCAAgC,SAAS,8BAA8B,yCAAyC,SAAS,KAAK,mCAAmC,sBAAsB,yBAAyB,SAAS,qBAAqB,wBAAwB,yBAAyB,8BAA8B,SAAS,sBAAsB,gCAAgC,4BAA4B,8BAA8B,8BAA8B,SAAS,qBAAqB,yBAAyB,4BAA4B,gCAAgC,yBAAyB,SAAS,4BAA4B,0BAA0B,mCAAmC,SAAS,+CAA+C,yBAAyB,gCAAgC,SAAS,4BAA4B,+BAA+B,SAAS,0BAA0B,0BAA0B,0BAA0B,+BAA+B,SAAS,KAAK,+CAA+C,u7J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAriF;AAEc;AACO;AACb;AAS1D;IAiBI;;;OAGG;IACH,8BACY,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QApB1C,uBAAuB;QAChB,aAAQ,GAAiB,EAAE,CAAC;QAEnC,+CAA+C;QACxC,eAAU,GAAY,IAAI,CAAC;QAElC,+CAA+C;QACxC,0BAAqB,GAAY,KAAK,CAAC;QAK9C,uCAAuC;QAChC,WAAM,GAAY,IAAI,CAAC;IAQ9B,CAAC;IAED;;OAEG;IACI,uCAAQ,GAAf;QAAA,iBAYC;QAXG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,+EAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAC1D,UAAC,IAAI;YACD,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAArE,CAAqE,CAAC,CAAC;YAC3G,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACX,CAAC;IAED,qEAAqE;IAC9D,4CAAa,GAApB;QACI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,0DAA0D;IACnD,uDAAwB,GAA/B;QACI,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC7D,CAAC;;gBA5B2B,wEAAc;;IAtBjC,oBAAoB;QANhC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,gNAA2C;;SAE9C,CAAC;QACF,8CAA8C;;yCAuBd,wEAAc;OAtBjC,oBAAoB,CAmDhC;IAAD,2BAAC;CAAA;AAnDgC;;;;;;;;;;;;;ACbjC;AAAe,8EAAe,gCAAgC,oDAAoD,qBAAqB,uBAAuB,wBAAwB,4BAA4B,4BAA4B,KAAK,2BAA2B,uBAAuB,yBAAyB,sBAAsB,4BAA4B,wBAAwB,0BAA0B,KAAK,yBAAyB,2BAA2B,oBAAoB,qBAAqB,KAAK,sBAAsB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,2BAA2B,2BAA2B,KAAK,gEAAgE,uBAAuB,KAAK,qCAAqC,2BAA2B,sBAAsB,KAAK,wCAAwC,4BAA4B,4BAA4B,uBAAuB,yCAAyC,wBAAwB,0BAA0B,KAAK,oCAAoC,wBAAwB,uBAAuB,KAAK,8BAA8B,4BAA4B,oBAAoB,KAAK,uCAAuC,0BAA0B,6BAA6B,yCAAyC,KAAK,yCAAyC,6BAA6B,8BAA8B,qCAAqC,0BAA0B,yBAAyB,KAAK,kGAAkG,qBAAqB,KAAK,kGAAkG,qBAAqB,KAAK,kGAAkG,qBAAqB,KAAK,kGAAkG,qBAAqB,KAAK,kGAAkG,oBAAoB,4BAA4B,KAAK,oGAAoG,yBAAyB,aAAa,yDAAyD,oBAAoB,4BAA4B,KAAK,wFAAwF,mBAAmB,KAAK,oGAAoG,kCAAkC,4BAA4B,KAAK,qGAAqG,kCAAkC,4BAA4B,KAAK,+BAA+B,4BAA4B,oDAAoD,sBAAsB,2BAA2B,4BAA4B,KAAK,kCAAkC,yBAAyB,wBAAwB,0BAA0B,uBAAuB,4BAA4B,oBAAoB,2BAA2B,KAAK,qCAAqC,wBAAwB,0BAA0B,uBAAuB,4BAA4B,oBAAoB,2BAA2B,KAAK,qBAAqB,2BAA2B,KAAK,qBAAqB,2BAA2B,qBAAqB,oBAAoB,mBAAmB,KAAK,8CAA8C,8BAA8B,0BAA0B,SAAS,2BAA2B,+BAA+B,SAAS,0BAA0B,0BAA0B,SAAS,+BAA+B,2BAA2B,SAAS,sBAAsB,0BAA0B,+BAA+B,SAAS,KAAK,8CAA8C,8BAA8B,2BAA2B,SAAS,2BAA2B,gCAAgC,SAAS,sBAAsB,0BAA0B,SAAS,+BAA+B,0BAA0B,SAAS,sBAAsB,0BAA0B,+BAA+B,SAAS,KAAK,+CAA+C,sBAAsB,0BAA0B,SAAS,KAAK,+CAA+C,uvQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAt+I;AAC3B;AAGgB;AACL;AAQ5D;IAcI,gCACc,KAAqB,EACvB,cAA8B;QAD5B,UAAK,GAAL,KAAK,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAqB1C,oCAAoC;QAC7B,kBAAa,GAAG,UAAS,IAAc;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;IAvBF,CAAC;IAEM,yCAAQ,GAAf;QAAA,iBAaC;QAZG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/C,UAAC,QAAQ;YACL,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gBAC/B,WAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAAjE,CAAiE,CAAC,CAAC;YACvE,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CACJ,CAAC;IACN,CAAC;IAED,oCAAoC;IAC7B,4CAAW,GAAlB,UAAmB,OAAsB,IAAS,CAAC;;gBApB9B,8DAAc;gBACP,yEAAc;;IAhBjC,sBAAsB;QANlC,+DAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;YAC9B,mNAA4C;;SAE/C,CAAC;QACF,kCAAkC;;yCAgBT,8DAAc;YACP,yEAAc;OAhBjC,sBAAsB,CAyClC;IAAD,6BAAC;CAAA;AAzCkC;;;;;;;;;;;;;ACbnC;AAAe,8EAAe,oCAAoC,iCAAiC,4BAA4B,yBAAyB,sBAAsB,uBAAuB,KAAK,0BAA0B,sBAAsB,sBAAsB,4BAA4B,4BAA4B,KAAK,4BAA4B,0BAA0B,KAAK,+BAA+B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,4BAA4B,uBAAuB,2BAA2B,KAAK,qCAAqC,4BAA4B,wBAAwB,0BAA0B,sBAAsB,uBAAuB,KAAK,wBAAwB,oBAAoB,qBAAqB,KAAK,2BAA2B,sBAAsB,qBAAqB,4BAA4B,oDAAoD,2BAA2B,KAAK,0BAA0B,sBAAsB,2BAA2B,4BAA4B,0BAA0B,6BAA6B,KAAK,2BAA2B,sBAAsB,iCAAiC,qBAAqB,4BAA4B,kCAAkC,+BAA+B,4BAA4B,4BAA4B,KAAK,2BAA2B,gBAAgB,oBAAoB,qBAAqB,0BAA0B,sBAAsB,4BAA4B,qBAAqB,KAAK,sDAAsD,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,6CAA6C,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,iDAAiD,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,kDAAkD,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,wCAAwC,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,yBAAyB,oBAAoB,qBAAqB,4BAA4B,qBAAqB,KAAK,4BAA4B,oBAAoB,qBAAqB,gCAAgC,qBAAqB,wBAAwB,uBAAuB,mBAAmB,2BAA2B,KAAK,iCAAiC,qBAAqB,qBAAqB,4BAA4B,oDAAoD,4BAA4B,0BAA0B,uBAAuB,qBAAqB,sBAAsB,wBAAwB,4BAA4B,yBAAyB,wBAAwB,0BAA0B,KAAK,yCAAyC,4BAA4B,4BAA4B,6BAA6B,KAAK,uCAAuC,4BAA4B,wBAAwB,0BAA0B,4BAA4B,2BAA2B,uBAAuB,yCAAyC,KAAK,0BAA0B,uBAAuB,kBAAkB,2BAA2B,KAAK,sDAAsD,oBAAoB,4BAA4B,KAAK,6BAA6B,4BAA4B,oBAAoB,KAAK,iCAAiC,qBAAqB,KAAK,mCAAmC,qBAAqB,KAAK,yCAAyC,qBAAqB,KAAK,uCAAuC,qBAAqB,KAAK,sCAAsC,qBAAqB,0BAA0B,KAAK,sCAAsC,0BAA0B,KAAK,2CAA2C,4BAA4B,wBAAwB,0BAA0B,yBAAyB,4BAA4B,uBAAuB,wBAAwB,yBAAyB,gCAAgC,4BAA4B,KAAK,0CAA0C,6CAA6C,KAAK,8CAA8C,uBAAuB,KAAK,sDAAsD,6CAA6C,KAAK,0DAA0D,uBAAuB,KAAK,+BAA+B,uBAAuB,KAAK,mBAAmB,gDAAgD,gDAAgD,KAAK,uBAAuB,2BAA2B,wBAAwB,0BAA0B,gDAAgD,gDAAgD,KAAK,4BAA4B,qBAAqB,KAAK,+BAA+B,2BAA2B,KAAK,8BAA8B,2BAA2B,KAAK,sBAAsB,4BAA4B,wBAAwB,0BAA0B,uBAAuB,0BAA0B,2BAA2B,KAAK,0BAA0B,2BAA2B,wBAAwB,KAAK,4BAA4B,sBAAsB,KAAK,+CAA+C,sCAAsC,KAAK,8CAA8C,uCAAuC,KAAK,oCAAoC,+BAA+B,gCAAgC,gCAAgC,wDAAwD,yBAAyB,6CAA6C,gCAAgC,wBAAwB,4BAA4B,SAAS,8BAA8B,+BAA+B,gCAAgC,wDAAwD,wBAAwB,yBAAyB,6CAA6C,gCAAgC,4BAA4B,SAAS,2BAA2B,yBAAyB,SAAS,4BAA4B,yBAAyB,8BAA8B,SAAS,sBAAsB,8BAA8B,SAAS,KAAK,mCAAmC,2BAA2B,yBAAyB,0BAA0B,SAAS,+BAA+B,wBAAwB,gCAAgC,SAAS,8BAA8B,wBAAwB,+BAA+B,SAAS,wBAAwB,0BAA0B,SAAS,4BAA4B,6BAA6B,SAAS,0BAA0B,0BAA0B,gCAAgC,SAAS,wBAAwB,wBAAwB,yBAAyB,SAAS,+BAA+B,gCAAgC,4BAA4B,8BAA8B,SAAS,yBAAyB,0BAA0B,8BAA8B,+BAA+B,6BAA6B,SAAS,qCAAqC,wBAAwB,4BAA4B,8BAA8B,SAAS,iCAAiC,yBAAyB,yBAAyB,gCAAgC,4BAA4B,8BAA8B,SAAS,0BAA0B,+BAA+B,gCAAgC,SAAS,2BAA2B,wBAAwB,yBAAyB,SAAS,4BAA4B,wBAAwB,yBAAyB,+BAA+B,+BAA+B,SAAS,sDAAsD,4BAA4B,8BAA8B,SAAS,6CAA6C,4BAA4B,8BAA8B,SAAS,iDAAiD,4BAA4B,8BAA8B,SAAS,kDAAkD,4BAA4B,8BAA8B,SAAS,wCAAwC,4BAA4B,8BAA8B,SAAS,2BAA2B,yBAAyB,SAAS,yBAAyB,wBAAwB,yBAAyB,SAAS,sDAAsD,wBAAwB,SAAS,iCAAiC,yBAAyB,SAAS,uCAAuC,wBAAwB,SAAS,+CAA+C,oCAAoC,SAAS,sCAAsC,wBAAwB,6BAA6B,SAAS,8CAA8C,qCAAqC,SAAS,uCAAuC,gCAAgC,SAAS,2CAA2C,4BAA4B,8BAA8B,SAAS,4BAA4B,yBAAyB,yBAAyB,6BAA6B,SAAS,sBAAsB,8BAA8B,SAAS,8BAA8B,0BAA0B,SAAS,KAAK,+CAA+C,2ihB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9xT;AACX;AACD;AACuB;AAEO;AAClB;AACX;AACU;AACN;AACY;AAQ1D;IAqCI;;;;OAIG;IACH,mCACY,MAAc,EACd,cAA8B,EAC/B,MAAiB;QAFhB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAW;QA/B5B,oBAAoB;QACb,eAAU,GAAW,EAAE,CAAC;QAExB,mBAAc,GAAY,IAAI,CAAC;QAKtC;;;;;WAKG;QACI,eAAU,GAAW,CAAC,CAAC;QAK9B,4CAA4C;QACpC,kBAAa,GAAkB,IAAI,4CAAO,EAAQ,CAAC;QA2C3D,oCAAoC;QAC7B,kBAAa,GAAG,UAAU,IAAI;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,qBAAqB;QACd,WAAM,GAAG;YAAA,iBAKf;YAJG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CACjD,cAAI,IAAI,WAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;gBAChF,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EADxE,CACwE,CACnF,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;IA1CD,CAAC;IAED,8BAA8B;IAC9B,4CAAQ,GAAR;QAAA,iBAmBC;QAlBG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+DAAQ,CAAC,aAAG,IAAI,4DAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACjC,KAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,+EAAmB,CAAC,OAAO,GAAG,+EAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CACrF,UAAC,IAAI;YACD,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAArE,CAAqE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9H,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACX,CAAC;IAED,uCAAuC;IAEvC,4CAAQ,GAAR;QACI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAE9B,CAAC;IAeD,0BAA0B;IACnB,sDAAkB,GAAzB;QACI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAGD,+BAA+B;IACxB,kDAAc,GAArB,UAAsB,eAAyB;QAC3C,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAe,+DAAY,EAAE;YAC3D,UAAU,EAAE,sBAAsB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,eAAe,CAAC,UAAU;aACvC;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,kDAAc,GAArB,UAAsB,eAAyB;QAC3C,IAAI,eAAe,IAAI,IAAI,CAAC,WAAW;YACnC,OAAO;QAEX,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEpE,CAAC;IAED,kCAAkC;IAC1B,gDAAY,GAApB;QACI,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACtF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;IACL,CAAC;IAED,uDAAuD;IAChD,mDAAe,GAAtB;QACI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,0DAA0D;IACnD,mDAAe,GAAtB;QACI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;;gBAlGmB,sDAAM;gBACE,wEAAc;gBACvB,2DAAS;;IA2B5B;QADC,kEAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;6DAIzC;IA3EQ,yBAAyB;QANrC,+DAAS,CAAC;YACP,QAAQ,EAAE,uBAAuB;YACjC,4NAA+C;;SAElD,CAAC;QACF,kCAAkC;;yCA4CV,sDAAM;YACE,wEAAc;YACvB,2DAAS;OA7CnB,yBAAyB,CA+IrC;IAAD,gCAAC;CAAA;AA/IqC;;;;;;;;;;;;;AClBtC;AAAe,2EAAY,yBAAyB,KAAK,sBAAsB,qBAAqB,4BAA4B,oDAAoD,sBAAsB,4BAA4B,qBAAqB,KAAK,uBAAuB,4BAA4B,oDAAoD,4BAA4B,sBAAsB,qBAAqB,yBAAyB,0BAA0B,KAAK,2BAA2B,0BAA0B,0BAA0B,KAAK,kCAAkC,yBAAyB,wBAAwB,8BAA8B,+BAA+B,oCAAoC,4BAA4B,aAAa,2BAA2B,wBAAwB,uBAAuB,wBAAwB,0BAA0B,0BAA0B,yCAAyC,0BAA0B,KAAK,+BAA+B,kDAAkD,KAAK,4BAA4B,0BAA0B,KAAK,4BAA4B,wBAAwB,uBAAuB,2BAA2B,KAAK,uCAAuC,wBAAwB,0BAA0B,2BAA2B,KAAK,kCAAkC,0BAA0B,wBAAwB,KAAK,mCAAmC,0BAA0B,wBAAwB,KAAK,2BAA2B,2BAA2B,KAAK,6BAA6B,yBAAyB,2BAA2B,sBAAsB,uCAAuC,qBAAqB,SAAS,sBAAsB,yBAAyB,KAAK,0BAA0B,yBAAyB,KAAK,iDAAiD,kCAAkC,KAAK,8BAA8B,uBAAuB,wBAAwB,wBAAwB,KAAK,4EAA4E,mCAAmC,KAAK,+BAA+B,uBAAuB,wBAAwB,wBAAwB,KAAK,wBAAwB,kCAAkC,qBAAqB,KAAK,gBAAgB,kCAAkC,+BAA+B,qBAAqB,wBAAwB,0BAA0B,2BAA2B,4BAA4B,uBAAuB,sBAAsB,yBAAyB,KAAK,2BAA2B,4BAA4B,oDAAoD,KAAK,wBAAwB,yBAAyB,SAAS,sBAAsB,wBAAwB,0BAA0B,uBAAuB,0BAA0B,2BAA2B,KAAK,wBAAwB,4BAA4B,2BAA2B,0BAA0B,KAAK,8BAA8B,uBAAuB,yBAAyB,yBAAyB,sBAAsB,KAAK,eAAe,uBAAuB,4BAA4B,yBAAyB,KAAK,uDAAuD,qDAAqD,2BAA2B,kCAAkC,0BAA0B,KAAK,iDAAiD,oBAAoB,kCAAkC,KAAK,uDAAuD,2BAA2B,oDAAoD,kCAAkC,KAAK,kCAAkC,kCAAkC,KAAK,4DAA4D,2BAA2B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,2BAA2B,2BAA2B,yBAAyB,gCAAgC,4BAA4B,KAAK,kCAAkC,4BAA4B,wBAAwB,0BAA0B,2BAA2B,yBAAyB,gCAAgC,4BAA4B,wBAAwB,KAAK,8BAA8B,qBAAqB,oBAAoB,KAAK,+DAA+D,mBAAmB,gCAAgC,6CAA6C,kCAAkC,KAAK,sBAAsB,oBAAoB,yBAAyB,2BAA2B,uBAAuB,mBAAmB,mBAAmB,eAAe,qBAAqB,mBAAmB,0BAA0B,KAAK,4BAA4B,mBAAmB,KAAK,2BAA2B,kBAAkB,KAAK,mEAAmE,6CAA6C,KAAK,yCAAyC,uBAAuB,KAAK,mBAAmB,gDAAgD,gDAAgD,KAAK,uBAAuB,yBAAyB,KAAK,2BAA2B,qBAAqB,KAAK,wBAAwB,2BAA2B,4BAA4B,yBAAyB,KAAK,6BAA6B,2BAA2B,KAAK,+BAA+B,4BAA4B,wBAAwB,0BAA0B,2BAA2B,yBAAyB,gCAAgC,4BAA4B,wBAAwB,KAAK,8CAA8C,wBAAwB,0BAA0B,SAAS,4BAA4B,0BAA0B,SAAS,uCAAuC,0BAA0B,SAAS,qBAAqB,0BAA0B,SAAS,kCAAkC,0BAA0B,SAAS,4BAA4B,0BAA0B,SAAS,+BAA+B,8BAA8B,+BAA+B,4BAA4B,4BAA4B,SAAS,qBAAqB,uCAAuC,SAAS,iCAAiC,gCAAgC,SAAS,2BAA2B,8BAA8B,0BAA0B,SAAS,uBAAuB,0BAA0B,SAAS,+BAA+B,gCAAgC,wDAAwD,wBAAwB,0BAA0B,6CAA6C,SAAS,8BAA8B,gCAAgC,wDAAwD,4BAA4B,0BAA0B,6CAA6C,8BAA8B,SAAS,0BAA0B,0BAA0B,6BAA6B,SAAS,4BAA4B,qCAAqC,SAAS,4BAA4B,4BAA4B,6BAA6B,uCAAuC,4BAA4B,aAAa,4BAA4B,+BAA+B,gCAAgC,SAAS,6BAA6B,0BAA0B,SAAS,SAAS,8CAA8C,sBAAsB,4BAA4B,SAAS,4BAA4B,4BAA4B,SAAS,4BAA4B,0BAA0B,SAAS,uCAAuC,4BAA4B,SAAS,qBAAqB,0BAA0B,SAAS,kCAAkC,4BAA4B,SAAS,4BAA4B,4BAA4B,SAAS,gCAAgC,0BAA0B,6BAA6B,2BAA2B,SAAS,uBAAuB,0BAA0B,SAAS,+BAA+B,0BAA0B,SAAS,+BAA+B,8BAA8B,4BAA4B,8BAA8B,6BAA6B,4BAA4B,WAAW,qBAAqB,uCAAuC,0BAA0B,SAAS,iCAAiC,gCAAgC,SAAS,wBAAwB,+BAA+B,gCAAgC,SAAS,2BAA2B,8BAA8B,4BAA4B,SAAS,gCAAgC,2BAA2B,SAAS,iCAAiC,0BAA0B,SAAS,KAAK,+CAA+C,sBAAsB,0BAA0B,SAAS,4BAA4B,4BAA4B,SAAS,+BAA+B,8BAA8B,0BAA0B,yBAAyB,+BAA+B,6BAA6B,SAAS,uBAAuB,8BAA8B,0BAA0B,SAAS,gCAAgC,0BAA0B,yBAAyB,6BAA6B,SAAS,kCAAkC,0BAA0B,SAAS,KAAK,uDAAuD,u4jB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlpT;AAC/B;AACG;AACmB;AACpB;AAIsB;AACO;AAEE;AAIf;AAS1D;IA+EI;;;;OAIG;IACH,+BACW,QAAmB,EAClB,GAAe,EACf,cAA8B,EAC9B,kBAAsC;QAHvC,aAAQ,GAAR,QAAQ,CAAW;QAClB,QAAG,GAAH,GAAG,CAAY;QACf,mBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAnFlD,+CAA+C;QACxC,mBAAc,GAAY,KAAK,CAAC;QAIvC,sCAAsC;QAC/B,mBAAc,GAAW,EAAE,CAAC;QACnC,uBAAuB;QAChB,gBAAW,GAAW,CAAC,CAAC;QAC/B,yBAAyB;QAClB,cAAS,GAAW,CAAC,CAAC;QAO7B,wCAAwC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAgBxC,gDAAgD;QAChD,8CAA8C;QAE7C,4CAA4C;QACpC,kBAAa,GAAkB,IAAI,4CAAO,EAAQ,CAAC;IA+C3D,CAAC;IAED,oBAAoB;IACpB,wCAAQ,GAAR;QAAA,iBAyBC;QAxBG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+DAAQ,CAAC,aAAG,IAAI,4DAAQ,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACjC,KAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;QAGpB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE;SACtB;QAED,0BAA0B;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CACnC,UAAC,KAAK;YACF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,KAAI,CAAC,YAAY,EAAE,CAAC;YACpB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,QAAQ,CAAC,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,sCAAsC;IAC/B,+CAAe,GAAtB,UAAuB,GAAiB;QACpC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;IACL,CAAC;IAED,oDAAoD;IAC7C,mDAAmB,GAA1B,UAA2B,KAAa;QACpC,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;YAC/B,OAAO;SACV;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,4BAA4B;IACrB,4CAAY,GAAnB,UAAoB,OAAY;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC/B,CAAC;IAEM,8CAAc,GAArB,UAAsB,KAAU;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,2CAA2C;IACpC,0CAAU,GAAjB;QACI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;IACL,CAAC;IAED,uDAAuD;IAChD,+CAAe,GAAtB;QACI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,mCAAmC;IACvC,CAAC;IAED,0DAA0D;IACnD,+CAAe,GAAtB;QACI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,iCAAiC;IAC1B,2CAAW,GAAlB;QACI,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC;YACrB,OAAO;QACX,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,qCAAqC;IAC9B,0CAAU,GAAjB;QACI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YACpE,OAAO;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,oCAAoC;IAC7B,0CAAU,GAAjB;QACI,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YACjF,OAAO;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,oCAAoC;IAC7B,0CAAU,GAAjB;QACI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS;YAClC,OAAO;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,2CAAW,GAAlB,UAAmB,MAAsB;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,oDAAoD;QACpD,IAAI;YACA,0CAA0C;YACzC,MAAM,CAAC,GAAW,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,8BAA8B,GAAG,CAAC,CAAC;SACpG;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;IACL,CAAC;IAED,uCAAuC;IAEhC,wCAAQ,GAAf;QACI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAE9B,CAAC;IAED;;OAEG;IACK,4CAAY,GAApB;QAAA,iBAqBC;QApBG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CACnD,UAAC,KAAK;YACF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,uBAAuB;YACvB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEzE,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,+EAAmB,CAAC,OAAO,GAAG,+EAAmB,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CACtJ,UAAC,IAAI;gBACD,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,EACD,UAAC,KAAK;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,KAAI,CAAC,QAAQ,CAAC,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACX,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,QAAQ,CAAC,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8BAA8B;IACtB,2CAAW,GAAnB;QAAA,iBAWC;QAVG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CACtD,UAAC,GAAG;YACA,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC7B,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IAEX,CAAC;IAED;;;OAGG;IACI,8CAAc,GAArB,UAAsB,eAAyB;QAC3C,IAAI,eAAe,IAAI,IAAI,CAAC,WAAW;YACnC,OAAO;QAEX,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEpE,CAAC;IAGD,kCAAkC;IACzB,4CAAY,GAApB;QAEG,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YAClD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACtF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SAC3B;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SAC3B;IACJ,CAAC;IAGF,mDAAmD;IAC3C,4CAAY,GAApB;QAAA,iBAyDC;QAxDG,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,GAAG,sDAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAC,CAAC;YAChC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,GAAG,sDAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC/B,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAChF,IAAI,CAAC,oBAAoB,GAAG,sDAAS,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAC,CAAC;YAClC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,sDAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAC,CAAC;YACjC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,sDAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAC,CAAC;YACjC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,GAAG,sDAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAC,CAAC;YAChC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACpF,IAAI,CAAC,sBAAsB,GAAG,sDAAS,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAC,CAAC;YACpC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAClF,IAAI,CAAC,qBAAqB,GAAG,sDAAS,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAC,CAAC;YACnC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,sDAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,sDAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,kEAAkE;IAC1D,6CAAa,GAArB;QACI,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAChC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;SAChD;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;SAC/C;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;SAC/C;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,2BAA2B,EAAE;YAClC,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAClD;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;SACjD;IACL,CAAC;IAED,mDAAmD;IAC3C,gDAAgB,GAAxB;QAAA,iBAwCC;QAvCG,iCAAiC;QACjC,sFAAsF;QACtF,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3G,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/G,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7G,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7G,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3G,IAAI,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnH,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAGjH,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC1D,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAC,CAAC;YACxD,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC9D,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC5D,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,IAAI,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC5D,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAC,CAAC;YAC1D,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAI,CAAC,2BAA2B,GAAG,sBAAsB,CAAC,SAAS,CAAC,UAAC,CAAC;YAClE,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,CAAC,0BAA0B,GAAG,qBAAqB,CAAC,SAAS,CAAC,UAAC,CAAC;YAChE,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;IACN,CAAC;IAED,2EAA2E;IACnE,gDAAgB,GAAxB,UAAyB,CAAC;QACtB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM;gBACH,OAAO;aACV;YAED,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;iBAAO,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;SACJ;IACL,CAAC;IAED,yEAAyE;IACjE,kDAAkB,GAA1B,UAA2B,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAErB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM;gBACH,OAAO;aACV;YAED,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;iBAAO,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC;SACJ;IACL,CAAC;IAGD,yEAAyE;IACjE,iDAAiB,GAAzB,UAA0B,CAAC;QACvB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAErB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,EAAE;gBACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM;gBACH,OAAO;aACV;YAED,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;iBAAO,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;SACJ;IACL,CAAC;IAGD,oFAAoF;IAC5E,oDAAoB,GAA5B,UAA6B,CAAC;QAC1B,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAErB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;iBAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,EAAE;gBACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5C;iBAAM;gBACH,OAAO;aACV;YAED,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;SACJ;IACL,CAAC;IAEO,wCAAQ,GAAhB,UAAiB,KAAa;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;gBAzcoB,uDAAS;gBACb,wDAAU;gBACC,wEAAc;gBACV,iFAAkB;;IAiIlD;QADC,kEAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDAIzC;IA5NQ,qBAAqB;QANjC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,gNAA2C;;SAE9C,CAAC;QACF,kCAAkC;;yCAsFT,uDAAS;YACb,wDAAU;YACC,wEAAc;YACV,iFAAkB;OAxFzC,qBAAqB,CA+hBjC;IAAD,4BAAC;CAAA;AA/hBiC;;;;;;;;;;;;;ACxBlC;AAAe,4IAA6E,sBAAsB,gCAAgC,4BAA4B,sBAAsB,KAAK,oBAAoB,gCAAgC,sBAAsB,qBAAqB,4BAA4B,2BAA2B,4BAA4B,0BAA0B,6BAA6B,KAAK,iDAAiD,2BAA2B,KAAK,6BAA6B,wBAAwB,KAAK,+BAA+B,wBAAwB,uBAAuB,KAAK,0DAA0D,uBAAuB,4BAA4B,wBAAwB,sBAAsB,gCAAgC,wBAAwB,4BAA4B,KAAK,+BAA+B,2BAA2B,qBAAqB,oBAAoB,KAAK,qDAAqD,sBAAsB,4BAA4B,yBAAyB,KAAK,oCAAoC,yBAAyB,2BAA2B,uBAAuB,wBAAwB,KAAK,2BAA2B,2BAA2B,0BAA0B,uBAAuB,0BAA0B,KAAK,kDAAkD,qCAAqC,qCAAqC,4BAA4B,qBAAqB,wBAAwB,oDAAoD,kCAAkC,KAAK,4BAA4B,qCAAqC,qCAAqC,yBAAyB,4BAA4B,qBAAqB,wBAAwB,oDAAoD,kCAAkC,qBAAqB,KAAK,kBAAkB,sDAAsD,8CAA8C,KAAK,oCAAoC,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,4BAA4B,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,2BAA2B,wBAAwB,0BAA0B,uBAAuB,KAAK,6CAA6C,oBAAoB,qBAAqB,KAAK,4BAA4B,yDAAyD,qBAAqB,2BAA2B,0BAA0B,2BAA2B,oBAAoB,qBAAqB,KAAK,+BAA+B,4DAA4D,qBAAqB,2BAA2B,0BAA0B,2BAA2B,oBAAoB,qBAAqB,KAAK,sEAAsE,4BAA4B,qBAAqB,wBAAwB,yBAAyB,kCAAkC,kCAAkC,KAAK,kFAAkF,yCAAyC,KAAK,iBAAiB,oBAAoB,qBAAqB,8DAA8D,2BAA2B,kBAAkB,iBAAiB,mBAAmB,KAAK,4BAA4B,uBAAuB,KAAK,6BAA6B,yCAAyC,KAAK,uBAAuB,yCAAyC,KAAK,8CAA8C,oBAAoB,+BAA+B,gCAAgC,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,uBAAuB,wBAAwB,SAAS,4BAA4B,6BAA6B,yBAAyB,yBAAyB,SAAS,KAAK,8CAA8C,oBAAoB,+BAA+B,gCAAgC,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,uBAAuB,yBAAyB,SAAS,4BAA4B,6BAA6B,yBAAyB,yBAAyB,SAAS,KAAK,+CAA+C,mqS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1mJ;AACkB;AACX;AACqB;AACpB;AAQ1D;IAkBI;;;;;;;OAOG;IACH,wBACY,WAAwB,EACxB,KAAqB,EACrB,MAAc,EACd,qBAA4C,EAC5C,WAAwB,EACxB,cAA8B;QAL9B,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QA7B1C,oCAAoC;QAC7B,YAAO,GAAG,KAAK,CAAC;QACvB,sCAAsC;QAC/B,cAAS,GAAG,KAAK,CAAC;QAKzB,qCAAqC;QAC9B,eAAU,GAAG,KAAK,CAAC;QAC1B,qCAAqC;QAC9B,0BAAqB,GAAG,KAAK,CAAC;IAmBrC,CAAC;IAGD,sBAAI,gCAAI;QADR,sDAAsD;aACtD;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACnC,CAAC;;;OAAA;IAED;;OAEG;IACI,iCAAQ,GAAf;QAAA,iBAiCC;QAhCG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACpC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,cAAc,EAAE,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,GAAG,CAAC;QAElE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,SAAS,CAC1C,UAAC,MAAM;YACH,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,EACD,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAC5C,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,IAAI,IAAI,KAAK,EAAC;gBACd,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAC1F,UAAC,MAAM;oBACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3C,CAAC,EACD,UAAC,KAAK;oBACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;gBACpG,CAAC,CAAC,CAAC;aACV;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oCAAoC;IAC7B,2CAAkB,GAAzB,UAA0B,KAAU;QAChC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC7D,CAAC;IAED,sCAAsC;IAC/B,iCAAQ,GAAf;QAAA,iBAiBC;QAhBG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACxB,OAAO;SACV;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CACzC,UAAC,MAAM;YACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,CAAC,EACD,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,kCAAS,GAAhB;QAAA,iBASC;QARG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CACpC,UAAC,MAAM;YACH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;QAClC,CAAC,EACD,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CAAC,CAAC;IACX,CAAC;;gBAzFwB,0DAAW;gBACjB,8DAAc;gBACb,sDAAM;gBACS,sFAAqB;gBAC/B,kEAAW;gBACR,8DAAc;;IAhCjC,cAAc;QAN1B,+DAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,wLAAmC;;SAEtC,CAAC;QACF,6BAA6B;;yCA4BA,0DAAW;YACjB,8DAAc;YACb,sDAAM;YACS,sFAAqB;YAC/B,kEAAW;YACR,8DAAc;OAhCjC,cAAc,CAqH1B;IAAD,qBAAC;CAAA;AArH0B;;;;;;;;;;;;;ACZ3B;AAAe,gFAAiB,sBAAsB,yBAAyB,KAAK,0BAA0B,sBAAsB,2BAA2B,KAAK,wBAAwB,sBAAsB,2BAA2B,KAAK,kCAAkC,sBAAsB,KAAK,gCAAgC,sBAAsB,KAAK,oCAAoC,kCAAkC,0BAA0B,SAAS,KAAK,mCAAmC,wBAAwB,6BAA6B,6BAA6B,SAAS,wBAAwB,6BAA6B,SAAS,KAAK,+CAA+C,u5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACChqB;AACM;AAGG;AACiB;AAQlE;IACI;;;;;OAKG;IACH,uBACW,MAAiB,EACjB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAgB;IAC5B,CAAC;IAEE,gCAAQ,GAAf;QACI,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE;YACT,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAmB,6EAAgB,EAAE;gBACnE,UAAU,EAAE,sBAAsB;gBAClC,IAAI,EAAE;oBACF,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC;SACN;IACL,CAAC;;gBAdkB,2DAAS;gBACV,8DAAc;;IATvB,aAAa;QANzB,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,qLAAkC;;SAErC,CAAC;QACF,uBAAuB;;yCASA,2DAAS;YACV,8DAAc;OATvB,aAAa,CAuBzB;IAAD,oBAAC;CAAA;AAvByB;;;;;;;;;;;;;ACd1B;AAAe,0FAA2B,2BAA2B,yBAAyB,qBAAqB,sBAAsB,4BAA4B,oDAAoD,4BAA4B,KAAK,oCAAoC,sBAAsB,sBAAsB,4BAA4B,KAAK,uBAAuB,oBAAoB,qBAAqB,KAAK,0BAA0B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,uBAAuB,2BAA2B,KAAK,kCAAkC,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,4BAA4B,0BAA0B,KAAK,uBAAuB,2BAA2B,KAAK,qBAAqB,2BAA2B,qBAAqB,sBAAsB,2BAA2B,0BAA0B,mBAAmB,KAAK,qBAAqB,2BAA2B,qBAAqB,sBAAsB,mBAAmB,iBAAiB,mBAAmB,qBAAqB,KAAK,+CAA+C,ukF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7sC;AACL;AACY;AAQzD;IAKI;;;;;;OAMG;IACH,gCACY,WAAwB,EACxB,KAAqB,EACrB,MAAc;QAFd,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;IAC1B,CAAC;IAED;;OAEG;IACI,yCAAQ,GAAf;IACA,CAAC;;gBATwB,0DAAW;gBACjB,8DAAc;gBACb,sDAAM;;IAfjB,sBAAsB;QANlC,+DAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;YAC/B,mNAA4C;;SAE/C,CAAC;QACF,qDAAqD;;yCAcxB,0DAAW;YACjB,8DAAc;YACb,sDAAM;OAfjB,sBAAsB,CAuBlC;IAAD,6BAAC;CAAA;AAvBkC;;;;;;;;;;;;;ACVnC;AAAe,wIAAyE,sBAAsB,gCAAgC,4BAA4B,sBAAsB,KAAK,gBAAgB,gCAAgC,sBAAsB,qBAAqB,4BAA4B,2BAA2B,4BAA4B,0BAA0B,6BAA6B,KAAK,yCAAyC,2BAA2B,6BAA6B,KAAK,yBAAyB,wBAAwB,4BAA4B,KAAK,6BAA6B,wBAAwB,uBAAuB,KAAK,6BAA6B,wBAAwB,uBAAuB,yBAAyB,KAAK,kDAAkD,uBAAuB,4BAA4B,wBAAwB,qBAAqB,gCAAgC,wBAAwB,4BAA4B,KAAK,2BAA2B,2BAA2B,qBAAqB,oBAAoB,KAAK,6CAA6C,sBAAsB,4BAA4B,yBAAyB,KAAK,gCAAgC,yBAAyB,2BAA2B,uBAAuB,wBAAwB,KAAK,uBAAuB,2BAA2B,0BAA0B,uBAAuB,0BAA0B,KAAK,0CAA0C,qCAAqC,qCAAqC,4BAA4B,qBAAqB,wBAAwB,oDAAoD,kCAAkC,KAAK,cAAc,sDAAsD,8CAA8C,KAAK,gCAAgC,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,wBAAwB,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,uBAAuB,wBAAwB,0BAA0B,uBAAuB,KAAK,+DAA+D,4BAA4B,qBAAqB,wBAAwB,yBAAyB,kCAAkC,kCAAkC,KAAK,2EAA2E,yCAAyC,KAAK,aAAa,mBAAmB,oBAAoB,6DAA6D,2BAA2B,kBAAkB,iBAAiB,mBAAmB,KAAK,wBAAwB,uBAAuB,KAAK,yBAAyB,yCAAyC,KAAK,mBAAmB,yCAAyC,KAAK,eAAe,sBAAsB,4CAA4C,kCAAkC,sBAAsB,uBAAuB,gCAAgC,4BAA4B,MAAM,mBAAmB,2BAA2B,KAAK,yBAAyB,wCAAwC,4BAA4B,6BAA6B,KAAK,iBAAiB,qBAAqB,KAAK,0CAA0C,oBAAoB,yBAAyB,gCAAgC,+BAA+B,SAAS,oCAAoC,4BAA4B,SAAS,uBAAuB,yBAAyB,SAAS,KAAK,0CAA0C,oBAAoB,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,yBAAyB,6BAA6B,aAAa,yBAAyB,4BAA4B,SAAS,KAAK,uDAAuD,+wQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzhI;AAEO;AACqB;AAQ9E;IAoBI;;;;OAIG;IACH,mCACY,MAAc,EACd,qBAA4C;QAD5C,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAnBxD,sCAAsC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAEtC,oCAAoC;QAC7B,YAAO,GAAG,KAAK,CAAC;QAKvB,0BAA0B;QACnB,gBAAW,GAAW,4DAA4D,CAAC;IAU1F,CAAC;IAED,oCAAoC;IAC7B,4CAAQ,GAAf,cAAyB,CAAC;IAE1B;;OAEG;IACI,kDAAc,GAArB;QACI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED,sCAAsC;IAC/B,4CAAQ,GAAf;QAAA,iBAaC;QAZG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAClF,UAAC,MAAM;YACH,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC;QAClD,CAAC,EACD,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CAAC,CAAC;IACX,CAAC;;gBA5BmB,sDAAM;gBACS,sFAAqB;;IA3B/C,yBAAyB;QANrC,+DAAS,CAAC;YACP,QAAQ,EAAE,uBAAuB;YACjC,4NAA+C;;SAElD,CAAC;QACF,6CAA6C;;yCA2BrB,sDAAM;YACS,sFAAqB;OA3B/C,yBAAyB,CAuDrC;IAAD,gCAAC;CAAA;AAvDqC;;;;;;;;;;;;;ACXtC;AAAe,0EAAW,mBAAmB,KAAK,oBAAoB,4BAA4B,2BAA2B,yBAAyB,wBAAwB,0BAA0B,yBAAyB,KAAK,kBAAkB,mBAAmB,KAAK,wBAAwB,4BAA4B,KAAK,yBAAyB,wBAAwB,0BAA0B,KAAK,sBAAsB,sBAAsB,yBAAyB,0BAA0B,4BAA4B,kCAAkC,KAAK,6BAA6B,4BAA4B,2BAA2B,4BAA4B,oDAAoD,0BAA0B,6BAA6B,2BAA2B,4BAA4B,uBAAuB,qBAAqB,sBAAsB,wBAAwB,KAAK,0DAA0D,uBAAuB,4BAA4B,wBAAwB,sBAAsB,gCAAgC,wBAAwB,4BAA4B,0BAA0B,qBAAqB,KAAK,+BAA+B,2BAA2B,qBAAqB,oBAAoB,KAAK,kBAAkB,2BAA2B,0BAA0B,qBAAqB,sBAAsB,8BAA8B,KAAK,2BAA2B,2BAA2B,KAAK,+CAA+C,2sG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApgD;AACM;AACF;AACM;AAEE;AAQ9D;IAiBE;;;;OAIG;IACH,mCACoC,IAAS,EAC/B,UAAsB,EACtB,aAA4B;QAFN,SAAI,GAAJ,IAAI,CAAK;QAC/B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAd1C,wBAAwB;QACjB,eAAU,GAAY,EAAE,CAAC;QAEhC,+BAA+B;QACxB,WAAM,GAAY,KAAK,CAAC;IAW/B,CAAC;IAED;;OAEG;IACI,4CAAQ,GAAf;QAAA,iBAcC;QAbC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAC7C,UAAC,IAAI;YACD,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,OAAO,EAAtB,CAAsB,CAAC,CAAC,KAAK,CAAC;YACzD,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,OAAO,EAAtB,CAAsB,CAAC,CAAC,KAAK,CAAC;QAC9D,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,EACD;YACE,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,6CAAS,GAAhB;QAAA,iBAWD;QAVG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CACtD,UAAC,GAAG;YACA,IAAI,GAAG,KAAK,OAAO,EAAE;gBACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;aAC9B;QACL,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACX,CAAC;;gDAtCM,oDAAM,SAAC,iEAAe;gBACD,gEAAU;gBACP,sEAAa;;IAzB/B,yBAAyB;QANrC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,qOAAkD;;SAEnD,CAAC;QACF,kDAAkD;;QAwB3C,uEAAM,CAAC,iEAAe,CAAC;iDACF,gEAAU;YACP,sEAAa;OAzB/B,yBAAyB,CA8DrC;IAAD,gCAAC;CAAA;AA9DqC;;;;;;;;;;;;;ACbtC;AAAe,0HAA2D,qBAAqB,4BAA4B,KAAK,sBAAsB,4BAA4B,KAAK,kBAAkB,2BAA2B,0BAA0B,qBAAqB,sBAAsB,8BAA8B,KAAK,2BAA2B,2BAA2B,KAAK,qBAAqB,4BAA4B,2BAA2B,yBAAyB,wBAAwB,0BAA0B,yBAAyB,KAAK,qBAAqB,2BAA2B,0BAA0B,qBAAqB,sBAAsB,KAAK,mBAAmB,0BAA0B,4BAA4B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,yBAAyB,2BAA2B,qBAAqB,qBAAqB,mBAAmB,yBAAyB,2BAA2B,KAAK,wBAAwB,2BAA2B,qBAAqB,sBAAsB,mBAAmB,yBAAyB,2BAA2B,KAAK,+CAA+C,+jF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArsC;AACR;AACF;AACI;AAQ5D;IAcI;;;;OAIG;IACH,0BACoC,IAAS,EAC/B,UAAsB;QADA,SAAI,GAAJ,IAAI,CAAK;QAC/B,eAAU,GAAV,UAAU,CAAY;QAhBpC,qBAAqB;QACd,WAAM,GAAW,SAAS,CAAC;QAElC,4CAA4C;QACpC,aAAQ,GAAW,EAAE,CAAC;IAYU,CAAC;IAEzC;;OAEG;IACI,mCAAQ,GAAf;QACI,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,sBAAsB;IACd,wCAAa,GAArB;QAAA,iBAqBC;QApBG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAC3D,UAAC,MAAM;YACH,CAAC;;;;4BACG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;iCACjB,OAAM,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,GAA3C,wBAA2C;4BAC3C,qBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;;4BAArB,SAAqB,CAAC;4BACtB,IAAI,CAAC,aAAa,EAAE,CAAC;;;4BAErB,IAAI,MAAM,IAAI,YAAY,EAAG;gCACzB,IAAI,CAAC,MAAM,GAAG,OAAO;6BACxB;4BACD,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;;;iBAEpC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,UAAC,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CACJ,CAAC;IAEN,CAAC;IAED,+BAA+B;IACvB,gCAAK,GAAb,UAAc,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,iBAAO,IAAI,iBAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAC3D,CAAC;IAED,qCAAqC;IACrC,qCAAU,GAAV;QAAA,iBAQC;QAPG,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YACxB,IAAI,KAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACnB,KAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBAAM;gBACH,aAAa,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;QACL,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC;;gDAjDI,oDAAM,SAAC,iEAAe;gBACD,gEAAU;;IArB3B,gBAAgB;QAN5B,+DAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,iMAAsC;;SAEzC,CAAC;QACF,kDAAkD;;QAqBzC,uEAAM,CAAC,iEAAe,CAAC;iDACF,gEAAU;OArB3B,gBAAgB,CAsE5B;IAAD,uBAAC;CAAA;AAtE4B;;;;;;;;;;;;;ACX7B;AAAe,0HAA2D,qBAAqB,4BAA4B,KAAK,sBAAsB,qBAAqB,sBAAsB,KAAK,yBAAyB,sBAAsB,qBAAqB,4BAA4B,4BAA4B,KAAK,sBAAsB,oBAAoB,qBAAqB,KAAK,0BAA0B,4BAA4B,yBAAyB,wBAAwB,0BAA0B,4BAA4B,uBAAuB,0BAA0B,KAAK,yBAAyB,4BAA4B,yBAAyB,wBAAwB,0BAA0B,mBAAmB,KAAK,wBAAwB,oBAAoB,qBAAqB,0BAA0B,wBAAwB,KAAK,4BAA4B,0BAA0B,KAAK,mBAAmB,sBAAsB,qBAAqB,wBAAwB,KAAK,qBAAqB,kCAAkC,qBAAqB,sBAAsB,oBAAoB,2BAA2B,KAAK,uBAAuB,oBAAoB,qBAAqB,sBAAsB,KAAK,uBAAuB,qBAAqB,0BAA0B,KAAK,wBAAwB,4BAA4B,wBAAwB,0BAA0B,uBAAuB,4BAA4B,yBAAyB,KAAK,wBAAwB,4BAA4B,KAAK,8BAA8B,yBAAyB,KAAK,6BAA6B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,4BAA4B,2BAA2B,2BAA2B,KAAK,8BAA8B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,4BAA4B,4BAA4B,oDAAoD,uBAAuB,qBAAqB,sBAAsB,wBAAwB,4BAA4B,yBAAyB,wBAAwB,0BAA0B,2BAA2B,yBAAyB,KAAK,iCAAiC,qBAAqB,qBAAqB,KAAK,iCAAiC,qBAAqB,qBAAqB,KAAK,+DAA+D,sBAAsB,kCAAkC,qBAAqB,qBAAqB,4BAA4B,wBAAwB,2BAA2B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,KAAK,gCAAgC,0BAA0B,oBAAoB,qBAAqB,KAAK,iCAAiC,qBAAqB,0BAA0B,oDAAoD,2BAA2B,gCAAgC,2BAA2B,0BAA0B,6BAA6B,2BAA2B,oBAAoB,KAAK,gCAAgC,wBAAwB,0BAA0B,uBAAuB,KAAK,kCAAkC,4BAA4B,uBAAuB,wBAAwB,0BAA0B,sBAAsB,4BAA4B,KAAK,+CAA+C,yBAAyB,KAAK,oCAAoC,qBAAqB,KAAK,2DAA2D,uEAAuE,4CAA4C,+CAA+C,yDAAyD,sCAAsC,sBAAsB,KAAK,wCAAwC,2BAA2B,KAAK,oDAAoD,mBAAmB,KAAK,0DAA0D,kCAAkC,4BAA4B,KAAK,0DAA0D,kCAAkC,4BAA4B,KAAK,qBAAqB,kCAAkC,KAAK,sBAAsB,qBAAqB,sCAAsC,yBAAyB,wBAAwB,0BAA0B,8BAA8B,qBAAqB,uCAAuC,kCAAkC,kCAAkC,kCAAkC,qBAAqB,qBAAqB,qBAAqB,wBAAwB,KAAK,gBAAgB,wBAAwB,0BAA0B,uBAAuB,yBAAyB,2BAA2B,8BAA8B,KAAK,gCAAgC,uBAAuB,KAAK,sEAAsE,sBAAsB,yBAAyB,0BAA0B,SAAS,mBAAmB,6BAA6B,6BAA6B,+BAA+B,SAAS,uBAAuB,6BAA6B,6BAA6B,SAAS,gCAAgC,yBAAyB,SAAS,qCAAqC,yBAAyB,SAAS,KAAK,+CAA+C,+qV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1jL;AAEsC;AACzB;AAEV;AAML;AACA;AACF;AACF;AAElB;AAGgB;AASxD;IAqCI;;;;;OAKG;IACH,sBACoC,IAAS,EACjC,UAAwB,EACtB,cAA8B,EAC9B,aAA4B,EAC5B,aAA4B,EAC5B,UAAsB,EACxB,MAAiB,EACjB,aAA4B,EAC5B,SAAqC;QARb,SAAI,GAAJ,IAAI,CAAK;QACjC,eAAU,GAAV,UAAU,CAAc;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,eAAU,GAAV,UAAU,CAAY;QACxB,WAAM,GAAN,MAAM,CAAW;QACjB,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAA4B;QAhDjD,mDAAmD;QAC5C,YAAO,GAAa,EAAc,CAAC;QAC1C,qBAAqB;QACd,aAAQ,GAAW,CAAC,CAAC;QAM5B,0CAA0C;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAKlC,eAAU,GAAY,EAAE,CAAC;QAahC,uCAAuC;QAC/B,iDAA4C,GAAG,KAAK,CAAC;IAoBzD,CAAC;IAEL;;OAEG;IACI,+BAAQ,GAAf;QAAA,iBAsCC;QArCG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,UAAC,GAAQ;YAC9C,KAAI,CAAC,4CAA4C,GAAG,GAAG,CAAC,4CAA4C,CAAC;QACzG,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,SAAS,CACjD,UAAC,QAAiB;YACd,KAAI,CAAC,aAAa,GAAG,QAAQ;QACjC,CAAC,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAC7D,UAAC,KAAK;YACF,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAC5C,UAAC,OAAO;YACJ,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAClC,CAAC,EAAE,UAAC,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CACJ,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAC9B,UAAC,MAAM;YACH,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,CAAC,EAAE,UAAC,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACI,wCAAiB,GAAxB;QAAA,iBAmBC;QAlBG,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC3E,UAAC,OAAO;oBACJ,IAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC/C,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACjE,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBACtB,CAAC,EACD,UAAC,KAAK;oBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;aACV;iBAAM;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;SACJ;IACL,CAAC;IAED;;;;;;OAMG;IACI,mCAAY,GAAnB,UAAoB,IAAW,EAAE,GAAW,EAAE,KAAc,EAAE,EAAoB;QAC9E,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QAED,IAAM,oBAAoB,GAAG,IAAI,CAAC,4CAA4C,CAAC;QAE/E,IAAG,oBAAoB,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAE;gBAClB,EAAE,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YACrC,CAAC,CAAC;YAEF,IAAG,KAAK;gBACJ,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;SACzB;QAED,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACxB;aAAM,IAAG,CAAC,oBAAoB,EAAE;YAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aACxC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACxB;aAAM,IAAG,KAAK,IAAI,oBAAoB,EAAE;YACrC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;SACvB;aAAM;YACH,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;aACxB;YAED,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SACrB;IACL,CAAC;IAED,oBAAoB;IACb,4BAAK,GAAZ;QACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,kCAAW,GAAlB,UAAmB,KAAsB;QACrC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAG,6CAA6C;QAC7E,IAAM,MAAM,GAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,EAApB,CAAoB,CAAC,CAAC;QAC9E,IAAI,CAAE,MAAM,EAAE;YACV,OAAO;SACV;QAED,IAAI,gBAAgB,GAAiB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,SAAS,KAAK,aAAa,EAA7B,CAA6B,CAAC,CAAC;QAElG,IAAI,CAAE,gBAAgB,EAAE;YACpB,gBAAgB,GAAG;gBACf,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,QAAQ;aACN;YAEjB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC5C;QAED,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAE7D,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAChE,UAAC,QAAQ;YACL,iDAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,gCAAS,GAAhB;QAAA,iBAWC;QAVG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CACtD,UAAC,GAAG;YACA,IAAI,GAAG,KAAK,OAAO,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;QACL,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACK,oCAAa,GAArB;QAAA,iBASC;QARG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAnC,CAAmC,CAAC,EAAE;YACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAnC,CAAmC,CAAC,EAAE;YACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACjD;IACL,CAAC;;gDAlMI,oDAAM,SAAC,iEAAe;gBACH,sEAAY;gBACN,wEAAc;gBACf,sEAAa;gBACb,sEAAa;gBAChB,gEAAU;gBAChB,2DAAS;gBACF,sEAAa;gBACjB,8DAAY;;IAlDd;QAApB,kEAAY,CAAC,KAAK,CAAC;;oDAAY;IAFvB,YAAY;QANxB,+DAAS,CAAC;YACP,QAAQ,EAAE,SAAS;YACnB,kLAAiC;;SAEpC,CAAC;QACF,qDAAqD;;QA6C5C,uEAAM,CAAC,iEAAe,CAAC;iDACJ,sEAAY;YACN,wEAAc;YACf,sEAAa;YACb,sEAAa;YAChB,gEAAU;YAChB,2DAAS;YACF,sEAAa;YACjB,8DAAY;OApD1B,YAAY,CA+OxB;IAAD,mBAAC;CAAA;AA/OwB;;;;;;;;;;;;;AC5BzB;AAAe,wIAAyE,sBAAsB,gCAAgC,4BAA4B,sBAAsB,KAAK,gBAAgB,gCAAgC,sBAAsB,qBAAqB,4BAA4B,2BAA2B,4BAA4B,0BAA0B,6BAA6B,KAAK,yCAAyC,2BAA2B,wDAAwD,sBAAsB,sBAAsB,+BAA+B,KAAK,yBAAyB,wBAAwB,4BAA4B,yBAAyB,KAAK,2BAA2B,wBAAwB,uBAAuB,KAAK,kBAAkB,sBAAsB,yBAAyB,4BAA4B,KAAK,2CAA2C,6DAA6D,2BAA2B,kCAAkC,0BAA0B,KAAK,qCAAqC,mBAAmB,kCAAkC,KAAK,2CAA2C,2BAA2B,4DAA4D,kCAAkC,KAAK,yBAAyB,wCAAwC,4BAA4B,6BAA6B,KAAK,qBAAqB,mBAAmB,2BAA2B,0BAA0B,KAAK,kDAAkD,uBAAuB,4BAA4B,wBAAwB,qBAAqB,gCAAgC,wBAAwB,4BAA4B,KAAK,2BAA2B,2BAA2B,qBAAqB,oBAAoB,KAAK,6CAA6C,sBAAsB,4BAA4B,yBAAyB,KAAK,gCAAgC,yBAAyB,2BAA2B,uBAAuB,wBAAwB,KAAK,uBAAuB,2BAA2B,0BAA0B,uBAAuB,0BAA0B,KAAK,0CAA0C,qCAAqC,qCAAqC,4BAA4B,qBAAqB,wBAAwB,oDAAoD,kCAAkC,2BAA2B,4BAA4B,KAAK,cAAc,sDAAsD,8CAA8C,KAAK,gCAAgC,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,wBAAwB,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,uBAAuB,wBAAwB,0BAA0B,uBAAuB,KAAK,yCAAyC,oBAAoB,qBAAqB,KAAK,wBAAwB,yDAAyD,qBAAqB,2BAA2B,0BAA0B,2BAA2B,oBAAoB,qBAAqB,KAAK,2BAA2B,4DAA4D,qBAAqB,2BAA2B,0BAA0B,2BAA2B,oBAAoB,qBAAqB,KAAK,+DAA+D,4BAA4B,qBAAqB,wBAAwB,yBAAyB,kCAAkC,kCAAkC,KAAK,2EAA2E,yCAAyC,KAAK,aAAa,mBAAmB,oBAAoB,6DAA6D,2BAA2B,kBAAkB,iBAAiB,mBAAmB,KAAK,wBAAwB,uBAAuB,KAAK,yBAAyB,yCAAyC,KAAK,mBAAmB,yCAAyC,KAAK,0CAA0C,oBAAoB,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,KAAK,0CAA0C,oBAAoB,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,QAAQ,2CAA2C,sBAAsB,0BAA0B,6BAA6B,gCAAgC,SAAS,SAAS,uDAAuD,m3T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAp4J;AAED;AAEqB;AAQ9E;IAuBI;;;;;OAKG;IACH,+BACY,MAAc,EACd,qBAA4C;QAD5C,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QA7BxD,+DAA+D;QACxD,WAAM,GAAmB,EAAE,CAAC;QAEnC,oCAAoC;QAC7B,YAAO,GAAG,KAAK,CAAC;QACtB,oCAAoC;QAC9B,sBAAiB,GAAG,IAAI,CAAC;QAChC,sCAAsC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QACtC,sCAAsC;QAC/B,cAAS,GAAG,KAAK,CAAC;QAQzB,qCAAqC;QAC9B,0BAAqB,GAAG,KAAK,CAAC;IAWrC,CAAC;IAEM,wCAAQ,GAAf;QAAA,iBAiBC;QAhBG,8BAA8B;QAC9B,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAC3D,UAAC,IAAI;YACD,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK;gBACf,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnB,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;iBAClE;YACL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACnC,CAAC,EAAE,UAAC,KAAK;YACL,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CACJ,CAAC;IACN,CAAC;IACD,oCAAoC;IAC7B,kDAAkB,GAAzB,UAA0B,KAAU;QAChC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,yCAAS,GAAhB,UAAiB,OAAe;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,8CAAc,GAArB;QACI,KAAoB,UAAW,EAAX,SAAI,CAAC,MAAM,EAAX,cAAW,EAAX,IAAW,EAAE;YAA5B,IAAM,KAAK;YACZ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,OAAO;aACV;SACJ;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAClE,CAAC;IAED,sCAAsC;IAC/B,wCAAQ,GAAf;QAAA,iBAaC;QAZG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAC/F,UAAC,MAAM;YACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,EACD,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;IACX,CAAC;;gBApEmB,sDAAM;gBACS,sFAAqB;;IA/B/C,qBAAqB;QANjC,+DAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;YAC5B,6MAA0C;;SAE7C,CAAC;QACF,+BAA+B;;yCA+BP,sDAAM;YACS,sFAAqB;OA/B/C,qBAAqB,CAoGjC;IAAD,4BAAC;CAAA;AApGiC;;;;;;;;;;;;;ACZlC;AAAe,0HAA2D,qBAAqB,4BAA4B,KAAK,sEAAsE,mBAAmB,KAAK,sBAAsB,sBAAsB,qBAAqB,qBAAqB,kCAAkC,KAAK,4BAA4B,sBAAsB,4BAA4B,KAAK,0BAA0B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,2BAA2B,2BAA2B,KAAK,uBAAuB,qBAAqB,qBAAqB,4BAA4B,kCAAkC,+BAA+B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,uBAAuB,sBAAsB,KAAK,qBAAqB,yBAAyB,sBAAsB,KAAK,0BAA0B,sBAAsB,KAAK,0BAA0B,4BAA4B,wBAAwB,0BAA0B,2BAA2B,uBAAuB,2BAA2B,KAAK,oBAAoB,mBAAmB,oBAAoB,0BAA0B,sBAAsB,4BAA4B,qBAAqB,4BAA4B,wBAAwB,0BAA0B,KAAK,yBAAyB,sBAAsB,qBAAqB,qBAAqB,4BAA4B,kCAAkC,2BAA2B,2BAA2B,sBAAsB,+BAA+B,4BAA4B,4BAA4B,KAAK,yBAAyB,2BAA2B,KAAK,4BAA4B,qBAAqB,qBAAqB,4BAA4B,wBAAwB,0BAA0B,2BAA2B,uBAAuB,4BAA4B,oDAAoD,4BAA4B,qBAAqB,sBAAsB,KAAK,qBAAqB,2BAA2B,mBAAmB,oBAAoB,KAAK,yBAAyB,oBAAoB,qBAAqB,KAAK,8BAA8B,qBAAqB,oBAAoB,2BAA2B,sBAAsB,yBAAyB,wBAAwB,KAAK,mCAAmC,sBAAsB,yBAAyB,0BAA0B,SAAS,4BAA4B,6BAA6B,SAAS,0BAA0B,gCAAgC,SAAS,uBAAuB,yBAAyB,yBAAyB,SAAS,qBAAqB,6BAA6B,SAAS,0BAA0B,gCAAgC,SAAS,KAAK,+CAA+C,uzL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA37F;AACZ;AACF;AAEsB;AACwC;AACjB;AACS;AACX;AACzB;AAU1D;IAoBI;;;;;OAKG;IACH,4BACoC,IAAS,EAC/B,aAA4B,EAC/B,YAA+B;QAH1C,iBAkBC;QAjBmC,SAAI,GAAJ,IAAI,CAAK;QAC/B,kBAAa,GAAb,aAAa,CAAe;QAC/B,iBAAY,GAAZ,YAAY,CAAmB;QAEtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,SAAS,CACrC,UAAC,KAAK;YACF,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CACJ,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,CAC1C,UAAC,aAAa;YACV,IAAI,SAAS,GAAG,IAAI,6FAAwB,EAAE,CAAC;YAC/C,KAAI,CAAC,OAAO,GAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CACJ,CAAC;IACN,CAAC;IAED,oBAAoB;IACb,qCAAQ,GAAf;QACI,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,EAAC,CAAC,CAAC;SAChE;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,GAAE,IAAI,EAAE,CAAC,CAAC;SAC1F;IACL,CAAC;IAED;;OAEG;IACI,gDAAmB,GAA1B;QAAA,iBAWC;QAVG,IAAM,SAAS,GAAG,IAAI,6FAAwB,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EACvD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAChE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CACrB,UAAC,QAAQ;YACL,iDAAgB,CAAC,QAAQ,EAAE,KAAI,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACjE,CAAC,EAAE,UAAC,KAAK;YACL,KAAI,CAAC,YAAY,GAAG,oEAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACf,CAAC;;gDA7CI,oDAAM,SAAC,iEAAe;gBACE,sEAAa;gBACjB,8DAAY;;IA7B5B,kBAAkB;QAP9B,+DAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,uMAAwC;YAExC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,iFAAsB,EAAE,QAAQ,EAAE,6FAAwB,EAAE,EAAE,qEAAI,EAAE,EAAC,OAAO,EAAE,4EAAiB,EAAE,QAAQ,EAAE,qFAAoB,EAAC,CAAC;;SAC3J,CAAC;QACF,iBAAiB;;QA4BR,uEAAM,CAAC,iEAAe,CAAC;iDACC,sEAAa;YACjB,8DAAY;OA7B5B,kBAAkB,CAyE9B;IAAD,yBAAC;CAAA;AAzE8B;;;;;;;;;;;;;ACnB/B;AAAe,wIAAyE,sBAAsB,gCAAgC,4BAA4B,sBAAsB,KAAK,gBAAgB,gCAAgC,sBAAsB,qBAAqB,4BAA4B,2BAA2B,4BAA4B,0BAA0B,6BAA6B,KAAK,yCAAyC,2BAA2B,mDAAmD,sBAAsB,+BAA+B,KAAK,yBAAyB,wBAAwB,4BAA4B,yBAAyB,KAAK,2BAA2B,wBAAwB,uBAAuB,KAAK,kBAAkB,sBAAsB,yBAAyB,4BAA4B,KAAK,2CAA2C,6DAA6D,2BAA2B,kCAAkC,0BAA0B,KAAK,qCAAqC,mBAAmB,kCAAkC,KAAK,2CAA2C,2BAA2B,4DAA4D,kCAAkC,KAAK,yBAAyB,wCAAwC,4BAA4B,6BAA6B,KAAK,qBAAqB,mBAAmB,2BAA2B,0BAA0B,KAAK,kDAAkD,uBAAuB,4BAA4B,wBAAwB,qBAAqB,gCAAgC,wBAAwB,4BAA4B,KAAK,2BAA2B,2BAA2B,qBAAqB,oBAAoB,KAAK,6CAA6C,sBAAsB,4BAA4B,yBAAyB,KAAK,gCAAgC,yBAAyB,2BAA2B,uBAAuB,wBAAwB,KAAK,uBAAuB,2BAA2B,0BAA0B,uBAAuB,0BAA0B,KAAK,0CAA0C,qCAAqC,qCAAqC,4BAA4B,qBAAqB,wBAAwB,oDAAoD,kCAAkC,2BAA2B,4BAA4B,KAAK,cAAc,sDAAsD,8CAA8C,KAAK,gCAAgC,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,wBAAwB,YAAY,oCAAoC,SAAS,cAAc,sCAAsC,SAAS,KAAK,uBAAuB,wBAAwB,0BAA0B,uBAAuB,KAAK,yCAAyC,oBAAoB,qBAAqB,KAAK,wBAAwB,wDAAwD,qBAAqB,2BAA2B,0BAA0B,2BAA2B,oBAAoB,qBAAqB,KAAK,+DAA+D,4BAA4B,qBAAqB,wBAAwB,yBAAyB,kCAAkC,kCAAkC,KAAK,2EAA2E,yCAAyC,KAAK,aAAa,mBAAmB,oBAAoB,6DAA6D,2BAA2B,kBAAkB,iBAAiB,mBAAmB,KAAK,wBAAwB,uBAAuB,KAAK,yBAAyB,yCAAyC,KAAK,mBAAmB,yCAAyC,KAAK,0CAA0C,oBAAoB,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,KAAK,0CAA0C,oBAAoB,yBAAyB,SAAS,oCAAoC,4BAA4B,SAAS,KAAK,uDAAuD,miS;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAz9I;AAEY;AAQ9D;IAcI;;;;;OAKG;IACH,+BACY,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAnBxC,+DAA+D;QACxD,WAAM,GAAmB,EAAE,CAAC;QAEnC,oCAAoC;QAC7B,YAAO,GAAG,KAAK,CAAC;QACvB,sCAAsC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QACtC,sCAAsC;QAC/B,cAAS,GAAG,KAAK,CAAC;IAYzB,CAAC;IAEM,wCAAQ,GAAf;QAAA,iBAgBC;QAfG,8BAA8B;QAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CACpC,UAAC,IAAI;YACD,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK;gBACf,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnB,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;iBAClE;YACL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC,EAAE,UAAC,KAAK;YACL,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpG,CAAC,CACJ,CAAC;IACN,CAAC;IACD,oCAAoC;IAC7B,kDAAkB,GAAzB,UAA0B,KAAU;QAChC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,yCAAS,GAAhB,UAAiB,OAAe;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;;gBAnC0B,sEAAa;;IArB/B,qBAAqB;QANjC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,yMAA2C;;SAE9C,CAAC;QACF,+BAA+B;;yCAsBA,sEAAa;OArB/B,qBAAqB,CAyDjC;IAAD,4BAAC;CAAA;AAzDiC;;;;;;;;;;;;;ACVlC;AAAe,kFAAmB,2BAA2B,yBAAyB,gEAAgE,oDAAoD,qBAAqB,sBAAsB,KAAK,2BAA2B,uBAAuB,uCAAuC,yBAAyB,wBAAwB,0BAA0B,2BAA2B,0BAA0B,sBAAsB,KAAK,0BAA0B,sBAAsB,yBAAyB,gCAAgC,KAAK,4BAA4B,2BAA2B,4BAA4B,wBAAwB,0BAA0B,gDAAgD,gDAAgD,uBAAuB,2BAA2B,6BAA6B,kBAAkB,KAAK,yBAAyB,uBAAuB,0BAA0B,KAAK,kCAAkC,yBAAyB,mCAAmC,gCAAgC,2BAA2B,yBAAyB,yBAAyB,KAAK,oCAAoC,0BAA0B,yBAAyB,SAAS,KAAK,mCAAmC,0BAA0B,mCAAmC,yBAAyB,0BAA0B,SAAS,2BAA2B,4BAA4B,8BAA8B,SAAS,0BAA0B,yBAAyB,6BAA6B,oCAAoC,SAAS,4BAA4B,iCAAiC,SAAS,KAAK,+CAA+C,+xG;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1uD;AAEY;AAQ9D;IAKI;;;OAGG;IACH,yBACY,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACxC,CAAC;IAED;;OAEG;IACI,kCAAQ,GAAf;QAAA,iBAQC;QAPG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAC9B,UAAC,MAAM;YACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,EACD,UAAC,KAAK;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACX,CAAC;;gBAd0B,sEAAa;;IAV/B,eAAe;QAN3B,+DAAS,CAAC;YACP,QAAQ,EAAE,YAAY;YACtB,2LAAoC;;SAEvC,CAAC;QACF,4BAA4B;;yCAWG,sEAAa;OAV/B,eAAe,CAyB3B;IAAD,sBAAC;CAAA;AAzB2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACV0D;AAQtF;IAUI;;;;OAIG;IACH,4BAAmB,EAAc,EAAS,QAAmB;QAA1C,OAAE,GAAF,EAAE,CAAY;QAAS,aAAQ,GAAR,QAAQ,CAAW;QAV7D,iCAAiC;QACzB,sBAAiB,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YAC7F,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACjC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAOyC,CAAC;IAElE,gCAAgC;IACU,oCAAO,GAAd,UAAe,CAAgB;QAC9D,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,2EAA2E;QAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;YAEtE,KAAmB,UAAsB,EAAtB,SAAI,CAAC,iBAAiB,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;gBAAtC,IAAM,IAAI;gBACX,IAAM,iBAAiB,GAAI,CAAC,CAAC,MAAc,CAAC,KAAK,GAAG,IAAI,CAAC;gBACzD,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACjD,IAAI,WAAW,EAAE;oBACZ,CAAC,CAAC,MAAc,CAAC,KAAK,GAAG,iBAAiB,CAAC;oBAC5C,MAAM;iBACT;aACJ;SACJ;QAED,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,IAAI,CAAC,UAAU,CAAE,CAAC,CAAC,MAAc,CAAC,KAAK,CAAC,CAAC;SAC1D;QACD,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACnE;aAAM;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SACjE;IACL,CAAC;IAED,+BAA+B;IAC/B;;;;;;;;;;;;;OAaG;IAEH;;;OAGG;IACK,uCAAU,GAAlB,UAAmB,KAAa;QAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,IAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;YACpC,IAAM,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;SAChD;aAAM;YACH,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,KAAuB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAzB,IAAM,QAAQ;gBACf,IAAM,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;gBACxC,IAAM,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;oBACvC,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;iBACT;aACJ;YACD,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;;gBA1EsB,wDAAU;gBAAmB,uDAAS;;IAZtC;QAAtB,2DAAK,CAAC,cAAc,CAAC;;4DAA6B;IAehB;QAAlC,kEAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;;yCAAmB,aAAa;;qDAuBjE;IAzCQ,kBAAkB;QAN9B,+DAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;QACF;;WAEG;;yCAgBwB,wDAAU,EAAmB,uDAAS;OAfpD,kBAAkB,CA0F9B;IAAD,yBAAC;CAAA;AA1F8B;;;;;;;;;;;;;;;;;;;;;;;;;ACRW;AAE1C;;GAEG;AAKH;IAAA;IACA,CAAC;IADY,cAAc;QAJ1B,+DAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,0FAAyB;SACtC,CAAC;OACW,cAAc,CAC1B;IAAD,qBAAC;CAAA;AAD0B;;;;;;;;;;;;;;;;;;ACT3B,+FAA+F;AAC/F,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC3B,wBAAwB;IACxB,6DAAI;IACJ,2BAA2B;IAC3B,mEAAW;IACX,uBAAuB;IACvB,mEAAgB;IAChB,uBAAuB;IACvB,mEAAgB;IAChB,oBAAoB;IACpB,6DAAa;IACb,wBAAwB;IACxB,oEAAgB;IAChB,cAAc;IACd,oEAAgB;AACpB,CAAC,EAfW,mBAAmB,KAAnB,mBAAmB,QAe9B;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBmD;AACX;AAEzC;;GAEG;AAIH;IAAA;IAIA,CAAC;IAHQ,8BAAS,GAAhB,UAAiB,KAAU,EAAE,MAAsC;QAAtC,uDAAsC;QACjE,OAAO,KAAK,CAAC,CAAC,CAAC,uCAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAHU,UAAU;QAHtB,0DAAI,CAAC;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;OACW,UAAU,CAItB;IAAD,iBAAC;CAAA;AAJsB;;;;;;;;;;;;;;;;;;;;;;;;;ACT6B;AAEpD;;GAEG;AAIH;IAAA;IAyBA,CAAC;IAxBG;;;;;OAKG;IACI,kCAAS,GAAhB,UAAiB,KAAa,EAAE,SAAmB;QAC/C,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC9B,IAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;QAEtB,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,EAAE;YAC1B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;SACvB;QAED,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAClB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;SACvB;QAED,IAAI,EAAE,IAAI,CAAC,EAAE;YACT,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;SACvB;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAxBQ,cAAc;QAH1B,0DAAI,CAAC;YACF,IAAI,EAAE,YAAY;SACrB,CAAC;OACW,cAAc,CAyB1B;IAAD,qBAAC;CAAA;AAzB0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRgB;AACmC;AAE9E,IAAM,WAAW,GAAG;IAChB,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;KAC/F;IACD,oCAAoC;CACrC,CAAC;AAEJ,kCAAkC;AAElC;IADA;QAEE,aAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAFY,IAAI;QADhB,gEAAU,EAAE;OACA,IAAI,CAEhB;IAAD,WAAC;CAAA;AAFgB;AAIjB,uEAAuE;AAEvE;IAA0C,wCAAiB;IAEzD,8BAAoB,KAAW;QAA/B,YACE,iBAAO,SACR;QAFmB,WAAK,GAAL,KAAK,CAAM;;IAE/B,CAAC;IAED,kDAAmB,GAAnB,UAAoB,OAAe;QACjC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,gDAAiB,GAAjB,UAAkB,KAAa;QAC7B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,+CAAgB,GAAhB,UAAiB,KAAa;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,8CAAe,GAAf,UAAgB,IAAmB;QACjC,OAAU,IAAI,CAAC,GAAG,SAAI,IAAI,CAAC,KAAK,SAAI,IAAI,CAAC,IAAM,CAAC;IAClD,CAAC;;gBAhB0B,IAAI;;IAFpB,oBAAoB;QADhC,gEAAU,EAAE;yCAGgB,IAAI;OAFpB,oBAAoB,CAmBhC;IAAD,2BAAC;CAAA,CAnByC,4EAAiB,GAmB1D;AAnBgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBU;AACwC;AAEnF,SAAS,SAAS,CAAC,KAAa;IAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO,OAAI,KAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAChC;SAAM;QACH,OAAO,EAAE,CAAC;KACb;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAU;IACxB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,KAAU;IACzB,OAAO,QAAQ,CAAC,KAAG,KAAO,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAID;IAA8C,4CAAsB;IAApE;;IAwBA,CAAC;IAvBG,wCAAK,GAAL,UAAM,KAAa;QACf,IAAI,KAAK,EAAE;YACP,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClD,OAAO,EAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;aAClE;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnF,OAAO,EAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;aACrF;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7G,OAAO,EAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;aACxG;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAM,GAAN,UAAO,IAAmB;QACtB,IAAI,UAAU,GAAW,EAAE,CAAC;QAC5B,IAAG,IAAI,EAAE;YACL,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;SAC3B;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAvBQ,wBAAwB;QADpC,gEAAU,EAAE;OACA,wBAAwB,CAwBpC;IAAD,+BAAC;CAAA,CAxB6C,iFAAsB,GAwBnE;AAxBoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBa;AACP;AAEkB;AAEO;AAIpE,2CAA2C;AAE3C;IAOI;;;OAGG;IACH,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,4BAAG,GAAV,UAAW,OAA4B;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,MAAM,EAAE;YAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,gCAAO,GAAd,UAAe,SAAiB,EAAE,OAA4B;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,MAAM,GAAE,aAAa,EAAE;YACvD,MAAM,EAAE,EAAE,SAAS,aAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;SAClD,CAAC,CAAC;IACP,CAAC;IAGD;;;OAGG;IACI,sCAAa,GAApB,UAAqB,SAAiB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,MAAM,GAAE,gBAAgB,EAAE;YACzD,MAAM,EAAE,EAAE,SAAS,aAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,qCAAY,GAAnB,UAAoB,OAA4B,EAAE,SAAiB,EAAE,IAAY,EAAE,WAAmB;QAClG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,MAAM,EAAE;YAC1C,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;gBACxB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACrB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;aACtC;SACJ,CAAC,CAAC;IACP,CAAC;IAGD;;;OAGG;IACI,iCAAQ,GAAf,UAAgB,MAAc;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE;YACpD,MAAM,EAAE;gBACJ,MAAM;aACT;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,oCAAW,GAAlB,UAAmB,MAAc;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE;YACtD,MAAM,EAAE;gBACJ,MAAM;aACT;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,4CAAmB,GAA1B,UAA2B,KAAa;QACpC,IAAI,OAAO,GAAG,+EAAmB,CAAC,OAAO,GAAG,+EAAmB,CAAC,OAAO,GAAG,+EAAmB,CAAC,OAAO,GAAG,+EAAmB,CAAC,OAAO,CAAC;QACpI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,MAAM,EAAE;YAC1C,MAAM,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC3B;SACJ,CAAC,CAAC;IACP,CAAC;;gBA1FyB,+DAAU;;IAX3B,cAAc;QAD1B,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,cAAc,CAsG1B;IAAD,qBAAC;CAAA;AAtG0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXgB;AACwD;AAC1D;AAEzC,qDAAqD;AAErD;IACI;;;OAGG;IACH,0BACY,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEL;;;;OAIG;IACI,sCAAW,GAAlB,UAAmB,KAA6B,EAAE,KAA0B;QACxE,IAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,IAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAM,KAAK,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAEnF,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,EAAE;YACP,IAAM,SAAS,GAAG,IAAI,sDAAS,EAAE,CAAC;YAClC,qDAAqD;YACrD,IAAM,mBAAmB,GAAG,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,GAAG,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC;SAC7C;QACD,IAAI,MAAM,EAAE;YACR,OAAO,IAAI,CAAC;SACf;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;;gBA1BmB,sDAAM;;IANjB,gBAAgB;QAD5B,gEAAU,EAAE;yCAOW,sDAAM;OANjB,gBAAgB,CAiC5B;IAAD,uBAAC;CAAA;AAjC4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNqB;AACP;AACQ;AAEd;AACR;AACgC;AAG7D,4BAA4B;AAE5B;IAQI;;;OAGG;IACH,+BAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAXpC,kDAAkD;QAC1C,aAAQ,GAAG,IAAI,oDAAe,CAClC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAU1E,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,qCAAK,GAAZ,UAAa,QAAgB,EAAE,QAAgB,EAAE,cAAuB;QAAxE,iBAoBC;QAnBG,IAAM,WAAW,GAAG,0CAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;aAC/F,IAAI,CAAC,0DAAG,CAAC,UAAC,KAAK;YACZ,IAAI,KAAK,KAAK,mBAAmB,EAAE;gBAC/B,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC/C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;aAC1C;iBAAM,IAAI,KAAK,EAAE;gBACd,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,cAAc,EAAE;oBAChB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;iBACxC;qBAAM;oBACH,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBACpC;gBAED,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,2CAAW,GAAlB,UAAmB,IAAY,EAAE,KAAa,EAAE,cAAuB;QAAvE,iBAgBC;QAfG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;aACpG,IAAI,CAAC,0DAAG,CAAC,UAAC,KAAK;YACZ,IAAI,KAAK,KAAK,mBAAmB,EAAE;gBAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;aAC1C;iBAAM,IAAI,KAAK,EAAE;gBACd,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,cAAc,EAAE;oBAChB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;iBACxC;qBAAM;oBACH,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBACpC;gBAED,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,YAAY;IACL,sCAAM,GAAb;QACI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,0CAA0C;IACnC,0CAAU,GAAjB;QACI,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,wDAAwB,GAA/B;QACI,IAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtD,IAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiB,IAAI,CAAC,MAAM;YAC7C,4BAA4B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACI,4CAAY,GAAnB,UAAoB,QAAgB,EAAE,WAAmB,EAAE,MAAsB;QAAjF,iBAqBC;QApBG,IAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAM,cAAc,GAAG,0CAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE;YAC5D,YAAY,gBAAE,eAAe;YAC7B,QAAQ,YAAE,WAAW,eAAE,cAAc,kBAAE,MAAM;SAChD,CAAC;aACG,IAAI,CAAC,0DAAG,CAAC,UAAC,KAAK;YACZ,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC5B,MAAM,KAAK,CAAC;aACf;YACD,IAAI,KAAK,EAAE;gBACP,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACvC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAEjC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACI,+CAAe,GAAtB,UAAuB,KAAa,EAAE,KAAa;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,MAAM,GAAG,0BAA0B,EAAE,EAAE,KAAK,SAAE,KAAK,SAAE,CAAC,CAAC;IAC9F,CAAC;;gBAnHyB,+DAAU;;IAZ3B,qBAAqB;QADjC,gEAAU,EAAE;yCAaiB,+DAAU;OAZ3B,qBAAqB,CAgIjC;IAAD,4BAAC;CAAA;AAhIiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXgB;AACP;AAEkB;AAG7D,kDAAkD;AAElD;IAOI;;;OAGG;IACH,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,4BAAG,GAAV,UAAW,SAAiB,EAAE,QAAiB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YACxF,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;gBAbyB,+DAAU;;IAX3B,cAAc;QAD1B,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,cAAc,CAyB1B;IAAD,qBAAC;CAAA;AAzB0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRuB;AACP;AAK3C;IAEE,uBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAElC,iCAAS,GAAhB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC5C,CAAC;;gBAJyB,+DAAU;;IAFzB,aAAa;QAHzB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAG0B,+DAAU;OAFzB,aAAa,CAOzB;IAAD,oBAAC;CAAA;AAPyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNwB;AACP;AAEkB;AAG7D,0CAA0C;AAE1C;IAOI;;;OAGG;IACH,4BAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,iBAAiB,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,gCAAG,GAAV;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;;gBATyB,+DAAU;;IAX3B,kBAAkB;QAD9B,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,kBAAkB,CAqB9B;IAAD,yBAAC;CAAA;AArB8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRmB;AACP;AAEkB;AAG7D,qCAAqC;AAErC;IAOI;;;OAGG;IACH,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,4BAAG,GAAV,UAAW,SAAiB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;gBAZyB,+DAAU;;IAX3B,cAAc;QAD1B,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,cAAc,CAwB1B;IAAD,qBAAC;CAAA;AAxB0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRuB;AACP;AAEkB;AAE7D,+BAA+B;AAE/B;IAOI;;;OAGG;IACH,qBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,UAAU,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,mCAAa,GAApB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,iCAAW,GAAlB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACI,8BAAQ,GAAf,UAAgB,IAAY,EAAE,KAAa;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE;YACpD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;;gBA3ByB,+DAAU;;IAX3B,WAAW;QADvB,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,WAAW,CAuCvB;IAAD,kBAAC;CAAA;AAvCuB;;;;;;;;;;;;;;;;;;;;;;;;;ACNmB;AAG3C,2BAA2B;AAE3B;IAAA;IAmBA,CAAC;IAlBG;;;;OAIG;IACI,yCAAS,GAAhB,UAAiB,OAAyB,EAAE,IAAiB;QACzD,IAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,IAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAM,KAAK,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACnF,IAAI,KAAK,EAAE;YACP,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;gBACpB,UAAU,EAAE;oBACR,aAAa,EAAE,YAAU,KAAO;iBACnC;aACJ,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAlBQ,qBAAqB;QADjC,gEAAU,EAAE;OACA,qBAAqB,CAmBjC;IAAD,4BAAC;CAAA;AAnBiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNgB;AACP;AAEkB;AAG7D,oCAAoC;AAEpC;IAOI;;;OAGG;IACH,uBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,CAAC;IACpD,CAAC;IAED;;;OAGG;IACI,2BAAG,GAAV,UAAW,SAAiB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,MAAM,EAAE;YACzC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;;gBAZyB,+DAAU;;IAX3B,aAAa;QADzB,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,aAAa,CAwBzB;IAAD,oBAAC;CAAA;AAxByB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRwB;AACP;AAEkB;AAI7D,mCAAmC;AAEnC;IAOI;;;OAGG;IACH,oBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,SAAS,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,oCAAe,GAAtB,UAAuB,KAAc;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACI,uCAAkB,GAAzB,UAA0B,OAAe;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,GAAG,wBAAwB,EAAE;YACjE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,8CAAyB,GAAhC;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;IACpE,CAAC;;gBA1ByB,+DAAU;;IAX3B,UAAU;QADtB,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,UAAU,CAsCtB;IAAD,iBAAC;CAAA;AAtCsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT8C;AAC1B;AACT;AAC2B;AAGjB;AAI5C,mCAAmC;AAEnC;IAOI;;;OAGG;IACH,uBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,CAAC;IACpD,CAAC;IAED;;;OAGG;IACI,kCAAU,GAAjB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACI,yCAAiB,GAAxB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACI,iCAAS,GAAhB,UAAiB,QAAgB,EAAE,MAAsB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;;OAGG;IACI,0CAAkB,GAAzB,UAA0B,QAAgB,EAAE,SAAiB,EAAE,OAAe,EAAE,SAAiB;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE;YAChD,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,EAAE,QAAQ,YAAE,SAAS,aAAE,OAAO,WAAE,SAAS,aAAE;SACtD,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,oCAAY,GAAnB,UAAoB,OAAiB,EAAE,QAAgB,EAAE,QAAgB;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE;YACnD,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,YAAE;SAC7E,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,0CAAkB,GAAzB,UAA0B,UAAmB,EAAE,QAAgB;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,wBAAwB,EAAE;YACzD,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE;SACpF,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,uCAAe,GAAtB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,sCAAc,GAAd,UAAe,GAAsB;QACjC,IAAM,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;QAE5C,IAAM,GAAG,GAAG,+CAAU,CAAC,MAAM,CAAC,UAAC,QAAa;YAC1C,MAAM,CAAC,SAAS,GAAG,UAAC,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrD,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACf,CAAC;;gBAtFyB,+DAAU;;IAX3B,aAAa;QADzB,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,aAAa,CAkGzB;IAAD,oBAAC;CAAA;AAlGyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZwB;AACP;AAEkB;AAI7D,sCAAsC;AAEtC;IAOI;;;OAGG;IACH,uBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAChC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,2BAAG,GAAV;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,iCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,wCAAgB,GAAvB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACzE,CAAC;;gBAvByB,+DAAU;;IAX3B,aAAa;QADzB,gEAAU,EAAE;yCAYiB,+DAAU;OAX3B,aAAa,CAmCzB;IAAD,oBAAC;CAAA;AAnCyB;;;;;;;;;;;;;;;;;;ACT1B;;GAEG;AACH;IAAA;IAuBA,CAAC;IAtBG;;;;OAIG;IACW,yBAAY,GAA1B,UAA2B,KAAU;QACjC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC7C,OAAO,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC9D;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;YACpC,OAAO,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;SACrD;QAED,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,OAAO,KAAK,CAAC,OAAO,CAAC;SACxB;QACF;;YAEI;QAEH,OAAO,iCAAiC,CAAC;IAC7C,CAAC;IACL,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC1BD;AAAA;AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;;;;AAEzD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,yBAAyB;IACjC,uCAAuC;IACtC,6DAA6D;CAC/D,CAAC;AAEF;;;;;GAKG;AACH,mEAAmE;;;;;;;;;;;;;;;;;;;;ACjB9C;AAEsD;AAC9B;AAC7C,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;ACJvB;AACA;AACJ;AACE","file":"main.js","sourcesContent":["require('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core').Reflect;\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","export default \"
\\r\\n \\r\\n\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n Лицевой счёт: {{account.AccountNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n КБК: \\r\\n {{account.BudgetObjaz.Kbk}}\\r\\n
\\r\\n
\\r\\n КБК пени: \\r\\n {{account.BudgetPeni.Kbk}}\\r\\n
\\r\\n
\\r\\n ОКТМО: \\r\\n {{account.BudgetObjaz.Oktmo}}\\r\\n
\\r\\n
\\r\\n Сумма задолженности: \\r\\n {{account.Debt | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Пени: \\r\\n {{account.DebtPeni | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Штрафы: \\r\\n {{account.DebtFine | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Проценты: \\r\\n {{account.DebtPercent | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Сумма следущего платежа: \\r\\n {{(account.NextPaySum ? account.NextPaySum : 0) | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Дата следующего платежа: \\r\\n {{ account.NextPayDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Сумма последней оплаты: \\r\\n {{(account.LastPaySum ? account.LastPaySum : 0) | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n \\r\\n
\\r\\n
\\r\\n Дата последней оплаты: \\r\\n {{ account.LastPayDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{error}}
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n Суммарная задолженность\\r\\n
\\r\\n
\\r\\n
Суммарная задолженность на {{now | date:'dd.MM.yyyy'}} составляет:
\\r\\n
\\r\\n
\\r\\n
0)?'app-debt-sum-text-red':'app-debt-sum-text'\\\" class=\\\"app-debt-sum-text\\\">{{debtSumAll | currency:'RUB':'symbol':'1.2-2':'ru'}}
\\r\\n
\\r\\n
0 && !error\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Номер договораНомер лицевого счётаСумма задолженности
\\r\\n
{{ x.DogovorNumber }}
\\r\\n
\\r\\n
{{ x.AccountNumber }}
\\r\\n
\\r\\n
0)?'app-debt-table-column-red':'app-debt-table-column'\\\" placement=\\\"top\\\" ngbTooltip=\\\"{{ x.Debt | currency:'RUB':'symbol':'1.2-2':'ru' }}\\\">{{ x.Debt | currency:'RUB':'symbol':'1.2-2':'ru' }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Номер договораНомер лицевого счётаСумма задолженности
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Информация по договору\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер договора: \\r\\n {{dogovor.Number}}\\r\\n
\\r\\n
\\r\\n Дата договора: \\r\\n {{ dogovor.Date | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Текущий размер арендной платы: \\r\\n {{dogovor.AYearSum | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Дата начала договора: \\r\\n {{ dogovor.DateStart | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Дата окончания договора: \\r\\n {{ dogovor.DateEnd | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n {{dogovorError}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Документы\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Список документов-оснований\\r\\n \\r\\n Сумма обязательств\\r\\n \\r\\n Период действия\\r\\n \\r\\n
\\r\\n {{ x.Name }}\\r\\n \\r\\n {{ x.Sum | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n \\r\\n {{ x.DateStart | date:'dd.MM.yyyy'}} - {{ x.DateEnd | date:'dd.MM.yyyy'}}\\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n {{calcDocsError}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
Договор
\\r\\n
№ {{ account.DogovorNumber }}
\\r\\n
\\r\\n \\r\\n
от {{ account.DogovorDate | date:'yyyy-MM-dd'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Дата договора:\\r\\n {{ account.DogovorDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Лицевой счёт: \\r\\n {{account.AccountNumber}}\\r\\n
\\r\\n
\\r\\n Сумма за год: \\r\\n {{ account.AYearSum | currency:'RUB':'symbol':'1.2-2':'ru' }}\\r\\n
\\r\\n
\\r\\n Текущая задолженность: \\r\\n {{ account.Debt | currency:'RUB':'symbol':'1.2-2':'ru' }}\\r\\n
\\r\\n
\\r\\n Сумма следующего платежа: \\r\\n {{ account.NextPaySum | currency:'RUB':'symbol':'1.2-2':'ru'}} \\r\\n
\\r\\n
\\r\\n Дата следующего платежа\\r\\n {{ account.NextPayDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Объекты договора: \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Наименование
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Адрес
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Площадь, м²
\\r\\n
\\r\\n
{{ x.Name }}
\\r\\n
\\r\\n
{{ x.Address }}
\\r\\n
\\r\\n
{{ x.PlCommon}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Номер договора: \\r\\n {{payInfo.DogovorNumber}}\\r\\n
\\r\\n
\\r\\n Дата договора: \\r\\n {{payInfo.DogovorDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Номер лицевого счета: \\r\\n {{payInfo.AccountNumber}}\\r\\n
\\r\\n
\\r\\n Дата оплаты: \\r\\n {{payInfo.LastPayDate | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n Сумма оплаты: \\r\\n {{payInfo.LastPaySum | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n\\r\\n
\"","export default \"\\r\\n
\\r\\n Оплата отобразится в договоре после поступления\\r\\n и фиксации средств в договоре администратором бюджета.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Последняя оплата по договорам\\r\\n
\\r\\n Почему недавние платежи не отображаются?\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Документы\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Список документов-оснований начисления арендыОбъектКонтрагентыСумма обязательствПериод действия
\\r\\n
{{ x.Name }}
\\r\\n
\\r\\n
{{ x.Objects}}
\\r\\n
\\r\\n
{{ x.Contragents }}
\\r\\n
\\r\\n
{{ x.Sum | currency:'RUB':'symbol':'1.2-2':'ru'}}
\\r\\n
\\r\\n
{{ x.DateStart | date:'dd.MM.yyyy'}} {{ x.DateEnd | date:'dd.MM.yyyy'}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Список документов-оснований начисления арендыОбъектКонтрагентыСумма обязательствПериод действия
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Документ

\\r\\n
{{ x.Name }}
\\r\\n

Объект

\\r\\n
{{ x.Objects}}
\\r\\n

Контрагент

\\r\\n
{{ x.Contragents }}
\\r\\n

Сумма обязательств

\\r\\n
{{ x.Sum | currency:'RUB':'symbol':'1.2-2':'ru'}}
\\r\\n

Период действия

\\r\\n
{{ x.DateStart | date:'dd.MM.yyyy'}} - {{ x.DateEnd | date:'dd.MM.yyyy'}}
\\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
Договоры
\\r\\n \\r\\n
0\\\"> У вас всего {{docCount}} {{docCount | declension:['договор', 'договора', 'договоров']}}
\\r\\n
У вас нет договоров
\\r\\n
\\r\\n
\\r\\n
0\\\"> У вас всего {{docCount}} {{docCount | declension:['договор', 'договора', 'договоров']}}
\\r\\n
У вас нет договоров
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Номер договораДата договораНомер лицевого счета
\\r\\n
{{ x.DogovorNumber }}
\\r\\n
\\r\\n
{{ x.DogovorDate | date:'yyyy-MM-dd'}}
\\r\\n
\\r\\n
{{ x.AccountNumber }}
\\r\\n
\\r\\n
{{ x.NextPayDate | date:'yyyy-MM-dd'}}
\\r\\n
\\r\\n
\\r\\n 0\\\">{{ x.NextPaySum | currency:'RUB':'symbol':'1.2-2':'ru' }}\\r\\n Оплатить\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Номер договораДата договораНомер лицевого счета
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n \\r\\n
\\r\\n
Тип
\\r\\n
\\r\\n
\\r\\n {{dogType.Name}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{x.Name}}\\r\\n
\\r\\n
\\r\\n Ʃ\\r\\n \\r\\n
У вас всего {{accountCount}} {{accountCount | declension:['договор', 'договора', 'договоров']}}
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{countRowOnPage}}\\r\\n \\r\\n
\\r\\n
\\r\\n 25\\r\\n 50\\r\\n 100\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Страница:\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 1\\r\\n ...\\r\\n {{currentPage - 1}}\\r\\n {{currentPage}}\\r\\n {{currentPage + 1}}\\r\\n ...\\r\\n {{countPage}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Номер договора
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Дата договора
\\r\\n
\\r\\n
\\r\\n
Номер лицевого счёта
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Размер годовой арендной платы
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Задолженность
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Дата очередного платежа
\\r\\n
\\r\\n
{{ x.DogovorNumber }}
\\r\\n
\\r\\n
{{ x.DogovorDate | date:'yyyy-MM-dd' }}
\\r\\n
\\r\\n
{{ x.AccountNumber }}
\\r\\n
\\r\\n
{{ x.AYearSum }}
\\r\\n
\\r\\n
{{ x.Debt }}
\\r\\n
\\r\\n
{{ x.NextPayDate | date:'yyyy-MM-dd' }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Итого:
\\r\\n
\\r\\n
{{ AYearSum }}
\\r\\n
\\r\\n
{{ DebtSum }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Нет данных\\r\\n
\\r\\n
\\r\\n Идёт загрузка\\r\\n
\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Страница:\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 1\\r\\n ...\\r\\n {{currentPage - 1}}\\r\\n {{currentPage}}\\r\\n {{currentPage + 1}}\\r\\n ...\\r\\n {{countPage}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n Мобильная версия\\r\\n
\\r\\n
\\r\\n
Мобильная версия сайта “Мои договоры” в вашем смартфоне.
\\r\\n
Для перехода отсканируйте QR-код.
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n Идет загрузка\\r\\n \\r\\n
\\r\\n
\\r\\n Укажите реквизиты для отправки чека\\r\\n
\\r\\n {{error}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n Обработка платежа\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Ошибка\\r\\n
\\r\\n
\\r\\n Ошибка системы. Платёж не был произведён и средства не были переведены. Пожалуйста, произведите оплату снова. Мы приносим извинения за неудобства. \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Успешно!\\r\\n
\\r\\n
\\r\\n Платёж успешно принят в обработку\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n Реквизиты\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{error}}
\\r\\n
Для оплаты онлайн, отсканируйте QR-код
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Оплатить...\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Начисление {{ debt.IsPeni ? 'пени ' : '' }}за {{debt.DateStart | date:'dd.MM.yyyy'}} - {{debt.DateEnd | date:'dd.MM.yyyy'}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Начисление было оплачено {{debt.PaymentDate | date:'dd.MM.yyyy'}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Сумма оплаты:\\r\\n {{sumToPay | currency:'RUB':'symbol':'1.2-2':'ru'}}\\r\\n
\\r\\n
\\r\\n Лицевой счет: \\r\\n {{account.AccountNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Распечатать квитанцию\\r\\n {{report.Name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n
Акт сверки
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
C
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
По
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n
Добро пожаловать,
\\r\\n
{{tenant.Name}}!\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Подробнее\\r\\n
\\r\\n
\"","var __values = (this && this.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\n/**\n * @license Angular v0.10.2\n * (c) 2010-2019 Google LLC. https://angular.io/\n * License: MIT\n */\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}(function () {\n 'use strict';\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error = err;\n error.rejection = value;\n error.promise = promise;\n error.zone = Zone.current;\n error.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () { return ZONE_AWARE_PROMISE_TO_STRING; };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) { Object.defineProperty(obj, prop, props[prop]); });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_4(i);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n}));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \".app-logo-bg {\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.app-logo-img {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.app-navbar {\\r\\n display: flex;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.app-header-logo {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.app-logout-button {\\r\\n margin-left: auto;\\r\\n background-color: #F4F4F4;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-body {\\r\\n margin-left: 10px;\\r\\n margin-right: 10px;\\r\\n }\\r\\n .app-header-logo {\\r\\n align-items: end;\\r\\n }\\r\\n .app-navbar {\\r\\n align-items: center;\\r\\n }\\r\\n .app-logo-bg {\\r\\n width: 50px;\\r\\n min-width: 50px;\\r\\n height: 50px;\\r\\n }\\r\\n .app-logo-img {\\r\\n height: 16px;\\r\\n width: 44px;\\r\\n left: 4px;\\r\\n top: 20px;\\r\\n }\\r\\n .app-header-text {\\r\\n margin-top: 8px;\\r\\n margin-left: 16px;\\r\\n font-size: 20px;\\r\\n line-height: 23px;\\r\\n font-weight: 500;\\r\\n }\\r\\n .app-logout-button {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 900px) {\\r\\n .app-body {\\r\\n margin-left: 32px;\\r\\n margin-right: 32px;\\r\\n }\\r\\n .app-logo-bg {\\r\\n width: 100px;\\r\\n height: 72px;\\r\\n }\\r\\n .app-header-logo {\\r\\n align-items: center;\\r\\n }\\r\\n .app-navbar {\\r\\n align-items: center;\\r\\n }\\r\\n .app-logo-img {\\r\\n height: 29px;\\r\\n width: 75px;\\r\\n left: 12px;\\r\\n top: 26px;\\r\\n }\\r\\n .app-header-text {\\r\\n margin-top: 0px;\\r\\n margin-left: 20px;\\r\\n font-size: 36px;\\r\\n line-height: 30px;\\r\\n font-weight: normal;\\r\\n }\\r\\n .app-logout-button {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-body {\\r\\n margin-left: 242px;\\r\\n margin-right: 242px;\\r\\n }\\r\\n .app-logo-bg {\\r\\n width: 100px;\\r\\n height: 72px;\\r\\n }\\r\\n .app-header-logo {\\r\\n align-items: center;\\r\\n }\\r\\n .app-navbar {\\r\\n align-items: center;\\r\\n }\\r\\n .app-logo-img {\\r\\n height: 29px;\\r\\n width: 75px;\\r\\n left: 12px;\\r\\n top: 26px;\\r\\n }\\r\\n .app-header-text {\\r\\n margin-left: 20px;\\r\\n font-size: 36px;\\r\\n line-height: 30px;\\r\\n }\\r\\n .app-logout-button {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsMkNBQTJDO0FBQy9DOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSTtRQUNJLGlCQUFpQjtRQUNqQixrQkFBa0I7SUFDdEI7SUFDQTtRQUNJLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxXQUFXO1FBQ1gsZUFBZTtRQUNmLFlBQVk7SUFDaEI7SUFDQTtRQUNJLFlBQVk7UUFDWixXQUFXO1FBQ1gsU0FBUztRQUNULFNBQVM7SUFDYjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxpQkFBaUI7UUFDakIsa0JBQWtCO0lBQ3RCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osWUFBWTtJQUNoQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7SUFDQTtRQUNJLFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLFNBQVM7SUFDYjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxrQkFBa0I7UUFDbEIsbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osWUFBWTtJQUNoQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7SUFDQTtRQUNJLFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLFNBQVM7SUFDYjtJQUNBO1FBQ0ksaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixpQkFBaUI7SUFDckI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1sb2dvLWJnIHtcclxuICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG59XHJcblxyXG4uYXBwLWxvZ28taW1nIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmFwcC1uYXZiYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyLWxvZ28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmFwcC1sb2dvdXQtYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcclxuICAgIHBhZGRpbmc6IDBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwcHgpIHtcclxuICAgIC5hcHAtYm9keSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXItbG9nbyB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcclxuICAgIH1cclxuICAgIC5hcHAtbmF2YmFyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmFwcC1sb2dvLWJnIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1sb2dvLWltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgIGxlZnQ6IDRweDtcclxuICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWhlYWRlci10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAuYXBwLWxvZ291dC1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcclxuICAgIC5hcHAtYm9keSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1sb2dvLWJnIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXItbG9nbyB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5hcHAtbmF2YmFyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmFwcC1sb2dvLWltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgIGxlZnQ6IDEycHg7XHJcbiAgICAgICAgdG9wOiAyNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXItdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgLmFwcC1sb2dvdXQtYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4gICAgLmFwcC1ib2R5IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjQycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNDJweDtcclxuICAgIH1cclxuICAgIC5hcHAtbG9nby1iZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogNzJweDtcclxuICAgIH1cclxuICAgIC5hcHAtaGVhZGVyLWxvZ28ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5hdmJhciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5hcHAtbG9nby1pbWcge1xyXG4gICAgICAgIGhlaWdodDogMjlweDtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICBsZWZ0OiAxMnB4O1xyXG4gICAgICAgIHRvcDogMjZweDtcclxuICAgIH1cclxuICAgIC5hcHAtaGVhZGVyLXRleHQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIH1cclxuICAgIC5hcHAtbG9nb3V0LWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from './services/authentication.service';\r\n\r\n/**\r\n * Корневой компонент\r\n */\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n /** Залогинен ли пользователь */\r\n public isLoggedIn$: Observable;\r\n\r\n /**\r\n * Конструктор\r\n * @param router для ручной навигации\r\n * @param authenticationService сервис авторизации\r\n * @param dialog Сервис для запуска модальных окон\r\n */\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n public dialog: MatDialog) {\r\n }\r\n\r\n /**\r\n * Инициализация компонента\r\n */\r\n public ngOnInit(): void {\r\n this.isLoggedIn$ = this.authenticationService.isLoggedIn();\r\n }\r\n\r\n /**\r\n * Нажатие кнопки \"выход\"\r\n */\r\n public onLogout() {\r\n this.authenticationService.logout();\r\n this.router.navigateByUrl('/login');\r\n }\r\n}\r\n","/** Проект */\r\n\r\nimport { routing } from './app.routing';\r\n\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { JwtInterceptorService } from './services/jwt-interceptor.service';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { ReportService } from './services/report.service';\r\nimport { TenantService } from './services/tenant.service';\r\nimport { AccountService } from './services/account.service';\r\nimport { ObjectService } from './services/object.service';\r\nimport { DogovorTypeService } from './services/dogovor-type.service'\r\nimport { CalcDocService } from './services/calc-doc.service'\r\nimport { DogovorService } from './services/dogovor.service'\r\nimport {PayService} from './services/pay.service'\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { PasswordRecoveryComponent } from './components/password-recovery/password-recovery.component';\r\nimport { RegistrationComponent } from './components/registration/registration.component';\r\nimport { TenantComponent } from \"./components/tenant/tenant.component\";\r\nimport { DebtComponent } from \"./components/debt/debt.component\";\r\nimport { MobileVersionComponent } from \"./components/mobile-version/mobile-version.component\";\r\nimport { ListDogovorsMainComponent } from \"./components/list-dogovor-main/list-dogovor-main.component\";\r\nimport {ListDocumentsComponent} from \"./components/list-documents/list-documents.component\";\r\nimport { DogovorShortComponent } from \"./components/dogovor-short/dogovor-short.component\";\r\nimport { LastPayListComponent } from \"./components/last-pay-list/last-pay-list.component\";\r\nimport { LastPayInfoComponent } from \"./components/last-pay-info/last-pay-info.component\";\r\nimport { MainComponent } from './components/main/main.component';\r\nimport { ListDogovorsComponent } from './components/list-dogovors/list-dogovors.component';\r\nimport { ReviseActComponent } from './components/revise-act/revise-act.component';\r\nimport { DogovorInfoComponent } from \"./components/dogovor-info/dogovor-info.component\";\r\nimport { AccountComponent } from \"./components/account/account.component\";\r\nimport { PayComponent } from \"./components/pay/pay.component\"\r\nimport { PayWaitComponent } from \"./components/pay-wait/pay-wait.component\"\r\nimport {TenantDetailComponent} from './components/tenant/tenant-detail.component';\r\nimport { EsiaService } from './services/esia.service';\r\nimport { PayByCardAttrReqComponent } from './components/pay-by-card-attr-req/pay-by-card-attr-req.component';\r\n\r\nimport { DummyComponent } from './dummy.component';\r\n\r\nimport {AgGridCustomTooltip} from \"./components/ag-grid-custom-tooltip.component\";\r\n\r\n/** Внешние */\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BhdatePipe } from './pipes/bhdate.pipe';\r\nimport { DeclensionPipe } from './pipes/declension.pipe';\r\n\r\nimport { DxFilterBuilderModule } from 'devextreme-angular';\r\nimport { InputMaskDirective } from './directives/input-mask-directive';\r\n\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport {registerLocaleData, CurrencyPipe} from '@angular/common';\r\nimport localeRu from '@angular/common/locales/ru';\r\nregisterLocaleData(localeRu);\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorIntl,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule\r\n} from '@angular/material';\r\n\r\n@NgModule({\r\n imports: [\r\n CdkTableModule,\r\n BrowserModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n routing,\r\n FormsModule,\r\n\r\n MatListModule,\r\n MatInputModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n\r\n NoopAnimationsModule,\r\n NgbModule.forRoot(),\r\n\r\n DxFilterBuilderModule,\r\n\r\n AgGridModule.withComponents([AgGridCustomTooltip]),\r\n NgxMaskModule.forRoot()\r\n ],\r\n declarations: [\r\n AppComponent,\r\n BhdatePipe,\r\n DeclensionPipe,\r\n DummyComponent,\r\n LoginComponent,\r\n PasswordRecoveryComponent,\r\n RegistrationComponent,\r\n MainComponent,\r\n ListDogovorsComponent,\r\n ListDocumentsComponent,\r\n InputMaskDirective,\r\n TenantComponent,\r\n DebtComponent,\r\n MobileVersionComponent,\r\n ListDogovorsMainComponent,\r\n DogovorShortComponent,\r\n LastPayListComponent,\r\n LastPayInfoComponent,\r\n ReviseActComponent,\r\n DogovorInfoComponent,\r\n AccountComponent,\r\n AgGridCustomTooltip,\r\n PayComponent,\r\n PayWaitComponent,\r\n TenantDetailComponent,\r\n PayByCardAttrReqComponent\r\n ],\r\n entryComponents: [\r\n ReviseActComponent,\r\n PayComponent,\r\n PayWaitComponent,\r\n PayByCardAttrReqComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptorService,\r\n multi: true\r\n },\r\n AuthGuardService,\r\n AuthenticationService,\r\n ReportService,\r\n TenantService,\r\n AccountService,\r\n ObjectService,\r\n DogovorTypeService,\r\n CalcDocService,\r\n DogovorService,\r\n PayService,\r\n EsiaService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule {\r\n\r\n}\r\n","import { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport {MainComponent} from './components/main/main.component';\r\nimport {ListDogovorsComponent} from './components/list-dogovors/list-dogovors.component';\r\nimport {DogovorInfoComponent} from './components/dogovor-info/dogovor-info.component';\r\nimport {ListDocumentsComponent} from './components/list-documents/list-documents.component';\r\nimport {PasswordRecoveryComponent} from './components/password-recovery/password-recovery.component';\r\nimport {RegistrationComponent} from './components/registration/registration.component';\r\nimport {TenantDetailComponent} from './components/tenant/tenant-detail.component';\r\n\r\nconst appRoutes: Routes = [\r\n { path: '', component: MainComponent, canActivate: [AuthGuardService] },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'password-recovery', component: PasswordRecoveryComponent },\r\n { path: 'registration', component: RegistrationComponent },\r\n { path: 'main', component: MainComponent, canActivate: [AuthGuardService] },\r\n { path: 'list-dogovors', component: ListDogovorsComponent, canActivate: [AuthGuardService] },\r\n { path: 'dogovor-info', component: DogovorInfoComponent, canActivate: [AuthGuardService] },\r\n { path: 'list-documents', component: ListDocumentsComponent, canActivate: [AuthGuardService] },\r\n { path: 'tenant', component: TenantDetailComponent, canActivate: [AuthGuardService] },\r\n { path: '**', redirectTo: '' }\r\n\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(appRoutes);\r\n","export default \".app-body {\\r\\n position: relative;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.app-block-header {\\r\\n font-size: 20px;\\r\\n color: #333333;\\r\\n font-weight: 500;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.app-block-icon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.app-param {\\r\\n margin-bottom: 10px;\\r\\n color: #4F4F4F;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.app-param-block {\\r\\n position: relative;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.app-bg-img {\\r\\n position: absolute;\\r\\n bottom: 24px;\\r\\n right: 27px;\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n.app-buttons {\\r\\n position: absolute;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.app-buttons button {\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n padding-left: 16px;\\r\\n padding-right: 16px;\\r\\n color: #F2F2F2;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n border-radius: 10px;\\r\\n\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n}\\r\\n\\r\\n.app-buttons button:focus {\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.app-buttons button:first-child {\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n align-self: center;\\r\\n margin-top: 52px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.pay-in-process-img {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-body {\\r\\n margin-bottom: 124px;\\r\\n }\\r\\n .app-block-header {\\r\\n font-size: 18px;\\r\\n }\\r\\n .app-param {\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .app-buttons {\\r\\n display: flex;\\r\\n flex-direction: column-reverse;\\r\\n bottom: 0px;\\r\\n }\\r\\n .app-buttons button:nth-child(1) {\\r\\n width: 120px;\\r\\n }\\r\\n .app-buttons button:nth-child(2) {\\r\\n margin-bottom: 24px;\\r\\n }\\r\\n .app-bg-img {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 900px) {\\r\\n .app-body {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .app-block-header {\\r\\n font-size: 20px;\\r\\n }\\r\\n .app-param {\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .app-buttons {\\r\\n display: inline;\\r\\n bottom: 10px;\\r\\n }\\r\\n .app-buttons button:nth-child(1) {\\r\\n width: auto;\\r\\n }\\r\\n .app-buttons button:nth-child(2) {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n\\r\\n .app-bg-img {\\r\\n display: inline;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-body {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .app-block-header {\\r\\n font-size: 20px;\\r\\n }\\r\\n .app-param {\\r\\n font-size: 18px;\\r\\n }\\r\\n .app-bg-img {\\r\\n display: inline;\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hY2NvdW50L2FjY291bnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUNBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixXQUFXO0lBQ1gsVUFBVTtBQUNkOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLG1CQUFtQjs7SUFFbkIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQjs7QUFDQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJO1FBQ0ksb0JBQW9CO0lBQ3hCO0lBQ0E7UUFDSSxlQUFlO0lBQ25CO0lBQ0E7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksYUFBYTtRQUNiLDhCQUE4QjtRQUM5QixXQUFXO0lBQ2Y7SUFDQTtRQUNJLFlBQVk7SUFDaEI7SUFDQTtRQUNJLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksYUFBYTtJQUNqQjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxrQkFBa0I7SUFDdEI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsWUFBWTtJQUNoQjtJQUNBO1FBQ0ksV0FBVztJQUNmO0lBQ0E7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxlQUFlO0lBQ25CO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGtCQUFrQjtJQUN0QjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjs7QUFFSiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWNjb3VudC9hY2NvdW50LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYXBwLWJvZHkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5hcHAtYmxvY2staGVhZGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLmFwcC1ibG9jay1pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmFwcC1wYXJhbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmFwcC1wYXJhbS1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmFwcC1iZy1pbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAyNHB4O1xyXG4gICAgcmlnaHQ6IDI3cHg7XHJcbiAgICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbnMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5hcHAtYnV0dG9ucyBidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZDogIzJGODBFRDtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgIGNvbG9yOiAjRjJGMkYyO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjFweDtcclxufVxyXG4uYXBwLWJ1dHRvbnMgYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5hcHAtYnV0dG9ucyBidXR0b246Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4uYXBwLW5vLWRhdGEge1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDUycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wYXktaW4tcHJvY2Vzcy1pbWcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHB4KSB7XHJcbiAgICAuYXBwLWJvZHkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1ibG9jay1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgIC5hcHAtcGFyYW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWJ1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b25zIGJ1dHRvbjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuICAgIC5hcHAtYnV0dG9ucyBidXR0b246bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1iZy1pbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLWJvZHkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5hcHAtYmxvY2staGVhZGVyIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXBhcmFtIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b25zIGJ1dHRvbjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b25zIGJ1dHRvbjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWJnLWltZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgIC5hcHAtYm9keSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1ibG9jay1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIC5hcHAtcGFyYW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgIC5hcHAtYmctaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== */\"","import { Input, OnInit } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { IAccount } from '../../models/IAccount';\r\nimport {PayComponent} from '../pay/pay.component';\r\nimport {ReviseActComponent} from '../revise-act/revise-act.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n styleUrls: ['./account.component.css']\r\n})\r\n/** Контроллер лицевого счета */\r\nexport class AccountComponent implements OnInit {\r\n\r\n /** Лицевой счет */\r\n @Input()\r\n public account: IAccount;\r\n\r\n @Input()\r\n public error: string;\r\n\r\n constructor( private dialog: MatDialog) {\r\n }\r\n\r\n /** Инициализация */\r\n // tslint:disable-next-line:no-empty\r\n public ngOnInit(): void {}\r\n\r\n /** Открыть компонент оплаты */\r\n public openPayDialog() {\r\n const dialogRef = this.dialog.open(PayComponent, {\r\n panelClass: 'app-dialog-container',\r\n data: {\r\n account: this.account,\r\n sumToPay: this.account.Debt\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Открытие окна акта сверки\r\n * @param elementAttr Атрибут элемента для которого открываем справочник\r\n */\r\n public openReviseActDialog(event) {\r\n const dialogRef = this.dialog.open(ReviseActComponent, {\r\n panelClass: 'app-dialog-container',\r\n data: {\r\n account: this.account,\r\n mouseX: event.x,\r\n mouseY: event.y\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n/**\r\n * Элемент подсказки (tooltip) для ag-grid\r\n */\r\n@Component({\r\n selector: 'ag-grid-custom-tooltip-component',\r\n template: ``,\r\n})\r\nexport class AgGridCustomTooltip {\r\n private root: HTMLElement;\r\n init(params) {\r\n this.root = document.createElement('div');\r\n var color = params.color || '#4F4F4F';\r\n //var data = params.api.getRowNode(params.rowIndex).data;\r\n\r\n this.root.classList.add('custom-tooltip');\r\n this.root.style['background-color'] = color;\r\n this.root.style['position'] = 'absolute';\r\n this.root.style['padding'] = '10px';\r\n this.root.style['color'] = 'white';\r\n this.root.classList.add('bars-radius');\r\n this.root.innerHTML =\r\n '' + params.value + \"\";\r\n }\r\n\r\n /**\r\n * Возврат тела элемента\r\n * @returns {HTMLElement}\r\n */\r\n getGui(): HTMLElement {\r\n return this.root;\r\n }\r\n}\r\n","export default \".app-debt-info {\\r\\n position: relative;\\r\\n width: 560px;\\r\\n height: 320px;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.app-debt-header {\\r\\n display: flex;\\r\\n padding: 24px;\\r\\n}\\r\\n\\r\\n.app-page-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-debt-header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n color: #333333;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.app-debt-date {\\r\\n padding-left: 24px;\\r\\n padding-bottom: 8px;\\r\\n}\\r\\n\\r\\n.app-debt-date-text {\\r\\n font-family: Arial;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-debt-sum-text {\\r\\n font-family: Arial;\\r\\n font-size: 32px;\\r\\n line-height: 37px;\\r\\n color: #219653;\\r\\n}\\r\\n\\r\\n.app-debt-sum-text-red {\\r\\n font-family: Arial;\\r\\n font-size: 32px;\\r\\n line-height: 37px;\\r\\n color: #EB5757;\\r\\n}\\r\\n\\r\\n.app-debt-sum {\\r\\n padding-left: 24px;\\r\\n padding-bottom: 18px;\\r\\n}\\r\\n\\r\\n.app-debt-grid {\\r\\n padding-left: 24px;\\r\\n padding-right: 24px;\\r\\n}\\r\\n\\r\\n.app-table-header th {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #828282;\\r\\n font-weight: unset;\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-debt-table {\\r\\n width: 100%;\\r\\n table-layout: fixed;\\r\\n}\\r\\n\\r\\n.app-docNo-table-header {\\r\\n width: 175px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.app-ac-table-header {\\r\\n width: 181px;\\r\\n}\\r\\n\\r\\n.app-debt-table-header {\\r\\n width: 156px;\\r\\n white-space: nowrap;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.app-debt-table-column-red {\\r\\n text-align: right;\\r\\n color: #EB5757;\\r\\n}\\r\\n\\r\\n.app-debt-table-column {\\r\\n text-align: right;\\r\\n color: #219653;\\r\\n}\\r\\n\\r\\n.app-docNo-table-column {\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-ac-table-column {\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-table-column td div {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n padding-top: 12px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-look-all {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n padding-left: 24px;\\r\\n padding-top: 12px;\\r\\n}\\r\\n\\r\\n.app-look-all a {\\r\\n color: #2F80ED;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n align-self: center;\\r\\n margin-top: 52px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.app-no-data img {\\r\\n margin-right: 6px;\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.app-no-data.error {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-debt-info {\\r\\n width: 472px;\\r\\n }\\r\\n .app-debt-date-text {\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n }\\r\\n .app-docNo-table-header {\\r\\n width: 120px;\\r\\n }\\r\\n .app-ac-table-header {\\r\\n width: 153px;\\r\\n }\\r\\n .app-debt-table-header {\\r\\n width: 155px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 52px;\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-debt-info {\\r\\n width: 340px;\\r\\n height: 340px;\\r\\n }\\r\\n .app-debt-header {\\r\\n padding: 20px;\\r\\n padding-bottom: 12px;\\r\\n }\\r\\n .app-page-img {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n }\\r\\n .app-debt-header-text {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-debt-date {\\r\\n padding-left: 20px;\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n .app-debt-date-text {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-debt-sum {\\r\\n padding-left: 20px;\\r\\n padding-bottom: 16px;\\r\\n }\\r\\n .app-debt-grid {\\r\\n padding-left: 20px;\\r\\n padding-right: 20px;\\r\\n }\\r\\n .app-docNo-table-header {\\r\\n width: 90px;\\r\\n }\\r\\n .app-ac-table-header {\\r\\n width: 110px;\\r\\n }\\r\\n .app-debt-table-header {\\r\\n width: 110px;\\r\\n text-align: left;\\r\\n white-space: unset;\\r\\n }\\r\\n .app-look-all {\\r\\n padding-left: 20px;\\r\\n padding-top: 24px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 59px;\\r\\n }\\r\\n .app-no-data img {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9kZWJ0L2RlYnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiwyQ0FBMkM7QUFDL0M7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1Q0FBK0I7WUFBL0IsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjs7QUFDQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZ0JBQWdCO0lBQ3BCOztBQUVKOztBQUVBO0lBQ0k7UUFDSSxZQUFZO1FBQ1osYUFBYTtJQUNqQjtJQUNBO1FBQ0ksYUFBYTtRQUNiLG9CQUFvQjtJQUN4QjtJQUNBO1FBQ0ksV0FBVztRQUNYLFlBQVk7SUFDaEI7SUFDQTtRQUNJLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO0lBQ3JCO0lBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsb0JBQW9CO0lBQ3hCO0lBQ0E7UUFDSSxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksa0JBQWtCO1FBQ2xCLG9CQUFvQjtJQUN4QjtJQUNBO1FBQ0ksa0JBQWtCO1FBQ2xCLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksV0FBVztJQUNmO0lBQ0E7UUFDSSxZQUFZO0lBQ2hCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGtCQUFrQjtJQUN0QjtJQUNBO1FBQ0ksa0JBQWtCO1FBQ2xCLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksZ0JBQWdCO0lBQ3BCO0lBQ0E7UUFDSSxhQUFhO0lBQ2pCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2RlYnQvZGVidC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1kZWJ0LWluZm8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDU2MHB4O1xyXG4gICAgaGVpZ2h0OiAzMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG59XHJcblxyXG4uYXBwLWRlYnQtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyNHB4O1xyXG59XHJcblxyXG4uYXBwLXBhZ2UtaW1nIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG59XHJcblxyXG4uYXBwLWRlYnQtaGVhZGVyLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtZGVidC1kYXRlIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5hcHAtZGVidC1kYXRlLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxufVxyXG5cclxuLmFwcC1kZWJ0LXN1bS10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbDtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xyXG4gICAgY29sb3I6ICMyMTk2NTM7XHJcbn1cclxuXHJcbi5hcHAtZGVidC1zdW0tdGV4dC1yZWQge1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM3cHg7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxufVxyXG5cclxuLmFwcC1kZWJ0LXN1bSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcclxufVxyXG5cclxuLmFwcC1kZWJ0LWdyaWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcclxufVxyXG5cclxuLmFwcC10YWJsZS1oZWFkZXIgdGgge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBmb250LXdlaWdodDogdW5zZXQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwRTBFMDtcclxufVxyXG5cclxuLmFwcC1kZWJ0LXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxuLmFwcC1kb2NOby10YWJsZS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmFwcC1hYy10YWJsZS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDE4MXB4O1xyXG59XHJcblxyXG4uYXBwLWRlYnQtdGFibGUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxNTZweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmFwcC1kZWJ0LXRhYmxlLWNvbHVtbi1yZWQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxufVxyXG5cclxuLmFwcC1kZWJ0LXRhYmxlLWNvbHVtbiB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiAjMjE5NjUzO1xyXG59XHJcblxyXG4uYXBwLWRvY05vLXRhYmxlLWNvbHVtbiB7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxufVxyXG5cclxuLmFwcC1hYy10YWJsZS1jb2x1bW4ge1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbn1cclxuXHJcbi5hcHAtdGFibGUtY29sdW1uIHRkIGRpdiB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5hcHAtbG9vay1hbGwge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xyXG59XHJcblxyXG4uYXBwLWxvb2stYWxsIGEge1xyXG4gICAgY29sb3I6ICMyRjgwRUQ7XHJcbn1cclxuXHJcbi5hcHAtbm8tZGF0YSB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogNTJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhIGltZyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG4uYXBwLW5vLWRhdGEuZXJyb3Ige1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkge1xyXG4gICAgLmFwcC1kZWJ0LWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiA0NzJweDtcclxuICAgIH1cclxuICAgIC5hcHAtZGVidC1kYXRlLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jTm8tdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWFjLXRhYmxlLWhlYWRlciB7XHJcbiAgICAgICAgd2lkdGg6IDE1M3B4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kZWJ0LXRhYmxlLWhlYWRlciB7XHJcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1uby1kYXRhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MnB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLWRlYnQtaW5mbyB7XHJcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIGhlaWdodDogMzQwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRlYnQtaGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1wYWdlLWltZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kZWJ0LWhlYWRlci10ZXh0IHtcclxuICAgICAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgIH1cclxuICAgIC5hcHAtZGVidC1kYXRlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRlYnQtZGF0ZS10ZXh0IHtcclxuICAgICAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtZGVidC1zdW0ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtZGVidC1ncmlkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jTm8tdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtYWMtdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRlYnQtdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XHJcbiAgICB9XHJcbiAgICAuYXBwLWxvb2stYWxsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5vLWRhdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDU5cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5vLWRhdGEgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AccountInfoAttrEnum } from '../../models/AccountInfoAttrEnum';\r\nimport { IAccount } from '../../models/IAccount';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-debt',\r\n templateUrl: 'debt.component.html',\r\n styleUrls: ['./debt.component.css']\r\n})\r\n/** Контроллер блока задолженности */\r\nexport class DebtComponent implements OnInit {\r\n\r\n /** Отображаемые ЛС */\r\n public tableAcc: IAccount[];\r\n /** Общая задолжность */\r\n public debtSumAll;\r\n /** Текущфая дата */\r\n public now: Date = new Date();\r\n /** Последняя ошибка запроса к серверу */\r\n public error: string;\r\n /** Все ЛС */\r\n private allAcc: IAccount[];\r\n\r\n /**\r\n * Конструктор\r\n * @param accountService Сервис работы с лицевыми счетами\r\n */\r\n constructor(\r\n private accountService: AccountService) {\r\n }\r\n\r\n /**\r\n * Действия выполняемые при создании объекта\r\n */\r\n public ngOnInit() {\r\n this.accountService.get(AccountInfoAttrEnum.Debt).subscribe(\r\n (accs) => {\r\n this.allAcc = accs;\r\n this.tableAcc = this.allAcc.sort((x, y) => y.Debt - x.Debt).slice(0, 3);\r\n this.debtSumAll = this.allAcc.reduce((sum, current) => sum + (current.Debt > 0 ? current.Debt : 0), 0);\r\n this.error = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n }\r\n}\r\n","export default \".app-block-panel {\\r\\n display: flex;\\r\\n}\\r\\n.app-block {\\r\\n background-color: white;\\r\\n}\\r\\n.app-block-icon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n.app-block-header {\\r\\n color: #333333;\\r\\n font-weight: 500;\\r\\n}\\r\\n.app-dog-param {\\r\\n margin-bottom: 10px;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n}\\r\\n.app-dog-param-name {\\r\\n color: #333333;\\r\\n}\\r\\n.app-dog-param-value {\\r\\n color: #4F4F4F;\\r\\n}\\r\\n.app-docum-block {\\r\\n margin-bottom: 16px;\\r\\n position: relative;\\r\\n}\\r\\n.app-docum-table {\\r\\n width: 100%;\\r\\n margin-bottom: 44px;\\r\\n}\\r\\n.app-docum-table tbody, .app-docum-table thead {\\r\\n display: block;\\r\\n}\\r\\n.app-docum-table tbody {\\r\\n overflow-y: scroll;\\r\\n height: 130px;\\r\\n}\\r\\n.app-docum-table thead {\\r\\n color: #828282;\\r\\n}\\r\\n.app-docum-table tbody {\\r\\n color: #4F4F4F;\\r\\n}\\r\\n.app-docum-table td {\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n.app-docum-link-panel {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.app-docum-link {\\r\\n color: #2F80ED;\\r\\n}\\r\\n.app-account-block {\\r\\n margin-bottom: 16px;\\r\\n}\\r\\n.app-body-bottom {\\r\\n display: flex;\\r\\n flex-wrap:wrap;\\r\\n padding-bottom: 35px;\\r\\n /* justify-content:space-between;*/\\r\\n}\\r\\n.app-no-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n text-align: center;\\r\\n}\\r\\n.app-no-data img {\\r\\n margin-right: 10px;\\r\\n}\\r\\n.app-no-data::-webkit-scrollbar, .app-docum-table tbody::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n}\\r\\n.app-no-data::-webkit-scrollbar-track, .app-docum-table tbody::-webkit-scrollbar-track {\\r\\n background-color: #C4C4C4;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.app-no-data::-webkit-scrollbar-thumb, .app-docum-table tbody::-webkit-scrollbar-thumb {\\r\\n background-color: #2F80ED;\\r\\n border-radius: 10px;\\r\\n}\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-block {\\r\\n padding: 20px;\\r\\n }\\r\\n .app-block-panel {\\r\\n flex-wrap: wrap;\\r\\n flex-direction: column;\\r\\n }\\r\\n .app-dog-block {\\r\\n height: auto;\\r\\n width: 340px;\\r\\n min-width: 340px;\\r\\n }\\r\\n .app-docum-block {\\r\\n width: 340px;\\r\\n height: auto;\\r\\n min-width: 340px;\\r\\n margin-left: 0px;\\r\\n margin-top: 16px;\\r\\n }\\r\\n .app-block-header {\\r\\n font-size: 18px;\\r\\n margin-bottom: 16px;\\r\\n }\\r\\n .app-docum-table td:nth-child(2) {\\r\\n display: none\\r\\n }\\r\\n .app-docum-table td:nth-child(3) {\\r\\n padding-left: 10px;\\r\\n }\\r\\n .app-docum-table-first-col {\\r\\n width: 150px;\\r\\n }\\r\\n\\r\\n .app-dog-param{\\r\\n font-size: 14px;\\r\\n }\\r\\n .app-docum-table thead {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-docum-table tbody {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-docum-link {\\r\\n font-size: 14px;\\r\\n }\\r\\n .app-account-block {\\r\\n min-width: 340px;\\r\\n width: 340px;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .app-no-data {\\r\\n margin-top: 42px;\\r\\n margin-bottom: 94px;\\r\\n }\\r\\n\\r\\n .app-account-block:nth-child(1),\\r\\n .app-account-block:nth-child(2),\\r\\n .app-account-block:nth-child(4),\\r\\n .app-account-block:nth-child(5) {\\r\\n margin-right: 0px;\\r\\n }\\r\\n\\r\\n .app-docum-table th:nth-child(1), .app-docum-table td:nth-child(1) {\\r\\n width: 180px;\\r\\n }\\r\\n\\r\\n .app-docum-table th:nth-child(4), .app-docum-table td:nth-child(4) {\\r\\n width: 10px;\\r\\n }\\r\\n\\r\\n}\\r\\n@media screen and (min-width: 900px) {\\r\\n .app-block {\\r\\n padding: 24px;\\r\\n }\\r\\n .app-block-panel {\\r\\n flex-wrap: nowrap;\\r\\n flex-direction: column;\\r\\n }\\r\\n .app-dog-block {\\r\\n height: auto;\\r\\n width: auto;\\r\\n min-width: 410px;\\r\\n }\\r\\n .app-docum-block {\\r\\n width: auto;\\r\\n height: auto;\\r\\n min-width: 463px;\\r\\n margin-left: 0px;\\r\\n margin-top: 16px;\\r\\n }\\r\\n\\r\\n .app-docum-table td:nth-child(2) {\\r\\n display: table-cell;\\r\\n width: 200px;\\r\\n padding-left: 20px;\\r\\n }\\r\\n .app-docum-table td:nth-child(3) {\\r\\n padding-left: 20px;\\r\\n width: 220px;\\r\\n }\\r\\n .app-docum-table-first-col {\\r\\n width: auto;\\r\\n }\\r\\n\\r\\n .app-block-header {\\r\\n font-size: 24px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .app-dog-param{\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .app-docum-table thead {\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-docum-table tbody {\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-docum-link {\\r\\n font-size: 18px;\\r\\n }\\r\\n .app-account-block {\\r\\n min-width: 410px;\\r\\n width: 472px;\\r\\n height: 600px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 62px;\\r\\n margin-bottom: 70px;\\r\\n }\\r\\n\\r\\n .app-docum-table th:nth-child(1), .app-docum-table td:nth-child(1) {\\r\\n width: 65%;\\r\\n }\\r\\n .app-docum-table th:nth-child(2), .app-docum-table td:nth-child(2) {\\r\\n width: 20%;\\r\\n }\\r\\n .app-docum-table th:nth-child(4), .app-docum-table td:nth-child(4) {\\r\\n width: 10px;\\r\\n }\\r\\n\\r\\n\\r\\n}\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-block {\\r\\n padding: 24px;\\r\\n }\\r\\n .app-block-panel {\\r\\n flex-wrap: nowrap;\\r\\n flex-direction: row;\\r\\n }\\r\\n .app-dog-block {\\r\\n height: 299px;\\r\\n width: 460px;\\r\\n min-width: 460px;\\r\\n }\\r\\n .app-docum-block {\\r\\n width: auto;\\r\\n min-width: 900px;\\r\\n height: 299px;\\r\\n margin-left: 16px;\\r\\n margin-top: 0px;\\r\\n }\\r\\n .app-docum-table td:nth-child(2) {\\r\\n display: table-cell;\\r\\n padding-left: 10px;\\r\\n }\\r\\n .app-docum-table td:nth-child(3) {\\r\\n padding-left: 10px;\\r\\n }\\r\\n .app-docum-table-first-col {\\r\\n width: 460px;\\r\\n }\\r\\n\\r\\n .app-block-header {\\r\\n font-size: 24px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .app-dog-param{\\r\\n font-size: 18px;\\r\\n }\\r\\n .app-docum-table thead {\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-docum-table tbody {\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-docum-link {\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .app-account-block {\\r\\n min-width: 410px;\\r\\n width: 460px;\\r\\n height: 600px;\\r\\n }\\r\\n\\r\\n .app-docum-table th:nth-child(1), .app-docum-table td:nth-child(1) {\\r\\n width: 420px;\\r\\n }\\r\\n .app-docum-table th:nth-child(2), .app-docum-table td:nth-child(2) {\\r\\n width: 200px;\\r\\n }\\r\\n .app-docum-table th:nth-child(3), .app-docum-table td:nth-child(3) {\\r\\n width: 220px;\\r\\n }\\r\\n .app-docum-table th:nth-child(4), .app-docum-table td:nth-child(4) {\\r\\n width: 0px;\\r\\n }\\r\\n\\r\\n}\\r\\n@media screen and (min-width: 1000px), screen and (min-width: 690px) {\\r\\n .app-account-block:nth-child(1),\\r\\n .app-account-block:nth-child(3),\\r\\n .app-account-block:nth-child(5),\\r\\n .app-account-block:nth-child(7) {\\r\\n margin-right: 16px;\\r\\n }\\r\\n .app-account-block:nth-child(2),\\r\\n .app-account-block:nth-child(4),\\r\\n .app-account-block:nth-child(6){\\r\\n margin-right: 0px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 1490px) {\\r\\n .app-account-block:nth-child(1),\\r\\n .app-account-block:nth-child(2),\\r\\n .app-account-block:nth-child(4),\\r\\n .app-account-block:nth-child(5) {\\r\\n margin-right: 16px;\\r\\n }\\r\\n\\r\\n .app-account-block:nth-child(3),\\r\\n .app-account-block:nth-child(7) {\\r\\n margin-right: 0px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-account-block:nth-child(1),\\r\\n .app-account-block:nth-child(3),\\r\\n .app-account-block:nth-child(5),\\r\\n .app-account-block:nth-child(7) {\\r\\n margin-right: 16px;\\r\\n }\\r\\n .app-account-block:nth-child(2),\\r\\n .app-account-block:nth-child(4),\\r\\n .app-account-block:nth-child(6){\\r\\n margin-right: 0px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 1900px) {\\r\\n .app-account-block:nth-child(1),\\r\\n .app-account-block:nth-child(2),\\r\\n .app-account-block:nth-child(4),\\r\\n .app-account-block:nth-child(5) {\\r\\n margin-right: 16px;\\r\\n }\\r\\n\\r\\n .app-account-block:nth-child(3),\\r\\n .app-account-block:nth-child(7) {\\r\\n margin-right: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9kb2dvdm9yLWluZm8vZG9nb3Zvci1pbmZvLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSx1QkFBdUI7QUFDM0I7QUFFQTtJQUNJLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCO0FBRUE7SUFDSSxjQUFjO0FBQ2xCO0FBRUE7SUFDSSxjQUFjO0FBQ2xCO0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCO0FBRUE7SUFDSSxXQUFXO0lBQ1gsbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxjQUFjO0FBQ2xCO0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjtBQUVBO0lBQ0ksY0FBYztBQUNsQjtBQUVBO0lBQ0ksY0FBYztBQUNsQjtBQUNBO0lBQ0ksb0JBQW9CO0FBQ3hCO0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLG1CQUFtQjtBQUN2QjtBQUVBO0lBQ0ksY0FBYztBQUNsQjtBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxhQUFhO0lBQ2IsY0FBYztJQUNkLG9CQUFvQjtFQUN0QixtQ0FBbUM7QUFDckM7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksa0JBQWtCO0FBQ3RCO0FBRUE7SUFDSSxVQUFVO0FBQ2Q7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksZUFBZTtRQUNmLHNCQUFzQjtJQUMxQjtJQUNBO1FBQ0ksWUFBWTtRQUNaLFlB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YXBwL2NvbXBvbmVudHMvZG9nb3Zvci1pbmZvL2RvZ292b3ItaW5mby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1ibG9jay1wYW5lbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5hcHAtYmxvY2sge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5hcHAtYmxvY2staWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuLmFwcC1ibG9jay1oZWFkZXIge1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcbi5hcHAtZG9nLXBhcmFtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uYXBwLWRvZy1wYXJhbS1uYW1lIHtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG59XHJcblxyXG4uYXBwLWRvZy1wYXJhbS12YWx1ZSB7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxufVxyXG5cclxuLmFwcC1kb2N1bS1ibG9jayB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYXBwLWRvY3VtLXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDRweDtcclxufVxyXG5cclxuLmFwcC1kb2N1bS10YWJsZSB0Ym9keSwgLmFwcC1kb2N1bS10YWJsZSB0aGVhZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmFwcC1kb2N1bS10YWJsZSB0Ym9keSAge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgaGVpZ2h0OiAxMzBweDtcclxufVxyXG5cclxuLmFwcC1kb2N1bS10YWJsZSB0aGVhZCB7XHJcbiAgICBjb2xvcjogIzgyODI4MjtcclxufVxyXG5cclxuLmFwcC1kb2N1bS10YWJsZSB0Ym9keSB7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxufVxyXG4uYXBwLWRvY3VtLXRhYmxlIHRkIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWRvY3VtLWxpbmstcGFuZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uYXBwLWRvY3VtLWxpbmsge1xyXG4gICAgY29sb3I6ICMyRjgwRUQ7XHJcbn1cclxuXHJcbi5hcHAtYWNjb3VudC1ibG9jayB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4uYXBwLWJvZHktYm90dG9tIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG4gIC8qICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjsqL1xyXG59XHJcblxyXG4uYXBwLW5vLWRhdGEge1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uYXBwLW5vLWRhdGEgaW1nIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhOjotd2Via2l0LXNjcm9sbGJhciwgLmFwcC1kb2N1bS10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDhweDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhOjotd2Via2l0LXNjcm9sbGJhci10cmFjaywgLmFwcC1kb2N1bS10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M0QzRDNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtbm8tZGF0YTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5hcHAtZG9jdW0tdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iICB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkY4MEVEO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwcHgpIHtcclxuICAgIC5hcHAtYmxvY2sge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWJsb2NrLXBhbmVsIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5hcHAtZG9nLWJsb2NrIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLWJsb2NrIHtcclxuICAgICAgICB3aWR0aDogMzQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1ibG9jay1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0ZDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlLWZpcnN0LWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtZG9nLXBhcmFte1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGhlYWQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGJvZHkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tbGluayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrIHtcclxuICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1uby1kYXRhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDk0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCgxKSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoMiksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDQpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoMSksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoNCksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLWJsb2NrIHtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1ibG9jay1wYW5lbCB7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5hcHAtZG9nLWJsb2NrIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtaW4td2lkdGg6IDQ2M3B4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0ZDpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlLWZpcnN0LWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1ibG9jay1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2ctcGFyYW17XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGhlYWQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGJvZHkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tbGluayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQxMHB4O1xyXG4gICAgICAgIHdpZHRoOiA0NzJweDtcclxuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1uby1kYXRhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2MnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoMSksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB3aWR0aDogNjUlO1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoMiksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoNCksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4gICAgLmFwcC1ibG9jayB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweDtcclxuICAgIH1cclxuICAgIC5hcHAtYmxvY2stcGFuZWwge1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvZy1ibG9jayB7XHJcbiAgICAgICAgaGVpZ2h0OiAyOTlweDtcclxuICAgICAgICB3aWR0aDogNDYwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0NjBweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogOTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyOTlweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRkOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZS1maXJzdC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA0NjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWJsb2NrLWhlYWRlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvZy1wYXJhbXtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRoZWFkIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRib2R5IHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLWxpbmsge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2sge1xyXG4gICAgICAgIG1pbi13aWR0aDogNDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ2MHB4O1xyXG4gICAgICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoMSksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB3aWR0aDogNDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvY3VtLXRhYmxlIHRoOm50aC1jaGlsZCgyKSwgLmFwcC1kb2N1bS10YWJsZSB0ZDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jdW0tdGFibGUgdGg6bnRoLWNoaWxkKDMpLCAuYXBwLWRvY3VtLXRhYmxlIHRkOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2N1bS10YWJsZSB0aDpudGgtY2hpbGQoNCksIC5hcHAtZG9jdW0tdGFibGUgdGQ6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICB3aWR0aDogMHB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OTBweCkge1xyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCgxKSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoMyksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDUpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCgyKSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoNCksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDYpe1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDkwcHgpIHtcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoMSksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDIpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg0KSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDMpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCgxKSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoMyksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDUpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCgyKSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoNCksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDYpe1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTAwcHgpIHtcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoMSksXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDIpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg0KSxcclxuICAgIC5hcHAtYWNjb3VudC1ibG9jazpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWFjY291bnQtYmxvY2s6bnRoLWNoaWxkKDMpLFxyXG4gICAgLmFwcC1hY2NvdW50LWJsb2NrOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { OnInit } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IAccount } from '../../models/IAccount';\r\nimport { ICalcDoc } from '../../models/ICalcDoc';\r\nimport { IDogovor } from '../../models/IDogvor';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { CalcDocService } from '../../services/calc-doc.service';\r\nimport { DogovorService } from '../../services/dogovor.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-dogovor-info',\r\n templateUrl: 'dogovor-info.component.html',\r\n styleUrls: ['./dogovor-info.component.css']\r\n})\r\n/** Контроллер краткой информации по договору */\r\nexport class DogovorInfoComponent implements OnInit {\r\n /** Документы основания */\r\n public calcDocs: ICalcDoc[];\r\n /** Лицевые счета */\r\n public accounts: IAccount[];\r\n /** Договор */\r\n public dogovor: IDogovor;\r\n /** Признак процесса загрузки договора */\r\n public isLoadDogovor: boolean = true;\r\n /** Ошибка по документам-основаниям */\r\n public calcDocsError: string;\r\n /** Ошибка по лицевым счетам */\r\n public accountsError: string;\r\n /** Ошибка по договорам */\r\n public dogovorError: string;\r\n /** Идентификиатор договора */\r\n private dogId: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param router Модуль маршрутизации\r\n * @param accountService Сервис лицевых счетов\r\n * @param calcDocService Сервис документов оснований\r\n * @param dogovorService Сервис договоров\r\n */\r\n constructor(\r\n protected route: ActivatedRoute,\r\n private accountService: AccountService,\r\n private calcDocService: CalcDocService,\r\n private dogovorService: DogovorService) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.dogId = this.route.snapshot.queryParams.dogId;\r\n this.calcDocService.get(this.dogId, false).subscribe(\r\n (calcDocs) => {\r\n this.calcDocs = calcDocs.sort((a, b) =>\r\n new Date(b.DateStart).getTime() - new Date(a.DateStart).getTime());\r\n this.calcDocsError = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.calcDocsError = UtilsService.getErrorText(error);\r\n }\r\n );\r\n this.accountService.getAccountListByDog(this.dogId).subscribe(\r\n (accounts) => {\r\n this.accounts = accounts;\r\n this.accountsError = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.accountsError = UtilsService.getErrorText(error);\r\n }\r\n );\r\n this.dogovorService.get(this.dogId).subscribe(\r\n (dogovor) => {\r\n this.dogovor = dogovor;\r\n this.dogovorError = null;\r\n this.isLoadDogovor = false;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.dogovorError = UtilsService.getErrorText(error);\r\n this.isLoadDogovor = false;\r\n }\r\n );\r\n }\r\n}\r\n","export default \".app-content {\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n height: 446px;\\r\\n}\\r\\n\\r\\n.app-content.app-content-loaded-acc.app-content-red {\\r\\n border: 3px solid #F7B7B7;\\r\\n box-shadow: 0px 2px 2px rgba(255, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.app-content.app-content-blue.app-content-loaded-acc {\\r\\n border: 3px solid #8DBEFF;\\r\\n box-shadow: 0px 2px 2px #2F80ED;\\r\\n}\\r\\n\\r\\n.app-header {\\r\\n display: flex;\\r\\n padding: 24px;\\r\\n padding-bottom: 0px;\\r\\n align-items: center;\\r\\n margin-bottom: 16px;\\r\\n}\\r\\n\\r\\n.app-header-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #333333;\\r\\n margin-left: 10px;\\r\\n width: 70px;\\r\\n}\\r\\n\\r\\n.app-header-dogNo {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n margin-left: 10px;\\r\\n width: 205px;\\r\\n}\\r\\n\\r\\n.app-header-date {\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n color: #4F4F4F;\\r\\n width: 123px;\\r\\n}\\r\\n\\r\\n.app-toolbar-right {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.app-dog-param {\\r\\n margin-left: 24px;\\r\\n margin-bottom: 16px;\\r\\n}\\r\\n\\r\\n.app-dog-param-last {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.app-dog-param-name {\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n color: #828282;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.app-dog-param-value {\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-obj-grid {\\r\\n margin-right: 20px;\\r\\n margin-left: 20px;\\r\\n height: 148px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.app-obj-table {\\r\\n table-layout: fixed;\\r\\n margin-right: 21px;\\r\\n margin-left: 24px;\\r\\n height: 148px;\\r\\n}\\r\\n\\r\\n.app-obj-table tbody {\\r\\n display: block;\\r\\n height: 108px;\\r\\n overflow: hidden;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\nthead {\\r\\n display: table;\\r\\n table-layout: fixed;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.app-obj-table th,\\r\\ntd {\\r\\n border: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-table-header th {\\r\\n position: relative;\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #828282;\\r\\n font-weight: unset;\\r\\n text-align: center;\\r\\n padding: 12px 16px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-table-column td div {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n padding: 10px 16px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-table-column td {\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.app-scroll-table-header,\\r\\n.app-scroll-table-column {\\r\\n width: 13px;\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n.app-grabber {\\r\\n content: '';\\r\\n background: none;\\r\\n position: absolute;\\r\\n display: block;\\r\\n width: 8px;\\r\\n right: 0px;\\r\\n top: 0;\\r\\n height: 100%;\\r\\n width: 8px;\\r\\n cursor: ew-resize;\\r\\n}\\r\\n\\r\\n.app-grabber-right {\\r\\n right: 0px;\\r\\n}\\r\\n\\r\\n.app-grabber-left {\\r\\n left: 0px;\\r\\n}\\r\\n\\r\\n.app-obj-table tbody::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n border-radius: 5px;\\r\\n background-color: #E0E0E0;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.app-obj-table tbody::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n background-color: #E0E0E0;\\r\\n ;\\r\\n}\\r\\n\\r\\n.app-obj-table tbody::-webkit-scrollbar-thumb {\\r\\n border-radius: 5px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\\r\\n background-color: #2F80ED;\\r\\n ;\\r\\n}\\r\\n\\r\\n.app-buttons {\\r\\n display: flex;\\r\\n margin-top: 16px;\\r\\n margin-left: 24px;\\r\\n margin-bottom: 20px;\\r\\n justify-content: flex-start;\\r\\n}\\r\\n\\r\\n.app-buttons button {\\r\\n margin-right: 10px;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n padding-left: 16px;\\r\\n padding-right: 16px;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.app-short-dogovor-objects {\\r\\n height: 148px;\\r\\n padding-left: 24px;\\r\\n padding-right: 24px;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-family: Roboto;\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n margin-top: 150px;\\r\\n margin-left: 212px;\\r\\n}\\r\\n\\r\\n.app-no-data img {\\r\\n margin-right: 10px;\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.app-mobile-vision {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.app-header-text-block {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n@media (min-width: 1600px) {\\r\\n .app-obj-table {\\r\\n min-width: 532px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-content {\\r\\n height: 100%;\\r\\n }\\r\\n .app-header-dogNo {\\r\\n width: 560px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 160px;\\r\\n margin-left: 385px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-content {\\r\\n min-height: 492px;\\r\\n }\\r\\n .app-header {\\r\\n padding: 20px;\\r\\n padding-bottom: 0px;\\r\\n }\\r\\n .app-header-img {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n }\\r\\n .app-header-text-block {\\r\\n display: inline;\\r\\n }\\r\\n .app-header-text {\\r\\n font-weight: bold;\\r\\n }\\r\\n .app-header-dogNo {\\r\\n width: 205px;\\r\\n font-weight: bold;\\r\\n }\\r\\n .app-pc-vision {\\r\\n display: none;\\r\\n }\\r\\n .app-mobile-vision {\\r\\n display: flex;\\r\\n }\\r\\n .app-dog-param {\\r\\n margin-left: 20px;\\r\\n margin-bottom: 12px;\\r\\n }\\r\\n .app-dog-param-name {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-dog-param-value {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n margin-right: 20px;\\r\\n }\\r\\n .app-buttons button {\\r\\n margin-right: 8px;\\r\\n padding-top: 7px;\\r\\n padding-bottom: 7px;\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n }\\r\\n .app-buttons {\\r\\n font-family: Roboto;\\r\\n margin-top: 21px;\\r\\n margin-left: 20px;\\r\\n margin-bottom: 0px;\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n .app-button-pay {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n width: 95px;\\r\\n height: 30px;\\r\\n }\\r\\n .app-button-revise-act {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n width: 177px;\\r\\n height: 30px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 160px;\\r\\n margin-left: 75px;\\r\\n }\\r\\n .app-no-data img {\\r\\n display: none;\\r\\n }\\r\\n .app-obj-table tbody {\\r\\n height: 150px;\\r\\n }\\r\\n .app-table-header th {\\r\\n font-size: 12px;\\r\\n line-height: 14px;\\r\\n padding: 8px 10px;\\r\\n }\\r\\n .app-table-column td div {\\r\\n font-size: 12px;\\r\\n line-height: 14px;\\r\\n padding: 8px 10px;\\r\\n }\\r\\n .app-obj-table {\\r\\n margin-left: 20px;\\r\\n height: 180px;\\r\\n min-width: 271px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9kb2dvdm9yLXNob3J0L2RvZ292b3Itc2hvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6Qiw2Q0FBNkM7QUFDakQ7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsV0FBVztBQUNmOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1C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SUFDQTtRQUNJLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsa0JBQWtCO0lBQ3RCO0lBQ0E7UUFDSSxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxZQUFZO1FBQ1osZUFBZTtJQUNuQjtJQUNBO1FBQ0ksbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtJQUN4QjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osWUFBWTtJQUNoQjtJQUNBO1FBQ0ksaUJBQWlCO1FBQ2pCLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7SUFDckI7SUFDQTtRQUNJLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO0lBQ3JCO0lBQ0E7UUFDSSxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtJQUNwQjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9kb2dvdm9yLXNob3J0L2RvZ292b3Itc2hvcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGhlaWdodDogNDQ2cHg7XHJcbn1cclxuXHJcbi5hcHAtY29udGVudC5hcHAtY29udGVudC1sb2FkZWQtYWNjLmFwcC1jb250ZW50LXJlZCB7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjRjdCN0I3O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgyNTUsIDAsIDAsIDAuMjUpO1xyXG59XHJcblxyXG4uYXBwLWNvbnRlbnQuYXBwLWNvbnRlbnQtYmx1ZS5hcHAtY29udGVudC1sb2FkZWQtYWNjIHtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICM4REJFRkY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCAjMkY4MEVEO1xyXG59XHJcblxyXG4uYXBwLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjRweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG5cclxuLmFwcC1oZWFkZXItaW1nIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG59XHJcblxyXG4uYXBwLWhlYWRlci10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyLWRvZ05vIHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB3aWR0aDogMjA1cHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyLWRhdGUge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbiAgICB3aWR0aDogMTIzcHg7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLmFwcC1kb2ctcGFyYW0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4uYXBwLWRvZy1wYXJhbS1sYXN0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmFwcC1kb2ctcGFyYW0tbmFtZSB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjODI4MjgyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWRvZy1wYXJhbS12YWx1ZSB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjNEY0RjRGO1xyXG59XHJcblxyXG4uYXBwLW9iai1ncmlkIHtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAxNDhweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5hcHAtb2JqLXRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgIGhlaWdodDogMTQ4cHg7XHJcbn1cclxuXHJcbi5hcHAtb2JqLXRhYmxlIHRib2R5IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDhweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG50aGVhZCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uYXBwLW9iai10YWJsZSB0aCxcclxudGQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UwRTBFMDtcclxufVxyXG5cclxuLmFwcC10YWJsZS1oZWFkZXIgdGgge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBmb250LXdlaWdodDogdW5zZXQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uYXBwLXRhYmxlLWNvbHVtbiB0ZCBkaXYge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmFwcC10YWJsZS1jb2x1bW4gdGQge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuXHJcbi5hcHAtc2Nyb2xsLXRhYmxlLWhlYWRlcixcclxuLmFwcC1zY3JvbGwtdGFibGUtY29sdW1uIHtcclxuICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtZ3JhYmJlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGN1cnNvcjogZXctcmVzaXplO1xyXG59XHJcblxyXG4uYXBwLWdyYWJiZXItcmlnaHQge1xyXG4gICAgcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmFwcC1ncmFiYmVyLWxlZnQge1xyXG4gICAgbGVmdDogMHB4O1xyXG59XHJcblxyXG4uYXBwLW9iai10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmFwcC1vYmotdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xyXG4gICAgO1xyXG59XHJcblxyXG4uYXBwLW9iai10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgLjMpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJGODBFRDtcclxuICAgIDtcclxufVxyXG5cclxuLmFwcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbnMgYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtc2hvcnQtZG9nb3Zvci1vYmplY3RzIHtcclxuICAgIGhlaWdodDogMTQ4cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4uYXBwLW5vLWRhdGEge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG4gICAgY29sb3I6ICNCREJEQkQ7XHJcbiAgICBtYXJnaW4tdG9wOiAxNTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMTJweDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhIGltZyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbi5hcHAtbW9iaWxlLXZpc2lvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uYXBwLWhlYWRlci10ZXh0LWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgIC5hcHAtb2JqLXRhYmxlIHtcclxuICAgICAgICBtaW4td2lkdGg6IDUzMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTIyNHB4KSB7XHJcbiAgICAuYXBwLWNvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIC5hcHAtaGVhZGVyLWRvZ05vIHtcclxuICAgICAgICB3aWR0aDogNTYwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5vLWRhdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzODVweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLWNvbnRlbnQge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ5MnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5hcHAtaGVhZGVyLWltZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXItdGV4dC1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG4gICAgLmFwcC1oZWFkZXItdGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgICAuYXBwLWhlYWRlci1kb2dObyB7XHJcbiAgICAgICAgd2lkdGg6IDIwNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgLmFwcC1wYy12aXNpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYXBwLW1vYmlsZS12aXNpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvZy1wYXJhbSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9nLXBhcmFtLW5hbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9nLXBhcmFtLXZhbHVlIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b25zIGJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b25zIHtcclxuICAgICAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIxcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b24tcGF5IHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDk1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1idXR0b24tcmV2aXNlLWFjdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNzdweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5vLWRhdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3NXB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1uby1kYXRhIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtb2JqLXRhYmxlIHRib2R5IHtcclxuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC10YWJsZS1oZWFkZXIgdGgge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtdGFibGUtY29sdW1uIHRkIGRpdiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1vYmotdGFibGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNzFweDtcclxuICAgIH1cclxufSJdfQ== */\"","import { OnInit, Input, SimpleChanges, OnChanges, Renderer2, ElementRef, HostListener } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { IAccount } from \"../../models/IAccount\";\r\nimport { ObjectService } from \"../../services/object.service\";\r\nimport { IObject } from \"../../models/IObject\";\r\nimport { fromEvent } from 'rxjs/observable/fromEvent';\r\nimport 'rxjs/add/operator/switchMap';\r\nimport 'rxjs/add/operator/takeUntil';\r\nimport { Subject, Observable, interval } from \"rxjs\";\r\nimport { throttle } from \"rxjs/operators\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ReviseActComponent } from \"../revise-act/revise-act.component\";\r\nimport { PayComponent } from \"../pay/pay.component\";\r\nimport {UtilsService} from \"../../services/utils.service\";\r\n\r\n@Component({\r\n selector: 'app-dogovor-short',\r\n templateUrl: 'dogovor-short.component.html',\r\n styleUrls: ['./dogovor-short.component.css']\r\n})\r\n/** Контроллер краткой информации по договору */\r\nexport class DogovorShortComponent implements OnInit, OnChanges {\r\n\r\n /** Лицевой счет */\r\n @Input()\r\n public account: IAccount;\r\n\r\n /** true - используется в списке договоров, false - используется на главной странице */\r\n @Input()\r\n public useInListDogovors = false;\r\n\r\n /** Объекты */\r\n public objectList: IObject[] = [];\r\n /** Ширина столбца наименования */\r\n public widthName: number;\r\n /** Ширина столбца адреса */\r\n public widthAddress: number;\r\n /** Ширина столбца площади */\r\n public widthPl: number;\r\n\r\n /** Предыдущее положение мышки по горизонатле */\r\n private oldMouseX: any;\r\n /** Событие движения мышки */\r\n private mousemove$: any;\r\n /** Событие отжатия кнопки мыши */\r\n private mouseup$;\r\n\r\n /** События нажатия на ползунок столбца */\r\n private mousedownNameLeft$: any;\r\n private mousedownNameRight$: any;\r\n private mousedownPlRight$: any;\r\n private mousedownPlLeft$: any;\r\n /** Подписка на слежение удерживания ползунка */\r\n private _subHoldRightNameGrabber: any;\r\n private _subHoldLeftNameGrabber: any;\r\n private _subHoldRightPlGrabber: any;\r\n private _subHoldLeftPlGrabber: any;\r\n\r\n /**\r\n * Режим экрана\r\n * 1 - 1920х1080\r\n * 2 - 1024х768\r\n * 3 - 640х360\r\n */\r\n private screenMode: number = 0;\r\n\r\n /** для throttle событий изменения экрана */\r\n private windowChanged: Subject = new Subject();\r\n private windowChangeThrottled: Observable;\r\n\r\n /** Последняя ошибка запроса к серверу */\r\n @Input()\r\n public error: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param objectService Сервис работы с объектами\r\n */\r\n constructor(\r\n public renderer: Renderer2,\r\n private objectService: ObjectService,\r\n private _el: ElementRef,\r\n public dialog: MatDialog) {\r\n }\r\n\r\n /** При изменении входных данных */\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.account && changes.account.currentValue) {\r\n this.objectService.get(changes.account.currentValue.DogovorId).subscribe(\r\n (objects) => {\r\n this.objectList = objects;\r\n this.error = null;\r\n }, (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n\r\n if (!this._subHoldRightNameGrabber) {\r\n this.initGrabbers()\r\n }\r\n }\r\n }\r\n\r\n\r\n /** При создании объекта */\r\n ngOnInit(): void {\r\n this.windowChangeThrottled = this.windowChanged.pipe(throttle(val => interval(500)));\r\n this.windowChangeThrottled.subscribe(() => {\r\n this.handleResize();\r\n });\r\n this.handleResize();\r\n }\r\n\r\n /** Событие изменения размера экрана */\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.windowChanged.next();\r\n }\r\n\r\n /**\r\n * Открытие окна акта сверки\r\n * @param elementAttr Атрибут элемента для которого открываем справочник\r\n */\r\n public openReviseActDialog(event) {\r\n const dialogRef = this.dialog.open(ReviseActComponent, {\r\n panelClass: 'app-dialog-container',\r\n data: {\r\n account: this.account,\r\n mouseX: event.x,\r\n mouseY: event.y\r\n }\r\n });\r\n }\r\n\r\n /** Открыть компонент оплаты */\r\n public openPayDialog() {\r\n const dialogRef = this.dialog.open(PayComponent, {\r\n panelClass: 'app-dialog-container', \r\n data: {\r\n account: this.account,\r\n sumToPay: this.account.Debt\r\n }\r\n });\r\n }\r\n\r\n /** Получить стиль рамки для информирования о задолженностях */\r\n public getContentBorderStyle(): string {\r\n if (this.useInListDogovors) {\r\n return '';\r\n } else if (this.account && this.account.Debt > 0) {\r\n return 'app-content-red';\r\n } else {\r\n return 'app-content-blue';\r\n }\r\n }\r\n\r\n /**\r\n * Получить высоту блока в зависимости от места применения этого блока и режима экрана\r\n * @returns {any}\r\n */\r\n public getContentHeight(): string {\r\n if ( ! this.useInListDogovors && (this.screenMode === 1 || this.screenMode == 2)) {\r\n return '446px';\r\n }\r\n return 'auto';\r\n }\r\n\r\n /** Инициализация ползунков растягивания колонок */\r\n private initGrabbers() {\r\n let grabberNameRight = this.renderer.selectRootElement('#grabber-name-right');\r\n this.mousedownNameRight$ = fromEvent(grabberNameRight, 'mousedown');\r\n this.mousedownNameRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberNameLeft = this.renderer.selectRootElement('#grabber-name-left');\r\n this.mousedownNameLeft$ = fromEvent(grabberNameLeft, 'mousedown');\r\n this.mousedownNameLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberPlRight = this.renderer.selectRootElement('#grabber-pl-right');\r\n this.mousedownPlRight$ = fromEvent(grabberPlRight, 'mousedown');\r\n this.mousedownPlRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n\r\n let grabberPlLeft = this.renderer.selectRootElement('#grabber-pl-left');\r\n this.mousedownPlLeft$ = fromEvent(grabberPlLeft, 'mousedown');\r\n this.mousedownPlLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n\r\n this.mousemove$ = fromEvent(this._el.nativeElement, 'mousemove');\r\n this.mouseup$ = fromEvent(this._el.nativeElement, 'mouseup');\r\n this.mouseup$.subscribe(() => {\r\n this.unsubGrabbers();\r\n this.registerGrabbers();\r\n });\r\n\r\n this.registerGrabbers();\r\n }\r\n\r\n /** Отписка от прослушки движения мышки при расширении столбцов */\r\n private unsubGrabbers() {\r\n if (this._subHoldRightNameGrabber) {\r\n this._subHoldRightNameGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftNameGrabber) {\r\n this._subHoldLeftNameGrabber.unsubscribe();\r\n }\r\n if (this._subHoldRightPlGrabber) {\r\n this._subHoldRightPlGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftPlGrabber) {\r\n this._subHoldLeftPlGrabber.unsubscribe();\r\n }\r\n }\r\n\r\n /** Подписываемся на ползунки расширения колонок */\r\n private registerGrabbers() {\r\n // switchMap is extremely helpful\r\n // map source observable to inner observable. remember it as switch to new observable.\r\n let mouseholdRight$ = this.mousedownNameRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdLeft$ = this.mousedownNameLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdPlRight$ = this.mousedownPlRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdPlLeft$ = this.mousedownPlLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n\r\n this._subHoldRightNameGrabber = mouseholdRight$.subscribe((e) => {\r\n this.onMoveNameGrabber(e);\r\n })\r\n this._subHoldLeftNameGrabber = mouseholdLeft$.subscribe((e) => {\r\n this.onMoveNameGrabber(e);\r\n })\r\n\r\n this._subHoldRightPlGrabber = mouseholdPlRight$.subscribe((e) => {\r\n this.onMovePlGrabber(e);\r\n })\r\n this._subHoldLeftPlGrabber = mouseholdPlLeft$.subscribe((e) => {\r\n this.onMovePlGrabber(e);\r\n })\r\n }\r\n\r\n /** РАсчет ширины столбцов при изменении размера столбца наименования */\r\n private onMoveNameGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n if (this.widthName + diff < 33) {\r\n this.widthName = 33;\r\n return;\r\n }\r\n this.widthName = this.widthName + diff;\r\n if (this.widthAddress - diff >= 33) {\r\n this.widthAddress = this.widthAddress - diff;\r\n } else if (this.widthPl - diff >= 33) {\r\n this.widthPl = this.widthPl - diff;\r\n } else {\r\n this.widthName = this.widthName - diff;\r\n }\r\n }\r\n }\r\n\r\n /** РАсчет ширины столбцов при изменении размера столбца площади */\r\n private onMovePlGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n if (this.widthPl - diff < 33) {\r\n this.widthPl = 33;\r\n return;\r\n }\r\n this.widthPl = this.widthPl - diff;\r\n if (this.widthAddress + diff >= 33) {\r\n this.widthAddress = this.widthAddress + diff;\r\n } else if (this.widthName + diff >= 33) {\r\n this.widthName = this.widthName + diff;\r\n } else {\r\n this.widthPl = this.widthPl + diff;\r\n }\r\n }\r\n }\r\n\r\n /** Обработать изменение экрана */\r\n private handleResize(): void {\r\n if (this.useInListDogovors) {\r\n if (window.innerWidth < 900 ) {\r\n if (this.screenMode !== 3) {\r\n this.screenMode = 3;\r\n }\r\n this.widthName = (window.innerWidth - 120) / 2.61;\r\n this.widthAddress = (window.innerWidth - 120) / 2.9;\r\n this.widthPl = (window.innerWidth - 120) / 3.67;\r\n } else if (window.innerWidth > 900 && window.innerWidth < 1600 ) {\r\n if (this.screenMode !== 2) {\r\n this.screenMode = 2;\r\n }\r\n this.widthName = (window.innerWidth - 170) / 2.61;\r\n this.widthAddress = (window.innerWidth - 170) / 2.9;\r\n this.widthPl = (window.innerWidth - 170) / 3.67;\r\n } else if (window.innerWidth > 1600 ) {\r\n if (this.screenMode !== 1) {\r\n this.screenMode = 1;\r\n }\r\n this.widthName = 190;\r\n this.widthAddress = 170;\r\n this.widthPl = 132;\r\n }\r\n } else {\r\n if (window.innerWidth < 900 && this.screenMode !== 3) {\r\n this.screenMode = 3;\r\n this.widthName = 90;\r\n this.widthAddress = 100;\r\n this.widthPl = 60;\r\n } else if (window.innerWidth > 900 && window.innerWidth <= 1224 && this.screenMode !== 2) {\r\n this.screenMode = 2;\r\n this.widthName = 300;\r\n this.widthAddress = 380;\r\n this.widthPl = 157;\r\n } else if (window.innerWidth > 1224 && this.screenMode !== 1) {\r\n this.screenMode = 1;\r\n this.widthName = 190;\r\n this.widthAddress = 175;\r\n this.widthPl = 132;\r\n }\r\n }\r\n }\r\n}","export default \".app-content {\\r\\n height: 176px;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.app-bg-img {\\r\\n position: absolute;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n z-index: 1;\\r\\n opacity: 10%;\\r\\n margin-top: 66px;\\r\\n margin-left: 237px;\\r\\n}\\r\\n\\r\\n.app-params {\\r\\n padding: 24px;\\r\\n}\\r\\n\\r\\n.app-last-pay-param {\\r\\n display: flex;\\r\\n padding-bottom: 12px;\\r\\n}\\r\\n\\r\\n.app-last-pay-param-name {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #828282;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-last-pay-param-value {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #4F4F4F;\\r\\n padding-left: 10px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-family: Roboto;\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n padding-top: 71px;\\r\\n padding-left: 93px;\\r\\n}\\r\\n\\r\\n.app-error-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n padding-top: 20px;\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n.pay-in-process-div {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.pay-in-process-img {\\r\\n position: absolute;\\r\\n right: -12px;\\r\\n top: -12px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-no-data {\\r\\n padding-left: 158px;\\r\\n }\\r\\n .app-bg-img {\\r\\n margin-left: 366px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-no-data {\\r\\n padding-left: 88px;\\r\\n }\\r\\n .app-bg-img {\\r\\n margin-left: 234px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sYXN0LXBheS1pbmZvL2xhc3QtcGF5LWluZm8uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osYUFBYTtJQUNiLFVBQVU7SUFDVixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFVBQVU7SUFDVixlQUFlO0FBQ25COztBQUVBO0lBQ0k7UUFDSSxtQkFBbUI7SUFDdkI7SUFDQTtRQUNJLGtCQUFrQjtJQUN0QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxrQkFBa0I7SUFDdEI7SUFDQTtRQUNJLGtCQUFrQjtJQUN0QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sYXN0LXBheS1pbmZvL2xhc3QtcGF5LWluZm8uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDE3NnB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG59XHJcblxyXG4uYXBwLWJnLWltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG9wYWNpdHk6IDEwJTtcclxuICAgIG1hcmdpbi10b3A6IDY2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjM3cHg7XHJcbn1cclxuXHJcbi5hcHAtcGFyYW1zIHtcclxuICAgIHBhZGRpbmc6IDI0cHg7XHJcbn1cclxuXHJcbi5hcHAtbGFzdC1wYXktcGFyYW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4uYXBwLWxhc3QtcGF5LXBhcmFtLW5hbWUge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uYXBwLWxhc3QtcGF5LXBhcmFtLXZhbHVlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIGNvbG9yOiAjNEY0RjRGO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgcGFkZGluZy10b3A6IDcxcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDkzcHg7XHJcbn1cclxuXHJcbi5hcHAtZXJyb3ItZGF0YSB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5wYXktaW4tcHJvY2Vzcy1kaXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucGF5LWluLXByb2Nlc3MtaW1nIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMTJweDtcclxuICAgIHRvcDogLTEycHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcclxuICAgIC5hcHAtbm8tZGF0YSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNThweDtcclxuICAgIH1cclxuICAgIC5hcHAtYmctaW1nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzY2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gICAgLmFwcC1uby1kYXRhIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDg4cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWJnLWltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzNHB4O1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IAccount } from '../../models/IAccount';\r\n\r\n@Component({\r\n selector: 'app-last-pay-info',\r\n templateUrl: 'last-pay-info.component.html',\r\n styleUrls: ['./last-pay-info.component.css']\r\n})\r\n/** Контроллер формы информации по последней оплате */\r\nexport class LastPayInfoComponent implements OnInit {\r\n\r\n /** Лицевой счет */\r\n @Input()\r\n public payInfo: IAccount;\r\n\r\n /** Последняя ошибка */\r\n @Input()\r\n public error: string;\r\n\r\n /** Признак процесса загрузки данных */\r\n @Input()\r\n public isLoad: boolean;\r\n\r\n /**\r\n * Конструктор\r\n */\r\n constructor() {\r\n }\r\n\r\n /** \r\n * Действия выполняемые при создании объекта\r\n */\r\n public ngOnInit() {\r\n }\r\n}\r\n","export default \".app-content {\\r\\n width: 1420px;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.app-header {\\r\\n height: 80px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n cursor: pointer;\\r\\n margin-bottom: 16px;\\r\\n padding: 24px;\\r\\n}\\r\\n\\r\\n.header-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n color: #333333;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.sub-header-text {\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.sub-header-text:hover {\\r\\n color: #2F80ED\\r\\n}\\r\\n\\r\\n.info-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n line-height: 28px;\\r\\n color: #333333;\\r\\n padding-left: 10px;\\r\\n min-width: 400px;\\r\\n}\\r\\n\\r\\n.app-toolbar-right {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.last-pay-info-list {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.last-info {\\r\\n margin-right: 0px !important;\\r\\n}\\r\\n\\r\\n.last-pay-info-list app-last-pay-info {\\r\\n width: 343px;\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.rotate-img {\\r\\n transform: rotate(180deg);\\r\\n}\\r\\n\\r\\n.last-pay-info-row {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-content {\\r\\n width: 960px;\\r\\n }\\r\\n .last-pay-info-list {\\r\\n display: inherit;\\r\\n }\\r\\n .last-pay-info-list app-last-pay-info {\\r\\n width: 472px;\\r\\n }\\r\\n .last-pay-info-row {\\r\\n margin-bottom: 16px;\\r\\n }\\r\\n .last-info-first-row {\\r\\n margin-right: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-content {\\r\\n width: 340px;\\r\\n }\\r\\n .header-img {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n margin-left: 20px;\\r\\n }\\r\\n .header-text {\\r\\n font-weight: normal;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n padding-left: 8px;\\r\\n }\\r\\n .app-header {\\r\\n height: 55px;\\r\\n cursor: pointer;\\r\\n margin-bottom: 16px;\\r\\n padding: 0px;\\r\\n }\\r\\n .last-pay-info-row {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .last-pay-info-list app-last-pay-info {\\r\\n width: 340px;\\r\\n margin-bottom: 12px;\\r\\n }\\r\\n .last-pay-info-row {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .close-arrow-img {\\r\\n width: 16.8px;\\r\\n height: 9.6px;\\r\\n margin-right: 12px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sYXN0LXBheS1saXN0L2xhc3QtcGF5LWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZUFBZTtBQUNuQjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtRQUNJLFlBQVk7SUFDaEI7SUFDQTtRQUNJLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSw0QkFBNEI7SUFDaEM7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksV0FBVztRQUNYLFlBQVk7UUFDWixpQkFBaUI7SUFDckI7SUFDQTtRQUNJLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksWUFBWTtRQUNaLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsWUFBWTtJQUNoQjtJQUNBO1FBQ0ksYUFBYTtRQUNiLHNCQUFzQjtJQUMxQjtJQUNBO1FBQ0ksWUFBWTtRQUNaLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksa0JBQWtCO0lBQ3RCO0lBQ0E7UUFDSSxhQUFhO1FBQ2IsYUFBYTtRQUNiLGtCQUFrQjtJQUN0QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sYXN0LXBheS1saXN0L2xhc3QtcGF5LWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtY29udGVudCB7XHJcbiAgICB3aWR0aDogMTQyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmFwcC1oZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBwYWRkaW5nOiAyNHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLWltZyB7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxufVxyXG5cclxuLnN1Yi1oZWFkZXItdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zdWItaGVhZGVyLXRleHQ6aG92ZXIge1xyXG4gICAgY29sb3I6ICMyRjgwRURcclxufVxyXG5cclxuLmluZm8tdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBtaW4td2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXItcmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi5sYXN0LXBheS1pbmZvLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmxhc3QtaW5mbyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGFzdC1wYXktaW5mby1saXN0IGFwcC1sYXN0LXBheS1pbmZvIHtcclxuICAgIHdpZHRoOiAzNDNweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxufVxyXG5cclxuLnJvdGF0ZS1pbWcge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxufVxyXG5cclxuLmxhc3QtcGF5LWluZm8tcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcclxuICAgIC5hcHAtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgfVxyXG4gICAgLmxhc3QtcGF5LWluZm8tbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgIH1cclxuICAgIC5sYXN0LXBheS1pbmZvLWxpc3QgYXBwLWxhc3QtcGF5LWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiA0NzJweDtcclxuICAgIH1cclxuICAgIC5sYXN0LXBheS1pbmZvLXJvdyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuICAgIC5sYXN0LWluZm8tZmlyc3Qtcm93IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgIC5hcHAtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1pbWcge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxuICAgIC5oZWFkZXItdGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWhlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuICAgIC5sYXN0LXBheS1pbmZvLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgLmxhc3QtcGF5LWluZm8tbGlzdCBhcHAtbGFzdC1wYXktaW5mbyB7XHJcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICB9XHJcbiAgICAubGFzdC1wYXktaW5mby1yb3cge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5jbG9zZS1hcnJvdy1pbWcge1xyXG4gICAgICAgIHdpZHRoOiAxNi44cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA5LjZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { IAccount } from '../../models/IAccount';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { AccountInfoAttrEnum } from '../../models/AccountInfoAttrEnum';\r\nimport {UtilsService} from \"../../services/utils.service\";\r\n\r\n\r\n@Component({\r\n selector: 'app-last-pay-list',\r\n templateUrl: 'last-pay-list.component.html',\r\n styleUrls: ['./last-pay-list.component.css']\r\n})\r\n/** Контроллер формы списка последних оплат */\r\nexport class LastPayListComponent implements OnInit {\r\n\r\n /** Последнии опалты */\r\n public paysInfo: IAccount [] = [];\r\n\r\n /** Признак отображения подробной информации */\r\n public isShowPays: boolean = true;\r\n\r\n /** Признак отображения подробной информации */\r\n public isShowInformationPays: boolean = false;\r\n\r\n /** Последняя ошибка запроса к серверу */\r\n public error: string;\r\n\r\n /** Признак процесса загрузки данных */\r\n public isLoad: boolean = true;\r\n\r\n /**\r\n * Конструктор\r\n * @param accountService Сервис лицевых счетов\r\n */\r\n constructor(\r\n private accountService: AccountService) {\r\n }\r\n\r\n /** \r\n * Действия выполняемые при создании объекта\r\n */\r\n public ngOnInit() {\r\n this.accountService.get(AccountInfoAttrEnum.LastPay).subscribe(\r\n (accs) => {\r\n this.paysInfo = accs.sort((a, b) => new Date(b.LastPayDate).getTime() - new Date(a.LastPayDate).getTime());\r\n this.error = null;\r\n this.isLoad = false;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n this.isLoad = false;\r\n });\r\n }\r\n\r\n /** При скрытии/раскрытии подробной информации о последних оплатах */\r\n public showHideClick() {\r\n this.isShowPays = !this.isShowPays;\r\n }\r\n\r\n /** При скрытии/раскрытии подсказки о недавних платежах */\r\n public showHideInformationClick(): void {\r\n this.isShowInformationPays = !this.isShowInformationPays;\r\n }\r\n}\r\n","export default \".app-content {\\r\\n background-color: white;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n height: 100%;\\r\\n /*width: 580px;*/\\r\\n padding: 24px;\\r\\n padding-right: 20px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.app-block-header {\\r\\n color: #333333;\\r\\n font-weight: 500;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n}\\r\\n\\r\\n.app-block-icon {\\r\\n margin-right: 10px;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n padding-top: 125px;\\r\\n text-align: center;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.app-documents-table tbody, .app-documents-table thead {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.app-documents-table tbody {\\r\\n overflow-y: scroll;\\r\\n height: 770px;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th {\\r\\n padding-bottom: 8px;\\r\\n font-weight: normal;\\r\\n color: #828282;\\r\\n border-bottom: 1px solid #828282;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n}\\r\\n\\r\\n.app-documents-table tbody {\\r\\n font-size: 18px;\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-documents-table {\\r\\n table-layout: fixed;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.app-documents-table-column td{\\r\\n padding-top: 16px;\\r\\n padding-bottom: 16px;\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-documents-table-column div {\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 3;\\r\\n -webkit-box-orient: vertical;\\r\\n max-height: 100px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th:nth-child(1), .app-documents-table-column td:nth-child(1) {\\r\\n width: 520px;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th:nth-child(2), .app-documents-table-column td:nth-child(2) {\\r\\n width: 221px;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th:nth-child(3), .app-documents-table-column td:nth-child(3) {\\r\\n width: 216px;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th:nth-child(4), .app-documents-table-column td:nth-child(4) {\\r\\n width: 217px;\\r\\n}\\r\\n\\r\\n.app-documents-table-header th:nth-child(6), .app-documents-table-column td:nth-child(6) {\\r\\n width: 20px;\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n/*.app-documents-table-header th:nth-child(5), .app-documents-table-column td:nth-child(5) {*/\\r\\n\\r\\n/*width: 160px;*/\\r\\n\\r\\n/*}*/\\r\\n\\r\\n.app-documents-table-header .app-empty-header {\\r\\n width: 20px;\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n.app-no-data::-webkit-scrollbar, .app-documents-table tbody::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n}\\r\\n\\r\\n.app-no-data::-webkit-scrollbar-track, .app-documents-table tbody::-webkit-scrollbar-track {\\r\\n background-color: #C4C4C4;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-no-data::-webkit-scrollbar-thumb, .app-documents-table tbody::-webkit-scrollbar-thumb {\\r\\n background-color: #2F80ED;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-entry-for-mobile {\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n padding: 20px;\\r\\n position: relative;\\r\\n margin-bottom: 16px;\\r\\n}\\r\\n\\r\\n.app-entry-for-mobile h3 {\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #333333;\\r\\n margin-bottom: 16px;\\r\\n z-index: 10;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.app-entry-for-mobile-value {\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #4F4F4F;\\r\\n margin-bottom: 24px;\\r\\n z-index: 10;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.last-value {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.app-bg-img {\\r\\n position: absolute;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-documents-table {\\r\\n display: none;\\r\\n }\\r\\n .app-block-header {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n\\r\\n .app-content {\\r\\n padding: 20px;\\r\\n }\\r\\n .app-entry-for-mobile {\\r\\n display: block;\\r\\n }\\r\\n .app-no-data {\\r\\n height: 400px;\\r\\n overflow-y: hidden;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 900px) {\\r\\n .app-documents-table {\\r\\n display: block;\\r\\n }\\r\\n .app-block-header {\\r\\n margin-bottom: 28px;\\r\\n }\\r\\n .app-content {\\r\\n padding: 24px;\\r\\n }\\r\\n .app-entry-for-mobile {\\r\\n display: none;\\r\\n }\\r\\n .app-no-data {\\r\\n height: 770px;\\r\\n overflow-y: scroll;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-content {\\r\\n height: 922px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9saXN0LWRvY3VtZW50cy9saXN0LWRvY3VtZW50cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksdUJBQXVCO0lBQ3ZCLDJDQUEyQztJQUMzQyxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGdDQUFnQztJQUNoQyxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1QixpQkFBaUI7SUFDakIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBQ0E7SUFDSSxZQUFZO0FBQ2hCOztBQUNBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBQ0EsNkZBQTZGOztBQUN6RixnQkFBZ0I7O0FBQ3BCLElBQUk7O0FBRUo7SUFDSSxXQUFXO0lBQ1gsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsa0JBQWtCO0FBQ3RCOztBQUNBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSTtRQUNJLGFBQWE7SUFDakI7SUFDQTtRQUNJLGtCQUFrQjtJQUN0Qjs7SUFFQTtRQUNJLGFBQWE7SUFDakI7SUFDQTtRQUNJLGNBQWM7SUFDbEI7SUFDQTtRQUNJLGFBQWE7UUFDYixrQkFBa0I7SUFDdEI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksY0FBYztJQUNsQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxhQUFhO1FBQ2Isa0JBQWtCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGFBQWE7SUFDakI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbGlzdC1kb2N1bWVudHMvbGlzdC1kb2N1bWVudHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvKndpZHRoOiA1ODBweDsqL1xyXG4gICAgcGFkZGluZzogMjRweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWJsb2NrLWhlYWRlciB7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG59XHJcbi5hcHAtYmxvY2staWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG4gICAgY29sb3I6ICNCREJEQkQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlIHRib2R5LCAuYXBwLWRvY3VtZW50cy10YWJsZSB0aGVhZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmFwcC1kb2N1bWVudHMtdGFibGUgdGJvZHkgIHtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGhlaWdodDogNzcwcHg7XHJcbn1cclxuXHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlLWhlYWRlciB0aCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjODI4MjgyO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MjgyODI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjFweDtcclxufVxyXG5cclxuLmFwcC1kb2N1bWVudHMtdGFibGUgdGJvZHkge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbn1cclxuXHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmFwcC1kb2N1bWVudHMtdGFibGUtY29sdW1uIHRke1xyXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTBFMEUwO1xyXG59XHJcblxyXG4uYXBwLWRvY3VtZW50cy10YWJsZS1jb2x1bW4gZGl2IHtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmFwcC1kb2N1bWVudHMtdGFibGUtaGVhZGVyIHRoOm50aC1jaGlsZCgxKSwgLmFwcC1kb2N1bWVudHMtdGFibGUtY29sdW1uIHRkOm50aC1jaGlsZCgxKSB7XHJcbiAgICB3aWR0aDogNTIwcHg7XHJcbn1cclxuXHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlLWhlYWRlciB0aDpudGgtY2hpbGQoMiksIC5hcHAtZG9jdW1lbnRzLXRhYmxlLWNvbHVtbiB0ZDpudGgtY2hpbGQoMikge1xyXG4gICAgd2lkdGg6IDIyMXB4O1xyXG59XHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlLWhlYWRlciB0aDpudGgtY2hpbGQoMyksIC5hcHAtZG9jdW1lbnRzLXRhYmxlLWNvbHVtbiB0ZDpudGgtY2hpbGQoMykge1xyXG4gICAgd2lkdGg6IDIxNnB4O1xyXG59XHJcbi5hcHAtZG9jdW1lbnRzLXRhYmxlLWhlYWRlciB0aDpudGgtY2hpbGQoNCksIC5hcHAtZG9jdW1lbnRzLXRhYmxlLWNvbHVtbiB0ZDpudGgtY2hpbGQoNCkge1xyXG4gICAgd2lkdGg6IDIxN3B4O1xyXG59XHJcblxyXG4uYXBwLWRvY3VtZW50cy10YWJsZS1oZWFkZXIgdGg6bnRoLWNoaWxkKDYpLCAuYXBwLWRvY3VtZW50cy10YWJsZS1jb2x1bW4gdGQ6bnRoLWNoaWxkKDYpIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG4vKi5hcHAtZG9jdW1lbnRzLXRhYmxlLWhlYWRlciB0aDpudGgtY2hpbGQoNSksIC5hcHAtZG9jdW1lbnRzLXRhYmxlLWNvbHVtbiB0ZDpudGgtY2hpbGQoNSkgeyovXHJcbiAgICAvKndpZHRoOiAxNjBweDsqL1xyXG4vKn0qL1xyXG5cclxuLmFwcC1kb2N1bWVudHMtdGFibGUtaGVhZGVyIC5hcHAtZW1wdHktaGVhZGVyIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhOjotd2Via2l0LXNjcm9sbGJhciwgLmFwcC1kb2N1bWVudHMtdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi5hcHAtbm8tZGF0YTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssIC5hcHAtZG9jdW1lbnRzLXRhYmxlIHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDNEM0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmFwcC1uby1kYXRhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmFwcC1kb2N1bWVudHMtdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iICB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkY4MEVEO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmFwcC1lbnRyeS1mb3ItbW9iaWxlIHtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtZW50cnktZm9yLW1vYmlsZSBoMyB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uYXBwLWVudHJ5LWZvci1tb2JpbGUtdmFsdWUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmxhc3QtdmFsdWUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uYXBwLWJnLWltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDIwcHg7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHB4KSB7XHJcbiAgICAuYXBwLWRvY3VtZW50cy10YWJsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtYmxvY2staGVhZGVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1lbnRyeS1mb3ItbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5hcHAtbm8tZGF0YSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLWRvY3VtZW50cy10YWJsZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuYXBwLWJsb2NrLWhlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcclxuICAgIH1cclxuICAgIC5hcHAtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweDtcclxuICAgIH1cclxuICAgIC5hcHAtZW50cnktZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtbm8tZGF0YSB7XHJcbiAgICAgICAgaGVpZ2h0OiA3NzBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4gICAgLmFwcC1jb250ZW50IHtcclxuICAgICAgICBoZWlnaHQ6IDkyMnB4O1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ICalcDoc } from '../../models/ICalcDoc';\r\nimport { CalcDocService } from '../../services/calc-doc.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-list-documents',\r\n templateUrl: 'list-documents.component.html',\r\n styleUrls: ['./list-documents.component.css']\r\n})\r\n/** Контроллер списка договоров */\r\nexport class ListDocumentsComponent implements OnInit, OnChanges {\r\n\r\n /** Идентификиатор договора */\r\n public dogId: string;\r\n\r\n /** Список ЛС для отображения */\r\n public tableAcc: ICalcDoc[];\r\n\r\n /** Выбранная строка */\r\n public selectedRow: ICalcDoc;\r\n\r\n /** Последняя ошибка с сервера */\r\n public error: string;\r\n\r\n constructor(\r\n protected route: ActivatedRoute,\r\n private calcDocService: CalcDocService) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.dogId = this.route.snapshot.queryParams.dogId;\r\n this.calcDocService.get(this.dogId, true).subscribe(\r\n (calcDocs) => {\r\n this.tableAcc = calcDocs.sort((a, b) =>\r\n new Date(b.DateStart).getTime() - new Date(a.DateStart).getTime());\r\n this.error = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n }\r\n );\r\n }\r\n\r\n // tslint:disable-next-line:no-empty\r\n public ngOnChanges(changes: SimpleChanges): void {}\r\n\r\n /** Событие выбора строки таблицы */\r\n public setClickedRow = function(item: ICalcDoc) {\r\n this.selectedRow = item;\r\n };\r\n}\r\n","export default \".app-content {\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n margin-top: 20px;\\r\\n display: flex;\\r\\n flex-flow: row;\\r\\n}\\r\\n\\r\\n.app-list-header {\\r\\n display: flex;\\r\\n padding: 24px;\\r\\n padding-bottom: 0px;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-toolbar-right {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.app-list-header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n align-items: center;\\r\\n color: #333333;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.app-list-header-count-text {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n display: flex;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-pages-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-content-left {\\r\\n height: 446px;\\r\\n width: 824px;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-list-search {\\r\\n display: flex;\\r\\n padding-left: 24px;\\r\\n padding-right: 24px;\\r\\n padding-top: 16px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.app-search-panel {\\r\\n display: flex;\\r\\n width: calc(100% - 66px);\\r\\n height: 46px;\\r\\n background: #FFFFFF;\\r\\n border: 2px solid #BDBDBD;\\r\\n box-sizing: border-box;\\r\\n border-radius: 10px;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-search-input {\\r\\n flex: 1;\\r\\n width: auto;\\r\\n height: 40px;\\r\\n margin-left: 16px;\\r\\n outline: none;\\r\\n background: #FFFFFF;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.app-search-input::-webkit-input-placeholder {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-search-input::-moz-placeholder {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-search-input:-ms-input-placeholder {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-search-input::-ms-input-placeholder {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-search-input::placeholder {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #828282;\\r\\n}\\r\\n\\r\\n.app-search-img {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n background: #FFFFFF;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.app-search-button {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n background: transparent;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n flex: 0 0 auto;\\r\\n padding: 0;\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-to-dogovors-button {\\r\\n width: 141px;\\r\\n height: 46px;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n border-radius: 10px;\\r\\n margin-left: 16px;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n}\\r\\n\\r\\n.app-to-dogovors-button-disable {\\r\\n background: #BDBDBD;\\r\\n cursor: not-allowed;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.app-dogovors-table-header th {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n padding-bottom: 8px;\\r\\n font-weight: unset;\\r\\n color: #828282;\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-header-line {\\r\\n color: #E0E0E0;\\r\\n size: 1px;\\r\\n padding-left: 24px;\\r\\n}\\r\\n\\r\\n.app-dogovors-table-header .app-empty-header {\\r\\n width: 24px;\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n.app-dogovors-table {\\r\\n table-layout: fixed;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.app-docNo-table-header {\\r\\n width: 146px;\\r\\n}\\r\\n\\r\\n.app-dogDate-table-header {\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.app-accountNumber-table-header {\\r\\n width: 186px;\\r\\n}\\r\\n\\r\\n.app-nextPayDate-table-header {\\r\\n width: 165px;\\r\\n}\\r\\n\\r\\n.app-nextPaySum-table-header {\\r\\n width: 144px;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.app-nextPaySum-table-column {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.app-dogovors-table-column td div {\\r\\n font-family: Roboto;\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n padding-top: 6px;\\r\\n padding-bottom: 6px;\\r\\n color: #4F4F4F;\\r\\n cursor: pointer;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-dogovors-table tr.active td {\\r\\n background-color: #F2F2F2 !important;\\r\\n}\\r\\n\\r\\n.app-dogovors-table tr.active td div {\\r\\n color: #2F80ED;\\r\\n}\\r\\n\\r\\n.app-dogovors-table tr.active.app-row-red td {\\r\\n background-color: #FEF0F0 !important;\\r\\n}\\r\\n\\r\\n.app-dogovors-table tr.active.app-row-red td div {\\r\\n color: #EB5757;\\r\\n}\\r\\n\\r\\n.app-next-pay-sum-red {\\r\\n color: #EB5757;\\r\\n}\\r\\n\\r\\n.app-link {\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n}\\r\\n\\r\\n.app-pay-text {\\r\\n font-family: Arial;\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n}\\r\\n\\r\\n.app-content-right {\\r\\n width: 580px;\\r\\n}\\r\\n\\r\\n.app-right-flip-strip {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.app-left-flip-strip {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-family: Roboto;\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n margin-top: 125px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.app-no-data img {\\r\\n margin-right: 10px;\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.app-mobile-vision {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.app-nextPayDate-table-header::before {\\r\\n content: 'Дата след. платежа';\\r\\n}\\r\\n\\r\\n.app-nextPaySum-table-header::before {\\r\\n content: 'Сумма след. платежа';\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-right-flip-strip {\\r\\n margin-right: -32px;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n height: auto;\\r\\n border-radius: 10px 0px 0px 10px;\\r\\n visibility: visible;\\r\\n width: 50px;\\r\\n cursor: pointer;\\r\\n }\\r\\n .app-left-flip-strip {\\r\\n margin-left: -32px;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n width: 50px;\\r\\n height: auto;\\r\\n border-radius: 0px 10px 10px 0px;\\r\\n visibility: visible;\\r\\n cursor: pointer;\\r\\n }\\r\\n .app-content-left {\\r\\n width: 926px;\\r\\n }\\r\\n .app-content-right {\\r\\n width: 926px;\\r\\n margin-left: 16px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 125px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-content-left {\\r\\n width: 310px;\\r\\n height: 492px;\\r\\n }\\r\\n .app-right-flip-strip {\\r\\n width: 30px;\\r\\n margin-right: -10px;\\r\\n }\\r\\n .app-left-flip-strip {\\r\\n width: 30px;\\r\\n margin-left: -10px;\\r\\n }\\r\\n .app-pc-vision {\\r\\n display: none;\\r\\n }\\r\\n .app-mobile-vision {\\r\\n display: initial;\\r\\n }\\r\\n .app-list-header {\\r\\n padding: 20px;\\r\\n padding-bottom: 0px;\\r\\n }\\r\\n .app-pages-img {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n }\\r\\n .app-list-header-text {\\r\\n font-weight: normal;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n }\\r\\n .app-sub-header {\\r\\n display: flex;\\r\\n margin-left: 20px;\\r\\n margin-right: 20px;\\r\\n margin-top: 12px;\\r\\n }\\r\\n .app-list-header-count-text {\\r\\n width: 84px;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-to-dogovors-button {\\r\\n width: 118px;\\r\\n height: 32px;\\r\\n font-weight: normal;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-list-search {\\r\\n padding-left: 20px;\\r\\n padding-right: 20px;\\r\\n }\\r\\n .app-search-panel {\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n }\\r\\n .app-search-button {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n margin-right: 16px;\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n .app-search-input::-webkit-input-placeholder {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-search-input::-moz-placeholder {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-search-input:-ms-input-placeholder {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-search-input::-ms-input-placeholder {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-search-input::placeholder {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-search-input {\\r\\n height: 34px;\\r\\n }\\r\\n .app-search-img {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n }\\r\\n .app-dogovors-table-header .app-empty-header {\\r\\n width: 20px;\\r\\n }\\r\\n .app-docNo-table-header {\\r\\n width: 100px;\\r\\n }\\r\\n .app-nextPayDate-table-header {\\r\\n width: 84px;\\r\\n }\\r\\n .app-nextPayDate-table-header::before {\\r\\n content: 'Дата платежа';\\r\\n }\\r\\n .app-nextPaySum-table-header {\\r\\n width: 56px;\\r\\n text-align: left;\\r\\n }\\r\\n .app-nextPaySum-table-header::before {\\r\\n content: 'Сумма платежа';\\r\\n }\\r\\n .app-dogovors-table-header th {\\r\\n padding-bottom: 4px;\\r\\n }\\r\\n .app-dogovors-table-column td div {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n }\\r\\n .app-content-right {\\r\\n width: 310px;\\r\\n height: auto;\\r\\n margin-left: 9px;\\r\\n }\\r\\n .app-no-data {\\r\\n margin-top: 125px;\\r\\n }\\r\\n\\r\\n .app-no-data img {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9saXN0LWRvZ292b3ItbWFpbi9saXN0LWRvZ292b3ItbWFpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLDJDQUEyQztJQUMzQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHdCQUF3QjtJQUN4QixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUxBO0lBQ0ksbUJBQW1CO0lBQ25C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SUFDQTtRQUNJLFdBQVc7UUFDWCxnQkFBZ0I7SUFDcEI7SUFDQTtRQUNJLHdCQUF3QjtJQUM1QjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxlQUFlO1FBQ2YsaUJBQWlCO0lBQ3JCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osWUFBWTtRQUNaLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksYUFBYTtJQUNqQjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9saXN0LWRvZ292b3ItbWFpbi9saXN0LWRvZ292b3ItbWFpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1jb250ZW50IHtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogcm93O1xyXG59XHJcblxyXG4uYXBwLWxpc3QtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLmFwcC1saXN0LWhlYWRlci10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtbGlzdC1oZWFkZXItY291bnQtdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbn1cclxuXHJcbi5hcHAtcGFnZXMtaW1nIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG59XHJcblxyXG4uYXBwLWNvbnRlbnQtbGVmdCB7XHJcbiAgICBoZWlnaHQ6IDQ0NnB4O1xyXG4gICAgd2lkdGg6IDgyNHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtbGlzdC1zZWFyY2gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uYXBwLXNlYXJjaC1wYW5lbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY2cHgpO1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNCREJEQkQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtc2VhcmNoLWlucHV0IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5hcHAtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzgyODI4MjtcclxufVxyXG5cclxuLmFwcC1zZWFyY2gtaW1nIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmFwcC1zZWFyY2gtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtdG8tZG9nb3ZvcnMtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxNDFweDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxufVxyXG5cclxuLmFwcC10by1kb2dvdm9ycy1idXR0b24tZGlzYWJsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjQkRCREJEO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uYXBwLWRvZ292b3JzLXRhYmxlLWhlYWRlciB0aCB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHVuc2V0O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwRTBFMDtcclxufVxyXG5cclxuLmFwcC1oZWFkZXItbGluZSB7XHJcbiAgICBjb2xvcjogI0UwRTBFMDtcclxuICAgIHNpemU6IDFweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxufVxyXG5cclxuLmFwcC1kb2dvdm9ycy10YWJsZS1oZWFkZXIgLmFwcC1lbXB0eS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcblxyXG4uYXBwLWRvZ292b3JzLXRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmFwcC1kb2NOby10YWJsZS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDE0NnB4O1xyXG59XHJcblxyXG4uYXBwLWRvZ0RhdGUtdGFibGUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMzVweDtcclxufVxyXG5cclxuLmFwcC1hY2NvdW50TnVtYmVyLXRhYmxlLWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTg2cHg7XHJcbn1cclxuXHJcbi5hcHAtbmV4dFBheURhdGUtdGFibGUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxNjVweDtcclxufVxyXG5cclxuLmFwcC1uZXh0UGF5U3VtLXRhYmxlLWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTQ0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmFwcC1uZXh0UGF5U3VtLXRhYmxlLWNvbHVtbiB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmFwcC1kb2dvdm9ycy10YWJsZS1jb2x1bW4gdGQgZGl2IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIHBhZGRpbmctdG9wOiA2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uYXBwLWRvZ292b3JzLXRhYmxlIHRyLmFjdGl2ZSB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtZG9nb3ZvcnMtdGFibGUgdHIuYWN0aXZlIHRkIGRpdiB7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxufVxyXG5cclxuLmFwcC1kb2dvdm9ycy10YWJsZSB0ci5hY3RpdmUuYXBwLXJvdy1yZWQgdGQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRjBGMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXBwLWRvZ292b3JzLXRhYmxlIHRyLmFjdGl2ZS5hcHAtcm93LXJlZCB0ZCBkaXYge1xyXG4gICAgY29sb3I6ICNFQjU3NTc7XHJcbn1cclxuXHJcbi5hcHAtbmV4dC1wYXktc3VtLXJlZCB7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxufVxyXG5cclxuLmFwcC1saW5rIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5hcHAtcGF5LXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uYXBwLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgd2lkdGg6IDU4MHB4O1xyXG59XHJcblxyXG4uYXBwLXJpZ2h0LWZsaXAtc3RyaXAge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uYXBwLWxlZnQtZmxpcC1zdHJpcCB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5hcHAtbm8tZGF0YSB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIG1hcmdpbi10b3A6IDEyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uYXBwLW5vLWRhdGEgaW1nIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLmFwcC1tb2JpbGUtdmlzaW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5hcHAtbmV4dFBheURhdGUtdGFibGUtaGVhZGVyOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ9CU0LDRgtCwINGB0LvQtdC0LiDQv9C70LDRgtC10LbQsCc7XHJcbn1cclxuXHJcbi5hcHAtbmV4dFBheVN1bS10YWJsZS1oZWFkZXI6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAn0KHRg9C80LzQsCDRgdC70LXQtC4g0L/Qu9Cw0YLQtdC20LAnO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTIyNHB4KSB7XHJcbiAgICAuYXBwLXJpZ2h0LWZsaXAtc3RyaXAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzJGODBFRDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDBweCAwcHggMTBweDtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC5hcHAtbGVmdC1mbGlwLXN0cmlwIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTMycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzJGODBFRDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMTBweCAxMHB4IDBweDtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC5hcHAtY29udGVudC1sZWZ0IHtcclxuICAgICAgICB3aWR0aDogOTI2cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgICAgIHdpZHRoOiA5MjZweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtbm8tZGF0YSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTI1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gICAgLmFwcC1jb250ZW50LWxlZnQge1xyXG4gICAgICAgIHdpZHRoOiAzMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDQ5MnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1yaWdodC1mbGlwLXN0cmlwIHtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1sZWZ0LWZsaXAtc3RyaXAge1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtcGMtdmlzaW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmFwcC1tb2JpbGUtdmlzaW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgfVxyXG4gICAgLmFwcC1saXN0LWhlYWRlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1wYWdlcy1pbWcge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgIH1cclxuICAgIC5hcHAtbGlzdC1oZWFkZXItdGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXN1Yi1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLWxpc3QtaGVhZGVyLWNvdW50LXRleHQge1xyXG4gICAgICAgIHdpZHRoOiA4NHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuICAgIC5hcHAtdG8tZG9nb3ZvcnMtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTE4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1saXN0LXNlYXJjaCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXNlYXJjaC1wYW5lbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1zZWFyY2gtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICAgIC5hcHAtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1zZWFyY2gtaW5wdXQge1xyXG4gICAgICAgIGhlaWdodDogMzRweDtcclxuICAgIH1cclxuICAgIC5hcHAtc2VhcmNoLWltZyB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2dvdm9ycy10YWJsZS1oZWFkZXIgLmFwcC1lbXB0eS1oZWFkZXIge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kb2NOby10YWJsZS1oZWFkZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgIH1cclxuICAgIC5hcHAtbmV4dFBheURhdGUtdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogODRweDtcclxuICAgIH1cclxuICAgIC5hcHAtbmV4dFBheURhdGUtdGFibGUtaGVhZGVyOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICfQlNCw0YLQsCDQv9C70LDRgtC10LbQsCc7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5leHRQYXlTdW0tdGFibGUtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogNTZweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLmFwcC1uZXh0UGF5U3VtLXRhYmxlLWhlYWRlcjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAn0KHRg9C80LzQsCDQv9C70LDRgtC10LbQsCc7XHJcbiAgICB9XHJcbiAgICAuYXBwLWRvZ292b3JzLXRhYmxlLWhlYWRlciB0aCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9nb3ZvcnMtdGFibGUtY29sdW1uIHRkIGRpdiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICB3aWR0aDogMzEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLW5vLWRhdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtbm8tZGF0YSBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iXX0= */\"","import { OnInit, HostListener } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { IAccount } from \"../../models/IAccount\";\r\nimport { AccountInfoAttrEnum } from \"../../models/AccountInfoAttrEnum\";\r\nimport { Subject, Observable, interval } from \"rxjs\";\r\nimport { throttle } from \"rxjs/operators\";\r\nimport { PayComponent } from \"../pay/pay.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport {UtilsService} from \"../../services/utils.service\";\r\n\r\n@Component({\r\n selector: 'app-list-dogovor-main',\r\n templateUrl: 'list-dogovor-main.component.html',\r\n styleUrls: ['./list-dogovor-main.component.css']\r\n})\r\n/** Контроллер списка договоров */\r\nexport class ListDogovorsMainComponent implements OnInit {\r\n\r\n /** Список ЛС для отображения */\r\n public tableAcc: IAccount[];\r\n\r\n /** Выбранная строка */\r\n public selectedRow: IAccount;\r\n\r\n /** Массив флагов наведения машки на оплату */\r\n public mouseOverSum: number[];\r\n\r\n /** Количество договоров */\r\n public docCount: number;\r\n\r\n /** Строка поиска */\r\n public searchTerm: string = \"\";\r\n\r\n public showDetailMode: boolean = true;\r\n\r\n /** Последняя ошибка запроса к серверу */\r\n public error: string;\r\n\r\n /**\r\n * Режим экрана\r\n * 1 - 1920х1080\r\n * 2 - 1024х768\r\n * 3 - 640х360\r\n */\r\n public screenMode: number = 1;\r\n\r\n /** Список всех лицевых счетов */\r\n private allAcc: IAccount[];\r\n\r\n /** для throttle событий изменения экрана */\r\n private windowChanged: Subject = new Subject();\r\n private windowChangeThrottled: Observable;\r\n\r\n /**\r\n * Конструктор\r\n * @param router Модуль маршрутизации\r\n * @param accountService Сервис лицевых счетов\r\n */\r\n constructor(\r\n private router: Router,\r\n private accountService: AccountService,\r\n public dialog: MatDialog) {\r\n }\r\n\r\n /** При созднаии компонента */\r\n ngOnInit(): void {\r\n this.windowChangeThrottled = this.windowChanged.pipe(throttle(val => interval(0)));\r\n this.windowChangeThrottled.subscribe(() => {\r\n this.handleResize();\r\n });\r\n this.handleResize();\r\n this.mouseOverSum = [];\r\n this.tableAcc = null;\r\n this.accountService.get(AccountInfoAttrEnum.NextPay | AccountInfoAttrEnum.Debt).subscribe(\r\n (accs) => {\r\n this.allAcc = accs;\r\n this.tableAcc = this.allAcc.sort((a, b) => new Date(b.DogovorDate).getTime() - new Date(a.DogovorDate).getTime()).slice(0, 8);\r\n this.docCount = this.allAcc.length;\r\n this.error = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n }\r\n\r\n /** Событие изменения размера экрана */\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.windowChanged.next();\r\n\r\n }\r\n\r\n /** Событие выбора строки таблицы */\r\n public setClickedRow = function (item) {\r\n this.selectedRow = item;\r\n }\r\n\r\n /** Функция поиска */\r\n public search = function () {\r\n this.tableAcc = Object.assign([], this.allAcc).filter(\r\n item => item.DogovorNumber.toLowerCase().indexOf(this.searchTerm.toLowerCase()) > -1 ||\r\n item.AccountNumber.toLowerCase().indexOf(this.searchTerm.toLowerCase()) > -1\r\n ).slice(0, 8);\r\n }\r\n\r\n /** Переход к договорам */\r\n public toListDogovorClick() {\r\n this.router.navigateByUrl('/list-dogovors');\r\n }\r\n\r\n\r\n /** Открыть компонент оплаты */\r\n public onPayNextClick(selectedAccount: IAccount) {\r\n const dialogRef = this.dialog.open(PayComponent, {\r\n panelClass: 'app-dialog-container',\r\n data: {\r\n account: selectedAccount,\r\n sumToPay: selectedAccount.NextPaySum\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Переход к договору\r\n * @param selectedAccount Выбарнный лицевой счет\r\n */\r\n public toDogovorClick(selectedAccount: IAccount) {\r\n if (selectedAccount != this.selectedRow)\r\n return;\r\n\r\n window.open(\"/dogovor-info?dogId=\" + selectedAccount.DogovorId);\r\n\r\n }\r\n\r\n /** Обработать изменение экрана */\r\n private handleResize(): void {\r\n if (window.innerWidth <= 900 && this.screenMode !== 3) {\r\n this.screenMode = 3;\r\n this.showDetailMode = true;\r\n } else if (window.innerWidth > 900 && window.innerWidth <= 1224 && this.screenMode !== 2) {\r\n this.screenMode = 2;\r\n this.showDetailMode = true;\r\n } else if (window.innerWidth > 1224 && this.screenMode !== 1) {\r\n this.screenMode = 1;\r\n this.showDetailMode = true;\r\n }\r\n }\r\n\r\n /** Клик по показать инфо в режиме мобильного экрана */\r\n public clickShowDetail() {\r\n this.showDetailMode = false;\r\n }\r\n\r\n /** Клик по обратно в список в режиме мобильного экрана */\r\n public clickHideDetail() {\r\n this.showDetailMode = true;\r\n }\r\n\r\n}","export default \".app-body {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.app-toolbar {\\r\\n height: 48px;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 8px;\\r\\n}\\r\\n\\r\\n.app-toolbar2 {\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n align-items: center;\\r\\n padding: 14px;\\r\\n height: 48px;\\r\\n margin-top: 12px;\\r\\n margin-right: 8px;\\r\\n}\\r\\n\\r\\n.app-filter-label {\\r\\n margin-left: 16px;\\r\\n margin-right: 8px;\\r\\n}\\r\\n\\r\\n/*.app-toolbar-sum-button{*/\\r\\n\\r\\n/*height: 33px;*/\\r\\n\\r\\n/*width: 33px;*/\\r\\n\\r\\n/*margin-left: 16px;*/\\r\\n\\r\\n/*border-style: none;*/\\r\\n\\r\\n/*background-color: white;*/\\r\\n\\r\\n/*cursor: pointer;*/\\r\\n\\r\\n/*}*/\\r\\n\\r\\n.app-sum-button {\\r\\n cursor: pointer;\\r\\n color: #2F80ED;\\r\\n font-size: 34px;\\r\\n line-height: 34px;\\r\\n margin-left: 16px;\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.app-sum-button:hover {\\r\\n text-shadow: 1px 1px 2px #2F80ED, 0 0 1px;\\r\\n}\\r\\n\\r\\n.app-toolbar-right {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.app-toolbar-count {\\r\\n font-size: 18px;\\r\\n color: #828282;\\r\\n margin-right: 24px;\\r\\n}\\r\\n\\r\\n.app-toolbar-show-count-label {\\r\\n font-size: 18px;\\r\\n margin-right: 8px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages-label {\\r\\n margin-left: 24px;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages-label2 {\\r\\n margin-left: 14px;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages{\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages2 {\\r\\n margin-left: 8px;\\r\\n margin-right: 14px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n width: 150px;\\r\\n\\r\\n}\\r\\n\\r\\n.app-to-page {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n.app-to-next-page{\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.app-to-next-page img, .to-last-page img{\\r\\n transform: rotate(180deg);\\r\\n}\\r\\n\\r\\n.app-toolbar-pages a {\\r\\n color: #2F80ED;\\r\\n font-size: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages .current-page, .app-toolbar-pages2 .current-page{\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.app-toolbar-pages2 a {\\r\\n color: #2F80ED;\\r\\n font-size: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.app-sum-panel {\\r\\n background-color: #F2F2F2;\\r\\n height: 38px;\\r\\n}\\r\\n\\r\\nselect {\\r\\n border: 1px solid #2F80ED;\\r\\n box-sizing: border-box;\\r\\n height: 32px;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n padding-left: 16px;\\r\\n padding-right: 16px;\\r\\n color: #4F4F4F;\\r\\n outline: none;\\r\\n max-width: 240px;\\r\\n}\\r\\n\\r\\n.app-content-left {\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.ag-grid-panel {\\r\\n overflow: hidden;\\r\\n\\r\\n}\\r\\n\\r\\n.app-no-data {\\r\\n font-size: 28px;\\r\\n line-height: 33px;\\r\\n color: #BDBDBD;\\r\\n margin-top: 125px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.app-doc-table {\\r\\n table-layout: fixed;\\r\\n margin-right: 21px;\\r\\n margin-left: 24px;\\r\\n}\\r\\n\\r\\n.app-doc-table tbody {\\r\\n display: block;\\r\\n overflow: hidden;\\r\\n overflow-y: auto;\\r\\n height: 478px;\\r\\n}\\r\\n\\r\\nthead {\\r\\n display: table;\\r\\n table-layout: fixed;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.app-doc-table tbody::-webkit-scrollbar-track {\\r\\n box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n border-radius: 5px;\\r\\n background-color: #E0E0E0;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.app-doc-table tbody::-webkit-scrollbar {\\r\\n width: 10px;\\r\\n background-color: #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-doc-table tbody::-webkit-scrollbar-thumb {\\r\\n border-radius: 5px;\\r\\n box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\\r\\n background-color: #2F80ED;\\r\\n}\\r\\n\\r\\n.app-doc-table th,\\r\\ntd {\\r\\n border: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.app-table-header th:not(.app-scroll-table-header) {\\r\\n position: relative;\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #828282;\\r\\n font-weight: unset;\\r\\n text-align: center;\\r\\n padding: 12px 16px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.app-table-column td div {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n padding: 10px 16px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.app-table-column td {\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.app-scroll-table-header,\\r\\n.app-scroll-table-column {\\r\\n width: 7px;\\r\\n border: none !important;\\r\\n background-color: #FFFFFF !important;\\r\\n padding: 0px 10px 0px 9px;\\r\\n}\\r\\n\\r\\n.app-grabber {\\r\\n content: '';\\r\\n background: none;\\r\\n position: absolute;\\r\\n display: block;\\r\\n width: 8px;\\r\\n right: 0px;\\r\\n top: 0;\\r\\n height: 100%;\\r\\n width: 8px;\\r\\n cursor: ew-resize;\\r\\n}\\r\\n\\r\\n.app-grabber-right {\\r\\n right: 0px;\\r\\n}\\r\\n\\r\\n.app-grabber-left {\\r\\n left: 0px;\\r\\n}\\r\\n\\r\\n.app-doc-table tr.active td:not(.app-scroll-table-column) {\\r\\n background-color: #F2F2F2 !important;\\r\\n}\\r\\n\\r\\n.app-doc-table tr.active td div {\\r\\n color: #2F80ED;\\r\\n}\\r\\n\\r\\n.app-link {\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n}\\r\\n\\r\\n.app-sum-table{\\r\\n padding-top: 9px;\\r\\n}\\r\\n\\r\\n.app-sum-table td {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.app-sum-panel {\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n padding-top: 9px;\\r\\n}\\r\\n\\r\\n.app-sum-text-column{\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.app-sum-table td div {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n padding-left: 16px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-sum-button{\\r\\n display: none;\\r\\n }\\r\\n .app-toolbar-count {\\r\\n display: none;\\r\\n }\\r\\n .app-toolbar-show-count-label {\\r\\n display: none;\\r\\n }\\r\\n #show-count {\\r\\n display: none;\\r\\n }\\r\\n .app-toolbar-pages-label {\\r\\n display: none;\\r\\n }\\r\\n .app-toolbar-pages {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .app-content-left {\\r\\n max-height: 370px;\\r\\n margin-right: 10px;\\r\\n /* padding: 10px;*/\\r\\n height: 370px;\\r\\n }\\r\\n .data-table {\\r\\n margin: 10px 10px 0px 10px;\\r\\n }\\r\\n .data-table-without-sum {\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n\\r\\n .ag-grid-panel{\\r\\n max-height: 345px;\\r\\n height: 345px;\\r\\n }\\r\\n .app-toolbar2 {\\r\\n display: flex;\\r\\n }\\r\\n .app-right-flip-strip {\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n width: 32px;\\r\\n height: 430px;\\r\\n border-radius: 10px 0px 0px 10px;\\r\\n }\\r\\n .app-left-flip-strip {\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n min-width: 32px;\\r\\n height: 430px;\\r\\n border-radius: 0px 10px 10px 0px;\\r\\n margin-right: 8px;\\r\\n }\\r\\n\\r\\n .app-content {\\r\\n display: flex;\\r\\n margin-top: 10px;\\r\\n }\\r\\n .app-content-small {\\r\\n width: calc(100% - 32px);\\r\\n }\\r\\n .app-content-right {\\r\\n /*height: 430px;*/\\r\\n /*width: 310px;*/\\r\\n width: calc(100% - 40px);\\r\\n margin-top: 0px;\\r\\n\\r\\n }\\r\\n\\r\\n .app-sum-panel {\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .app-doc-table tbody{\\r\\n height: 290px;\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 900px) {\\r\\n .app-content {\\r\\n display: inline;\\r\\n }\\r\\n\\r\\n .app-sum-button{\\r\\n display: inline;\\r\\n }\\r\\n .app-toolbar-count {\\r\\n display: none;\\r\\n }\\r\\n .app-toolbar-show-count-label {\\r\\n display: inline;\\r\\n }\\r\\n #show-count {\\r\\n display: flex;\\r\\n }\\r\\n .app-toolbar-pages-label {\\r\\n display: inline;\\r\\n }\\r\\n .app-toolbar-pages {\\r\\n display: inline;\\r\\n }\\r\\n\\r\\n .app-content-right {\\r\\n display: grid;\\r\\n margin-top: 20px;\\r\\n width: inherit;\\r\\n }\\r\\n .app-toolbar2 {\\r\\n display: none;\\r\\n }\\r\\n .app-right-flip-strip {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .app-content-left {\\r\\n max-height: 864px;\\r\\n height: inherit;\\r\\n margin-right: 0px;\\r\\n margin-top: 20px;\\r\\n /* padding: 20px;*/\\r\\n }\\r\\n .data-table {\\r\\n margin: 20px 20px 0px 20px;\\r\\n height: 352px;\\r\\n }\\r\\n .data-table-without-sum {\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .app-sum-panel {\\r\\n padding-left: 20px;\\r\\n padding-right: 20px;\\r\\n }\\r\\n\\r\\n .ag-grid-panel{\\r\\n max-height: 410px;\\r\\n height: inherit;\\r\\n }\\r\\n\\r\\n .app-content-small {\\r\\n width: inherit;\\r\\n }\\r\\n\\r\\n .app-doc-table tbody{\\r\\n height: 300px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1600px) {\\r\\n .app-content {\\r\\n display: flex;\\r\\n }\\r\\n .app-toolbar-count {\\r\\n display: inline;\\r\\n }\\r\\n\\r\\n .app-content-left {\\r\\n max-height: 864px;\\r\\n height: 577px;\\r\\n width: 820px;\\r\\n margin-right: 20px;\\r\\n margin-top: 20px;\\r\\n }\\r\\n .ag-grid-panel{\\r\\n max-height: 864px;\\r\\n height: 577px;\\r\\n }\\r\\n\\r\\n .app-content-right {\\r\\n height: 577px;\\r\\n width: 580px;\\r\\n margin-top: 20px;\\r\\n }\\r\\n\\r\\n .app-doc-table tbody {\\r\\n height: 478px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9saXN0LWRvZ292b3JzL2xpc3QtZG9nb3ZvcnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixpQkFBaUI7QUFDckI7O0FBRUEsMkJBQTJCOztBQUN2QixnQkFBZ0I7O0FBQ2hCLGVBQWU7O0FBQ2YscUJBQXFCOztBQUNyQixzQkFBc0I7O0FBQ3RCLDJCQUEyQjs7QUFDM0IsbUJBQW1COztBQUN2QixJQUFJOztBQUVKO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0FBQ3JCOztBQUNBO0lBQ0kseUNBQXlDO0FBQzdDOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsWUFBWTs7QUFFaEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7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QUFFQTtJQUNJO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjs7SUFFQTtRQUNJLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0I7SUFDcEI7SUFDQTtRQUNJLGlCQUFpQjtRQUNqQixhQUFhO0lBQ2pCOztJQUVBO1FBQ0ksYUFBYTtRQUNiLFlBQVk7UUFDWixnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxhQUFhO0lBQ2pCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2xpc3QtZG9nb3ZvcnMvbGlzdC1kb2dvdm9ycy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1ib2R5IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhciB7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXIyIHtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5hcHAtZmlsdGVyLWxhYmVsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi8qLmFwcC10b29sYmFyLXN1bS1idXR0b257Ki9cclxuICAgIC8qaGVpZ2h0OiAzM3B4OyovXHJcbiAgICAvKndpZHRoOiAzM3B4OyovXHJcbiAgICAvKm1hcmdpbi1sZWZ0OiAxNnB4OyovXHJcbiAgICAvKmJvcmRlci1zdHlsZTogbm9uZTsqL1xyXG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsqL1xyXG4gICAgLypjdXJzb3I6IHBvaW50ZXI7Ki9cclxuLyp9Ki9cclxuXHJcbi5hcHAtc3VtLWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxuICAgIGZvbnQtc2l6ZTogMzRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5hcHAtc3VtLWJ1dHRvbjpob3ZlciB7XHJcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggIzJGODBFRCwgMCAwIDFweDtcclxufVxyXG5cclxuLmFwcC10b29sYmFyLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXItY291bnQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1zaG93LWNvdW50LWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXItcGFnZXMtbGFiZWwge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1wYWdlcy1sYWJlbDIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1wYWdlc3tcclxuICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxufVxyXG5cclxuLmFwcC10b29sYmFyLXBhZ2VzMiB7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuXHJcbn1cclxuXHJcbi5hcHAtdG8tcGFnZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG59XHJcblxyXG4uYXBwLXRvLW5leHQtcGFnZXtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5hcHAtdG8tbmV4dC1wYWdlIGltZywgLnRvLWxhc3QtcGFnZSBpbWd7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXItcGFnZXMgYSB7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmFwcC10b29sYmFyLXBhZ2VzIC5jdXJyZW50LXBhZ2UsIC5hcHAtdG9vbGJhci1wYWdlczIgLmN1cnJlbnQtcGFnZXtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uYXBwLXRvb2xiYXItcGFnZXMyIGEge1xyXG4gICAgY29sb3I6ICMyRjgwRUQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtc3VtLXBhbmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XHJcbiAgICBoZWlnaHQ6IDM4cHg7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMkY4MEVEO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgIGNvbG9yOiAjNEY0RjRGO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMjQwcHg7XHJcbn1cclxuXHJcbi5hcHAtY29udGVudC1sZWZ0IHtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG59XHJcbi5hZy1ncmlkLXBhbmVsIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG59XHJcblxyXG4uYXBwLW5vLWRhdGEge1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIG1hcmdpbi10b3A6IDEyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmFwcC1kb2MtdGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIG1hcmdpbi1yaWdodDogMjFweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG59XHJcblxyXG4uYXBwLWRvYy10YWJsZSB0Ym9keSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgaGVpZ2h0OiA0NzhweDtcclxufVxyXG5cclxudGhlYWQge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmFwcC1kb2MtdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWRvYy10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xyXG59XHJcblxyXG4uYXBwLWRvYy10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIC4zKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRjgwRUQ7XHJcbn1cclxuXHJcbi5hcHAtZG9jLXRhYmxlIHRoLFxyXG50ZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xyXG59XHJcblxyXG4uYXBwLXRhYmxlLWhlYWRlciB0aDpub3QoLmFwcC1zY3JvbGwtdGFibGUtaGVhZGVyKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogIzgyODI4MjtcclxuICAgIGZvbnQtd2VpZ2h0OiB1bnNldDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5hcHAtdGFibGUtY29sdW1uIHRkIGRpdiB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYXBwLXRhYmxlLWNvbHVtbiB0ZCB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG5cclxuLmFwcC1zY3JvbGwtdGFibGUtaGVhZGVyLFxyXG4uYXBwLXNjcm9sbC10YWJsZS1jb2x1bW4ge1xyXG4gICAgd2lkdGg6IDdweDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHggMHB4IDlweDtcclxufVxyXG5cclxuLmFwcC1ncmFiYmVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgY3Vyc29yOiBldy1yZXNpemU7XHJcbn1cclxuXHJcbi5hcHAtZ3JhYmJlci1yaWdodCB7XHJcbiAgICByaWdodDogMHB4O1xyXG59XHJcblxyXG4uYXBwLWdyYWJiZXItbGVmdCB7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbn1cclxuXHJcbi5hcHAtZG9jLXRhYmxlIHRyLmFjdGl2ZSB0ZDpub3QoLmFwcC1zY3JvbGwtdGFibGUtY29sdW1uKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtZG9jLXRhYmxlIHRyLmFjdGl2ZSB0ZCBkaXYge1xyXG4gICAgY29sb3I6ICMyRjgwRUQ7XHJcbn1cclxuXHJcbi5hcHAtbGluayB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uYXBwLXN1bS10YWJsZXtcclxuICAgIHBhZGRpbmctdG9wOiA5cHg7XHJcbn1cclxuLmFwcC1zdW0tdGFibGUgdGQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5hcHAtc3VtLXBhbmVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG59XHJcblxyXG4uYXBwLXN1bS10ZXh0LWNvbHVtbntcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmFwcC1zdW0tdGFibGUgdGQgZGl2IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHB4KSB7XHJcbiAgICAuYXBwLXN1bS1idXR0b257XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhci1jb3VudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhci1zaG93LWNvdW50LWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgI3Nob3ctY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYXBwLXRvb2xiYXItcGFnZXMtbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYXBwLXRvb2xiYXItcGFnZXMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1jb250ZW50LWxlZnQge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgLyogIHBhZGRpbmc6IDEwcHg7Ki9cclxuICAgICAgICBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgfVxyXG4gICAgLmRhdGEtdGFibGUge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDBweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmRhdGEtdGFibGUtd2l0aG91dC1zdW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFnLWdyaWQtcGFuZWx7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNDVweDtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhcjIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXJpZ2h0LWZsaXAtc3RyaXAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDQzMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMHB4IDBweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1sZWZ0LWZsaXAtc3RyaXAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgICAgICBtaW4td2lkdGg6IDMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MzBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMTBweCAxMHB4IDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtY29udGVudC1zbWFsbCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xyXG4gICAgfVxyXG4gICAgLmFwcC1jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICAvKmhlaWdodDogNDMwcHg7Ki9cclxuICAgICAgICAvKndpZHRoOiAzMTBweDsqL1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtc3VtLXBhbmVsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxuICAgIC5hcHAtZG9jLXRhYmxlIHRib2R5e1xyXG4gICAgICAgIGhlaWdodDogMjkwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xyXG4gICAgLmFwcC1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1zdW0tYnV0dG9ue1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhci1jb3VudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhci1zaG93LWNvdW50LWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbiAgICAjc2hvdy1jb3VudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC5hcHAtdG9vbGJhci1wYWdlcy1sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG4gICAgLmFwcC10b29sYmFyLXBhZ2VzIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAuYXBwLXRvb2xiYXIyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmFwcC1yaWdodC1mbGlwLXN0cmlwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtY29udGVudC1sZWZ0IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA4NjRweDtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAvKiAgIHBhZGRpbmc6IDIwcHg7Ki9cclxuICAgIH1cclxuICAgIC5kYXRhLXRhYmxlIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMjBweCAwcHggMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDM1MnB4O1xyXG4gICAgfVxyXG4gICAgLmRhdGEtdGFibGUtd2l0aG91dC1zdW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXN1bS1wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFnLWdyaWQtcGFuZWx7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtY29udGVudC1zbWFsbCB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmFwcC1kb2MtdGFibGUgdGJvZHl7XHJcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAuYXBwLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXRvb2xiYXItY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWNvbnRlbnQtbGVmdCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogODY0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NzdweDtcclxuICAgICAgICB3aWR0aDogODIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuYWctZ3JpZC1wYW5lbHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA4NjRweDtcclxuICAgICAgICBoZWlnaHQ6IDU3N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtY29udGVudC1yaWdodCB7XHJcbiAgICAgICAgaGVpZ2h0OiA1NzdweDtcclxuICAgICAgICB3aWR0aDogNTgwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWRvYy10YWJsZSB0Ym9keSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0NzhweDtcclxuICAgIH1cclxufVxyXG5cclxuIl19 */\"","import {OnInit, ViewChild, Renderer2, ElementRef} from \"@angular/core\";\r\nimport {Component} from \"@angular/core\";\r\nimport {HostListener} from \"@angular/core\";\r\nimport {interval, Subject, Observable, fromEvent} from 'rxjs';\r\nimport { throttle } from 'rxjs/operators';\r\nimport {AgGridCustomTooltip} from \"../ag-grid-custom-tooltip.component\";\r\nimport {GridOptions, GridReadyEvent, ICellRendererParams} from \"ag-grid-community/main\";\r\n\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { AccountInfoAttrEnum } from \"../../models/AccountInfoAttrEnum\";\r\nimport { IAccount } from \"../../models/IAccount\";\r\nimport { DogovorTypeService } from \"../../services/dogovor-type.service\";\r\nimport { IDogovorType } from \"../../models/IDogovorType\";\r\nimport { ITotalSum } from \"../../models/ITotalSum\";\r\nimport {CurrencyPipe} from \"@angular/common\";\r\nimport {UtilsService} from \"../../services/utils.service\";\r\n\r\n\r\n@Component({\r\n selector: 'app-list-dogovors',\r\n templateUrl: 'list-dogovors.component.html',\r\n styleUrls: ['./list-dogovors.component.css']\r\n})\r\n/** Контроллер списка договоров */\r\nexport class ListDogovorsComponent implements OnInit {\r\n /** Данные отображения в таблице */\r\n public rowData: IAccount[];\r\n /** Типы договоров */\r\n public dogovorTypes: IDogovorType[];\r\n /** Признак отображения детальной информации */\r\n public showDetailMode: boolean = false;\r\n /** Количество лицевых счетов */\r\n public accountCount: number;\r\n\r\n /** Количество значений на странице */\r\n public countRowOnPage: number = 25;\r\n /** Текущая страница */\r\n public currentPage: number = 1;\r\n /** Количество страниц */\r\n public countPage: number = 1;\r\n\r\n /** Выбронная строка */\r\n public selectedRow: IAccount;\r\n\r\n /** Итоговые суммы */\r\n public totalSum: ITotalSum;\r\n /** Признак отображения итоговых сумм */\r\n public isShowTotalSum: boolean = false;\r\n\r\n /**\r\n * Режим экрана\r\n * 1 - 1920х1080\r\n * 2 - 1024х768\r\n * 3 - 640х360\r\n */\r\n public screenMode: number;\r\n\r\n /** Последняя ошибка запроса к серверу */\r\n public error: string;\r\n\r\n /** Выбранный идентификатор типа договора */\r\n public dogType: IDogovorType;\r\n\r\n // @ViewChild(DogovorComponent, {static: false})\r\n // private dogovorComponent: DogovorComponent;\r\n\r\n /** для throttle событий изменения экрана */\r\n private windowChanged: Subject = new Subject();\r\n private windowChangeThrottled: Observable;\r\n widthDocNo: number;\r\n widthAcc: number;\r\n widthAyear: number;\r\n widthDebt: number;\r\n widthNextPay: number;\r\n\r\n /** Предыдущее положение мышки по горизонатле */\r\n private oldMouseX: any;\r\n /** Событие движения мышки */\r\n private mousemove$: any;\r\n /** Событие отжатия кнопки мыши */\r\n private mouseup$;\r\n \r\n /** События нажатия на ползунок столбца */\r\n private mousedownAccRight$: any;\r\n private mousedownAccLeft$: any;\r\n private mousedownAyearRight$: any;\r\n private mousedownAyearLeft$: any;\r\n private mousedownDebtLeft$: any;\r\n private mousedownDebtRight$: any;\r\n private mousedownNextPayLeft$: any;\r\n private mousedownNextPayRight$: any;\r\n /** Подписка на слежение удерживания ползунка */\r\n private _subHoldRightAccGrabber: any;\r\n private _subHoldLeftAccGrabber: any;\r\n private _subHoldRightDebtGrabber: any;\r\n private _subHoldLeftDebtGrabber: any;\r\n private _subHoldRightAyearGrabber: any;\r\n private _subHoldLeftAyearGrabber: any;\r\n private _subHoldRightNextPayGrabber: any;\r\n private _subHoldLeftNextPayGrabber: any;\r\n public AYearSum: number;\r\n public DebtSum: number;\r\n\r\n /**\r\n * Конструктор\r\n * @param accountService Сервис лицевых счетов\r\n * @param dogovorTypeService Сервис типов договоров\r\n */\r\n constructor(\r\n public renderer: Renderer2,\r\n private _el: ElementRef,\r\n private accountService: AccountService,\r\n private dogovorTypeService: DogovorTypeService\r\n ) {\r\n }\r\n\r\n /** Инициализация */\r\n ngOnInit(): void {\r\n this.windowChangeThrottled = this.windowChanged.pipe(throttle(val => interval(500)));\r\n this.windowChangeThrottled.subscribe(() => {\r\n this.handleResize();\r\n });\r\n this.handleResize();\r\n\r\n \r\n if (!this._subHoldRightAccGrabber) {\r\n this.initGrabbers()\r\n }\r\n\r\n // Получаем типы договоров\r\n this.dogovorTypeService.get().subscribe(\r\n (types) => {\r\n this.dogovorTypes = types;\r\n this.dogType = this.dogovorTypes[0];\r\n this.loadAccounts();\r\n this.setError(null);\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.setError(UtilsService.getErrorText(error));\r\n });\r\n\r\n }\r\n\r\n /** Событие изменения типа договора */\r\n public onChangeDogType(dog: IDogovorType) {\r\n this.dogType = dog;\r\n this.currentPage = 1;\r\n this.loadAccounts();\r\n if (this.isShowTotalSum) {\r\n this.getTotalSum();\r\n }\r\n }\r\n\r\n /** При изменении количества отображаемых страниц */\r\n public onChangeCountOnPage(count: number) {\r\n if (this.countRowOnPage === count) {\r\n return;\r\n }\r\n this.countRowOnPage = count;\r\n this.loadAccounts();\r\n }\r\n\r\n /** Событие выбора ячейки */\r\n public onRowClicked(rowData: any) {\r\n this.selectedRow = rowData;\r\n }\r\n\r\n public onRowDbClicked(event: any) {\r\n window.open(\"/dogovor-info?dogId=\" + event.data.DogovorId);\r\n }\r\n\r\n /** При нажатии на подсчет итоговых сумм */\r\n public onClickSum() {\r\n this.isShowTotalSum = !this.isShowTotalSum;\r\n if (this.isShowTotalSum) {\r\n this.getTotalSum();\r\n }\r\n }\r\n\r\n /** Клик по показать инфо в режиме мобильного экрана */\r\n public clickShowDetail() {\r\n this.showDetailMode = true;\r\n //this.dogovorComponent.onResize();\r\n }\r\n\r\n /** Клик по обратно в список в режиме мобильного экрана */\r\n public clickHideDetail() {\r\n this.showDetailMode = false;\r\n }\r\n\r\n /** Переход на первую страницу */\r\n public toFirstPage() {\r\n if (this.currentPage == 1)\r\n return;\r\n this.currentPage = 1;\r\n this.loadAccounts();\r\n }\r\n\r\n /** Переход на предыдущую страницу */\r\n public toPrevPage() {\r\n if (this.currentPage - 1 < 1 || this.currentPage == this.currentPage - 1)\r\n return;\r\n this.currentPage = this.currentPage - 1;\r\n this.loadAccounts();\r\n }\r\n\r\n /** Переход на следующую страницу */\r\n public toNextPage() {\r\n if (this.currentPage + 1 > this.countPage || this.currentPage == this.currentPage + 1)\r\n return;\r\n this.currentPage = this.currentPage + 1;\r\n this.loadAccounts();\r\n }\r\n\r\n /** Переход на последнюю страницу */\r\n public toLastPage() {\r\n if (this.currentPage == this.countPage)\r\n return;\r\n this.currentPage = this.countPage;\r\n this.loadAccounts();\r\n }\r\n\r\n /**\r\n * Вызывается при полной загрузке грида\r\n * @param params\r\n */\r\n public onGridReady(params: GridReadyEvent) {\r\n this.handleResize();\r\n\r\n // NB! This is unsupported and may break at any time\r\n try {\r\n //console.log((params.api as any).context)\r\n (params.api as any).context.beans.tooltipManager.beanInstance.MOUSEOVER_SHOW_TOOLTIP_TIMEOUT = 0;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n /** Событие изменения размера экрана */\r\n @HostListener('window:resize', ['$event'])\r\n public onResize() {\r\n this.windowChanged.next();\r\n\r\n }\r\n\r\n /**\r\n * Загрузка лицевых счетов\r\n */\r\n private loadAccounts() {\r\n this.accountService.getCount(this.dogType.Id).subscribe(\r\n (count) => {\r\n this.accountCount = count;\r\n //this.currentPage = 1;\r\n this.countPage = Math.floor(this.accountCount / this.countRowOnPage) + 1;\r\n\r\n this.accountService.getByDogType(AccountInfoAttrEnum.NextPay | AccountInfoAttrEnum.Debt, this.dogType.Id, this.currentPage, this.countRowOnPage).subscribe(\r\n (accs) => {\r\n this.rowData = accs;\r\n this.setError(null);\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.setError(UtilsService.getErrorText(error));\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.setError(UtilsService.getErrorText(error));\r\n });\r\n }\r\n\r\n /** Получение итоговых сумм */\r\n private getTotalSum() {\r\n this.accountService.getTotalSum(this.dogType.Id).subscribe(\r\n (sum) => {\r\n this.totalSum = sum;\r\n this.AYearSum = sum.AyearSum;\r\n this.DebtSum = sum.DebtSum;\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n \r\n /**\r\n * Переход к договору\r\n * @param selectedAccount Выбарнный лицевой счет\r\n */\r\n public toDogovorClick(selectedAccount: IAccount) {\r\n if (selectedAccount != this.selectedRow)\r\n return;\r\n\r\n window.open(\"/dogovor-info?dogId=\" + selectedAccount.DogovorId);\r\n\r\n }\r\n\r\n\r\n /** Обработать изменение экрана */\r\n private handleResize() {\r\n \r\n if (window.innerWidth < 900 && this.screenMode !== 3) {\r\n this.screenMode = 3;\r\n this.isShowTotalSum = false;\r\n this.widthDocNo = 147;\r\n this.widthAcc = 126;\r\n this.widthAyear = 0;\r\n this.widthDebt = 0;\r\n this.widthNextPay = 0;\r\n } else if (window.innerWidth > 900 && window.innerWidth <= 1224 && this.screenMode !== 2) {\r\n this.screenMode = 2;\r\n this.widthDocNo = 170;\r\n this.widthAcc = 178;\r\n this.widthAyear = 158;\r\n this.widthDebt = 195;\r\n this.widthNextPay = 229;\r\n } else if (window.innerWidth > 1224 && this.screenMode !== 1) {\r\n this.screenMode = 1;\r\n this.widthDocNo = 150;\r\n this.widthAcc = 178;\r\n this.widthAyear = 158;\r\n this.widthDebt = 135;\r\n this.widthNextPay = 150;\r\n }\r\n }\r\n\r\n \r\n /** Инициализация ползунков растягивания колонок */\r\n private initGrabbers() {\r\n let grabberAccRight = this.renderer.selectRootElement('#grabber-acc-right');\r\n this.mousedownAccRight$ = fromEvent(grabberAccRight, 'mousedown');\r\n this.mousedownAccRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberAccLeft = this.renderer.selectRootElement('#grabber-acc-left');\r\n this.mousedownAccLeft$ = fromEvent(grabberAccLeft, 'mousedown');\r\n this.mousedownAccLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberAyearRight = this.renderer.selectRootElement('#grabber-ayear-right');\r\n this.mousedownAyearRight$ = fromEvent(grabberAyearRight, 'mousedown');\r\n this.mousedownAyearRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberAyearLeft = this.renderer.selectRootElement('#grabber-ayear-left');\r\n this.mousedownAyearLeft$ = fromEvent(grabberAyearLeft, 'mousedown');\r\n this.mousedownAyearLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberDebtRight = this.renderer.selectRootElement('#grabber-debt-right');\r\n this.mousedownDebtRight$ = fromEvent(grabberDebtRight, 'mousedown');\r\n this.mousedownDebtRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberDebtLeft = this.renderer.selectRootElement('#grabber-debt-left');\r\n this.mousedownDebtLeft$ = fromEvent(grabberDebtLeft, 'mousedown');\r\n this.mousedownDebtLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n \r\n let grabberNextPayRight = this.renderer.selectRootElement('#grabber-nextPay-right');\r\n this.mousedownNextPayRight$ = fromEvent(grabberNextPayRight, 'mousedown');\r\n this.mousedownNextPayRight$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n let grabberNextPayLeft = this.renderer.selectRootElement('#grabber-nextPay-left');\r\n this.mousedownNextPayLeft$ = fromEvent(grabberNextPayLeft, 'mousedown');\r\n this.mousedownNextPayLeft$.subscribe((e) => {\r\n this.oldMouseX = e.x;\r\n });\r\n\r\n this.mousemove$ = fromEvent(this._el.nativeElement, 'mousemove');\r\n this.mouseup$ = fromEvent(this._el.nativeElement, 'mouseup');\r\n this.mouseup$.subscribe(() => {\r\n this.unsubGrabbers();\r\n this.registerGrabbers();\r\n });\r\n\r\n this.registerGrabbers();\r\n }\r\n\r\n /** Отписка от прослушки движения мышки при расширении столбцов */\r\n private unsubGrabbers() {\r\n if (this._subHoldRightAccGrabber) {\r\n this._subHoldRightAccGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftAccGrabber) {\r\n this._subHoldLeftAccGrabber.unsubscribe();\r\n }\r\n if (this._subHoldRightAyearGrabber) {\r\n this._subHoldRightAyearGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftAyearGrabber) {\r\n this._subHoldLeftAyearGrabber.unsubscribe();\r\n }\r\n if (this._subHoldRightDebtGrabber) {\r\n this._subHoldRightDebtGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftDebtGrabber) {\r\n this._subHoldLeftDebtGrabber.unsubscribe();\r\n }\r\n if (this._subHoldRightNextPayGrabber) {\r\n this._subHoldRightNextPayGrabber.unsubscribe();\r\n }\r\n if (this._subHoldLeftNextPayGrabber) {\r\n this._subHoldLeftNextPayGrabber.unsubscribe();\r\n }\r\n }\r\n\r\n /** Подписываемся на ползунки расширения колонок */\r\n private registerGrabbers() {\r\n // switchMap is extremely helpful\r\n // map source observable to inner observable. remember it as switch to new observable.\r\n let mouseholdAccRight$ = this.mousedownAccRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdAccLeft$ = this.mousedownAccLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdAyearRight$ = this.mousedownAyearRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdAyearLeft$ = this.mousedownAyearLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdDebtRight$ = this.mousedownDebtRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdDebtLeft$ = this.mousedownDebtLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdNextPayRight$ = this.mousedownNextPayRight$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n let mouseholdNextPayLeft$ = this.mousedownNextPayLeft$.switchMap(() => this.mousemove$).takeUntil(this.mouseup$);\r\n\r\n\r\n this._subHoldRightAccGrabber = mouseholdAccRight$.subscribe((e) => {\r\n this.onMoveAccGrabber(e);\r\n })\r\n this._subHoldLeftAccGrabber = mouseholdAccLeft$.subscribe((e) => {\r\n this.onMoveAccGrabber(e);\r\n })\r\n\r\n this._subHoldRightAyearGrabber = mouseholdAyearRight$.subscribe((e) => {\r\n this.onMoveAyearGrabber(e);\r\n })\r\n this._subHoldLeftAyearGrabber = mouseholdAyearLeft$.subscribe((e) => {\r\n this.onMoveAyearGrabber(e);\r\n })\r\n\r\n this._subHoldRightDebtGrabber = mouseholdDebtRight$.subscribe((e) => {\r\n this.onMoveDebtGrabber(e);\r\n })\r\n this._subHoldLeftDebtGrabber = mouseholdDebtLeft$.subscribe((e) => {\r\n this.onMoveDebtGrabber(e);\r\n }) \r\n \r\n this._subHoldRightNextPayGrabber = mouseholdNextPayRight$.subscribe((e) => {\r\n this.onMoveNextPayGrabber(e);\r\n })\r\n this._subHoldLeftNextPayGrabber = mouseholdNextPayLeft$.subscribe((e) => {\r\n this.onMoveNextPayGrabber(e);\r\n })\r\n }\r\n\r\n /** РАсчет ширины столбцов при изменении размера столбца номера договора */\r\n private onMoveAccGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n if (this.widthDocNo + diff >= 33) {\r\n this.widthDocNo = this.widthDocNo + diff;\r\n } else {\r\n return;\r\n }\r\n\r\n if (this.widthAcc - diff >= 33) {\r\n this.widthAcc = this.widthAcc - diff;\r\n } else if (this.widthAyear - diff >= 33) {\r\n this.widthAyear = this.widthAyear - diff;\r\n } else if (this.widthDebt - diff >= 33) {\r\n this.widthDebt = this.widthDebt - diff;\r\n } else if (this.widthNextPay - diff >= 33) {\r\n this.widthNextPay = this.widthNextPay - diff;\r\n } else {\r\n this.widthDocNo = this.widthDocNo - diff;\r\n }\r\n }\r\n }\r\n\r\n /** РАсчет ширины столбцов при изменении размера столбца годовой суммы */\r\n private onMoveAyearGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n\r\n if (this.widthAcc + diff >= 33) {\r\n this.widthAcc = this.widthAcc + diff;\r\n } else if (this.widthDocNo + diff >= 33) {\r\n this.widthDocNo = this.widthDocNo + diff;\r\n } else {\r\n return;\r\n }\r\n\r\n if (this.widthAyear - diff >= 33) {\r\n this.widthAyear = this.widthAyear - diff;\r\n } else if (this.widthDebt - diff >= 33) {\r\n this.widthDebt = this.widthDebt - diff;\r\n } else if (this.widthNextPay - diff >= 33) {\r\n this.widthNextPay = this.widthNextPay - diff;\r\n } else {\r\n this.widthAcc = this.widthAcc - diff;\r\n }\r\n }\r\n }\r\n\r\n \r\n /** Расчет ширины столбцов при изменении размера столбца задолженности */\r\n private onMoveDebtGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n \r\n if (this.widthAyear + diff >= 33) {\r\n this.widthAyear = this.widthAyear + diff;\r\n } else if (this.widthAcc + diff >= 33) {\r\n this.widthAcc = this.widthAcc + diff;\r\n } else if (this.widthDocNo + diff >= 33) {\r\n this.widthDocNo = this.widthDocNo + diff;\r\n } else {\r\n return;\r\n }\r\n\r\n if (this.widthDebt - diff >= 33) {\r\n this.widthDebt = this.widthDebt - diff;\r\n } else if (this.widthNextPay - diff >= 33) {\r\n this.widthNextPay = this.widthNextPay - diff;\r\n } else {\r\n this.widthAyear = this.widthAyear - diff;\r\n }\r\n }\r\n }\r\n\r\n \r\n /** РАсчет ширины столбцов при изменении размера столбца суммы следующего платежа */\r\n private onMoveNextPayGrabber(e) {\r\n let diff = (e.x - this.oldMouseX);\r\n this.oldMouseX = e.x;\r\n if (!Number.isNaN(diff)) {\r\n \r\n if (this.widthDebt + diff >= 33) {\r\n this.widthDebt = this.widthDebt + diff;\r\n } else if (this.widthAyear + diff >= 33) {\r\n this.widthAyear = this.widthAyear + diff;\r\n } else if (this.widthAcc + diff >= 33) {\r\n this.widthAcc = this.widthAcc + diff;\r\n } else if (this.widthDocNo + diff >= 33) {\r\n this.widthDocNo = this.widthDocNo + diff;\r\n } else {\r\n return;\r\n }\r\n\r\n if (this.widthNextPay - diff >= 33) {\r\n this.widthNextPay = this.widthNextPay - diff;\r\n } else {\r\n this.widthDebt = this.widthDebt - diff;\r\n }\r\n }\r\n }\r\n\r\n private setError(error: string) {\r\n this.error = error;\r\n }\r\n}","export default \"/* Панель логина/пароля, отцентрированное в середину экрана*/\\r\\n\\r\\n.wrap {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100vh;\\r\\n}\\r\\n\\r\\n.app-login {\\r\\n background-color: white;\\r\\n padding: 20px;\\r\\n z-index: 100;\\r\\n border-radius: 10px;\\r\\n padding-left: 40px;\\r\\n padding-right: 40px;\\r\\n padding-top: 50px;\\r\\n padding-bottom: 50px;\\r\\n}\\r\\n\\r\\n/* Заголовок */\\r\\n\\r\\n#app-login-title {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n#app-login-title h3 {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n#app-login-title span {\\r\\n font-size: 18px;\\r\\n color: #666666;\\r\\n}\\r\\n\\r\\n/* Панель с ошибками */\\r\\n\\r\\n.bars-error-panel {\\r\\n color: #EB5757;\\r\\n align-items: center;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.bars-error-panel img {\\r\\n margin-right: 10px;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n}\\r\\n\\r\\n/* Панель с кнопкой */\\r\\n\\r\\n.button-panel {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.button-panel .label-check {\\r\\n margin-left: 8px;\\r\\n margin-bottom: 0px;\\r\\n color: #828282;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.forget-pass-link {\\r\\n /* color: #2F80ED;*/\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n margin-left: 23px;\\r\\n}\\r\\n\\r\\n/* Кнопка логина */\\r\\n\\r\\n.login-button {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0px !important;\\r\\n border-radius: 10px;\\r\\n height: 46px;\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n background-color: #2F80ED;\\r\\n}\\r\\n\\r\\n.login-esia-button {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0px !important;\\r\\n margin-top: 20px;\\r\\n border-radius: 10px;\\r\\n height: 46px;\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n background-color: #2F80ED;\\r\\n width: 369px;\\r\\n}\\r\\n\\r\\n.fa-spin {\\r\\n -webkit-animation: fa-spin 2s infinite linear;\\r\\n animation: fa-spin 2s infinite linear;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.form-group label {\\r\\n font-size: 14px;\\r\\n margin-left: 16px;\\r\\n color: #666666;\\r\\n}\\r\\n\\r\\n.app-login input[type=\\\"checkbox\\\"] {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.password-eye-icon {\\r\\n background: url('eye.png') left bottom no-repeat;\\r\\n float: right;\\r\\n margin-right: 10px;\\r\\n margin-top: -38px;\\r\\n position: relative;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n\\r\\n.password-eye-no-icon {\\r\\n background: url('eye-no.png') left bottom no-repeat;\\r\\n float: right;\\r\\n margin-right: 10px;\\r\\n margin-top: -38px;\\r\\n position: relative;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n\\r\\n.app-login input[type=\\\"text\\\"],\\r\\ninput[type=\\\"password\\\"] {\\r\\n border-radius: 10px;\\r\\n height: 55px;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n border: 1px solid #BDBDBD;\\r\\n color: #333333 !important;\\r\\n}\\r\\n\\r\\n.app-login input[type=\\\"text\\\"]:focus,\\r\\ninput[type=\\\"password\\\"]:focus {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n\\r\\n.app-bg {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: url('login_bg.png') left bottom no-repeat;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n.remember-me-color {\\r\\n color: #2F80ED;\\r\\n}\\r\\n\\r\\n.remember-me-border {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n\\r\\n.error-border {\\r\\n border-color: #EB5757 !important;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-login {\\r\\n padding-left: 28px;\\r\\n padding-right: 31px;\\r\\n width: 340px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 16px;\\r\\n }\\r\\n .login-button {\\r\\n width: 98px;\\r\\n }\\r\\n .login-esia-button {\\r\\n margin-top: 13px;\\r\\n width: 279px;\\r\\n height: 35px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 500px) {\\r\\n .app-login {\\r\\n padding-left: 40px;\\r\\n padding-right: 40px;\\r\\n width: 450px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 18px;\\r\\n }\\r\\n .login-button {\\r\\n width: 141px;\\r\\n }\\r\\n .login-esia-button {\\r\\n margin-top: 20px;\\r\\n width: 369px;\\r\\n height: 46px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDs7QUFFNUQ7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtBQUN4Qjs7QUFHQSxjQUFjOztBQUVkO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixjQUFjO0FBQ2xCOztBQUdBLHNCQUFzQjs7QUFFdEI7SUFDSSxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFHQSxxQkFBcUI7O0FBRXJCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUdBLGtCQUFrQjs7QUFFbEI7SUFDSSw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osZUFBZTtJQUNmLDJDQUEyQztJQUMzQyx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZiwyQ0FBMkM7SUFDM0MseUJBQXlCO0lBQ3pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSw2Q0FBNkM7SUFDN0MscUNBQXFDO0FBQ3pDOztBQUVBO0lBQ0k7UUFFSSx1QkFBdUI7SUFDM0I7SUFDQTtRQUVJLHlCQUF5QjtJQUM3QjtBQUNKOztBQUVBO0lBQ0k7UUFFSSx1QkFBdUI7SUFDM0I7SUFDQTtRQUVJLHlCQUF5QjtJQUM3QjtBQUNKOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxnREFBc0U7SUFDdEUsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbURBQXlFO0lBQ3pFLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTs7SUFFSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtBQUM3Qjs7QUFFQTs7SUFFSSxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHFEQUEyRTtJQUMzRSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFFBQVE7SUFDUixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0k7UUFDSSxrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLFlBQVk7SUFDaEI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7SUFDQTtRQUNJLFdBQVc7SUFDZjtJQUNBO1FBQ0ksZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixZQUFZO0lBQ2hCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixZQUFZO0lBQ2hCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiDQn9Cw0L3QtdC70Ywg0LvQvtCz0LjQvdCwL9C/0LDRgNC+0LvRjywg0L7RgtGG0LXQvdGC0YDQuNGA0L7QstCw0L3QvdC+0LUg0LIg0YHQtdGA0LXQtNC40L3RgyDRjdC60YDQsNC90LAqL1xyXG5cclxuLndyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG5cclxuLyog0JfQsNCz0L7Qu9C+0LLQvtC6ICovXHJcblxyXG4jYXBwLWxvZ2luLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuI2FwcC1sb2dpbi10aXRsZSBoMyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuXHJcbiNhcHAtbG9naW4tdGl0bGUgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzY2NjY2NjtcclxufVxyXG5cclxuXHJcbi8qINCf0LDQvdC10LvRjCDRgSDQvtGI0LjQsdC60LDQvNC4ICovXHJcblxyXG4uYmFycy1lcnJvci1wYW5lbCB7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uYmFycy1lcnJvci1wYW5lbCBpbWcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgd2lkdGg6IDE3cHg7XHJcbn1cclxuXHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0LrQvdC+0L/QutC+0LkgKi9cclxuXHJcbi5idXR0b24tcGFuZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYnV0dG9uLXBhbmVsIC5sYWJlbC1jaGVjayB7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5mb3JnZXQtcGFzcy1saW5rIHtcclxuICAgIC8qICBjb2xvcjogIzJGODBFRDsqL1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgICBtYXJnaW4tbGVmdDogMjNweDtcclxufVxyXG5cclxuXHJcbi8qINCa0L3QvtC/0LrQsCDQu9C+0LPQuNC90LAgKi9cclxuXHJcbi5sb2dpbi1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRjgwRUQ7XHJcbn1cclxuXHJcbi5sb2dpbi1lc2lhLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRjgwRUQ7XHJcbiAgICB3aWR0aDogMzY5cHg7XHJcbn1cclxuXHJcbi5mYS1zcGluIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmEtc3BpbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1ncm91cCBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxufVxyXG5cclxuLnBhc3N3b3JkLWV5ZS1pY29uIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnYXBwL2NvbXBvbmVudHMvaW1hZ2VzL2V5ZS5wbmcnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzhweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4ucGFzc3dvcmQtZXllLW5vLWljb24ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdhcHAvY29tcG9uZW50cy9pbWFnZXMvZXllLW5vLnBuZycpIGxlZnQgYm90dG9tIG5vLXJlcGVhdDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IC0zOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREJEQkQ7XHJcbiAgICBjb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMkY4MEVEICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtYmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2FwcC9jb21wb25lbnRzL2ltYWdlcy9sb2dpbl9iZy5wbmcnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi5yZW1lbWJlci1tZS1jb2xvciB7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxufVxyXG5cclxuLnJlbWVtYmVyLW1lLWJvcmRlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICMyRjgwRUQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmVycm9yLWJvcmRlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICNFQjU3NTcgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwcHgpIHtcclxuICAgIC5hcHAtbG9naW4ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMXB4O1xyXG4gICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgIH1cclxuICAgIC5idXR0b24tcGFuZWwgLmxhYmVsLWNoZWNrIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAubG9naW4tYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogOThweDtcclxuICAgIH1cclxuICAgIC5sb2dpbi1lc2lhLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcclxuICAgICAgICB3aWR0aDogMjc5cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xyXG4gICAgLmFwcC1sb2dpbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1wYW5lbCAubGFiZWwtY2hlY2sge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgIC5sb2dpbi1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxNDFweDtcclxuICAgIH1cclxuICAgIC5sb2dpbi1lc2lhLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB3aWR0aDogMzY5cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { EsiaService } from '../../services/esia.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: 'login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\n/** Контроллер формы входа */\r\nexport class LoginComponent implements OnInit {\r\n /** Форма входа */\r\n public loginForm: FormGroup;\r\n /** Флаг выполнения запроса входа */\r\n public loading = false;\r\n /** Флаг подтверждения данных формы */\r\n public submitted = false;\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n /** Нажата галка \"запомнить меня\" */\r\n public rememberMeMode: boolean;\r\n /** Флаг возможности входа по ЕСИА */\r\n public isHaveEsia = false;\r\n /** Нажата кнопка просмотра пароля */\r\n public isShowPasswordPressed = false;\r\n /** Адрес перехода при успешном входе */\r\n private returnUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param formBuilder Построитель элементов формы\r\n * @param route Объект хранящий информацию о запросе\r\n * @param router Модуль маршрутизации\r\n * @param authenticationService Сервис аутентификации пользователя\r\n * @param activatedRoute Сервис маршуртизации по ссылке\r\n */\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private esiaService: EsiaService,\r\n private activatedRoute: ActivatedRoute) {\r\n }\r\n\r\n /** Свойсто для упрощения доступа к элементам формы */\r\n get form() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n /** Действия выполняемые при создании объекта,\r\n * инициализация полей формы и адреса перехода\r\n */\r\n public ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required],\r\n isRememberUser: []\r\n });\r\n this.authenticationService.logout();\r\n this.returnUrl = this.route.snapshot.queryParams.returnUrl || '/';\r\n\r\n this.esiaService.getIsHaveEsia().subscribe(\r\n (result) => {\r\n this.isHaveEsia = result;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n });\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n const code = params['code'];\r\n const state = params['state'];\r\n if (code && state){\r\n this.loading = true;\r\n this.authenticationService.loginByEsia(code, state, this.form.isRememberUser.value).subscribe(\r\n (result) => {\r\n this.router.navigate([this.returnUrl]);\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n });\r\n }\r\n });\r\n }\r\n\r\n /** Сменить тип поля ввода пароля */\r\n public changePasswordType(input: any) {\r\n input.type = input.type === 'password' ? 'text' : 'password';\r\n this.isShowPasswordPressed = !this.isShowPasswordPressed;\r\n }\r\n\r\n /** Обработчик нажатия кнопки входа */\r\n public onSubmit() {\r\n this.errorMessage = null;\r\n this.submitted = true;\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n this.authenticationService.login(this.form.username.value,\r\n this.form.password.value,\r\n this.form.isRememberUser.value).subscribe(\r\n (result) => {\r\n this.router.navigate([this.returnUrl]);\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n });\r\n }\r\n\r\n /**\r\n * Вход через ЕСИА\r\n */\r\n public esiaEnter() {\r\n this.esiaService.getRedirect().subscribe(\r\n (result) => {\r\n window.location.href = result;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n });\r\n }\r\n}\r\n","export default \".app-top-block {\\r\\n display: flex;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.app-tenant-info {\\r\\n display: flex;\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-debt-info {\\r\\n display: flex;\\r\\n margin-right: 16px;\\r\\n}\\r\\n\\r\\n.app-mobile-version-info {\\r\\n height: 320px;\\r\\n}\\r\\n\\r\\n.app-list-dogovor-main {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-mobile-version-info {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-top-block {\\r\\n display: inherit;\\r\\n margin-top: 16px;\\r\\n }\\r\\n .app-debt-info {\\r\\n margin-top: 16px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7UUFDSSxhQUFhO0lBQ2pCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGdCQUFnQjtRQUNoQixnQkFBZ0I7SUFDcEI7SUFDQTtRQUNJLGdCQUFnQjtJQUNwQjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtdG9wLWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYXBwLXRlbmFudC1pbmZvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtZGVidC1pbmZvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtbW9iaWxlLXZlcnNpb24taW5mbyB7XHJcbiAgICBoZWlnaHQ6IDMyMHB4O1xyXG59XHJcblxyXG4uYXBwLWxpc3QtZG9nb3Zvci1tYWluIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcclxuICAgIC5hcHAtbW9iaWxlLXZlcnNpb24taW5mbyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLXRvcC1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1kZWJ0LWluZm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICB9XHJcbn0iXX0= */\"","import {OnInit} from \"@angular/core\";\r\nimport {Component} from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ReviseActComponent } from \"../revise-act/revise-act.component\";\r\nimport { Route } from \"@angular/compiler/src/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { PayWaitComponent } from \"../pay-wait/pay-wait.component\";\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: 'main.component.html',\r\n styleUrls: ['./main.component.css']\r\n})\r\n/** Главная страница */\r\nexport class MainComponent implements OnInit {\r\n /**\r\n * Конструктор\r\n * @param referenceService Сервис справочников\r\n * @param dialog Диалоговые окна\r\n * @param alertService сообщения об ошибках\r\n */\r\n constructor(\r\n public dialog: MatDialog,\r\n public route: ActivatedRoute\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n const orderId = +this.route.snapshot.queryParamMap.get(\"Order_ID\");\r\n if (orderId) {\r\n const dialogRef = this.dialog.open(PayWaitComponent, {\r\n panelClass: 'app-dialog-container', \r\n data: {\r\n orderId: orderId\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export default \".app-mobile-version-info {\\r\\n position: relative;\\r\\n display: inherit;\\r\\n width: 268px;\\r\\n height: 320px;\\r\\n background: #FFFFFF;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-mobile-version-header {\\r\\n display: flex;\\r\\n padding: 24px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.app-page-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n color: #333333;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.app-mobile-version-text {\\r\\n font-family: Roboto;\\r\\n font-size: 12px;\\r\\n line-height: 14px;\\r\\n color: #828282;\\r\\n padding-left: 24px;\\r\\n padding-right: 24px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n.app-qr-block {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.app-qr-img {\\r\\n position: relative;\\r\\n width: 140px;\\r\\n height: 140px;\\r\\n padding-left: 26px;\\r\\n padding-top: 22px;\\r\\n z-index: 2;\\r\\n}\\r\\n\\r\\n.app-bg-img {\\r\\n position: absolute;\\r\\n width: 176px;\\r\\n height: 178px;\\r\\n left: 80px;\\r\\n top: 0px;\\r\\n z-index: 1;\\r\\n opacity: 40%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tb2JpbGUtdmVyc2lvbi9tb2JpbGUtdmVyc2lvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGFBQWE7SUFDYixVQUFVO0lBQ1YsUUFBUTtJQUNSLFVBQVU7SUFDVixZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9tb2JpbGUtdmVyc2lvbi9tb2JpbGUtdmVyc2lvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1tb2JpbGUtdmVyc2lvbi1pbmZvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICB3aWR0aDogMjY4cHg7XHJcbiAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLW1vYmlsZS12ZXJzaW9uLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjRweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5hcHAtcGFnZS1pbWcge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLW1vYmlsZS12ZXJzaW9uLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5hcHAtcXItYmxvY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYXBwLXFyLWltZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcbiAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIycHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uYXBwLWJnLWltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTc2cHg7XHJcbiAgICBoZWlnaHQ6IDE3OHB4O1xyXG4gICAgbGVmdDogODBweDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG9wYWNpdHk6IDQwJTtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'mobile-version-info',\r\n templateUrl: 'mobile-version.component.html',\r\n styleUrls: ['./mobile-version.component.css']\r\n})\r\n/** Контроллер блока информации о мобильной версии */\r\nexport class MobileVersionComponent implements OnInit {\r\n\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param formBuilder Построитель элементов формы\r\n * @param route Объект хранящий информацию о запросе\r\n * @param router Модуль маршрутизации\r\n * @param authenticationService Сервис аутентификации пользователя\r\n */\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n /** Действия выполняемые при создании объекта,\r\n * инициализация полей формы и адреса перехода\r\n */\r\n public ngOnInit() {\r\n }\r\n}\r\n","export default \"/* Панель логина/пароля, отцентрированное в середину экрана*/\\r\\n.wrap {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100vh;\\r\\n}\\r\\n.app-login {\\r\\n background-color: white;\\r\\n padding: 20px;\\r\\n z-index: 100;\\r\\n border-radius: 10px;\\r\\n padding-left: 40px;\\r\\n padding-right: 40px;\\r\\n padding-top: 50px;\\r\\n padding-bottom: 50px;\\r\\n}\\r\\n/* Заголовок */\\r\\n#app-login-title {\\r\\n text-align: center;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n#app-login-title h3 {\\r\\n font-size: 24px;\\r\\n margin-bottom: 13px;\\r\\n}\\r\\n.app-login-title-level1 {\\r\\n font-size: 18px;\\r\\n color: #666666;\\r\\n}\\r\\n.app-login-title-level2 {\\r\\n font-size: 13px;\\r\\n color: #2F80ED;\\r\\n margin-top: 11px;\\r\\n}\\r\\n/* Панель с ошибками */\\r\\n.bars-error-panel {\\r\\n color: #EB5757;\\r\\n align-items: center;\\r\\n font-size: 14px;\\r\\n display:flex;\\r\\n justify-content: center;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.bars-error-panel img {\\r\\n margin-right: 10px;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n}\\r\\n/* Панель с кнопкой */\\r\\n.button-panel {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-top: 24px;\\r\\n}\\r\\n.button-panel .label-check {\\r\\n margin-left: 8px;\\r\\n margin-bottom: 0px;\\r\\n color: #828282;\\r\\n font-size: 18px;\\r\\n}\\r\\n.forget-pass-link {\\r\\n /* color: #2F80ED;*/\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n margin-left: 23px;\\r\\n}\\r\\n/* Кнопка логина */\\r\\n.login-button {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0px !important;\\r\\n border-radius: 10px;\\r\\n height: 46px;\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n background-color: #2F80ED;\\r\\n}\\r\\n.fa-spin {\\r\\n -webkit-animation: fa-spin 2s infinite linear;\\r\\n animation: fa-spin 2s infinite linear;\\r\\n}\\r\\n@-webkit-keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n@keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n.form-group label {\\r\\n font-size: 14px;\\r\\n margin-left: 16px;\\r\\n color: #666666;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"], input[type=\\\"password\\\"] {\\r\\n border-radius: 10px;\\r\\n height: 55px;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n border: 1px solid #2F80ED;\\r\\n color: #333333 !important;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"]:focus, input[type=\\\"password\\\"]:focus {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.app-bg {\\r\\n width:100%;\\r\\n height:100%;\\r\\n background:url('login_bg.png') left bottom no-repeat;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n z-index: 0;\\r\\n}\\r\\n.remember-me-color {\\r\\n color: #2F80ED;\\r\\n}\\r\\n.remember-me-border {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.error-border {\\r\\n border-color: #EB5757 !important;\\r\\n}\\r\\n.big-info {\\r\\n display: flex;\\r\\n background: rgba(47, 128, 237, 0.2);\\r\\n border: 1px solid #4394FF;\\r\\n padding: 16px;\\r\\n color: #2F80ED;\\r\\n justify-content: center;\\r\\n align-items: center; \\r\\n}\\r\\n.big-info img {\\r\\n margin-right: 16px;\\r\\n}\\r\\n.app-button-disable {\\r\\n background: #BDBDBD !important;\\r\\n cursor: not-allowed;\\r\\n pointer-events: none;\\r\\n}\\r\\n.app-button {\\r\\n width: 150px;\\r\\n}\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-login {\\r\\n width: 340px;\\r\\n padding-right: 30px;\\r\\n padding-left: 30px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 16px;\\r\\n }\\r\\n .login-button {\\r\\n height: 35px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 500px) {\\r\\n .app-login {\\r\\n width: 450px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 18px;\\r\\n }\\r\\n /*.login-button {*/\\r\\n /*width: 167px;*/\\r\\n /*}*/\\r\\n .big-info img {\\r\\n display: inline;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYXNzd29yZC1yZWNvdmVyeS9wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RDtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7QUFHQSxjQUFjO0FBQ2Q7SUFDSSxrQkFBa0I7SUFDbEIsb0JBQW9CO0FBQ3hCO0FBRUE7SUFDSSxlQUFlO0lBQ2YsbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjtBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7QUFHQSxzQkFBc0I7QUFDdEI7SUFDSSxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osV0FBVztBQUNmO0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7QUFHQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7QUFDbkI7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsY0FBYztJQUNkLGlCQUFpQjtBQUNyQjtBQUdBLGtCQUFrQjtBQUNsQjtJQUNJLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixlQUFlO0lBQ2YsMkNBQTJDO0lBQzNDLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksNkNBQTZDO0lBQzdDLHFDQUFxQztBQUN6QztBQUVBO0lBQ0k7UUFFSSx1QkFBdUI7SUFDM0I7SUFDQTtRQUVJLHlCQUF5QjtJQUM3QjtBQUNKO0FBRUE7SUFDSTtRQUVJLHVCQUF1QjtJQUMzQjtJQUNBO1FBRUkseUJBQXlCO0lBQzdCO0FBQ0o7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztBQUNsQjtBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6Qix5QkFBeUI7QUFDN0I7QUFFQTtJQUNJLGdDQUFnQztBQUNwQztBQUVBO0lBQ0ksVUFBVTtJQUNWLFdBQVc7SUFDWCxvREFBMEU7SUFDMUUsa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtBQUNkO0FBRUE7SUFDSSxjQUFjO0FBQ2xCO0FBQ0E7SUFDSSxnQ0FBZ0M7QUFDcEM7QUFFQTtJQUNJLGdDQUFnQztBQUNwQztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1DQUFtQztJQUNuQyx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsb0JBQW9CO0FBQ3hCO0FBRUE7SUFDSSxZQUFZO0FBQ2hCO0FBRUE7SUFDSTtRQUNJLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsa0JBQWtCO0lBQ3RCO0lBQ0E7UUFDSSxlQUFlO0lBQ25CO0lBQ0E7UUFDSSxZQUFZO0lBQ2hCO0FBQ0o7QUFFQTtJQUNJO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtJQUNBLGtCQUFrQjtRQUNkLGdCQUFnQjtJQUNwQixJQUFJO0lBQ0o7UUFDSSxlQUFlO0lBQ25CO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3Bhc3N3b3JkLXJlY292ZXJ5L3Bhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiDQn9Cw0L3QtdC70Ywg0LvQvtCz0LjQvdCwL9C/0LDRgNC+0LvRjywg0L7RgtGG0LXQvdGC0YDQuNGA0L7QstCw0L3QvdC+0LUg0LIg0YHQtdGA0LXQtNC40L3RgyDRjdC60YDQsNC90LAqL1xyXG4ud3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG4uYXBwLWxvZ2luIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuXHJcbi8qINCX0LDQs9C+0LvQvtCy0L7QuiAqL1xyXG4jYXBwLWxvZ2luLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4jYXBwLWxvZ2luLXRpdGxlIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4tdGl0bGUtbGV2ZWwxIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luLXRpdGxlLWxldmVsMiB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxuICAgIG1hcmdpbi10b3A6IDExcHg7XHJcbn1cclxuXHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0L7RiNC40LHQutCw0LzQuCAqL1xyXG4uYmFycy1lcnJvci1wYW5lbCB7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmJhcnMtZXJyb3ItcGFuZWwgaW1nIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGhlaWdodDogMTdweDtcclxuICAgIHdpZHRoOiAxN3B4O1xyXG59XHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0LrQvdC+0L/QutC+0LkgKi9cclxuLmJ1dHRvbi1wYW5lbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbn1cclxuXHJcblxyXG4uYnV0dG9uLXBhbmVsIC5sYWJlbC1jaGVjayB7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5mb3JnZXQtcGFzcy1saW5rIHtcclxuICAgIC8qICBjb2xvcjogIzJGODBFRDsqL1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgICBtYXJnaW4tbGVmdDogMjNweDtcclxufVxyXG5cclxuXHJcbi8qINCa0L3QvtC/0LrQsCDQu9C+0LPQuNC90LAgKi9cclxuLmxvZ2luLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJGODBFRDtcclxufVxyXG5cclxuLmZhLXNwaW4ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYS1zcGluIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRjgwRUQ7XHJcbiAgICBjb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMkY4MEVEICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtYmcge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgYmFja2dyb3VuZDp1cmwoJ2FwcC9jb21wb25lbnRzL2ltYWdlcy9sb2dpbl9iZy5wbmcnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi5yZW1lbWJlci1tZS1jb2xvciB7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxufVxyXG4ucmVtZW1iZXItbWUtYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzJGODBFRCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZXJyb3ItYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogI0VCNTc1NyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmlnLWluZm8ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDEyOCwgMjM3LCAwLjIpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQzOTRGRjtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXHJcbn1cclxuXHJcbi5iaWctaW5mbyBpbWcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbi1kaXNhYmxlIHtcclxuICAgIGJhY2tncm91bmQ6ICNCREJEQkQgICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5hcHAtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwcHgpIHtcclxuICAgIC5hcHAtbG9naW4ge1xyXG4gICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIH1cclxuICAgIC5idXR0b24tcGFuZWwgLmxhYmVsLWNoZWNrIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAubG9naW4tYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XHJcbiAgICAuYXBwLWxvZ2luIHtcclxuICAgICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLXBhbmVsIC5sYWJlbC1jaGVjayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG4gICAgLyoubG9naW4tYnV0dG9uIHsqL1xyXG4gICAgICAgIC8qd2lkdGg6IDE2N3B4OyovXHJcbiAgICAvKn0qL1xyXG4gICAgLmJpZy1pbmZvIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-password-recovery',\r\n templateUrl: 'password-recovery.component.html',\r\n styleUrls: ['./password-recovery.component.css']\r\n})\r\n/** Контроллер формы восстановления пароля */\r\nexport class PasswordRecoveryComponent implements OnInit {\r\n\r\n /** Введённое значение логина */\r\n public loginValue;\r\n\r\n /** Введённое значение пароля */\r\n public emailValue;\r\n\r\n /** Флаг что поля ввода не валидные */\r\n public fieldsNotValid: boolean = true;\r\n\r\n /** Флаг выполнения запроса входа */\r\n public loading = false;\r\n\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n\r\n /** Сообщение об ошибке */\r\n public hintMessage: string = 'На этот E-mail будет отправлено письмо с временным паролем';\r\n\r\n /**\r\n * Конструктор\r\n * @param router Модуль маршрутизации\r\n * @param authenticationService Сервис аутентификации пользователя\r\n */\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService) {\r\n }\r\n\r\n // tslint:disable-next-line:no-empty\r\n public ngOnInit(): void {}\r\n\r\n /**\r\n * Проверить поля ввода на валидность\r\n */\r\n public validateFields() {\r\n this.fieldsNotValid = !this.loginValue || !this.emailValue;\r\n }\r\n\r\n /** Обработчик нажатия кнопки входа */\r\n public onSubmit() {\r\n this.loading = true;\r\n this.errorMessage = '';\r\n\r\n this.authenticationService.restorePassword(this.loginValue, this.emailValue).subscribe(\r\n (result) => {\r\n this.loading = false;\r\n this.hintMessage = 'Пароль успешно отправлен';\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n });\r\n }\r\n}\r\n","export default \".app-body{\\r\\n margin: 20px;\\r\\n}\\r\\n\\r\\n.app-header{\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px; \\r\\n color: #666666;\\r\\n}\\r\\n\\r\\n.app-attr{\\r\\n margin: 16px;\\r\\n}\\r\\n\\r\\n.app-attr label{\\r\\n font-family: Roboto;\\r\\n}\\r\\n\\r\\n.app-button-pay {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n}\\r\\n\\r\\n.app-buttons {\\r\\n display: flex;\\r\\n margin-top: 16px;\\r\\n margin-left: 24px;\\r\\n margin-bottom: 20px;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.app-buttons button {\\r\\n font-family: Roboto;\\r\\n margin-right: 10px;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n padding-left: 16px;\\r\\n padding-right: 16px;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Панель с ошибками */\\r\\n\\r\\n.bars-error-panel {\\r\\n color: #EB5757;\\r\\n align-items: center;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 10px;\\r\\n margin-left: 16px;\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\n.bars-error-panel img {\\r\\n margin-right: 10px;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n}\\r\\n\\r\\n.app-wait{\\r\\n padding-left: 24px;\\r\\n padding-top: 18px;\\r\\n width: 365px;\\r\\n height: 100px;\\r\\n align-content: center;\\r\\n}\\r\\n\\r\\n.app-wait-pay-span{\\r\\n padding-left: 12px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYXktYnktY2FyZC1hdHRyLXJlcS9wYXktYnktY2FyZC1hdHRyLXJlcS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUNBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7QUFDbkI7O0FBRUEsc0JBQXNCOztBQUV0QjtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osYUFBYTtJQUNiLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGF5LWJ5LWNhcmQtYXR0ci1yZXEvcGF5LWJ5LWNhcmQtYXR0ci1yZXEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtYm9keXtcclxuICBtYXJnaW46IDIwcHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVye1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDsgIFxyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbn1cclxuLmFwcC1hdHRye1xyXG4gIG1hcmdpbjogMTZweDtcclxufVxyXG5cclxuLmFwcC1hdHRyIGxhYmVse1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxufVxyXG5cclxuLmFwcC1idXR0b24tcGF5IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbnMgYnV0dG9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMkY4MEVEO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0L7RiNC40LHQutCw0LzQuCAqL1xyXG5cclxuLmJhcnMtZXJyb3ItcGFuZWwge1xyXG4gICAgY29sb3I6ICNFQjU3NTc7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4uYmFycy1lcnJvci1wYW5lbCBpbWcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgd2lkdGg6IDE3cHg7XHJcbn1cclxuXHJcbi5hcHAtd2FpdHtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xyXG4gICAgd2lkdGg6IDM2NXB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmFwcC13YWl0LXBheS1zcGFue1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG59Il19 */\"","import {MAT_DIALOG_DATA} from '@angular/material';\r\nimport {Component, Inject, OnInit} from '@angular/core';\r\nimport {PayService} from '../../services/pay.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { IDebt } from '../../models/IDebt';\r\nimport { TenantService } from '../../services/tenant.service';\r\n\r\n@Component({\r\n selector: 'pay-by-card-attr-req',\r\n templateUrl: 'pay-by-card-attr-req.component.html',\r\n styleUrls: ['./pay-by-card-attr-req.component.css']\r\n})\r\n/** Контроллер блока ожидания проведения оплаты */\r\nexport class PayByCardAttrReqComponent implements OnInit {\r\n\r\n /** Последняя ошибка с сервера */\r\n public error: string;\r\n\r\n /** Почта */\r\n public mail: string;\r\n\r\n /** Телефон */\r\n public phone: string;\r\n \r\n /** Операции к оплате */\r\n public opersToPay: IDebt[] = [];\r\n\r\n /** Признак заугрузки данных */\r\n public loaded: boolean = false;\r\n\r\n /**\r\n * Конструктор\r\n * @param data Данные переданные в диалоговое окно\r\n * @param payService Сервис платежей\r\n */\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n protected payService: PayService,\r\n protected tenantService: TenantService) {\r\n }\r\n\r\n /** Действия выполняемые при создании объекта,\r\n * инициализация полей формы и адреса перехода\r\n */\r\n public ngOnInit() {\r\n this.opersToPay = this.data.opersToPay;\r\n this.tenantService.getPayRequisites().subscribe(\r\n (info) => { \r\n this.mail = info.find(x => x.FieldName == \"EMAIL\").Value;\r\n this.phone = info.find(x => x.FieldName == \"PHONE\").Value;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n },\r\n () => {\r\n this.loaded = true;\r\n });\r\n }\r\n\r\n /**\r\n * Оплатить\r\n */\r\n public payByCard() {\r\n this.payService.createPayByCard(this.opersToPay).subscribe(\r\n (url) => {\r\n if (url !== 'error') {\r\n window.location.href = url;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n}\r\n}\r\n","export default \"::ng-deep div.app-dialog-container .mat-dialog-container {\\r\\n padding: 0px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-content {\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-wait{\\r\\n padding-left: 24px;\\r\\n padding-top: 18px;\\r\\n width: 365px;\\r\\n height: 100px;\\r\\n align-content: center;\\r\\n}\\r\\n\\r\\n.app-wait-pay-span{\\r\\n padding-left: 12px;\\r\\n}\\r\\n\\r\\n.app-header {\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px; \\r\\n color: #666666;\\r\\n}\\r\\n\\r\\n.app-result {\\r\\n padding-left: 24px;\\r\\n padding-top: 24px;\\r\\n width: 500px;\\r\\n height: 180px;\\r\\n}\\r\\n\\r\\n.app-text {\\r\\n padding-top: 16px;\\r\\n font-family: Roboto;\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n font-size: 20px;\\r\\n line-height: 23px;\\r\\n color: #333333;\\r\\n}\\r\\n\\r\\n.app-sucess-img {\\r\\n position: absolute;\\r\\n width: 110px;\\r\\n height: 84px;\\r\\n z-index: 1;\\r\\n margin-top: 42px;\\r\\n margin-left: 337px;\\r\\n}\\r\\n\\r\\n.app-error-img {\\r\\n position: absolute;\\r\\n width: 110px;\\r\\n height: 110px;\\r\\n z-index: 1;\\r\\n margin-top: 25px;\\r\\n margin-left: 340px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYXktd2FpdC9wYXktd2FpdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGFBQWE7SUFDYixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2IsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3BheS13YWl0L3BheS13YWl0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAgZGl2LmFwcC1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWNvbnRlbnQge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmFwcC13YWl0e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDE4cHg7XHJcbiAgICB3aWR0aDogMzY1cHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uYXBwLXdhaXQtcGF5LXNwYW57XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7ICBcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcblxyXG4uYXBwLXJlc3VsdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgIHdpZHRoOiA1MDBweDtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbn1cclxuXHJcbi5hcHAtdGV4dCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxufVxyXG5cclxuLmFwcC1zdWNlc3MtaW1nIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMTBweDtcclxuICAgIGhlaWdodDogODRweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMzN3B4O1xyXG59XHJcblxyXG4uYXBwLWVycm9yLWltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzQwcHg7XHJcbn0iXX0= */\"","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { PayService } from '../../services/pay.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-pay-wait',\r\n templateUrl: 'pay-wait.component.html',\r\n styleUrls: ['./pay-wait.component.css']\r\n})\r\n/** Контроллер блока ожидания проведения оплаты */\r\nexport class PayWaitComponent implements OnInit {\r\n\r\n /** Последняя ошибка с сервера */\r\n public error: string;\r\n\r\n /** Текущий статус */\r\n public status: string = \"waitReq\";\r\n\r\n /** Время сколько мы будем ожидать ответа */\r\n private timeLeft: number = 40;\r\n\r\n /** Интервал ожидания */\r\n private interval;\r\n\r\n /**\r\n * Конструктор\r\n * @param data Данные переданные в диалоговое окно\r\n * @param payService Сервис платежей\r\n */\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n protected payService: PayService) { }\r\n\r\n /** Действия выполняемые при создании объекта,\r\n * инициализация полей формы и адреса перехода\r\n */\r\n public ngOnInit() {\r\n this.startTimer();\r\n this.orderinfoWait();\r\n }\r\n\r\n /** Ожидание опалты */\r\n private orderinfoWait() {\r\n this.payService.getStatusByOrderId(this.data.orderId).subscribe(\r\n (status) => {\r\n (async () => {\r\n this.status = status;\r\n if (status == \"UrlCreated\" && this.timeLeft > 0) {\r\n await this.delay(500);\r\n this.orderinfoWait();\r\n } else {\r\n if (status == \"UrlCreated\" ) {\r\n this.status = \"Error\"\r\n }\r\n clearInterval(this.interval);\r\n }\r\n })();\r\n }, (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n }\r\n );\r\n\r\n }\r\n\r\n /** Задержка между запросами */\r\n private delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n /** Запуск таймера ожидания ответа */\r\n startTimer() {\r\n this.interval = setInterval(() => {\r\n if (this.timeLeft > 0) {\r\n this.timeLeft--;\r\n } else {\r\n clearInterval(this.interval);\r\n }\r\n }, 1000)\r\n }\r\n}\r\n","export default \"::ng-deep div.app-dialog-container .mat-dialog-container {\\r\\n padding: 0px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-content {\\r\\n width: 605px;\\r\\n height: 388px;\\r\\n}\\r\\n\\r\\n.app-pay-header {\\r\\n display: flex;\\r\\n margin: 24px;\\r\\n margin-bottom: 20px;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-pay-img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-header-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 28px;\\r\\n align-items: center;\\r\\n color: #333333;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.app-error-text {\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.app-close-img {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n margin-top: -15px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.app-toolbar-right {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.app-body {\\r\\n display: flex;\\r\\n margin: 24px;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.app-qr-box {\\r\\n border: 1px solid #828282;\\r\\n width: 250px;\\r\\n height: 250px;\\r\\n margin: 2px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.app-qr-image {\\r\\n margin: 2px;\\r\\n width: 246px;\\r\\n height: 246px;\\r\\n}\\r\\n\\r\\n.app-pay-data {\\r\\n width: 250px;\\r\\n margin-left: 25px;\\r\\n}\\r\\n\\r\\n.app-body-info {\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #828282;\\r\\n margin-bottom: 16px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.app-pay-param {\\r\\n margin-bottom: 13px;\\r\\n}\\r\\n\\r\\n.app-pay-first-param {\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.app-pay-param-name {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #333333;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.app-pay-param-value {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.app-button button {\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n color: #F2F2F2;\\r\\n border: none;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n font-family: Roboto;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n text-align: center;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.app-button-print-check {\\r\\n width: 235px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n.app-button-pay-by-card {\\r\\n width: 187px;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n/*-----------------------*/\\r\\n\\r\\n.app-custom-select {\\r\\n display: flex;\\r\\n border: 1px solid #2F80ED;\\r\\n height: 30px;\\r\\n width: 272px;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n padding-left: 16px;\\r\\n padding-right: 16px;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #666666;\\r\\n}\\r\\n\\r\\n.app-custom-select img {\\r\\n margin-left: auto;\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n}\\r\\n\\r\\n.app-custom-select-body {\\r\\n width: 272px;\\r\\n max-height: 245px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n position: absolute;\\r\\n background-color: white;\\r\\n padding-left: 20px;\\r\\n padding-top: 25px;\\r\\n padding-bottom: 12px;\\r\\n overflow-y: scroll;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.app-custom-select-kbk {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #999999;\\r\\n}\\r\\n\\r\\n.app-custom-select-param {\\r\\n margin-bottom: 16px;\\r\\n color: #333333;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-custom-select-param:nth-child(1) {\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.app-custom-select-body hr {\\r\\n width: 212px;\\r\\n}\\r\\n\\r\\n.app-custom-select-param input[type=\\\"checkbox\\\"] {\\r\\n /* Double-sized Checkboxes */\\r\\n -ms-transform: scale(1.1); /* IE */\\r\\n -moz-transform: scale(1.1); /* FF */\\r\\n -webkit-transform: scale(1.1); /* Safari and Chrome */\\r\\n -o-transform: scale(1.1); /* Opera */\\r\\n margin-right: 7px;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.app-custom-select-param label {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.app-custom-select-body::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n}\\r\\n\\r\\n.app-custom-select-body::-webkit-scrollbar-track {\\r\\n background-color: #C4C4C4;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.app-custom-select-body::-webkit-scrollbar-thumb {\\r\\n background-color: #2F80ED;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.rotate-img {\\r\\n transform: rotate(180deg);\\r\\n}\\r\\n\\r\\n.bars-select {\\r\\n padding: 6px;\\r\\n text-align: center !important;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n display: inline-block;\\r\\n height: 28px;\\r\\n border-radius: 10px !important;\\r\\n border: 1px solid #BDBDBD;\\r\\n background-color: #2F80ED;\\r\\n color: #F2F2F2 !important;\\r\\n height: 32px;\\r\\n width: 235px;\\r\\n height: 32px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.error {\\r\\n font-size: 20px;\\r\\n line-height: 20px;\\r\\n color: #BDBDBD;\\r\\n margin-top: 20px;\\r\\n text-align: center;\\r\\n word-wrap: break-word;\\r\\n}\\r\\n\\r\\n.app-custom-select-pay {\\r\\n color: #2F80ED;\\r\\n}\\r\\n\\r\\n/*-----------------------*/\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-content {\\r\\n width: 300px;\\r\\n height: 635px;\\r\\n }\\r\\n .app-body {\\r\\n display: inherit;\\r\\n margin-top: 15px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .app-pay-data {\\r\\n margin-top: 54px;\\r\\n margin-left: 0px;\\r\\n }\\r\\n\\r\\n .app-custom-select {\\r\\n width: 252px;\\r\\n }\\r\\n\\r\\n .app-custom-select-body {\\r\\n width: 252px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYXkvcGF5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixhQUFhO0lBQ2IsV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFDQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGNBQWM7SUFDZCxZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7QUFDaEI7O0FBRUEsMEJBQTBCOztBQUMxQjtJQUNJLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUNBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGlCQUFpQjtJQUNqQiwyQ0FBMkM7SUFDM0Msa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksNEJBQTRCO0lBQzVCLHlCQUF5QixFQUFFLE9BQU87SUFDbEMsMEJBQTBCLEVBQUUsT0FBTztJQUNuQyw2QkFBNkIsRUFBRSxzQkFBc0I7SUFDckQsd0JBQXdCLEVBQUUsVUFBVTtJQUNwQyxpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFDQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsWUFBWTtJQUNaLDhCQUE4QjtJQUM5Qix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlO0FBQ25COztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBLDBCQUEwQjs7QUFFMUI7SUFDSTtRQUNJLFlBQVk7UUFDWixhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtJQUN0QjtJQUNBO1FBQ0ksZ0JBQWdCO1FBQ2hCLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxZQUFZO0lBQ2hCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3BheS9wYXkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCBkaXYuYXBwLWRpYWxvZy1jb250YWluZXIgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtY29udGVudCB7XHJcbiAgICB3aWR0aDogNjA1cHg7XHJcbiAgICBoZWlnaHQ6IDM4OHB4O1xyXG59XHJcblxyXG4uYXBwLXBheS1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYXBwLXBheS1pbWcge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbn1cclxuXHJcbi5hcHAtaGVhZGVyLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWVycm9yLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5hcHAtY2xvc2UtaW1nIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLmFwcC1ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDI0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuXHJcbi5hcHAtcXItYm94IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4MjgyODI7XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtcXItaW1hZ2Uge1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICB3aWR0aDogMjQ2cHg7XHJcbiAgICBoZWlnaHQ6IDI0NnB4O1xyXG59XHJcblxyXG4uYXBwLXBheS1kYXRhIHtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4uYXBwLWJvZHktaW5mbyB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogIzgyODI4MjtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLXBheS1wYXJhbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG59XHJcbi5hcHAtcGF5LWZpcnN0LXBhcmFtIHtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbn1cclxuXHJcbi5hcHAtcGF5LXBhcmFtLW5hbWUge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLXBheS1wYXJhbS12YWx1ZSB7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBjb2xvcjogIzRGNEY0RjtcclxufVxyXG5cclxuLmFwcC1idXR0b24gYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6ICMyRjgwRUQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgY29sb3I6ICNGMkYyRjI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5hcHAtYnV0dG9uLXByaW50LWNoZWNrIHtcclxuICAgIHdpZHRoOiAyMzVweDtcclxuICAgIGhlaWdodDogMzJweDtcclxufVxyXG5cclxuLmFwcC1idXR0b24tcGF5LWJ5LWNhcmQge1xyXG4gICAgd2lkdGg6IDE4N3B4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmFwcC1jdXN0b20tc2VsZWN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMkY4MEVEO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDI3MnB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcbi5hcHAtY3VzdG9tLXNlbGVjdCBpbWcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmFwcC1jdXN0b20tc2VsZWN0LWJvZHkge1xyXG4gICAgd2lkdGg6IDI3MnB4O1xyXG4gICAgbWF4LWhlaWdodDogMjQ1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5hcHAtY3VzdG9tLXNlbGVjdC1rYmsge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogIzk5OTk5OTtcclxufVxyXG5cclxuLmFwcC1jdXN0b20tc2VsZWN0LXBhcmFtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtY3VzdG9tLXNlbGVjdC1wYXJhbTpudGgtY2hpbGQoMSkge1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxufVxyXG5cclxuLmFwcC1jdXN0b20tc2VsZWN0LWJvZHkgaHIge1xyXG4gICAgd2lkdGg6IDIxMnB4O1xyXG59XHJcblxyXG4uYXBwLWN1c3RvbS1zZWxlY3QtcGFyYW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgIC8qIERvdWJsZS1zaXplZCBDaGVja2JveGVzICovXHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyAvKiBJRSAqL1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IC8qIEZGICovXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi9cclxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgLyogT3BlcmEgKi9cclxuICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG4uYXBwLWN1c3RvbS1zZWxlY3QtcGFyYW0gbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uYXBwLWN1c3RvbS1zZWxlY3QtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDhweDtcclxufVxyXG5cclxuLmFwcC1jdXN0b20tc2VsZWN0LWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNDNEM0QzQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWN1c3RvbS1zZWxlY3QtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJGODBFRDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5yb3RhdGUtaW1nIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbn1cclxuXHJcbi5iYXJzLXNlbGVjdCB7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREJEQkQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkY4MEVEO1xyXG4gICAgY29sb3I6ICNGMkYyRjIgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIHdpZHRoOiAyMzVweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmVycm9yIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgY29sb3I6ICNCREJEQkQ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG4uYXBwLWN1c3RvbS1zZWxlY3QtcGF5IHtcclxuICAgIGNvbG9yOiAjMkY4MEVEO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gICAgLmFwcC1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2MzVweDtcclxuICAgIH1cclxuICAgIC5hcHAtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5hcHAtcGF5LWRhdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDU0cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWN1c3RvbS1zZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiAyNTJweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLWN1c3RvbS1zZWxlY3QtYm9keSB7XHJcbiAgICAgICAgd2lkdGg6IDI1MnB4O1xyXG4gICAgfVxyXG59Il19 */\"","import { ConfigService } from './../../services/config.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, Inject, OnInit, Renderer2, ViewChildren, Input } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material';\r\nimport {MatSelectChange} from '@angular/material/select';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs';\r\nimport {AccountInfoAttrEnum} from '../../models/AccountInfoAttrEnum';\r\nimport { IAccount } from '../../models/IAccount';\r\nimport {IBudget} from '../../models/IBudget';\r\nimport {IReport} from '../../models/IReport';\r\nimport {AccountService} from '../../services/account.service';\r\nimport { ReportService } from '../../services/report.service';\r\nimport {TenantService} from '../../services/tenant.service';\r\nimport {UtilsService} from '../../services/utils.service';\r\n\r\nimport * as FileSaver from 'file-saver';\r\nimport { IDebt } from '../../models/IDebt';\r\nimport {IReportParam} from '../../models/IReportParam';\r\nimport { PayService } from '../../services/pay.service';\r\nimport { PayByCardAttrReqComponent } from '../pay-by-card-attr-req/pay-by-card-attr-req.component';\r\n\r\n@Component({\r\n selector: 'app-pay',\r\n templateUrl: 'pay.component.html',\r\n styleUrls: ['./pay.component.css']\r\n})\r\n/** Контроллер блока информации о мобильной версии */\r\nexport class PayComponent implements OnInit {\r\n\r\n @ViewChildren('id1') checkboxes;\r\n\r\n /** Лицевой счет для которого формируется оплата */\r\n public account: IAccount = {} as IAccount;\r\n /** Сумма к оплате */\r\n public sumToPay: number = 0;\r\n /** Картинка с qr кодом */\r\n public qrImage: any;\r\n /** Последняя ошибка с сервера */\r\n public error: string;\r\n\r\n /** Режим выбора оплаты, селект раскрыт */\r\n public customSelectOpen: boolean = false;\r\n\r\n /** Список бюджетов */\r\n public budgetList: IBudget[];\r\n\r\n public opersToPay: IDebt[] = [];\r\n\r\n /** Текущий бюджет, по которому пользователь хочет платить */\r\n public currentBudgetId: string;\r\n\r\n /** Список доступных платежных квитанций */\r\n public paymentReports: IReport[];\r\n public debts: IDebt[];\r\n public debtsToView: IDebt[];\r\n\r\n /** Есть ли возможность оплатить по карте **/\r\n public isPayWithCard: boolean;\r\n\r\n // Переменные для хранения конфигурации\r\n private isDisabledGenerateReceiptsForSeveralAccruals = false;\r\n\r\n private tenantId: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param data Данные переданные в диалоговое окно\r\n * @param _sanitizer Для создания картинку для отбражения\r\n * @param reportService Сервис работы с отчетами\r\n */\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private _sanitizer: DomSanitizer,\r\n protected accountService: AccountService,\r\n protected reportService: ReportService,\r\n protected tenantService: TenantService,\r\n protected payService: PayService,\r\n private dialog: MatDialog,\r\n private configService: ConfigService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n /** Действия выполняемые при создании объекта,\r\n * инициализация полей формы и адреса перехода\r\n */\r\n public ngOnInit() {\r\n this.configService.getConfig().subscribe((res: any) => {\r\n this.isDisabledGenerateReceiptsForSeveralAccruals = res.isDisabledGenerateReceiptsForSeveralAccruals;\r\n })\r\n this.account = this.data.account;\r\n this.payService.createPayByCardCanExecute().subscribe(\r\n (isCanPay: boolean) => {\r\n this.isPayWithCard = isCanPay\r\n }\r\n );\r\n this.accountService.getDebtForPay(this.data.account.Id).subscribe(\r\n (debts) => {\r\n this.debts = debts;\r\n this.debtsToView = debts;\r\n this.error = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n\r\n this.reportService.getPaymentReports().subscribe(\r\n (reports) => {\r\n this.paymentReports = reports;\r\n }, (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n }\r\n );\r\n\r\n this.tenantService.get().subscribe(\r\n (tenant) => {\r\n this.tenantId = tenant.Id;\r\n }, (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Клик по селекту выбора платежа\r\n */\r\n public clickCustomSelect() {\r\n this.customSelectOpen = !this.customSelectOpen;\r\n\r\n if (!this.customSelectOpen) {\r\n if (this.sumToPay > 0.01) {\r\n this.reportService.getPayQrCodeByDebt(this.opersToPay, this.sumToPay).subscribe(\r\n (qrImage) => {\r\n const objectURL = URL.createObjectURL(qrImage);\r\n this.qrImage = this._sanitizer.bypassSecurityTrustUrl(objectURL);\r\n this.error = null;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n } else {\r\n this.qrImage = null;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Клик по чекбоксу с платежом\r\n * @param budgetId Ид бюджета\r\n * @param sum Сумма платежа\r\n * @param isAdd true если добавить к общей сумме, false если снять выбор и удалить из общей суммы\r\n * @param el элемент на котором сработало событие\r\n */\r\n public clickAddDebt(debt: IDebt, sum: number, isAdd: boolean, el: HTMLInputElement) {\r\n if (debt.PaymentDate) {\r\n return;\r\n }\r\n\r\n const isDisabledForSeveral = this.isDisabledGenerateReceiptsForSeveralAccruals;\r\n\r\n if(isDisabledForSeveral) {\r\n this.checkboxes.map(el => {\r\n el.nativeElement.checked = false;\r\n })\r\n\r\n if(isAdd)\r\n el.checked = true;\r\n }\r\n\r\n if (isAdd && !isDisabledForSeveral) {\r\n if (this.opersToPay.indexOf(debt) === -1) {\r\n this.opersToPay.push(debt);\r\n }\r\n this.debtsToView = this.debts.filter(x => x.IsPeni === debt.IsPeni);\r\n this.sumToPay += sum;\r\n } else if(!isDisabledForSeveral) {\r\n const indexDebt = this.opersToPay.indexOf(debt);\r\n if (indexDebt !== -1) {\r\n this.opersToPay.splice(indexDebt, 1);\r\n }\r\n if (this.opersToPay.length == 0){\r\n this.debtsToView = this.debts;\r\n }\r\n this.sumToPay -= sum;\r\n } else if(isAdd && isDisabledForSeveral) {\r\n if (this.opersToPay.indexOf(debt) === -1) {\r\n this.opersToPay = [debt];\r\n }\r\n this.sumToPay = sum;\r\n } else {\r\n const indexDebt = this.opersToPay.indexOf(debt);\r\n if (indexDebt !== -1) {\r\n this.opersToPay = [];\r\n }\r\n\r\n this.sumToPay = 0;\r\n }\r\n }\r\n\r\n /** Закрытие окна */\r\n public close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n /**\r\n * Выбор отчёта для печати\r\n * @param event\r\n */\r\n public printReport(event: MatSelectChange) {\r\n event.source.writeValue('1'); // В select значение не меняется после выбора\r\n const report: IReport = this.paymentReports.find((x) => x.Id === event.value);\r\n if (! report) {\r\n return;\r\n }\r\n\r\n let operationIdParam: IReportParam = report.Parameters.find((x) => x.ParamName === 'OperationId');\r\n\r\n if (! operationIdParam) {\r\n operationIdParam = {\r\n ParamName: 'OperationId',\r\n ParamType: 'String'\r\n } as IReportParam\r\n\r\n report.Parameters.push(operationIdParam);\r\n }\r\n\r\n operationIdParam.ParamValue = this.opersToPay[0].OperationId;\r\n\r\n this.reportService.getReport(report.Id, report.Parameters).subscribe(\r\n (response) => {\r\n FileSaver.saveAs(response, report.Name + '.pdf');\r\n });\r\n }\r\n\r\n /**\r\n * Оплата по карте\r\n */\r\n public payByCard(): void {\r\n this.payService.createPayByCard(this.opersToPay).subscribe(\r\n (url) => {\r\n if (url !== 'error') {\r\n window.open(url);\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = UtilsService.getErrorText(error);\r\n });\r\n }\r\n\r\n /**\r\n * Обработать полученные бюджеты\r\n */\r\n private handleBudgets() {\r\n this.budgetList = [];\r\n this.budgetList.push(this.account.BudgetObjaz);\r\n if (this.budgetList.every((x) => x.Id !== this.account.BudgetFine.Id)) {\r\n this.budgetList.push(this.account.BudgetFine);\r\n }\r\n if (this.budgetList.every((x) => x.Id !== this.account.BudgetPeni.Id)) {\r\n this.budgetList.push(this.account.BudgetPeni);\r\n }\r\n }\r\n}\r\n","export default \"/* Панель логина/пароля, отцентрированное в середину экрана*/\\r\\n.wrap {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100vh;\\r\\n}\\r\\n.app-login {\\r\\n background-color: white;\\r\\n padding: 20px;\\r\\n z-index: 100;\\r\\n border-radius: 10px;\\r\\n padding-left: 40px;\\r\\n padding-right: 20px;\\r\\n padding-top: 50px;\\r\\n padding-bottom: 50px;\\r\\n}\\r\\n/* Заголовок */\\r\\n.app-login-title {\\r\\n text-align: center;\\r\\n box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.1);\\r\\n height: 127px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.app-login-title h3 {\\r\\n font-size: 24px;\\r\\n margin-bottom: 15px;\\r\\n margin-top: 25px;\\r\\n}\\r\\n.app-login-title span {\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n}\\r\\n.form-fields {\\r\\n height: 410px;\\r\\n overflow-y: auto;\\r\\n padding-right: 16px;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n border-radius: 5px;\\r\\n background-color: #E0E0E0;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n background-color: #E0E0E0;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar-thumb {\\r\\n border-radius: 5px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\\r\\n background-color: #2F80ED;\\r\\n}\\r\\n.app-button-disable {\\r\\n background: #BDBDBD !important;\\r\\n cursor: not-allowed;\\r\\n pointer-events: none;\\r\\n}\\r\\n.hidden-element {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n border-width: 0px;\\r\\n}\\r\\n/* Панель с ошибками */\\r\\n.bars-error-panel {\\r\\n color: #EB5757;\\r\\n align-items: center;\\r\\n font-size: 14px;\\r\\n display:flex;\\r\\n justify-content: center;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.bars-error-panel img {\\r\\n margin-right: 10px;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n}\\r\\n/* Панель с кнопкой */\\r\\n.button-panel {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.button-panel .label-check {\\r\\n margin-left: 8px;\\r\\n margin-bottom: 0px;\\r\\n color: #828282;\\r\\n font-size: 18px;\\r\\n}\\r\\n.forget-pass-link {\\r\\n /* color: #2F80ED;*/\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n margin-left: 23px;\\r\\n}\\r\\n/* Кнопка логина */\\r\\n.login-button {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0px !important;\\r\\n border-radius: 10px;\\r\\n height: 46px;\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n background-color: #2F80ED;\\r\\n padding-left: 25px;\\r\\n padding-right: 25px;\\r\\n}\\r\\n.fa-spin {\\r\\n -webkit-animation: fa-spin 2s infinite linear;\\r\\n animation: fa-spin 2s infinite linear;\\r\\n}\\r\\n@-webkit-keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n@keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n.form-group label {\\r\\n font-size: 14px;\\r\\n margin-left: 16px;\\r\\n color: #666666;\\r\\n}\\r\\n.app-login input[type=\\\"checkbox\\\"] {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.password-eye-icon {\\r\\n background: url('eye.png') left bottom no-repeat;\\r\\n float: right;\\r\\n margin-right: 10px;\\r\\n margin-top: -38px;\\r\\n position: relative;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n.password-eye-no-icon {\\r\\n background: url('eye-no.png') left bottom no-repeat;\\r\\n float: right;\\r\\n margin-right: 10px;\\r\\n margin-top: -38px;\\r\\n position: relative;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"], input[type=\\\"password\\\"] {\\r\\n border-radius: 10px;\\r\\n height: 55px;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n border: 1px solid #BDBDBD;\\r\\n color: #333333 !important;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"]:focus, input[type=\\\"password\\\"]:focus {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.app-bg {\\r\\n width:100%;\\r\\n height:100%;\\r\\n background:url('login_bg.png') left bottom no-repeat;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n z-index: 0;\\r\\n}\\r\\n.remember-me-color {\\r\\n color: #2F80ED;\\r\\n}\\r\\n.remember-me-border {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.error-border {\\r\\n border-color: #EB5757 !important;\\r\\n}\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-login {\\r\\n width: 340px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 500px) {\\r\\n .app-login {\\r\\n width: 450px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 18px;\\r\\n } \\r\\n}\\r\\n@media screen and (max-height: 640px) {\\r\\n .form-fields {\\r\\n height: 310px;\\r\\n overflow-y: auto;\\r\\n padding-right: 16px;\\r\\n } \\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWdpc3RyYXRpb24vcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVEO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtBQUN4QjtBQUdBLGNBQWM7QUFDZDtJQUNJLGtCQUFrQjtJQUNsQiwrQ0FBK0M7SUFDL0MsYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCO0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjtBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLG9EQUFvRDtJQUNwRCxrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjtBQUVBO0lBQ0ksVUFBVTtJQUNWLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1EQUFtRDtJQUNuRCx5QkFBeUI7QUFDN0I7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsb0JBQW9CO0FBQ3hCO0FBRUE7SUFDSSxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjtBQUVBLHNCQUFzQjtBQUN0QjtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixXQUFXO0FBQ2Y7QUFFQSxxQkFBcUI7QUFDckI7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjtBQUdBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZUFBZTtBQUNuQjtBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCO0FBR0Esa0JBQWtCO0FBQ2xCO0lBQ0ksNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZiwyQ0FBMkM7SUFDM0MseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLDZDQUE2QztJQUM3QyxxQ0FBcUM7QUFDekM7QUFFQTtJQUNJO1FBRUksdUJBQXVCO0lBQzNCO0lBQ0E7UUFFSSx5QkFBeUI7SUFDN0I7QUFDSjtBQUVBO0lBQ0k7UUFFSSx1QkFBdUI7SUFDM0I7SUFDQTtRQUVJLHlCQUF5QjtJQUM3QjtBQUNKO0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBRUE7SUFDSSxnREFBc0U7SUFDdEUsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBRUE7SUFDSSxtREFBeUU7SUFDekUsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDO0FBRUE7SUFDSSxVQUFVO0lBQ1YsV0FBVztJQUNYLG9EQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFFBQVE7SUFDUixVQUFVO0FBQ2Q7QUFFQTtJQUNJLGNBQWM7QUFDbEI7QUFDQTtJQUNJLGdDQUFnQztBQUNwQztBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDO0FBRUE7SUFDSTtRQUNJLFlBQVk7SUFDaEI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7QUFDSjtBQUVBO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCO0lBQ0E7UUFDSSxlQUFlO0lBQ25CO0FBQ0o7QUFFQTtJQUNJO1FBQ0ksYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixtQkFBbUI7SUFDdkI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmVnaXN0cmF0aW9uL3JlZ2lzdHJhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyog0J/QsNC90LXQu9GMINC70L7Qs9C40L3QsC/Qv9Cw0YDQvtC70Y8sINC+0YLRhtC10L3RgtGA0LjRgNC+0LLQsNC90L3QvtC1INCyINGB0LXRgNC10LTQuNC90YMg0Y3QutGA0LDQvdCwKi9cclxuLndyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuLmFwcC1sb2dpbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcblxyXG4vKiDQl9Cw0LPQvtC70L7QstC+0LogKi9cclxuLmFwcC1sb2dpbi10aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDJweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIGhlaWdodDogMTI3cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmFwcC1sb2dpbi10aXRsZSBoMyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjVweDtcclxufVxyXG5cclxuLmFwcC1sb2dpbi10aXRsZSBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcblxyXG4uZm9ybS1maWVsZHMge1xyXG4gICAgaGVpZ2h0OiA0MTBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4uZm9ybS1maWVsZHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5mb3JtLWZpZWxkczo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XHJcbn1cclxuXHJcbi5mb3JtLWZpZWxkczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgLjMpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJGODBFRDtcclxufVxyXG5cclxuLmFwcC1idXR0b24tZGlzYWJsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjQkRCREJEICAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uaGlkZGVuLWVsZW1lbnQge1xyXG4gICAgd2lkdGg6IDBweDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJvcmRlci13aWR0aDogMHB4O1xyXG59ICAgXHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0L7RiNC40LHQutCw0LzQuCAqL1xyXG4uYmFycy1lcnJvci1wYW5lbCB7XHJcbiAgICBjb2xvcjogI0VCNTc1NztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmJhcnMtZXJyb3ItcGFuZWwgaW1nIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGhlaWdodDogMTdweDtcclxuICAgIHdpZHRoOiAxN3B4O1xyXG59XHJcblxyXG4vKiDQn9Cw0L3QtdC70Ywg0YEg0LrQvdC+0L/QutC+0LkgKi9cclxuLmJ1dHRvbi1wYW5lbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcblxyXG4uYnV0dG9uLXBhbmVsIC5sYWJlbC1jaGVjayB7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgY29sb3I6ICM4MjgyODI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5mb3JnZXQtcGFzcy1saW5rIHtcclxuICAgIC8qICBjb2xvcjogIzJGODBFRDsqL1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgICBtYXJnaW4tbGVmdDogMjNweDtcclxufVxyXG5cclxuXHJcbi8qINCa0L3QvtC/0LrQsCDQu9C+0LPQuNC90LAgKi9cclxuLmxvZ2luLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJGODBFRDtcclxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbn1cclxuXHJcbi5mYS1zcGluIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmEtc3BpbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1ncm91cCBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIGNvbG9yOiAjNjY2NjY2O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxufVxyXG5cclxuLnBhc3N3b3JkLWV5ZS1pY29uIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnYXBwL2NvbXBvbmVudHMvaW1hZ2VzL2V5ZS5wbmcnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzhweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4ucGFzc3dvcmQtZXllLW5vLWljb24ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdhcHAvY29tcG9uZW50cy9pbWFnZXMvZXllLW5vLnBuZycpIGxlZnQgYm90dG9tIG5vLXJlcGVhdDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IC0zOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREJEQkQ7XHJcbiAgICBjb2xvcjogIzMzMzMzMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMkY4MEVEICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtYmcge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgYmFja2dyb3VuZDp1cmwoJ2FwcC9jb21wb25lbnRzL2ltYWdlcy9sb2dpbl9iZy5wbmcnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi5yZW1lbWJlci1tZS1jb2xvciB7XHJcbiAgICBjb2xvcjogIzJGODBFRDtcclxufVxyXG4ucmVtZW1iZXItbWUtYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzJGODBFRCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZXJyb3ItYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogI0VCNTc1NyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBweCkge1xyXG4gICAgLmFwcC1sb2dpbiB7XHJcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1wYW5lbCAubGFiZWwtY2hlY2sge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcclxuICAgIC5hcHAtbG9naW4ge1xyXG4gICAgICAgIHdpZHRoOiA0NTBweDtcclxuICAgIH1cclxuICAgIC5idXR0b24tcGFuZWwgLmxhYmVsLWNoZWNrIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9ICAgXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NDBweCkge1xyXG4gICAgLmZvcm0tZmllbGRzIHtcclxuICAgICAgICBoZWlnaHQ6IDMxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ITenantField } from '../../models/ITenantField';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-registration',\r\n templateUrl: 'registration.component.html',\r\n styleUrls: ['./registration.component.css']\r\n})\r\n/** Регистрация пользователя */\r\nexport class RegistrationComponent implements OnInit {\r\n\r\n /** Список полей для заполнения (без нового логина и пароля) */\r\n public fields: ITenantField[] = [];\r\n\r\n /** Флаг выполнения запроса входа */\r\n public loading = false;\r\n /** Флаг выполнения запроса входа */\r\n public isFieldsNotLoaded = true;\r\n /** Флаг что поля ввода не валидные */\r\n public fieldsNotValid: boolean = true;\r\n /** Флаг подтверждения данных формы */\r\n public submitted = false;\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n\r\n /** Введённое значение логина */\r\n public loginValue;\r\n /** Введённое значение пароля */\r\n public passwordValue;\r\n /** Нажата кнопка просмотра пароля */\r\n public isShowPasswordPressed = false;\r\n\r\n /**\r\n * Конструктор\r\n * @param formBuilder Построитель элементов формы\r\n * @param router Модуль маршрутизации\r\n * @param authenticationService Сервис аутентификации пользователя\r\n */\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService) {\r\n }\r\n\r\n public ngOnInit() {\r\n // запрос полей для заполнения\r\n this.authenticationService.getFieldsForRegistration().subscribe(\r\n (data) => {\r\n data.forEach((field) => {\r\n if (field.DataType == 'Date' && field.Value.length > 0) {\r\n console.log(field);\r\n field.Value = this.parseDate(field.Value).toLocaleDateString();\r\n }\r\n });\r\n this.fields = data;\r\n this.isFieldsNotLoaded = false;\r\n }, (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n }\r\n );\r\n }\r\n /** Сменить тип поля ввода пароля */\r\n public changePasswordType(input: any) {\r\n input.type = input.type === 'password' ? 'text' : 'password';\r\n this.isShowPasswordPressed = !this.isShowPasswordPressed;\r\n }\r\n\r\n /**\r\n * Из utc в объект Date\r\n * @param dateUtc дата в формате utc\r\n * @returns {Date} объект даты\r\n */\r\n public parseDate(dateUtc: string): Date {\r\n if (dateUtc == null) {\r\n return null;\r\n }\r\n return new Date(dateUtc);\r\n }\r\n\r\n /**\r\n * Проверить поля ввода на валидность\r\n */\r\n public validateFields() {\r\n for (const field of this.fields) {\r\n if (field.IsRequired && !field.Value) {\r\n this.fieldsNotValid = true;\r\n return;\r\n }\r\n }\r\n\r\n this.fieldsNotValid = !this.passwordValue || !this.loginValue;\r\n }\r\n\r\n /** Обработчик нажатия кнопки входа */\r\n public onSubmit() {\r\n this.errorMessage = null;\r\n this.submitted = true;\r\n this.loading = true;\r\n\r\n this.authenticationService.registration(this.loginValue, this.passwordValue, this.fields).subscribe(\r\n (result) => {\r\n this.router.navigate(['/']);\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.errorMessage = error;\r\n });\r\n }\r\n\r\n}\r\n","export default \"::ng-deep div.app-dialog-container .mat-dialog-container {\\r\\n padding: 0px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.app-content {\\r\\n padding: 20px;\\r\\n width: 550px;\\r\\n height: auto;\\r\\n background-color: #F4F4F4;\\r\\n}\\r\\n\\r\\n.app-select-report {\\r\\n display: flex;\\r\\n margin-bottom: 14px;\\r\\n}\\r\\n\\r\\n.app-select-text {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #333333;\\r\\n margin-right: 10px;\\r\\n align-self: center;\\r\\n}\\r\\n\\r\\n.app-selector {\\r\\n width: 397px;\\r\\n height: 32px;\\r\\n background: #FFFFFF;\\r\\n border: 1px solid #2F80ED;\\r\\n box-sizing: border-box;\\r\\n border-radius: 6px;\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n color: #4F4F4F;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.app-period {\\r\\n margin-top: 14px;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.app-input-block {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.app-period-text {\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n align-self: center;\\r\\n color: #333333;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.app-input {\\r\\n flex: auto;\\r\\n width: 91px;\\r\\n margin-left: 16px;\\r\\n outline: none;\\r\\n background: #FFFFFF;\\r\\n border: none;\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n}\\r\\n\\r\\n.app-date-input {\\r\\n display: flex;\\r\\n width: 150px;\\r\\n height: 32px;\\r\\n background: #FFFFFF;\\r\\n border: 1px solid #2F80ED;\\r\\n border-radius: 6px;\\r\\n margin-right: 16px;\\r\\n outline: none;\\r\\n box-sizing: border-box;\\r\\n border-radius: 10px;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.app-last-input {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.app-create-button {\\r\\n width: 120px;\\r\\n height: 32px;\\r\\n font-family: Roboto;\\r\\n font-size: 18px;\\r\\n line-height: 21px;\\r\\n text-align: center;\\r\\n color: #F2F2F2;\\r\\n background: #2F80ED;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n border-radius: 10px;\\r\\n border: none;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.app-hidden {\\r\\n visibility: hidden;\\r\\n width: 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.app-block-icon {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n}\\r\\n\\r\\n.app-button-calendar {\\r\\n padding: 0px;\\r\\n border: 0px;\\r\\n margin-right: 10px;\\r\\n outline: none;\\r\\n background: none;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-content {\\r\\n width: 300px;\\r\\n height: 244px;\\r\\n }\\r\\n .app-select-report {\\r\\n display: inherit;\\r\\n }\\r\\n .app-select-text {\\r\\n margin-bottom: 12px;\\r\\n }\\r\\n .app-selector {\\r\\n width: 260px;\\r\\n height: 32px;\\r\\n }\\r\\n .app-period {\\r\\n display: inherit;\\r\\n }\\r\\n .app-input-block {\\r\\n margin-bottom: 12px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZXZpc2UtYWN0L3JldmlzZS1hY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFJQTtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJO1FBQ0ksWUFBWTtRQUNaLGFBQWE7SUFDakI7SUFDQTtRQUNJLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZ0JBQWdCO0lBQ3BCO0lBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmV2aXNlLWFjdC9yZXZpc2UtYWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAgZGl2LmFwcC1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmFwcC1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB3aWR0aDogNTUwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xyXG59XHJcblxyXG4uYXBwLXNlbGVjdC1yZXBvcnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbn1cclxuXHJcbi5hcHAtc2VsZWN0LXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtc2VsZWN0b3Ige1xyXG4gICAgd2lkdGg6IDM5N3B4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRjgwRUQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgY29sb3I6ICM0RjRGNEY7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYXBwLXBlcmlvZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmFwcC1pbnB1dC1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uYXBwLXBlcmlvZC10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWlucHV0IHtcclxuICAgIGZsZXg6IGF1dG87XHJcbiAgICB3aWR0aDogOTFweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbn1cclxuXHJcbi5hcHAtZGF0ZS1pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRjgwRUQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYXBwLWxhc3QtaW5wdXQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYXBwLWNyZWF0ZS1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICNGMkYyRjI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMkY4MEVEO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uYXBwLWhpZGRlbiB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMHB4O1xyXG4gICAgYm9yZGVyOiAwcHg7XHJcbn1cclxuXHJcbi5hcHAtYmxvY2staWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxufVxyXG5cclxuXHJcblxyXG4uYXBwLWJ1dHRvbi1jYWxlbmRhciB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBib3JkZXI6IDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgIC5hcHAtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjQ0cHg7XHJcbiAgICB9XHJcbiAgICAuYXBwLXNlbGVjdC1yZXBvcnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAuYXBwLXNlbGVjdC10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC1zZWxlY3RvciB7XHJcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgIH1cclxuICAgIC5hcHAtcGVyaW9kIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgLmFwcC1pbnB1dC1ibG9jayB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxufSJdfQ== */\"","import { Input, OnInit, Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport { IReport } from '../../models/IReport';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbDateRUParserFormatter } from '../../providers/ngb-date-parser-formatter';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { I18n, CustomDatepickerI18n } from '../../providers/CustomDatepickerI18n ';\r\nimport {UtilsService} from '../../services/utils.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-revise-act',\r\n templateUrl: 'revise-act.component.html',\r\n styleUrls: ['revise-act.component.css'],\r\n providers: [{ provide: NgbDateParserFormatter, useClass: NgbDateRUParserFormatter }, I18n, {provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n}]\r\n})\r\n/** Акт-сверки */\r\nexport class ReviseActComponent implements OnInit {\r\n \r\n public accountId: string;\r\n /** Дата начала */\r\n public beginDate: NgbDateStruct;\r\n /** Дата окончания */\r\n public endDate: NgbDateStruct;\r\n /** Список отчетов */\r\n public reports: IReport[];\r\n /** Текущий отчет */\r\n public currentReport: IReport;\r\n /** Положение мыши по X */\r\n public mouseX: any;\r\n /** Положение мыши по Y */\r\n public mouseY: any;\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n /** Минимальная дата для составления акта сверки */\r\n public minDate: NgbDateStruct;\r\n\r\n /**\r\n * Конструктор\r\n * @param data Данные передаваемые контролу\r\n * @param reportService Сервис отчетов\r\n * @param dialModalRef Ссылка на диалог\r\n */\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n protected reportService: ReportService,\r\n public dialModalRef: MatDialogRef\r\n ) {\r\n this.accountId = this.data.account.Id;\r\n this.reportService.getReports().subscribe(\r\n (data2) => {\r\n this.reports = data2;\r\n this.currentReport = this.reports[0];\r\n }\r\n );\r\n this.reportService.getMinReviseAct().subscribe(\r\n (minReviseDate) => {\r\n let formatter = new NgbDateRUParserFormatter();\r\n this.minDate = formatter.parse(minReviseDate.toString());\r\n }\r\n );\r\n }\r\n\r\n /** Инициализация */\r\n public ngOnInit(): void {\r\n if (window.innerWidth < 900){\r\n this.mouseY = this.data.mouseY - 280;\r\n this.dialModalRef.updatePosition({ top: this.mouseY + 'px'});\r\n } else {\r\n this.mouseX = this.data.mouseX - 225;\r\n this.mouseY = this.data.mouseY - 150;\r\n this.dialModalRef.updatePosition({ top: this.mouseY + 'px', left: this.mouseX +'px' });\r\n }\r\n }\r\n\r\n /**\r\n * Нажатие на кнопку \"ОК\"\r\n */\r\n public onCreateButtonClick() {\r\n const formatter = new NgbDateRUParserFormatter();\r\n this.errorMessage = null;\r\n this.reportService.getReviseActReport(this.currentReport.Id,\r\n formatter.format(this.beginDate), formatter.format(this.endDate),\r\n this.accountId).subscribe(\r\n (response) => {\r\n FileSaver.saveAs(response, this.currentReport.Name + '.pdf');\r\n }, (error) => {\r\n this.errorMessage = UtilsService.getErrorText(error);\r\n });\r\n }\r\n}\r\n","export default \"/* Панель логина/пароля, отцентрированное в середину экрана*/\\r\\n.wrap {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100vh;\\r\\n}\\r\\n.app-login {\\r\\n background-color: white;\\r\\n padding: 20px;\\r\\n z-index: 100;\\r\\n border-radius: 10px;\\r\\n padding-left: 40px;\\r\\n padding-right: 40px;\\r\\n padding-top: 50px;\\r\\n padding-bottom: 50px;\\r\\n}\\r\\n/* Заголовок */\\r\\n.app-login-title {\\r\\n text-align: center;\\r\\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.app-login-title h3 {\\r\\n font-size: 24px;\\r\\n margin-bottom: 15px;\\r\\n margin-top: 25px;\\r\\n}\\r\\n.app-login-title span {\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n}\\r\\n.form-fields {\\r\\n height: 410px;\\r\\n overflow-y: auto;\\r\\n padding-right: 16px;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n border-radius: 5px;\\r\\n background-color: #E0E0E0;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar {\\r\\n width: 8px;\\r\\n background-color: #E0E0E0;\\r\\n}\\r\\n.form-fields::-webkit-scrollbar-thumb {\\r\\n border-radius: 5px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\\r\\n background-color: #2F80ED;\\r\\n}\\r\\n.app-button-disable {\\r\\n background: #BDBDBD !important;\\r\\n cursor: not-allowed;\\r\\n pointer-events: none;\\r\\n}\\r\\n.hidden-element {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n border-width: 0px;\\r\\n}\\r\\n/* Панель с ошибками */\\r\\n.bars-error-panel {\\r\\n color: #EB5757;\\r\\n align-items: center;\\r\\n font-size: 14px;\\r\\n display:flex;\\r\\n justify-content: center;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.bars-error-panel img {\\r\\n margin-right: 10px;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n}\\r\\n/* Панель с кнопкой */\\r\\n.button-panel {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.button-panel .label-check {\\r\\n margin-left: 8px;\\r\\n margin-bottom: 0px;\\r\\n color: #828282;\\r\\n font-size: 18px;\\r\\n}\\r\\n.forget-pass-link {\\r\\n /* color: #2F80ED;*/\\r\\n font-size: 14px;\\r\\n color: #666666;\\r\\n margin-left: 23px;\\r\\n}\\r\\n/* Кнопка логина */\\r\\n.login-button {\\r\\n margin-left: auto !important;\\r\\n margin-right: 0px !important;\\r\\n border-radius: 10px;\\r\\n height: 46px;\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n background-color: #2F80ED;\\r\\n padding-left: 25px;\\r\\n padding-right: 25px;\\r\\n}\\r\\n.fa-spin {\\r\\n -webkit-animation: fa-spin 2s infinite linear;\\r\\n animation: fa-spin 2s infinite linear;\\r\\n}\\r\\n@-webkit-keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n@keyframes fa-spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(359deg);\\r\\n }\\r\\n}\\r\\n.form-group label {\\r\\n font-size: 14px;\\r\\n margin-left: 16px;\\r\\n color: #666666;\\r\\n}\\r\\n.app-login input[type=\\\"checkbox\\\"] {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.password-eye-icon {\\r\\n background:url('eye.png') left bottom no-repeat;\\r\\n float: right;\\r\\n margin-right: 10px;\\r\\n margin-top: -35px;\\r\\n position: relative;\\r\\n width: 22px;\\r\\n height: 16px;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"], input[type=\\\"password\\\"] {\\r\\n border-radius: 10px;\\r\\n height: 55px;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n border: 1px solid #BDBDBD;\\r\\n color: #333333 !important;\\r\\n}\\r\\n.app-login input[type=\\\"text\\\"]:focus, input[type=\\\"password\\\"]:focus {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.app-bg {\\r\\n width:100%;\\r\\n height:100%;\\r\\n background:url('login_bg.png') left bottom no-repeat;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n z-index: 0;\\r\\n}\\r\\n.remember-me-color {\\r\\n color: #2F80ED;\\r\\n}\\r\\n.remember-me-border {\\r\\n border-color: #2F80ED !important;\\r\\n}\\r\\n.error-border {\\r\\n border-color: #EB5757 !important;\\r\\n}\\r\\n@media screen and (min-width: 100px) {\\r\\n .app-login {\\r\\n width: 340px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 500px) {\\r\\n .app-login {\\r\\n width: 450px;\\r\\n }\\r\\n .button-panel .label-check {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy90ZW5hbnQvdGVuYW50LWRldGFpbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RDtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7QUFHQSxjQUFjO0FBQ2Q7SUFDSSxrQkFBa0I7SUFDbEIsMENBQTBDO0lBQzFDLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCO0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjtBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLG9EQUFvRDtJQUNwRCxrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjtBQUVBO0lBQ0ksVUFBVTtJQUNWLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1EQUFtRDtJQUNuRCx5QkFBeUI7QUFDN0I7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsb0JBQW9CO0FBQ3hCO0FBRUE7SUFDSSxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjtBQUVBLHNCQUFzQjtBQUN0QjtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixXQUFXO0FBQ2Y7QUFFQSxxQkFBcUI7QUFDckI7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjtBQUdBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZUFBZTtBQUNuQjtBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCO0FBR0Esa0JBQWtCO0FBQ2xCO0lBQ0ksNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZiwyQ0FBMkM7SUFDM0MseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7QUFFQTtJQUNJLDZDQUE2QztJQUM3QyxxQ0FBcUM7QUFDekM7QUFFQTtJQUNJO1FBRUksdUJBQXVCO0lBQzNCO0lBQ0E7UUFFSSx5QkFBeUI7SUFDN0I7QUFDSjtBQUVBO0lBQ0k7UUFFSSx1QkFBdUI7SUFDM0I7SUFDQTtRQUVJLHlCQUF5QjtJQUM3QjtBQUNKO0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBRUE7SUFDSSwrQ0FBcUU7SUFDckUsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDO0FBRUE7SUFDSSxVQUFVO0lBQ1YsV0FBVztJQUNYLG9EQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFFBQVE7SUFDUixVQUFVO0FBQ2Q7QUFFQTtJQUNJLGNBQWM7QUFDbEI7QUFDQTtJQUNJLGdDQUFnQztBQUNwQztBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDO0FBRUE7SUFDSTtRQUNJLFlBQVk7SUFDaEI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7QUFDSjtBQUVBO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCO0lBQ0E7UUFDSSxlQUFlO0lBQ25CO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3RlbmFudC90ZW5hbnQtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiDQn9Cw0L3QtdC70Ywg0LvQvtCz0LjQvdCwL9C/0LDRgNC+0LvRjywg0L7RgtGG0LXQvdGC0YDQuNGA0L7QstCw0L3QvdC+0LUg0LIg0YHQtdGA0LXQtNC40L3RgyDRjdC60YDQsNC90LAqL1xyXG4ud3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG4uYXBwLWxvZ2luIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuXHJcbi8qINCX0LDQs9C+0LvQvtCy0L7QuiAqL1xyXG4uYXBwLWxvZ2luLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDBweCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uYXBwLWxvZ2luLXRpdGxlIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG59XHJcblxyXG4uYXBwLWxvZ2luLXRpdGxlIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbn1cclxuXHJcbi5mb3JtLWZpZWxkcyB7XHJcbiAgICBoZWlnaHQ6IDQxMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5mb3JtLWZpZWxkczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmZvcm0tZmllbGRzOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcclxufVxyXG5cclxuLmZvcm0tZmllbGRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkY4MEVEO1xyXG59XHJcblxyXG4uYXBwLWJ1dHRvbi1kaXNhYmxlIHtcclxuICAgIGJhY2tncm91bmQ6ICNCREJEQkQgICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5oaWRkZW4tZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMHB4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwcHg7XHJcbn0gICBcclxuXHJcbi8qINCf0LDQvdC10LvRjCDRgSDQvtGI0LjQsdC60LDQvNC4ICovXHJcbi5iYXJzLWVycm9yLXBhbmVsIHtcclxuICAgIGNvbG9yOiAjRUI1NzU3O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4uYmFycy1lcnJvci1wYW5lbCBpbWcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgd2lkdGg6IDE3cHg7XHJcbn1cclxuXHJcbi8qINCf0LDQvdC10LvRjCDRgSDQutC90L7Qv9C60L7QuSAqL1xyXG4uYnV0dG9uLXBhbmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuXHJcbi5idXR0b24tcGFuZWwgLmxhYmVsLWNoZWNrIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICBjb2xvcjogIzgyODI4MjtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLmZvcmdldC1wYXNzLWxpbmsge1xyXG4gICAgLyogIGNvbG9yOiAjMkY4MEVEOyovXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogIzY2NjY2NjtcclxuICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xyXG59XHJcblxyXG5cclxuLyog0JrQvdC+0L/QutCwINC70L7Qs9C40L3QsCAqL1xyXG4ubG9naW4tYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkY4MEVEO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcclxufVxyXG5cclxuLmZhLXNwaW4ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYS1zcGluIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4ucGFzc3dvcmQtZXllLWljb24ge1xyXG4gICAgYmFja2dyb3VuZDp1cmwoJ2FwcC9jb21wb25lbnRzL2ltYWdlcy9leWUucG5nJykgbGVmdCBib3R0b20gbm8tcmVwZWF0O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTM1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjJweDtcclxuICAgIGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmFwcC1sb2dpbiBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQkRCRDtcclxuICAgIGNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hcHAtbG9naW4gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICMyRjgwRUQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFwcC1iZyB7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOnVybCgnYXBwL2NvbXBvbmVudHMvaW1hZ2VzL2xvZ2luX2JnLnBuZycpIGxlZnQgYm90dG9tIG5vLXJlcGVhdDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgei1pbmRleDogMDtcclxufVxyXG5cclxuLnJlbWVtYmVyLW1lLWNvbG9yIHtcclxuICAgIGNvbG9yOiAjMkY4MEVEO1xyXG59XHJcbi5yZW1lbWJlci1tZS1ib3JkZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMkY4MEVEICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5lcnJvci1ib3JkZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjRUI1NzU3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHB4KSB7XHJcbiAgICAuYXBwLWxvZ2luIHtcclxuICAgICAgICB3aWR0aDogMzQwcHg7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLXBhbmVsIC5sYWJlbC1jaGVjayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xyXG4gICAgLmFwcC1sb2dpbiB7XHJcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1wYW5lbCAubGFiZWwtY2hlY2sge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxufVxyXG5cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ITenantField } from '../../models/ITenantField';\r\nimport { TenantService } from '../../services/tenant.service';\r\n\r\n@Component({\r\n selector: 'app-tenant-detail',\r\n templateUrl: 'tenant-detail.component.html',\r\n styleUrls: ['./tenant-detail.component.css']\r\n})\r\n/** Регистрация пользователя */\r\nexport class TenantDetailComponent implements OnInit {\r\n\r\n /** Список полей для заполнения (без нового логина и пароля) */\r\n public fields: ITenantField[] = [];\r\n\r\n /** Флаг выполнения запроса входа */\r\n public loading = false;\r\n /** Флаг что поля ввода не валидные */\r\n public fieldsNotValid: boolean = true;\r\n /** Флаг подтверждения данных формы */\r\n public submitted = false;\r\n /** Сообщение об ошибке */\r\n public errorMessage: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param formBuilder Построитель элементов формы\r\n * @param router Модуль маршрутизации\r\n * @param tenantService Сервис арендатора\r\n */\r\n constructor(\r\n private tenantService: TenantService) {\r\n }\r\n\r\n public ngOnInit() {\r\n // запрос полей для заполнения\r\n this.tenantService.getDetail().subscribe(\r\n (data) => {\r\n data.forEach((field) => {\r\n if (field.DataType === 'Date' && field.Value.length > 0) {\r\n console.log(field);\r\n field.Value = this.parseDate(field.Value).toLocaleDateString();\r\n }\r\n });\r\n this.fields = data;\r\n }, (error) => {\r\n this.loading = false;\r\n this.errorMessage = error.error.ExceptionMessage ? error.error.ExceptionMessage : error.message;\r\n }\r\n );\r\n }\r\n /** Сменить тип поля ввода пароля */\r\n public changePasswordType(input: any) {\r\n input.type = input.type === 'password' ? 'text' : 'password';\r\n }\r\n\r\n /**\r\n * Из utc в объект Date\r\n * @param dateUtc дата в формате utc\r\n * @returns {Date} объект даты\r\n */\r\n public parseDate(dateUtc: string): Date {\r\n if (dateUtc == null) {\r\n return null;\r\n }\r\n return new Date(dateUtc);\r\n }\r\n}\r\n","export default \".app-tenant-info {\\r\\n position: relative;\\r\\n display: inherit;\\r\\n background: url('tenant-background.svg') no-repeat 100%;\\r\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);\\r\\n width: 560px;\\r\\n height: 320px;\\r\\n}\\r\\n\\r\\n.app-welcom-block {\\r\\n color: #FFFFFF;\\r\\n font-family: Roboto !important;\\r\\n font-weight: 900;\\r\\n font-size: 32px;\\r\\n line-height: 48px;\\r\\n padding-left: 40px;\\r\\n padding-top: 40px;\\r\\n height: 180px;\\r\\n}\\r\\n\\r\\n.app-tenant-name {\\r\\n height: 150px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.app-tenant-detail {\\r\\n position: absolute;\\r\\n font-family: Roboto;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n color: #FFFFFF;\\r\\n padding-left: 40px;\\r\\n padding-bottom: 50px;\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n.app-docum-link {\\r\\n color: #FFFFFF;\\r\\n padding-left: 5px;\\r\\n}\\r\\n\\r\\n::ng-deep .tooltip-inner {\\r\\n max-width: 500px;\\r\\n width: -webkit-fit-content;\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n white-space: pre;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n@media (max-width: 1224px) {\\r\\n .app-tenant-info {\\r\\n width: 472px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 900px) {\\r\\n .app-tenant-info {\\r\\n background-size: 350px;\\r\\n width: 340px;\\r\\n height: 200px;\\r\\n }\\r\\n .app-welcom-block {\\r\\n font-size: 24px;\\r\\n line-height: 32px;\\r\\n }\\r\\n .app-tenant-name {\\r\\n height: 70px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n }\\r\\n .app-tenant-detail {\\r\\n padding-bottom: 27px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy90ZW5hbnQvdGVuYW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHVEQUFxRTtJQUNyRSwyQ0FBMkM7SUFDM0MsWUFBWTtJQUNaLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVDQUErQjtZQUEvQiwrQkFBK0I7SUFDL0IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFHQTtJQUNJLGdCQUFnQjtJQUNoQiwwQkFBa0I7SUFBbEIsdUJBQWtCO0lBQWxCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLHNCQUFzQjtRQUN0QixZQUFZO1FBQ1osYUFBYTtJQUNqQjtJQUNBO1FBQ0ksZUFBZTtRQUNmLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksWUFBWTtRQUNaLGdCQUFnQjtRQUNoQix1QkFBdUI7SUFDM0I7SUFDQTtRQUNJLG9CQUFvQjtJQUN4QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy90ZW5hbnQvdGVuYW50LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYXBwLXRlbmFudC1pbmZvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvdGVuYW50LWJhY2tncm91bmQuc3ZnJykgbm8tcmVwZWF0IDEwMCU7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgd2lkdGg6IDU2MHB4O1xyXG4gICAgaGVpZ2h0OiAzMjBweDtcclxufVxyXG5cclxuLmFwcC13ZWxjb20tYmxvY2sge1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBmb250LWZhbWlseTogUm9ib3RvICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbn1cclxuXHJcbi5hcHAtdGVuYW50LW5hbWUge1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmFwcC10ZW5hbnQtZGV0YWlsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYXBwLWRvY3VtLWxpbmsge1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxufVxyXG5cclxuXHJcbjo6bmctZGVlcCAudG9vbHRpcC1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcclxuICAgIC5hcHAtdGVuYW50LWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiA0NzJweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuYXBwLXRlbmFudC1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG4gICAgLmFwcC13ZWxjb20tYmxvY2sge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgIH1cclxuICAgIC5hcHAtdGVuYW50LW5hbWUge1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgfVxyXG4gICAgLmFwcC10ZW5hbnQtZGV0YWlsIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcclxuICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ITenant } from '../../models/ITenant';\r\nimport { TenantService } from '../../services/tenant.service';\r\n\r\n@Component({\r\n selector: 'app-tenant',\r\n templateUrl: 'tenant.component.html',\r\n styleUrls: ['./tenant.component.css']\r\n})\r\n/** Контроллер арендатора */\r\nexport class TenantComponent implements OnInit {\r\n\r\n /** Арендатор */\r\n public tenant: ITenant;\r\n\r\n /**\r\n * Конструктор\r\n * @param tenantService Сервис работы с арендатором\r\n */\r\n constructor(\r\n private tenantService: TenantService) {\r\n }\r\n\r\n /**\r\n * Действия выполняемые при создании объекта\r\n */\r\n public ngOnInit() {\r\n this.tenantService.get().subscribe(\r\n (tenant) => {\r\n this.tenant = tenant;\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInputMask]'\r\n})\r\n/**\r\n * Директива для масок\r\n */\r\nexport class InputMaskDirective {\r\n\r\n /** Маска */\r\n @Input('appInputMask') public appInputMask: string;\r\n\r\n /** Символы для автозаполнения */\r\n private autoCompleteChars: string[] = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+',\r\n '\"', '№', ';', ':', '?', '_', '+',\r\n '<', '>', '.', '|'];\r\n\r\n /**\r\n * Конструктор\r\n * @param el Элемент\r\n * @param renderer Рендерер элемента\r\n */\r\n constructor(public el: ElementRef, public renderer: Renderer2) { }\r\n\r\n /** Обработчик нажатия кнопки */\r\n @HostListener('keyup', ['$event']) public onInput(e: KeyboardEvent) {\r\n let validResult = false;\r\n // Автозаполнение только если есть маска и не нжаты клавиши удаления текста\r\n if (this.appInputMask && (e.code !== 'Delete' && e.code !== 'Backspace')) {\r\n\r\n for (const char of this.autoCompleteChars) {\r\n const autoCompleteValue = (e.target as any).value + char;\r\n validResult = this.checkValid(autoCompleteValue);\r\n if (validResult) {\r\n (e.target as any).value = autoCompleteValue;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!validResult) {\r\n validResult = this.checkValid((e.target as any).value);\r\n }\r\n if (validResult) {\r\n this.renderer.setStyle(this.el.nativeElement, 'color', 'green');\r\n } else {\r\n this.renderer.setStyle(this.el.nativeElement, 'color', 'red');\r\n }\r\n }\r\n\r\n /** Обработчик потери фокуса */\r\n /* @HostListener('focusout', ['$event']) public focusout(e: FocusEvent) {\r\n const elementValue = (e.target as any).value;\r\n if (!elementValue || elementValue === '') {\r\n this.renderer.setStyle(this.el.nativeElement, 'color', 'black');\r\n return;\r\n }\r\n const testResult = this.checkValid(elementValue);\r\n if (!testResult) {\r\n this.el.nativeElement.focus();\r\n } else {\r\n this.renderer.setStyle(this.el.nativeElement, 'color', 'black');\r\n }\r\n }\r\n */\r\n\r\n /**\r\n * Проверка на соответсвие значения маске\r\n * @param value Значение\r\n */\r\n private checkValid(value: string) {\r\n const mask = this.appInputMask;\r\n if (!mask) {\r\n return true;\r\n }\r\n\r\n if (!mask.includes('|')) {\r\n const maskRegExp = '^' + mask + '$';\r\n const pattern = new RegExp(maskRegExp);\r\n const testResult = value.match(pattern);\r\n return testResult && testResult[0] === value;\r\n } else {\r\n const masks = mask.split('|');\r\n let result = false;\r\n\r\n for (const maskItem of masks) {\r\n const maskRegExp = '^' + maskItem + '$';\r\n const pattern = new RegExp(maskRegExp);\r\n const testResult = value.match(pattern);\r\n if (testResult && testResult[0] === value) {\r\n result = true;\r\n break;\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n/**\r\n * Пустой компонент-заглушка\r\n */\r\n@Component({\r\n selector: 'app-dummy-component',\r\n template: `

Не реализовано

`\r\n})\r\nexport class DummyComponent {\r\n}\r\n","/** Перечисление флагов, с информацией по полям которые необходимо получать у лицевого счета */\r\nexport enum AccountInfoAttrEnum {\r\n /** Никаких доп полей */\r\n None,\r\n /** Пока не используется */\r\n DebtPay = 1,\r\n /** Последняя оплата */\r\n LastPay = 1 << 1,\r\n /** Очередной платеж */\r\n NextPay = 1 << 2,\r\n /** Задолженность */\r\n Debt = 1 << 3,\r\n /** Все задолженности */\r\n AllDebt = 1 << 4,\r\n /** Бюджеты */\r\n Budgets = 1 << 5,\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as dateFormat from 'dateformat';\r\n\r\n/**\r\n * Форматирование для дат арендатора\r\n */\r\n@Pipe({\r\n name: 'bhdate'\r\n})\r\nexport class BhdatePipe implements PipeTransform {\r\n public transform(value: any, format: string = 'dd.mm.yyyy HH:MM:ss') {\r\n return value ? dateFormat(value, format) : '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Склонение по числам.\r\n */\r\n@Pipe({\r\n name: 'declension'\r\n})\r\nexport class DeclensionPipe implements PipeTransform {\r\n /**\r\n * Получение нужной формы существительного для данного числа\r\n * @param value Число\r\n * @param textForms Массив существительных, например ['договор', 'договора', 'договоров']\r\n * @returns {string} Нужное существительное для данного числа\r\n */\r\n public transform(value: number, textForms: string[]) {\r\n value = Math.abs(value) % 100;\r\n const n1 = value % 10;\r\n\r\n if (value > 10 && value < 20) {\r\n return textForms[2];\r\n }\r\n\r\n if (n1 > 1 && n1 < 5) {\r\n return textForms[1];\r\n }\r\n\r\n if (n1 == 1) {\r\n return textForms[0];\r\n }\r\n\r\n return textForms[2];\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { NgbDatepickerI18n, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nconst I18N_VALUES = {\r\n 'ru': {\r\n weekdays: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\r\n months: ['Янв', 'Феб', 'Мар', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],\r\n }\r\n // other languages you would support\r\n };\r\n\r\n// use the Angular LOCALE_ID value\r\n@Injectable()\r\nexport class I18n {\r\n language = 'ru';\r\n}\r\n\r\n// Define custom service providing the months and weekdays translations\r\n@Injectable()\r\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\r\n\r\n constructor(private _i18n: I18n) {\r\n super();\r\n }\r\n\r\n getWeekdayShortName(weekday: number): string {\r\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n }\r\n getMonthShortName(month: number): string {\r\n return I18N_VALUES[this._i18n.language].months[month - 1];\r\n }\r\n getMonthFullName(month: number): string {\r\n return this.getMonthShortName(month);\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}.${date.month}.${date.year}`;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { NgbDateParserFormatter, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nfunction padNumber(value: number) {\r\n if (isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction isNumber(value: any): boolean {\r\n return !isNaN(toInteger(value));\r\n}\r\n\r\nfunction toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class NgbDateRUParserFormatter extends NgbDateParserFormatter {\r\n parse(value: string): NgbDateStruct {\r\n if (value) {\r\n const dateParts = value.trim().split('.');\r\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\r\n return {year: toInteger(dateParts[0]), month: null, day: null};\r\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\r\n return {year: toInteger(dateParts[1]), month: toInteger(dateParts[0]), day: null};\r\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\r\n return {year: toInteger(dateParts[2]), month: toInteger(dateParts[1]), day: toInteger(dateParts[0])};\r\n }\r\n } \r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct): string {\r\n let stringDate: string = \"\"; \r\n if(date) {\r\n stringDate += isNumber(date.day) ? padNumber(date.day) + \".\" : \"\";\r\n stringDate += isNumber(date.month) ? padNumber(date.month) + \".\" : \"\";\r\n stringDate += date.year;\r\n }\r\n return stringDate;\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IAccount } from '../models/IAccount';\r\nimport { AccountInfoAttrEnum } from '../models/AccountInfoAttrEnum';\r\nimport { ITotalSum } from '../models/ITotalSum';\r\nimport { IDebt } from '../models/IDebt';\r\n\r\n/** Сервис для работы с лицевыми счетами */\r\n@Injectable()\r\nexport class AccountService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/account';\r\n }\r\n\r\n /**\r\n * Получение ЛС\r\n * @param infoAcc Информация по полям которые необходимо получить \r\n */\r\n public get(infoAcc: AccountInfoAttrEnum): Observable {\r\n return this.http.get(this.apiUrl, {\r\n params: { info: infoAcc.toString() }\r\n });\r\n }\r\n\r\n /**\r\n * Получение произвольной информации по ЛС\r\n * @param infoAcc Информация по полям которые необходимо получить\r\n */\r\n public getById(accountId: string, infoAcc: AccountInfoAttrEnum): Observable {\r\n return this.http.get(this.apiUrl +\"/GetByAccId\", {\r\n params: { accountId, info: infoAcc.toString() }\r\n });\r\n }\r\n\r\n \r\n /**\r\n * Получение не оплаченных начислений\r\n * @param accountId Идентификатор лицевого счета\r\n */\r\n public getDebtForPay(accountId: string): Observable {\r\n return this.http.get(this.apiUrl +\"/getDebtForPay\", {\r\n params: { accountId }\r\n });\r\n }\r\n \r\n /**\r\n * Получение ЛС\r\n * @param infoAcc Информация по полям которые необходимо получить \r\n * @param dogTypeId Тип договора\r\n * @param page Страница которую необходимо получить\r\n * @param countOnPage Количество ЛС на странице\r\n */\r\n public getByDogType(infoAcc: AccountInfoAttrEnum, dogTypeId: string, page: number, countOnPage: number): Observable {\r\n return this.http.get(this.apiUrl, {\r\n params: {\r\n info: infoAcc.toString(),\r\n typeId: dogTypeId,\r\n page: page.toString(),\r\n countOnPage: countOnPage.toString()\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Получение количества лицевых счетов\r\n * @param dogTypeId Тип договора\r\n */\r\n public getCount(typeId: string): Observable {\r\n return this.http.get(this.apiUrl + \"/getcount\", {\r\n params: {\r\n typeId\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Получение общих сумм\r\n * @param typeId Тип договора\r\n */\r\n public getTotalSum(typeId: string): Observable {\r\n return this.http.get(this.apiUrl + \"/getsumm\", {\r\n params: {\r\n typeId\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Получение лицевых счетов по догоовру\r\n * @param dogId Идентификатор договора\r\n */\r\n public getAccountListByDog(dogId: string) {\r\n let infoAcc = AccountInfoAttrEnum.AllDebt | AccountInfoAttrEnum.Budgets | AccountInfoAttrEnum.LastPay | AccountInfoAttrEnum.NextPay;\r\n return this.http.get(this.apiUrl, {\r\n params: {\r\n dogId: dogId,\r\n info: infoAcc.toString()\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { JwtHelper } from 'angular2-jwt';\r\n\r\n/** Класс для проверки аутентификации пользователя */\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n /**\r\n * Конструктор\r\n * @param router Роутер\r\n */\r\n constructor(\r\n private router: Router\r\n ) { }\r\n\r\n /**\r\n * Проверка доступа\r\n * @param route Маршрут\r\n * @param state Состояние\r\n */\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const localStorageToken = localStorage.getItem('token');\r\n const sessionStorageToken = sessionStorage.getItem('token');\r\n const token = localStorageToken !== null ? localStorageToken : sessionStorageToken;\r\n\r\n let result = false;\r\n if (token) {\r\n const jwtHelper = new JwtHelper();\r\n // Дата устанавливается в BalanaceHolderApi (10 дней)\r\n const tokenExpirationDate = jwtHelper.getTokenExpirationDate(token);\r\n result = tokenExpirationDate > new Date();\r\n }\r\n if (result) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { of } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Md5 } from 'ts-md5';\r\nimport { environment } from '../../environments/environment';\r\nimport { ITenantField } from '../models/ITenantField';\r\n\r\n/** Сервис аутентификации */\r\n@Injectable()\r\nexport class AuthenticationService {\r\n /** Для сообщения слушателям о логине/разлогине */\r\n private loggedIn = new BehaviorSubject(\r\n (!!localStorage.getItem('token')) || (!!sessionStorage.getItem('token')));\r\n\r\n /** Адрес api-сервера */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Сервис для http запросов\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl;\r\n }\r\n\r\n /**\r\n * Логин\r\n * @param username Логин пользователя\r\n * @param password Пароль\r\n */\r\n public login(username: string, password: string, isRememberUser: boolean) {\r\n const passwordMd5 = Md5.hashStr(password);\r\n\r\n return this.http.post(this.apiUrl + 'api/token', { login: username, password: passwordMd5 })\r\n .pipe(tap((token) => {\r\n if (token === 'need_registration') {\r\n localStorage.setItem('tempUsername', username);\r\n localStorage.setItem('tempPasswordMd5', passwordMd5 + '');\r\n window.location.href = '/registration';\r\n } else if (token) {\r\n sessionStorage.setItem('token', token);\r\n if (isRememberUser) {\r\n localStorage.setItem('token', token);\r\n } else {\r\n localStorage.removeItem('token');\r\n }\r\n\r\n this.loggedIn.next(true);\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Логин по ЕСИА\r\n * @param code Код авторизации ЕСИА\r\n * @param state Идентификатор сессии\r\n * @param isRememberUser Признак запомнить пользователя\r\n */\r\n public loginByEsia(code: string, state: string, isRememberUser: boolean) {\r\n return this.http.get(this.apiUrl + 'api/esia/getToken', { params: { code: code, state: state } })\r\n .pipe(tap((token) => {\r\n if (token === 'need_registration') {\r\n window.location.href = '/registration';\r\n } else if (token) {\r\n sessionStorage.setItem('token', token);\r\n if (isRememberUser) {\r\n localStorage.setItem('token', token);\r\n } else {\r\n localStorage.removeItem('token');\r\n }\r\n\r\n this.loggedIn.next(true);\r\n }\r\n }));\r\n }\r\n\r\n /** Выход */\r\n public logout() {\r\n localStorage.removeItem('token');\r\n sessionStorage.removeItem('token');\r\n this.loggedIn.next(false);\r\n }\r\n\r\n /** Признак аутентификации пользователя */\r\n public isLoggedIn(): Observable {\r\n return this.loggedIn.asObservable();\r\n }\r\n\r\n /**\r\n * Получить поля, участвующие в регистрации\r\n * @returns Список полей для регистрации\r\n */\r\n public getFieldsForRegistration(): Observable {\r\n const username = localStorage.getItem('tempUsername');\r\n const passwordMd5 = localStorage.getItem('tempPasswordMd5');\r\n return this.http.post(this.apiUrl +\r\n 'api/registration/getfields', { login: username, password: passwordMd5 });\r\n }\r\n\r\n /**\r\n * Отправить запрос регистрации\r\n * @param newLogin Новый постоянный логин\r\n * @param newPassword Новый постоянный пароль\r\n * @param fields Список заполненных полей\r\n * @returns {Observable}\r\n */\r\n public registration(newLogin: string, newPassword: string, fields: ITenantField[]) {\r\n const tempUsername = localStorage.getItem('tempUsername');\r\n const tempPasswordMd5 = localStorage.getItem('tempPasswordMd5');\r\n\r\n const newPasswordMd5 = Md5.hashStr(newPassword);\r\n\r\n return this.http.post(this.apiUrl + 'api/registration', {\r\n tempUsername, tempPasswordMd5,\r\n newLogin, newPassword, newPasswordMd5, fields\r\n })\r\n .pipe(tap((token) => {\r\n if (token.startsWith('Ошибка')) {\r\n throw token;\r\n }\r\n if (token) {\r\n sessionStorage.setItem('token', token);\r\n localStorage.removeItem('token');\r\n\r\n this.loggedIn.next(true);\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Восстановление пароля\r\n * @param login Логин\r\n * @param email Почта\r\n */\r\n public restorePassword(login: string, email: string) {\r\n return this.http.post(this.apiUrl + 'api/registration/restore', { login, email });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { ICalcDoc } from '../models/ICalcDoc';\r\n\r\n/** Сервис для работы с документами основаниями */\r\n@Injectable()\r\nexport class CalcDocService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/calcdoc';\r\n }\r\n\r\n /**\r\n * Получение документов оснований по договору\r\n * @param dogovorId Идентификатор договора\r\n * @param fullInfo true если нужна подробная информация по контрагентам и объектам\r\n */\r\n public get(dogovorId: string, fullInfo: boolean): Observable {\r\n return this.http.get(this.apiUrl + (fullInfo ? '/getextinfo' : '/getbaseinfo'), {\r\n params: { dogId: dogovorId }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public getConfig() {\r\n return this.http.get('assets/config.json')\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IDogovorType } from '../models/IDogovorType';\r\n\r\n/** Сервис для работы с типами договора */\r\n@Injectable()\r\nexport class DogovorTypeService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/dogovorType';\r\n }\r\n\r\n /**\r\n * Получение типов договоров\r\n */\r\n public get(): Observable {\r\n return this.http.get(this.apiUrl);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IDogovor } from '../models/IDogvor';\r\n\r\n/** Сервис для работы с договорами */\r\n@Injectable()\r\nexport class DogovorService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/dogovor';\r\n }\r\n\r\n /**\r\n * Получение договора\r\n * @param dogovorId Идентификатор договора\r\n */\r\n public get(dogovorId: string): Observable {\r\n return this.http.get(this.apiUrl, {\r\n params: { dogId: dogovorId }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\n\r\n/** Сервис для работы с ЕСИА */\r\n@Injectable()\r\nexport class EsiaService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/esia';\r\n }\r\n\r\n /**\r\n * Проверка есть ли ЕСИА\r\n */\r\n public getIsHaveEsia(): Observable {\r\n return this.http.get(this.apiUrl + '/isHave');\r\n }\r\n\r\n /**\r\n * Получение ссылки переадресации\r\n */\r\n public getRedirect(): Observable {\r\n return this.http.get(this.apiUrl + '/getEsiaRedirect');\r\n }\r\n\r\n /**\r\n * Получение токена по ЕСИА\r\n * @param code Код доступа\r\n * @param status Статус\r\n */\r\n public getToken(code: string, state: string): Observable {\r\n return this.http.get(this.apiUrl + '/getToken', {\r\n params: { code: code, state: state }\r\n });\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n/** Перехватчик запросов */\r\n@Injectable()\r\nexport class JwtInterceptorService implements HttpInterceptor {\r\n /**\r\n * Перехват запроса\r\n * @param request Запрос\r\n * @param next Следующий обработчик\r\n */\r\n public intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const localStorageToken = localStorage.getItem('token');\r\n const sessionStorageToken = sessionStorage.getItem('token');\r\n const token = localStorageToken !== null ? localStorageToken : sessionStorageToken;\r\n if (token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IObject } from '../models/IObject';\r\n\r\n/** Сервис для работы с объектами */\r\n@Injectable()\r\nexport class ObjectService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/object';\r\n }\r\n\r\n /**\r\n * Получение объектов по договору\r\n * @param dogovorId Идентификатор договора\r\n */\r\n public get(dogovorId: string): Observable {\r\n return this.http.get(this.apiUrl, {\r\n params: { dogId: dogovorId }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IAccount } from '../models/IAccount';\r\nimport { IDebt } from '../models/IDebt';\r\n\r\n/** Сервис для работы с оплатами */\r\n@Injectable()\r\nexport class PayService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/pay';\r\n }\r\n\r\n /**\r\n * Создание платежа по карте, возвразается URL с переходом\r\n */\r\n public createPayByCard(debts: IDebt[]): Observable {\r\n return this.http.post(this.apiUrl + '/createPayByCard', debts);\r\n }\r\n\r\n /**\r\n * Получение статуса платежа по номеру заказа\r\n * @param orderId Номер заказа\r\n */\r\n public getStatusByOrderId(orderId: string): Observable {\r\n return this.http.get(this.apiUrl + '/getPayStatusByOrderId', {\r\n params: { orderId: orderId }\r\n });\r\n }\r\n\r\n /**\r\n * Проверяем, есть ли возможность оплатить по карте.\r\n */\r\n public createPayByCardCanExecute(): Observable {\r\n return this.http.get(this.apiUrl + '/checkPayService');\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { IReport } from '../models/IReport';\r\nimport { IAccount } from '../models/IAccount';\r\nimport { catchError } from 'rxjs/operators';\r\nimport {IReportParam} from \"../models/IReportParam\";\r\nimport { IDebt } from '../models/IDebt';\r\n\r\n/** Сервис для работы с отчетами */\r\n@Injectable()\r\nexport class ReportService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/report';\r\n }\r\n\r\n /**\r\n * Получение отчетов\r\n * @param reestrType Тип реестра\r\n */\r\n public getReports(): Observable {\r\n return this.http.get(this.apiUrl + '/getlist/ACCOUNTS');\r\n }\r\n\r\n /**\r\n * Получение отчетов\r\n * @param reestrType Тип реестра\r\n */\r\n public getPaymentReports(): Observable {\r\n return this.http.get(this.apiUrl + '/getlist/FINANCIALOPERATIONS');\r\n }\r\n\r\n /**\r\n * Получение отчета\r\n * @param report Отчет\r\n */\r\n public getReport(reportId: string, params: IReportParam[]): Observable {\r\n return this.http.post(this.apiUrl + '/getreport/' + reportId, params, { responseType: 'blob' });\r\n }\r\n\r\n /**\r\n * Получение отчета акта\r\n * @param report Отчет\r\n */\r\n public getReviseActReport(reportiD: string, dateStart: string, dateEnd: string, accountId: string) {\r\n return this.http.get(this.apiUrl + '/getreviseact', {\r\n responseType: 'blob',\r\n params: { reportiD, dateStart, dateEnd, accountId }\r\n }).pipe(catchError(this.parseErrorBlob));\r\n }\r\n\r\n /**\r\n * Получение QR кода для оплаты\r\n * @param account Лицевой счет\r\n * @param sumToPay Сумма к оплате\r\n * @param budgetId Ид бюджета\r\n */\r\n public getPayQrCode(account: IAccount, sumToPay: number, budgetId: string) {\r\n return this.http.get(this.apiUrl + '/createPayQrCode', {\r\n responseType: 'blob',\r\n params: { accountId: account.Id, sumToPay: sumToPay.toString(), budgetId }\r\n }).pipe(catchError(this.parseErrorBlob));\r\n }\r\n\r\n /**\r\n * Получение QR кода для оплаты по начислению\r\n * @param opersToPay НАчисления для опалты\r\n * @param sumToPay Сумма к оплате\r\n */\r\n public getPayQrCodeByDebt(opersToPay: IDebt[], sumToPay: number) {\r\n return this.http.get(this.apiUrl + '/createPayQrCodeByDebt', {\r\n responseType: 'blob',\r\n params: { operationId: opersToPay[0].OperationId, sumToPay: sumToPay.toString() }\r\n }).pipe(catchError(this.parseErrorBlob));\r\n }\r\n\r\n /**\r\n * Получение минимальной даты акта сверки\r\n */\r\n public getMinReviseAct(): Observable {\r\n return this.http.get(this.apiUrl + '/getMinReviseAct');\r\n }\r\n\r\n /**\r\n * Парсинг блобовского поля ошибки\r\n * @param err Ошибка\r\n */\r\n parseErrorBlob(err: HttpErrorResponse): Observable {\r\n const reader: FileReader = new FileReader();\r\n \r\n const obs = Observable.create((observer: any) => {\r\n reader.onloadend = (e) => {\r\n observer.error(JSON.parse(reader.result.toString()));\r\n observer.complete();\r\n }\r\n });\r\n reader.readAsText(err.error);\r\n return obs;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { ITenant } from '../models/ITenant';\r\nimport { ITenantField } from '../models/ITenantField';\r\n\r\n/** Сервис для работы с арендатором */\r\n@Injectable()\r\nexport class TenantService {\r\n\r\n /**\r\n * Базовый URL для API\r\n */\r\n private apiUrl: string;\r\n\r\n /**\r\n * Конструктор\r\n * @param http Клиент для работы с http\r\n */\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = environment.apiUrl + 'api/tenant';\r\n }\r\n\r\n /**\r\n * Получение арендатора\r\n */\r\n public get(): Observable {\r\n return this.http.get(this.apiUrl);\r\n }\r\n\r\n /**\r\n * Получение детальной информации арендатора\r\n */\r\n public getDetail(): Observable {\r\n return this.http.get(this.apiUrl + '/detail');\r\n }\r\n\r\n /**\r\n * Получение реквизитов для опалты\r\n */\r\n public getPayRequisites() {\r\n return this.http.get(this.apiUrl + '/payrequisites');\r\n }\r\n}\r\n","/**\r\n * Утилиты\r\n */\r\nexport class UtilsService {\r\n /**\r\n * Получить текст ошибки из объекта с ошибкой\r\n * @param error объект ошибки\r\n * @returns Удобочитаемый текст ошибки\r\n */\r\n public static getErrorText(error: any) :string {\r\n if (error.error && error.error.ExceptionMessage) {\r\n return 'Произошла ошибка: ' + error.error.ExceptionMessage;\r\n }\r\n if (error.error && error.error.Message) {\r\n return 'Произошла ошибка: ' + error.error.Message;\r\n }\r\n\r\n if (error.Message) {\r\n return error.Message;\r\n }\r\n /* if (error.message) {\r\n return error.message;\r\n }*/\r\n\r\n return 'Произошла непредвиденная ошибка';\r\n }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiUrl: 'http://localhost:54432/'\r\n //apiUrl: 'http://94.181.116.10:26071/'\r\n // apiUrl: 'http://192.168.169.181:8080/Pilot/BalanceHolder/'\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import './polyfills';\r\n\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n","import 'core-js/es6/reflect';\r\nimport 'core-js/es7/reflect';\r\nimport 'hammerjs/hammer';\r\nimport 'zone.js/dist/zone';\r\n"],"sourceRoot":"webpack:///"}